tango-app-ui-analyse-trax 3.3.1-alpha.7 → 3.3.1-alpha.71
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 +375 -21
- package/esm2022/lib/components/activity-log/activity-log.component.mjs +136 -0
- package/esm2022/lib/components/add-checklist/add-checklist.component.mjs +205 -136
- package/esm2022/lib/components/add-task/add-task.component.mjs +450 -0
- package/esm2022/lib/components/add-task/create-task.data.mjs +306 -0
- package/esm2022/lib/components/add-task/create-task.interface.mjs +2 -0
- package/esm2022/lib/components/approval-popup/approval-popup.component.mjs +30 -0
- package/esm2022/lib/components/checklist/checklist.component.mjs +52 -32
- package/esm2022/lib/components/checklist-configure/checklist-configure.component.mjs +155 -74
- package/esm2022/lib/components/checklistlayout/checklistlayout.component.mjs +12 -0
- package/esm2022/lib/components/chip-dropdown/chip-dropdown.component.mjs +33 -11
- package/esm2022/lib/components/create-task/create-task.component.mjs +433 -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 +56 -44
- package/esm2022/lib/components/dashboard-info/dashboard-info.component.mjs +212 -113
- package/esm2022/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.mjs +14 -23
- package/esm2022/lib/components/dashboard-layout/dashboard-layout.component.mjs +12 -0
- package/esm2022/lib/components/export-gallery/export-gallery.component.mjs +128 -0
- package/esm2022/lib/components/flag-layout/flag-layout.component.mjs +12 -0
- package/esm2022/lib/components/flags/flags.component.mjs +71 -17
- package/esm2022/lib/components/flags/flags.interface.mjs +1 -1
- package/esm2022/lib/components/flags-info/flags-info.component.mjs +137 -27
- package/esm2022/lib/components/flags-info/flags-info.interface.mjs +1 -1
- package/esm2022/lib/components/gallery/gallery.component.mjs +1238 -122
- package/esm2022/lib/components/group-select/group-select.component.mjs +155 -0
- package/esm2022/lib/components/managechecklist/managechecklist.component.mjs +77 -11
- package/esm2022/lib/components/multi-date-datepicker/multi-date-datepicker.component.mjs +4 -3
- package/esm2022/lib/components/orders/orders.component.mjs +171 -0
- package/esm2022/lib/components/reactive-select/reactive-select.component.mjs +3 -3
- package/esm2022/lib/components/reports/date-picker/date-picker.component.mjs +60 -0
- package/esm2022/lib/components/reports/reports.component.mjs +95 -16
- package/esm2022/lib/components/reports/reports.interface.mjs +1 -1
- package/esm2022/lib/components/task/task.component.mjs +274 -0
- package/esm2022/lib/components/task-configure/task-configure.component.mjs +555 -0
- package/esm2022/lib/components/task-configure/task-configure.interface.mjs +2 -0
- package/esm2022/lib/components/task-info/task-info.component.mjs +327 -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/task-logs/task-logs.component.mjs +97 -0
- package/esm2022/lib/components/trax-store/trax-store.component.mjs +20 -7
- package/esm2022/lib/components/traxpopup/traxpopup.component.mjs +3 -3
- package/esm2022/lib/services/trax.service.mjs +158 -10
- package/esm2022/lib/tango-analyse-trax-routing.module.mjs +71 -14
- package/esm2022/lib/tango-analyse-trax.module.mjs +71 -7
- package/fesm2022/tango-app-ui-analyse-trax.mjs +8751 -2690
- package/fesm2022/tango-app-ui-analyse-trax.mjs.map +1 -1
- package/lib/components/action-centre/action-centre.component.d.ts +58 -6
- package/lib/components/activity-log/activity-log.component.d.ts +39 -0
- package/lib/components/add-checklist/add-checklist.component.d.ts +2 -2
- package/lib/components/add-task/add-task.component.d.ts +83 -0
- package/lib/components/add-task/create-task.data.d.ts +244 -0
- package/lib/components/add-task/create-task.interface.d.ts +147 -0
- package/lib/components/approval-popup/approval-popup.component.d.ts +14 -0
- package/lib/components/checklist/checklist.component.d.ts +2 -2
- package/lib/components/checklist-configure/checklist-configure.component.d.ts +18 -3
- package/lib/components/checklistlayout/checklistlayout.component.d.ts +5 -0
- package/lib/components/chip-dropdown/chip-dropdown.component.d.ts +8 -4
- package/lib/components/create-task/create-task.component.d.ts +66 -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 +8 -1
- package/lib/components/dashboard-info/dashboard-info.component.d.ts +17 -6
- package/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.d.ts +1 -0
- package/lib/components/dashboard-layout/dashboard-layout.component.d.ts +5 -0
- package/lib/components/export-gallery/export-gallery.component.d.ts +35 -0
- package/lib/components/flag-layout/flag-layout.component.d.ts +5 -0
- package/lib/components/flags/flags.component.d.ts +10 -1
- package/lib/components/flags/flags.interface.d.ts +3 -0
- package/lib/components/flags-info/flags-info.component.d.ts +15 -5
- package/lib/components/flags-info/flags-info.interface.d.ts +6 -1
- package/lib/components/gallery/gallery.component.d.ts +67 -9
- package/lib/components/group-select/group-select.component.d.ts +33 -0
- package/lib/components/managechecklist/managechecklist.component.d.ts +9 -3
- package/lib/components/multi-date-datepicker/multi-date-datepicker.component.d.ts +2 -2
- package/lib/components/orders/orders.component.d.ts +38 -0
- package/lib/components/reports/date-picker/date-picker.component.d.ts +23 -0
- package/lib/components/reports/reports.component.d.ts +12 -1
- package/lib/components/reports/reports.interface.d.ts +1 -0
- package/lib/components/task/task.component.d.ts +61 -0
- package/lib/components/task-configure/task-configure.component.d.ts +75 -0
- package/lib/components/task-configure/task-configure.interface.d.ts +125 -0
- package/lib/components/task-info/task-info.component.d.ts +72 -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/task-logs/task-logs.component.d.ts +26 -0
- package/lib/components/trax-store/trax-store.component.d.ts +1 -0
- package/lib/services/trax.service.d.ts +48 -3
- package/lib/tango-analyse-trax.module.d.ts +27 -8
- package/package.json +1 -1
|
@@ -1,38 +1,392 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import { FormControl } from '@angular/forms';
|
|
3
|
+
import { Subject, debounceTime, takeUntil } from "rxjs";
|
|
4
|
+
import dayjs from 'dayjs';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
6
|
import * as i1 from "@angular/forms";
|
|
5
|
-
import * as i2 from "
|
|
7
|
+
import * as i2 from "tango-app-ui-global";
|
|
8
|
+
import * as i3 from "../../services/trax.service";
|
|
9
|
+
import * as i4 from "@angular/router";
|
|
10
|
+
import * as i5 from "@angular/common";
|
|
11
|
+
import * as i6 from "tango-app-ui-shared";
|
|
12
|
+
import * as i7 from "@ng-bootstrap/ng-bootstrap";
|
|
13
|
+
import * as i8 from "../reactive-select/reactive-select.component";
|
|
14
|
+
import * as i9 from "../activity-log/activity-log.component";
|
|
6
15
|
export class ActionCentreComponent {
|
|
7
16
|
fb;
|
|
17
|
+
gs;
|
|
18
|
+
pageInfo;
|
|
19
|
+
TraxService;
|
|
20
|
+
changeDetector;
|
|
21
|
+
router;
|
|
22
|
+
destroy$ = new Subject();
|
|
23
|
+
searchInput = "";
|
|
8
24
|
form;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
25
|
+
headerData;
|
|
26
|
+
overallCardsData = {};
|
|
27
|
+
cardDataLoading = true;
|
|
28
|
+
cardNoData = false;
|
|
29
|
+
searchDisabled = false;
|
|
30
|
+
approvalOpenLoading = true;
|
|
31
|
+
approvalOpenNoData = false;
|
|
32
|
+
itemsPerPage = 10;
|
|
33
|
+
currentPage = 1;
|
|
34
|
+
sortColumName = '';
|
|
35
|
+
sortBy = '';
|
|
36
|
+
sortDirection = '';
|
|
37
|
+
totalItems = 0;
|
|
38
|
+
paginationSizes = [];
|
|
39
|
+
pageSize = 10;
|
|
40
|
+
OpenApprovalListData = [];
|
|
41
|
+
InprogressApprovalListData = [];
|
|
42
|
+
DoneApprovalListData = [];
|
|
43
|
+
approvalInprogressLoading = true;
|
|
44
|
+
approvalInprogressNoData = false;
|
|
45
|
+
approvedLoading = true;
|
|
46
|
+
approvedNoData = false;
|
|
47
|
+
priorityType = [];
|
|
48
|
+
selectedlistselectControl;
|
|
49
|
+
selectedStatus;
|
|
50
|
+
statusselectControl = [
|
|
51
|
+
{ _id: 'all', label: 'All' },
|
|
52
|
+
{ _id: 'checklist', label: 'Checklist' },
|
|
53
|
+
{ _id: 'task', label: 'Task' },
|
|
16
54
|
];
|
|
17
|
-
|
|
55
|
+
dataObject = [
|
|
56
|
+
{
|
|
57
|
+
Description: 'Priority',
|
|
58
|
+
Issues: [
|
|
59
|
+
{ text: 'High', id: 'high' },
|
|
60
|
+
{ text: 'Medium', id: 'medium' },
|
|
61
|
+
{ text: 'Low', id: 'low' },
|
|
62
|
+
],
|
|
63
|
+
},
|
|
64
|
+
];
|
|
65
|
+
searchValue;
|
|
66
|
+
limit;
|
|
67
|
+
offset;
|
|
68
|
+
isTaskSelected = false;
|
|
69
|
+
dayjs = dayjs;
|
|
70
|
+
date;
|
|
71
|
+
constructor(fb, gs, pageInfo, TraxService, changeDetector, router) {
|
|
18
72
|
this.fb = fb;
|
|
19
|
-
this.
|
|
73
|
+
this.gs = gs;
|
|
74
|
+
this.pageInfo = pageInfo;
|
|
75
|
+
this.TraxService = TraxService;
|
|
76
|
+
this.changeDetector = changeDetector;
|
|
77
|
+
this.router = router;
|
|
78
|
+
}
|
|
79
|
+
ngOnDestroy() {
|
|
80
|
+
this.destroy$.next(true);
|
|
81
|
+
this.destroy$.complete();
|
|
82
|
+
}
|
|
83
|
+
ngOnInit() {
|
|
84
|
+
this.selectedlistselectControl = new FormControl('all');
|
|
20
85
|
this.form = this.fb.group({
|
|
21
|
-
|
|
86
|
+
selectedlistselectControl: this.selectedlistselectControl
|
|
87
|
+
});
|
|
88
|
+
this.selectedlistselectControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {
|
|
89
|
+
this.onValueChangeStatusSelect(value);
|
|
90
|
+
});
|
|
91
|
+
this.gs.dataRangeValue
|
|
92
|
+
.pipe(takeUntil(this.destroy$), debounceTime(300))
|
|
93
|
+
.subscribe((data) => {
|
|
94
|
+
this.headerData = data;
|
|
95
|
+
this.setPageData();
|
|
96
|
+
this.getOverallActionCenterData();
|
|
97
|
+
this.getApprovalOpenData();
|
|
22
98
|
});
|
|
23
99
|
}
|
|
24
|
-
|
|
25
|
-
|
|
100
|
+
setPageData() {
|
|
101
|
+
this.pageInfo.setTitle("Dashboard");
|
|
102
|
+
// this.pageInfo.setDescription("Dashboard");
|
|
103
|
+
this.pageInfo.setBreadcrumbs([
|
|
104
|
+
{ title: "Tango Trax", path: "/manage/trax/dashboard", isActive: false, isSeparator: false },
|
|
105
|
+
{ title: "Tango Trax", path: "/manage/trax/dashboard", isActive: false, isSeparator: true },
|
|
106
|
+
]);
|
|
107
|
+
}
|
|
108
|
+
getOverallActionCenterData() {
|
|
109
|
+
this.overallCardsData = [];
|
|
110
|
+
this.cardDataLoading = true;
|
|
111
|
+
this.cardNoData = true;
|
|
112
|
+
const requestData = {
|
|
113
|
+
fromDate: this.headerData.date.startDate,
|
|
114
|
+
toDate: this.headerData.date.endDate,
|
|
115
|
+
storeId: this.headerData.stores.filter((store) => store.checked).map((store) => store.storeId),
|
|
116
|
+
clientId: this.headerData.client,
|
|
117
|
+
};
|
|
118
|
+
this.TraxService.getOverallActionCenterData(requestData).pipe(takeUntil(this.destroy$)).subscribe((response) => {
|
|
119
|
+
this.cardDataLoading = false;
|
|
120
|
+
if (response?.code === 200 && response?.status === "success") {
|
|
121
|
+
this.overallCardsData = response.data?.cardData || {};
|
|
122
|
+
this.cardDataLoading = false;
|
|
123
|
+
this.cardNoData = false;
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
this.overallCardsData = [];
|
|
127
|
+
this.cardDataLoading = false;
|
|
128
|
+
this.cardNoData = true;
|
|
129
|
+
}
|
|
130
|
+
}, error => {
|
|
131
|
+
this.overallCardsData = [];
|
|
132
|
+
this.cardDataLoading = false;
|
|
133
|
+
this.cardNoData = true;
|
|
134
|
+
this.changeDetector.detectChanges();
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
getApprovalOpenData() {
|
|
138
|
+
this.searchDisabled = true;
|
|
139
|
+
this.approvalOpenLoading = true;
|
|
140
|
+
this.approvalOpenNoData = true;
|
|
141
|
+
this.approvalInprogressLoading = true;
|
|
142
|
+
this.approvalInprogressNoData = true;
|
|
143
|
+
this.approvedLoading = true;
|
|
144
|
+
this.approvedNoData = true;
|
|
145
|
+
const requestData = {
|
|
146
|
+
fromDate: this.headerData.date.startDate,
|
|
147
|
+
toDate: this.headerData.date.endDate,
|
|
148
|
+
storeId: this.headerData.stores.filter((store) => store.checked).map((store) => store.storeId),
|
|
149
|
+
clientId: this.headerData.client,
|
|
150
|
+
searchValue: this.searchInput,
|
|
151
|
+
filter: this.priorityType,
|
|
152
|
+
type: this.selectedlistselectControl.value
|
|
153
|
+
};
|
|
154
|
+
this.TraxService.getApprovalData(requestData)
|
|
155
|
+
.pipe(takeUntil(this.destroy$))
|
|
156
|
+
.subscribe((response) => {
|
|
157
|
+
this.approvalOpenLoading = false;
|
|
158
|
+
this.approvalInprogressLoading = false;
|
|
159
|
+
this.approvedLoading = false;
|
|
160
|
+
if (response?.code === 200 && response?.status === "success") {
|
|
161
|
+
this.OpenApprovalListData = response.data.open || [];
|
|
162
|
+
this.InprogressApprovalListData = response.data.inprogress || [];
|
|
163
|
+
this.DoneApprovalListData = response.data.done || [];
|
|
164
|
+
this.totalItems = response.data.totalCount;
|
|
165
|
+
this.setPaginationSizes();
|
|
166
|
+
if (this.OpenApprovalListData.length > 0) {
|
|
167
|
+
this.approvalOpenLoading = false;
|
|
168
|
+
this.approvalOpenNoData = false;
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
this.approvalOpenNoData = true;
|
|
172
|
+
}
|
|
173
|
+
if (this.InprogressApprovalListData.length > 0) {
|
|
174
|
+
this.approvalInprogressLoading = false;
|
|
175
|
+
this.approvalInprogressNoData = false;
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
this.approvalInprogressNoData = true;
|
|
179
|
+
}
|
|
180
|
+
if (this.DoneApprovalListData.length > 0) {
|
|
181
|
+
this.approvedLoading = false;
|
|
182
|
+
this.approvedNoData = false;
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
this.approvedNoData = true;
|
|
186
|
+
}
|
|
187
|
+
this.searchDisabled = false;
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
this.OpenApprovalListData = [];
|
|
191
|
+
this.InprogressApprovalListData = [];
|
|
192
|
+
this.DoneApprovalListData = [];
|
|
193
|
+
this.approvalOpenLoading = false;
|
|
194
|
+
this.approvalOpenNoData = true;
|
|
195
|
+
this.approvalInprogressLoading = false;
|
|
196
|
+
this.approvalInprogressNoData = true;
|
|
197
|
+
this.approvedLoading = false;
|
|
198
|
+
this.approvedNoData = true;
|
|
199
|
+
this.searchDisabled = true;
|
|
200
|
+
if (this.searchInput?.length) {
|
|
201
|
+
this.searchDisabled = true;
|
|
202
|
+
}
|
|
203
|
+
this.OpenApprovalListData = [];
|
|
204
|
+
this.InprogressApprovalListData = [];
|
|
205
|
+
this.DoneApprovalListData = [];
|
|
206
|
+
this.totalItems = 0;
|
|
207
|
+
this.changeDetector.detectChanges();
|
|
208
|
+
}
|
|
209
|
+
}, error => {
|
|
210
|
+
this.OpenApprovalListData = [];
|
|
211
|
+
this.InprogressApprovalListData = [];
|
|
212
|
+
this.DoneApprovalListData = [];
|
|
213
|
+
this.changeDetector.detectChanges();
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
// getApprovalInprogressData(): void {
|
|
217
|
+
// this.searchDisabled = true;
|
|
218
|
+
// this.approvalInprogressLoading = true;
|
|
219
|
+
// this.approvalInprogressNoData = true;
|
|
220
|
+
// const requestData = {
|
|
221
|
+
// date: "2024-12-02",
|
|
222
|
+
// fromDate: this.headerData.date.startDate,
|
|
223
|
+
// toDate: this.headerData.date.endDate,
|
|
224
|
+
// storeId: this.headerData.stores.filter((store:any) => store.checked).map((store:any) => store.storeId),
|
|
225
|
+
// clientId:this.headerData.client,
|
|
226
|
+
// // limit: this.itemsPerPage,
|
|
227
|
+
// // offset: this.currentPage - 1,
|
|
228
|
+
// sortBy: this.sortDirection,
|
|
229
|
+
// sortColumnName: this.sortColumName,
|
|
230
|
+
// searchValue: this.searchInput,
|
|
231
|
+
// filter: "",
|
|
232
|
+
// type: 'all'
|
|
233
|
+
// };
|
|
234
|
+
// this.TraxService.getApprovalData(requestData)
|
|
235
|
+
// .pipe(takeUntil(this.destroy$))
|
|
236
|
+
// .subscribe((response: any) => {
|
|
237
|
+
// this.approvalInprogressLoading = false;
|
|
238
|
+
// if (response?.code === 200 && response?.status === "success") {
|
|
239
|
+
// this.ApprovalListData = response.data.inprogress || [];
|
|
240
|
+
// this.totalItems = response.data.totalCount
|
|
241
|
+
// this.setPaginationSizes()
|
|
242
|
+
// this.approvalInprogressLoading = false;
|
|
243
|
+
// this.approvalInprogressNoData = false;
|
|
244
|
+
// this.searchDisabled = false;
|
|
245
|
+
// } else {
|
|
246
|
+
// console.log("else");
|
|
247
|
+
// this.ApprovalListData = [];
|
|
248
|
+
// this.approvalInprogressLoading = false;
|
|
249
|
+
// this.approvalInprogressNoData = true;
|
|
250
|
+
// this.searchDisabled = true;
|
|
251
|
+
// if (this.searchInput?.length) {
|
|
252
|
+
// this.searchDisabled = true
|
|
253
|
+
// }
|
|
254
|
+
// this.ApprovalListData = []
|
|
255
|
+
// this.totalItems = 0
|
|
256
|
+
// this.changeDetector.detectChanges()
|
|
257
|
+
// }
|
|
258
|
+
// }, error => {
|
|
259
|
+
// this.ApprovalListData = []
|
|
260
|
+
// this.changeDetector.detectChanges()
|
|
261
|
+
// });
|
|
262
|
+
// }
|
|
263
|
+
// getApprovedData(): void {
|
|
264
|
+
// this.searchDisabled = true;
|
|
265
|
+
// this.approvedLoading = true;
|
|
266
|
+
// this.approvedNoData = true;
|
|
267
|
+
// const requestData = {
|
|
268
|
+
// date: "2024-12-02",
|
|
269
|
+
// fromDate: this.headerData.date.startDate,
|
|
270
|
+
// toDate: this.headerData.date.endDate,
|
|
271
|
+
// storeId: this.headerData.stores.filter((store:any) => store.checked).map((store:any) => store.storeId),
|
|
272
|
+
// clientId:this.headerData.client,
|
|
273
|
+
// // limit: this.itemsPerPage,
|
|
274
|
+
// // offset: this.currentPage - 1,
|
|
275
|
+
// sortBy: this.sortDirection,
|
|
276
|
+
// sortColumnName: this.sortColumName,
|
|
277
|
+
// searchValue: this.searchInput,
|
|
278
|
+
// filter: "",
|
|
279
|
+
// type: 'all'
|
|
280
|
+
// };
|
|
281
|
+
// this.TraxService.getApprovalData(requestData)
|
|
282
|
+
// .pipe(takeUntil(this.destroy$))
|
|
283
|
+
// .subscribe((response: any) => {
|
|
284
|
+
// this.approvedLoading = false;
|
|
285
|
+
// if (response?.code === 200 && response?.status === "success") {
|
|
286
|
+
// this.ApprovalListData = response.data.done || [];
|
|
287
|
+
// this.totalItems = response.data.totalCount
|
|
288
|
+
// this.setPaginationSizes()
|
|
289
|
+
// this.approvedLoading = false;
|
|
290
|
+
// this.approvedNoData = false;
|
|
291
|
+
// this.searchDisabled = false;
|
|
292
|
+
// } else {
|
|
293
|
+
// console.log("else");
|
|
294
|
+
// this.ApprovalListData = [];
|
|
295
|
+
// this.approvedLoading = false;
|
|
296
|
+
// this.approvedNoData = true;
|
|
297
|
+
// this.searchDisabled = true;
|
|
298
|
+
// if (this.searchInput?.length) {
|
|
299
|
+
// this.searchDisabled = true
|
|
300
|
+
// }
|
|
301
|
+
// this.ApprovalListData = []
|
|
302
|
+
// this.totalItems = 0
|
|
303
|
+
// this.changeDetector.detectChanges()
|
|
304
|
+
// }
|
|
305
|
+
// }, error => {
|
|
306
|
+
// this.ApprovalListData = []
|
|
307
|
+
// this.changeDetector.detectChanges()
|
|
308
|
+
// });
|
|
309
|
+
// }
|
|
310
|
+
onValueChangeStatusSelect(event) {
|
|
311
|
+
this.searchValue = "",
|
|
312
|
+
this.selectedStatus = this.statusselectControl.find(item => item._id === event);
|
|
313
|
+
if (this.selectedStatus) {
|
|
314
|
+
this.isTaskSelected = this.selectedStatus._id === 'task';
|
|
315
|
+
if (this.selectedlistselectControl.value === "all") {
|
|
316
|
+
this.priorityType = [];
|
|
317
|
+
}
|
|
318
|
+
// this.selectedlistselectControl.setValue("", { emitEvent: false });
|
|
319
|
+
this.changeDetector.detectChanges();
|
|
320
|
+
this.getApprovalOpenData();
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
searchField() {
|
|
324
|
+
this.headerData.search = this.searchInput;
|
|
325
|
+
// this.headerData.export = false;
|
|
326
|
+
this.currentPage = 1;
|
|
327
|
+
this.pageSize = 10;
|
|
328
|
+
this.getApprovalOpenData();
|
|
329
|
+
}
|
|
330
|
+
setPaginationSizes() {
|
|
331
|
+
if (this.totalItems > 10) {
|
|
332
|
+
this.paginationSizes = [10, 20, 30];
|
|
333
|
+
}
|
|
334
|
+
else {
|
|
335
|
+
this.paginationSizes = [this.totalItems];
|
|
336
|
+
this.pageSize = this.totalItems;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
applyFilters(event) {
|
|
340
|
+
if (event?.length) {
|
|
341
|
+
event.forEach((element) => {
|
|
342
|
+
if (element.Description === 'Priority') {
|
|
343
|
+
this.priorityType = element.Issues.map((val) => val.id);
|
|
344
|
+
}
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
else {
|
|
348
|
+
this.priorityType = [];
|
|
349
|
+
}
|
|
350
|
+
this.getApprovalOpenData();
|
|
26
351
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
352
|
+
opennavigateToGallery(open) {
|
|
353
|
+
let formattedDate = dayjs(open.publishDate).format('YYYY-MM-DD');
|
|
354
|
+
this.router.navigate(['/manage/trax/gallery'], {
|
|
355
|
+
queryParams: {
|
|
356
|
+
ChecklistDate: formattedDate,
|
|
357
|
+
// storeId: open.store_id,
|
|
358
|
+
checklistType: open.checkListType,
|
|
359
|
+
checklistId: open.sourceChecklistId,
|
|
360
|
+
},
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
inprogressnavigateToGallery(inprogress) {
|
|
364
|
+
let formattedDate = dayjs(inprogress.publishDate).format('YYYY-MM-DD');
|
|
365
|
+
this.router.navigate(['/manage/trax/gallery'], {
|
|
366
|
+
queryParams: {
|
|
367
|
+
ChecklistDate: formattedDate,
|
|
368
|
+
// storeId: open.store_id,
|
|
369
|
+
checklistType: inprogress.checkListType,
|
|
370
|
+
checklistId: inprogress.sourceChecklistId,
|
|
371
|
+
},
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
donenavigateToGallery(done) {
|
|
375
|
+
let formattedDate = dayjs(done.publishDate).format('YYYY-MM-DD');
|
|
376
|
+
this.router.navigate(['/manage/trax/gallery'], {
|
|
377
|
+
queryParams: {
|
|
378
|
+
ChecklistDate: formattedDate,
|
|
379
|
+
// storeId: open.store_id,
|
|
380
|
+
checklistType: done.checkListType,
|
|
381
|
+
checklistId: done.sourceChecklistId,
|
|
382
|
+
},
|
|
383
|
+
});
|
|
30
384
|
}
|
|
31
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCentreComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActionCentreComponent, selector: "lib-action-centre", ngImport: i0, template: "<div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\">50</span> <span class=\"actiontext mx-5 mt-3\">Checklist waiting for approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\">50</span> <span class=\"actiontext mx-5 mt-3\">Task waiting for approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row m-0 my-3\">\r\n <div class=\"card\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Approval</span>\r\n <span class=\"text-sub mb-2\">An Summary of all the checklists awaiting approval\r\n </span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <form class=\"mt-1 me-3 borderless-select\" [formGroup]=\"form\">\r\n <lib-reactive-select [formControl]=\"checklistselectControl\" [idField]=\"'_id'\"\r\n [nameField]=\"'checkListName'\" [data]=\"checklistDropdown\" class=\"w-100 \"\r\n style=\"border: none !important; box-shadow: none !important;\"\r\n (valueChange)=\"onValueChangeChecklist($event)\">\r\n <ng-template let-item>\r\n <div class=\"d-flex justify-content-between align-items-center no-border-custom-select\">\r\n <span>{{ item.checkListName }}</span>\r\n <span class=\"d-flex align-items-center\">\r\n <!-- <span class=\"status-text\">Status</span> -->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path d=\"M4 6L8 10L12 6\" stroke=\"#101828\" stroke-width=\"2\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </lib-reactive-select>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div> \r\n </div>\r\n </div>\r\n</div>", styles: [".actioncard{display:flex;padding:8px 16px;align-items:center;gap:16px;align-self:stretch;border-radius:6px;border-bottom:2px solid var(--Gray-200, #EAECF0);background:radial-gradient(206.89% 107.47% at 16.16% 32.77%,#fff6,#45bbfe33),#f2f4f7;box-shadow:0 4px 10px #0000000d}.actioncount{color:var(--Black, #101828);font-size:30px;font-style:normal;font-weight:600;line-height:38px}.actiontext{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}\n"], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i2.ReactiveSelectComponent, selector: "lib-reactive-select", inputs: ["idField", "nameField", "label", "data"], outputs: ["itemChange"] }] });
|
|
385
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCentreComponent, deps: [{ token: i1.FormBuilder }, { token: i2.GlobalStateService }, { token: i2.PageInfoService }, { token: i3.TraxService }, { token: i0.ChangeDetectorRef }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
386
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActionCentreComponent, selector: "lib-action-centre", ngImport: i0, template: "<div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\"> {{ overallCardsData.checklistApproval?.count !==null ?\r\n overallCardsData.checklistApproval?.count.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) : '--' }}</span>\r\n <span class=\"actiontext mx-5 mt-3\">Checklist waiting for\r\n approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\"> {{ overallCardsData.taskApproval?.count !==null ?\r\n overallCardsData.taskApproval?.count.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) : '--' }}</span> <span class=\"actiontext mx-5 mt-3\">Task waiting for\r\n approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row m-0 my-3\">\r\n <div class=\"card\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Approval</span>\r\n <span class=\"text-sub mb-2\">An Summary of all the checklists awaiting approval\r\n </span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-4 mt-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\">\r\n </rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <!-- [disabled]=\"searchDisabled\" -->\r\n <input [(ngModel)]=\"searchInput\" type=\"text\" class=\"form-control w-400px ps-14 mt-1 me-3\"\r\n placeholder=\"Search\" autocomplete=\"off\" (keyup.enter)=\"searchField()\" />\r\n <lib-filters *ngIf=\"isTaskSelected\" class=\"me-3 mt-1\" [dataObject]=\"dataObject\"\r\n (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n\r\n <form class=\"mt-1 borderless-select\" [formGroup]=\"form\">\r\n <lib-reactive-select [formControl]=\"selectedlistselectControl\" [idField]=\"'_id'\" [nameField]=\"'label'\"\r\n [data]=\"statusselectControl\" class=\"w-200px\" (valueChange)=\"onValueChangeStatusSelect($event)\">\r\n <ng-template let-item>\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <span>{{ item.label }}</span>\r\n <span class=\"d-flex align-items-center\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </lib-reactive-select>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-12\">\r\n <div class=\"row p-3\">\r\n <!-- open card start -->\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Open <span *ngIf=\"OpenApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\"> {{OpenApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n <!-- <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"!approvalOpenLoading && !approvalOpenNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let open of OpenApprovalListData\" (click)=\"opennavigateToGallery(open)\" class=\"approvalbody mb-4 cursor-pointer\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ open.checkListName || '--' }}\r\n <span *ngIf=\"open.taskType === 'redo'\" class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>{{ open.checkListType === 'custom' ? 'Checklist' : ((open.checkListType | titlecase) || '--') }}</span>\r\n <span *ngIf=\"open.checkListType && open.checkListType !== 'redo'\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\"> {{ open.checkListType === 'custom' ? 'Checklist' : ((open.checkListType | titlecase) || '--') }}</span>\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div *ngIf=\"open?.priorityType\">\r\n <span class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': open.priorityType === 'high',\r\n 'badge-light-blue': open.priorityType === 'medium',\r\n 'badge-light-warning': open.priorityType === 'low'\r\n }\">\r\n {{ open.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n 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\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.createdByName || '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">{{ open.submitCount !==null ? open.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.storeCount !==null ?\r\n open.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n <span *ngIf=\"open.checkListType === 'custom'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ open.scheduleRepeatedType ?\r\n open.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ open.publishDate | date: \"YYYY-MM-dd\" }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">Approved {{ open.submitCount !==null ? open.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.approveCount !==null ?\r\n open.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalOpenLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvalOpenNoData && !approvalOpenLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Open Checklist\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Inprogress\r\n <span *ngIf=\"InprogressApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\">{{InprogressApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n <!-- <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"!approvalInprogressLoading && !approvalInprogressNoData\" class=\"p-5 cardscroll cursor-pointer\">\r\n <div *ngFor=\"let inprogress of InprogressApprovalListData\" (click)=\"inprogressnavigateToGallery(inprogress)\" class=\"approvalbody mb-4\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ inprogress.checkListName || '--'}}\r\n <span *ngIf=\"inprogress.taskType === 'redo'\"\r\n class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>{{ inprogress.checkListType === 'custom' ? 'Checklist' : ((inprogress.checkListType | titlecase) || '--') }}</span>\r\n <span *ngIf=\"inprogress.checkListType && inprogress.checkListType !== 'redo'\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\">{{ inprogress.checkListType === 'custom' ? 'Checklist' : ((inprogress.checkListType | titlecase) || '--') }}</span>\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div *ngIf=\"inprogress?.priorityType\">\r\n <span class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': inprogress.priorityType === 'high',\r\n 'badge-light-blue': inprogress.priorityType === 'medium',\r\n 'badge-light-warning': inprogress.priorityType === 'low'\r\n }\">\r\n {{ inprogress.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n 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\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ inprogress.createdByName || '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">{{ inprogress.submitCount !==null ? inprogress.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ inprogress.storeCount !==null ?\r\n inprogress.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n <span *ngIf=\"inprogress.checkListType === 'custom'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ inprogress.scheduleRepeatedType ?\r\n inprogress.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ inprogress.publishDate | date: \"YYYY-MM-dd\" }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">Approved {{ inprogress.submitCount !==null ? inprogress.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ inprogress.approveCount !==null ?\r\n inprogress.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalInprogressLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvalInprogressNoData && !approvalInprogressLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Inprogress Checklilst\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- inprogress card end -->\r\n <!-- Approved card start -->\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Approved <span *ngIf=\"DoneApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\"> {{DoneApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n <!-- <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"!approvedLoading && !approvedNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let done of DoneApprovalListData\" (click)=\"donenavigateToGallery(done)\" class=\"approvalbody mb-4 cursor-pointer\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ done.checkListName || '--' }}\r\n <span *ngIf=\"done.taskType === 'redo'\" class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>{{ done.checkListType === 'custom' ? 'Checklist' : ((done.checkListType | titlecase) || '--') }}</span>\r\n <span *ngIf=\"done.checkListType && done.checkListType !== 'redo'\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\">{{ done.checkListType === 'custom' ? 'Checklist' : ((done.checkListType | titlecase) || '--') }}</span>\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div>\r\n <span *ngIf=\"done.priorityType\" class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': done.priorityType === 'high',\r\n 'badge-light-blue': done.priorityType === 'medium',\r\n 'badge-light-warning': done.priorityType === 'low'\r\n }\">\r\n {{ done.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n 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\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ done.createdByName || '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">{{ done.submitCount !==null ? done.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ done.storeCount !==null ?\r\n done.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n <span *ngIf=\"done.checkListType === 'custom'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ done.scheduleRepeatedType ?\r\n done.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ done.publishDate | date: \"YYYY-MM-dd\"}}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">Approved {{ done.submitCount !==null ? done.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ done.approveCount !==null ?\r\n done.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvedLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvedNoData && !approvedLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Approved Checklist\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- Approved card end -->\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"row my-3\">\r\n <ng-container>\r\n <div ngbAccordion>\r\n <div ngbAccordionItem [collapsed]=\"false\">\r\n <h2 ngbAccordionHeader>\r\n <button class=\"headtext\" ngbAccordionButton>Activity Log<div class=\"divider\"></div></button>\r\n </h2>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-activity-log></lib-activity-log>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>", styles: [".actioncard{display:flex;padding:8px 16px;align-items:center;gap:16px;align-self:stretch;border-radius:6px;border-bottom:2px solid var(--Gray-200, #EAECF0);background:radial-gradient(206.89% 107.47% at 16.16% 32.77%,#fff6,#45bbfe33),#f2f4f7;box-shadow:0 4px 10px #0000000d}.actioncount{color:var(--Black, #101828);font-size:30px;font-style:normal;font-weight:600;line-height:38px}.actiontext{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.approvalcard{border-radius:6px;background:var(--Gray-50, #F9FAFB);flex-direction:column;align-items:center;flex:1 0 0;align-self:stretch}.approvalheader{display:flex;padding:16px 15px;justify-content:space-between;align-items:center;align-self:stretch;border-radius:6px 6px 0 0;background:var(--Gray-100, #F2F4F7)}.approvalbody{border-radius:8px;border:1px solid var(--Primary-25, #F6FCFF);background:var(--White, #FFF);box-shadow:0 4px 8px -2px #1018281a,0 2px 4px -2px #1018280f;display:flex;padding:12px;flex-direction:column;align-items:flex-start;gap:12px;align-self:stretch}.cate-text{color:#626f86;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.cate-sub{color:var(--Gray-700, #344054);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px;mix-blend-mode:multiply}.card-label{color:var(--Gray-900, #101828);font-size:18px;font-style:normal;font-weight:600;line-height:28px}.text-sub{color:var(--Gray-500, #667085);font-size:14px;font-style:normal;font-weight:400;line-height:20px}.headingtext{color:var(--Black, #101828);font-size:16px;font-style:normal;font-weight:500;line-height:24px}.cardsubtext{color:var(--Gray-500, #667085);font-size:12px;font-style:normal;font-weight:500;line-height:18px}.cardscroll{overflow-y:scroll;max-height:275px}.badge-light-blue{border-radius:16px;background:var(--Blue-50, #EFF8FF);display:flex;padding:2px 8px 2px 6px;justify-content:center;align-items:center;gap:4px;color:var(--Blue-700, #175CD3);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.badge-light-violet{border-radius:16px;background:var(--Purple-50, #F4F3FF);padding:2px 8px;justify-content:center;align-items:center;color:var(--Purple-700, #5925DC);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.headtext{color:var(--Black, #101828);font-size:18px;font-style:normal;font-weight:500;line-height:28px}.card .card-header{padding:0px .5rem}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.FiltersComponent, selector: "lib-filters", inputs: ["dataObject"], outputs: ["appliedFilters"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.NgbAccordionButton, selector: "button[ngbAccordionButton]" }, { kind: "directive", type: i7.NgbAccordionDirective, selector: "[ngbAccordion]", inputs: ["animation", "closeOthers", "destroyOnHide"], outputs: ["show", "shown", "hide", "hidden"], exportAs: ["ngbAccordion"] }, { kind: "directive", type: i7.NgbAccordionItem, selector: "[ngbAccordionItem]", inputs: ["ngbAccordionItem", "destroyOnHide", "disabled", "collapsed"], outputs: ["show", "shown", "hide", "hidden"], exportAs: ["ngbAccordionItem"] }, { kind: "directive", type: i7.NgbAccordionHeader, selector: "[ngbAccordionHeader]" }, { kind: "directive", type: i7.NgbAccordionBody, selector: "[ngbAccordionBody]" }, { kind: "directive", type: i7.NgbAccordionCollapse, selector: "[ngbAccordionCollapse]", exportAs: ["ngbAccordionCollapse"] }, { kind: "component", type: i8.ReactiveSelectComponent, selector: "lib-reactive-select", inputs: ["idField", "nameField", "label", "data"], outputs: ["itemChange"] }, { kind: "component", type: i9.ActivityLogComponent, selector: "lib-activity-log" }, { kind: "pipe", type: i5.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i5.DatePipe, name: "date" }] });
|
|
33
387
|
}
|
|
34
388
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCentreComponent, decorators: [{
|
|
35
389
|
type: Component,
|
|
36
|
-
args: [{ selector: 'lib-action-centre', template: "<div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\">50</span> <span class=\"actiontext mx-5 mt-3\">Checklist waiting for approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\">50</span> <span class=\"actiontext mx-5 mt-3\">Task waiting for approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row m-0 my-3\">\r\n <div class=\"card\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Approval</span>\r\n <span class=\"text-sub mb-2\">An Summary of all the checklists awaiting approval\r\n </span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <form class=\"mt-1 me-3 borderless-select\" [formGroup]=\"form\">\r\n <lib-reactive-select [formControl]=\"checklistselectControl\" [idField]=\"'_id'\"\r\n [nameField]=\"'checkListName'\" [data]=\"checklistDropdown\" class=\"w-100 \"\r\n style=\"border: none !important; box-shadow: none !important;\"\r\n (valueChange)=\"onValueChangeChecklist($event)\">\r\n <ng-template let-item>\r\n <div class=\"d-flex justify-content-between align-items-center no-border-custom-select\">\r\n <span>{{ item.checkListName }}</span>\r\n <span class=\"d-flex align-items-center\">\r\n <!-- <span class=\"status-text\">Status</span> -->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path d=\"M4 6L8 10L12 6\" stroke=\"#101828\" stroke-width=\"2\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </lib-reactive-select>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div> \r\n </div>\r\n </div>\r\n</div>", styles: [".actioncard{display:flex;padding:8px 16px;align-items:center;gap:16px;align-self:stretch;border-radius:6px;border-bottom:2px solid var(--Gray-200, #EAECF0);background:radial-gradient(206.89% 107.47% at 16.16% 32.77%,#fff6,#45bbfe33),#f2f4f7;box-shadow:0 4px 10px #0000000d}.actioncount{color:var(--Black, #101828);font-size:30px;font-style:normal;font-weight:600;line-height:38px}.actiontext{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}\n"] }]
|
|
37
|
-
}], ctorParameters: () => [{ type: i1.FormBuilder }] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1jZW50cmUvYWN0aW9uLWNlbnRyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1jZW50cmUvYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBZSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU9yRSxNQUFNLE9BQU8scUJBQXFCO0lBV1o7SUFWcEIsSUFBSSxDQUFZO0lBQ2hCLHNCQUFzQixDQUFjO0lBQ3BDLGlCQUFpQixHQUFHO1FBQ2xCLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFO1FBQzFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFO1FBQzFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFO1FBQzFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFO1FBQzFDLDRDQUE0QztLQUM3QyxDQUFDO0lBRUYsWUFBb0IsRUFBZTtRQUFmLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDakMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDeEIsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLHNCQUFzQjtTQUNwRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLGtEQUFrRDtJQUNwRCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsS0FBVTtRQUMvQiwwQ0FBMEM7UUFDMUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO3dHQXpCVSxxQkFBcUI7NEZBQXJCLHFCQUFxQix5RENSbEMsaXNHQTJETTs7NEZEbkRPLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFjdGlvbi1jZW50cmUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tY2VudHJlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjdGlvbkNlbnRyZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZm9ybTogRm9ybUdyb3VwO1xyXG4gIGNoZWNrbGlzdHNlbGVjdENvbnRyb2w6IEZvcm1Db250cm9sO1xyXG4gIGNoZWNrbGlzdERyb3Bkb3duID0gW1xyXG4gICAgeyBfaWQ6ICcxJywgY2hlY2tMaXN0TmFtZTogJ0NoZWNrbGlzdCAxJyB9LFxyXG4gICAgeyBfaWQ6ICcyJywgY2hlY2tMaXN0TmFtZTogJ0NoZWNrbGlzdCAyJyB9LFxyXG4gICAgeyBfaWQ6ICczJywgY2hlY2tMaXN0TmFtZTogJ0NoZWNrbGlzdCAzJyB9LFxyXG4gICAgeyBfaWQ6ICc0JywgY2hlY2tMaXN0TmFtZTogJ0NoZWNrbGlzdCA0JyB9XHJcbiAgICAvLyBBZGQgbW9yZSBzdGF0aWMgY2hlY2tsaXN0IGl0ZW1zIGFzIG5lZWRlZFxyXG4gIF07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7XHJcbiAgICB0aGlzLmNoZWNrbGlzdHNlbGVjdENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2wobnVsbCk7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgY2hlY2tsaXN0c2VsZWN0Q29udHJvbDogdGhpcy5jaGVja2xpc3RzZWxlY3RDb250cm9sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgLy8gQW55IGFkZGl0aW9uYWwgaW5pdGlhbGl6YXRpb24gbG9naWMgY2FuIGdvIGhlcmVcclxuICB9XHJcblxyXG4gIG9uVmFsdWVDaGFuZ2VDaGVja2xpc3QoZXZlbnQ6IGFueSkge1xyXG4gICAgLy8gSGFuZGxlIHRoZSB2YWx1ZSBjaGFuZ2UgZXZlbnQgYXMgbmVlZGVkXHJcbiAgICBjb25zb2xlLmxvZygnU2VsZWN0ZWQgY2hlY2tsaXN0OicsIGV2ZW50KTtcclxuICB9XHJcbn0iLCI8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uY2FyZCBteS0zIG14LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb25jb3VudFwiPjUwPC9zcGFuPiA8c3BhbiBjbGFzcz1cImFjdGlvbnRleHQgbXgtNSBtdC0zXCI+Q2hlY2tsaXN0IHdhaXRpbmcgZm9yIGFwcHJvdmFsPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbmNhcmQgbXktMyBteC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0aW9uY291bnRcIj41MDwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJhY3Rpb250ZXh0IG14LTUgbXQtM1wiPlRhc2sgd2FpdGluZyBmb3IgYXBwcm92YWw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IG0tMCBteS0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbWItMlwiPkFwcHJvdmFsPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+QW4gU3VtbWFyeSBvZiBhbGwgdGhlIGNoZWNrbGlzdHMgYXdhaXRpbmcgYXBwcm92YWxcclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyICBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPVwibXQtMSBtZS0zIGJvcmRlcmxlc3Mtc2VsZWN0XCIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCBbZm9ybUNvbnRyb2xdPVwiY2hlY2tsaXN0c2VsZWN0Q29udHJvbFwiIFtpZEZpZWxkXT1cIidfaWQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZUZpZWxkXT1cIidjaGVja0xpc3ROYW1lJ1wiIFtkYXRhXT1cImNoZWNrbGlzdERyb3Bkb3duXCIgY2xhc3M9XCJ3LTEwMCBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlQ2hlY2tsaXN0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIG5vLWJvcmRlci1jdXN0b20tc2VsZWN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLmNoZWNrTGlzdE5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwic3RhdHVzLXRleHRcIj5TdGF0dXM8L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQgNkw4IDEwTDEyIDZcIiBzdHJva2U9XCIjMTAxODI4XCIgc3Ryb2tlLXdpZHRoPVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+ICBcclxuICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
390
|
+
args: [{ selector: 'lib-action-centre', template: "<div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\"> {{ overallCardsData.checklistApproval?.count !==null ?\r\n overallCardsData.checklistApproval?.count.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) : '--' }}</span>\r\n <span class=\"actiontext mx-5 mt-3\">Checklist waiting for\r\n approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\"> {{ overallCardsData.taskApproval?.count !==null ?\r\n overallCardsData.taskApproval?.count.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) : '--' }}</span> <span class=\"actiontext mx-5 mt-3\">Task waiting for\r\n approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row m-0 my-3\">\r\n <div class=\"card\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Approval</span>\r\n <span class=\"text-sub mb-2\">An Summary of all the checklists awaiting approval\r\n </span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-4 mt-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\">\r\n </rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <!-- [disabled]=\"searchDisabled\" -->\r\n <input [(ngModel)]=\"searchInput\" type=\"text\" class=\"form-control w-400px ps-14 mt-1 me-3\"\r\n placeholder=\"Search\" autocomplete=\"off\" (keyup.enter)=\"searchField()\" />\r\n <lib-filters *ngIf=\"isTaskSelected\" class=\"me-3 mt-1\" [dataObject]=\"dataObject\"\r\n (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n\r\n <form class=\"mt-1 borderless-select\" [formGroup]=\"form\">\r\n <lib-reactive-select [formControl]=\"selectedlistselectControl\" [idField]=\"'_id'\" [nameField]=\"'label'\"\r\n [data]=\"statusselectControl\" class=\"w-200px\" (valueChange)=\"onValueChangeStatusSelect($event)\">\r\n <ng-template let-item>\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <span>{{ item.label }}</span>\r\n <span class=\"d-flex align-items-center\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </lib-reactive-select>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-12\">\r\n <div class=\"row p-3\">\r\n <!-- open card start -->\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Open <span *ngIf=\"OpenApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\"> {{OpenApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n <!-- <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"!approvalOpenLoading && !approvalOpenNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let open of OpenApprovalListData\" (click)=\"opennavigateToGallery(open)\" class=\"approvalbody mb-4 cursor-pointer\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ open.checkListName || '--' }}\r\n <span *ngIf=\"open.taskType === 'redo'\" class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>{{ open.checkListType === 'custom' ? 'Checklist' : ((open.checkListType | titlecase) || '--') }}</span>\r\n <span *ngIf=\"open.checkListType && open.checkListType !== 'redo'\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\"> {{ open.checkListType === 'custom' ? 'Checklist' : ((open.checkListType | titlecase) || '--') }}</span>\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div *ngIf=\"open?.priorityType\">\r\n <span class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': open.priorityType === 'high',\r\n 'badge-light-blue': open.priorityType === 'medium',\r\n 'badge-light-warning': open.priorityType === 'low'\r\n }\">\r\n {{ open.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n 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\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.createdByName || '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">{{ open.submitCount !==null ? open.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.storeCount !==null ?\r\n open.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n <span *ngIf=\"open.checkListType === 'custom'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ open.scheduleRepeatedType ?\r\n open.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ open.publishDate | date: \"YYYY-MM-dd\" }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">Approved {{ open.submitCount !==null ? open.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.approveCount !==null ?\r\n open.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalOpenLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvalOpenNoData && !approvalOpenLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Open Checklist\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Inprogress\r\n <span *ngIf=\"InprogressApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\">{{InprogressApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n <!-- <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"!approvalInprogressLoading && !approvalInprogressNoData\" class=\"p-5 cardscroll cursor-pointer\">\r\n <div *ngFor=\"let inprogress of InprogressApprovalListData\" (click)=\"inprogressnavigateToGallery(inprogress)\" class=\"approvalbody mb-4\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ inprogress.checkListName || '--'}}\r\n <span *ngIf=\"inprogress.taskType === 'redo'\"\r\n class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>{{ inprogress.checkListType === 'custom' ? 'Checklist' : ((inprogress.checkListType | titlecase) || '--') }}</span>\r\n <span *ngIf=\"inprogress.checkListType && inprogress.checkListType !== 'redo'\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\">{{ inprogress.checkListType === 'custom' ? 'Checklist' : ((inprogress.checkListType | titlecase) || '--') }}</span>\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div *ngIf=\"inprogress?.priorityType\">\r\n <span class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': inprogress.priorityType === 'high',\r\n 'badge-light-blue': inprogress.priorityType === 'medium',\r\n 'badge-light-warning': inprogress.priorityType === 'low'\r\n }\">\r\n {{ inprogress.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n 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\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ inprogress.createdByName || '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">{{ inprogress.submitCount !==null ? inprogress.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ inprogress.storeCount !==null ?\r\n inprogress.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n <span *ngIf=\"inprogress.checkListType === 'custom'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ inprogress.scheduleRepeatedType ?\r\n inprogress.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ inprogress.publishDate | date: \"YYYY-MM-dd\" }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">Approved {{ inprogress.submitCount !==null ? inprogress.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ inprogress.approveCount !==null ?\r\n inprogress.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalInprogressLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvalInprogressNoData && !approvalInprogressLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Inprogress Checklilst\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- inprogress card end -->\r\n <!-- Approved card start -->\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Approved <span *ngIf=\"DoneApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\"> {{DoneApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n <!-- <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"!approvedLoading && !approvedNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let done of DoneApprovalListData\" (click)=\"donenavigateToGallery(done)\" class=\"approvalbody mb-4 cursor-pointer\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ done.checkListName || '--' }}\r\n <span *ngIf=\"done.taskType === 'redo'\" class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>{{ done.checkListType === 'custom' ? 'Checklist' : ((done.checkListType | titlecase) || '--') }}</span>\r\n <span *ngIf=\"done.checkListType && done.checkListType !== 'redo'\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\">{{ done.checkListType === 'custom' ? 'Checklist' : ((done.checkListType | titlecase) || '--') }}</span>\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div>\r\n <span *ngIf=\"done.priorityType\" class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': done.priorityType === 'high',\r\n 'badge-light-blue': done.priorityType === 'medium',\r\n 'badge-light-warning': done.priorityType === 'low'\r\n }\">\r\n {{ done.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n 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\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ done.createdByName || '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">{{ done.submitCount !==null ? done.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ done.storeCount !==null ?\r\n done.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n <span *ngIf=\"done.checkListType === 'custom'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ done.scheduleRepeatedType ?\r\n done.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ done.publishDate | date: \"YYYY-MM-dd\"}}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">Approved {{ done.submitCount !==null ? done.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ done.approveCount !==null ?\r\n done.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvedLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvedNoData && !approvedLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Approved Checklist\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- Approved card end -->\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"row my-3\">\r\n <ng-container>\r\n <div ngbAccordion>\r\n <div ngbAccordionItem [collapsed]=\"false\">\r\n <h2 ngbAccordionHeader>\r\n <button class=\"headtext\" ngbAccordionButton>Activity Log<div class=\"divider\"></div></button>\r\n </h2>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-activity-log></lib-activity-log>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>", styles: [".actioncard{display:flex;padding:8px 16px;align-items:center;gap:16px;align-self:stretch;border-radius:6px;border-bottom:2px solid var(--Gray-200, #EAECF0);background:radial-gradient(206.89% 107.47% at 16.16% 32.77%,#fff6,#45bbfe33),#f2f4f7;box-shadow:0 4px 10px #0000000d}.actioncount{color:var(--Black, #101828);font-size:30px;font-style:normal;font-weight:600;line-height:38px}.actiontext{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.approvalcard{border-radius:6px;background:var(--Gray-50, #F9FAFB);flex-direction:column;align-items:center;flex:1 0 0;align-self:stretch}.approvalheader{display:flex;padding:16px 15px;justify-content:space-between;align-items:center;align-self:stretch;border-radius:6px 6px 0 0;background:var(--Gray-100, #F2F4F7)}.approvalbody{border-radius:8px;border:1px solid var(--Primary-25, #F6FCFF);background:var(--White, #FFF);box-shadow:0 4px 8px -2px #1018281a,0 2px 4px -2px #1018280f;display:flex;padding:12px;flex-direction:column;align-items:flex-start;gap:12px;align-self:stretch}.cate-text{color:#626f86;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.cate-sub{color:var(--Gray-700, #344054);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px;mix-blend-mode:multiply}.card-label{color:var(--Gray-900, #101828);font-size:18px;font-style:normal;font-weight:600;line-height:28px}.text-sub{color:var(--Gray-500, #667085);font-size:14px;font-style:normal;font-weight:400;line-height:20px}.headingtext{color:var(--Black, #101828);font-size:16px;font-style:normal;font-weight:500;line-height:24px}.cardsubtext{color:var(--Gray-500, #667085);font-size:12px;font-style:normal;font-weight:500;line-height:18px}.cardscroll{overflow-y:scroll;max-height:275px}.badge-light-blue{border-radius:16px;background:var(--Blue-50, #EFF8FF);display:flex;padding:2px 8px 2px 6px;justify-content:center;align-items:center;gap:4px;color:var(--Blue-700, #175CD3);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.badge-light-violet{border-radius:16px;background:var(--Purple-50, #F4F3FF);padding:2px 8px;justify-content:center;align-items:center;color:var(--Purple-700, #5925DC);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.headtext{color:var(--Black, #101828);font-size:18px;font-style:normal;font-weight:500;line-height:28px}.card .card-header{padding:0px .5rem}\n"] }]
|
|
391
|
+
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.GlobalStateService }, { type: i2.PageInfoService }, { type: i3.TraxService }, { type: i0.ChangeDetectorRef }, { type: i4.Router }] });
|
|
392
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1jZW50cmUvYWN0aW9uLWNlbnRyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1jZW50cmUvYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQWUsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQWdDLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd0RixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7Ozs7Ozs7Ozs7O0FBTzFCLE1BQU0sT0FBTyxxQkFBcUI7SUFtRFo7SUFBdUI7SUFBK0I7SUFBa0M7SUFDbEc7SUFBMkM7SUFuRDdDLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ2pDLFdBQVcsR0FBTyxFQUFFLENBQUM7SUFDckIsSUFBSSxDQUFZO0lBQ2hCLFVBQVUsQ0FBTTtJQUNoQixnQkFBZ0IsR0FBUSxFQUFFLENBQUM7SUFDM0IsZUFBZSxHQUFZLElBQUksQ0FBQztJQUNoQyxVQUFVLEdBQVksS0FBSyxDQUFDO0lBQzVCLGNBQWMsR0FBWSxLQUFLLENBQUM7SUFDaEMsbUJBQW1CLEdBQVksSUFBSSxDQUFDO0lBQ3BDLGtCQUFrQixHQUFZLEtBQUssQ0FBQztJQUNwQyxZQUFZLEdBQUcsRUFBRSxDQUFBO0lBQ2pCLFdBQVcsR0FBRyxDQUFDLENBQUE7SUFDZixhQUFhLEdBQVcsRUFBRSxDQUFDO0lB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SUFDTCxDQUFDO0lBQ0QsMkJBQTJCLENBQUMsVUFBZTtRQUN6QyxJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUN0RSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLEVBQUU7WUFDN0MsV0FBVyxFQUFFO2dCQUNYLGFBQWEsRUFBQyxhQUFhO2dCQUMzQiwwQkFBMEI7Z0JBQzFCLGFBQWEsRUFBRSxVQUFVLENBQUMsYUFBYTtnQkFDdkMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxpQkFBaUI7YUFDMUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QscUJBQXFCLENBQUMsSUFBUztRQUM3QixJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUNoRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLEVBQUU7WUFDN0MsV0FBVyxFQUFFO2dCQUNYLGFBQWEsRUFBQyxhQUFhO2dCQUMzQiwwQkFBMEI7Z0JBQzFCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtnQkFDakMsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUI7YUFDcEM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO3dHQTdYVSxxQkFBcUI7NEZBQXJCLHFCQUFxQix5RENabEMsNHVxREF3aEJNOzs0RkQ1Z0JPLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlLCBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgVHJheFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmF4LnNlcnZpY2UnO1xyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1hY3Rpb24tY2VudHJlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2FjdGlvbi1jZW50cmUuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25DZW50cmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHNlYXJjaElucHV0OiBhbnkgPVwiXCI7XHJcbiAgZm9ybTogRm9ybUdyb3VwO1xyXG4gIGhlYWRlckRhdGE6IGFueTtcclxuICBvdmVyYWxsQ2FyZHNEYXRhOiBhbnkgPSB7fTtcclxuICBjYXJkRGF0YUxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGNhcmROb0RhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWFyY2hEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGFwcHJvdmFsT3BlbkxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGFwcHJvdmFsT3Blbk5vRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGl0ZW1zUGVyUGFnZSA9IDEwXHJcbiAgY3VycmVudFBhZ2UgPSAxXHJcbiAgc29ydENvbHVtTmFtZTogc3RyaW5nID0gJyc7XHJcbiAgc29ydEJ5OiBhbnkgPSAnJztcclxuICBzb3J0RGlyZWN0aW9uOiBhbnkgPSAnJztcclxuICB0b3RhbEl0ZW1zID0gMFxyXG4gIHBhZ2luYXRpb25TaXplczphbnlbXSA9IFtdO1xyXG4gIHBhZ2VTaXplID0gMTBcclxuICBPcGVuQXBwcm92YWxMaXN0RGF0YTogYW55W10gPSBbXTtcclxuICBJbnByb2dyZXNzQXBwcm92YWxMaXN0RGF0YTogYW55W10gPSBbXTtcclxuICBEb25lQXBwcm92YWxMaXN0RGF0YTogYW55W10gPSBbXTtcclxuICBhcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBhcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBhcHByb3ZlZExvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGFwcHJvdmVkTm9EYXRhOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpb3JpdHlUeXBlOiBhbnkgPSBbXTtcclxuICBzZWxlY3RlZGxpc3RzZWxlY3RDb250cm9sOiBGb3JtQ29udHJvbDtcclxuICBzZWxlY3RlZFN0YXR1czogYW55O1xyXG4gIHN0YXR1c3NlbGVjdENvbnRyb2wgPSBbXHJcbiAgICB7IF9pZDogJ2FsbCcsIGxhYmVsOiAnQWxsJyB9LFxyXG4gICAgeyBfaWQ6ICdjaGVja2xpc3QnLCBsYWJlbDogJ0NoZWNrbGlzdCcgfSxcclxuICAgIHsgX2lkOiAndGFzaycsIGxhYmVsOiAnVGFzaycgfSxcclxuICBdO1xyXG4gIGRhdGFPYmplY3Q6IGFueSA9IFtcclxuICAgIHtcclxuICAgICAgRGVzY3JpcHRpb246ICdQcmlvcml0eScsXHJcbiAgICAgIElzc3VlczogW1xyXG4gICAgICAgIHsgdGV4dDogJ0hpZ2gnLCBpZDogJ2hpZ2gnIH0sXHJcbiAgICAgICAgeyB0ZXh0OiAnTWVkaXVtJywgaWQ6ICdtZWRpdW0nIH0sXHJcbiAgICAgICAgeyB0ZXh0OiAnTG93JywgaWQ6ICdsb3cnIH0sXHJcbiAgICAgIF0sXHJcbiAgICB9LFxyXG4gIF07XHJcbiAgc2VhcmNoVmFsdWU6IHN0cmluZztcclxuICBsaW1pdDogbnVtYmVyO1xyXG4gIG9mZnNldDogbnVtYmVyO1xyXG4gIGlzVGFza1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7IFxyXG4gIGRheWpzID0gZGF5anM7XHJcbiAgZGF0ZTogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixwdWJsaWMgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSxwcml2YXRlIHBhZ2VJbmZvOiBQYWdlSW5mb1NlcnZpY2UscHJpdmF0ZSBUcmF4U2VydmljZTogVHJheFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICApIHt9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRsaXN0c2VsZWN0Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnYWxsJyk7XHJcbiAgICAgXHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgc2VsZWN0ZWRsaXN0c2VsZWN0Q29udHJvbDogdGhpcy5zZWxlY3RlZGxpc3RzZWxlY3RDb250cm9sXHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRsaXN0c2VsZWN0Q29udHJvbC52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLm9uVmFsdWVDaGFuZ2VTdGF0dXNTZWxlY3QodmFsdWUpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZVxyXG4gICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLCBkZWJvdW5jZVRpbWUoMzAwKSlcclxuICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuaGVhZGVyRGF0YSA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5zZXRQYWdlRGF0YSgpO1xyXG4gICAgICAgIHRoaXMuZ2V0T3ZlcmFsbEFjdGlvbkNlbnRlckRhdGEoKTtcclxuICAgICAgICB0aGlzLmdldEFwcHJvdmFsT3BlbkRhdGEoKTsgIFxyXG59KVxyXG4gICBcclxuICAgIFxyXG5cclxuICB9XHJcbiAgc2V0UGFnZURhdGEoKSB7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldFRpdGxlKFwiRGFzaGJvYXJkXCIpO1xyXG4gICAgLy8gdGhpcy5wYWdlSW5mby5zZXREZXNjcmlwdGlvbihcIkRhc2hib2FyZFwiKTtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0QnJlYWRjcnVtYnMoW1xyXG4gICAgICB7IHRpdGxlOiBcIlRhbmdvIFRyYXhcIiwgcGF0aDogXCIvbWFuYWdlL3RyYXgvZGFzaGJvYXJkXCIsIGlzQWN0aXZlOiBmYWxzZSwgaXNTZXBhcmF0b3I6IGZhbHNlIH0sXHJcbiAgICAgIHsgdGl0bGU6IFwiVGFuZ28gVHJheFwiLCBwYXRoOiBcIi9tYW5hZ2UvdHJheC9kYXNoYm9hcmRcIiwgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogdHJ1ZSB9LFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBnZXRPdmVyYWxsQWN0aW9uQ2VudGVyRGF0YSgpOiB2b2lkIHtcclxuICAgIHRoaXMub3ZlcmFsbENhcmRzRGF0YSA9IFtdXHJcbiAgICB0aGlzLmNhcmREYXRhTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmNhcmROb0RhdGEgPSB0cnVlO1xyXG4gICAgY29uc3QgcmVxdWVzdERhdGEgPSB7XHJcbiAgICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckRhdGEuZGF0ZS5zdGFydERhdGUsXHJcbiAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuZW5kRGF0ZSxcclxuICAgICAgc3RvcmVJZDogdGhpcy5oZWFkZXJEYXRhLnN0b3Jlcy5maWx0ZXIoKHN0b3JlOmFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTphbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gICAgICBjbGllbnRJZDp0aGlzLmhlYWRlckRhdGEuY2xpZW50LFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLlRyYXhTZXJ2aWNlLmdldE92ZXJhbGxBY3Rpb25DZW50ZXJEYXRhKHJlcXVlc3REYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuY2FyZERhdGFMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlPy5jb2RlID09PSAyMDAgJiYgcmVzcG9uc2U/LnN0YXR1cyA9PT0gXCJzdWNjZXNzXCIpIHtcclxuICAgICAgICAgIHRoaXMub3ZlcmFsbENhcmRzRGF0YSA9IHJlc3BvbnNlLmRhdGE/LmNhcmREYXRhIHx8IHt9OyBcclxuICAgICAgICAgIHRoaXMuY2FyZERhdGFMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmNhcmROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5vdmVyYWxsQ2FyZHNEYXRhID0gW11cclxuICAgICAgICAgIHRoaXMuY2FyZERhdGFMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmNhcmROb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3IgPT4ge1xyXG4gICAgICAgIHRoaXMub3ZlcmFsbENhcmRzRGF0YSA9IFtdXHJcbiAgICAgICAgdGhpcy5jYXJkRGF0YUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNhcmROb0RhdGEgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXBwcm92YWxPcGVuRGF0YSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5hcHByb3ZhbE9wZW5Mb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuYXBwcm92YWxPcGVuTm9EYXRhID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGEgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMuYXBwcm92ZWRMb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuYXBwcm92ZWROb0RhdGEgPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0IHJlcXVlc3REYXRhID0ge1xyXG4gICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuc3RhcnREYXRlLFxyXG4gICAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRGF0YS5kYXRlLmVuZERhdGUsXHJcbiAgICAgIHN0b3JlSWQ6IHRoaXMuaGVhZGVyRGF0YS5zdG9yZXMuZmlsdGVyKChzdG9yZTphbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6YW55KSA9PiBzdG9yZS5zdG9yZUlkKSxcclxuICAgICAgY2xpZW50SWQ6dGhpcy5oZWFkZXJEYXRhLmNsaWVudCxcclxuICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoSW5wdXQsXHJcbiAgICAgIGZpbHRlcjogdGhpcy5wcmlvcml0eVR5cGUsXHJcbiAgICAgIHR5cGU6IHRoaXMuc2VsZWN0ZWRsaXN0c2VsZWN0Q29udHJvbC52YWx1ZVxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLlRyYXhTZXJ2aWNlLmdldEFwcHJvdmFsRGF0YShyZXF1ZXN0RGF0YSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5hcHByb3ZhbE9wZW5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5hcHByb3ZlZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICBpZiAocmVzcG9uc2U/LmNvZGUgPT09IDIwMCAmJiByZXNwb25zZT8uc3RhdHVzID09PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgICAgdGhpcy5PcGVuQXBwcm92YWxMaXN0RGF0YSA9IHJlc3BvbnNlLmRhdGEub3BlbiB8fCBbXTtcclxuICAgICAgICAgIHRoaXMuSW5wcm9ncmVzc0FwcHJvdmFsTGlzdERhdGEgPSByZXNwb25zZS5kYXRhLmlucHJvZ3Jlc3MgfHwgW107XHJcbiAgICAgICAgICB0aGlzLkRvbmVBcHByb3ZhbExpc3REYXRhID0gcmVzcG9uc2UuZGF0YS5kb25lIHx8IFtdO1xyXG4gICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gcmVzcG9uc2UuZGF0YS50b3RhbENvdW50XHJcbiAgICAgICAgICB0aGlzLnNldFBhZ2luYXRpb25TaXplcygpXHJcblxyXG4gICAgICAgICAgaWYgKHRoaXMuT3BlbkFwcHJvdmFsTGlzdERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmFwcHJvdmFsT3BlbkxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuYXBwcm92YWxPcGVuTm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwcm92YWxPcGVuTm9EYXRhID0gdHJ1ZTsgXHJcbiAgICAgICAgICB9IFxyXG4gICAgICAgICAgaWYgKHRoaXMuSW5wcm9ncmVzc0FwcHJvdmFsTGlzdERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc05vRGF0YSA9IHRydWU7IFxyXG4gICAgICAgICAgfSBcclxuICAgICAgICAgIGlmICh0aGlzLkRvbmVBcHByb3ZhbExpc3REYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5hcHByb3ZlZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuYXBwcm92ZWROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIH0gZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5hcHByb3ZlZE5vRGF0YSA9IHRydWU7IFxyXG4gICAgICAgICAgfSBcclxuICAgICAgICAgIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5PcGVuQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gICAgICAgICAgdGhpcy5JbnByb2dyZXNzQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gICAgICAgICAgdGhpcy5Eb25lQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG5cclxuICAgICAgICAgIHRoaXMuYXBwcm92YWxPcGVuTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5hcHByb3ZhbE9wZW5Ob0RhdGEgPSB0cnVlO1xyXG5cclxuICAgICAgICAgIHRoaXMuYXBwcm92YWxJbnByb2dyZXNzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGEgPSB0cnVlO1xyXG5cclxuICAgICAgICAgIHRoaXMuYXBwcm92ZWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmFwcHJvdmVkTm9EYXRhID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICB0aGlzLnNlYXJjaERpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgIGlmICh0aGlzLnNlYXJjaElucHV0Py5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuT3BlbkFwcHJvdmFsTGlzdERhdGEgPSBbXTtcclxuICAgICAgICAgIHRoaXMuSW5wcm9ncmVzc0FwcHJvdmFsTGlzdERhdGEgPSBbXTtcclxuICAgICAgICAgIHRoaXMuRG9uZUFwcHJvdmFsTGlzdERhdGEgPSBbXTtcclxuICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDBcclxuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgICAgfVxyXG4gICAgICB9LCBlcnJvciA9PiB7XHJcbiAgICAgICAgdGhpcy5PcGVuQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gICAgICAgICAgdGhpcy5JbnByb2dyZXNzQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gICAgICAgICAgdGhpcy5Eb25lQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICAvLyBnZXRBcHByb3ZhbElucHJvZ3Jlc3NEYXRhKCk6IHZvaWQge1xyXG4gIC8vICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IHRydWU7XHJcbiAgLy8gICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmcgPSB0cnVlO1xyXG4gIC8vICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGEgPSB0cnVlO1xyXG4gIC8vICAgY29uc3QgcmVxdWVzdERhdGEgPSB7XHJcbiAgLy8gICAgIGRhdGU6IFwiMjAyNC0xMi0wMlwiLFxyXG4gIC8vICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuc3RhcnREYXRlLFxyXG4gIC8vICAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRGF0YS5kYXRlLmVuZERhdGUsXHJcbiAgLy8gICAgIHN0b3JlSWQ6IHRoaXMuaGVhZGVyRGF0YS5zdG9yZXMuZmlsdGVyKChzdG9yZTphbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6YW55KSA9PiBzdG9yZS5zdG9yZUlkKSxcclxuICAvLyAgICAgY2xpZW50SWQ6dGhpcy5oZWFkZXJEYXRhLmNsaWVudCxcclxuICAvLyAgICAgLy8gbGltaXQ6IHRoaXMuaXRlbXNQZXJQYWdlLCAgICAgICAgICAgICAgICAgXHJcbiAgLy8gICAgIC8vIG9mZnNldDogdGhpcy5jdXJyZW50UGFnZSAtIDEsXHJcbiAgLy8gICAgIHNvcnRCeTogdGhpcy5zb3J0RGlyZWN0aW9uLFxyXG4gIC8vICAgICBzb3J0Q29sdW1uTmFtZTogdGhpcy5zb3J0Q29sdW1OYW1lLFxyXG4gIC8vICAgICBzZWFyY2hWYWx1ZTogdGhpcy5zZWFyY2hJbnB1dCxcclxuICAvLyAgICAgZmlsdGVyOiBcIlwiLFxyXG4gIC8vICAgICB0eXBlOiAnYWxsJ1xyXG4gIC8vICAgfTtcclxuXHJcbiAgLy8gICB0aGlzLlRyYXhTZXJ2aWNlLmdldEFwcHJvdmFsRGF0YShyZXF1ZXN0RGF0YSlcclxuICAvLyAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gIC8vICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgLy8gICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nID0gZmFsc2U7XHJcbiAgLy8gICAgICAgaWYgKHJlc3BvbnNlPy5jb2RlID09PSAyMDAgJiYgcmVzcG9uc2U/LnN0YXR1cyA9PT0gXCJzdWNjZXNzXCIpIHtcclxuICAvLyAgICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IHJlc3BvbnNlLmRhdGEuaW5wcm9ncmVzcyB8fCBbXTtcclxuICAvLyAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlc3BvbnNlLmRhdGEudG90YWxDb3VudFxyXG4gIC8vICAgICAgICAgdGhpcy5zZXRQYWdpbmF0aW9uU2l6ZXMoKVxyXG4gIC8vICAgICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nID0gZmFsc2U7XHJcbiAgLy8gICAgICAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc05vRGF0YSA9IGZhbHNlO1xyXG4gIC8vICAgICAgICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IGZhbHNlO1xyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICBjb25zb2xlLmxvZyhcImVsc2VcIik7XHJcbiAgICAgICAgICBcclxuICAvLyAgICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gIC8vICAgICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nID0gZmFsc2U7XHJcbiAgLy8gICAgICAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc05vRGF0YSA9IHRydWU7XHJcbiAgLy8gICAgICAgICB0aGlzLnNlYXJjaERpc2FibGVkID0gdHJ1ZTtcclxuICAvLyAgICAgICAgIGlmICh0aGlzLnNlYXJjaElucHV0Py5sZW5ndGgpIHtcclxuICAvLyAgICAgICAgICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IHRydWVcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IFtdXHJcbiAgLy8gICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwXHJcbiAgLy8gICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgfSwgZXJyb3IgPT4ge1xyXG4gIC8vICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IFtdXHJcbiAgLy8gICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcclxuICAvLyAgICAgfSk7XHJcbiAgLy8gfVxyXG4gIC8vIGdldEFwcHJvdmVkRGF0YSgpOiB2b2lkIHtcclxuICAvLyAgIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSB0cnVlO1xyXG4gIC8vICAgdGhpcy5hcHByb3ZlZExvYWRpbmcgPSB0cnVlO1xyXG4gIC8vICAgdGhpcy5hcHByb3ZlZE5vRGF0YSA9IHRydWU7XHJcbiAgLy8gICBjb25zdCByZXF1ZXN0RGF0YSA9IHtcclxuICAvLyAgICAgZGF0ZTogXCIyMDI0LTEyLTAyXCIsXHJcbiAgLy8gICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckRhdGEuZGF0ZS5zdGFydERhdGUsXHJcbiAgLy8gICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuZW5kRGF0ZSxcclxuICAvLyAgICAgc3RvcmVJZDogdGhpcy5oZWFkZXJEYXRhLnN0b3Jlcy5maWx0ZXIoKHN0b3JlOmFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTphbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gIC8vICAgICBjbGllbnRJZDp0aGlzLmhlYWRlckRhdGEuY2xpZW50LFxyXG4gIC8vICAgICAvLyBsaW1pdDogdGhpcy5pdGVtc1BlclBhZ2UsICAgICAgICAgICAgICAgICBcclxuICAvLyAgICAgLy8gb2Zmc2V0OiB0aGlzLmN1cnJlbnRQYWdlIC0gMSxcclxuICAvLyAgICAgc29ydEJ5OiB0aGlzLnNvcnREaXJlY3Rpb24sXHJcbiAgLy8gICAgIHNvcnRDb2x1bW5OYW1lOiB0aGlzLnNvcnRDb2x1bU5hbWUsXHJcbiAgLy8gICAgIHNlYXJjaFZhbHVlOiB0aGlzLnNlYXJjaElucHV0LFxyXG4gIC8vICAgICBmaWx0ZXI6IFwiXCIsXHJcbiAgLy8gICAgIHR5cGU6ICdhbGwnXHJcbiAgLy8gICB9O1xyXG5cclxuICAvLyAgIHRoaXMuVHJheFNlcnZpY2UuZ2V0QXBwcm92YWxEYXRhKHJlcXVlc3REYXRhKVxyXG4gIC8vICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgLy8gICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAvLyAgICAgICB0aGlzLmFwcHJvdmVkTG9hZGluZyA9IGZhbHNlO1xyXG4gIC8vICAgICAgIGlmIChyZXNwb25zZT8uY29kZSA9PT0gMjAwICYmIHJlc3BvbnNlPy5zdGF0dXMgPT09IFwic3VjY2Vzc1wiKSB7XHJcbiAgLy8gICAgICAgICB0aGlzLkFwcHJvdmFsTGlzdERhdGEgPSByZXNwb25zZS5kYXRhLmRvbmUgfHwgW107XHJcbiAgLy8gICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSByZXNwb25zZS5kYXRhLnRvdGFsQ291bnRcclxuICAvLyAgICAgICAgIHRoaXMuc2V0UGFnaW5hdGlvblNpemVzKClcclxuICAvLyAgICAgICAgIHRoaXMuYXBwcm92ZWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgLy8gICAgICAgICB0aGlzLmFwcHJvdmVkTm9EYXRhID0gZmFsc2U7XHJcbiAgLy8gICAgICAgICB0aGlzLnNlYXJjaERpc2FibGVkID0gZmFsc2U7XHJcbiAgLy8gICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgIGNvbnNvbGUubG9nKFwiZWxzZVwiKTtcclxuICAgICAgICAgIFxyXG4gIC8vICAgICAgICAgdGhpcy5BcHByb3ZhbExpc3REYXRhID0gW107XHJcbiAgLy8gICAgICAgICB0aGlzLmFwcHJvdmVkTG9hZGluZyA9IGZhbHNlO1xyXG4gIC8vICAgICAgICAgdGhpcy5hcHByb3ZlZE5vRGF0YSA9IHRydWU7XHJcbiAgLy8gICAgICAgICB0aGlzLnNlYXJjaERpc2FibGVkID0gdHJ1ZTtcclxuICAvLyAgICAgICAgIGlmICh0aGlzLnNlYXJjaElucHV0Py5sZW5ndGgpIHtcclxuICAvLyAgICAgICAgICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IHRydWVcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IFtdXHJcbiAgLy8gICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwXHJcbiAgLy8gICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgfSwgZXJyb3IgPT4ge1xyXG4gIC8vICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IFtdXHJcbiAgLy8gICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcclxuICAvLyAgICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICBvblZhbHVlQ2hhbmdlU3RhdHVzU2VsZWN0KGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgICAgdGhpcy5zZWFyY2hWYWx1ZSA9IFwiXCIsXHJcbiAgICB0aGlzLnNlbGVjdGVkU3RhdHVzID0gdGhpcy5zdGF0dXNzZWxlY3RDb250cm9sLmZpbmQoaXRlbSA9PiBpdGVtLl9pZCA9PT0gZXZlbnQpO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRTdGF0dXMpIHtcclxuICAgICAgdGhpcy5pc1Rhc2tTZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWRTdGF0dXMuX2lkID09PSAndGFzayc7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkbGlzdHNlbGVjdENvbnRyb2wudmFsdWUgPT09IFwiYWxsXCIpIHtcclxuICAgICAgICB0aGlzLnByaW9yaXR5VHlwZSA9IFtdXHJcbiAgICAgIH1cclxuICAgICAgLy8gdGhpcy5zZWxlY3RlZGxpc3RzZWxlY3RDb250cm9sLnNldFZhbHVlKFwiXCIsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTsgXHJcbiAgICAgIFxyXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgdGhpcy5nZXRBcHByb3ZhbE9wZW5EYXRhKCk7XHJcbiAgICB9IFxyXG4gIH1cclxuICBzZWFyY2hGaWVsZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaGVhZGVyRGF0YS5zZWFyY2ggPSB0aGlzLnNlYXJjaElucHV0O1xyXG4gICAgLy8gdGhpcy5oZWFkZXJEYXRhLmV4cG9ydCA9IGZhbHNlO1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XHJcbiAgICB0aGlzLnBhZ2VTaXplID0gMTA7XHJcbiAgICB0aGlzLmdldEFwcHJvdmFsT3BlbkRhdGEoKTtcclxuICB9XHJcbiAgc2V0UGFnaW5hdGlvblNpemVzKCkge1xyXG4gICAgaWYgKHRoaXMudG90YWxJdGVtcyA+IDEwKSB7XHJcbiAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gWzEwLCAyMCwgMzBdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXMgPSBbdGhpcy50b3RhbEl0ZW1zXTtcclxuICAgICAgdGhpcy5wYWdlU2l6ZSA9IHRoaXMudG90YWxJdGVtcztcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxuXHJcbiAgYXBwbHlGaWx0ZXJzKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmIChldmVudD8ubGVuZ3RoKSB7XHJcbiAgICAgIGV2ZW50LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChlbGVtZW50LkRlc2NyaXB0aW9uID09PSAnUHJpb3JpdHknKSB7XHJcbiAgICAgICAgICB0aGlzLnByaW9yaXR5VHlwZSA9IGVsZW1lbnQuSXNzdWVzLm1hcCgodmFsOiBhbnkpID0+IHZhbC5pZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucHJpb3JpdHlUeXBlID0gW107XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldEFwcHJvdmFsT3BlbkRhdGEoKTtcclxuICB9XHJcbiAgb3Blbm5hdmlnYXRlVG9HYWxsZXJ5KG9wZW46IGFueSk6IHZvaWQge1xyXG4gICAgbGV0IGZvcm1hdHRlZERhdGUgPSBkYXlqcyhvcGVuLnB1Ymxpc2hEYXRlKS5mb3JtYXQoJ1lZWVktTU0tREQnKVxyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbWFuYWdlL3RyYXgvZ2FsbGVyeSddLCB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7XHJcbiAgICAgICAgQ2hlY2tsaXN0RGF0ZTpmb3JtYXR0ZWREYXRlLFxyXG4gICAgICAgIC8vIHN0b3JlSWQ6IG9wZW4uc3RvcmVfaWQsXHJcbiAgICAgICAgY2hlY2tsaXN0VHlwZTogb3Blbi5jaGVja0xpc3RUeXBlLFxyXG4gICAgICAgIGNoZWNrbGlzdElkOiBvcGVuLnNvdXJjZUNoZWNrbGlzdElkLFxyXG4gICAgICB9LFxyXG4gICAgICBcclxuICAgIH0pO1xyXG4gIH1cclxuICBpbnByb2dyZXNzbmF2aWdhdGVUb0dhbGxlcnkoaW5wcm9ncmVzczogYW55KTogdm9pZCB7XHJcbiAgICBsZXQgZm9ybWF0dGVkRGF0ZSA9IGRheWpzKGlucHJvZ3Jlc3MucHVibGlzaERhdGUpLmZvcm1hdCgnWVlZWS1NTS1ERCcpXHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9tYW5hZ2UvdHJheC9nYWxsZXJ5J10sIHtcclxuICAgICAgcXVlcnlQYXJhbXM6IHtcclxuICAgICAgICBDaGVja2xpc3REYXRlOmZvcm1hdHRlZERhdGUsXHJcbiAgICAgICAgLy8gc3RvcmVJZDogb3Blbi5zdG9yZV9pZCxcclxuICAgICAgICBjaGVja2xpc3RUeXBlOiBpbnByb2dyZXNzLmNoZWNrTGlzdFR5cGUsXHJcbiAgICAgICAgY2hlY2tsaXN0SWQ6IGlucHJvZ3Jlc3Muc291cmNlQ2hlY2tsaXN0SWQsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgZG9uZW5hdmlnYXRlVG9HYWxsZXJ5KGRvbmU6IGFueSk6IHZvaWQge1xyXG4gICAgbGV0IGZvcm1hdHRlZERhdGUgPSBkYXlqcyhkb25lLnB1Ymxpc2hEYXRlKS5mb3JtYXQoJ1lZWVktTU0tREQnKVxyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbWFuYWdlL3RyYXgvZ2FsbGVyeSddLCB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7XHJcbiAgICAgICAgQ2hlY2tsaXN0RGF0ZTpmb3JtYXR0ZWREYXRlLFxyXG4gICAgICAgIC8vIHN0b3JlSWQ6IG9wZW4uc3RvcmVfaWQsXHJcbiAgICAgICAgY2hlY2tsaXN0VHlwZTogZG9uZS5jaGVja0xpc3RUeXBlLFxyXG4gICAgICAgIGNoZWNrbGlzdElkOiBkb25lLnNvdXJjZUNoZWNrbGlzdElkLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufSIsIjxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uY2FyZCBteS0zIG14LTNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb25jb3VudFwiPiB7eyBvdmVyYWxsQ2FyZHNEYXRhLmNoZWNrbGlzdEFwcHJvdmFsPy5jb3VudCAhPT1udWxsID9cclxuICAgICAgICAgICAgICBvdmVyYWxsQ2FyZHNEYXRhLmNoZWNrbGlzdEFwcHJvdmFsPy5jb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDogJy0tJyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb250ZXh0IG14LTUgbXQtM1wiPkNoZWNrbGlzdCB3YWl0aW5nIGZvclxyXG4gICAgICAgICAgICAgIGFwcHJvdmFsPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uY2FyZCBteS0zIG14LTNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb25jb3VudFwiPiB7eyBvdmVyYWxsQ2FyZHNEYXRhLnRhc2tBcHByb3ZhbD8uY291bnQgIT09bnVsbCA/XHJcbiAgICAgICAgICAgICAgb3ZlcmFsbENhcmRzRGF0YS50YXNrQXBwcm92YWw/LmNvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOiAnLS0nIH19PC9zcGFuPiA8c3BhbiBjbGFzcz1cImFjdGlvbnRleHQgbXgtNSBtdC0zXCI+VGFzayB3YWl0aW5nIGZvclxyXG4gICAgICAgICAgICAgIGFwcHJvdmFsPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJyb3cgbS0wIG15LTNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTJcIj5BcHByb3ZhbDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zdWIgbWItMlwiPkFuIFN1bW1hcnkgb2YgYWxsIHRoZSBjaGVja2xpc3RzIGF3YWl0aW5nIGFwcHJvdmFsXHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9oMz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyICBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTQgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxyZWN0IG9wYWNpdHk9XCIwLjVcIiB4PVwiMTcuMDM2NVwiIHk9XCIxNS4xMjIzXCIgd2lkdGg9XCI4LjE1NTQ2XCIgaGVpZ2h0PVwiMlwiIHJ4PVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlKDQ1IDE3LjAzNjUgMTUuMTIyMylcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICBkPVwiTTExIDE5QzYuNTU1NTYgMTkgMyAxNS40NDQ0IDMgMTFDMyA2LjU1NTU2IDYuNTU1NTYgMyAxMSAzQzE1LjQ0NDQgMyAxOSA2LjU1NTU2IDE5IDExQzE5IDE1LjQ0NDQgMTUuNDQ0NCAxOSAxMSAxOVpNMTEgNUM3LjUzMzMzIDUgNSA3LjUzMzMzIDUgMTFDNSAxNC40NjY3IDcuNTMzMzMgMTcgMTEgMTdDMTQuNDY2NyAxNyAxNyAxNC40NjY3IDE3IDExQzE3IDcuNTMzMzMgMTQuNDY2NyA1IDExIDVaXCJcclxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwhLS0gW2Rpc2FibGVkXT1cInNlYXJjaERpc2FibGVkXCIgLS0+XHJcbiAgICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwic2VhcmNoSW5wdXRcIiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHctNDAwcHggcHMtMTQgbXQtMSBtZS0zXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgKGtleXVwLmVudGVyKT1cInNlYXJjaEZpZWxkKClcIiAvPlxyXG4gICAgICAgICAgICAgIDxsaWItZmlsdGVycyAqbmdJZj1cImlzVGFza1NlbGVjdGVkXCIgY2xhc3M9XCJtZS0zIG10LTFcIiBbZGF0YU9iamVjdF09XCJkYXRhT2JqZWN0XCJcclxuICAgICAgICAgICAgICAgIChhcHBsaWVkRmlsdGVycyk9XCJhcHBseUZpbHRlcnMoJGV2ZW50KVwiPjwvbGliLWZpbHRlcnM+XHJcblxyXG4gICAgICAgICAgICAgIDxmb3JtIGNsYXNzPVwibXQtMSBib3JkZXJsZXNzLXNlbGVjdFwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3QgW2Zvcm1Db250cm9sXT1cInNlbGVjdGVkbGlzdHNlbGVjdENvbnRyb2xcIiBbaWRGaWVsZF09XCInX2lkJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiXHJcbiAgICAgICAgICAgICAgICAgIFtkYXRhXT1cInN0YXR1c3NlbGVjdENvbnRyb2xcIiBjbGFzcz1cInctMjAwcHhcIiAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZVN0YXR1c1NlbGVjdCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTUgNy41TDEwIDEyLjVMMTUgNy41XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8L2xpYi1yZWFjdGl2ZS1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcC0zXCI+XHJcbiAgICAgICAgICA8IS0tIG9wZW4gY2FyZCBzdGFydCAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWxjYXJkXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGQtZmxleCBmbGV4LWNvbHVtbiBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS10ZXh0XCI+T3BlbiA8c3BhbiAqbmdJZj1cIk9wZW5BcHByb3ZhbExpc3REYXRhLmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIGJhZGdlLWxpZ2h0LWRlZmF1bHQgbXgtMlwiPiB7e09wZW5BcHByb3ZhbExpc3REYXRhLmxlbmd0aH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyICBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxN1wiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNyAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTguNjY2NjcgMy4zMzMyNVYxMi42NjY2TTguNjY2NjcgMTIuNjY2NkwxMy4zMzMzIDcuOTk5OTJNOC42NjY2NyAxMi42NjY2TDQgNy45OTk5MlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFhcHByb3ZhbE9wZW5Mb2FkaW5nICYmICFhcHByb3ZhbE9wZW5Ob0RhdGFcIiBjbGFzcz1cInAtNSBjYXJkc2Nyb2xsXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBvcGVuIG9mIE9wZW5BcHByb3ZhbExpc3REYXRhXCIgKGNsaWNrKT1cIm9wZW5uYXZpZ2F0ZVRvR2FsbGVyeShvcGVuKVwiIGNsYXNzPVwiYXBwcm92YWxib2R5IG1iLTQgY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5ndGV4dCBkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7IG9wZW4uY2hlY2tMaXN0TmFtZSB8fCAnLS0nIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm9wZW4udGFza1R5cGUgPT09ICdyZWRvJ1wiIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtYmx1ZSBteC0xIG10LTFcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNTExOV81NTc2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMS41IDIuMDAwMDRWNS4wMDAwNE0xMS41IDUuMDAwMDRIOC41TTExLjUgNS4wMDAwNEw5LjE4IDIuODIwMDRDOC42NDI2MyAyLjI4MjM5IDcuOTc3ODEgMS44ODk2NCA3LjI0NzYgMS42Nzg0MkM2LjUxNzM4IDEuNDY3MjEgNS43NDU1NSAxLjQ0NDQxIDUuMDA0MTQgMS42MTIxN0M0LjI2MjczIDEuNzc5OTIgMy41NzU5IDIuMTMyNzUgMy4wMDc3MyAyLjYzNzc1QzIuNDM5NTcgMy4xNDI3NCAyLjAwODU4IDMuNzgzNDMgMS43NTUgNC41MDAwNE0wLjUgMTBWNy4wMDAwNE0wLjUgNy4wMDAwNEgzLjVNMC41IDcuMDAwMDRMMi44MiA5LjE4MDA0QzMuMzU3MzcgOS43MTc2OCA0LjAyMjE5IDEwLjExMDQgNC43NTI0IDEwLjMyMTdDNS40ODI2MiAxMC41MzI5IDYuMjU0NDUgMTAuNTU1NyA2Ljk5NTg2IDEwLjM4NzlDNy43MzcyNyAxMC4yMjAyIDguNDI0MSA5Ljg2NzMyIDguOTkyMjcgOS4zNjIzM0M5LjU2MDQzIDguODU3MzQgOS45OTE0MiA4LjIxNjY0IDEwLjI0NSA3LjUwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzJFOTBGQVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNTExOV81NTc2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+e3sgb3Blbi5jaGVja0xpc3RUeXBlID09PSAnY3VzdG9tJyA/ICdDaGVja2xpc3QnIDogKChvcGVuLmNoZWNrTGlzdFR5cGUgfCB0aXRsZWNhc2UpIHx8ICctLScpIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJvcGVuLmNoZWNrTGlzdFR5cGUgJiYgb3Blbi5jaGVja0xpc3RUeXBlICE9PSAncmVkbydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhdGUtc3ViIG14LTEgYmFkZ2UgYmFkZ2UtbGlnaHQtdmlvbGV0IG10LTFcIj4ge3sgb3Blbi5jaGVja0xpc3RUeXBlID09PSAnY3VzdG9tJyA/ICdDaGVja2xpc3QnIDogKChvcGVuLmNoZWNrTGlzdFR5cGUgfCB0aXRsZWNhc2UpIHx8ICctLScpIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0XCI+U3RvcmUgQmFzZWQ8L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvcGVuPy5wcmlvcml0eVR5cGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgdGV4dC1lbmRcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LWRhbmdlcic6IG9wZW4ucHJpb3JpdHlUeXBlID09PSAnaGlnaCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LWJsdWUnOiBvcGVuLnByaW9yaXR5VHlwZSA9PT0gJ21lZGl1bScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXdhcm5pbmcnOiBvcGVuLnByaW9yaXR5VHlwZSA9PT0gJ2xvdydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBvcGVuLnByaW9yaXR5VHlwZSB8IHRpdGxlY2FzZSB9fSBQcmlvcml0eVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzM0NiAxNFYxMi42NjY3QzEzLjMzNDYgMTEuOTU5NCAxMy4wNTM3IDExLjI4MTEgMTIuNTUzNiAxMC43ODFDMTIuMDUzNSAxMC4yODEgMTEuMzc1MiAxMCAxMC42NjggMTBINS4zMzQ2NEM0LjYyNzM5IDEwIDMuOTQ5MTEgMTAuMjgxIDMuNDQ5MDIgMTAuNzgxQzIuOTQ4OTIgMTEuMjgxMSAyLjY2Nzk3IDExLjk1OTQgMi42Njc5NyAxMi42NjY3VjE0TTEwLjY2OCA0LjY2NjY3QzEwLjY2OCA2LjEzOTQzIDkuNDc0MDYgNy4zMzMzMyA4LjAwMTMgNy4zMzMzM0M2LjUyODU0IDcuMzMzMzMgNS4zMzQ2NCA2LjEzOTQzIDUuMzM0NjQgNC42NjY2N0M1LjMzNDY0IDMuMTkzOTEgNi41Mjg1NCAyIDguMDAxMyAyQzkuNDc0MDYgMiAxMC42NjggMy4xOTM5MSAxMC42NjggNC42NjY2N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJjYXJkc3VidGV4dCBtcy0yIG1lLTRcIj4ge3sgb3Blbi5jcmVhdGVkQnlOYW1lIHx8ICctLScgfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIgM0gxMy41QzEzLjg5NzggMyAxNC4yNzk0IDMuMTU4MDQgMTQuNTYwNyAzLjQzOTM0QzE0Ljg0MiAzLjcyMDY0IDE1IDQuMTAyMTggMTUgNC41VjE1QzE1IDE1LjM5NzggMTQuODQyIDE1Ljc3OTQgMTQuNTYwNyAxNi4wNjA3QzE0LjI3OTQgMTYuMzQyIDEzLjg5NzggMTYuNSAxMy41IDE2LjVINC41QzQuMTAyMTggMTYuNSAzLjcyMDY0IDE2LjM0MiAzLjQzOTM0IDE2LjA2MDdDMy4xNTgwNCAxNS43Nzk0IDMgMTUuMzk3OCAzIDE1VjQuNUMzIDQuMTAyMTggMy4xNTgwNCAzLjcyMDY0IDMuNDM5MzQgMy40MzkzNEMzLjcyMDY0IDMuMTU4MDQgNC4xMDIxOCAzIDQuNSAzSDZNNi43NSAxLjVIMTEuMjVDMTEuNjY0MiAxLjUgMTIgMS44MzU3OSAxMiAyLjI1VjMuNzVDMTIgNC4xNjQyMSAxMS42NjQyIDQuNSAxMS4yNSA0LjVINi43NUM2LjMzNTc5IDQuNSA2IDQuMTY0MjEgNiAzLjc1VjIuMjVDNiAxLjgzNTc5IDYuMzM1NzkgMS41IDYuNzUgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cImNhcmRzdWJ0ZXh0IG1zLTIgbWUtNFwiPnt7IG9wZW4uc3VibWl0Q291bnQgIT09bnVsbCA/IG9wZW4uc3VibWl0Q291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19IC8ge3sgb3Blbi5zdG9yZUNvdW50ICE9PW51bGwgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGVuLnN0b3JlQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm9wZW4uY2hlY2tMaXN0VHlwZSA9PT0gJ2N1c3RvbSdcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDEuNVY0LjVNNiAxLjVWNC41TTIuMjUgNy41SDE1Ljc1TTMuNzUgM0gxNC4yNUMxNS4wNzg0IDMgMTUuNzUgMy42NzE1NyAxNS43NSA0LjVWMTVDMTUuNzUgMTUuODI4NCAxNS4wNzg0IDE2LjUgMTQuMjUgMTYuNUgzLjc1QzIuOTIxNTcgMTYuNSAyLjI1IDE1LjgyODQgMi4yNSAxNVY0LjVDMi4yNSAzLjY3MTU3IDIuOTIxNTcgMyAzLjc1IDNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwiY2FyZHN1YnRleHQgbXMtMiBtZS00XCI+UmVwZWF0cyB7eyBvcGVuLnNjaGVkdWxlUmVwZWF0ZWRUeXBlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgb3Blbi5zY2hlZHVsZVJlcGVhdGVkVHlwZS50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICctLScgfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1zLTEgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNTExOV8zMTc4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC0xLWluc2lkZS0xXzUxMTlfMzE3OFwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTYuMTMwNTUgMC4wMDE0MjA0OUM1LjI1NzU3IC0wLjAxNzU3NzggNC4zOTA5NyAwLjE1NDE5MiAzLjU5MTI1IDAuNTA0NzM4QzIuNzkxNTIgMC44NTUyODQgMi4wNzc5NSAxLjM3NjE2IDEuNTAwMzQgMi4wMzA5OUMwLjkyMjcyNiAyLjY4NTgzIDAuNDk1MDA1IDMuNDU4ODUgMC4yNDcwMzMgNC4yOTYwOEMtMC4wMDA5Mzk1MzMgNS4xMzMzIC0wLjA2MzE4NjEgNi4wMTQ1NyAwLjA2NDYzODggNi44NzgzNEMwLjE5MjQ2NCA3Ljc0MjEyIDAuNTA3Mjc5IDguNTY3NTggMC45ODcxMDcgOS4yOTcxMUMxLjQ2NjkzIDEwLjAyNjYgMi4xMDAyMSAxMC42NDI2IDIuODQyNzIgMTEuMTAyMUMzLjU4NTIzIDExLjU2MTYgNC40MTkwOCAxMS44NTM1IDUuMjg2MDYgMTEuOTU3NEM2LjE1MzAzIDEyLjA2MTMgNy4wMzIyNCAxMS45NzQ3IDcuODYyMyAxMS43MDM3QzguMDA0MTIgMTEuNjU3MyA4LjEyMTczIDExLjU1NjUgOC4xODkyNCAxMS40MjM1QzguMjU2NzUgMTEuMjkwNCA4LjI2ODY0IDExLjEzNiA4LjIyMjMgMTAuOTk0MkM4LjE3NTk1IDEwLjg1MjMgOC4wNzUxNiAxMC43MzQ3IDcuOTQyMSAxMC42NjcyQzcuODA5MDUgMTAuNTk5NyA3LjY1NDYyIDEwLjU4NzggNy41MTI4IDEwLjYzNDJDNi42MTA3NyAxMC45Mjg3IDUuNjQyNCAxMC45NTM2IDQuNzI2NDQgMTAuNzA1OEMzLjgxMDQ4IDEwLjQ1OCAyLjk4Njc1IDkuOTQ4MjUgMi4zNTYyNyA5LjIzOTFDMS43MjU4IDguNTI5OTUgMS4zMTU5OCA3LjY1MjIxIDEuMTc3MDkgNi43MTM1NEMxLjAzODIgNS43NzQ4NyAxLjE3NjI3IDQuODE2MDcgMS41NzQzNiAzLjk1NDczQzEuOTcyNDYgMy4wOTMzOCAyLjYxMzI3IDIuMzY2OTQgMy40MTgyMiAxLjg2NDQ5QzQuMjIzMTcgMS4zNjIwNCA1LjE1NzI1IDEuMTA1NDMgNi4xMDU5MiAxLjEyNjEzQzcuMDU0NTggMS4xNDY4MyA3Ljk3NjU5IDEuNDQzOTMgOC43NTg4NSAxLjk4MTAxQzkuNTQxMTIgMi41MTgwOSAxMC4xNDk2IDMuMjcxNzggMTAuNTA5OCA0LjE0OTY3QzEwLjU2NjQgNC4yODc3MiAxMC42NzU1IDQuMzk3NjMgMTAuODEzMSA0LjQ1NTIyQzEwLjg4MTMgNC40ODM3NCAxMC45NTQ0IDQuNDk4NTYgMTEuMDI4MiA0LjQ5ODgzQzExLjEwMjEgNC40OTkxIDExLjE3NTMgNC40ODQ4MiAxMS4yNDM3IDQuNDU2OEMxMS4zMTIgNC40Mjg3OCAxMS4zNzQyIDQuMzg3NTcgMTEuNDI2NiA0LjMzNTUyQzExLjQ3OSA0LjI4MzQ3IDExLjUyMDcgNC4yMjE2MSAxMS41NDkyIDQuMTUzNDdDMTEuNTc3NyA0LjA4NTMyIDExLjU5MjYgNC4wMTIyMiAxMS41OTI4IDMuOTM4MzVDMTEuNTkzMSAzLjg2NDQ4IDExLjU3ODggMy43OTEyNyAxMS41NTA4IDMuNzIyOTJDMTEuMTA3NiAyLjY0MjM5IDEwLjM1ODYgMS43MTQ3IDkuMzk1OCAxLjA1MzY1QzguNDMyOTkgMC4zOTI1ODcgNy4yOTgxNyAwLjAyNjg5NDYgNi4xMzA1NSAwLjAwMTQyMDQ5Wk02LjU2MTggMi44MTI0MkM2LjU2MTggMi42NjMyNCA2LjUwMjUzIDIuNTIwMTYgNi4zOTcwNCAyLjQxNDY3QzYuMjkxNTUgMi4zMDkxOCA2LjE0ODQ4IDIuMjQ5OTIgNS45OTkzIDIuMjQ5OTJDNS44NTAxMSAyLjI0OTkyIDUuNzA3MDQgMi4zMDkxOCA1LjYwMTU1IDIuNDE0NjdDNS40OTYwNiAyLjUyMDE2IDUuNDM2OCAyLjY2MzI0IDUuNDM2OCAyLjgxMjQyVjUuNzY3NDJMMy45MTEzIDcuMjkyMTdDMy44NTYwMyA3LjM0MzY3IDMuODExNyA3LjQwNTc3IDMuNzgwOTYgNy40NzQ3N0MzLjc1MDIyIDcuNTQzNzcgMy43MzM2OCA3LjYxODI1IDMuNzMyMzUgNy42OTM3OEMzLjczMTAyIDcuNzY5MzEgMy43NDQ5MSA3Ljg0NDMzIDMuNzczMiA3LjkxNDM3QzMuODAxNDkgNy45ODQ0MSAzLjg0MzYgOC4wNDgwNCAzLjg5NzAyIDguMTAxNDVDMy45NTA0MyA4LjE1NDg2IDQuMDE0MDYgOC4xOTY5NyA0LjA4NDEgOC4yMjUyNkM0LjE1NDE0IDguMjUzNTUgNC4yMjkxNiA4LjI2NzQ1IDQuMzA0NjkgOC4yNjYxMkM0LjM4MDIxIDguMjY0NzggNC40NTQ3IDguMjQ4MjUgNC41MjM3IDguMjE3NTFDNC41OTI3IDguMTg2NzYgNC42NTQ4IDguMTQyNDQgNC43MDYzIDguMDg3MTdMNi4zOTY4IDYuMzk3NDJMNi41NjE4IDYuMjMyNDJWMi44MTI0MlpNMTEuMjQ5MyAxMS4yNDk5QzExLjI0OTMgMTEuNDQ4OCAxMS4xNzAzIDExLjYzOTYgMTEuMDI5NiAxMS43ODAzQzEwLjg4OSAxMS45MjA5IDEwLjY5ODIgMTEuOTk5OSAxMC40OTkzIDExLjk5OTlDMTAuMzAwNCAxMS45OTk5IDEwLjEwOTYgMTEuOTIwOSA5Ljk2ODk3IDExLjc4MDNDOS44MjgzMSAxMS42Mzk2IDkuNzQ5MyAxMS40NDg4IDkuNzQ5MyAxMS4yNDk5QzkuNzQ5MyAxMS4wNTEgOS44MjgzMSAxMC44NjAyIDkuOTY4OTcgMTAuNzE5NkMxMC4xMDk2IDEwLjU3ODkgMTAuMzAwNCAxMC40OTk5IDEwLjQ5OTMgMTAuNDk5OUMxMC42OTgyIDEwLjQ5OTkgMTAuODg5IDEwLjU3ODkgMTEuMDI5NiAxMC43MTk2QzExLjE3MDMgMTAuODYwMiAxMS4yNDkzIDExLjA1MSAxMS4yNDkzIDExLjI0OTlaTTExLjA2MTggNi41NjI0MkMxMS4wNjE4IDYuNDEzMjQgMTEuMDAyNSA2LjI3MDE2IDEwLjg5NyA2LjE2NDY3QzEwLjc5MTYgNi4wNTkxOSAxMC42NDg1IDUuOTk5OTIgMTAuNDk5MyA1Ljk5OTkyQzEwLjM1MDEgNS45OTk5MiAxMC4yMDcgNi4wNTkxOSAxMC4xMDE1IDYuMTY0NjdDOS45OTYwNiA2LjI3MDE2IDkuOTM2OCA2LjQxMzI0IDkuOTM2OCA2LjU2MjQyVjkuMTg3NDJDOS45MzY4IDkuMzM2NjEgOS45OTYwNiA5LjQ3OTY4IDEwLjEwMTUgOS41ODUxN0MxMC4yMDcgOS42OTA2NiAxMC4zNTAxIDkuNzQ5OTIgMTAuNDk5MyA5Ljc0OTkyQzEwLjY0ODUgOS43NDk5MiAxMC43OTE2IDkuNjkwNjYgMTAuODk3IDkuNTg1MTdDMTEuMDAyNSA5LjQ3OTY4IDExLjA2MTggOS4zMzY2MSAxMS4wNjE4IDkuMTg3NDJWNi41NjI0MlpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTYuMTMwNTUgMC4wMDE0MjA0OUM1LjI1NzU3IC0wLjAxNzU3NzggNC4zOTA5NyAwLjE1NDE5MiAzLjU5MTI1IDAuNTA0NzM4QzIuNzkxNTIgMC44NTUyODQgMi4wNzc5NSAxLjM3NjE2IDEuNTAwMzQgMi4wMzA5OUMwLjkyMjcyNiAyLjY4NTgzIDAuNDk1MDA1IDMuNDU4ODUgMC4yNDcwMzMgNC4yOTYwOEMtMC4wMDA5Mzk1MzMgNS4xMzMzIC0wLjA2MzE4NjEgNi4wMTQ1NyAwLjA2NDYzODggNi44NzgzNEMwLjE5MjQ2NCA3Ljc0MjEyIDAuNTA3Mjc5IDguNTY3NTggMC45ODcxMDcgOS4yOTcxMUMxLjQ2NjkzIDEwLjAyNjYgMi4xMDAyMSAxMC42NDI2IDIuODQyNzIgMTEuMTAyMUMzLjU4NTIzIDExLjU2MTYgNC40MTkwOCAxMS44NTM1IDUuMjg2MDYgMTEuOTU3NEM2LjE1MzAzIDEyLjA2MTMgNy4wMzIyNCAxMS45NzQ3IDcuODYyMyAxMS43MDM3QzguMDA0MTIgMTEuNjU3MyA4LjEyMTczIDExLjU1NjUgOC4xODkyNCAxMS40MjM1QzguMjU2NzUgMTEuMjkwNCA4LjI2ODY0IDExLjEzNiA4LjIyMjMgMTAuOTk0MkM4LjE3NTk1IDEwLjg1MjMgOC4wNzUxNiAxMC43MzQ3IDcuOTQyMSAxMC42NjcyQzcuODA5MDUgMTAuNTk5NyA3LjY1NDYyIDEwLjU4NzggNy41MTI4IDEwLjYzNDJDNi42MTA3NyAxMC45Mjg3IDUuNjQyNCAxMC45NTM2IDQuNzI2NDQgMTAuNzA1OEMzLjgxMDQ4IDEwLjQ1OCAyLjk4Njc1IDkuOTQ4MjUgMi4zNTYyNyA5LjIzOTFDMS43MjU4IDguNTI5OTUgMS4zMTU5OCA3LjY1MjIxIDEuMTc3MDkgNi43MTM1NEMxLjAzODIgNS43NzQ4NyAxLjE3NjI3IDQuODE2MDcgMS41NzQzNiAzLjk1NDczQzEuOTcyNDYgMy4wOTMzOCAyLjYxMzI3IDIuMzY2OTQgMy40MTgyMiAxLjg2NDQ5QzQuMjIzMTcgMS4zNjIwNCA1LjE1NzI1IDEuMTA1NDMgNi4xMDU5MiAxLjEyNjEzQzcuMDU0NTggMS4xNDY4MyA3Ljk3NjU5IDEuNDQzOTMgOC43NTg4NSAxLjk4MTAxQzkuNTQxMTIgMi41MTgwOSAxMC4xNDk2IDMuMjcxNzggMTAuNTA5OCA0LjE0OTY3QzEwLjU2NjQgNC4yODc3MiAxMC42NzU1IDQuMzk3NjMgMTAuODEzMSA0LjQ1NTIyQzEwLjg4MTMgNC40ODM3NCAxMC45NTQ0IDQuNDk4NTYgMTEuMDI4MiA0LjQ5ODgzQzExLjEwMjEgNC40OTkxIDExLjE3NTMgNC40ODQ4MiAxMS4yNDM3IDQuNDU2OEMxMS4zMTIgNC40Mjg3OCAxMS4zNzQyIDQuMzg3NTcgMTEuNDI2NiA0LjMzNTUyQzExLjQ3OSA0LjI4MzQ3IDExLjUyMDcgNC4yMjE2MSAxMS41NDkyIDQuMTUzNDdDMTEuNTc3NyA0LjA4NTMyIDExLjU5MjYgNC4wMTIyMiAxMS41OTI4IDMuOTM4MzVDMTEuNTkzMSAzLjg2NDQ4IDExLjU3ODggMy43OTEyNyAxMS41NTA4IDMuNzIyOTJDMTEuMTA3NiAyLjY0MjM5IDEwLjM1ODYgMS43MTQ3IDkuMzk1OCAxLjA1MzY1QzguNDMyOTkgMC4zOTI1ODcgNy4yOTgxNyAwLjAyNjg5NDYgNi4xMzA1NSAwLjAwMTQyMDQ5Wk02LjU2MTggMi44MTI0MkM2LjU2MTggMi42NjMyNCA2LjUwMjUzIDIuNTIwMTYgNi4zOTcwNCAyLjQxNDY3QzYuMjkxNTUgMi4zMDkxOCA2LjE0ODQ4IDIuMjQ5OTIgNS45OTkzIDIuMjQ5OTJDNS44NTAxMSAyLjI0OTkyIDUuNzA3MDQgMi4zMDkxOCA1LjYwMTU1IDIuNDE0NjdDNS40OTYwNiAyLjUyMDE2IDUuNDM2OCAyLjY2MzI0IDUuNDM2OCAyLjgxMjQyVjUuNzY3NDJMMy45MTEzIDcuMjkyMTdDMy44NTYwMyA3LjM0MzY3IDMuODExNyA3LjQwNTc3IDMuNzgwOTYgNy40NzQ3N0MzLjc1MDIyIDcuNTQzNzcgMy43MzM2OCA3LjYxODI1IDMuNzMyMzUgNy42OTM3OEMzLjczMTAyIDcuNzY5MzEgMy43NDQ5MSA3Ljg0NDMzIDMuNzczMiA3LjkxNDM3QzMuODAxNDkgNy45ODQ0MSAzLjg0MzYgOC4wNDgwNCAzLjg5NzAyIDguMTAxNDVDMy45NTA0MyA4LjE1NDg2IDQuMDE0MDYgOC4xOTY5NyA0LjA4NDEgOC4yMjUyNkM0LjE1NDE0IDguMjUzNTUgNC4yMjkxNiA4LjI2NzQ1IDQuMzA0NjkgOC4yNjYxMkM0LjM4MDIxIDguMjY0NzggNC40NTQ3IDguMjQ4MjUgNC41MjM3IDguMjE3NTFDNC41OTI3IDguMTg2NzYgNC42NTQ4IDguMTQyNDQgNC43MDYzIDguMDg3MTdMNi4zOTY4IDYuMzk3NDJMNi41NjE4IDYuMjMyNDJWMi44MTI0MlpNMTEuMjQ5MyAxMS4yNDk5QzExLjI0OTMgMTEuNDQ4OCAxMS4xNzAzIDExLjYzOTYgMTEuMDI5NiAxMS43ODAzQzEwLjg4OSAxMS45MjA5IDEwLjY5ODIgMTEuOTk5OSAxMC40OTkzIDExLjk5OTlDMTAuMzAwNCAxMS45OTk5IDEwLjEwOTYgMTEuOTIwOSA5Ljk2ODk3IDExLjc4MDNDOS44MjgzMSAxMS42Mzk2IDkuNzQ5MyAxMS40NDg4IDkuNzQ5MyAxMS4yNDk5QzkuNzQ5MyAxMS4wNTEgOS44MjgzMSAxMC44NjAyIDkuOTY4OTcgMTAuNzE5NkMxMC4xMDk2IDEwLjU3ODkgMTAuMzAwNCAxMC40OTk5IDEwLjQ5OTMgMTAuNDk5OUMxMC42OTgyIDEwLjQ5OTkgMTAuODg5IDEwLjU3ODkgMTEuMDI5NiAxMC43MTk2QzExLjE3MDMgMTAuODYwMiAxMS4yNDkzIDExLjA1MSAxMS4yNDkzIDExLjI0OTlaTTExLjA2MTggNi41NjI0MkMxMS4wNjE4IDYuNDEzMjQgMTEuMDAyNSA2LjI3MDE2IDEwLjg5NyA2LjE2NDY3QzEwLjc5MTYgNi4wNTkxOSAxMC42NDg1IDUuOTk5OTIgMTAuNDk5MyA1Ljk5OTkyQzEwLjM1MDEgNS45OTk5MiAxMC4yMDcgNi4wNTkxOSAxMC4xMDE1IDYuMTY0NjdDOS45OTYwNiA2LjI3MDE2IDkuOTM2OCA2LjQxMzI0IDkuOTM2OCA2LjU2MjQyVjkuMTg3NDJDOS45MzY4IDkuMzM2NjEgOS45OTYwNiA5LjQ3OTY4IDEwLjEwMTUgOS41ODUxN0MxMC4yMDcgOS42OTA2NiAxMC4zNTAxIDkuNzQ5OTIgMTAuNDk5MyA5Ljc0OTkyQzEwLjY0ODUgOS43NDk5MiAxMC43OTE2IDkuNjkwNjYgMTAuODk3IDkuNTg1MTdDMTEuMDAyNSA5LjQ3OTY4IDExLjA2MTggOS4zMzY2MSAxMS4wNjE4IDkuMTg3NDJWNi41NjI0MlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImJsYWNrXCIgc3Ryb2tlPVwiYmxhY2tcIiBzdHJva2Utd2lkdGg9XCIyXCIgbWFzaz1cInVybCgjcGF0aC0xLWluc2lkZS0xXzUxMTlfMzE3OClcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzUxMTlfMzE3OFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgbXMtM1wiPnt7IG9wZW4ucHVibGlzaERhdGUgfCBkYXRlOiBcIllZWVktTU0tZGRcIiB9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzIG14LTEgbXQtMVwiPkFwcHJvdmVkIHt7IG9wZW4uc3VibWl0Q291bnQgIT09bnVsbCA/IG9wZW4uc3VibWl0Q291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICctLScgfX0gLyB7eyBvcGVuLmFwcHJvdmVDb3VudCAhPT1udWxsID9cclxuICAgICAgICAgICAgICAgICAgICAgIG9wZW4uYXBwcm92ZUNvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHByb3ZhbE9wZW5Mb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcHJvdmFsT3Blbk5vRGF0YSAmJiAhYXBwcm92YWxPcGVuTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbXktNlwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhMS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhbWFpbnRleHQgbXQtM1wiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhc3VidGV4dFwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgT3BlbiBDaGVja2xpc3RcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC00XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHByb3ZhbGNhcmRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWxoZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZC1mbGV4IGZsZXgtY29sdW1uIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXRlLXRleHRcIj5JbnByb2dyZXNzXHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJJbnByb2dyZXNzQXBwcm92YWxMaXN0RGF0YS5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0IG14LTJcIj57e0lucHJvZ3Jlc3NBcHByb3ZhbExpc3REYXRhLmxlbmd0aH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyICBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxN1wiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNyAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTguNjY2NjcgMy4zMzMyNVYxMi42NjY2TTguNjY2NjcgMTIuNjY2NkwxMy4zMzMzIDcuOTk5OTJNOC42NjY2NyAxMi42NjY2TDQgNy45OTk5MlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFhcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nICYmICFhcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGFcIiBjbGFzcz1cInAtNSBjYXJkc2Nyb2xsIGN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpbnByb2dyZXNzIG9mIElucHJvZ3Jlc3NBcHByb3ZhbExpc3REYXRhXCIgKGNsaWNrKT1cImlucHJvZ3Jlc3NuYXZpZ2F0ZVRvR2FsbGVyeShpbnByb2dyZXNzKVwiIGNsYXNzPVwiYXBwcm92YWxib2R5IG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5ndGV4dCBkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7IGlucHJvZ3Jlc3MuY2hlY2tMaXN0TmFtZSB8fCAnLS0nfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaW5wcm9ncmVzcy50YXNrVHlwZSA9PT0gJ3JlZG8nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSBiYWRnZS1saWdodC1ibHVlIG14LTEgbXQtMVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF81MTE5XzU1NzYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTExLjUgMi4wMDAwNFY1LjAwMDA0TTExLjUgNS4wMDAwNEg4LjVNMTEuNSA1LjAwMDA0TDkuMTggMi44MjAwNEM4LjY0MjYzIDIuMjgyMzkgNy45Nzc4MSAxLjg4OTY0IDcuMjQ3NiAxLjY3ODQyQzYuNTE3MzggMS40NjcyMSA1Ljc0NTU1IDEuNDQ0NDEgNS4wMDQxNCAxLjYxMjE3QzQuMjYyNzMgMS43Nzk5MiAzLjU3NTkgMi4xMzI3NSAzLjAwNzczIDIuNjM3NzVDMi40Mzk1NyAzLjE0Mjc0IDIuMDA4NTggMy43ODM0MyAxLjc1NSA0LjUwMDA0TTAuNSAxMFY3LjAwMDA0TTAuNSA3LjAwMDA0SDMuNU0wLjUgNy4wMDAwNEwyLjgyIDkuMTgwMDRDMy4zNTczNyA5LjcxNzY4IDQuMDIyMTkgMTAuMTEwNCA0Ljc1MjQgMTAuMzIxN0M1LjQ4MjYyIDEwLjUzMjkgNi4yNTQ0NSAxMC41NTU3IDYuOTk1ODYgMTAuMzg3OUM3LjczNzI3IDEwLjIyMDIgOC40MjQxIDkuODY3MzIgOC45OTIyNyA5LjM2MjMzQzkuNTYwNDMgOC44NTczNCA5Ljk5MTQyIDguMjE2NjQgMTAuMjQ1IDcuNTAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMkU5MEZBXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF81MTE5XzU1NzZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz57eyBpbnByb2dyZXNzLmNoZWNrTGlzdFR5cGUgPT09ICdjdXN0b20nID8gJ0NoZWNrbGlzdCcgOiAoKGlucHJvZ3Jlc3MuY2hlY2tMaXN0VHlwZSB8IHRpdGxlY2FzZSkgfHwgJy0tJykgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlucHJvZ3Jlc3MuY2hlY2tMaXN0VHlwZSAmJiBpbnByb2dyZXNzLmNoZWNrTGlzdFR5cGUgIT09ICdyZWRvJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2F0ZS1zdWIgbXgtMSBiYWRnZSBiYWRnZS1saWdodC12aW9sZXQgbXQtMVwiPnt7IGlucHJvZ3Jlc3MuY2hlY2tMaXN0VHlwZSA9PT0gJ2N1c3RvbScgPyAnQ2hlY2tsaXN0JyA6ICgoaW5wcm9ncmVzcy5jaGVja0xpc3RUeXBlIHwgdGl0bGVjYXNlKSB8fCAnLS0nKSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdFwiPlN0b3JlIEJhc2VkPC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaW5wcm9ncmVzcz8ucHJpb3JpdHlUeXBlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIHRleHQtZW5kXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC1kYW5nZXInOiBpbnByb2dyZXNzLnByaW9yaXR5VHlwZSA9PT0gJ2hpZ2gnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC1ibHVlJzogaW5wcm9ncmVzcy5wcmlvcml0eVR5cGUgPT09ICdtZWRpdW0nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC13YXJuaW5nJzogaW5wcm9ncmVzcy5wcmlvcml0eVR5cGUgPT09ICdsb3cnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaW5wcm9ncmVzcy5wcmlvcml0eVR5cGUgfCB0aXRsZWNhc2UgfX0gUHJpb3JpdHlcclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEzLjMzNDYgMTRWMTIuNjY2N0MxMy4zMzQ2IDExLjk1OTQgMTMuMDUzNyAxMS4yODExIDEyLjU1MzYgMTAuNzgxQzEyLjA1MzUgMTAuMjgxIDExLjM3NTIgMTAgMTAuNjY4IDEwSDUuMzM0NjRDNC42MjczOSAxMCAzLjk0OTExIDEwLjI4MSAzLjQ0OTAyIDEwLjc4MUMyLjk0ODkyIDExLjI4MTEgMi42Njc5NyAxMS45NTk0IDIuNjY3OTcgMTIuNjY2N1YxNE0xMC42NjggNC42NjY2N0MxMC42NjggNi4xMzk0MyA5LjQ3NDA2IDcuMzMzMzMgOC4wMDEzIDcuMzMzMzNDNi41Mjg1NCA3LjMzMzMzIDUuMzM0NjQgNi4xMzk0MyA1LjMzNDY0IDQuNjY2NjdDNS4zMzQ2NCAzLjE5MzkxIDYuNTI4NTQgMiA4LjAwMTMgMkM5LjQ3NDA2IDIgMTAuNjY4IDMuMTkzOTEgMTAuNjY4IDQuNjY2NjdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwiY2FyZHN1YnRleHQgbXMtMiBtZS00XCI+IHt7IGlucHJvZ3Jlc3MuY3JlYXRlZEJ5TmFtZSB8fCAnLS0nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDNIMTMuNUMxMy44OTc4IDMgMTQuMjc5NCAzLjE1ODA0IDE0LjU2MDcgMy40MzkzNEMxNC44NDIgMy43MjA2NCAxNSA0LjEwMjE4IDE1IDQuNVYxNUMxNSAxNS4zOTc4IDE0Ljg0MiAxNS43Nzk0IDE0LjU2MDcgMTYuMDYwN0MxNC4yNzk0IDE2LjM0MiAxMy44OTc4IDE2LjUgMTMuNSAxNi41SDQuNUM0LjEwMjE4IDE2LjUgMy43MjA2NCAxNi4zNDIgMy40MzkzNCAxNi4wNjA3QzMuMTU4MDQgMTUuNzc5NCAzIDE1LjM5NzggMyAxNVY0LjVDMyA0LjEwMjE4IDMuMTU4MDQgMy43MjA2NCAzLjQzOTM0IDMuNDM5MzRDMy43MjA2NCAzLjE1ODA0IDQuMTAyMTggMyA0LjUgM0g2TTYuNzUgMS41SDExLjI1QzExLjY2NDIgMS41IDEyIDEuODM1NzkgMTIgMi4yNVYzLjc1QzEyIDQuMTY0MjEgMTEuNjY0MiA0LjUgMTEuMjUgNC41SDYuNzVDNi4zMzU3OSA0LjUgNiA0LjE2NDIxIDYgMy43NVYyLjI1QzYgMS44MzU3OSA2LjMzNTc5IDEuNSA2Ljc1IDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJjYXJkc3VidGV4dCBtcy0yIG1lLTRcIj57eyBpbnByb2dyZXNzLnN1Ym1pdENvdW50ICE9PW51bGwgPyBpbnByb2dyZXNzLnN1Ym1pdENvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fSAvIHt7IGlucHJvZ3Jlc3Muc3RvcmVDb3VudCAhPT1udWxsID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgaW5wcm9ncmVzcy5zdG9yZUNvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpbnByb2dyZXNzLmNoZWNrTGlzdFR5cGUgPT09ICdjdXN0b20nXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMiAxLjVWNC41TTYgMS41VjQuNU0yLjI1IDcuNUgxNS43NU0zLjc1IDNIMTQuMjVDMTUuMDc4NCAzIDE1Ljc1IDMuNjcxNTcgMTUuNzUgNC41VjE1QzE1Ljc1IDE1LjgyODQgMTUuMDc4NCAxNi41IDE0LjI1IDE2LjVIMy43NUMyLjkyMTU3IDE2LjUgMi4yNSAxNS44Mjg0IDIuMjUgMTVWNC41QzIuMjUgMy42NzE1NyAyLjkyMTU3IDMgMy43NSAzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cImNhcmRzdWJ0ZXh0IG1zLTIgbWUtNFwiPlJlcGVhdHMge3sgaW5wcm9ncmVzcy5zY2hlZHVsZVJlcGVhdGVkVHlwZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHJvZ3Jlc3Muc2NoZWR1bGVSZXBlYXRlZFR5cGUudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy0xIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzUxMTlfMzE3OClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtMS1pbnNpZGUtMV81MTE5XzMxNzhcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02LjEzMDU1IDAuMDAxNDIwNDlDNS4yNTc1NyAtMC4wMTc1Nzc4IDQuMzkwOTcgMC4xNTQxOTIgMy41OTEyNSAwLjUwNDczOEMyLjc5MTUyIDAuODU1Mjg0IDIuMDc3OTUgMS4zNzYxNiAxLjUwMDM0IDIuMDMwOTlDMC45MjI3MjYgMi42ODU4MyAwLjQ5NTAwNSAzLjQ1ODg1IDAuMjQ3MDMzIDQuMjk2MDhDLTAuMDAwOTM5NTMzIDUuMTMzMyAtMC4wNjMxODYxIDYuMDE0NTcgMC4wNjQ2Mzg4IDYuODc4MzRDMC4xOTI0NjQgNy43NDIxMiAwLjUwNzI3OSA4LjU2NzU4IDAuOTg3MTA3IDkuMjk3MTFDMS40NjY5MyAxMC4wMjY2IDIuMTAwMjEgMTAuNjQyNiAyLjg0MjcyIDExLjEwMjFDMy41ODUyMyAxMS41NjE2IDQuNDE5MDggMTEuODUzNSA1LjI4NjA2IDExLjk1NzRDNi4xNTMwMyAxMi4wNjEzIDcuMDMyMjQgMTEuOTc0NyA3Ljg2MjMgMTEuNzAzN0M4LjAwNDEyIDExLjY1NzMgOC4xMjE3MyAxMS41NTY1IDguMTg5MjQgMTEuNDIzNUM4LjI1Njc1IDExLjI5MDQgOC4yNjg2NCAxMS4xMzYgOC4yMjIzIDEwLjk5NDJDOC4xNzU5NSAxMC44NTIzIDguMDc1MTYgMTAuNzM0NyA3Ljk0MjEgMTAuNjY3MkM3LjgwOTA1IDEwLjU5OTcgNy42NTQ2MiAxMC41ODc4IDcuNTEyOCAxMC42MzQyQzYuNjEwNzcgMTAuOTI4NyA1LjY0MjQgMTAuOTUzNiA0LjcyNjQ0IDEwLjcwNThDMy44MTA0OCAxMC40NTggMi45ODY3NSA5Ljk0ODI1IDIuMzU2MjcgOS4yMzkxQzEuNzI1OCA4LjUyOTk1IDEuMzE1OTggNy42NTIyMSAxLjE3NzA5IDYuNzEzNTRDMS4wMzgyIDUuNzc0ODcgMS4xNzYyNyA0LjgxNjA3IDEuNTc0MzYgMy45NTQ3M0MxLjk3MjQ2IDMuMDkzMzggMi42MTMyNyAyLjM2Njk0IDMuNDE4MjIgMS44NjQ0OUM0LjIyMzE3IDEuMzYyMDQgNS4xNTcyNSAxLjEwNTQzIDYuMTA1OTIgMS4xMjYxM0M3LjA1NDU4IDEuMTQ2ODMgNy45NzY1OSAxLjQ0MzkzIDguNzU4ODUgMS45ODEwMUM5LjU0MTEyIDIuNTE4MDkgMTAuMTQ5NiAzLjI3MTc4IDEwLjUwOTggNC4xNDk2N0MxMC41NjY0IDQuMjg3NzIgMTAuNjc1NSA0LjM5NzYzIDEwLjgxMzEgNC40NTUyMkMxMC44ODEzIDQuNDgzNzQgMTAuOTU0NCA0LjQ5ODU2IDExLjAyODIgNC40OTg4M0MxMS4xMDIxIDQuNDk5MSAxMS4xNzUzIDQuNDg0ODIgMTEuMjQzNyA0LjQ1NjhDMTEuMzEyIDQuNDI4NzggMTEuMzc0MiA0LjM4NzU3IDExLjQyNjYgNC4zMzU1MkMxMS40NzkgNC4yODM0NyAxMS41MjA3IDQuMjIxNjEgMTEuNTQ5MiA0LjE1MzQ3QzExLjU3NzcgNC4wODUzMiAxMS41OTI2IDQuMDEyMjIgMTEuNTkyOCAzLjkzODM1QzExLjU5MzEgMy44NjQ0OCAxMS41Nzg4IDMuNzkxMjcgMTEuNTUwOCAzLjcyMjkyQzExLjEwNzYgMi42NDIzOSAxMC4zNTg2IDEuNzE0NyA5LjM5NTggMS4wNTM2NUM4LjQzMjk5IDAuMzkyNTg3IDcuMjk4MTcgMC4wMjY4OTQ2IDYuMTMwNTUgMC4wMDE0MjA0OVpNNi41NjE4IDIuODEyNDJDNi41NjE4IDIuNjYzMjQgNi41MDI1MyAyLjUyMDE2IDYuMzk3MDQgMi40MTQ2N0M2LjI5MTU1IDIuMzA5MTggNi4xNDg0OCAyLjI0OTkyIDUuOTk5MyAyLjI0OTkyQzUuODUwMTEgMi4yNDk5MiA1LjcwNzA0IDIuMzA5MTggNS42MDE1NSAyLjQxNDY3QzUuNDk2MDYgMi41MjAxNiA1LjQzNjggMi42NjMyNCA1LjQzNjggMi44MTI0MlY1Ljc2NzQyTDMuOTExMyA3LjI5MjE3QzMuODU2MDMgNy4zNDM2NyAzLjgxMTcgNy40MDU3NyAzLjc4MDk2IDcuNDc0NzdDMy43NTAyMiA3LjU0Mzc3IDMuNzMzNjggNy42MTgyNSAzLjczMjM1IDcuNjkzNzhDMy43MzEwMiA3Ljc2OTMxIDMuNzQ0OTEgNy44NDQzMyAzLjc3MzIgNy45MTQzN0MzLjgwMTQ5IDcuOTg0NDEgMy44NDM2IDguMDQ4MDQgMy44OTcwMiA4LjEwMTQ1QzMuOTUwNDMgOC4xNTQ4NiA0LjAxNDA2IDguMTk2OTcgNC4wODQxIDguMjI1MjZDNC4xNTQxNCA4LjI1MzU1IDQuMjI5MTYgOC4yNjc0NSA0LjMwNDY5IDguMjY2MTJDNC4zODAyMSA4LjI2NDc4IDQuNDU0NyA4LjI0ODI1IDQuNTIzNyA4LjIxNzUxQzQuNTkyNyA4LjE4Njc2IDQuNjU0OCA4LjE0MjQ0IDQuNzA2MyA4LjA4NzE3TDYuMzk2OCA2LjM5NzQyTDYuNTYxOCA2LjIzMjQyVjIuODEyNDJaTTExLjI0OTMgMTEuMjQ5OUMxMS4yNDkzIDExLjQ0ODggMTEuMTcwMyAxMS42Mzk2IDExLjAyOTYgMTEuNzgwM0MxMC44ODkgMTEuOTIwOSAxMC42OTgyIDExLjk5OTkgMTAuNDk5MyAxMS45OTk5QzEwLjMwMDQgMTEuOTk5OSAxMC4xMDk2IDExLjkyMDkgOS45Njg5NyAxMS43ODAzQzkuODI4MzEgMTEuNjM5NiA5Ljc0OTMgMTEuNDQ4OCA5Ljc0OTMgMTEuMjQ5OUM5Ljc0OTMgMTEuMDUxIDkuODI4MzEgMTAuODYwMiA5Ljk2ODk3IDEwLjcxOTZDMTAuMTA5NiAxMC41Nzg5IDEwLjMwMDQgMTAuNDk5OSAxMC40OTkzIDEwLjQ5OTlDMTAuNjk4MiAxMC40OTk5IDEwLjg4OSAxMC41Nzg5IDExLjAyOTYgMTAuNzE5NkMxMS4xNzAzIDEwLjg2MDIgMTEuMjQ5MyAxMS4wNTEgMTEuMjQ5MyAxMS4yNDk5Wk0xMS4wNjE4IDYuNTYyNDJDMTEuMDYxOCA2LjQxMzI0IDExLjAwMjUgNi4yNzAxNiAxMC44OTcgNi4xNjQ2N0MxMC43OTE2IDYuMDU5MTkgMTAuNjQ4NSA1Ljk5OTkyIDEwLjQ5OTMgNS45OTk5MkMxMC4zNTAxIDUuOTk5OTIgMTAuMjA3IDYuMDU5MTkgMTAuMTAxNSA2LjE2NDY3QzkuOTk2MDYgNi4yNzAxNiA5LjkzNjggNi40MTMyNCA5LjkzNjggNi41NjI0MlY5LjE4NzQyQzkuOTM2OCA5LjMzNjYxIDkuOTk2MDYgOS40Nzk2OCAxMC4xMDE1IDkuNTg1MTdDMTAuMjA3IDkuNjkwNjYgMTAuMzUwMSA5Ljc0OTkyIDEwLjQ5OTMgOS43NDk5MkMxMC42NDg1IDkuNzQ5OTIgMTAuNzkxNiA5LjY5MDY2IDEwLjg5NyA5LjU4NTE3QzExLjAwMjUgOS40Nzk2OCAxMS4wNjE4IDkuMzM2NjEgMTEuMDYxOCA5LjE4NzQyVjYuNTYyNDJaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02LjEzMDU1IDAuMDAxNDIwNDlDNS4yNTc1NyAtMC4wMTc1Nzc4IDQuMzkwOTcgMC4xNTQxOTIgMy41OTEyNSAwLjUwNDczOEMyLjc5MTUyIDAuODU1Mjg0IDIuMDc3OTUgMS4zNzYxNiAxLjUwMDM0IDIuMDMwOTlDMC45MjI3MjYgMi42ODU4MyAwLjQ5NTAwNSAzLjQ1ODg1IDAuMjQ3MDMzIDQuMjk2MDhDLTAuMDAwOTM5NTMzIDUuMTMzMyAtMC4wNjMxODYxIDYuMDE0NTcgMC4wNjQ2Mzg4IDYuODc4MzRDMC4xOTI0NjQgNy43NDIxMiAwLjUwNzI3OSA4LjU2NzU4IDAuOTg3MTA3IDkuMjk3MTFDMS40NjY5MyAxMC4wMjY2IDIuMTAwMjEgMTAuNjQyNiAyLjg0MjcyIDExLjEwMjFDMy41ODUyMyAxMS41NjE2IDQuNDE5MDggMTEuODUzNSA1LjI4NjA2IDExLjk1NzRDNi4xNTMwMyAxMi4wNjEzIDcuMDMyMjQgMTEuOTc0NyA3Ljg2MjMgMTEuNzAzN0M4LjAwNDEyIDExLjY1NzMgOC4xMjE3MyAxMS41NTY1IDguMTg5MjQgMTEuNDIzNUM4LjI1Njc1IDExLjI5MDQgOC4yNjg2NCAxMS4xMzYgOC4yMjIzIDEwLjk5NDJDOC4xNzU5NSAxMC44NTIzIDguMDc1MTYgMTAuNzM0NyA3Ljk0MjEgMTAuNjY3MkM3LjgwOTA1IDEwLjU5OTcgNy42NTQ2MiAxMC41ODc4IDcuNTEyOCAxMC42MzQyQzYuNjEwNzcgMTAuOTI4NyA1LjY0MjQgMTAuOTUzNiA0LjcyNjQ0IDEwLjcwNThDMy44MTA0OCAxMC40NTggMi45ODY3NSA5Ljk0ODI1IDIuMzU2MjcgOS4yMzkxQzEuNzI1OCA4LjUyOTk1IDEuMzE1OTggNy42NTIyMSAxLjE3NzA5IDYuNzEzNTRDMS4wMzgyIDUuNzc0ODcgMS4xNzYyNyA0LjgxNjA3IDEuNTc0MzYgMy45NTQ3M0MxLjk3MjQ2IDMuMDkzMzggMi42MTMyNyAyLjM2Njk0IDMuNDE4MjIgMS44NjQ0OUM0LjIyMzE3IDEuMzYyMDQgNS4xNTcyNSAxLjEwNTQzIDYuMTA1OTIgMS4xMjYxM0M3LjA1NDU4IDEuMTQ2ODMgNy45NzY1OSAxLjQ0MzkzIDguNzU4ODUgMS45ODEwMUM5LjU0MTEyIDIuNTE4MDkgMTAuMTQ5NiAzLjI3MTc4IDEwLjUwOTggNC4xNDk2N0MxMC41NjY0IDQuMjg3NzIgMTAuNjc1NSA0LjM5NzYzIDEwLjgxMzEgNC40NTUyMkMxMC44ODEzIDQuNDgzNzQgMTAuOTU0NCA0LjQ5ODU2IDExLjAyODIgNC40OTg4M0MxMS4xMDIxIDQuNDk5MSAxMS4xNzUzIDQuNDg0ODIgMTEuMjQzNyA0LjQ1NjhDMTEuMzEyIDQuNDI4NzggMTEuMzc0MiA0LjM4NzU3IDExLjQyNjYgNC4zMzU1MkMxMS40NzkgNC4yODM0NyAxMS41MjA3IDQuMjIxNjEgMTEuNTQ5MiA0LjE1MzQ3QzExLjU3NzcgNC4wODUzMiAxMS41OTI2IDQuMDEyMjIgMTEuNTkyOCAzLjkzODM1QzExLjU5MzEgMy44NjQ0OCAxMS41Nzg4IDMuNzkxMjcgMTEuNTUwOCAzLjcyMjkyQzExLjEwNzYgMi42NDIzOSAxMC4zNTg2IDEuNzE0NyA5LjM5NTggMS4wNTM2NUM4LjQzMjk5IDAuMzkyNTg3IDcuMjk4MTcgMC4wMjY4OTQ2IDYuMTMwNTUgMC4wMDE0MjA0OVpNNi41NjE4IDIuODEyNDJDNi41NjE4IDIuNjYzMjQgNi41MDI1MyAyLjUyMDE2IDYuMzk3MDQgMi40MTQ2N0M2LjI5MTU1IDIuMzA5MTggNi4xNDg0OCAyLjI0OTkyIDUuOTk5MyAyLjI0OTkyQzUuODUwMTEgMi4yNDk5MiA1LjcwNzA0IDIuMzA5MTggNS42MDE1NSAyLjQxNDY3QzUuNDk2MDYgMi41MjAxNiA1LjQzNjggMi42NjMyNCA1LjQzNjggMi44MTI0MlY1Ljc2NzQyTDMuOTExMyA3LjI5MjE3QzMuODU2MDMgNy4zNDM2NyAzLjgxMTcgNy40MDU3NyAzLjc4MDk2IDcuNDc0NzdDMy43NTAyMiA3LjU0Mzc3IDMuNzMzNjggNy42MTgyNSAzLjczMjM1IDcuNjkzNzhDMy43MzEwMiA3Ljc2OTMxIDMuNzQ0OTEgNy44NDQzMyAzLjc3MzIgNy45MTQzN0MzLjgwMTQ5IDcuOTg0NDEgMy44NDM2IDguMDQ4MDQgMy44OTcwMiA4LjEwMTQ1QzMuOTUwNDMgOC4xNTQ4NiA0LjAxNDA2IDguMTk2OTcgNC4wODQxIDguMjI1MjZDNC4xNTQxNCA4LjI1MzU1IDQuMjI5MTYgOC4yNjc0NSA0LjMwNDY5IDguMjY2MTJDNC4zODAyMSA4LjI2NDc4IDQuNDU0NyA4LjI0ODI1IDQuNTIzNyA4LjIxNzUxQzQuNTkyNyA4LjE4Njc2IDQuNjU0OCA4LjE0MjQ0IDQuNzA2MyA4LjA4NzE3TDYuMzk2OCA2LjM5NzQyTDYuNTYxOCA2LjIzMjQyVjIuODEyNDJaTTExLjI0OTMgMTEuMjQ5OUMxMS4yNDkzIDExLjQ0ODggMTEuMTcwMyAxMS42Mzk2IDExLjAyOTYgMTEuNzgwM0MxMC44ODkgMTEuOTIwOSAxMC42OTgyIDExLjk5OTkgMTAuNDk5MyAxMS45OTk5QzEwLjMwMDQgMTEuOTk5OSAxMC4xMDk2IDExLjkyMDkgOS45Njg5NyAxMS43ODAzQzkuODI4MzEgMTEuNjM5NiA5Ljc0OTMgMTEuNDQ4OCA5Ljc0OTMgMTEuMjQ5OUM5Ljc0OTMgMTEuMDUxIDkuODI4MzEgMTAuODYwMiA5Ljk2ODk3IDEwLjcxOTZDMTAuMTA5NiAxMC41Nzg5IDEwLjMwMDQgMTAuNDk5OSAxMC40OTkzIDEwLjQ5OTlDMTAuNjk4MiAxMC40OTk5IDEwLjg4OSAxMC41Nzg5IDExLjAyOTYgMTAuNzE5NkMxMS4xNzAzIDEwLjg2MDIgMTEuMjQ5MyAxMS4wNTEgMTEuMjQ5MyAxMS4yNDk5Wk0xMS4wNjE4IDYuNTYyNDJDMTEuMDYxOCA2LjQxMzI0IDExLjAwMjUgNi4yNzAxNiAxMC44OTcgNi4xNjQ2N0MxMC43OTE2IDYuMDU5MTkgMTAuNjQ4NSA1Ljk5OTkyIDEwLjQ5OTMgNS45OTk5MkMxMC4zNTAxIDUuOTk5OTIgMTAuMjA3IDYuMDU5MTkgMTAuMTAxNSA2LjE2NDY3QzkuOTk2MDYgNi4yNzAxNiA5LjkzNjggNi40MTMyNCA5LjkzNjggNi41NjI0MlY5LjE4NzQyQzkuOTM2OCA5LjMzNjYxIDkuOTk2MDYgOS40Nzk2OCAxMC4xMDE1IDkuNTg1MTdDMTAuMjA3IDkuNjkwNjYgMTAuMzUwMSA5Ljc0OTkyIDEwLjQ5OTMgOS43NDk5MkMxMC42NDg1IDkuNzQ5OTIgMTAuNzkxNiA5LjY5MDY2IDEwLjg5NyA5LjU4NTE3QzExLjAwMjUgOS40Nzk2OCAxMS4wNjE4IDkuMzM2NjEgMTEuMDYxOCA5LjE4NzQyVjYuNTYyNDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJibGFja1wiIHN0cm9rZT1cImJsYWNrXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIG1hc2s9XCJ1cmwoI3BhdGgtMS1pbnNpZGUtMV81MTE5XzMxNzgpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF81MTE5XzMxNzhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIG1zLTNcIj57eyBpbnByb2dyZXNzLnB1Ymxpc2hEYXRlIHwgZGF0ZTogXCJZWVlZLU1NLWRkXCIgfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyBteC0xIG10LTFcIj5BcHByb3ZlZCB7eyBpbnByb2dyZXNzLnN1Ym1pdENvdW50ICE9PW51bGwgPyBpbnByb2dyZXNzLnN1Ym1pdENvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19IC8ge3sgaW5wcm9ncmVzcy5hcHByb3ZlQ291bnQgIT09bnVsbCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICBpbnByb2dyZXNzLmFwcHJvdmVDb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwcm92YWxJbnByb2dyZXNzTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGEgJiYgIWFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmdcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG15LTZcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YW1haW50ZXh0IG10LTNcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YXN1YnRleHRcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIElucHJvZ3Jlc3MgQ2hlY2tsaWxzdFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwhLS0gaW5wcm9ncmVzcyBjYXJkIGVuZCAtLT5cclxuICAgICAgICAgIDwhLS0gQXBwcm92ZWQgY2FyZCBzdGFydCAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWxjYXJkXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGQtZmxleCBmbGV4LWNvbHVtbiBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS10ZXh0XCI+QXBwcm92ZWQgPHNwYW4gKm5nSWY9XCJEb25lQXBwcm92YWxMaXN0RGF0YS5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0IG14LTJcIj4ge3tEb25lQXBwcm92YWxMaXN0RGF0YS5sZW5ndGh9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciAgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTcgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjY2NjY3IDMuMzMzMjVWMTIuNjY2Nk04LjY2NjY3IDEyLjY2NjZMMTMuMzMzMyA3Ljk5OTkyTTguNjY2NjcgMTIuNjY2Nkw0IDcuOTk5OTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhYXBwcm92ZWRMb2FkaW5nICYmICFhcHByb3ZlZE5vRGF0YVwiIGNsYXNzPVwicC01IGNhcmRzY3JvbGxcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGRvbmUgb2YgRG9uZUFwcHJvdmFsTGlzdERhdGFcIiAoY2xpY2spPVwiZG9uZW5hdmlnYXRlVG9HYWxsZXJ5KGRvbmUpXCIgY2xhc3M9XCJhcHByb3ZhbGJvZHkgbWItNCBjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmd0ZXh0IGQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgZG9uZS5jaGVja0xpc3ROYW1lIHx8ICctLScgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZG9uZS50YXNrVHlwZSA9PT0gJ3JlZG8nXCIgY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSBiYWRnZS1saWdodC1ibHVlIG14LTEgbXQtMVwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF81MTE5XzU1NzYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTExLjUgMi4wMDAwNFY1LjAwMDA0TTExLjUgNS4wMDAwNEg4LjVNMTEuNSA1LjAwMDA0TDkuMTggMi44MjAwNEM4LjY0MjYzIDIuMjgyMzkgNy45Nzc4MSAxLjg4OTY0IDcuMjQ3NiAxLjY3ODQyQzYuNTE3MzggMS40NjcyMSA1Ljc0NTU1IDEuNDQ0NDEgNS4wMDQxNCAxLjYxMjE3QzQuMjYyNzMgMS43Nzk5MiAzLjU3NTkgMi4xMzI3NSAzLjAwNzczIDIuNjM3NzVDMi40Mzk1NyAzLjE0Mjc0IDIuMDA4NTggMy43ODM0MyAxLjc1NSA0LjUwMDA0TTAuNSAxMFY3LjAwMDA0TTAuNSA3LjAwMDA0SDMuNU0wLjUgNy4wMDAwNEwyLjgyIDkuMTgwMDRDMy4zNTczNyA5LjcxNzY4IDQuMDIyMTkgMTAuMTEwNCA0Ljc1MjQgMTAuMzIxN0M1LjQ4MjYyIDEwLjUzMjkgNi4yNTQ0NSAxMC41NTU3IDYuOTk1ODYgMTAuMzg3OUM3LjczNzI3IDEwLjIyMDIgOC40MjQxIDkuODY3MzIgOC45OTIyNyA5LjM2MjMzQzkuNTYwNDMgOC44NTczNCA5Ljk5MTQyIDguMjE2NjQgMTAuMjQ1IDcuNTAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMkU5MEZBXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF81MTE5XzU1NzZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz57eyBkb25lLmNoZWNrTGlzdFR5cGUgPT09ICdjdXN0b20nID8gJ0NoZWNrbGlzdCcgOiAoKGRvbmUuY2hlY2tMaXN0VHlwZSB8IHRpdGxlY2FzZSkgfHwgJy0tJykgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImRvbmUuY2hlY2tMaXN0VHlwZSAmJiBkb25lLmNoZWNrTGlzdFR5cGUgIT09ICdyZWRvJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2F0ZS1zdWIgbXgtMSBiYWRnZSBiYWRnZS1saWdodC12aW9sZXQgbXQtMVwiPnt7IGRvbmUuY2hlY2tMaXN0VHlwZSA9PT0gJ2N1c3RvbScgPyAnQ2hlY2tsaXN0JyA6ICgoZG9uZS5jaGVja0xpc3RUeXBlIHwgdGl0bGVjYXNlKSB8fCAnLS0nKSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdFwiPlN0b3JlIEJhc2VkPC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJkb25lLnByaW9yaXR5VHlwZVwiIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgdGV4dC1lbmRcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LWRhbmdlcic6IGRvbmUucHJpb3JpdHlUeXBlID09PSAnaGlnaCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LWJsdWUnOiBkb25lLnByaW9yaXR5VHlwZSA9PT0gJ21lZGl1bScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXdhcm5pbmcnOiBkb25lLnByaW9yaXR5VHlwZSA9PT0gJ2xvdydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBkb25lLnByaW9yaXR5VHlwZSB8IHRpdGxlY2FzZSB9fSBQcmlvcml0eVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzM0NiAxNFYxMi42NjY3QzEzLjMzNDYgMTEuOTU5NCAxMy4wNTM3IDExLjI4MTEgMTIuNTUzNiAxMC43ODFDMTIuMDUzNSAxMC4yODEgMTEuMzc1MiAxMCAxMC42NjggMTBINS4zMzQ2NEM0LjYyNzM5IDEwIDMuOTQ5MTEgMTAuMjgxIDMuNDQ5MDIgMTAuNzgxQzIuOTQ4OTIgMTEuMjgxMSAyLjY2Nzk3IDExLjk1OTQgMi42Njc5NyAxMi42NjY3VjE0TTEwLjY2OCA0LjY2NjY3QzEwLjY2OCA2LjEzOTQzIDkuNDc0MDYgNy4zMzMzMyA4LjAwMTMgNy4zMzMzM0M2LjUyODU0IDcuMzMzMzMgNS4zMzQ2NCA2LjEzOTQzIDUuMzM0NjQgNC42NjY2N0M1LjMzNDY0IDMuMTkzOTEgNi41Mjg1NCAyIDguMDAxMyAyQzkuNDc0MDYgMiAxMC42NjggMy4xOTM5MSAxMC42NjggNC42NjY2N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJjYXJkc3VidGV4dCBtcy0yIG1lLTRcIj4ge3sgZG9uZS5jcmVhdGVkQnlOYW1lIHx8ICctLScgfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIgM0gxMy41QzEzLjg5NzggMyAxNC4yNzk0IDMuMTU4MDQgMTQuNTYwNyAzLjQzOTM0QzE0Ljg0MiAzLjcyMDY0IDE1IDQuMTAyMTggMTUgNC41VjE1QzE1IDE1LjM5NzggMTQuODQyIDE1Ljc3OTQgMTQuNTYwNyAxNi4wNjA3QzE0LjI3OTQgMTYuMzQyIDEzLjg5NzggMTYuNSAxMy41IDE2LjVINC41QzQuMTAyMTggMTYuNSAzLjcyMDY0IDE2LjM0MiAzLjQzOTM0IDE2LjA2MDdDMy4xNTgwNCAxNS43Nzk0IDMgMTUuMzk3OCAzIDE1VjQuNUMzIDQuMTAyMTggMy4xNTgwNCAzLjcyMDY0IDMuNDM5MzQgMy40MzkzNEMzLjcyMDY0IDMuMTU4MDQgNC4xMDIxOCAzIDQuNSAzSDZNNi43NSAxLjVIMTEuMjVDMTEuNjY0MiAxLjUgMTIgMS44MzU3OSAxMiAyLjI1VjMuNzVDMTIgNC4xNjQyMSAxMS42NjQyIDQuNSAxMS4yNSA0LjVINi43NUM2LjMzNTc5IDQuNSA2IDQuMTY0MjEgNiAzLjc1VjIuMjVDNiAxLjgzNTc5IDYuMzM1NzkgMS41IDYuNzUgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cImNhcmRzdWJ0ZXh0IG1zLTIgbWUtNFwiPnt7IGRvbmUuc3VibWl0Q291bnQgIT09bnVsbCA/IGRvbmUuc3VibWl0Q291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19IC8ge3sgZG9uZS5zdG9yZUNvdW50ICE9PW51bGwgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkb25lLnN0b3JlQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImRvbmUuY2hlY2tMaXN0VHlwZSA9PT0gJ2N1c3RvbSdcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDEuNVY0LjVNNiAxLjVWNC41TTIuMjUgNy41SDE1Ljc1TTMuNzUgM0gxNC4yNUMxNS4wNzg0IDMgMTUuNzUgMy42NzE1NyAxNS43NSA0LjVWMTVDMTUuNzUgMTUuODI4NCAxNS4wNzg0IDE2LjUgMTQuMjUgMTYuNUgzLjc1QzIuOTIxNTcgMTYuNSAyLjI1IDE1LjgyODQgMi4yNSAxNVY0LjVDMi4yNSAzLjY3MTU3IDIuOTIxNTcgMyAzLjc1IDNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwiY2FyZHN1YnRleHQgbXMtMiBtZS00XCI+UmVwZWF0cyB7eyBkb25lLnNjaGVkdWxlUmVwZWF0ZWRUeXBlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgZG9uZS5zY2hlZHVsZVJlcGVhdGVkVHlwZS50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICctLScgfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1zLTEgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNTExOV8zMTc4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC0xLWluc2lkZS0xXzUxMTlfMzE3OFwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTYuMTMwNTUgMC4wMDE0MjA0OUM1LjI1NzU3IC0wLjAxNzU3NzggNC4zOTA5NyAwLjE1NDE5MiAzLjU5MTI1IDAuNTA0NzM4QzIuNzkxNTIgMC44NTUyODQgMi4wNzc5NSAxLjM3NjE2IDEuNTAwMzQgMi4wMzA5OUMwLjkyMjcyNiAyLjY4NTgzIDAuNDk1MDA1IDMuNDU4ODUgMC4yNDcwMzMgNC4yOTYwOEMtMC4wMDA5Mzk1MzMgNS4xMzMzIC0wLjA2MzE4NjEgNi4wMTQ1NyAwLjA2NDYzODggNi44NzgzNEMwLjE5MjQ2NCA3Ljc0MjEyIDAuNTA3Mjc5IDguNTY3NTggMC45ODcxMDcgOS4yOTcxMUMxLjQ2NjkzIDEwLjAyNjYgMi4xMDAyMSAxMC42NDI2IDIuODQyNzIgMTEuMTAyMUMzLjU4NTIzIDExLjU2MTYgNC40MTkwOCAxMS44NTM1IDUuMjg2MDYgMTEuOTU3NEM2LjE1MzAzIDEyLjA2MTMgNy4wMzIyNCAxMS45NzQ3IDcuODYyMyAxMS43MDM3QzguMDA0MTIgMTEuNjU3MyA4LjEyMTczIDExLjU1NjUgOC4xODkyNCAxMS40MjM1QzguMjU2NzUgMTEuMjkwNCA4LjI2ODY0IDExLjEzNiA4LjIyMjMgMTAuOTk0MkM4LjE3NTk1IDEwLjg1MjMgOC4wNzUxNiAxMC43MzQ3IDcuOTQyMSAxMC42NjcyQzcuODA5MDUgMTAuNTk5NyA3LjY1NDYyIDEwLjU4NzggNy41MTI4IDEwLjYzNDJDNi42MTA3NyAxMC45Mjg3IDUuNjQyNCAxMC45NTM2IDQuNzI2NDQgMTAuNzA1OEMzLjgxMDQ4IDEwLjQ1OCAyLjk4Njc1IDkuOTQ4MjUgMi4zNTYyNyA5LjIzOTFDMS43MjU4IDguNTI5OTUgMS4zMTU5OCA3LjY1MjIxIDEuMTc3MDkgNi43MTM1NEMxLjAzODIgNS43NzQ4NyAxLjE3NjI3IDQuODE2MDcgMS41NzQzNiAzLjk1NDczQzEuOTcyNDYgMy4wOTMzOCAyLjYxMzI3IDIuMzY2OTQgMy40MTgyMiAxLjg2NDQ5QzQuMjIzMTcgMS4zNjIwNCA1LjE1NzI1IDEuMTA1NDMgNi4xMDU5MiAxLjEyNjEzQzcuMDU0NTggMS4xNDY4MyA3Ljk3NjU5IDEuNDQzOTMgOC43NTg4NSAxLjk4MTAxQzkuNTQxMTIgMi41MTgwOSAxMC4xNDk2IDMuMjcxNzggMTAuNTA5OCA0LjE0OTY3QzEwLjU2NjQgNC4yODc3MiAxMC42NzU1IDQuMzk3NjMgMTAuODEzMSA0LjQ1NTIyQzEwLjg4MTMgNC40ODM3NCAxMC45NTQ0IDQuNDk4NTYgMTEuMDI4MiA0LjQ5ODgzQzExLjEwMjEgNC40OTkxIDExLjE3NTMgNC40ODQ4MiAxMS4yNDM3IDQuNDU2OEMxMS4zMTIgNC40Mjg3OCAxMS4zNzQyIDQuMzg3NTcgMTEuNDI2NiA0LjMzNTUyQzExLjQ3OSA0LjI4MzQ3IDExLjUyMDcgNC4yMjE2MSAxMS41NDkyIDQuMTUzNDdDMTEuNTc3NyA0LjA4NTMyIDExLjU5MjYgNC4wMTIyMiAxMS41OTI4IDMuOTM4MzVDMTEuNTkzMSAzLjg2NDQ4IDExLjU3ODggMy43OTEyNyAxMS41NTA4IDMuNzIyOTJDMTEuMTA3NiAyLjY0MjM5IDEwLjM1ODYgMS43MTQ3IDkuMzk1OCAxLjA1MzY1QzguNDMyOTkgMC4zOTI1ODcgNy4yOTgxNyAwLjAyNjg5NDYgNi4xMzA1NSAwLjAwMTQyMDQ5Wk02LjU2MTggMi44MTI0MkM2LjU2MTggMi42NjMyNCA2LjUwMjUzIDIuNTIwMTYgNi4zOTcwNCAyLjQxNDY3QzYuMjkxNTUgMi4zMDkxOCA2LjE0ODQ4IDIuMjQ5OTIgNS45OTkzIDIuMjQ5OTJDNS44NTAxMSAyLjI0OTkyIDUuNzA3MDQgMi4zMDkxOCA1LjYwMTU1IDIuNDE0NjdDNS40OTYwNiAyLjUyMDE2IDUuNDM2OCAyLjY2MzI0IDUuNDM2OCAyLjgxMjQyVjUuNzY3NDJMMy45MTEzIDcuMjkyMTdDMy44NTYwMyA3LjM0MzY3IDMuODExNyA3LjQwNTc3IDMuNzgwOTYgNy40NzQ3N0MzLjc1MDIyIDcuNTQzNzcgMy43MzM2OCA3LjYxODI1IDMuNzMyMzUgNy42OTM3OEMzLjczMTAyIDcuNzY5MzEgMy43NDQ5MSA3Ljg0NDMzIDMuNzczMiA3LjkxNDM3QzMuODAxNDkgNy45ODQ0MSAzLjg0MzYgOC4wNDgwNCAzLjg5NzAyIDguMTAxNDVDMy45NTA0MyA4LjE1NDg2IDQuMDE0MDYgOC4xOTY5NyA0LjA4NDEgOC4yMjUyNkM0LjE1NDE0IDguMjUzNTUgNC4yMjkxNiA4LjI2NzQ1IDQuMzA0NjkgOC4yNjYxMkM0LjM4MDIxIDguMjY0NzggNC40NTQ3IDguMjQ4MjUgNC41MjM3IDguMjE3NTFDNC41OTI3IDguMTg2NzYgNC42NTQ4IDguMTQyNDQgNC43MDYzIDguMDg3MTdMNi4zOTY4IDYuMzk3NDJMNi41NjE4IDYuMjMyNDJWMi44MTI0MlpNMTEuMjQ5MyAxMS4yNDk5QzExLjI0OTMgMTEuNDQ4OCAxMS4xNzAzIDExLjYzOTYgMTEuMDI5NiAxMS43ODAzQzEwLjg4OSAxMS45MjA5IDEwLjY5ODIgMTEuOTk5OSAxMC40OTkzIDExLjk5OTlDMTAuMzAwNCAxMS45OTk5IDEwLjEwOTYgMTEuOTIwOSA5Ljk2ODk3IDExLjc4MDNDOS44MjgzMSAxMS42Mzk2IDkuNzQ5MyAxMS40NDg4IDkuNzQ5MyAxMS4yNDk5QzkuNzQ5MyAxMS4wNTEgOS44MjgzMSAxMC44NjAyIDkuOTY4OTcgMTAuNzE5NkMxMC4xMDk2IDEwLjU3ODkgMTAuMzAwNCAxMC40OTk5IDEwLjQ5OTMgMTAuNDk5OUMxMC42OTgyIDEwLjQ5OTkgMTAuODg5IDEwLjU3ODkgMTEuMDI5NiAxMC43MTk2QzExLjE3MDMgMTAuODYwMiAxMS4yNDkzIDExLjA1MSAxMS4yNDkzIDExLjI0OTlaTTExLjA2MTggNi41NjI0MkMxMS4wNjE4IDYuNDEzMjQgMTEuMDAyNSA2LjI3MDE2IDEwLjg5NyA2LjE2NDY3QzEwLjc5MTYgNi4wNTkxOSAxMC42NDg1IDUuOTk5OTIgMTAuNDk5MyA1Ljk5OTkyQzEwLjM1MDEgNS45OTk5MiAxMC4yMDcgNi4wNTkxOSAxMC4xMDE1IDYuMTY0NjdDOS45OTYwNiA2LjI3MDE2IDkuOTM2OCA2LjQxMzI0IDkuOTM2OCA2LjU2MjQyVjkuMTg3NDJDOS45MzY4IDkuMzM2NjEgOS45OTYwNiA5LjQ3OTY4IDEwLjEwMTUgOS41ODUxN0MxMC4yMDcgOS42OTA2NiAxMC4zNTAxIDkuNzQ5OTIgMTAuNDk5MyA5Ljc0OTkyQzEwLjY0ODUgOS43NDk5MiAxMC43OTE2IDkuNjkwNjYgMTAuODk3IDkuNTg1MTdDMTEuMDAyNSA5LjQ3OTY4IDExLjA2MTggOS4zMzY2MSAxMS4wNjE4IDkuMTg3NDJWNi41NjI0MlpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTYuMTMwNTUgMC4wMDE0MjA0OUM1LjI1NzU3IC0wLjAxNzU3NzggNC4zOTA5NyAwLjE1NDE5MiAzLjU5MTI1IDAuNTA0NzM4QzIuNzkxNTIgMC44NTUyODQgMi4wNzc5NSAxLjM3NjE2IDEuNTAwMzQgMi4wMzA5OUMwLjkyMjcyNiAyLjY4NTgzIDAuNDk1MDA1IDMuNDU4ODUgMC4yNDcwMzMgNC4yOTYwOEMtMC4wMDA5Mzk1MzMgNS4xMzMzIC0wLjA2MzE4NjEgNi4wMTQ1NyAwLjA2NDYzODggNi44NzgzNEMwLjE5MjQ2NCA3Ljc0MjEyIDAuNTA3Mjc5IDguNTY3NTggMC45ODcxMDcgOS4yOTcxMUMxLjQ2NjkzIDEwLjAyNjYgMi4xMDAyMSAxMC42NDI2IDIuODQyNzIgMTEuMTAyMUMzLjU4NTIzIDExLjU2MTYgNC40MTkwOCAxMS44NTM1IDUuMjg2MDYgMTEuOTU3NEM2LjE1MzAzIDEyLjA2MTMgNy4wMzIyNCAxMS45NzQ3IDcuODYyMyAxMS43MDM3QzguMDA0MTIgMTEuNjU3MyA4LjEyMTczIDExLjU1NjUgOC4xODkyNCAxMS40MjM1QzguMjU2NzUgMTEuMjkwNCA4LjI2ODY0IDExLjEzNiA4LjIyMjMgMTAuOTk0MkM4LjE3NTk1IDEwLjg1MjMgOC4wNzUxNiAxMC43MzQ3IDcuOTQyMSAxMC42NjcyQzcuODA5MDUgMTAuNTk5NyA3LjY1NDYyIDEwLjU4NzggNy41MTI4IDEwLjYzNDJDNi42MTA3NyAxMC45Mjg3IDUuNjQyNCAxMC45NTM2IDQuNzI2NDQgMTAuNzA1OEMzLjgxMDQ4IDEwLjQ1OCAyLjk4Njc1IDkuOTQ4MjUgMi4zNTYyNyA5LjIzOTFDMS43MjU4IDguNTI5OTUgMS4zMTU5OCA3LjY1MjIxIDEuMTc3MDkgNi43MTM1NEMxLjAzODIgNS43NzQ4NyAxLjE3NjI3IDQuODE2MDcgMS41NzQzNiAzLjk1NDczQzEuOTcyNDYgMy4wOTMzOCAyLjYxMzI3IDIuMzY2OTQgMy40MTgyMiAxLjg2NDQ5QzQuMjIzMTcgMS4zNjIwNCA1LjE1NzI1IDEuMTA1NDMgNi4xMDU5MiAxLjEyNjEzQzcuMDU0NTggMS4xNDY4MyA3Ljk3NjU5IDEuNDQzOTMgOC43NTg4NSAxLjk4MTAxQzkuNTQxMTIgMi41MTgwOSAxMC4xNDk2IDMuMjcxNzggMTAuNTA5OCA0LjE0OTY3QzEwLjU2NjQgNC4yODc3MiAxMC42NzU1IDQuMzk3NjMgMTAuODEzMSA0LjQ1NTIyQzEwLjg4MTMgNC40ODM3NCAxMC45NTQ0IDQuNDk4NTYgMTEuMDI4MiA0LjQ5ODgzQzExLjEwMjEgNC40OTkxIDExLjE3NTMgNC40ODQ4MiAxMS4yNDM3IDQuNDU2OEMxMS4zMTIgNC40Mjg3OCAxMS4zNzQyIDQuMzg3NTcgMTEuNDI2NiA0LjMzNTUyQzExLjQ3OSA0LjI4MzQ3IDExLjUyMDcgNC4yMjE2MSAxMS41NDkyIDQuMTUzNDdDMTEuNTc3NyA0LjA4NTMyIDExLjU5MjYgNC4wMTIyMiAxMS41OTI4IDMuOTM4MzVDMTEuNTkzMSAzLjg2NDQ4IDExLjU3ODggMy43OTEyNyAxMS41NTA4IDMuNzIyOTJDMTEuMTA3NiAyLjY0MjM5IDEwLjM1ODYgMS43MTQ3IDkuMzk1OCAxLjA1MzY1QzguNDMyOTkgMC4zOTI1ODcgNy4yOTgxNyAwLjAyNjg5NDYgNi4xMzA1NSAwLjAwMTQyMDQ5Wk02LjU2MTggMi44MTI0MkM2LjU2MTggMi42NjMyNCA2LjUwMjUzIDIuNTIwMTYgNi4zOTcwNCAyLjQxNDY3QzYuMjkxNTUgMi4zMDkxOCA2LjE0ODQ4IDIuMjQ5OTIgNS45OTkzIDIuMjQ5OTJDNS44NTAxMSAyLjI0OTkyIDUuNzA3MDQgMi4zMDkxOCA1LjYwMTU1IDIuNDE0NjdDNS40OTYwNiAyLjUyMDE2IDUuNDM2OCAyLjY2MzI0IDUuNDM2OCAyLjgxMjQyVjUuNzY3NDJMMy45MTEzIDcuMjkyMTdDMy44NTYwMyA3LjM0MzY3IDMuODExNyA3LjQwNTc3IDMuNzgwOTYgNy40NzQ3N0MzLjc1MDIyIDcuNTQzNzcgMy43MzM2OCA3LjYxODI1IDMuNzMyMzUgNy42OTM3OEMzLjczMTAyIDcuNzY5MzEgMy43NDQ5MSA3Ljg0NDMzIDMuNzczMiA3LjkxNDM3QzMuODAxNDkgNy45ODQ0MSAzLjg0MzYgOC4wNDgwNCAzLjg5NzAyIDguMTAxNDVDMy45NTA0MyA4LjE1NDg2IDQuMDE0MDYgOC4xOTY5NyA0LjA4NDEgOC4yMjUyNkM0LjE1NDE0IDguMjUzNTUgNC4yMjkxNiA4LjI2NzQ1IDQuMzA0NjkgOC4yNjYxMkM0LjM4MDIxIDguMjY0NzggNC40NTQ3IDguMjQ4MjUgNC41MjM3IDguMjE3NTFDNC41OTI3IDguMTg2NzYgNC42NTQ4IDguMTQyNDQgNC43MDYzIDguMDg3MTdMNi4zOTY4IDYuMzk3NDJMNi41NjE4IDYuMjMyNDJWMi44MTI0MlpNMTEuMjQ5MyAxMS4yNDk5QzExLjI0OTMgMTEuNDQ4OCAxMS4xNzAzIDExLjYzOTYgMTEuMDI5NiAxMS43ODAzQzEwLjg4OSAxMS45MjA5IDEwLjY5ODIgMTEuOTk5OSAxMC40OTkzIDExLjk5OTlDMTAuMzAwNCAxMS45OTk5IDEwLjEwOTYgMTEuOTIwOSA5Ljk2ODk3IDExLjc4MDNDOS44MjgzMSAxMS42Mzk2IDkuNzQ5MyAxMS40NDg4IDkuNzQ5MyAxMS4yNDk5QzkuNzQ5MyAxMS4wNTEgOS44MjgzMSAxMC44NjAyIDkuOTY4OTcgMTAuNzE5NkMxMC4xMDk2IDEwLjU3ODkgMTAuMzAwNCAxMC40OTk5IDEwLjQ5OTMgMTAuNDk5OUMxMC42OTgyIDEwLjQ5OTkgMTAuODg5IDEwLjU3ODkgMTEuMDI5NiAxMC43MTk2QzExLjE3MDMgMTAuODYwMiAxMS4yNDkzIDExLjA1MSAxMS4yNDkzIDExLjI0OTlaTTExLjA2MTggNi41NjI0MkMxMS4wNjE4IDYuNDEzMjQgMTEuMDAyNSA2LjI3MDE2IDEwLjg5NyA2LjE2NDY3QzEwLjc5MTYgNi4wNTkxOSAxMC42NDg1IDUuOTk5OTIgMTAuNDk5MyA1Ljk5OTkyQzEwLjM1MDEgNS45OTk5MiAxMC4yMDcgNi4wNTkxOSAxMC4xMDE1IDYuMTY0NjdDOS45OTYwNiA2LjI3MDE2IDkuOTM2OCA2LjQxMzI0IDkuOTM2OCA2LjU2MjQyVjkuMTg3NDJDOS45MzY4IDkuMzM2NjEgOS45OTYwNiA5LjQ3OTY4IDEwLjEwMTUgOS41ODUxN0MxMC4yMDcgOS42OTA2NiAxMC4zNTAxIDkuNzQ5OTIgMTAuNDk5MyA5Ljc0OTkyQzEwLjY0ODUgOS43NDk5MiAxMC43OTE2IDkuNjkwNjYgMTAuODk3IDkuNTg1MTdDMTEuMDAyNSA5LjQ3OTY4IDExLjA2MTggOS4zMzY2MSAxMS4wNjE4IDkuMTg3NDJWNi41NjI0MlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImJsYWNrXCIgc3Ryb2tlPVwiYmxhY2tcIiBzdHJva2Utd2lkdGg9XCIyXCIgbWFzaz1cInVybCgjcGF0aC0xLWluc2lkZS0xXzUxMTlfMzE3OClcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzUxMTlfMzE3OFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgbXMtM1wiPnt7IGRvbmUucHVibGlzaERhdGUgfCBkYXRlOiBcIllZWVktTU0tZGRcIn19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MgbXgtMSBtdC0xXCI+QXBwcm92ZWQge3sgZG9uZS5zdWJtaXRDb3VudCAhPT1udWxsID8gZG9uZS5zdWJtaXRDb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fSAvIHt7IGRvbmUuYXBwcm92ZUNvdW50ICE9PW51bGwgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgZG9uZS5hcHByb3ZlQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICctLScgfX08L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcHJvdmVkTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHByb3ZlZE5vRGF0YSAmJiAhYXBwcm92ZWRMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBteS02XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1zcmNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGFtYWludGV4dCBtdC0zXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGFzdWJ0ZXh0XCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciBBcHByb3ZlZCBDaGVja2xpc3RcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8IS0tIEFwcHJvdmVkIGNhcmQgZW5kIC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInJvdyBteS0zXCI+XHJcbiAgICA8bmctY29udGFpbmVyPlxyXG4gICAgICA8ZGl2IG5nYkFjY29yZGlvbj5cclxuICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkl0ZW0gW2NvbGxhcHNlZF09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgPGgyIG5nYkFjY29yZGlvbkhlYWRlcj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImhlYWR0ZXh0XCIgbmdiQWNjb3JkaW9uQnV0dG9uPkFjdGl2aXR5IExvZzxkaXYgY2xhc3M9XCJkaXZpZGVyXCI+PC9kaXY+PC9idXR0b24+XHJcbiAgICAgICAgICA8L2gyPlxyXG4gICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxsaWItYWN0aXZpdHktbG9nPjwvbGliLWFjdGl2aXR5LWxvZz5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
|