tango-app-ui-manage-tickets 3.7.0-beta.7 → 3.7.0-beta.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +37 -0
- package/ng-package.json +7 -0
- package/package.json +12 -25
- package/src/lib/components/add-csm-modal/add-csm-modal.component.html +32 -0
- package/src/lib/components/add-csm-modal/add-csm-modal.component.scss +14 -0
- package/src/lib/components/add-csm-modal/add-csm-modal.component.spec.ts +23 -0
- package/src/lib/components/add-csm-modal/add-csm-modal.component.ts +94 -0
- package/src/lib/components/audit-log/audit-log.component.html +1 -0
- package/src/lib/components/audit-log/audit-log.component.scss +0 -0
- package/src/lib/components/audit-log/audit-log.component.spec.ts +23 -0
- package/src/lib/components/audit-log/audit-log.component.ts +10 -0
- package/src/lib/components/audit-mapping-list/audit-mapping-list.component.html +234 -0
- package/src/lib/components/audit-mapping-list/audit-mapping-list.component.scss +186 -0
- package/src/lib/components/audit-mapping-list/audit-mapping-list.component.spec.ts +23 -0
- package/src/lib/components/audit-mapping-list/audit-mapping-list.component.ts +536 -0
- package/src/lib/components/audit-metrics/audit-metrics.component.html +345 -0
- package/src/lib/components/audit-metrics/audit-metrics.component.scss +34 -0
- package/src/lib/components/audit-metrics/audit-metrics.component.spec.ts +23 -0
- package/src/lib/components/audit-metrics/audit-metrics.component.ts +292 -0
- package/src/lib/components/audit-report-popup/audit-report-popup.component.html +111 -0
- package/src/lib/components/audit-report-popup/audit-report-popup.component.scss +101 -0
- package/src/lib/components/audit-report-popup/audit-report-popup.component.spec.ts +23 -0
- package/src/lib/components/audit-report-popup/audit-report-popup.component.ts +397 -0
- package/src/lib/components/audit-retag/audit-retag.component.html +129 -0
- package/src/lib/components/audit-retag/audit-retag.component.scss +146 -0
- package/src/lib/components/audit-retag/audit-retag.component.spec.ts +23 -0
- package/src/lib/components/audit-retag/audit-retag.component.ts +497 -0
- package/src/lib/components/comment-model/comment-model.component.html +24 -0
- package/src/lib/components/comment-model/comment-model.component.scss +20 -0
- package/src/lib/components/comment-model/comment-model.component.spec.ts +23 -0
- package/src/lib/components/comment-model/comment-model.component.ts +53 -0
- package/src/lib/components/count/count.component.html +54 -0
- package/src/lib/components/count/count.component.scss +14 -0
- package/src/lib/components/count/count.component.spec.ts +23 -0
- package/src/lib/components/count/count.component.ts +82 -0
- package/src/lib/components/custom-select/custom-select.component.html +134 -0
- package/src/lib/components/custom-select/custom-select.component.scss +204 -0
- package/src/lib/components/custom-select/custom-select.component.spec.ts +23 -0
- package/src/lib/components/custom-select/custom-select.component.ts +189 -0
- package/src/lib/components/filter-options/filter-options.component.html +51 -0
- package/src/lib/components/filter-options/filter-options.component.scss +102 -0
- package/src/lib/components/filter-options/filter-options.component.spec.ts +23 -0
- package/src/lib/components/filter-options/filter-options.component.ts +38 -0
- package/src/lib/components/footfall-dic/footfall-dic.component.html +1275 -0
- package/src/lib/components/footfall-dic/footfall-dic.component.scss +273 -0
- package/src/lib/components/footfall-dic/footfall-dic.component.spec.ts +23 -0
- package/src/lib/components/footfall-dic/footfall-dic.component.ts +1206 -0
- package/src/lib/components/footfall-dicview/footfall-dicview.component.html +1136 -0
- package/src/lib/components/footfall-dicview/footfall-dicview.component.scss +416 -0
- package/src/lib/components/footfall-dicview/footfall-dicview.component.spec.ts +23 -0
- package/src/lib/components/footfall-dicview/footfall-dicview.component.ts +1168 -0
- package/src/lib/components/footfall-popup/footfall-popup.component.html +61 -0
- package/src/lib/components/footfall-popup/footfall-popup.component.scss +20 -0
- package/src/lib/components/footfall-popup/footfall-popup.component.spec.ts +23 -0
- package/src/lib/components/footfall-popup/footfall-popup.component.ts +12 -0
- package/src/lib/components/group-select/group-select.component.html +44 -0
- package/src/lib/components/group-select/group-select.component.scss +144 -0
- package/src/lib/components/group-select/group-select.component.spec.ts +23 -0
- package/src/lib/components/group-select/group-select.component.ts +145 -0
- package/src/lib/components/re-trigger/re-trigger.component.html +53 -0
- package/src/lib/components/re-trigger/re-trigger.component.scss +16 -0
- package/src/lib/components/re-trigger/re-trigger.component.spec.ts +23 -0
- package/src/lib/components/re-trigger/re-trigger.component.ts +96 -0
- package/src/lib/components/reactive-select/reactive-select.component.html +18 -0
- package/src/lib/components/reactive-select/reactive-select.component.scss +52 -0
- package/src/lib/components/reactive-select/reactive-select.component.spec.ts +23 -0
- package/src/lib/components/reactive-select/reactive-select.component.ts +104 -0
- package/src/lib/components/remove-audit/remove-audit.component.html +38 -0
- package/src/lib/components/remove-audit/remove-audit.component.scss +27 -0
- package/src/lib/components/remove-audit/remove-audit.component.spec.ts +23 -0
- package/src/lib/components/remove-audit/remove-audit.component.ts +81 -0
- package/src/lib/components/start-audit/start-audit.component.html +174 -0
- package/src/lib/components/start-audit/start-audit.component.scss +185 -0
- package/src/lib/components/start-audit/start-audit.component.spec.ts +23 -0
- package/src/lib/components/start-audit/start-audit.component.ts +772 -0
- package/src/lib/components/tango-manage-tickets/tango-manage-tickets.component.html +43 -0
- package/src/lib/components/tango-manage-tickets/tango-manage-tickets.component.scss +35 -0
- package/src/lib/components/tango-manage-tickets/tango-manage-tickets.component.spec.ts +23 -0
- package/src/lib/components/tango-manage-tickets/tango-manage-tickets.component.ts +118 -0
- package/src/lib/components/ticket-filter-panel/ticket-filter-panel.component.html +386 -0
- package/src/lib/components/ticket-filter-panel/ticket-filter-panel.component.scss +87 -0
- package/src/lib/components/ticket-filter-panel/ticket-filter-panel.component.spec.ts +23 -0
- package/src/lib/components/ticket-filter-panel/ticket-filter-panel.component.ts +493 -0
- package/src/lib/components/ticket-footfall-new/ticket-footfall-new.component.html +3751 -0
- package/src/lib/components/ticket-footfall-new/ticket-footfall-new.component.scss +1240 -0
- package/src/lib/components/ticket-footfall-new/ticket-footfall-new.component.spec.ts +23 -0
- package/src/lib/components/ticket-footfall-new/ticket-footfall-new.component.ts +2863 -0
- package/src/lib/components/ticketclosepopup/ticketclosepopup.component.html +100 -0
- package/src/lib/components/ticketclosepopup/ticketclosepopup.component.scss +34 -0
- package/src/lib/components/ticketclosepopup/ticketclosepopup.component.spec.ts +23 -0
- package/src/lib/components/ticketclosepopup/ticketclosepopup.component.ts +48 -0
- package/src/lib/components/tickets/tickets.component.html +451 -0
- package/src/lib/components/tickets/tickets.component.scss +131 -0
- package/src/lib/components/tickets/tickets.component.spec.ts +23 -0
- package/src/lib/components/tickets/tickets.component.ts +809 -0
- package/src/lib/components/viewcategory/viewcategory.component.html +38 -0
- package/src/lib/components/viewcategory/viewcategory.component.scss +29 -0
- package/src/lib/components/viewcategory/viewcategory.component.spec.ts +23 -0
- package/src/lib/components/viewcategory/viewcategory.component.ts +79 -0
- package/src/lib/services/audit.service.spec.ts +16 -0
- package/src/lib/services/audit.service.ts +98 -0
- package/src/lib/services/excel.service.ts +48 -0
- package/src/lib/services/ticket.service.spec.ts +16 -0
- package/src/lib/services/ticket.service.ts +501 -0
- package/src/lib/services/timer.service.spec.ts +16 -0
- package/src/lib/services/timer.service.ts +92 -0
- package/src/lib/tango-manage-tickets-routing.module.ts +37 -0
- package/src/lib/tango-manage-tickets.module.ts +68 -0
- package/{public-api.d.ts → src/public-api.ts} +8 -2
- package/tsconfig.lib.json +14 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +14 -0
- package/esm2022/lib/components/add-csm-modal/add-csm-modal.component.mjs +0 -98
- package/esm2022/lib/components/audit-log/audit-log.component.mjs +0 -11
- package/esm2022/lib/components/audit-metrics/audit-metrics.component.mjs +0 -298
- package/esm2022/lib/components/comment-model/comment-model.component.mjs +0 -58
- package/esm2022/lib/components/count/count.component.mjs +0 -89
- package/esm2022/lib/components/footfall-dic/footfall-dic.component.mjs +0 -894
- package/esm2022/lib/components/group-select/group-select.component.mjs +0 -155
- package/esm2022/lib/components/re-trigger/re-trigger.component.mjs +0 -96
- package/esm2022/lib/components/reactive-select/reactive-select.component.mjs +0 -108
- package/esm2022/lib/components/tango-manage-tickets/tango-manage-tickets.component.mjs +0 -127
- package/esm2022/lib/components/tickets/tickets.component.mjs +0 -793
- package/esm2022/lib/services/excel.service.mjs +0 -45
- package/esm2022/lib/services/ticket.service.mjs +0 -158
- package/esm2022/lib/tango-manage-tickets-routing.module.mjs +0 -24
- package/esm2022/lib/tango-manage-tickets.module.mjs +0 -54
- package/esm2022/public-api.mjs +0 -6
- package/esm2022/tango-app-ui-manage-tickets.mjs +0 -5
- package/fesm2022/tango-app-ui-manage-tickets.mjs +0 -2914
- package/fesm2022/tango-app-ui-manage-tickets.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/components/add-csm-modal/add-csm-modal.component.d.ts +0 -30
- package/lib/components/audit-log/audit-log.component.d.ts +0 -5
- package/lib/components/audit-metrics/audit-metrics.component.d.ts +0 -59
- package/lib/components/comment-model/comment-model.component.d.ts +0 -17
- package/lib/components/count/count.component.d.ts +0 -23
- package/lib/components/footfall-dic/footfall-dic.component.d.ts +0 -130
- package/lib/components/group-select/group-select.component.d.ts +0 -33
- package/lib/components/re-trigger/re-trigger.component.d.ts +0 -32
- package/lib/components/reactive-select/reactive-select.component.d.ts +0 -32
- package/lib/components/tango-manage-tickets/tango-manage-tickets.component.d.ts +0 -27
- package/lib/components/tickets/tickets.component.d.ts +0 -84
- package/lib/services/excel.service.d.ts +0 -10
- package/lib/services/ticket.service.d.ts +0 -49
- package/lib/tango-manage-tickets-routing.module.d.ts +0 -7
- package/lib/tango-manage-tickets.module.d.ts +0 -21
|
@@ -1,2914 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, Component, Input, HostListener, ViewChild, forwardRef, EventEmitter, Output, NgModule } from '@angular/core';
|
|
3
|
-
import * as i6$1 from '@angular/common';
|
|
4
|
-
import { CommonModule } from '@angular/common';
|
|
5
|
-
import * as i2 from '@angular/router';
|
|
6
|
-
import { RouterModule } from '@angular/router';
|
|
7
|
-
import { BehaviorSubject, Subject, takeUntil } from 'rxjs';
|
|
8
|
-
import * as i1$1 from 'tango-app-ui-global';
|
|
9
|
-
import * as i1 from '@angular/common/http';
|
|
10
|
-
import { HttpParams } from '@angular/common/http';
|
|
11
|
-
import * as i6 from '@angular/forms';
|
|
12
|
-
import { FormControl, NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
13
|
-
import * as i1$2 from '@ng-bootstrap/ng-bootstrap';
|
|
14
|
-
import * as i4 from 'tango-app-ui-shared';
|
|
15
|
-
import { CommonSharedModule } from 'tango-app-ui-shared';
|
|
16
|
-
import * as FileSaver from 'file-saver';
|
|
17
|
-
import * as XLSX from 'xlsx';
|
|
18
|
-
import dayjs from 'dayjs';
|
|
19
|
-
import 'dayjs/locale/en';
|
|
20
|
-
|
|
21
|
-
class TicketService {
|
|
22
|
-
http;
|
|
23
|
-
gs;
|
|
24
|
-
userApiUrl;
|
|
25
|
-
ticketsApiUrl;
|
|
26
|
-
auditApiUrl;
|
|
27
|
-
auditmetricApiUrl;
|
|
28
|
-
zoneauditApiUrl;
|
|
29
|
-
footfallDirapiUrl;
|
|
30
|
-
footfallCDN;
|
|
31
|
-
trafficApiUrl;
|
|
32
|
-
dropDownTrigger = new BehaviorSubject(null);
|
|
33
|
-
constructor(http, gs) {
|
|
34
|
-
this.http = http;
|
|
35
|
-
this.gs = gs;
|
|
36
|
-
this.gs.environment.subscribe((env) => {
|
|
37
|
-
if (env) {
|
|
38
|
-
this.userApiUrl = env.userApiUrl;
|
|
39
|
-
this.ticketsApiUrl = env.ticketsApiUrl;
|
|
40
|
-
this.auditmetricApiUrl = env.auditmetricApiUrl;
|
|
41
|
-
this.auditApiUrl = env.auditApiUrl;
|
|
42
|
-
this.zoneauditApiUrl = env.zoneauditApiUrl;
|
|
43
|
-
this.footfallDirapiUrl = env.footfallDirapiUrl;
|
|
44
|
-
this.footfallCDN = env.footfallCDN;
|
|
45
|
-
this.trafficApiUrl = env.trafficApiUrl;
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
getUserList(params) {
|
|
50
|
-
return this.http.post(`${this.userApiUrl}/get-list`, params);
|
|
51
|
-
}
|
|
52
|
-
exportInstallationList(data) {
|
|
53
|
-
return this.http.post(`${this.ticketsApiUrl}/infra/installationTable`, data, { responseType: 'arraybuffer' });
|
|
54
|
-
}
|
|
55
|
-
exportInfraList(data) {
|
|
56
|
-
return this.http.post(`${this.ticketsApiUrl}/infra/infraTable`, data, { responseType: 'arraybuffer' });
|
|
57
|
-
}
|
|
58
|
-
exportMatList(data) {
|
|
59
|
-
return this.http.post(`${this.ticketsApiUrl}/infra/matTable`, data, { responseType: 'arraybuffer' });
|
|
60
|
-
}
|
|
61
|
-
getSotresList(data) {
|
|
62
|
-
return this.http.post(`${this.ticketsApiUrl}/infra/storeFilter`, data);
|
|
63
|
-
}
|
|
64
|
-
getInstallationList(data) {
|
|
65
|
-
return this.http.post(`${this.ticketsApiUrl}/infra/installationTable`, data);
|
|
66
|
-
}
|
|
67
|
-
getInfraList(data) {
|
|
68
|
-
return this.http.post(`${this.ticketsApiUrl}/infra/infraTable`, data);
|
|
69
|
-
}
|
|
70
|
-
getAssignTicket(data) {
|
|
71
|
-
return this.http.post(`${this.ticketsApiUrl}/infra/assignTicket`, data);
|
|
72
|
-
}
|
|
73
|
-
getMatList(data) {
|
|
74
|
-
return this.http.post(`${this.ticketsApiUrl}/infra/matTable`, data);
|
|
75
|
-
}
|
|
76
|
-
updateTicketIssue(data) {
|
|
77
|
-
return this.http.post(`${this.ticketsApiUrl}/employeeTraning/updatecomment`, data);
|
|
78
|
-
}
|
|
79
|
-
getUserActiveList(params) {
|
|
80
|
-
return this.http.post(`${this.userApiUrl}/list`, params);
|
|
81
|
-
}
|
|
82
|
-
getDataMismathList(data) {
|
|
83
|
-
return this.http.post(`${this.ticketsApiUrl}/infra/dataMismatchTable`, data);
|
|
84
|
-
}
|
|
85
|
-
exportDataMismatchList(data) {
|
|
86
|
-
return this.http.post(`${this.ticketsApiUrl}/infra/dataMismatchTable`, data, { responseType: 'arraybuffer' });
|
|
87
|
-
}
|
|
88
|
-
getAllCounts(data) {
|
|
89
|
-
return this.http.post(`${this.ticketsApiUrl}/infra/allCounts`, data);
|
|
90
|
-
}
|
|
91
|
-
getstoreMetrics(data) {
|
|
92
|
-
return this.http.post(`${this.auditApiUrl}/metrics/store-metrics`, data);
|
|
93
|
-
}
|
|
94
|
-
getstoreMetricsExport(data) {
|
|
95
|
-
return this.http.post(`${this.auditApiUrl}/metrics/store-metrics`, data, { responseType: 'arraybuffer' });
|
|
96
|
-
}
|
|
97
|
-
getclientList() {
|
|
98
|
-
return this.http.get(`${this.auditApiUrl}/clients`);
|
|
99
|
-
}
|
|
100
|
-
getuserList() {
|
|
101
|
-
return this.http.get(`${this.auditApiUrl}/tango-users`);
|
|
102
|
-
}
|
|
103
|
-
auditretrigger(data) {
|
|
104
|
-
return this.http.post(`${this.auditApiUrl}/metrics/re-trigger`, data);
|
|
105
|
-
}
|
|
106
|
-
getstoreList(data) {
|
|
107
|
-
return this.http.post(`${this.auditApiUrl}/audit-stores`, data);
|
|
108
|
-
}
|
|
109
|
-
getAuditImages(data) {
|
|
110
|
-
return this.http.get(`${this.auditApiUrl}/audit-images?fileDate=${data?.fileDate}&storeId=${data?.storeId}&imageType=${data?.imageType}&export=${data?.export}&zoneName=${data?.zoneName}&moduleType=${data?.moduleType}`);
|
|
111
|
-
}
|
|
112
|
-
ExportAuditImagesasxlsx(data) {
|
|
113
|
-
return this.http.get(`${this.auditApiUrl}/audit-images?fileDate=${data?.fileDate}&storeId=${data?.storeId}&imageType=${data?.imageType}&export=${data?.export}&zoneName=${data?.zoneName}&moduleType=${data?.moduleType}`, { responseType: 'arraybuffer' });
|
|
114
|
-
}
|
|
115
|
-
getTicketSummaryApi(client, fromDate, toDate) {
|
|
116
|
-
return this.http.get(`${this.footfallDirapiUrl}/ticket-summary?clientId=${client}&fromDate=${fromDate}&toDate=${toDate}`);
|
|
117
|
-
}
|
|
118
|
-
getTicketListApi(client, fromDate, toDate, searchvalue, limit, offset, isExport, sortBy, sortOrder) {
|
|
119
|
-
return this.http.get(`${this.footfallDirapiUrl}/ticket-list?clientId=${client}&fromDate=${fromDate}&toDate=${toDate}&searchValue=${searchvalue}&limit=${limit}&offset=${offset}&isExport=${isExport}&sortBy=${sortBy}&sortOrder=${sortOrder}`);
|
|
120
|
-
}
|
|
121
|
-
getTicketListExportApi(client, fromDate, toDate, searchvalue, limit, offset, isExport, sortBy, sortOrder) {
|
|
122
|
-
return this.http.get(`${this.footfallDirapiUrl}/ticket-list?clientId=${client}&fromDate=${fromDate}&toDate=${toDate}&searchValue=${searchvalue}&limit=${limit}&offset=${offset}&isExport=${isExport}&sortBy=${sortBy}&sortOrder=${sortOrder}`, { responseType: 'arraybuffer' });
|
|
123
|
-
}
|
|
124
|
-
getTicketsApi(store, fromDate, toDate, revopsType, status, action, offset, limit) {
|
|
125
|
-
let params = new HttpParams()
|
|
126
|
-
.set('storeId', store)
|
|
127
|
-
.set('fromDate', fromDate)
|
|
128
|
-
.set('toDate', toDate)
|
|
129
|
-
.set('offset', offset)
|
|
130
|
-
.set('limit', limit);
|
|
131
|
-
if (revopsType) {
|
|
132
|
-
params = params.set('revopsType', revopsType);
|
|
133
|
-
}
|
|
134
|
-
if (status) {
|
|
135
|
-
params = params.set('status', status);
|
|
136
|
-
}
|
|
137
|
-
if (action) {
|
|
138
|
-
params = params.set('action', action);
|
|
139
|
-
}
|
|
140
|
-
return this.http.get(`${this.footfallDirapiUrl}/get-tickets`, { params });
|
|
141
|
-
}
|
|
142
|
-
getTaggedStoresApi(client, fromDate, toDate, searchValue, clusters) {
|
|
143
|
-
let params = new HttpParams()
|
|
144
|
-
.set('clientId', client)
|
|
145
|
-
.set('fromDate', fromDate)
|
|
146
|
-
.set('toDate', toDate); // Add searchValue as an empty string if not provided
|
|
147
|
-
// Only add 'clusters' if it's not null, undefined, or an empty array/string
|
|
148
|
-
if (searchValue) {
|
|
149
|
-
params = params.set('searchValue', searchValue);
|
|
150
|
-
}
|
|
151
|
-
if (clusters && clusters.length > 0) {
|
|
152
|
-
params = params.set('clusters', clusters);
|
|
153
|
-
}
|
|
154
|
-
return this.http.get(`${this.footfallDirapiUrl}/get-tagged-stores`, { params });
|
|
155
|
-
}
|
|
156
|
-
getUpdateStatusApi(data) {
|
|
157
|
-
const url = `${this.footfallDirapiUrl}/update-status`;
|
|
158
|
-
return this.http.put(url, data);
|
|
159
|
-
}
|
|
160
|
-
getclusters(data) {
|
|
161
|
-
return this.http.post(`${this.trafficApiUrl}/headercluster_v2`, data);
|
|
162
|
-
}
|
|
163
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TicketService, deps: [{ token: i1.HttpClient }, { token: i1$1.GlobalStateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
164
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TicketService, providedIn: 'root' });
|
|
165
|
-
}
|
|
166
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TicketService, decorators: [{
|
|
167
|
-
type: Injectable,
|
|
168
|
-
args: [{
|
|
169
|
-
providedIn: 'root'
|
|
170
|
-
}]
|
|
171
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i1$1.GlobalStateService }] });
|
|
172
|
-
|
|
173
|
-
class AddCsmModalComponent {
|
|
174
|
-
activeModal;
|
|
175
|
-
gs;
|
|
176
|
-
service;
|
|
177
|
-
toast;
|
|
178
|
-
ticketId;
|
|
179
|
-
csmUserList = [];
|
|
180
|
-
csmSelectInput = new FormControl("");
|
|
181
|
-
destroy$ = new Subject();
|
|
182
|
-
headerFilters;
|
|
183
|
-
userList_req;
|
|
184
|
-
users = [];
|
|
185
|
-
userList = [];
|
|
186
|
-
constructor(activeModal, gs, service, toast) {
|
|
187
|
-
this.activeModal = activeModal;
|
|
188
|
-
this.gs = gs;
|
|
189
|
-
this.service = service;
|
|
190
|
-
this.toast = toast;
|
|
191
|
-
}
|
|
192
|
-
ngOnInit() {
|
|
193
|
-
const userData = JSON.parse(localStorage.getItem("user-info") || "{}");
|
|
194
|
-
this.users = userData;
|
|
195
|
-
this.gs.dataRangeValue?.pipe(takeUntil(this.destroy$))?.subscribe({
|
|
196
|
-
next: (data) => {
|
|
197
|
-
if (data) {
|
|
198
|
-
this.headerFilters = data;
|
|
199
|
-
this.userList_req = {
|
|
200
|
-
"userType": this.users.userType, "isActive": true
|
|
201
|
-
// clientId: this.headerFilters.client,
|
|
202
|
-
// limit: 10000,
|
|
203
|
-
// offset: 1,
|
|
204
|
-
// userType: this.users.userType,
|
|
205
|
-
// FilterByStatus:'isActive'
|
|
206
|
-
};
|
|
207
|
-
this.getuserlist();
|
|
208
|
-
}
|
|
209
|
-
},
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
ngOnDestroy() {
|
|
213
|
-
this.destroy$.next(true);
|
|
214
|
-
this.destroy$.complete();
|
|
215
|
-
}
|
|
216
|
-
getuserlist() {
|
|
217
|
-
this.service
|
|
218
|
-
.getUserActiveList(this.userList_req)
|
|
219
|
-
.pipe(takeUntil(this.destroy$))
|
|
220
|
-
.subscribe((res) => {
|
|
221
|
-
if (res && res.code === 200) {
|
|
222
|
-
this.userList = res?.data?.result;
|
|
223
|
-
}
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
assignCsm() {
|
|
227
|
-
let obj = {
|
|
228
|
-
tickets: this.ticketId,
|
|
229
|
-
user: this.csmSelectInput.value,
|
|
230
|
-
};
|
|
231
|
-
this.service
|
|
232
|
-
.getAssignTicket(obj)
|
|
233
|
-
.pipe(takeUntil(this.destroy$))
|
|
234
|
-
.subscribe({
|
|
235
|
-
next: (res) => {
|
|
236
|
-
if (res && res.code === 200) {
|
|
237
|
-
this.toast.getSuccessToast(res.message);
|
|
238
|
-
this.activeModal.close("submit");
|
|
239
|
-
}
|
|
240
|
-
},
|
|
241
|
-
error: (err) => {
|
|
242
|
-
this.toast.getErrorToast(err.error.error ? err.error.error : err.error);
|
|
243
|
-
},
|
|
244
|
-
complete: () => { },
|
|
245
|
-
});
|
|
246
|
-
}
|
|
247
|
-
onCsmSelect(selectedCsm) {
|
|
248
|
-
this.csmSelectInput.setValue(selectedCsm?._id);
|
|
249
|
-
}
|
|
250
|
-
cancel() {
|
|
251
|
-
this.activeModal.close("submit");
|
|
252
|
-
}
|
|
253
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddCsmModalComponent, deps: [{ token: i1$2.NgbActiveModal }, { token: i1$1.GlobalStateService }, { token: TicketService }, { token: i4.ToastService }], target: i0.ɵɵFactoryTarget.Component });
|
|
254
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AddCsmModalComponent, selector: "lib-add-csm-modal", inputs: { ticketId: "ticketId" }, ngImport: i0, template: "<div class=\"card py-0\">\r\n <div class=\"card-body py-0 d-flex flex-start flex-column p-9 \">\r\n <div class=\"my-5\">\r\n <div class=\"symbol symbol-75px symbol-circle\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#DAF1FF\"/>\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#EAF8FF\" stroke-width=\"8\"/>\r\n <path d=\"M32 37V35C32 33.9391 31.5786 32.9217 30.8284 32.1716C30.0783 31.4214 29.0609 31 28 31H21C19.9391 31 18.9217 31.4214 18.1716 32.1716C17.4214 32.9217 17 33.9391 17 35V37M36 24V30M39 27H33M28.5 23C28.5 25.2091 26.7091 27 24.5 27C22.2909 27 20.5 25.2091 20.5 23C20.5 20.7909 22.2909 19 24.5 19C26.7091 19 28.5 20.7909 28.5 23Z\" stroke=\"#00A3FF\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <a class=\"fs-4 text-gray-800 text-hover-primary fw-bold mb-0 title cursor-pointer\">Assign Ticket</a>\r\n <p class=\"text-sub\">Assign the ticket to a particular user</p>\r\n <div class=\"mt-5 w-100\">\r\n <!-- <lib-reactive-select [formControl]=\"csmSelectInput\" [idField]=\"'email'\" [nameField]=\"'userName'\" [data]=\"csmUserList\" ></lib-reactive-select> -->\r\n\r\n <!-- <select [formControl]=\"csmSelectInput\" class=\"form-select border-val my-3\">\r\n <option [value]=\"user.email\" *ngFor=\"let user of csmUserList\">{{user.userName}}</option>\r\n </select> -->\r\n\r\n <lib-select [items]=\"userList\" [multi]=\"false\" [searchField]=\"'userName'\" [idField]=\"'_id'\"\r\n (selected)=\"onCsmSelect($event)\" ></lib-select>\r\n\r\n <div class=\"d-flex my-7\" role=\"group\">\r\n <button class=\"btn btn-outline w-100 me-3\" (click)=\"cancel()\">Cancel</button>\r\n <button class=\"btn btn-primary w-100 ms-3\" [disabled]=\"!csmSelectInput.value\" (click)=\"assignCsm()\">Submit</button>\r\n </div>\r\n \r\n </div>\r\n\r\n </div>\r\n</div>", styles: ["::ng-deep .modal-content{border-radius:12px!important;overflow:unset!important}::ng-deep ngb-modal-window .component-host-scrollable{overflow:unset!important}.text-sub{color:var(--Gray-500, #667085)!important;font-size:14px;font-weight:400;line-height:20px}\n"], dependencies: [{ kind: "component", type: i4.CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }] });
|
|
255
|
-
}
|
|
256
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddCsmModalComponent, decorators: [{
|
|
257
|
-
type: Component,
|
|
258
|
-
args: [{ selector: "lib-add-csm-modal", template: "<div class=\"card py-0\">\r\n <div class=\"card-body py-0 d-flex flex-start flex-column p-9 \">\r\n <div class=\"my-5\">\r\n <div class=\"symbol symbol-75px symbol-circle\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#DAF1FF\"/>\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#EAF8FF\" stroke-width=\"8\"/>\r\n <path d=\"M32 37V35C32 33.9391 31.5786 32.9217 30.8284 32.1716C30.0783 31.4214 29.0609 31 28 31H21C19.9391 31 18.9217 31.4214 18.1716 32.1716C17.4214 32.9217 17 33.9391 17 35V37M36 24V30M39 27H33M28.5 23C28.5 25.2091 26.7091 27 24.5 27C22.2909 27 20.5 25.2091 20.5 23C20.5 20.7909 22.2909 19 24.5 19C26.7091 19 28.5 20.7909 28.5 23Z\" stroke=\"#00A3FF\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <a class=\"fs-4 text-gray-800 text-hover-primary fw-bold mb-0 title cursor-pointer\">Assign Ticket</a>\r\n <p class=\"text-sub\">Assign the ticket to a particular user</p>\r\n <div class=\"mt-5 w-100\">\r\n <!-- <lib-reactive-select [formControl]=\"csmSelectInput\" [idField]=\"'email'\" [nameField]=\"'userName'\" [data]=\"csmUserList\" ></lib-reactive-select> -->\r\n\r\n <!-- <select [formControl]=\"csmSelectInput\" class=\"form-select border-val my-3\">\r\n <option [value]=\"user.email\" *ngFor=\"let user of csmUserList\">{{user.userName}}</option>\r\n </select> -->\r\n\r\n <lib-select [items]=\"userList\" [multi]=\"false\" [searchField]=\"'userName'\" [idField]=\"'_id'\"\r\n (selected)=\"onCsmSelect($event)\" ></lib-select>\r\n\r\n <div class=\"d-flex my-7\" role=\"group\">\r\n <button class=\"btn btn-outline w-100 me-3\" (click)=\"cancel()\">Cancel</button>\r\n <button class=\"btn btn-primary w-100 ms-3\" [disabled]=\"!csmSelectInput.value\" (click)=\"assignCsm()\">Submit</button>\r\n </div>\r\n \r\n </div>\r\n\r\n </div>\r\n</div>", styles: ["::ng-deep .modal-content{border-radius:12px!important;overflow:unset!important}::ng-deep ngb-modal-window .component-host-scrollable{overflow:unset!important}.text-sub{color:var(--Gray-500, #667085)!important;font-size:14px;font-weight:400;line-height:20px}\n"] }]
|
|
259
|
-
}], ctorParameters: () => [{ type: i1$2.NgbActiveModal }, { type: i1$1.GlobalStateService }, { type: TicketService }, { type: i4.ToastService }], propDecorators: { ticketId: [{
|
|
260
|
-
type: Input
|
|
261
|
-
}] } });
|
|
262
|
-
|
|
263
|
-
class CommentModelComponent {
|
|
264
|
-
activeModal;
|
|
265
|
-
service;
|
|
266
|
-
toast;
|
|
267
|
-
ticketId;
|
|
268
|
-
comment = "";
|
|
269
|
-
destroy$ = new Subject();
|
|
270
|
-
constructor(activeModal, service, toast) {
|
|
271
|
-
this.activeModal = activeModal;
|
|
272
|
-
this.service = service;
|
|
273
|
-
this.toast = toast;
|
|
274
|
-
}
|
|
275
|
-
cancel() {
|
|
276
|
-
this.activeModal.close();
|
|
277
|
-
}
|
|
278
|
-
commentSubmit() {
|
|
279
|
-
if (this.comment == '') {
|
|
280
|
-
return this.toast.getErrorToast("Please Enter Any comment");
|
|
281
|
-
}
|
|
282
|
-
let obj = {
|
|
283
|
-
"ticketId": this.ticketId,
|
|
284
|
-
"primary": "",
|
|
285
|
-
"secondary": [],
|
|
286
|
-
"comment": this.comment,
|
|
287
|
-
};
|
|
288
|
-
this.service
|
|
289
|
-
.updateTicketIssue(obj)
|
|
290
|
-
.pipe(takeUntil(this.destroy$))
|
|
291
|
-
.subscribe({
|
|
292
|
-
next: (res) => {
|
|
293
|
-
if (res && res.code === 200) {
|
|
294
|
-
this.toast.getSuccessToast(res.message);
|
|
295
|
-
this.activeModal.close("submit");
|
|
296
|
-
}
|
|
297
|
-
},
|
|
298
|
-
error: (err) => {
|
|
299
|
-
this.toast.getErrorToast(err.error.error ? err.error.error : err.error);
|
|
300
|
-
},
|
|
301
|
-
complete: () => { },
|
|
302
|
-
});
|
|
303
|
-
}
|
|
304
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommentModelComponent, deps: [{ token: i1$2.NgbActiveModal }, { token: TicketService }, { token: i4.ToastService }], target: i0.ɵɵFactoryTarget.Component });
|
|
305
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CommentModelComponent, selector: "lib-comment-model", inputs: { ticketId: "ticketId" }, ngImport: i0, template: "<div class=\"card py-0\">\r\n <div class=\"card-body py-0 d-flex flex-start flex-column p-9 \">\r\n <div class=\"my-5\">\r\n <div class=\"symbol symbol-75px symbol-circle\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#DAF1FF\"/>\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#EAF8FF\" stroke-width=\"8\"/>\r\n <path d=\"M37 31C37 31.5304 36.7893 32.0391 36.4142 32.4142C36.0391 32.7893 35.5304 33 35 33H23L19 37V21C19 20.4696 19.2107 19.9609 19.5858 19.5858C19.9609 19.2107 20.4696 19 21 19H35C35.5304 19 36.0391 19.2107 36.4142 19.5858C36.7893 19.9609 37 20.4696 37 21V31Z\" stroke=\"#00A3FF\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <a class=\"fs-4 text-gray-800 text-hover-primary fw-bold mb-0 title cursor-pointer\">Comment</a>\r\n <p class=\"text-sub\">Add comment for the ticket</p>\r\n <div class=\"w-100\">\r\n <label class=\"label my-2\">Comments</label>\r\n <textarea class=\"form-control\" [(ngModel)]=\"comment\" rows=\"4\" type=\"text\"></textarea>\r\n\r\n <div class=\"d-flex my-7\" role=\"group\">\r\n <button class=\"btn btn-outline w-100 me-3\" (click)=\"cancel()\">Cancel</button>\r\n <button class=\"btn btn-primary w-100 ms-3\" (click)=\"commentSubmit()\">Submit</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: ["::ng-deep .modal-content{border-radius:12px!important;overflow:unset!important}::ng-deep ngb-modal-window .component-host-scrollable{overflow:unset!important}.text-sub{color:var(--Gray-500, #667085)!important;font-size:14px;font-weight:400;line-height:20px}.label{color:var(--Gray-700, #344054)!important;font-size:14px;font-weight:500;line-height:20px}\n"], dependencies: [{ kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
306
|
-
}
|
|
307
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommentModelComponent, decorators: [{
|
|
308
|
-
type: Component,
|
|
309
|
-
args: [{ selector: 'lib-comment-model', template: "<div class=\"card py-0\">\r\n <div class=\"card-body py-0 d-flex flex-start flex-column p-9 \">\r\n <div class=\"my-5\">\r\n <div class=\"symbol symbol-75px symbol-circle\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#DAF1FF\"/>\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#EAF8FF\" stroke-width=\"8\"/>\r\n <path d=\"M37 31C37 31.5304 36.7893 32.0391 36.4142 32.4142C36.0391 32.7893 35.5304 33 35 33H23L19 37V21C19 20.4696 19.2107 19.9609 19.5858 19.5858C19.9609 19.2107 20.4696 19 21 19H35C35.5304 19 36.0391 19.2107 36.4142 19.5858C36.7893 19.9609 37 20.4696 37 21V31Z\" stroke=\"#00A3FF\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <a class=\"fs-4 text-gray-800 text-hover-primary fw-bold mb-0 title cursor-pointer\">Comment</a>\r\n <p class=\"text-sub\">Add comment for the ticket</p>\r\n <div class=\"w-100\">\r\n <label class=\"label my-2\">Comments</label>\r\n <textarea class=\"form-control\" [(ngModel)]=\"comment\" rows=\"4\" type=\"text\"></textarea>\r\n\r\n <div class=\"d-flex my-7\" role=\"group\">\r\n <button class=\"btn btn-outline w-100 me-3\" (click)=\"cancel()\">Cancel</button>\r\n <button class=\"btn btn-primary w-100 ms-3\" (click)=\"commentSubmit()\">Submit</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: ["::ng-deep .modal-content{border-radius:12px!important;overflow:unset!important}::ng-deep ngb-modal-window .component-host-scrollable{overflow:unset!important}.text-sub{color:var(--Gray-500, #667085)!important;font-size:14px;font-weight:400;line-height:20px}.label{color:var(--Gray-700, #344054)!important;font-size:14px;font-weight:500;line-height:20px}\n"] }]
|
|
310
|
-
}], ctorParameters: () => [{ type: i1$2.NgbActiveModal }, { type: TicketService }, { type: i4.ToastService }], propDecorators: { ticketId: [{
|
|
311
|
-
type: Input
|
|
312
|
-
}] } });
|
|
313
|
-
|
|
314
|
-
const EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';
|
|
315
|
-
const EXCEL_EXTENSION = '.xlsx';
|
|
316
|
-
const ZIP_TYPE = 'application/zip';
|
|
317
|
-
const ZIP_EXTENSION = '.zip';
|
|
318
|
-
class ExcelService {
|
|
319
|
-
constructor() { }
|
|
320
|
-
exportAsExcelFile(json, excelFileName) {
|
|
321
|
-
const worksheet = XLSX.utils.json_to_sheet(json);
|
|
322
|
-
const workbook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };
|
|
323
|
-
const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });
|
|
324
|
-
this.saveAsExcelFile(excelBuffer, excelFileName);
|
|
325
|
-
}
|
|
326
|
-
saveAsExcelFile(buffer, fileName) {
|
|
327
|
-
console.log(buffer, fileName);
|
|
328
|
-
const data = new Blob([buffer], {
|
|
329
|
-
type: EXCEL_TYPE
|
|
330
|
-
});
|
|
331
|
-
FileSaver.saveAs(data, fileName + 'list' + EXCEL_EXTENSION);
|
|
332
|
-
}
|
|
333
|
-
saveAsTemplate(buffer, fileName) {
|
|
334
|
-
const data = new Blob([buffer], {
|
|
335
|
-
type: EXCEL_TYPE
|
|
336
|
-
});
|
|
337
|
-
FileSaver.saveAs(data, fileName + EXCEL_EXTENSION);
|
|
338
|
-
}
|
|
339
|
-
saveAsZipFile(buffer, fileName) {
|
|
340
|
-
const data = new Blob([buffer], {
|
|
341
|
-
type: ZIP_TYPE
|
|
342
|
-
});
|
|
343
|
-
FileSaver.saveAs(data, fileName + 'Images' + ZIP_EXTENSION);
|
|
344
|
-
}
|
|
345
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ExcelService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
346
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ExcelService, providedIn: 'root' });
|
|
347
|
-
}
|
|
348
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ExcelService, decorators: [{
|
|
349
|
-
type: Injectable,
|
|
350
|
-
args: [{
|
|
351
|
-
providedIn: 'root'
|
|
352
|
-
}]
|
|
353
|
-
}], ctorParameters: () => [] });
|
|
354
|
-
|
|
355
|
-
class TicketsComponent {
|
|
356
|
-
cd;
|
|
357
|
-
router;
|
|
358
|
-
route;
|
|
359
|
-
gs;
|
|
360
|
-
modalService;
|
|
361
|
-
service;
|
|
362
|
-
excelservice;
|
|
363
|
-
type = "Infra";
|
|
364
|
-
searchValue = "";
|
|
365
|
-
selectedTab = "total";
|
|
366
|
-
// paginationVariables
|
|
367
|
-
itemsPerPage = 10;
|
|
368
|
-
currentPage = 1;
|
|
369
|
-
totalItems = 0;
|
|
370
|
-
paginationSizes = [10, 20, 30];
|
|
371
|
-
pageSize = 10;
|
|
372
|
-
destroy$ = new Subject();
|
|
373
|
-
assignTicket = false;
|
|
374
|
-
filterByStores = [];
|
|
375
|
-
filterByinstalled = [];
|
|
376
|
-
filterByStatus = [];
|
|
377
|
-
filterByQueryType = [];
|
|
378
|
-
issueType = [];
|
|
379
|
-
sortedColumn;
|
|
380
|
-
sortDirection;
|
|
381
|
-
headerFilters;
|
|
382
|
-
userList_req;
|
|
383
|
-
userList = [];
|
|
384
|
-
dataObject = [];
|
|
385
|
-
storeList = [];
|
|
386
|
-
statusType;
|
|
387
|
-
typeName;
|
|
388
|
-
users;
|
|
389
|
-
limit = 10;
|
|
390
|
-
offset = 1;
|
|
391
|
-
sortBy = -1;
|
|
392
|
-
sortColumName = "";
|
|
393
|
-
listArray = [];
|
|
394
|
-
tableListArray = [];
|
|
395
|
-
loading = true;
|
|
396
|
-
noData = false;
|
|
397
|
-
selectAll = false;
|
|
398
|
-
assignStores = [];
|
|
399
|
-
issueTypeList = [];
|
|
400
|
-
queryTypeList = [];
|
|
401
|
-
constructor(cd, router, route, gs, modalService, service, excelservice) {
|
|
402
|
-
this.cd = cd;
|
|
403
|
-
this.router = router;
|
|
404
|
-
this.route = route;
|
|
405
|
-
this.gs = gs;
|
|
406
|
-
this.modalService = modalService;
|
|
407
|
-
this.service = service;
|
|
408
|
-
this.excelservice = excelservice;
|
|
409
|
-
}
|
|
410
|
-
ngOnInit() {
|
|
411
|
-
const userData = JSON.parse(localStorage.getItem("user-info") || "{}");
|
|
412
|
-
this.users = userData;
|
|
413
|
-
this.route?.queryParams
|
|
414
|
-
?.pipe(takeUntil(this.destroy$))
|
|
415
|
-
.subscribe((params) => {
|
|
416
|
-
this.type = params.type;
|
|
417
|
-
this.filterByStores = [];
|
|
418
|
-
this.storeList = [];
|
|
419
|
-
this.filterByinstalled = [];
|
|
420
|
-
this.statusType = [];
|
|
421
|
-
this.filterByStatus = [];
|
|
422
|
-
this.userList = [];
|
|
423
|
-
this.issueType = [];
|
|
424
|
-
this.issueTypeList = [];
|
|
425
|
-
this.filterByQueryType = [];
|
|
426
|
-
this.queryTypeList = [];
|
|
427
|
-
this.dataObject = [];
|
|
428
|
-
this.gs.manageRefreshTrigger.next(true);
|
|
429
|
-
this.getInitload();
|
|
430
|
-
this.gs.dataRangeValue?.pipe(takeUntil(this.destroy$))?.subscribe({
|
|
431
|
-
next: (data) => {
|
|
432
|
-
if (data) {
|
|
433
|
-
this.headerFilters = data;
|
|
434
|
-
this.userList_req = {
|
|
435
|
-
limit: 10000,
|
|
436
|
-
offset: 1,
|
|
437
|
-
userType: this.users.userType,
|
|
438
|
-
};
|
|
439
|
-
this.getstoreFilter();
|
|
440
|
-
}
|
|
441
|
-
},
|
|
442
|
-
});
|
|
443
|
-
if (this.type === "installation") {
|
|
444
|
-
this.typeName = "Installed By";
|
|
445
|
-
this.statusType = [
|
|
446
|
-
{ text: "Onboarded", id: "onboarded" },
|
|
447
|
-
{ text: "Paired", id: "paired" },
|
|
448
|
-
{ text: "Installationfailed", id: "installationfailed" },
|
|
449
|
-
{ text: "Deployed", id: "deployed" },
|
|
450
|
-
];
|
|
451
|
-
}
|
|
452
|
-
else {
|
|
453
|
-
this.typeName = "Resolved By";
|
|
454
|
-
if (this.users.userType === "tango" && this.type === 'infra') {
|
|
455
|
-
this.statusType = [
|
|
456
|
-
{ text: "Open", id: "open" },
|
|
457
|
-
{ text: "In Progress", id: "inprogress" },
|
|
458
|
-
{ text: "Refresh Ticket", id: "refreshticket" },
|
|
459
|
-
{ text: "Closed", id: "closed" },
|
|
460
|
-
];
|
|
461
|
-
}
|
|
462
|
-
else {
|
|
463
|
-
this.statusType = [
|
|
464
|
-
{ text: "Open", id: "open" },
|
|
465
|
-
{ text: "In Progress", id: "inprogress" },
|
|
466
|
-
{ text: "Closed", id: "closed" },
|
|
467
|
-
];
|
|
468
|
-
}
|
|
469
|
-
this.issueTypeList = [
|
|
470
|
-
{ text: "High Count", id: "highcount" },
|
|
471
|
-
{ text: "Low Count", id: "lowcount" },
|
|
472
|
-
];
|
|
473
|
-
this.queryTypeList = [
|
|
474
|
-
{ text: "Internal", id: "internal" },
|
|
475
|
-
{ text: "External", id: "external" },
|
|
476
|
-
];
|
|
477
|
-
}
|
|
478
|
-
});
|
|
479
|
-
}
|
|
480
|
-
getInitload() {
|
|
481
|
-
this.searchValue = "";
|
|
482
|
-
this.limit = 10;
|
|
483
|
-
this.pageSize = 10;
|
|
484
|
-
this.currentPage = 1;
|
|
485
|
-
this.offset = 1;
|
|
486
|
-
this.selectedTab = "total";
|
|
487
|
-
this.loading = true;
|
|
488
|
-
this.noData = false;
|
|
489
|
-
this.sortedColumn = '';
|
|
490
|
-
}
|
|
491
|
-
getstoreFilter() {
|
|
492
|
-
this.service
|
|
493
|
-
.getSotresList({ issueType: this.type, clientId: this.headerFilters.clients })
|
|
494
|
-
.pipe(takeUntil(this.destroy$))
|
|
495
|
-
.subscribe({
|
|
496
|
-
next: (res) => {
|
|
497
|
-
if (res && res.code === 200) {
|
|
498
|
-
this.storeList = res?.data?.data;
|
|
499
|
-
this.storeList.forEach((element) => {
|
|
500
|
-
element.text = element.storeId;
|
|
501
|
-
element.id = element.storeId;
|
|
502
|
-
});
|
|
503
|
-
if (this.users.userType === "tango") {
|
|
504
|
-
this.getuserlist();
|
|
505
|
-
}
|
|
506
|
-
else {
|
|
507
|
-
if (this.type === 'installation') {
|
|
508
|
-
this.dataObject = [
|
|
509
|
-
{ Description: "Store ID", Issues: this.storeList },
|
|
510
|
-
{ Description: "Deployed Status", Issues: this.statusType },
|
|
511
|
-
];
|
|
512
|
-
}
|
|
513
|
-
else if (this.type === 'infra' || this.type === 'dataMismatch') {
|
|
514
|
-
this.dataObject = [
|
|
515
|
-
{ Description: "Store ID", Issues: this.storeList },
|
|
516
|
-
{ Description: "Status", Issues: this.statusType },
|
|
517
|
-
];
|
|
518
|
-
}
|
|
519
|
-
else if (this.type === 'mat') {
|
|
520
|
-
this.dataObject = [
|
|
521
|
-
{ Description: "Status", Issues: this.statusType },
|
|
522
|
-
];
|
|
523
|
-
}
|
|
524
|
-
}
|
|
525
|
-
this.getTable();
|
|
526
|
-
}
|
|
527
|
-
else {
|
|
528
|
-
this.getTable();
|
|
529
|
-
}
|
|
530
|
-
},
|
|
531
|
-
error: (err) => {
|
|
532
|
-
this.loading = false;
|
|
533
|
-
this.noData = true;
|
|
534
|
-
this.cd.detectChanges();
|
|
535
|
-
},
|
|
536
|
-
complete: () => { },
|
|
537
|
-
});
|
|
538
|
-
}
|
|
539
|
-
getuserlist() {
|
|
540
|
-
this.service
|
|
541
|
-
.getUserList(this.userList_req)
|
|
542
|
-
.pipe(takeUntil(this.destroy$))
|
|
543
|
-
.subscribe((res) => {
|
|
544
|
-
if (res && res.code === 200) {
|
|
545
|
-
this.userList = res?.data?.result;
|
|
546
|
-
this.userList?.forEach((element) => {
|
|
547
|
-
element.text = element.userName;
|
|
548
|
-
element.id = element.email;
|
|
549
|
-
});
|
|
550
|
-
}
|
|
551
|
-
if (this.users.userType === "tango" && (this.type === 'installation')) {
|
|
552
|
-
this.dataObject = [
|
|
553
|
-
{ Description: "Store ID", Issues: this.storeList },
|
|
554
|
-
{ Description: "Deployed Status", Issues: this.statusType },
|
|
555
|
-
{ Description: this.typeName, Issues: this.userList },
|
|
556
|
-
];
|
|
557
|
-
}
|
|
558
|
-
else if (this.users.userType === "tango" && this.type === 'infra') {
|
|
559
|
-
this.dataObject = [
|
|
560
|
-
{ Description: "Store ID", Issues: this.storeList },
|
|
561
|
-
{ Description: "Status", Issues: this.statusType },
|
|
562
|
-
{ Description: this.typeName, Issues: this.userList },
|
|
563
|
-
];
|
|
564
|
-
}
|
|
565
|
-
else if (this.users.userType === "tango" && this.type === 'dataMismatch') {
|
|
566
|
-
this.dataObject = [
|
|
567
|
-
{ Description: "Store ID", Issues: this.storeList },
|
|
568
|
-
{ Description: "Query Type", Issues: this.queryTypeList },
|
|
569
|
-
{ Description: "Status", Issues: this.statusType },
|
|
570
|
-
];
|
|
571
|
-
}
|
|
572
|
-
else if (this.type === 'mat') {
|
|
573
|
-
this.dataObject = [
|
|
574
|
-
{ Description: "Status", Issues: this.statusType },
|
|
575
|
-
];
|
|
576
|
-
}
|
|
577
|
-
});
|
|
578
|
-
}
|
|
579
|
-
ngOnDestroy() {
|
|
580
|
-
this.destroy$.next(true);
|
|
581
|
-
this.destroy$.complete();
|
|
582
|
-
}
|
|
583
|
-
searchData() {
|
|
584
|
-
this.currentPage = 1;
|
|
585
|
-
this.offset = 1;
|
|
586
|
-
this.limit = 10;
|
|
587
|
-
this.getTable();
|
|
588
|
-
}
|
|
589
|
-
onSort(column) {
|
|
590
|
-
if (this.sortedColumn === column) {
|
|
591
|
-
this.sortDirection = this.sortDirection === 1 ? -1 : 1;
|
|
592
|
-
}
|
|
593
|
-
else {
|
|
594
|
-
this.sortedColumn = column;
|
|
595
|
-
this.sortDirection = 1;
|
|
596
|
-
}
|
|
597
|
-
this.getTable();
|
|
598
|
-
}
|
|
599
|
-
exportXLSX() {
|
|
600
|
-
let obj = {
|
|
601
|
-
clientId: this.headerFilters?.clients,
|
|
602
|
-
fromDate: this.headerFilters?.date?.startDate,
|
|
603
|
-
toDate: this.headerFilters?.date?.endDate,
|
|
604
|
-
offset: this.offset,
|
|
605
|
-
limit: this.limit,
|
|
606
|
-
filterIssue: this.selectedTab ? this.selectedTab : "",
|
|
607
|
-
searchValue: this.searchValue ? this.searchValue : "",
|
|
608
|
-
export: true,
|
|
609
|
-
};
|
|
610
|
-
if (this.sortedColumn) {
|
|
611
|
-
obj.sortColumName = this.sortedColumn;
|
|
612
|
-
obj.sortBy = this.sortDirection;
|
|
613
|
-
}
|
|
614
|
-
if (this.type === "installation" || this.type === "infra") {
|
|
615
|
-
if (this.filterByStores?.length) {
|
|
616
|
-
obj.storeIdFilter = this.filterByStores ? this.filterByStores : [];
|
|
617
|
-
}
|
|
618
|
-
if (this.filterByStatus?.length) {
|
|
619
|
-
obj.statusFilter = this.filterByStatus ? this.filterByStatus : [];
|
|
620
|
-
}
|
|
621
|
-
if (this.filterByinstalled?.length) {
|
|
622
|
-
obj.userFilter = this.filterByinstalled ? this.filterByinstalled : [];
|
|
623
|
-
}
|
|
624
|
-
}
|
|
625
|
-
else if (this.type === "mat") {
|
|
626
|
-
if (this.filterByStatus?.length) {
|
|
627
|
-
obj.statusFilter = this.filterByStatus ? this.filterByStatus : [];
|
|
628
|
-
}
|
|
629
|
-
}
|
|
630
|
-
else {
|
|
631
|
-
if (this.filterByStores?.length) {
|
|
632
|
-
obj.filterByStores = this.filterByStores ? this.filterByStores : [];
|
|
633
|
-
}
|
|
634
|
-
if (this.filterByStatus?.length) {
|
|
635
|
-
obj.filterByStatus = this.filterByStatus ? this.filterByStatus : [];
|
|
636
|
-
}
|
|
637
|
-
if (this.filterByQueryType?.length) {
|
|
638
|
-
obj.filterByQueryType = this.filterByQueryType ? this.filterByQueryType : [];
|
|
639
|
-
}
|
|
640
|
-
}
|
|
641
|
-
if (this.type === "installation") {
|
|
642
|
-
this.service
|
|
643
|
-
.exportInstallationList(obj)
|
|
644
|
-
.pipe(takeUntil(this.destroy$))
|
|
645
|
-
.subscribe({
|
|
646
|
-
next: (res) => {
|
|
647
|
-
this.excelservice.saveAsExcelFile(res, 'Installation');
|
|
648
|
-
},
|
|
649
|
-
error: (err) => {
|
|
650
|
-
this.loading = false;
|
|
651
|
-
this.noData = true;
|
|
652
|
-
this.cd.detectChanges();
|
|
653
|
-
},
|
|
654
|
-
complete: () => { },
|
|
655
|
-
});
|
|
656
|
-
}
|
|
657
|
-
else if (this.type === "infra") {
|
|
658
|
-
this.service
|
|
659
|
-
.exportInfraList(obj)
|
|
660
|
-
.pipe(takeUntil(this.destroy$))
|
|
661
|
-
.subscribe({
|
|
662
|
-
next: (res) => {
|
|
663
|
-
this.excelservice.saveAsExcelFile(res, 'Infra');
|
|
664
|
-
},
|
|
665
|
-
error: (err) => {
|
|
666
|
-
this.loading = false;
|
|
667
|
-
this.noData = true;
|
|
668
|
-
this.cd.detectChanges();
|
|
669
|
-
},
|
|
670
|
-
complete: () => { },
|
|
671
|
-
});
|
|
672
|
-
}
|
|
673
|
-
else if (this.type === "mat") {
|
|
674
|
-
this.service
|
|
675
|
-
.exportMatList(obj)
|
|
676
|
-
.pipe(takeUntil(this.destroy$))
|
|
677
|
-
.subscribe({
|
|
678
|
-
next: (res) => {
|
|
679
|
-
this.excelservice.saveAsExcelFile(res, 'Mat');
|
|
680
|
-
},
|
|
681
|
-
error: (err) => {
|
|
682
|
-
this.loading = false;
|
|
683
|
-
this.noData = true;
|
|
684
|
-
this.cd.detectChanges();
|
|
685
|
-
},
|
|
686
|
-
complete: () => { },
|
|
687
|
-
});
|
|
688
|
-
}
|
|
689
|
-
else if (this.type === 'dataMismatch') {
|
|
690
|
-
this.service
|
|
691
|
-
.exportDataMismatchList(obj)
|
|
692
|
-
.pipe(takeUntil(this.destroy$))
|
|
693
|
-
.subscribe({
|
|
694
|
-
next: (res) => {
|
|
695
|
-
this.excelservice.saveAsExcelFile(res, 'Data Mismatch');
|
|
696
|
-
},
|
|
697
|
-
error: (err) => {
|
|
698
|
-
this.loading = false;
|
|
699
|
-
this.noData = true;
|
|
700
|
-
this.cd.detectChanges();
|
|
701
|
-
},
|
|
702
|
-
complete: () => { },
|
|
703
|
-
});
|
|
704
|
-
}
|
|
705
|
-
}
|
|
706
|
-
selectedTabs(type) {
|
|
707
|
-
this.currentPage = 1;
|
|
708
|
-
this.offset = 1;
|
|
709
|
-
this.limit = 10;
|
|
710
|
-
if (this.type === 'dataMismatch') {
|
|
711
|
-
this.selectedTab = type.name.replace(/\s+/g, '').toLocaleLowerCase();
|
|
712
|
-
this.currentPage = 1;
|
|
713
|
-
this.offset = 1;
|
|
714
|
-
this.limit = 10;
|
|
715
|
-
this.pageSize = 10;
|
|
716
|
-
this.getTable();
|
|
717
|
-
this.transformName(type);
|
|
718
|
-
}
|
|
719
|
-
else {
|
|
720
|
-
this.selectedTab = type.name;
|
|
721
|
-
this.currentPage = 1;
|
|
722
|
-
this.offset = 1;
|
|
723
|
-
this.limit = 10;
|
|
724
|
-
this.pageSize = 10;
|
|
725
|
-
this.getTable();
|
|
726
|
-
}
|
|
727
|
-
}
|
|
728
|
-
transformName(name) {
|
|
729
|
-
return name.toLocaleLowerCase().replace(/\s+/g, '');
|
|
730
|
-
}
|
|
731
|
-
onPageChange(pageOffset) {
|
|
732
|
-
this.currentPage = Number(pageOffset);
|
|
733
|
-
this.offset = Number(pageOffset);
|
|
734
|
-
this.limit = 10;
|
|
735
|
-
this.getTable();
|
|
736
|
-
}
|
|
737
|
-
onPageSizeChange(pageSize) {
|
|
738
|
-
this.pageSize = Number(pageSize);
|
|
739
|
-
this.limit = Number(pageSize);
|
|
740
|
-
this.currentPage = 1;
|
|
741
|
-
this.offset = 1;
|
|
742
|
-
this.getTable();
|
|
743
|
-
}
|
|
744
|
-
selectAllStore(event) {
|
|
745
|
-
this.selectAll = event.target.checked;
|
|
746
|
-
this.tableListArray.forEach((obj) => (obj.checked = this.selectAll));
|
|
747
|
-
// If all checkboxes are checked, assign all ticketIds to assignStores, otherwise clear assignStores
|
|
748
|
-
this.assignStores = this.selectAll
|
|
749
|
-
? this.tableListArray.map((obj) => obj.ticketId)
|
|
750
|
-
: [];
|
|
751
|
-
this.assignTicket = this.selectAll; // Update assignTicket based on selectAll state
|
|
752
|
-
}
|
|
753
|
-
updateCheck(event, ticketId) {
|
|
754
|
-
const ticket = this.tableListArray.find((obj) => obj.ticketId === ticketId);
|
|
755
|
-
if (ticket) {
|
|
756
|
-
ticket.checked = event.target.checked;
|
|
757
|
-
// If the checkbox is checked, add or remove the corresponding array from the selected arrays
|
|
758
|
-
if (event.target.checked) {
|
|
759
|
-
this.assignStores.push(ticketId);
|
|
760
|
-
}
|
|
761
|
-
else {
|
|
762
|
-
const index = this.assignStores.indexOf(ticketId);
|
|
763
|
-
if (index !== -1) {
|
|
764
|
-
this.assignStores.splice(index, 1);
|
|
765
|
-
}
|
|
766
|
-
}
|
|
767
|
-
// Update selectAll based on the current state of checkboxes
|
|
768
|
-
this.selectAll = this.tableListArray.every((obj) => obj.checked);
|
|
769
|
-
// Update assignTicket based on whether any individual ticket checkbox is checked
|
|
770
|
-
this.assignTicket = this.tableListArray.some((obj) => obj.checked);
|
|
771
|
-
}
|
|
772
|
-
}
|
|
773
|
-
addAssignTicket() {
|
|
774
|
-
const modalRef = this.modalService.open(AddCsmModalComponent, {
|
|
775
|
-
centered: true,
|
|
776
|
-
size: "md",
|
|
777
|
-
scrollable: true,
|
|
778
|
-
backdrop: "static"
|
|
779
|
-
});
|
|
780
|
-
modalRef.componentInstance.ticketId = this.assignStores;
|
|
781
|
-
modalRef.result.then((result) => {
|
|
782
|
-
if (result === "submit") {
|
|
783
|
-
this.searchValue = "";
|
|
784
|
-
this.assignStores = [];
|
|
785
|
-
this.selectAll = false;
|
|
786
|
-
this.assignTicket = false;
|
|
787
|
-
this.getTable();
|
|
788
|
-
}
|
|
789
|
-
});
|
|
790
|
-
}
|
|
791
|
-
applyFilters(event) {
|
|
792
|
-
if (event?.length) {
|
|
793
|
-
event.forEach((element) => {
|
|
794
|
-
if (element.Description === "Store ID") {
|
|
795
|
-
this.filterByStores = element.Issues.map((val) => val?.id);
|
|
796
|
-
}
|
|
797
|
-
if (this.type !== 'installation') {
|
|
798
|
-
if (element.Description === "Status") {
|
|
799
|
-
this.filterByStatus = element.Issues.map((val) => val?.id);
|
|
800
|
-
}
|
|
801
|
-
}
|
|
802
|
-
if (this.type === 'installation') {
|
|
803
|
-
if (element.Description === "Deployed Status") {
|
|
804
|
-
this.filterByStatus = element.Issues.map((val) => val?.id);
|
|
805
|
-
}
|
|
806
|
-
}
|
|
807
|
-
if (this.users.userType === "tango" && (this.type === 'installation' || this.type === 'infra')) {
|
|
808
|
-
if (element.Description === this.typeName) {
|
|
809
|
-
this.filterByinstalled = element.Issues.map((val) => val?.id);
|
|
810
|
-
}
|
|
811
|
-
}
|
|
812
|
-
else {
|
|
813
|
-
this.filterByinstalled = [];
|
|
814
|
-
}
|
|
815
|
-
if (element.Description === "Query Type") {
|
|
816
|
-
this.filterByQueryType = element.Issues.map((val) => val?.id);
|
|
817
|
-
}
|
|
818
|
-
// if (element.Description === "Issue Type") {
|
|
819
|
-
// this.issueType = element.Issues.map((val: any) => val?.id);
|
|
820
|
-
// }
|
|
821
|
-
});
|
|
822
|
-
}
|
|
823
|
-
this.currentPage = 1;
|
|
824
|
-
this.offset = 1;
|
|
825
|
-
this.limit = 10;
|
|
826
|
-
this.getTable();
|
|
827
|
-
}
|
|
828
|
-
getTable() {
|
|
829
|
-
this.loading = true;
|
|
830
|
-
this.noData = false;
|
|
831
|
-
let obj = {
|
|
832
|
-
clientId: this.headerFilters?.clients,
|
|
833
|
-
fromDate: this.headerFilters?.date?.startDate,
|
|
834
|
-
toDate: this.headerFilters?.date?.endDate,
|
|
835
|
-
offset: this.offset,
|
|
836
|
-
limit: this.limit,
|
|
837
|
-
filterIssue: this.selectedTab ? this.selectedTab : "",
|
|
838
|
-
searchValue: this.searchValue ? this.searchValue : "",
|
|
839
|
-
export: false,
|
|
840
|
-
};
|
|
841
|
-
if (this.sortedColumn) {
|
|
842
|
-
if (this.type === 'dataMismatch') {
|
|
843
|
-
obj.sortColumnName = this.sortedColumn;
|
|
844
|
-
obj.sortBy = this.sortDirection;
|
|
845
|
-
}
|
|
846
|
-
else {
|
|
847
|
-
obj.sortColumName = this.sortedColumn;
|
|
848
|
-
obj.sortBy = this.sortDirection;
|
|
849
|
-
}
|
|
850
|
-
}
|
|
851
|
-
if (this.type === "installation" || this.type === "infra") {
|
|
852
|
-
if (this.filterByStores?.length) {
|
|
853
|
-
obj.storeIdFilter = this.filterByStores ? this.filterByStores : [];
|
|
854
|
-
}
|
|
855
|
-
if (this.filterByStatus?.length) {
|
|
856
|
-
obj.statusFilter = this.filterByStatus ? this.filterByStatus : [];
|
|
857
|
-
}
|
|
858
|
-
if (this.filterByinstalled?.length) {
|
|
859
|
-
obj.userFilter = this.filterByinstalled ? this.filterByinstalled : [];
|
|
860
|
-
}
|
|
861
|
-
}
|
|
862
|
-
else if (this.type === "mat") {
|
|
863
|
-
if (this.filterByStatus?.length) {
|
|
864
|
-
obj.statusFilter = this.filterByStatus ? this.filterByStatus : [];
|
|
865
|
-
}
|
|
866
|
-
}
|
|
867
|
-
else {
|
|
868
|
-
if (this.filterByStores?.length) {
|
|
869
|
-
obj.filterByStores = this.filterByStores ? this.filterByStores : [];
|
|
870
|
-
}
|
|
871
|
-
if (this.filterByStatus?.length) {
|
|
872
|
-
obj.filterByStatus = this.filterByStatus ? this.filterByStatus : [];
|
|
873
|
-
}
|
|
874
|
-
if (this.filterByQueryType?.length) {
|
|
875
|
-
obj.filterByQueryType = this.filterByQueryType ? this.filterByQueryType : [];
|
|
876
|
-
}
|
|
877
|
-
}
|
|
878
|
-
// console.log(obj)
|
|
879
|
-
// return
|
|
880
|
-
if (this.type === "installation") {
|
|
881
|
-
this.service
|
|
882
|
-
.getInstallationList(obj)
|
|
883
|
-
.pipe(takeUntil(this.destroy$))
|
|
884
|
-
.subscribe({
|
|
885
|
-
next: (res) => {
|
|
886
|
-
if (res && res.code === 200) {
|
|
887
|
-
this.listArray = res.data.response;
|
|
888
|
-
if (res.data.result.length === 0) {
|
|
889
|
-
this.loading = false;
|
|
890
|
-
this.noData = true;
|
|
891
|
-
}
|
|
892
|
-
else {
|
|
893
|
-
this.tableListArray = res.data.result;
|
|
894
|
-
this.totalItems = res.data?.count;
|
|
895
|
-
if (this.totalItems < 10) {
|
|
896
|
-
this.paginationSizes = [this.totalItems];
|
|
897
|
-
}
|
|
898
|
-
else {
|
|
899
|
-
this.paginationSizes = [10, 20, 30];
|
|
900
|
-
}
|
|
901
|
-
this.loading = false;
|
|
902
|
-
this.noData = false;
|
|
903
|
-
this.selectAll = false;
|
|
904
|
-
this.assignTicket = false;
|
|
905
|
-
this.cd.detectChanges();
|
|
906
|
-
}
|
|
907
|
-
}
|
|
908
|
-
else {
|
|
909
|
-
this.loading = false;
|
|
910
|
-
this.noData = true;
|
|
911
|
-
}
|
|
912
|
-
},
|
|
913
|
-
error: (err) => {
|
|
914
|
-
this.loading = false;
|
|
915
|
-
this.noData = true;
|
|
916
|
-
this.cd.detectChanges();
|
|
917
|
-
},
|
|
918
|
-
complete: () => { },
|
|
919
|
-
});
|
|
920
|
-
}
|
|
921
|
-
else if (this.type === "infra") {
|
|
922
|
-
this.service
|
|
923
|
-
.getInfraList(obj)
|
|
924
|
-
.pipe(takeUntil(this.destroy$))
|
|
925
|
-
.subscribe({
|
|
926
|
-
next: (res) => {
|
|
927
|
-
if (res && res.code === 200) {
|
|
928
|
-
this.listArray = res.data.response;
|
|
929
|
-
if (res.data.result.length === 0) {
|
|
930
|
-
this.loading = false;
|
|
931
|
-
this.noData = true;
|
|
932
|
-
}
|
|
933
|
-
else {
|
|
934
|
-
this.tableListArray = res.data.result;
|
|
935
|
-
this.totalItems = res.data?.count;
|
|
936
|
-
if (this.totalItems < 10) {
|
|
937
|
-
this.paginationSizes = [this.totalItems];
|
|
938
|
-
}
|
|
939
|
-
else {
|
|
940
|
-
this.paginationSizes = [10, 20, 30];
|
|
941
|
-
}
|
|
942
|
-
this.loading = false;
|
|
943
|
-
this.noData = false;
|
|
944
|
-
this.selectAll = false;
|
|
945
|
-
this.assignTicket = false;
|
|
946
|
-
}
|
|
947
|
-
}
|
|
948
|
-
else {
|
|
949
|
-
this.loading = false;
|
|
950
|
-
this.noData = true;
|
|
951
|
-
}
|
|
952
|
-
},
|
|
953
|
-
error: (err) => {
|
|
954
|
-
this.loading = false;
|
|
955
|
-
this.noData = true;
|
|
956
|
-
this.cd.detectChanges();
|
|
957
|
-
},
|
|
958
|
-
complete: () => { },
|
|
959
|
-
});
|
|
960
|
-
}
|
|
961
|
-
else if (this.type === "mat") {
|
|
962
|
-
this.service
|
|
963
|
-
.getMatList(obj)
|
|
964
|
-
.pipe(takeUntil(this.destroy$))
|
|
965
|
-
.subscribe({
|
|
966
|
-
next: (res) => {
|
|
967
|
-
if (res && res.code === 200) {
|
|
968
|
-
this.listArray = res?.data?.response;
|
|
969
|
-
this.tableListArray = res?.data?.result;
|
|
970
|
-
this.totalItems = res.data?.count;
|
|
971
|
-
if (this.totalItems < 10) {
|
|
972
|
-
this.paginationSizes = [this.totalItems];
|
|
973
|
-
}
|
|
974
|
-
else {
|
|
975
|
-
this.paginationSizes = [10, 20, 30];
|
|
976
|
-
}
|
|
977
|
-
this.loading = false;
|
|
978
|
-
this.noData = false;
|
|
979
|
-
}
|
|
980
|
-
else {
|
|
981
|
-
this.loading = false;
|
|
982
|
-
this.noData = true;
|
|
983
|
-
}
|
|
984
|
-
},
|
|
985
|
-
error: (err) => {
|
|
986
|
-
this.loading = false;
|
|
987
|
-
this.noData = true;
|
|
988
|
-
this.cd.detectChanges();
|
|
989
|
-
},
|
|
990
|
-
complete: () => { },
|
|
991
|
-
});
|
|
992
|
-
}
|
|
993
|
-
else if (this.type === 'dataMismatch') {
|
|
994
|
-
this.service
|
|
995
|
-
.getDataMismathList(obj)
|
|
996
|
-
.pipe(takeUntil(this.destroy$))
|
|
997
|
-
.subscribe({
|
|
998
|
-
next: (res) => {
|
|
999
|
-
if (res && res.code === 200) {
|
|
1000
|
-
this.listArray = res?.data?.response;
|
|
1001
|
-
if (res.data.result.length === 0) {
|
|
1002
|
-
this.loading = false;
|
|
1003
|
-
this.noData = true;
|
|
1004
|
-
}
|
|
1005
|
-
else {
|
|
1006
|
-
this.tableListArray = res?.data?.result;
|
|
1007
|
-
this.totalItems = res.data?.count;
|
|
1008
|
-
if (this.totalItems < 10) {
|
|
1009
|
-
this.paginationSizes = [this.totalItems];
|
|
1010
|
-
}
|
|
1011
|
-
else {
|
|
1012
|
-
this.paginationSizes = [10, 20, 30];
|
|
1013
|
-
}
|
|
1014
|
-
this.loading = false;
|
|
1015
|
-
this.noData = false;
|
|
1016
|
-
this.selectAll = false;
|
|
1017
|
-
this.assignTicket = false;
|
|
1018
|
-
this.cd.detectChanges();
|
|
1019
|
-
}
|
|
1020
|
-
}
|
|
1021
|
-
else {
|
|
1022
|
-
this.loading = false;
|
|
1023
|
-
this.noData = true;
|
|
1024
|
-
}
|
|
1025
|
-
},
|
|
1026
|
-
error: (err) => {
|
|
1027
|
-
this.loading = false;
|
|
1028
|
-
this.noData = true;
|
|
1029
|
-
this.cd.detectChanges();
|
|
1030
|
-
},
|
|
1031
|
-
complete: () => { },
|
|
1032
|
-
});
|
|
1033
|
-
}
|
|
1034
|
-
}
|
|
1035
|
-
routeToStore(storeId, clientId) {
|
|
1036
|
-
let data = JSON.parse(localStorage.getItem("header-filters") || "");
|
|
1037
|
-
data.store = storeId;
|
|
1038
|
-
data.client = clientId;
|
|
1039
|
-
localStorage.setItem("header-filters", JSON.stringify(data));
|
|
1040
|
-
this.gs.dataRangeValue.next(data);
|
|
1041
|
-
this.router.navigate(['/manage/stores/infra-ticket'], {
|
|
1042
|
-
queryParams: { storeId: storeId }
|
|
1043
|
-
});
|
|
1044
|
-
}
|
|
1045
|
-
routeToMat(storeId, clientId, clientName) {
|
|
1046
|
-
let data = JSON.parse(localStorage.getItem("header-filters") || "");
|
|
1047
|
-
data.store = storeId;
|
|
1048
|
-
data.client = clientId;
|
|
1049
|
-
data.clientName = clientName ? clientName : 'Stores';
|
|
1050
|
-
localStorage.setItem("header-filters", JSON.stringify(data));
|
|
1051
|
-
this.gs.dataRangeValue.next(data);
|
|
1052
|
-
this.router.navigate(['/manage/stores/mat'], {
|
|
1053
|
-
queryParams: { storeId: storeId }
|
|
1054
|
-
});
|
|
1055
|
-
}
|
|
1056
|
-
commentModal(obj) {
|
|
1057
|
-
const modalRef = this.modalService.open(CommentModelComponent, {
|
|
1058
|
-
centered: true,
|
|
1059
|
-
size: "md",
|
|
1060
|
-
scrollable: true,
|
|
1061
|
-
backdrop: "static"
|
|
1062
|
-
});
|
|
1063
|
-
modalRef.componentInstance.ticketId = obj.ticketId;
|
|
1064
|
-
modalRef.result.then((result) => {
|
|
1065
|
-
});
|
|
1066
|
-
}
|
|
1067
|
-
tickets(type, clientId, storeId, clientName) {
|
|
1068
|
-
if (type === 'mat') {
|
|
1069
|
-
let data = JSON.parse(localStorage.getItem("header-filters") || "");
|
|
1070
|
-
data.store = storeId;
|
|
1071
|
-
data.client = clientId;
|
|
1072
|
-
data.clientName = clientName ? clientName : 'Stores';
|
|
1073
|
-
localStorage.setItem("header-filters", JSON.stringify(data));
|
|
1074
|
-
this.gs.dataRangeValue.next(data);
|
|
1075
|
-
this.router.navigate(['/manage/stores/mat'], {
|
|
1076
|
-
queryParams: { storeId: storeId }
|
|
1077
|
-
});
|
|
1078
|
-
}
|
|
1079
|
-
else {
|
|
1080
|
-
let data = JSON.parse(localStorage.getItem("header-filters") || "");
|
|
1081
|
-
data.store = storeId;
|
|
1082
|
-
data.client = clientId;
|
|
1083
|
-
data.clientName = clientName ? clientName : 'Stores';
|
|
1084
|
-
localStorage.setItem("header-filters", JSON.stringify(data));
|
|
1085
|
-
this.gs.dataRangeValue.next(data);
|
|
1086
|
-
this.router.navigate(['/manage/stores/infra-ticket'], {
|
|
1087
|
-
queryParams: { storeId: storeId, type: type }
|
|
1088
|
-
});
|
|
1089
|
-
}
|
|
1090
|
-
}
|
|
1091
|
-
clientTickets(clientId, storeId, clientName) {
|
|
1092
|
-
let data = JSON.parse(localStorage.getItem("header-filters") || "");
|
|
1093
|
-
data.store = storeId;
|
|
1094
|
-
data.client = clientId;
|
|
1095
|
-
data.clientName = clientName ? clientName : 'Stores';
|
|
1096
|
-
localStorage.setItem("header-filters", JSON.stringify(data));
|
|
1097
|
-
this.gs.dataRangeValue.next(data);
|
|
1098
|
-
this.router.navigate(['/manage/stores']);
|
|
1099
|
-
}
|
|
1100
|
-
storeTickets(clientId, storeId, clientName) {
|
|
1101
|
-
let data = JSON.parse(localStorage.getItem("header-filters") || "");
|
|
1102
|
-
data.store = storeId;
|
|
1103
|
-
data.client = clientId;
|
|
1104
|
-
data.clientName = clientName ? clientName : 'Stores';
|
|
1105
|
-
localStorage.setItem("header-filters", JSON.stringify(data));
|
|
1106
|
-
this.gs.dataRangeValue.next(data);
|
|
1107
|
-
this.router.navigate(['/manage/stores/cameras'], {
|
|
1108
|
-
queryParams: { storeId: storeId }
|
|
1109
|
-
});
|
|
1110
|
-
}
|
|
1111
|
-
userTickets(clientId, storeId) {
|
|
1112
|
-
let data = JSON.parse(localStorage.getItem("header-filters") || "");
|
|
1113
|
-
data.store = storeId;
|
|
1114
|
-
data.client = clientId;
|
|
1115
|
-
localStorage.setItem("header-filters", JSON.stringify(data));
|
|
1116
|
-
this.gs.dataRangeValue.next(data);
|
|
1117
|
-
this.router.navigate(['/manage/users']);
|
|
1118
|
-
}
|
|
1119
|
-
setpageSize() {
|
|
1120
|
-
if (this.totalItems < 10) {
|
|
1121
|
-
return this.totalItems;
|
|
1122
|
-
}
|
|
1123
|
-
else {
|
|
1124
|
-
return this.pageSize;
|
|
1125
|
-
}
|
|
1126
|
-
}
|
|
1127
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TicketsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i1$1.GlobalStateService }, { token: i1$2.NgbModal }, { token: TicketService }, { token: ExcelService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1128
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TicketsComponent, selector: "lib-tickets", ngImport: i0, template: "<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 *ngIf=\"type !=='dataMismatch' && type !== 'mat'\" class=\"card-label mb-2\">{{type | titlecase}}</span>\r\n <span *ngIf=\"type ==='dataMismatch'\" class=\"card-label mb-2\">Data Mismatch</span>\r\n <span *ngIf=\"type ==='mat'\" class=\"card-label mb-2\">Employee Mat</span>\r\n\r\n <!-- <span class=\"text-sub mb-2\">Last updated 1 hour ago</span> -->\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div *ngIf=\"!assignTicket\" 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-3\">\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\"></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 <input type=\"text\" class=\"form-control ps-14 me-2\" placeholder=\"Search\" autocomplete=\"off\"\r\n (change)=\"searchData()\" [(ngModel)]=\"searchValue\" />\r\n <lib-filters *ngIf=\"users.userType === 'tango' && userList?.length || users.userType === 'client' && storeList?.length\" [dataObject]=\"dataObject\"\r\n (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n\r\n <button type=\"button\" *ngIf=\"!noData&&!loading\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2\">Export</span>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"assignTicket\" class=\"d-flex\">\r\n <button type=\"button\" (click)=\"addAssignTicket()\"\r\n class=\"btn mx-2 btn-primary rounded-3 text-nowrap border-val\">\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=\"M9.99984 4.1665V15.8332M4.1665 9.99984H15.8332\" stroke=\"white\" stroke-width=\"1.67\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2 text-white\">Assign Ticket</span>\r\n </button>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n\r\n\r\n <ul *ngIf=\"!loading && listArray?.length && type !== 'mat' && type !== 'dataMismatch'\" class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap horizontal-scroll\">\r\n <li class=\"nav-item\" *ngFor=\"let obj of listArray.slice().reverse()\" (click)=\"selectedTabs(obj)\">\r\n <a [ngClass]=\"{'active': selectedTab === obj.name}\" class=\"nav-link cursor-pointer no-border me-2\">\r\n {{obj.name | titlecase}} <span class=\"mx-2\"\r\n [ngClass]=\"selectedTab === obj.name ? 'text-border-priamry' : 'text-border'\">{{obj.count}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n <ul *ngIf=\"!loading && listArray?.length && type === 'dataMismatch'\" class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap horizontal-scroll\">\r\n <li class=\"nav-item\" *ngFor=\"let obj of listArray.slice().reverse()\" (click)=\"selectedTabs(obj)\">\r\n <a [ngClass]=\"selectedTab === transformName(obj.name) ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-2\">\r\n {{obj.name | titlecase}} <span class=\"mx-2\"\r\n [ngClass]=\"selectedTab === transformName(obj.name) ? 'text-border-priamry' : 'text-border'\">{{obj.count}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n <div *ngIf=\"loading\" class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"noData\" class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\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/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"table-responsive mt-5\">\r\n <table class=\"table bottom-border text-nowrap \">\r\n <thead>\r\n <tr>\r\n <th class=\"cursor-pointer\" >\r\n \r\n <input *ngIf=\"this.users.userType ==='tango'\"\r\n class=\"form-check-input cursor-pointer me-4\" type=\"checkbox\" [(ngModel)]=\"selectAll\"\r\n (click)=\"selectAllStore($event)\"> <span class=\"cursor-pointer\" (click)=\"onSort('ticketId')\"> Ticket ID <svg\r\n [ngClass]=\"sortedColumn === 'ticketId' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'ticketId' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span> \r\n </th>\r\n <th class=\"cursor-pointer\" *ngIf=\"type !=='dataMismatch'\" (click)=\"onSort('issueDate')\"> Created Date\r\n <svg [ngClass]=\"sortedColumn === 'issueDate' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'issueDate' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" *ngIf=\"type ==='infra'\" (click)=\"onSort('createdAt')\"> Created Time\r\n <svg [ngClass]=\"sortedColumn === 'createdAt' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'createdAt' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" *ngIf=\"type ==='infra'\" (click)=\"onSort('issueClosedDate')\"> Closed Time\r\n <svg [ngClass]=\"sortedColumn === 'issueClosedDate' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'issueClosedDate' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" *ngIf=\"type ==='dataMismatch'\" class=\"cursor-pointer\" (click)=\"onSort('createdAt')\"> Created Date\r\n <svg [ngClass]=\"sortedColumn === 'createdAt' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'createdAt' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" *ngIf=\"type ==='dataMismatch'\" class=\"cursor-pointer\" ><span (click)=\"onSort('issueDate')\">Issue Date\r\n <svg [ngClass]=\"sortedColumn === 'issueDate' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'issueDate' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\" *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"cursor-pointer\" (click)=\"onSort('clientName')\">Brand Name<svg\r\n [ngClass]=\"sortedColumn === 'clientName' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'clientName' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"cursor-pointer\" (click)=\"onSort('clientId')\">Brand ID<svg\r\n [ngClass]=\"sortedColumn === 'clientId' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'clientId' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('storeName')\">Store Name<svg\r\n [ngClass]=\"sortedColumn === 'storeName' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'storeName' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('storeId')\">Store ID<svg\r\n [ngClass]=\"sortedColumn === 'storeId' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'storeId' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" *ngIf=\"this.users.userType ==='tango' && (type ==='infra'||type ==='dataMismatch'||type ==='mat')\" (click)=\"onSort('userName')\">Resolved By<svg [ngClass]=\"sortedColumn === 'userName' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'userName' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" *ngIf=\"this.users.userType ==='tango' && type ==='installation'\" (click)=\"onSort('userName')\">Installed By<svg [ngClass]=\"sortedColumn === 'userName' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'userName' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th *ngIf=\"type ==='dataMismatch'\" class=\"cursor-pointer\" (click)=\"onSort('issueType')\">Issue Type\r\n <svg [ngClass]=\"sortedColumn === 'issueType' && sortDirection === 1 ? 'rotate' : ''\"\r\n 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=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'issueType' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th *ngIf=\"type ==='dataMismatch'\" class=\"cursor-pointer\" (click)=\"onSort('type')\">Query Type\r\n <svg [ngClass]=\"sortedColumn === 'type' && sortDirection === 1 ? 'rotate' : ''\"\r\n 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=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'type' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th *ngIf=\"type ==='dataMismatch'\" class=\"cursor-pointer\" (click)=\"onSort('reportedFootfall')\">Reported Footfall\r\n <svg [ngClass]=\"sortedColumn === 'reportedFootfall' && sortDirection === 1 ? 'rotate' : ''\"\r\n 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=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'reportedFootfall' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th *ngIf=\"type ==='dataMismatch'\" class=\"cursor-pointer\" (click)=\"onSort('mappedCount')\">Unique Images\r\n <svg [ngClass]=\"sortedColumn === 'mappedCount' && sortDirection === 1 ? 'rotate' : ''\"\r\n 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=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'mappedCount' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th *ngIf=\"type ==='dataMismatch'\" class=\"cursor-pointer\" (click)=\"onSort('successPercentage')\">Success Percentage\r\n <svg [ngClass]=\"sortedColumn === 'successPercentage' && sortDirection === 1 ? 'rotate' : ''\"\r\n 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=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'successPercentage' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" *ngIf=\"type ==='installation'\" (click)=\"onSort('status')\">Deployed Status<svg\r\n [ngClass]=\"sortedColumn === 'status' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'status' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th *ngIf=\"type ==='dataMismatch' ||type ==='mat'|| type ==='infra'\" class=\"cursor-pointer\" (click)=\"onSort('status')\">Status<svg\r\n [ngClass]=\"sortedColumn === 'status' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'status' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n<!-- added config and total downtime as per the prioduct team requirement -->\r\n <th>Configured Ticket Time\r\n </th> \r\n\r\n <th >Total Downtime\r\n </th>\r\n<!-- -->\r\n\r\n <th *ngIf=\"type !== 'mat' && type !== 'dataMismatch'\" class=\"cursor-pointer\" (click)=\"onSort('primaryIssue')\">Primary Issues<svg\r\n [ngClass]=\"sortedColumn === 'primaryIssue' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'primaryIssue' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th *ngIf=\"type !== 'mat' && type !== 'dataMismatch'\" class=\"cursor-pointer\" (click)=\"onSort('secondaryIssue')\">Secondary Issues<svg\r\n [ngClass]=\"sortedColumn === 'secondaryIssue' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'secondaryIssue' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th *ngIf=\"type!=='installation'\">Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let obj of tableListArray\">\r\n <td>\r\n <input *ngIf=\"this.users.userType ==='tango'\" class=\"form-check-input cursor-pointer me-4 mt-3\" type=\"checkbox\" [(ngModel)]=\"obj.checked\"\r\n (change)=\"updateCheck($event,obj?.ticketId)\">\r\n <span *ngIf=\"type === 'dataMismatch' || type === 'mat' || type === 'infra'\"\r\n class=\"txt-light-primary cursor-pointer\" (click)=\"tickets(type,obj.clientId,obj.storeId,obj.clientName)\">\r\n {{obj.ticketId}}\r\n </span>\r\n <span *ngIf=\"type === 'installation'\">\r\n {{obj.ticketId}}\r\n </span>\r\n </td>\r\n <td *ngIf=\"type === 'dataMismatch'\">\r\n {{obj?.createdAt |\r\n date: 'dd MMM, yyyy'}}</td>\r\n <td *ngIf=\"type === 'dataMismatch'\">\r\n {{obj?.issueDate |\r\n date: 'dd MMM, yyyy'}}</td>\r\n <td *ngIf=\"type !== 'dataMismatch'\">\r\n {{obj?.createdAt |\r\n date: 'dd MMM, yyyy'}}\r\n </td>\r\n <td *ngIf=\"type === 'infra'\">\r\n {{obj?.createdAt |\r\n date: 'hh:mm a' | uppercase}}\r\n </td>\r\n <td *ngIf=\"type === 'infra'\">\r\n {{obj?.issueClosedDate?(obj?.issueClosedDate |\r\n date: 'hh:mm a' | uppercase):\"--\"}}\r\n </td>\r\n <td *ngIf=\"this.users.userType ==='tango'\">\r\n <div class=\"table-title cursor-pointer\" (click)=\"clientTickets(obj.clientId,obj.storeId,obj.clientName)\">\r\n <span class=\"txt-light-primary\">\r\n {{obj.clientName}}\r\n </span>\r\n </div>\r\n </td>\r\n <td *ngIf=\"this.users.userType ==='tango'\">{{obj.clientId}}\r\n </td>\r\n <td>\r\n <div class=\"table-title cursor-pointer\" (click)=\"storeTickets(obj.clientId,obj.storeId,obj.clientName)\">\r\n <span class=\"txt-light-primary\">\r\n {{obj.storeName}}\r\n </span>\r\n </div>\r\n </td>\r\n <td>{{obj.storeId}}\r\n </td>\r\n \r\n <td *ngIf=\"this.users.userType ==='tango'\">\r\n <div class=\"table-title cursor-pointer\" >\r\n <span >\r\n {{obj.userName}}\r\n </span>\r\n </div>\r\n </td>\r\n <td *ngIf=\"type ==='dataMismatch' && obj.issueType ==='lowcount'\" >Low Count</td>\r\n <td *ngIf=\"type ==='dataMismatch' && obj.issueType ==='highcount'\">High Count</td>\r\n <td class=\"text-capitalize\" *ngIf=\"type ==='dataMismatch'\">{{obj?.type ? obj?.type:'--'}}</td>\r\n <td class=\"text-capitalize\" *ngIf=\"type ==='dataMismatch'\">{{obj?.reportedFootfall ? obj?.reportedFootfall:'--'}}</td>\r\n <td class=\"text-capitalize\" *ngIf=\"type ==='dataMismatch'\">{{obj?.mappedCount ? obj?.mappedCount:'--'}}</td>\r\n <td class=\"text-capitalize\" *ngIf=\"type ==='dataMismatch'\">{{obj?.successPercentage ? obj?.successPercentage:'--'}}</td>\r\n <td *ngIf=\"type==='installation'\">\r\n <span *ngIf=\"obj.installationStatus ==='paired' || obj.installationStatus ==='onboarded'\"\r\n class=\"badge badge-light-primary mx-4\">{{obj.installationStatus | titlecase}}</span>\r\n <span *ngIf=\"obj.installationStatus ==='live'\" class=\"badge badge-light-success mx-4\">Live</span>\r\n <span *ngIf=\"obj.installationStatus ==='installationfailed'\"\r\n class=\"badge badge-light-warning mx-4\">Installationfailed</span>\r\n <span *ngIf=\"obj.installationStatus ==='deployed'\"\r\n class=\"badge badge-light-success mx-4 text-capitalize\">deployed</span>\r\n </td>\r\n <td *ngIf=\"type==='infra' || type==='mat' || type==='dataMismatch'\">\r\n <span *ngIf=\"obj.status ==='open'\" class=\"badge badge-light-danger\">Open</span>\r\n <span *ngIf=\"obj.status ==='closed'\" class=\"badge badge-light-success\">Closed</span>\r\n <span *ngIf=\"obj.status ==='inprogress'\" class=\"badge badge-light-primary\">In\r\n Progress</span>\r\n </td>\r\n <td *ngIf=\"type==='infra'\">\r\n{{obj.configuredDownTime?obj.configuredDownTime*60:0 || 0 }} {{obj.configuredDownTime > 1? 'mins' : 'min'}} \r\n </td>\r\n <td *ngIf=\"type==='infra'\"> \r\n{{obj.totalDownTime || 0 }} {{obj.totalDownTime > 1? 'mins' : 'min'}} \r\n </td>\r\n <td *ngIf=\"type==='installation' || type==='infra'\">\r\n <div>\r\n <span *ngIf=\"obj.primaryIssue !=='-'\">{{obj.primaryIssue ? obj.primaryIssue :'Issue not identified'}}</span>\r\n <span *ngIf=\"obj.primaryIssue ==='-'\">Issue not identified</span>\r\n </div>\r\n </td>\r\n <td *ngIf=\"type==='installation' || type==='infra'\">\r\n <span *ngIf=\"obj.secondaryIssue\">{{obj.secondaryIssue}}</span>\r\n </td>\r\n <td *ngIf=\"type==='infra' || type ==='dataMismatch'\">\r\n <span class=\"mx-2 cursor-pointer\" *ngIf=\"this.users.userType ==='tango'\" (click)=\"commentModal(obj)\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path\r\n d=\"M17.6431 12.5C17.6431 12.942 17.4675 13.366 17.1549 13.6785C16.8423 13.9911 16.4184 14.1667 15.9764 14.1667H5.9764L2.64307 17.5V4.16667C2.64307 3.72464 2.81866 3.30072 3.13122 2.98816C3.44378 2.67559 3.86771 2.5 4.30973 2.5H15.9764C16.4184 2.5 16.8423 2.67559 17.1549 2.98816C17.4675 3.30072 17.6431 3.72464 17.6431 4.16667V12.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <span class=\"mx-2 cursor-pointer\" (click)=\"tickets(type,obj.clientId,obj.storeId,obj.clientName)\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10640_18061)\">\r\n <path\r\n d=\"M0.976562 10C0.976562 10 4.3099 3.33337 10.1432 3.33337C15.9766 3.33337 19.3099 10 19.3099 10C19.3099 10 15.9766 16.6667 10.1432 16.6667C4.3099 16.6667 0.976562 10 0.976562 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M10.1432 12.5C11.5239 12.5 12.6432 11.3808 12.6432 10C12.6432 8.61933 11.5239 7.50004 10.1432 7.50004C8.76252 7.50004 7.64323 8.61933 7.64323 10C7.64323 11.3808 8.76252 12.5 10.1432 12.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10640_18061\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(0.143066)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n </td>\r\n <td *ngIf=\"type === 'mat'\">\r\n <span class=\"mx-2 cursor-pointer\" (click)=\"routeToMat(obj.storeId,obj.clientId,obj.clientName)\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10640_18061)\">\r\n <path\r\n d=\"M0.976562 10C0.976562 10 4.3099 3.33337 10.1432 3.33337C15.9766 3.33337 19.3099 10 19.3099 10C19.3099 10 15.9766 16.6667 10.1432 16.6667C4.3099 16.6667 0.976562 10 0.976562 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M10.1432 12.5C11.5239 12.5 12.6432 11.3808 12.6432 10C12.6432 8.61933 11.5239 7.50004 10.1432 7.50004C8.76252 7.50004 7.64323 8.61933 7.64323 10C7.64323 11.3808 8.76252 12.5 10.1432 12.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10640_18061\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(0.143066)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span> \r\n \r\n </td>\r\n \r\n \r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"pageSize\" [currentPage]=\"currentPage\" [totalItems]=\"totalItems\"\r\n [paginationSizes]=\"paginationSizes\" [pageSize]=\"setpageSize()\" (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n </div>\r\n</div>", styles: [".nav-item .nav-link.active{border:none;border-radius:6px;background:var(--Primary-50, #EAF8FF);padding:8px 12px}.nav-item .nav-link:hover{border:none}.text-border{border-radius:16px!important;background:var(--Gray-100, #F2F4F7)!important;color:var(--Gray-700, #344054);text-align:center;font-size:14px;font-weight:500;line-height:20px;padding:2px 10px!important}.text-border-priamry{border-radius:16px;background:var(--Primary-50, #EAF8FF);color:var(--Primary-700, #009BF3);text-align:center;font-size:14px;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}.text-sub{color:var(--Gray-500, #667085)!important;font-family:Inter;font-size:14px!important;font-weight:400!important;line-height:20px}.border-val{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}td{vertical-align:middle;line-height:35px!important}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important}.txt-light-primary{color:#009bf3!important}input[type=checkbox]{width:16px!important;height:16px!important;margin:0 5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.2em;padding-left:0;padding-top:9px;padding-right:4px}.img-src{width:25%;height:20%}.rotate{rotate:180deg;transition:1s}.viewbutton{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);box-shadow:0 1px 2px #1018280d;padding:10px 16px;justify-content:center;align-items:center;gap:10px;color:var(--Gray-700, #344054);font-family:Inter;font-size:12px;font-weight:600}.horizontal-scroll{overflow-x:auto;overflow-y:hidden;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i6$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.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: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PaginationComponent, selector: "lib-pagination", inputs: ["collection", "itemsPerPage", "currentPage", "totalItems", "directionLinks", "pageSize", "paginationSizes"], outputs: ["pageChange", "pageSizeChange"] }, { kind: "component", type: i4.FiltersComponent, selector: "lib-filters", inputs: ["dataObject"], outputs: ["appliedFilters"] }, { kind: "pipe", type: i6$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6$1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i6$1.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i6$1.DatePipe, name: "date" }] });
|
|
1129
|
-
}
|
|
1130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TicketsComponent, decorators: [{
|
|
1131
|
-
type: Component,
|
|
1132
|
-
args: [{ selector: "lib-tickets", template: "<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 *ngIf=\"type !=='dataMismatch' && type !== 'mat'\" class=\"card-label mb-2\">{{type | titlecase}}</span>\r\n <span *ngIf=\"type ==='dataMismatch'\" class=\"card-label mb-2\">Data Mismatch</span>\r\n <span *ngIf=\"type ==='mat'\" class=\"card-label mb-2\">Employee Mat</span>\r\n\r\n <!-- <span class=\"text-sub mb-2\">Last updated 1 hour ago</span> -->\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div *ngIf=\"!assignTicket\" 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-3\">\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\"></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 <input type=\"text\" class=\"form-control ps-14 me-2\" placeholder=\"Search\" autocomplete=\"off\"\r\n (change)=\"searchData()\" [(ngModel)]=\"searchValue\" />\r\n <lib-filters *ngIf=\"users.userType === 'tango' && userList?.length || users.userType === 'client' && storeList?.length\" [dataObject]=\"dataObject\"\r\n (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n\r\n <button type=\"button\" *ngIf=\"!noData&&!loading\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2\">Export</span>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"assignTicket\" class=\"d-flex\">\r\n <button type=\"button\" (click)=\"addAssignTicket()\"\r\n class=\"btn mx-2 btn-primary rounded-3 text-nowrap border-val\">\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=\"M9.99984 4.1665V15.8332M4.1665 9.99984H15.8332\" stroke=\"white\" stroke-width=\"1.67\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2 text-white\">Assign Ticket</span>\r\n </button>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n\r\n\r\n <ul *ngIf=\"!loading && listArray?.length && type !== 'mat' && type !== 'dataMismatch'\" class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap horizontal-scroll\">\r\n <li class=\"nav-item\" *ngFor=\"let obj of listArray.slice().reverse()\" (click)=\"selectedTabs(obj)\">\r\n <a [ngClass]=\"{'active': selectedTab === obj.name}\" class=\"nav-link cursor-pointer no-border me-2\">\r\n {{obj.name | titlecase}} <span class=\"mx-2\"\r\n [ngClass]=\"selectedTab === obj.name ? 'text-border-priamry' : 'text-border'\">{{obj.count}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n <ul *ngIf=\"!loading && listArray?.length && type === 'dataMismatch'\" class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap horizontal-scroll\">\r\n <li class=\"nav-item\" *ngFor=\"let obj of listArray.slice().reverse()\" (click)=\"selectedTabs(obj)\">\r\n <a [ngClass]=\"selectedTab === transformName(obj.name) ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-2\">\r\n {{obj.name | titlecase}} <span class=\"mx-2\"\r\n [ngClass]=\"selectedTab === transformName(obj.name) ? 'text-border-priamry' : 'text-border'\">{{obj.count}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n <div *ngIf=\"loading\" class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"noData\" class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\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/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"table-responsive mt-5\">\r\n <table class=\"table bottom-border text-nowrap \">\r\n <thead>\r\n <tr>\r\n <th class=\"cursor-pointer\" >\r\n \r\n <input *ngIf=\"this.users.userType ==='tango'\"\r\n class=\"form-check-input cursor-pointer me-4\" type=\"checkbox\" [(ngModel)]=\"selectAll\"\r\n (click)=\"selectAllStore($event)\"> <span class=\"cursor-pointer\" (click)=\"onSort('ticketId')\"> Ticket ID <svg\r\n [ngClass]=\"sortedColumn === 'ticketId' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'ticketId' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span> \r\n </th>\r\n <th class=\"cursor-pointer\" *ngIf=\"type !=='dataMismatch'\" (click)=\"onSort('issueDate')\"> Created Date\r\n <svg [ngClass]=\"sortedColumn === 'issueDate' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'issueDate' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" *ngIf=\"type ==='infra'\" (click)=\"onSort('createdAt')\"> Created Time\r\n <svg [ngClass]=\"sortedColumn === 'createdAt' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'createdAt' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" *ngIf=\"type ==='infra'\" (click)=\"onSort('issueClosedDate')\"> Closed Time\r\n <svg [ngClass]=\"sortedColumn === 'issueClosedDate' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'issueClosedDate' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" *ngIf=\"type ==='dataMismatch'\" class=\"cursor-pointer\" (click)=\"onSort('createdAt')\"> Created Date\r\n <svg [ngClass]=\"sortedColumn === 'createdAt' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'createdAt' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" *ngIf=\"type ==='dataMismatch'\" class=\"cursor-pointer\" ><span (click)=\"onSort('issueDate')\">Issue Date\r\n <svg [ngClass]=\"sortedColumn === 'issueDate' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'issueDate' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\" *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"cursor-pointer\" (click)=\"onSort('clientName')\">Brand Name<svg\r\n [ngClass]=\"sortedColumn === 'clientName' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'clientName' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" *ngIf=\"(gs.userAccess | async)?.userType === 'tango'\" class=\"cursor-pointer\" (click)=\"onSort('clientId')\">Brand ID<svg\r\n [ngClass]=\"sortedColumn === 'clientId' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'clientId' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('storeName')\">Store Name<svg\r\n [ngClass]=\"sortedColumn === 'storeName' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'storeName' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('storeId')\">Store ID<svg\r\n [ngClass]=\"sortedColumn === 'storeId' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'storeId' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" *ngIf=\"this.users.userType ==='tango' && (type ==='infra'||type ==='dataMismatch'||type ==='mat')\" (click)=\"onSort('userName')\">Resolved By<svg [ngClass]=\"sortedColumn === 'userName' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'userName' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" *ngIf=\"this.users.userType ==='tango' && type ==='installation'\" (click)=\"onSort('userName')\">Installed By<svg [ngClass]=\"sortedColumn === 'userName' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'userName' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th *ngIf=\"type ==='dataMismatch'\" class=\"cursor-pointer\" (click)=\"onSort('issueType')\">Issue Type\r\n <svg [ngClass]=\"sortedColumn === 'issueType' && sortDirection === 1 ? 'rotate' : ''\"\r\n 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=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'issueType' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th *ngIf=\"type ==='dataMismatch'\" class=\"cursor-pointer\" (click)=\"onSort('type')\">Query Type\r\n <svg [ngClass]=\"sortedColumn === 'type' && sortDirection === 1 ? 'rotate' : ''\"\r\n 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=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'type' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th *ngIf=\"type ==='dataMismatch'\" class=\"cursor-pointer\" (click)=\"onSort('reportedFootfall')\">Reported Footfall\r\n <svg [ngClass]=\"sortedColumn === 'reportedFootfall' && sortDirection === 1 ? 'rotate' : ''\"\r\n 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=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'reportedFootfall' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th *ngIf=\"type ==='dataMismatch'\" class=\"cursor-pointer\" (click)=\"onSort('mappedCount')\">Unique Images\r\n <svg [ngClass]=\"sortedColumn === 'mappedCount' && sortDirection === 1 ? 'rotate' : ''\"\r\n 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=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'mappedCount' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th *ngIf=\"type ==='dataMismatch'\" class=\"cursor-pointer\" (click)=\"onSort('successPercentage')\">Success Percentage\r\n <svg [ngClass]=\"sortedColumn === 'successPercentage' && sortDirection === 1 ? 'rotate' : ''\"\r\n 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=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'successPercentage' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" *ngIf=\"type ==='installation'\" (click)=\"onSort('status')\">Deployed Status<svg\r\n [ngClass]=\"sortedColumn === 'status' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'status' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th *ngIf=\"type ==='dataMismatch' ||type ==='mat'|| type ==='infra'\" class=\"cursor-pointer\" (click)=\"onSort('status')\">Status<svg\r\n [ngClass]=\"sortedColumn === 'status' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'status' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n<!-- added config and total downtime as per the prioduct team requirement -->\r\n <th>Configured Ticket Time\r\n </th> \r\n\r\n <th >Total Downtime\r\n </th>\r\n<!-- -->\r\n\r\n <th *ngIf=\"type !== 'mat' && type !== 'dataMismatch'\" class=\"cursor-pointer\" (click)=\"onSort('primaryIssue')\">Primary Issues<svg\r\n [ngClass]=\"sortedColumn === 'primaryIssue' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'primaryIssue' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th *ngIf=\"type !== 'mat' && type !== 'dataMismatch'\" class=\"cursor-pointer\" (click)=\"onSort('secondaryIssue')\">Secondary Issues<svg\r\n [ngClass]=\"sortedColumn === 'secondaryIssue' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'secondaryIssue' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th *ngIf=\"type!=='installation'\">Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let obj of tableListArray\">\r\n <td>\r\n <input *ngIf=\"this.users.userType ==='tango'\" class=\"form-check-input cursor-pointer me-4 mt-3\" type=\"checkbox\" [(ngModel)]=\"obj.checked\"\r\n (change)=\"updateCheck($event,obj?.ticketId)\">\r\n <span *ngIf=\"type === 'dataMismatch' || type === 'mat' || type === 'infra'\"\r\n class=\"txt-light-primary cursor-pointer\" (click)=\"tickets(type,obj.clientId,obj.storeId,obj.clientName)\">\r\n {{obj.ticketId}}\r\n </span>\r\n <span *ngIf=\"type === 'installation'\">\r\n {{obj.ticketId}}\r\n </span>\r\n </td>\r\n <td *ngIf=\"type === 'dataMismatch'\">\r\n {{obj?.createdAt |\r\n date: 'dd MMM, yyyy'}}</td>\r\n <td *ngIf=\"type === 'dataMismatch'\">\r\n {{obj?.issueDate |\r\n date: 'dd MMM, yyyy'}}</td>\r\n <td *ngIf=\"type !== 'dataMismatch'\">\r\n {{obj?.createdAt |\r\n date: 'dd MMM, yyyy'}}\r\n </td>\r\n <td *ngIf=\"type === 'infra'\">\r\n {{obj?.createdAt |\r\n date: 'hh:mm a' | uppercase}}\r\n </td>\r\n <td *ngIf=\"type === 'infra'\">\r\n {{obj?.issueClosedDate?(obj?.issueClosedDate |\r\n date: 'hh:mm a' | uppercase):\"--\"}}\r\n </td>\r\n <td *ngIf=\"this.users.userType ==='tango'\">\r\n <div class=\"table-title cursor-pointer\" (click)=\"clientTickets(obj.clientId,obj.storeId,obj.clientName)\">\r\n <span class=\"txt-light-primary\">\r\n {{obj.clientName}}\r\n </span>\r\n </div>\r\n </td>\r\n <td *ngIf=\"this.users.userType ==='tango'\">{{obj.clientId}}\r\n </td>\r\n <td>\r\n <div class=\"table-title cursor-pointer\" (click)=\"storeTickets(obj.clientId,obj.storeId,obj.clientName)\">\r\n <span class=\"txt-light-primary\">\r\n {{obj.storeName}}\r\n </span>\r\n </div>\r\n </td>\r\n <td>{{obj.storeId}}\r\n </td>\r\n \r\n <td *ngIf=\"this.users.userType ==='tango'\">\r\n <div class=\"table-title cursor-pointer\" >\r\n <span >\r\n {{obj.userName}}\r\n </span>\r\n </div>\r\n </td>\r\n <td *ngIf=\"type ==='dataMismatch' && obj.issueType ==='lowcount'\" >Low Count</td>\r\n <td *ngIf=\"type ==='dataMismatch' && obj.issueType ==='highcount'\">High Count</td>\r\n <td class=\"text-capitalize\" *ngIf=\"type ==='dataMismatch'\">{{obj?.type ? obj?.type:'--'}}</td>\r\n <td class=\"text-capitalize\" *ngIf=\"type ==='dataMismatch'\">{{obj?.reportedFootfall ? obj?.reportedFootfall:'--'}}</td>\r\n <td class=\"text-capitalize\" *ngIf=\"type ==='dataMismatch'\">{{obj?.mappedCount ? obj?.mappedCount:'--'}}</td>\r\n <td class=\"text-capitalize\" *ngIf=\"type ==='dataMismatch'\">{{obj?.successPercentage ? obj?.successPercentage:'--'}}</td>\r\n <td *ngIf=\"type==='installation'\">\r\n <span *ngIf=\"obj.installationStatus ==='paired' || obj.installationStatus ==='onboarded'\"\r\n class=\"badge badge-light-primary mx-4\">{{obj.installationStatus | titlecase}}</span>\r\n <span *ngIf=\"obj.installationStatus ==='live'\" class=\"badge badge-light-success mx-4\">Live</span>\r\n <span *ngIf=\"obj.installationStatus ==='installationfailed'\"\r\n class=\"badge badge-light-warning mx-4\">Installationfailed</span>\r\n <span *ngIf=\"obj.installationStatus ==='deployed'\"\r\n class=\"badge badge-light-success mx-4 text-capitalize\">deployed</span>\r\n </td>\r\n <td *ngIf=\"type==='infra' || type==='mat' || type==='dataMismatch'\">\r\n <span *ngIf=\"obj.status ==='open'\" class=\"badge badge-light-danger\">Open</span>\r\n <span *ngIf=\"obj.status ==='closed'\" class=\"badge badge-light-success\">Closed</span>\r\n <span *ngIf=\"obj.status ==='inprogress'\" class=\"badge badge-light-primary\">In\r\n Progress</span>\r\n </td>\r\n <td *ngIf=\"type==='infra'\">\r\n{{obj.configuredDownTime?obj.configuredDownTime*60:0 || 0 }} {{obj.configuredDownTime > 1? 'mins' : 'min'}} \r\n </td>\r\n <td *ngIf=\"type==='infra'\"> \r\n{{obj.totalDownTime || 0 }} {{obj.totalDownTime > 1? 'mins' : 'min'}} \r\n </td>\r\n <td *ngIf=\"type==='installation' || type==='infra'\">\r\n <div>\r\n <span *ngIf=\"obj.primaryIssue !=='-'\">{{obj.primaryIssue ? obj.primaryIssue :'Issue not identified'}}</span>\r\n <span *ngIf=\"obj.primaryIssue ==='-'\">Issue not identified</span>\r\n </div>\r\n </td>\r\n <td *ngIf=\"type==='installation' || type==='infra'\">\r\n <span *ngIf=\"obj.secondaryIssue\">{{obj.secondaryIssue}}</span>\r\n </td>\r\n <td *ngIf=\"type==='infra' || type ==='dataMismatch'\">\r\n <span class=\"mx-2 cursor-pointer\" *ngIf=\"this.users.userType ==='tango'\" (click)=\"commentModal(obj)\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path\r\n d=\"M17.6431 12.5C17.6431 12.942 17.4675 13.366 17.1549 13.6785C16.8423 13.9911 16.4184 14.1667 15.9764 14.1667H5.9764L2.64307 17.5V4.16667C2.64307 3.72464 2.81866 3.30072 3.13122 2.98816C3.44378 2.67559 3.86771 2.5 4.30973 2.5H15.9764C16.4184 2.5 16.8423 2.67559 17.1549 2.98816C17.4675 3.30072 17.6431 3.72464 17.6431 4.16667V12.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <span class=\"mx-2 cursor-pointer\" (click)=\"tickets(type,obj.clientId,obj.storeId,obj.clientName)\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10640_18061)\">\r\n <path\r\n d=\"M0.976562 10C0.976562 10 4.3099 3.33337 10.1432 3.33337C15.9766 3.33337 19.3099 10 19.3099 10C19.3099 10 15.9766 16.6667 10.1432 16.6667C4.3099 16.6667 0.976562 10 0.976562 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M10.1432 12.5C11.5239 12.5 12.6432 11.3808 12.6432 10C12.6432 8.61933 11.5239 7.50004 10.1432 7.50004C8.76252 7.50004 7.64323 8.61933 7.64323 10C7.64323 11.3808 8.76252 12.5 10.1432 12.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10640_18061\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(0.143066)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n </td>\r\n <td *ngIf=\"type === 'mat'\">\r\n <span class=\"mx-2 cursor-pointer\" (click)=\"routeToMat(obj.storeId,obj.clientId,obj.clientName)\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_10640_18061)\">\r\n <path\r\n d=\"M0.976562 10C0.976562 10 4.3099 3.33337 10.1432 3.33337C15.9766 3.33337 19.3099 10 19.3099 10C19.3099 10 15.9766 16.6667 10.1432 16.6667C4.3099 16.6667 0.976562 10 0.976562 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M10.1432 12.5C11.5239 12.5 12.6432 11.3808 12.6432 10C12.6432 8.61933 11.5239 7.50004 10.1432 7.50004C8.76252 7.50004 7.64323 8.61933 7.64323 10C7.64323 11.3808 8.76252 12.5 10.1432 12.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_10640_18061\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(0.143066)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span> \r\n \r\n </td>\r\n \r\n \r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"pageSize\" [currentPage]=\"currentPage\" [totalItems]=\"totalItems\"\r\n [paginationSizes]=\"paginationSizes\" [pageSize]=\"setpageSize()\" (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n </div>\r\n</div>", styles: [".nav-item .nav-link.active{border:none;border-radius:6px;background:var(--Primary-50, #EAF8FF);padding:8px 12px}.nav-item .nav-link:hover{border:none}.text-border{border-radius:16px!important;background:var(--Gray-100, #F2F4F7)!important;color:var(--Gray-700, #344054);text-align:center;font-size:14px;font-weight:500;line-height:20px;padding:2px 10px!important}.text-border-priamry{border-radius:16px;background:var(--Primary-50, #EAF8FF);color:var(--Primary-700, #009BF3);text-align:center;font-size:14px;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}.text-sub{color:var(--Gray-500, #667085)!important;font-family:Inter;font-size:14px!important;font-weight:400!important;line-height:20px}.border-val{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}td{vertical-align:middle;line-height:35px!important}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important}.txt-light-primary{color:#009bf3!important}input[type=checkbox]{width:16px!important;height:16px!important;margin:0 5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.2em;padding-left:0;padding-top:9px;padding-right:4px}.img-src{width:25%;height:20%}.rotate{rotate:180deg;transition:1s}.viewbutton{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);box-shadow:0 1px 2px #1018280d;padding:10px 16px;justify-content:center;align-items:center;gap:10px;color:var(--Gray-700, #344054);font-family:Inter;font-size:12px;font-weight:600}.horizontal-scroll{overflow-x:auto;overflow-y:hidden;white-space:nowrap}\n"] }]
|
|
1133
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i1$1.GlobalStateService }, { type: i1$2.NgbModal }, { type: TicketService }, { type: ExcelService }] });
|
|
1134
|
-
|
|
1135
|
-
class ReTriggerComponent {
|
|
1136
|
-
activeModal;
|
|
1137
|
-
service;
|
|
1138
|
-
dropDown = false;
|
|
1139
|
-
loading = true;
|
|
1140
|
-
noData = false;
|
|
1141
|
-
dropdownItems = [];
|
|
1142
|
-
selectedItem = 'Audit';
|
|
1143
|
-
selectedData = 'To Queue';
|
|
1144
|
-
standardData = ['To Queue', 'To User'];
|
|
1145
|
-
Comment = '';
|
|
1146
|
-
userId = '';
|
|
1147
|
-
destroy$ = new Subject();
|
|
1148
|
-
reTrigerData;
|
|
1149
|
-
userList = [];
|
|
1150
|
-
constructor(activeModal, service) {
|
|
1151
|
-
this.activeModal = activeModal;
|
|
1152
|
-
this.service = service;
|
|
1153
|
-
}
|
|
1154
|
-
onClick(event) {
|
|
1155
|
-
const target = event.target;
|
|
1156
|
-
if (!target.closest('.dropDown')) {
|
|
1157
|
-
this.dropDown = false;
|
|
1158
|
-
}
|
|
1159
|
-
}
|
|
1160
|
-
ngOnInit() {
|
|
1161
|
-
if (this.reTrigerData?.data?.auditType === 'ReAudit') {
|
|
1162
|
-
this.dropdownItems = ['Audit', 'ReAudit'];
|
|
1163
|
-
}
|
|
1164
|
-
else if (this.reTrigerData?.data?.auditType === 'Audit') {
|
|
1165
|
-
this.dropdownItems = ['Audit'];
|
|
1166
|
-
}
|
|
1167
|
-
this.getuserList();
|
|
1168
|
-
}
|
|
1169
|
-
getuserList() {
|
|
1170
|
-
this.service.getuserList().subscribe({
|
|
1171
|
-
next: (res) => {
|
|
1172
|
-
if (res && res.code === 200) {
|
|
1173
|
-
this.userList = res?.data?.result;
|
|
1174
|
-
}
|
|
1175
|
-
},
|
|
1176
|
-
});
|
|
1177
|
-
}
|
|
1178
|
-
ngOnDestroy() {
|
|
1179
|
-
this.destroy$.next(true);
|
|
1180
|
-
this.destroy$.complete();
|
|
1181
|
-
}
|
|
1182
|
-
selectRadio(value) {
|
|
1183
|
-
this.selectedData = value;
|
|
1184
|
-
}
|
|
1185
|
-
openDropdown(event) {
|
|
1186
|
-
event.stopPropagation();
|
|
1187
|
-
this.dropDown = !this.dropDown;
|
|
1188
|
-
}
|
|
1189
|
-
selectItem(value) {
|
|
1190
|
-
this.selectedItem = value;
|
|
1191
|
-
this.dropDown = false;
|
|
1192
|
-
}
|
|
1193
|
-
onReportSelect(event) {
|
|
1194
|
-
this.userId = event;
|
|
1195
|
-
}
|
|
1196
|
-
closeModal() {
|
|
1197
|
-
let data = {
|
|
1198
|
-
fileDate: this.reTrigerData?.data?.fileDate,
|
|
1199
|
-
storeId: this.reTrigerData?.data?.storeId,
|
|
1200
|
-
auditType: this.selectedItem,
|
|
1201
|
-
zoneName: this.reTrigerData?.data?.zoneName,
|
|
1202
|
-
triggerType: this.selectedData === 'To Queue' ? 'queue' : 'user',
|
|
1203
|
-
totalCount: this.selectedItem === 'Audit' ? this.reTrigerData?.data?.beforeCount : this.reTrigerData?.data?.afterCount,
|
|
1204
|
-
comments: this.Comment,
|
|
1205
|
-
moduleType: this.reTrigerData?.data?.moduleType
|
|
1206
|
-
};
|
|
1207
|
-
this.selectedData === 'To User' ? data.userId = this.userId.userId : '';
|
|
1208
|
-
this.activeModal.close(data);
|
|
1209
|
-
}
|
|
1210
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReTriggerComponent, deps: [{ token: i1$2.NgbActiveModal }, { token: TicketService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1211
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ReTriggerComponent, selector: "lib-retrigger", inputs: { reTrigerData: "reTrigerData" }, host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "<div class=\"card\">\r\n \r\n <div class=\"card-header border-0\">\r\n <div class=\"card-title d-grid\">\r\n <div class=\"card-title\">Re-trigger File</div>\r\n <div class=\"text-sub\">Re-trigger the file to a queue or other users</div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"\">\r\n <label class=\"label\">Push Form</label>\r\n <div class=\"position-relative w-100 mt-3 mb-5\">\r\n <button type=\"button\" (click)=\"openDropdown($event)\"\r\n class=\"btn btn-default w-100 btn-outline btn-outline-default rounded-3 text-nowrap border-val d-flex justify-content-between\">\r\n {{selectedItem}}\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\"\r\n viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#667085\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </button>\r\n <div *ngIf=\"dropDown\" class=\"card py-1 w-100 position-absolute top-50px end-0\">\r\n <ul *ngFor=\"let item of dropdownItems\" class=\"list-unstyled\">\r\n <li [ngClass]=\"selectedItem === item ? 'active' : ''\"\r\n class=\"camera px-5 items fw-semibold cursor-pointer py-2\"\r\n (click)=\"selectItem(item)\">{{item}}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mt-5 cursor-pointer d-flex mb-5\">\r\n <div *ngFor=\"let data of standardData\" (click)=\"selectRadio(data)\" class=\"d-flex align-items-center me-20\">\r\n <input [checked]=\"selectedData === data\" type=\"radio\" class=\"radio\">\r\n <span class=\"ms-3 standard\">{{data}}</span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedData === 'To User'\" class=\"w-100 mb-5\">\r\n <label for=\"infraDownTime\" class=\"label mb-3\">Select User<span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"userList\" [multi]=\"false\" [searchField]=\"'userName'\" [idField]=\"'userId'\"\r\n (selected)=\"onReportSelect($event)\" [selectedValues]=\"[userId]\"></lib-select>\r\n </div>\r\n <div>\r\n <label class=\"label mb-3\">Comments</label>\r\n <textarea class=\"form-control\" [(ngModel)]=\"Comment\"></textarea>\r\n </div>\r\n <div class=\"d-flex mt-5\">\r\n <button class=\"btn btn-outline w-100 me-2\" (click)=\"activeModal.dismiss()\">Cancel</button>\r\n <button *ngIf=\"selectedData === 'To User'\" class=\"btn btn-primary w-100 ms-2\" [disabled]=\"!userId || !Comment\" (click)=\"closeModal()\">Submit</button>\r\n <button *ngIf=\"selectedData === 'To Queue'\" class=\"btn btn-primary w-100 ms-2\" [disabled]=\"!Comment\" (click)=\"closeModal()\">Submit</button>\r\n </div>\r\n </div>\r\n</div>", styles: [".label{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.standard{color:var(--Gray-700, #344054);font-size:16px;font-weight:500;line-height:24px}.radio{width:16px!important;height:16px!important}\n"], dependencies: [{ kind: "directive", type: i6$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }] });
|
|
1212
|
-
}
|
|
1213
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReTriggerComponent, decorators: [{
|
|
1214
|
-
type: Component,
|
|
1215
|
-
args: [{ selector: 'lib-retrigger', template: "<div class=\"card\">\r\n \r\n <div class=\"card-header border-0\">\r\n <div class=\"card-title d-grid\">\r\n <div class=\"card-title\">Re-trigger File</div>\r\n <div class=\"text-sub\">Re-trigger the file to a queue or other users</div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"\">\r\n <label class=\"label\">Push Form</label>\r\n <div class=\"position-relative w-100 mt-3 mb-5\">\r\n <button type=\"button\" (click)=\"openDropdown($event)\"\r\n class=\"btn btn-default w-100 btn-outline btn-outline-default rounded-3 text-nowrap border-val d-flex justify-content-between\">\r\n {{selectedItem}}\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\"\r\n viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#667085\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </button>\r\n <div *ngIf=\"dropDown\" class=\"card py-1 w-100 position-absolute top-50px end-0\">\r\n <ul *ngFor=\"let item of dropdownItems\" class=\"list-unstyled\">\r\n <li [ngClass]=\"selectedItem === item ? 'active' : ''\"\r\n class=\"camera px-5 items fw-semibold cursor-pointer py-2\"\r\n (click)=\"selectItem(item)\">{{item}}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mt-5 cursor-pointer d-flex mb-5\">\r\n <div *ngFor=\"let data of standardData\" (click)=\"selectRadio(data)\" class=\"d-flex align-items-center me-20\">\r\n <input [checked]=\"selectedData === data\" type=\"radio\" class=\"radio\">\r\n <span class=\"ms-3 standard\">{{data}}</span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedData === 'To User'\" class=\"w-100 mb-5\">\r\n <label for=\"infraDownTime\" class=\"label mb-3\">Select User<span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"userList\" [multi]=\"false\" [searchField]=\"'userName'\" [idField]=\"'userId'\"\r\n (selected)=\"onReportSelect($event)\" [selectedValues]=\"[userId]\"></lib-select>\r\n </div>\r\n <div>\r\n <label class=\"label mb-3\">Comments</label>\r\n <textarea class=\"form-control\" [(ngModel)]=\"Comment\"></textarea>\r\n </div>\r\n <div class=\"d-flex mt-5\">\r\n <button class=\"btn btn-outline w-100 me-2\" (click)=\"activeModal.dismiss()\">Cancel</button>\r\n <button *ngIf=\"selectedData === 'To User'\" class=\"btn btn-primary w-100 ms-2\" [disabled]=\"!userId || !Comment\" (click)=\"closeModal()\">Submit</button>\r\n <button *ngIf=\"selectedData === 'To Queue'\" class=\"btn btn-primary w-100 ms-2\" [disabled]=\"!Comment\" (click)=\"closeModal()\">Submit</button>\r\n </div>\r\n </div>\r\n</div>", styles: [".label{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.standard{color:var(--Gray-700, #344054);font-size:16px;font-weight:500;line-height:24px}.radio{width:16px!important;height:16px!important}\n"] }]
|
|
1216
|
-
}], ctorParameters: () => [{ type: i1$2.NgbActiveModal }, { type: TicketService }], propDecorators: { reTrigerData: [{
|
|
1217
|
-
type: Input
|
|
1218
|
-
}], onClick: [{
|
|
1219
|
-
type: HostListener,
|
|
1220
|
-
args: ['document:click', ['$event']]
|
|
1221
|
-
}] } });
|
|
1222
|
-
|
|
1223
|
-
class CountComponent {
|
|
1224
|
-
Service;
|
|
1225
|
-
toast;
|
|
1226
|
-
excel;
|
|
1227
|
-
cd;
|
|
1228
|
-
destroy$ = new Subject();
|
|
1229
|
-
data;
|
|
1230
|
-
loading = true;
|
|
1231
|
-
noData = false;
|
|
1232
|
-
auditImages;
|
|
1233
|
-
constructor(Service, toast, excel, cd) {
|
|
1234
|
-
this.Service = Service;
|
|
1235
|
-
this.toast = toast;
|
|
1236
|
-
this.excel = excel;
|
|
1237
|
-
this.cd = cd;
|
|
1238
|
-
}
|
|
1239
|
-
ngOnInit() {
|
|
1240
|
-
this.getAuditImages();
|
|
1241
|
-
}
|
|
1242
|
-
ngOnDestroy() {
|
|
1243
|
-
this.destroy$.next(true);
|
|
1244
|
-
this.destroy$.complete();
|
|
1245
|
-
}
|
|
1246
|
-
getAuditImages() {
|
|
1247
|
-
let params = {
|
|
1248
|
-
fileDate: this.data?.fileDate,
|
|
1249
|
-
storeId: this.data?.storeId,
|
|
1250
|
-
imageType: this.data?.imageType,
|
|
1251
|
-
export: false,
|
|
1252
|
-
moduleType: this.data?.selectedType,
|
|
1253
|
-
zoneName: this.data?.zoneName
|
|
1254
|
-
};
|
|
1255
|
-
this.Service.getAuditImages(params).pipe(takeUntil(this.destroy$)).subscribe({
|
|
1256
|
-
next: (res) => {
|
|
1257
|
-
if (res && res?.code === 200) {
|
|
1258
|
-
this.auditImages = res?.data?.result;
|
|
1259
|
-
this.loading = false;
|
|
1260
|
-
this.noData = false;
|
|
1261
|
-
}
|
|
1262
|
-
else {
|
|
1263
|
-
this.noData = true;
|
|
1264
|
-
this.loading = false;
|
|
1265
|
-
}
|
|
1266
|
-
this.cd.detectChanges();
|
|
1267
|
-
},
|
|
1268
|
-
error: (err) => {
|
|
1269
|
-
this.noData = true;
|
|
1270
|
-
this.loading = false;
|
|
1271
|
-
},
|
|
1272
|
-
});
|
|
1273
|
-
}
|
|
1274
|
-
exportTable() {
|
|
1275
|
-
let params = {
|
|
1276
|
-
fileDate: this.data?.fileDate,
|
|
1277
|
-
storeId: this.data?.storeId,
|
|
1278
|
-
imageType: this.data?.imageType,
|
|
1279
|
-
export: true,
|
|
1280
|
-
moduleType: this.data?.selectedType,
|
|
1281
|
-
zoneName: this.data?.zoneName
|
|
1282
|
-
};
|
|
1283
|
-
let type = this.data?.type === 'before' ? 'BeforeCount' : 'AfterCount';
|
|
1284
|
-
this.Service.ExportAuditImagesasxlsx(params).pipe(takeUntil(this.destroy$)).subscribe({
|
|
1285
|
-
next: (res) => {
|
|
1286
|
-
if (res) {
|
|
1287
|
-
this.excel.saveAsZipFile(res, type);
|
|
1288
|
-
}
|
|
1289
|
-
},
|
|
1290
|
-
error: (err) => {
|
|
1291
|
-
this.toast.getErrorToast(err?.error);
|
|
1292
|
-
},
|
|
1293
|
-
});
|
|
1294
|
-
}
|
|
1295
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CountComponent, deps: [{ token: TicketService }, { token: i4.ToastService }, { token: ExcelService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1296
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CountComponent, selector: "lib-count", inputs: { data: "data" }, ngImport: i0, template: "<div class=\"card\">\r\n <div class=\"card-header\">\r\n <div class=\"card-title d-grid\">\r\n <div *ngIf=\"data?.type\" class=\"card-label\">{{data?.type | titlecase}} Count - {{data?.storeId}}</div>\r\n <div class=\"text-sub\">{{data?.fileDate | customDateFormat}}</div>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <button *ngIf=\"!noData\" type=\"button\" (click)=\"exportTable()\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n <span class=\"ms-2\">Export</span> </button>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row mx-3\">\r\n <div class=\"col-md-12 item scroll-y\">\r\n <div class=\"item\" *ngFor=\"let images of auditImages;let i=index\" style=\"padding: 10px;\">\r\n <img class=\"mx-3 my-3 img\" [src]=\"images?.imgPath\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{images?.imgName}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div> \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n", styles: [".img{width:95px;height:200px}.item{position:relative;padding-top:20px;display:inline-block;max-height:595px}.scroll-y{overflow-y:auto!important;position:relative!important}\n"], dependencies: [{ kind: "directive", type: i6$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6$1.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i4.CustomDateFormatPipe, name: "customDateFormat" }] });
|
|
1297
|
-
}
|
|
1298
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CountComponent, decorators: [{
|
|
1299
|
-
type: Component,
|
|
1300
|
-
args: [{ selector: 'lib-count', template: "<div class=\"card\">\r\n <div class=\"card-header\">\r\n <div class=\"card-title d-grid\">\r\n <div *ngIf=\"data?.type\" class=\"card-label\">{{data?.type | titlecase}} Count - {{data?.storeId}}</div>\r\n <div class=\"text-sub\">{{data?.fileDate | customDateFormat}}</div>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <button *ngIf=\"!noData\" type=\"button\" (click)=\"exportTable()\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n <span class=\"ms-2\">Export</span> </button>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row mx-3\">\r\n <div class=\"col-md-12 item scroll-y\">\r\n <div class=\"item\" *ngFor=\"let images of auditImages;let i=index\" style=\"padding: 10px;\">\r\n <img class=\"mx-3 my-3 img\" [src]=\"images?.imgPath\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{images?.imgName}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div> \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n", styles: [".img{width:95px;height:200px}.item{position:relative;padding-top:20px;display:inline-block;max-height:595px}.scroll-y{overflow-y:auto!important;position:relative!important}\n"] }]
|
|
1301
|
-
}], ctorParameters: () => [{ type: TicketService }, { type: i4.ToastService }, { type: ExcelService }, { type: i0.ChangeDetectorRef }], propDecorators: { data: [{
|
|
1302
|
-
type: Input
|
|
1303
|
-
}] } });
|
|
1304
|
-
|
|
1305
|
-
class AuditMetricsComponent {
|
|
1306
|
-
gs;
|
|
1307
|
-
modalService;
|
|
1308
|
-
service;
|
|
1309
|
-
toast;
|
|
1310
|
-
excel;
|
|
1311
|
-
noData = false;
|
|
1312
|
-
loading = true;
|
|
1313
|
-
storesData = [];
|
|
1314
|
-
activity = [
|
|
1315
|
-
{ type: 'Audit', FileDate: '28-11-2023', Time: '03:24 pm', beforeCout: '300', AfterCount: '100' },
|
|
1316
|
-
{ type: 'Re-Audit', FileDate: '28-10-2023', Time: '03:24 pm', beforeCout: '350', AfterCount: '120' },
|
|
1317
|
-
{ type: 'Audit', FileDate: '28-11-2023', Time: '03:24 pm', beforeCout: '300', AfterCount: '100' }
|
|
1318
|
-
];
|
|
1319
|
-
activitylog;
|
|
1320
|
-
destroy$ = new Subject();
|
|
1321
|
-
headerFilter;
|
|
1322
|
-
sortColumName = '';
|
|
1323
|
-
sortBy = 1;
|
|
1324
|
-
filterByClient = [];
|
|
1325
|
-
filterByStatus = [];
|
|
1326
|
-
pagination = [10, 20, 30];
|
|
1327
|
-
searchTerm;
|
|
1328
|
-
limit = 10;
|
|
1329
|
-
offset = 1;
|
|
1330
|
-
selectedValue;
|
|
1331
|
-
dayjs = dayjs;
|
|
1332
|
-
filterByStore = [];
|
|
1333
|
-
totalCount;
|
|
1334
|
-
selectedTab = '';
|
|
1335
|
-
dataObject = [
|
|
1336
|
-
{ Description: 'Module Type', type: 'single', Issues: [{ id: 'traffic', text: "Traffic" }, { id: 'zone', text: "Zone" }] },
|
|
1337
|
-
{ Description: 'Clients', Issues: [] },
|
|
1338
|
-
{ Description: 'Status', Issues: [{ id: 'closed', text: "Completed" }, { id: 'inprogress', text: "Inprogress" }, { id: 'drafted', text: "Draft" }, { id: 'assigned', text: "Assigned" }, { id: 'not_assign', text: "Not Assigened" }, { id: 'skipped', text: "Skip" },] }
|
|
1339
|
-
];
|
|
1340
|
-
clientList;
|
|
1341
|
-
selectedType = 'traffic';
|
|
1342
|
-
constructor(gs, modalService, service, toast, excel) {
|
|
1343
|
-
this.gs = gs;
|
|
1344
|
-
this.modalService = modalService;
|
|
1345
|
-
this.service = service;
|
|
1346
|
-
this.toast = toast;
|
|
1347
|
-
this.excel = excel;
|
|
1348
|
-
}
|
|
1349
|
-
ngOnInit() {
|
|
1350
|
-
this.gs.dataRangeValue.pipe(takeUntil(this.destroy$)).subscribe((data) => {
|
|
1351
|
-
if (data != null) {
|
|
1352
|
-
this.headerFilter = data;
|
|
1353
|
-
this.metricsList();
|
|
1354
|
-
}
|
|
1355
|
-
});
|
|
1356
|
-
}
|
|
1357
|
-
metricsList() {
|
|
1358
|
-
let data = {
|
|
1359
|
-
fromDate: this.dayjs(this.headerFilter?.date?.startDate).format('YYYY-MM-DD'),
|
|
1360
|
-
toDate: this.dayjs(this.headerFilter?.date?.endDate).format('YYYY-MM-DD'),
|
|
1361
|
-
filterByClientId: this.filterByClient,
|
|
1362
|
-
filterByStoreId: this.filterByStore,
|
|
1363
|
-
filterByStatus: this.filterByStatus,
|
|
1364
|
-
filterByAuditType: this.selectedTab === '' ? [] : [this.selectedTab],
|
|
1365
|
-
filterByModuleType: [this.selectedType],
|
|
1366
|
-
searchValue: this.searchTerm,
|
|
1367
|
-
sortBy: this.sortBy,
|
|
1368
|
-
limit: this.limit,
|
|
1369
|
-
offset: this.offset,
|
|
1370
|
-
isExport: false
|
|
1371
|
-
};
|
|
1372
|
-
if (this.sortColumName) {
|
|
1373
|
-
data.sortColumnName = this.sortColumName;
|
|
1374
|
-
}
|
|
1375
|
-
else if (this.searchTerm) {
|
|
1376
|
-
data.searchValue = this.searchTerm;
|
|
1377
|
-
}
|
|
1378
|
-
this.getclientList();
|
|
1379
|
-
this.service.getstoreMetrics(data).pipe(takeUntil(this.destroy$)).subscribe({
|
|
1380
|
-
next: (res) => {
|
|
1381
|
-
if (res && res?.code === 200) {
|
|
1382
|
-
this.storesData = res?.data?.result;
|
|
1383
|
-
this.totalCount = res?.data?.count;
|
|
1384
|
-
if (!this.storesData?.length) {
|
|
1385
|
-
this.noData = true;
|
|
1386
|
-
}
|
|
1387
|
-
if (this.totalCount < 10) {
|
|
1388
|
-
this.pagination = [this.totalCount];
|
|
1389
|
-
}
|
|
1390
|
-
else {
|
|
1391
|
-
this.pagination = [10, 20, 30];
|
|
1392
|
-
}
|
|
1393
|
-
this.loading = false;
|
|
1394
|
-
this.noData = false;
|
|
1395
|
-
}
|
|
1396
|
-
else {
|
|
1397
|
-
this.noData = true;
|
|
1398
|
-
this.loading = false;
|
|
1399
|
-
}
|
|
1400
|
-
},
|
|
1401
|
-
error: (err) => {
|
|
1402
|
-
this.noData = true;
|
|
1403
|
-
this.loading = false;
|
|
1404
|
-
this.toast.getErrorToast(err?.message);
|
|
1405
|
-
}
|
|
1406
|
-
});
|
|
1407
|
-
}
|
|
1408
|
-
setItemsperPage() {
|
|
1409
|
-
if (this.totalCount < 10) {
|
|
1410
|
-
return this.totalCount;
|
|
1411
|
-
}
|
|
1412
|
-
else {
|
|
1413
|
-
return this.limit;
|
|
1414
|
-
}
|
|
1415
|
-
}
|
|
1416
|
-
getclientList() {
|
|
1417
|
-
this.service.getclientList().pipe(takeUntil(this.destroy$)).subscribe({
|
|
1418
|
-
next: (res) => {
|
|
1419
|
-
if (res && res?.code === 200) {
|
|
1420
|
-
this.clientList = res?.data?.result;
|
|
1421
|
-
const issues = this.clientList.map((obj) => ({ text: obj.clientName, id: obj.clientId }));
|
|
1422
|
-
const uniqueIssues = [];
|
|
1423
|
-
const Clients = new Set();
|
|
1424
|
-
issues.forEach((issue) => {
|
|
1425
|
-
if (!Clients.has(issue.text)) {
|
|
1426
|
-
Clients.add(issue.text);
|
|
1427
|
-
uniqueIssues.push(issue);
|
|
1428
|
-
}
|
|
1429
|
-
});
|
|
1430
|
-
const filtredObject = (this.dataObject.find((obj) => obj.Description === "Clients"));
|
|
1431
|
-
filtredObject.Issues = uniqueIssues;
|
|
1432
|
-
}
|
|
1433
|
-
},
|
|
1434
|
-
error: (err) => {
|
|
1435
|
-
},
|
|
1436
|
-
});
|
|
1437
|
-
}
|
|
1438
|
-
ngOnDestroy() {
|
|
1439
|
-
this.destroy$.next(true);
|
|
1440
|
-
this.destroy$.complete();
|
|
1441
|
-
}
|
|
1442
|
-
receiveData(data) {
|
|
1443
|
-
this.filterByClient = data.find((obj) => obj.Description === "Clients")?.Issues.map((item) => item?.id);
|
|
1444
|
-
this.filterByStatus = data.find((obj) => obj.Description === "Status")?.Issues?.map((item) => item?.id);
|
|
1445
|
-
this.selectedType = data.find((obj) => obj.Description === 'Module Type')?.Issues?.id;
|
|
1446
|
-
this.metricsList();
|
|
1447
|
-
}
|
|
1448
|
-
onPageChange(pageOffset) {
|
|
1449
|
-
this.pagination.offset = pageOffset;
|
|
1450
|
-
this.metricsList();
|
|
1451
|
-
}
|
|
1452
|
-
onPageSizeChange(pageSize) {
|
|
1453
|
-
this.pagination.limit = pageSize;
|
|
1454
|
-
this.pagination.offset = 1;
|
|
1455
|
-
this.metricsList();
|
|
1456
|
-
}
|
|
1457
|
-
exportXLSX() {
|
|
1458
|
-
let data = {
|
|
1459
|
-
fromDate: this.dayjs(this.headerFilter?.date?.startDate).format('YYYY-MM-DD'),
|
|
1460
|
-
toDate: this.dayjs(this.headerFilter?.date?.endDate).format('YYYY-MM-DD'),
|
|
1461
|
-
filterByClientId: this.filterByClient,
|
|
1462
|
-
filterByStoreId: this.filterByStore,
|
|
1463
|
-
filterByStatus: this.filterByStatus,
|
|
1464
|
-
filterByAuditType: this.selectedTab === '' ? [] : [this.selectedTab],
|
|
1465
|
-
filterByModuleType: [this.selectedType],
|
|
1466
|
-
searchValue: this.searchTerm,
|
|
1467
|
-
sortBy: this.sortBy,
|
|
1468
|
-
limit: 10000,
|
|
1469
|
-
offset: this.offset,
|
|
1470
|
-
isExport: true
|
|
1471
|
-
};
|
|
1472
|
-
if (this.sortColumName) {
|
|
1473
|
-
data.sortColumnName = this.sortColumName;
|
|
1474
|
-
}
|
|
1475
|
-
else if (this.searchTerm) {
|
|
1476
|
-
data.searchValue = this.searchTerm;
|
|
1477
|
-
}
|
|
1478
|
-
this.service.getstoreMetricsExport(data).pipe(takeUntil(this.destroy$)).subscribe({
|
|
1479
|
-
next: (res) => {
|
|
1480
|
-
if (res) {
|
|
1481
|
-
this.excel.saveAsExcelFile(res, 'AuditMetrics');
|
|
1482
|
-
}
|
|
1483
|
-
},
|
|
1484
|
-
error: (err) => {
|
|
1485
|
-
this.toast.getErrorToast(err?.message);
|
|
1486
|
-
}
|
|
1487
|
-
});
|
|
1488
|
-
}
|
|
1489
|
-
selectedTabs(data) {
|
|
1490
|
-
if (data === 'all') {
|
|
1491
|
-
this.selectedTab = '';
|
|
1492
|
-
}
|
|
1493
|
-
else {
|
|
1494
|
-
this.selectedTab = data;
|
|
1495
|
-
}
|
|
1496
|
-
this.limit = 10;
|
|
1497
|
-
this.offset = 1;
|
|
1498
|
-
this.metricsList();
|
|
1499
|
-
}
|
|
1500
|
-
searchData() {
|
|
1501
|
-
this.searchTerm = this.searchTerm;
|
|
1502
|
-
this.metricsList();
|
|
1503
|
-
}
|
|
1504
|
-
openBeforecount(value) {
|
|
1505
|
-
const modalRef = this.modalService.open(CountComponent, {
|
|
1506
|
-
centered: true,
|
|
1507
|
-
size: 'xl'
|
|
1508
|
-
});
|
|
1509
|
-
modalRef.componentInstance.data = {
|
|
1510
|
-
type: 'before',
|
|
1511
|
-
fileDate: value?.fileDate,
|
|
1512
|
-
storeId: value?.storeId,
|
|
1513
|
-
selectedType: this.selectedType,
|
|
1514
|
-
zoneName: value?.zoneName,
|
|
1515
|
-
imageType: 'BC'
|
|
1516
|
-
};
|
|
1517
|
-
}
|
|
1518
|
-
openAftercount(value) {
|
|
1519
|
-
const modalRef = this.modalService.open(CountComponent, {
|
|
1520
|
-
centered: true,
|
|
1521
|
-
size: 'xl'
|
|
1522
|
-
});
|
|
1523
|
-
modalRef.componentInstance.data = {
|
|
1524
|
-
type: 'after',
|
|
1525
|
-
fileDate: value?.fileDate,
|
|
1526
|
-
storeId: value?.storeId,
|
|
1527
|
-
selectedType: this.selectedType,
|
|
1528
|
-
zoneName: value?.zoneName,
|
|
1529
|
-
imageType: 'AC'
|
|
1530
|
-
};
|
|
1531
|
-
}
|
|
1532
|
-
openView() {
|
|
1533
|
-
const modalRef = this.modalService.open(this.activitylog);
|
|
1534
|
-
}
|
|
1535
|
-
openreTrigger(value) {
|
|
1536
|
-
const modalRef = this.modalService.open(ReTriggerComponent, {
|
|
1537
|
-
centered: true,
|
|
1538
|
-
// size:''
|
|
1539
|
-
});
|
|
1540
|
-
modalRef.componentInstance.reTrigerData = {
|
|
1541
|
-
type: 'after',
|
|
1542
|
-
data: value,
|
|
1543
|
-
selectedType: this.selectedType
|
|
1544
|
-
};
|
|
1545
|
-
modalRef.closed.subscribe((res) => {
|
|
1546
|
-
if (res) {
|
|
1547
|
-
this.service.auditretrigger(res).pipe(takeUntil(this.destroy$)).subscribe({
|
|
1548
|
-
next: (res) => {
|
|
1549
|
-
if (res && res.code === 200) {
|
|
1550
|
-
this.toast.getSuccessToast(res?.data?.result);
|
|
1551
|
-
this.metricsList();
|
|
1552
|
-
}
|
|
1553
|
-
},
|
|
1554
|
-
error: (err) => {
|
|
1555
|
-
this.toast.getErrorToast(err?.message);
|
|
1556
|
-
}
|
|
1557
|
-
});
|
|
1558
|
-
}
|
|
1559
|
-
});
|
|
1560
|
-
}
|
|
1561
|
-
statusBadge(value) {
|
|
1562
|
-
let AccountStatus = value;
|
|
1563
|
-
if (AccountStatus === 'closed') {
|
|
1564
|
-
return 'badge-light-success';
|
|
1565
|
-
}
|
|
1566
|
-
else if (AccountStatus === 'assigned' || AccountStatus === 'not Assigned') {
|
|
1567
|
-
return 'badge-light-warning';
|
|
1568
|
-
}
|
|
1569
|
-
else {
|
|
1570
|
-
return 'badge-light-primary';
|
|
1571
|
-
}
|
|
1572
|
-
}
|
|
1573
|
-
sortData(value) {
|
|
1574
|
-
this.sortColumName = value;
|
|
1575
|
-
this.sortBy *= -1;
|
|
1576
|
-
this.metricsList();
|
|
1577
|
-
}
|
|
1578
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuditMetricsComponent, deps: [{ token: i1$1.GlobalStateService }, { token: i1$2.NgbModal }, { token: TicketService }, { token: i4.ToastService }, { token: ExcelService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1579
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AuditMetricsComponent, selector: "lib-audit-metrics", viewQueries: [{ propertyName: "activitylog", first: true, predicate: ["activitylog"], descendants: true }], ngImport: i0, template: "<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\">Audit Metrics</span>\r\n <!-- <span class=\"text-sub mb-2\">Last updated 1 hour ago</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-3\">\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\"></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 <input type=\"text\" class=\"form-control ps-14 me-2\" placeholder=\"Search\" autocomplete=\"off\"\r\n (change)=\"searchData()\" [(ngModel)]=\"searchTerm\" />\r\n \r\n <lib-filters *ngIf=\"clientList\" [dataObject]=\"dataObject\" (appliedFilters)=\"receiveData($event)\"></lib-filters>\r\n\r\n <button type=\"button\" *ngIf=\"!noData&&!loading\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2\">Export</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <ul class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap horizontal-scroll\">\r\n <li class=\"nav-item\" (click)=\"selectedTabs('all')\">\r\n <a [ngClass]=\"selectedTab === '' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-2\">\r\n All <span class=\"mx-2\"\r\n [ngClass]=\"selectedTab === '' ? 'text-border-priamry' : 'text-border'\">{{totalCount?.totalauditCount ? totalCount?.totalauditCount : 0}}</span>\r\n </a>\r\n </li>\r\n <li class=\"nav-item\" (click)=\"selectedTabs('Audit')\">\r\n <a [ngClass]=\"selectedTab === 'Audit' ? 'active' :''\" class=\"nav-link cursor-pointer no-border me-2\">\r\n Audit <span class=\"mx-2\"\r\n [ngClass]=\"selectedTab === 'Audit' ? 'text-border-priamry' : 'text-border'\">{{totalCount?.auditCount ? totalCount?.auditCount : 0}}</span>\r\n </a>\r\n </li>\r\n <li class=\"nav-item\" (click)=\"selectedTabs('ReAudit')\">\r\n <a [ngClass]=\"selectedTab === 'ReAudit' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-2\">\r\n Re Audit <span class=\"mx-2\"\r\n [ngClass]=\"selectedTab === 'ReAudit' ? 'text-border-priamry' : 'text-border'\">{{totalCount?.reauditCount ? totalCount?.reauditCount : 0}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n <div *ngIf=\"!loading && !noData\" class=\"mt-5\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap\">\r\n <thead>\r\n <tr>\r\n <th>File Date</th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('storeName')\">\r\n Store Name\r\n <span\r\n *ngIf=\"sortColumName === 'storeName' && sortBy !== 1 || sortColumName !== 'storeName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span\r\n *ngIf=\"sortColumName === 'storeName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n \r\n </div></th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('storeId')\">\r\n Store Id\r\n <span\r\n *ngIf=\"sortColumName === 'storeId' && sortBy !== 1 || sortColumName !== 'storeId'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <span\r\n *ngIf=\"sortColumName === 'storeId' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n \r\n </div></th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('userName')\">\r\n User Name\r\n <span\r\n *ngIf=\"sortColumName === 'userName' && sortBy !== 1 || sortColumName !== 'userName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span\r\n *ngIf=\"sortColumName === 'userName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n \r\n </div></th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('userEmail')\">\r\n User Email\r\n <span\r\n *ngIf=\"sortColumName === 'userEmail' && sortBy !== 1 || sortColumName !== 'userEmail'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span\r\n *ngIf=\"sortColumName === 'userEmail' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n \r\n </div></th>\r\n <th>BC</th>\r\n <th>AC</th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('accuracy')\">\r\n Accuracy\r\n <span\r\n *ngIf=\"sortColumName === 'accuracy' && sortBy !== 1 || sortColumName !== 'accuracy'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span\r\n *ngIf=\"sortColumName === 'accuracy' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n \r\n </div></th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('timeSpent')\">\r\n TimeSpent\r\n <span\r\n *ngIf=\"sortColumName === 'timeSpent' && sortBy !== 1 || sortColumName !== 'timeSpent'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span\r\n *ngIf=\"sortColumName === 'timeSpent' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n \r\n </div></th>\r\n <th>Audit Type</th>\r\n <th>Status</th>\r\n <th><span>Actions</span></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let item of storesData\">\r\n <td>\r\n <div>{{ item?.fileDate ? item?.fileDate :'NA' }}</div>\r\n </td>\r\n <td>\r\n <div>{{ item?.storeName ? item?.storeName :'NA' }}</div>\r\n </td>\r\n <td>\r\n <div>{{item?.storeId ? item?.storeId : 'NA'}}</div>\r\n </td>\r\n <td>\r\n <div>{{ item?.userName ? item?.userName :'NA' }}</div>\r\n </td>\r\n <td>\r\n <div>{{ item?.userEmail ? item?.userEmail :'NA' }}</div>\r\n </td>\r\n <td>\r\n <div class=\"d-flex align-items-center\">\r\n <div [ngClass]=\"item?.beforeCount ? 'text-decoration-underline':''\" class=\"text-title text-primary cursor-pointer mb-1\" (click)=\"openBeforecount(item)\">\r\n {{ item?.beforeCount ?? '--' }}</div>\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"d-flex align-items-center\">\r\n <div [ngClass]=\"item?.afterCount ? 'text-decoration-underline':''\" class=\"text-title text-primary cursor-pointer mb-1\" (click)=\"openAftercount(item)\">\r\n {{ item?.afterCount ?? '--' }}</div>\r\n </div>\r\n </td>\r\n <td>\r\n <div>{{ item?.accuracy ?? '--' }}</div>\r\n </td>\r\n <td>{{ item?.timeSpent ? item?.timeSpent :'NA'}}</td>\r\n <td><span *ngIf=\"item?.auditType\" [ngClass]=\"item?.auditType === 'Audit' ? 'badge-light-success':'badge-light-warning'\" class=\"badge\">{{ item?.auditType }}</span></td>\r\n <td><span *ngIf=\"item?.status\" [ngClass]=\"statusBadge(item?.status)\" class=\"badge\">{{ item?.status | titlecase}}</span></td>\r\n <td><button class=\"btn btn-default btn-outline\" (click)=\"openView()\">View-Log</button>\r\n <button class=\"btn btn-default btn-outline ms-3\" [disabled]=\"item?.status === 'not_assign' || item?.status === 'assigned'\" (click)=\"openreTrigger(item)\">Re-Trigger</button></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"limit\" [currentPage]=\"offset\" [totalItems]=\"totalCount\"\r\n [paginationSizes]=\"pagination\" [pageSize]=\"setItemsperPage()\" (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n\r\n <div *ngIf=\"loading\" class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"noData\" class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div> \r\n\r\n </div>\r\n</div>\r\n\r\n<ng-template #activitylog let-modal>\r\n <div class=\"card\">\r\n <div class=\"card-header\">\r\n <div class=\"card-title\">\r\n <span class=\"card-label\">Activity Log</span>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <div class=\"cursor-pointer\" (click)=\"modal.dismiss()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M15 5L5 15M5 5L15 15\" stroke=\"#101828\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div> \r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div *ngFor=\"let log of activity\" class=\"d-flex mb-5 ms-5\">\r\n <div\r\n class=\"d-flex flex-column justify-content-center align-items-center pe-3\">\r\n <div class=\"d-flex align-items-centre justify-content-centre\">\r\n <!-- <img class=\"msgprofile\"\r\n src=\"./assets/tango/Images/userProfile.svg\"> -->\r\n <div class=\"symbol symbol-35px symbol-circle\">\r\n <span [ngClass]=\"log?.type === 'Audit' ? 'badge-light-success' : 'badge-light-primary'\" class=\"symbol-label badge-light-primary text-symbol\">\r\n <span [ngClass]=\"log?.type === 'Audit' ? 'text-success badge badge-light-success' : 'text-primary badge badge-light-primary'\" class=\"fs-4 fw-normal\">\r\n {{log?.type?.slice(0,1) | uppercase }}\r\n </span>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"p-0 h-100 mt-1 border border-1 border-gray\" style=\"width:0px\"></div>\r\n </div>\r\n <div class=\"py-3 pt-0\">\r\n <div class=\"activity-title fw-semibold mt-2 d-flex mb-4\">\r\n <span>{{log?.type}} </span><span class=\"ms-5 list\"><li>Fasila</li></span>\r\n </div>\r\n <div class=\"date-time mb-4\">\r\n {{log?.FileDate}} | {{log?.Time}}\r\n </div>\r\n <div class=\"\"><span class=\"badge badge-light-default fw-semibold\">Before Count : {{log?.beforeCout}}</span>\r\n <span class=\"badge badge-light-default fw-semibold ms-3\">After Count : {{log?.AfterCount}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>", styles: [".nav-item .nav-link.active{border:none;border-radius:6px;background:var(--Primary-50, #EAF8FF);padding:8px 12px}.nav-item .nav-link:hover{border:none}.text-border{border-radius:16px!important;background:var(--Gray-100, #F2F4F7)!important;color:var(--Gray-700, #344054);text-align:center;font-size:14px;font-weight:500;line-height:20px;padding:2px 10px!important}.text-border-priamry{border-radius:16px;background:var(--Primary-50, #EAF8FF);color:var(--Primary-700, #009BF3);text-align:center;font-size:14px;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}tr{vertical-align:middle!important}\n"], dependencies: [{ kind: "directive", type: i6$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PaginationComponent, selector: "lib-pagination", inputs: ["collection", "itemsPerPage", "currentPage", "totalItems", "directionLinks", "pageSize", "paginationSizes"], outputs: ["pageChange", "pageSizeChange"] }, { kind: "component", type: i4.FiltersComponent, selector: "lib-filters", inputs: ["dataObject"], outputs: ["appliedFilters"] }, { kind: "pipe", type: i6$1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i6$1.TitleCasePipe, name: "titlecase" }] });
|
|
1580
|
-
}
|
|
1581
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuditMetricsComponent, decorators: [{
|
|
1582
|
-
type: Component,
|
|
1583
|
-
args: [{ selector: 'lib-audit-metrics', template: "<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\">Audit Metrics</span>\r\n <!-- <span class=\"text-sub mb-2\">Last updated 1 hour ago</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-3\">\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\"></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 <input type=\"text\" class=\"form-control ps-14 me-2\" placeholder=\"Search\" autocomplete=\"off\"\r\n (change)=\"searchData()\" [(ngModel)]=\"searchTerm\" />\r\n \r\n <lib-filters *ngIf=\"clientList\" [dataObject]=\"dataObject\" (appliedFilters)=\"receiveData($event)\"></lib-filters>\r\n\r\n <button type=\"button\" *ngIf=\"!noData&&!loading\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2\">Export</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <ul class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap horizontal-scroll\">\r\n <li class=\"nav-item\" (click)=\"selectedTabs('all')\">\r\n <a [ngClass]=\"selectedTab === '' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-2\">\r\n All <span class=\"mx-2\"\r\n [ngClass]=\"selectedTab === '' ? 'text-border-priamry' : 'text-border'\">{{totalCount?.totalauditCount ? totalCount?.totalauditCount : 0}}</span>\r\n </a>\r\n </li>\r\n <li class=\"nav-item\" (click)=\"selectedTabs('Audit')\">\r\n <a [ngClass]=\"selectedTab === 'Audit' ? 'active' :''\" class=\"nav-link cursor-pointer no-border me-2\">\r\n Audit <span class=\"mx-2\"\r\n [ngClass]=\"selectedTab === 'Audit' ? 'text-border-priamry' : 'text-border'\">{{totalCount?.auditCount ? totalCount?.auditCount : 0}}</span>\r\n </a>\r\n </li>\r\n <li class=\"nav-item\" (click)=\"selectedTabs('ReAudit')\">\r\n <a [ngClass]=\"selectedTab === 'ReAudit' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-2\">\r\n Re Audit <span class=\"mx-2\"\r\n [ngClass]=\"selectedTab === 'ReAudit' ? 'text-border-priamry' : 'text-border'\">{{totalCount?.reauditCount ? totalCount?.reauditCount : 0}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n <div *ngIf=\"!loading && !noData\" class=\"mt-5\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap\">\r\n <thead>\r\n <tr>\r\n <th>File Date</th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('storeName')\">\r\n Store Name\r\n <span\r\n *ngIf=\"sortColumName === 'storeName' && sortBy !== 1 || sortColumName !== 'storeName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span\r\n *ngIf=\"sortColumName === 'storeName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n \r\n </div></th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('storeId')\">\r\n Store Id\r\n <span\r\n *ngIf=\"sortColumName === 'storeId' && sortBy !== 1 || sortColumName !== 'storeId'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <span\r\n *ngIf=\"sortColumName === 'storeId' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n \r\n </div></th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('userName')\">\r\n User Name\r\n <span\r\n *ngIf=\"sortColumName === 'userName' && sortBy !== 1 || sortColumName !== 'userName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span\r\n *ngIf=\"sortColumName === 'userName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n \r\n </div></th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('userEmail')\">\r\n User Email\r\n <span\r\n *ngIf=\"sortColumName === 'userEmail' && sortBy !== 1 || sortColumName !== 'userEmail'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span\r\n *ngIf=\"sortColumName === 'userEmail' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n \r\n </div></th>\r\n <th>BC</th>\r\n <th>AC</th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('accuracy')\">\r\n Accuracy\r\n <span\r\n *ngIf=\"sortColumName === 'accuracy' && sortBy !== 1 || sortColumName !== 'accuracy'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span\r\n *ngIf=\"sortColumName === 'accuracy' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n \r\n </div></th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('timeSpent')\">\r\n TimeSpent\r\n <span\r\n *ngIf=\"sortColumName === 'timeSpent' && sortBy !== 1 || sortColumName !== 'timeSpent'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span\r\n *ngIf=\"sortColumName === 'timeSpent' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n \r\n </div></th>\r\n <th>Audit Type</th>\r\n <th>Status</th>\r\n <th><span>Actions</span></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let item of storesData\">\r\n <td>\r\n <div>{{ item?.fileDate ? item?.fileDate :'NA' }}</div>\r\n </td>\r\n <td>\r\n <div>{{ item?.storeName ? item?.storeName :'NA' }}</div>\r\n </td>\r\n <td>\r\n <div>{{item?.storeId ? item?.storeId : 'NA'}}</div>\r\n </td>\r\n <td>\r\n <div>{{ item?.userName ? item?.userName :'NA' }}</div>\r\n </td>\r\n <td>\r\n <div>{{ item?.userEmail ? item?.userEmail :'NA' }}</div>\r\n </td>\r\n <td>\r\n <div class=\"d-flex align-items-center\">\r\n <div [ngClass]=\"item?.beforeCount ? 'text-decoration-underline':''\" class=\"text-title text-primary cursor-pointer mb-1\" (click)=\"openBeforecount(item)\">\r\n {{ item?.beforeCount ?? '--' }}</div>\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"d-flex align-items-center\">\r\n <div [ngClass]=\"item?.afterCount ? 'text-decoration-underline':''\" class=\"text-title text-primary cursor-pointer mb-1\" (click)=\"openAftercount(item)\">\r\n {{ item?.afterCount ?? '--' }}</div>\r\n </div>\r\n </td>\r\n <td>\r\n <div>{{ item?.accuracy ?? '--' }}</div>\r\n </td>\r\n <td>{{ item?.timeSpent ? item?.timeSpent :'NA'}}</td>\r\n <td><span *ngIf=\"item?.auditType\" [ngClass]=\"item?.auditType === 'Audit' ? 'badge-light-success':'badge-light-warning'\" class=\"badge\">{{ item?.auditType }}</span></td>\r\n <td><span *ngIf=\"item?.status\" [ngClass]=\"statusBadge(item?.status)\" class=\"badge\">{{ item?.status | titlecase}}</span></td>\r\n <td><button class=\"btn btn-default btn-outline\" (click)=\"openView()\">View-Log</button>\r\n <button class=\"btn btn-default btn-outline ms-3\" [disabled]=\"item?.status === 'not_assign' || item?.status === 'assigned'\" (click)=\"openreTrigger(item)\">Re-Trigger</button></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"limit\" [currentPage]=\"offset\" [totalItems]=\"totalCount\"\r\n [paginationSizes]=\"pagination\" [pageSize]=\"setItemsperPage()\" (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n\r\n <div *ngIf=\"loading\" class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"noData\" class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div> \r\n\r\n </div>\r\n</div>\r\n\r\n<ng-template #activitylog let-modal>\r\n <div class=\"card\">\r\n <div class=\"card-header\">\r\n <div class=\"card-title\">\r\n <span class=\"card-label\">Activity Log</span>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <div class=\"cursor-pointer\" (click)=\"modal.dismiss()\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M15 5L5 15M5 5L15 15\" stroke=\"#101828\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div> \r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div *ngFor=\"let log of activity\" class=\"d-flex mb-5 ms-5\">\r\n <div\r\n class=\"d-flex flex-column justify-content-center align-items-center pe-3\">\r\n <div class=\"d-flex align-items-centre justify-content-centre\">\r\n <!-- <img class=\"msgprofile\"\r\n src=\"./assets/tango/Images/userProfile.svg\"> -->\r\n <div class=\"symbol symbol-35px symbol-circle\">\r\n <span [ngClass]=\"log?.type === 'Audit' ? 'badge-light-success' : 'badge-light-primary'\" class=\"symbol-label badge-light-primary text-symbol\">\r\n <span [ngClass]=\"log?.type === 'Audit' ? 'text-success badge badge-light-success' : 'text-primary badge badge-light-primary'\" class=\"fs-4 fw-normal\">\r\n {{log?.type?.slice(0,1) | uppercase }}\r\n </span>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"p-0 h-100 mt-1 border border-1 border-gray\" style=\"width:0px\"></div>\r\n </div>\r\n <div class=\"py-3 pt-0\">\r\n <div class=\"activity-title fw-semibold mt-2 d-flex mb-4\">\r\n <span>{{log?.type}} </span><span class=\"ms-5 list\"><li>Fasila</li></span>\r\n </div>\r\n <div class=\"date-time mb-4\">\r\n {{log?.FileDate}} | {{log?.Time}}\r\n </div>\r\n <div class=\"\"><span class=\"badge badge-light-default fw-semibold\">Before Count : {{log?.beforeCout}}</span>\r\n <span class=\"badge badge-light-default fw-semibold ms-3\">After Count : {{log?.AfterCount}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>", styles: [".nav-item .nav-link.active{border:none;border-radius:6px;background:var(--Primary-50, #EAF8FF);padding:8px 12px}.nav-item .nav-link:hover{border:none}.text-border{border-radius:16px!important;background:var(--Gray-100, #F2F4F7)!important;color:var(--Gray-700, #344054);text-align:center;font-size:14px;font-weight:500;line-height:20px;padding:2px 10px!important}.text-border-priamry{border-radius:16px;background:var(--Primary-50, #EAF8FF);color:var(--Primary-700, #009BF3);text-align:center;font-size:14px;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}tr{vertical-align:middle!important}\n"] }]
|
|
1584
|
-
}], ctorParameters: () => [{ type: i1$1.GlobalStateService }, { type: i1$2.NgbModal }, { type: TicketService }, { type: i4.ToastService }, { type: ExcelService }], propDecorators: { activitylog: [{
|
|
1585
|
-
type: ViewChild,
|
|
1586
|
-
args: ['activitylog']
|
|
1587
|
-
}] } });
|
|
1588
|
-
|
|
1589
|
-
const SELECT_CONTROL_VALUE_ACCESSOR = {
|
|
1590
|
-
provide: NG_VALUE_ACCESSOR,
|
|
1591
|
-
useExisting: forwardRef(() => ReactiveSelectComponent),
|
|
1592
|
-
multi: true,
|
|
1593
|
-
};
|
|
1594
|
-
class ReactiveSelectComponent {
|
|
1595
|
-
apiService;
|
|
1596
|
-
cd;
|
|
1597
|
-
onTouched;
|
|
1598
|
-
onChanged;
|
|
1599
|
-
isDisabled;
|
|
1600
|
-
idField;
|
|
1601
|
-
nameField;
|
|
1602
|
-
label;
|
|
1603
|
-
data;
|
|
1604
|
-
itemChange = new EventEmitter();
|
|
1605
|
-
isOpened = false;
|
|
1606
|
-
selected = null;
|
|
1607
|
-
selectedId;
|
|
1608
|
-
instanceId;
|
|
1609
|
-
constructor(apiService, cd) {
|
|
1610
|
-
this.apiService = apiService;
|
|
1611
|
-
this.cd = cd;
|
|
1612
|
-
}
|
|
1613
|
-
ngOnInit() {
|
|
1614
|
-
this.instanceId = crypto.randomUUID();
|
|
1615
|
-
this.apiService.dropDownTrigger.subscribe((e) => {
|
|
1616
|
-
if (e !== this.instanceId) {
|
|
1617
|
-
this.isOpened = false;
|
|
1618
|
-
this.cd.detectChanges();
|
|
1619
|
-
}
|
|
1620
|
-
});
|
|
1621
|
-
}
|
|
1622
|
-
writeValue(val) {
|
|
1623
|
-
this.selectedId = val;
|
|
1624
|
-
this.selected = this.data.filter((item) => item?.[this.idField] === val)[0];
|
|
1625
|
-
}
|
|
1626
|
-
registerOnChange(fn) {
|
|
1627
|
-
this.onChanged = fn;
|
|
1628
|
-
}
|
|
1629
|
-
registerOnTouched(fn) {
|
|
1630
|
-
this.onTouched = fn;
|
|
1631
|
-
}
|
|
1632
|
-
setDisabledState(isDisabled) {
|
|
1633
|
-
this.isDisabled = isDisabled;
|
|
1634
|
-
}
|
|
1635
|
-
onSelect(item) {
|
|
1636
|
-
this.onTouched();
|
|
1637
|
-
this.selected = item;
|
|
1638
|
-
this.selectedId = item?.[this.idField];
|
|
1639
|
-
this.isOpened = false;
|
|
1640
|
-
this.itemChange.next(this.selectedId);
|
|
1641
|
-
this.onChanged(this.selectedId);
|
|
1642
|
-
}
|
|
1643
|
-
onClick(event) {
|
|
1644
|
-
// console.log(this.isDisabled)
|
|
1645
|
-
if (!this.isDisabled) {
|
|
1646
|
-
const targetElement = event.target;
|
|
1647
|
-
if (!this.isComponentClicked(targetElement)) {
|
|
1648
|
-
this.isOpened = false;
|
|
1649
|
-
}
|
|
1650
|
-
}
|
|
1651
|
-
}
|
|
1652
|
-
isComponentClicked(targetElement) {
|
|
1653
|
-
const parentElement = targetElement.parentElement;
|
|
1654
|
-
if (parentElement) {
|
|
1655
|
-
const clickedOnComponent = parentElement.classList.contains('custom-select');
|
|
1656
|
-
if (clickedOnComponent) {
|
|
1657
|
-
return true;
|
|
1658
|
-
}
|
|
1659
|
-
else {
|
|
1660
|
-
return this.isComponentClicked(parentElement);
|
|
1661
|
-
}
|
|
1662
|
-
}
|
|
1663
|
-
return false;
|
|
1664
|
-
}
|
|
1665
|
-
openDropdown() {
|
|
1666
|
-
this.isOpened = !this.isOpened;
|
|
1667
|
-
this.apiService.dropDownTrigger.next(this.instanceId);
|
|
1668
|
-
}
|
|
1669
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReactiveSelectComponent, deps: [{ token: TicketService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1670
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ReactiveSelectComponent, selector: "lib-reactive-select", inputs: { isDisabled: "isDisabled", idField: "idField", nameField: "nameField", label: "label", data: "data" }, outputs: { itemChange: "itemChange" }, host: { listeners: { "document:click": "onClick($event)" } }, providers: [SELECT_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<div class=\"custom-select\">\r\n <div class=\"form-group\">\r\n <label *ngIf=\"label\" class=\"form-label\">{{label}}</label>\r\n <div class=\"position-relative\">\r\n <div (click)=\"openDropdown()\" [ngClass]=\"isDisabled ? 'disable' : ''\" class=\"form-select dropselect ellipse1\">\r\n {{selected?.[nameField]}}</div>\r\n <div *ngIf=\"isOpened\" class=\"card py-2 w-100 position-absolute end-0 z-1 drop-list\">\r\n <ul class=\"list-unstyled mb-2\">\r\n <li *ngFor=\"let item of data\" (click)=\"onSelect(item)\"\r\n [ngClass]=\"item?.[idField] === selected?.[idField] ? 'active' : ''\"\r\n class=\"text px-5 items cursor-pointer py-4 \">\r\n {{item?.[nameField]}}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".custom-select{min-width:200px}.custom-select .items:hover,.custom-select .tems.focus,.custom-select .items.active,.custom-select .camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.custom-select .drop-list{max-height:300px;overflow-y:scroll}.custom-select .dropselect{color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-style:normal;font-weight:400;line-height:24px;height:45px!important;cursor:default;white-space:nowrap;overflow:hidden}.custom-select .text{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.custom-select .disable{pointer-events:none;background-color:#f9fafb!important}.ellipse1{min-width:auto;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.z-1{z-index:9!important}\n"], dependencies: [{ kind: "directive", type: i6$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1671
|
-
}
|
|
1672
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReactiveSelectComponent, decorators: [{
|
|
1673
|
-
type: Component,
|
|
1674
|
-
args: [{ selector: 'lib-reactive-select', providers: [SELECT_CONTROL_VALUE_ACCESSOR], template: "<div class=\"custom-select\">\r\n <div class=\"form-group\">\r\n <label *ngIf=\"label\" class=\"form-label\">{{label}}</label>\r\n <div class=\"position-relative\">\r\n <div (click)=\"openDropdown()\" [ngClass]=\"isDisabled ? 'disable' : ''\" class=\"form-select dropselect ellipse1\">\r\n {{selected?.[nameField]}}</div>\r\n <div *ngIf=\"isOpened\" class=\"card py-2 w-100 position-absolute end-0 z-1 drop-list\">\r\n <ul class=\"list-unstyled mb-2\">\r\n <li *ngFor=\"let item of data\" (click)=\"onSelect(item)\"\r\n [ngClass]=\"item?.[idField] === selected?.[idField] ? 'active' : ''\"\r\n class=\"text px-5 items cursor-pointer py-4 \">\r\n {{item?.[nameField]}}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".custom-select{min-width:200px}.custom-select .items:hover,.custom-select .tems.focus,.custom-select .items.active,.custom-select .camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.custom-select .drop-list{max-height:300px;overflow-y:scroll}.custom-select .dropselect{color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-style:normal;font-weight:400;line-height:24px;height:45px!important;cursor:default;white-space:nowrap;overflow:hidden}.custom-select .text{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.custom-select .disable{pointer-events:none;background-color:#f9fafb!important}.ellipse1{min-width:auto;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.z-1{z-index:9!important}\n"] }]
|
|
1675
|
-
}], ctorParameters: () => [{ type: TicketService }, { type: i0.ChangeDetectorRef }], propDecorators: { isDisabled: [{
|
|
1676
|
-
type: Input
|
|
1677
|
-
}], idField: [{
|
|
1678
|
-
type: Input
|
|
1679
|
-
}], nameField: [{
|
|
1680
|
-
type: Input
|
|
1681
|
-
}], label: [{
|
|
1682
|
-
type: Input
|
|
1683
|
-
}], data: [{
|
|
1684
|
-
type: Input
|
|
1685
|
-
}], itemChange: [{
|
|
1686
|
-
type: Output
|
|
1687
|
-
}], onClick: [{
|
|
1688
|
-
type: HostListener,
|
|
1689
|
-
args: ['document:click', ['$event']]
|
|
1690
|
-
}] } });
|
|
1691
|
-
|
|
1692
|
-
class GroupSelectComponent {
|
|
1693
|
-
cd;
|
|
1694
|
-
authService;
|
|
1695
|
-
onClick(event) {
|
|
1696
|
-
const target = event.target;
|
|
1697
|
-
if (!target.closest('.dropdown')) {
|
|
1698
|
-
this.showDropdown = false;
|
|
1699
|
-
}
|
|
1700
|
-
}
|
|
1701
|
-
items;
|
|
1702
|
-
searchField;
|
|
1703
|
-
multi;
|
|
1704
|
-
idField;
|
|
1705
|
-
selectedValues = [];
|
|
1706
|
-
disabled;
|
|
1707
|
-
label;
|
|
1708
|
-
selected = new EventEmitter();
|
|
1709
|
-
filteredValues = [];
|
|
1710
|
-
showDropdown;
|
|
1711
|
-
searchValue;
|
|
1712
|
-
instanceId;
|
|
1713
|
-
constructor(cd, authService) {
|
|
1714
|
-
this.cd = cd;
|
|
1715
|
-
this.authService = authService;
|
|
1716
|
-
}
|
|
1717
|
-
ngOnInit() {
|
|
1718
|
-
this.instanceId = crypto.randomUUID();
|
|
1719
|
-
this.authService.dropDownTrigger.subscribe((e) => {
|
|
1720
|
-
if (e !== this.instanceId) {
|
|
1721
|
-
this.showDropdown = false;
|
|
1722
|
-
this.cd.detectChanges();
|
|
1723
|
-
}
|
|
1724
|
-
});
|
|
1725
|
-
}
|
|
1726
|
-
ngOnChanges(changes) {
|
|
1727
|
-
if (changes['items'] && this.items?.length) {
|
|
1728
|
-
this.initializeItems();
|
|
1729
|
-
}
|
|
1730
|
-
if (changes['selectedValues'] && Array.isArray(changes['selectedValues']?.currentValue) && changes['selectedValues']?.currentValue?.length > 0 && changes['selectedValues']?.currentValue[0]) {
|
|
1731
|
-
this.updateSelectedValues();
|
|
1732
|
-
}
|
|
1733
|
-
}
|
|
1734
|
-
initializeItems() {
|
|
1735
|
-
this.filteredValues = this.items.map((item) => ({ ...item }));
|
|
1736
|
-
this.updateSelectedValues();
|
|
1737
|
-
}
|
|
1738
|
-
updateSelectedValues() {
|
|
1739
|
-
this.selectedValues?.forEach((selectedItem) => {
|
|
1740
|
-
const item = this.filteredValues?.find((filteredItem) => filteredItem?.[this.idField] === selectedItem?.[this.idField]);
|
|
1741
|
-
if (item) {
|
|
1742
|
-
item.isSelected = true;
|
|
1743
|
-
}
|
|
1744
|
-
});
|
|
1745
|
-
}
|
|
1746
|
-
openDropdown(event) {
|
|
1747
|
-
this.authService.dropDownTrigger.next(this.instanceId);
|
|
1748
|
-
event.stopPropagation();
|
|
1749
|
-
this.showDropdown = !this.showDropdown;
|
|
1750
|
-
}
|
|
1751
|
-
onInput(event) {
|
|
1752
|
-
if (!event.target.value) {
|
|
1753
|
-
this.filteredValues = [...this.items];
|
|
1754
|
-
}
|
|
1755
|
-
else {
|
|
1756
|
-
const searchTerm = event.target.value.toLowerCase();
|
|
1757
|
-
this.filteredValues = this.items.filter((item) => item[this.searchField].toLowerCase().includes(searchTerm));
|
|
1758
|
-
}
|
|
1759
|
-
this.updateSelectedValues();
|
|
1760
|
-
this.cd.detectChanges();
|
|
1761
|
-
}
|
|
1762
|
-
onSelect(event, item) {
|
|
1763
|
-
if (this.multi) {
|
|
1764
|
-
if (event.currentTarget.checked) {
|
|
1765
|
-
this.selectedValues.push(item);
|
|
1766
|
-
}
|
|
1767
|
-
else {
|
|
1768
|
-
this.selectedValues = this.selectedValues.filter((elem) => elem[this.idField] !== item[this.idField]);
|
|
1769
|
-
}
|
|
1770
|
-
}
|
|
1771
|
-
else {
|
|
1772
|
-
this.selectedValues = [{ ...item }];
|
|
1773
|
-
this.filteredValues.forEach((element) => {
|
|
1774
|
-
if (element[this.idField] !== item[this.idField]) {
|
|
1775
|
-
element.isSelected = false;
|
|
1776
|
-
}
|
|
1777
|
-
});
|
|
1778
|
-
this.showDropdown = false;
|
|
1779
|
-
}
|
|
1780
|
-
const valuesToEmit = this.selectedValues.map((value) => {
|
|
1781
|
-
const selectedItem = { ...value };
|
|
1782
|
-
delete selectedItem.isSelected;
|
|
1783
|
-
return selectedItem;
|
|
1784
|
-
});
|
|
1785
|
-
this.cd.detectChanges();
|
|
1786
|
-
this.emitSelectedValues(valuesToEmit);
|
|
1787
|
-
}
|
|
1788
|
-
onSelectAll(event) {
|
|
1789
|
-
const selectAll = event.currentTarget.checked;
|
|
1790
|
-
this.filteredValues.forEach((item) => item.isSelected = selectAll);
|
|
1791
|
-
if (selectAll) {
|
|
1792
|
-
this.selectedValues = [...this.filteredValues];
|
|
1793
|
-
}
|
|
1794
|
-
else {
|
|
1795
|
-
this.selectedValues = [];
|
|
1796
|
-
}
|
|
1797
|
-
const valuesToEmit = this.selectedValues.map((value) => {
|
|
1798
|
-
const { isSelected, ...selectedItem } = value;
|
|
1799
|
-
return selectedItem;
|
|
1800
|
-
});
|
|
1801
|
-
this.cd.detectChanges();
|
|
1802
|
-
this.emitSelectedValues(valuesToEmit);
|
|
1803
|
-
}
|
|
1804
|
-
emitSelectedValues(values) {
|
|
1805
|
-
if (this.multi) {
|
|
1806
|
-
this.selected.emit(values);
|
|
1807
|
-
}
|
|
1808
|
-
else {
|
|
1809
|
-
this.selected.emit(values[0]);
|
|
1810
|
-
}
|
|
1811
|
-
}
|
|
1812
|
-
checkIfAllSelected() {
|
|
1813
|
-
return this.filteredValues.every((item) => item.isSelected);
|
|
1814
|
-
}
|
|
1815
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GroupSelectComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TicketService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1816
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: GroupSelectComponent, selector: "lib-group-select", inputs: { items: "items", searchField: "searchField", multi: "multi", idField: "idField", selectedValues: "selectedValues", disabled: "disabled", label: "label" }, outputs: { selected: "selected" }, host: { listeners: { "document:click": "onClick($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"outer-container\">\r\n <div [ngClass]=\"disabled ? 'disable-input':''\" (click)=\"openDropdown($event)\" class=\"form-select\">\r\n <ng-container *ngIf=\"multi\" >\r\n <span *ngIf=\"selectedValues?.length\" class=\"select-value mx-2\"> <img class=\"me-2\" alt=\"Pic\" src=\"./assets/tango/Image/users-teams.svg\">{{selectedValues?.[0]?.[searchField]}}</span> \r\n <!-- <span *ngIf=\"selectedValues?.length > 1\" class=\"select-value mx-2\"><img class=\"me-2\" alt=\"Pic\" src=\"./assets/tango/Image/users-teams.svg\">{{selectedValues?.[1]?.[searchField]}}</span> -->\r\n <span class=\"select-value mx-2\" *ngIf=\"selectedValues?.length > 1\">+{{selectedValues?.length -1}}</span> {{label}} \r\n </ng-container>\r\n <ng-container *ngIf=\"!multi\" >\r\n {{selectedValues?.[0]?.[searchField]}}\r\n </ng-container>\r\n </div>\r\n <div [ngClass]=\"showDropdown ? '' : 'd-none'\" class=\"input-container dropdown\" >\r\n <div class=\"w-100 input-wrapper\">\r\n <input [(ngModel)]=\"searchValue\" placeholder=\"Search\" (input)=\"onInput($event)\" type=\"text\"> \r\n <svg class=\"search-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\" stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg> \r\n </div>\r\n <ul>\r\n <li *ngIf=\"multi && filteredValues?.length\">\r\n <label class=\"form-check\" [for]=\"instanceId\" >\r\n <input (change)=\"onSelectAll($event)\" [checked]=\"checkIfAllSelected()\" class=\"form-check-input me-3\" type=\"checkbox\"\r\n [id]=\"instanceId\">\r\n <span class=\"form-check-label\" >\r\n Select All\r\n </span>\r\n </label>\r\n </li>\r\n <li *ngFor=\"let item of filteredValues\" [ngClass]=\"item.isSelected && !multi ? 'selected' : ''\" >\r\n <label [for]=\"item[idField] + instanceId\" [ngClass]=\"multi ? '': 'ps-0'\" class=\"form-check\">\r\n <input [ngClass]=\"multi ? '': 'd-none'\" (change)=\"onSelect($event, item)\" [(ngModel)]=\"item.isSelected\" class=\"form-check-input me-3\" type=\"checkbox\" value=\"\"\r\n [id]=\"item[idField] + instanceId\">\r\n <span class=\"form-check-label\" >\r\n {{item[searchField]}}\r\n </span>\r\n </label>\r\n </li>\r\n <li *ngIf=\"!filteredValues?.length\" >\r\n <span class=\"d-flex align-items-center justify-content-center\" >No data found</span>\r\n </li>\r\n </ul> \r\n </div> \r\n \r\n</div>", styles: [":host{width:100%;height:100%}.outer-container{position:relative;background-color:#fff}.outer-container .form-select{font-size:1.1rem;font-weight:600;border-radius:8px!important;color:var(--Gray-500, #344054);border:1px solid var(--Gray-300, #D0D5DD)!important;height:42.5px}.outer-container .disable-input{pointer-events:none;background-color:#f9fafb!important}.outer-container .input-container{position:absolute;width:100%;z-index:1}.outer-container .input-container .input-wrapper{padding:8px 10px;background-color:#fff;border-top-right-radius:8px;border-top-left-radius:8px;border-top:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container .input-wrapper input{width:100%;border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:10px 14px 10px 30px;outline:none}.outer-container .input-container .input-wrapper input ::placeholder{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .input-wrapper .search-icon{position:absolute;left:20px;top:20px}.outer-container .input-container ul{position:relative;background-color:#fff;margin:0;padding:0;max-height:200px;min-height:auto;overflow-y:auto;border-bottom-right-radius:8px;border-bottom-left-radius:8px;border-bottom:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container ul .selected{background:#f9fafb}.outer-container .input-container ul li{list-style:none;padding:10px 16px;cursor:pointer}.outer-container .input-container ul li label{cursor:pointer}.outer-container .input-container ul li:hover{background:#f9fafb}.form-check{display:flex;align-items:center}.form-check-input{height:16px;width:16px;border-radius:4px;border:1px solid var(--Primary-600, #00A3FF)}.form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4SURBVHgBhY7NDUBQEIRnqcJNKXTg6qYTStCB+Isy6IQSNMDa9SLh5eWZZPcw+81kCX/quABhD73QyKXsGoyIvNCJSto2hEhNtY4N9cwYeMXEsVqB1GaSauRQOpty2tSmO3FgloAmF5nEhgyoesMO6CuFW66fn2xdFyA3ZzcRLrMAAAAASUVORK5CYII=);background-color:#eaf8ff;border-color:#00a3ff}.form-check-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.select-value{border-radius:16px!important;background:var(--Gray-100, #F2F4F7)!important;mix-blend-mode:multiply;color:var(--Gray-700, #344054)!important;text-align:center;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:4px 12px 4px 6px}\n"], dependencies: [{ kind: "directive", type: i6$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.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: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
1817
|
-
}
|
|
1818
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GroupSelectComponent, decorators: [{
|
|
1819
|
-
type: Component,
|
|
1820
|
-
args: [{ selector: 'lib-group-select', template: "<div class=\"outer-container\">\r\n <div [ngClass]=\"disabled ? 'disable-input':''\" (click)=\"openDropdown($event)\" class=\"form-select\">\r\n <ng-container *ngIf=\"multi\" >\r\n <span *ngIf=\"selectedValues?.length\" class=\"select-value mx-2\"> <img class=\"me-2\" alt=\"Pic\" src=\"./assets/tango/Image/users-teams.svg\">{{selectedValues?.[0]?.[searchField]}}</span> \r\n <!-- <span *ngIf=\"selectedValues?.length > 1\" class=\"select-value mx-2\"><img class=\"me-2\" alt=\"Pic\" src=\"./assets/tango/Image/users-teams.svg\">{{selectedValues?.[1]?.[searchField]}}</span> -->\r\n <span class=\"select-value mx-2\" *ngIf=\"selectedValues?.length > 1\">+{{selectedValues?.length -1}}</span> {{label}} \r\n </ng-container>\r\n <ng-container *ngIf=\"!multi\" >\r\n {{selectedValues?.[0]?.[searchField]}}\r\n </ng-container>\r\n </div>\r\n <div [ngClass]=\"showDropdown ? '' : 'd-none'\" class=\"input-container dropdown\" >\r\n <div class=\"w-100 input-wrapper\">\r\n <input [(ngModel)]=\"searchValue\" placeholder=\"Search\" (input)=\"onInput($event)\" type=\"text\"> \r\n <svg class=\"search-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\" stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg> \r\n </div>\r\n <ul>\r\n <li *ngIf=\"multi && filteredValues?.length\">\r\n <label class=\"form-check\" [for]=\"instanceId\" >\r\n <input (change)=\"onSelectAll($event)\" [checked]=\"checkIfAllSelected()\" class=\"form-check-input me-3\" type=\"checkbox\"\r\n [id]=\"instanceId\">\r\n <span class=\"form-check-label\" >\r\n Select All\r\n </span>\r\n </label>\r\n </li>\r\n <li *ngFor=\"let item of filteredValues\" [ngClass]=\"item.isSelected && !multi ? 'selected' : ''\" >\r\n <label [for]=\"item[idField] + instanceId\" [ngClass]=\"multi ? '': 'ps-0'\" class=\"form-check\">\r\n <input [ngClass]=\"multi ? '': 'd-none'\" (change)=\"onSelect($event, item)\" [(ngModel)]=\"item.isSelected\" class=\"form-check-input me-3\" type=\"checkbox\" value=\"\"\r\n [id]=\"item[idField] + instanceId\">\r\n <span class=\"form-check-label\" >\r\n {{item[searchField]}}\r\n </span>\r\n </label>\r\n </li>\r\n <li *ngIf=\"!filteredValues?.length\" >\r\n <span class=\"d-flex align-items-center justify-content-center\" >No data found</span>\r\n </li>\r\n </ul> \r\n </div> \r\n \r\n</div>", styles: [":host{width:100%;height:100%}.outer-container{position:relative;background-color:#fff}.outer-container .form-select{font-size:1.1rem;font-weight:600;border-radius:8px!important;color:var(--Gray-500, #344054);border:1px solid var(--Gray-300, #D0D5DD)!important;height:42.5px}.outer-container .disable-input{pointer-events:none;background-color:#f9fafb!important}.outer-container .input-container{position:absolute;width:100%;z-index:1}.outer-container .input-container .input-wrapper{padding:8px 10px;background-color:#fff;border-top-right-radius:8px;border-top-left-radius:8px;border-top:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container .input-wrapper input{width:100%;border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:10px 14px 10px 30px;outline:none}.outer-container .input-container .input-wrapper input ::placeholder{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .input-wrapper .search-icon{position:absolute;left:20px;top:20px}.outer-container .input-container ul{position:relative;background-color:#fff;margin:0;padding:0;max-height:200px;min-height:auto;overflow-y:auto;border-bottom-right-radius:8px;border-bottom-left-radius:8px;border-bottom:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container ul .selected{background:#f9fafb}.outer-container .input-container ul li{list-style:none;padding:10px 16px;cursor:pointer}.outer-container .input-container ul li label{cursor:pointer}.outer-container .input-container ul li:hover{background:#f9fafb}.form-check{display:flex;align-items:center}.form-check-input{height:16px;width:16px;border-radius:4px;border:1px solid var(--Primary-600, #00A3FF)}.form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4SURBVHgBhY7NDUBQEIRnqcJNKXTg6qYTStCB+Isy6IQSNMDa9SLh5eWZZPcw+81kCX/quABhD73QyKXsGoyIvNCJSto2hEhNtY4N9cwYeMXEsVqB1GaSauRQOpty2tSmO3FgloAmF5nEhgyoesMO6CuFW66fn2xdFyA3ZzcRLrMAAAAASUVORK5CYII=);background-color:#eaf8ff;border-color:#00a3ff}.form-check-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.select-value{border-radius:16px!important;background:var(--Gray-100, #F2F4F7)!important;mix-blend-mode:multiply;color:var(--Gray-700, #344054)!important;text-align:center;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:4px 12px 4px 6px}\n"] }]
|
|
1821
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: TicketService }], propDecorators: { onClick: [{
|
|
1822
|
-
type: HostListener,
|
|
1823
|
-
args: ['document:click', ['$event']]
|
|
1824
|
-
}], items: [{
|
|
1825
|
-
type: Input
|
|
1826
|
-
}], searchField: [{
|
|
1827
|
-
type: Input
|
|
1828
|
-
}], multi: [{
|
|
1829
|
-
type: Input
|
|
1830
|
-
}], idField: [{
|
|
1831
|
-
type: Input
|
|
1832
|
-
}], selectedValues: [{
|
|
1833
|
-
type: Input
|
|
1834
|
-
}], disabled: [{
|
|
1835
|
-
type: Input
|
|
1836
|
-
}], label: [{
|
|
1837
|
-
type: Input
|
|
1838
|
-
}], selected: [{
|
|
1839
|
-
type: Output
|
|
1840
|
-
}] } });
|
|
1841
|
-
|
|
1842
|
-
class FootfallDicComponent {
|
|
1843
|
-
gs;
|
|
1844
|
-
ticketService;
|
|
1845
|
-
cd;
|
|
1846
|
-
toast;
|
|
1847
|
-
modalService;
|
|
1848
|
-
excelservice;
|
|
1849
|
-
fb;
|
|
1850
|
-
searchValue;
|
|
1851
|
-
loading = false;
|
|
1852
|
-
noData = false;
|
|
1853
|
-
sortedColumn = '';
|
|
1854
|
-
sortDirection = 1;
|
|
1855
|
-
footfallView = true;
|
|
1856
|
-
headerFilters;
|
|
1857
|
-
footfallList_req;
|
|
1858
|
-
form;
|
|
1859
|
-
selectedRevopsType;
|
|
1860
|
-
revopsTypeArray = [
|
|
1861
|
-
{ value: "", label: "All" },
|
|
1862
|
-
{ value: "duplicateImages", label: "Duplicates" },
|
|
1863
|
-
{ value: "employee", label: "Employee/Staff" },
|
|
1864
|
-
{ value: "houseKeeping", label: "House Keeping" },
|
|
1865
|
-
];
|
|
1866
|
-
type = [
|
|
1867
|
-
{ value: "open", label: "Open" },
|
|
1868
|
-
{ value: "closed", label: "Closed" },
|
|
1869
|
-
];
|
|
1870
|
-
// selectedStatus: FormControl;
|
|
1871
|
-
pendingArray = [
|
|
1872
|
-
// { value: "", label: "All" },
|
|
1873
|
-
{ value: "pending", label: "Pending" },
|
|
1874
|
-
{ value: "approved", label: "Approved" },
|
|
1875
|
-
{ value: "rejected", label: "Rejected" },
|
|
1876
|
-
];
|
|
1877
|
-
actionStatus;
|
|
1878
|
-
filterForm;
|
|
1879
|
-
ticketData = {
|
|
1880
|
-
ticketName: "Footfall Directory",
|
|
1881
|
-
ticketId: "TE_INF_F5645G4534A24",
|
|
1882
|
-
storeName: "LKST98 | RK Salai, Mylapore, Chennai, Tamil Nadu, India",
|
|
1883
|
-
status: "Open",
|
|
1884
|
-
date: "04 Sep 2023",
|
|
1885
|
-
footfall: {
|
|
1886
|
-
total: 100,
|
|
1887
|
-
duplicates: 10,
|
|
1888
|
-
employee: 2,
|
|
1889
|
-
houseKeeping: 1,
|
|
1890
|
-
},
|
|
1891
|
-
duplicates: [
|
|
1892
|
-
{ url: "assets/img1.jpg" },
|
|
1893
|
-
{ url: "assets/img2.jpg" },
|
|
1894
|
-
{ url: "assets/img3.jpg" },
|
|
1895
|
-
],
|
|
1896
|
-
};
|
|
1897
|
-
selectedStores = [];
|
|
1898
|
-
allSelected = false;
|
|
1899
|
-
stores = [];
|
|
1900
|
-
destroy$ = new Subject();
|
|
1901
|
-
constructor(gs, ticketService, cd, toast, modalService, excelservice, fb) {
|
|
1902
|
-
this.gs = gs;
|
|
1903
|
-
this.ticketService = ticketService;
|
|
1904
|
-
this.cd = cd;
|
|
1905
|
-
this.toast = toast;
|
|
1906
|
-
this.modalService = modalService;
|
|
1907
|
-
this.excelservice = excelservice;
|
|
1908
|
-
this.fb = fb;
|
|
1909
|
-
}
|
|
1910
|
-
ngOnDestroy() {
|
|
1911
|
-
this.destroy$.next(true);
|
|
1912
|
-
this.destroy$.complete();
|
|
1913
|
-
}
|
|
1914
|
-
ngOnInit() {
|
|
1915
|
-
this.footfallView = true;
|
|
1916
|
-
this.selectedRevopsType = new FormControl('');
|
|
1917
|
-
this.filterForm = this.fb.group({
|
|
1918
|
-
selectedStatus: new FormControl('open'),
|
|
1919
|
-
actionStatus: new FormControl('pending'),
|
|
1920
|
-
ClusterList: new FormControl([]),
|
|
1921
|
-
});
|
|
1922
|
-
this.form = this.fb.group({
|
|
1923
|
-
selectedRevopsType: this.selectedRevopsType,
|
|
1924
|
-
});
|
|
1925
|
-
this.gs.dataRangeValue?.pipe(takeUntil(this.destroy$))?.subscribe({
|
|
1926
|
-
next: (data) => {
|
|
1927
|
-
if (data) {
|
|
1928
|
-
this.headerFilters = data;
|
|
1929
|
-
this.footfallList_req = {
|
|
1930
|
-
client: this.headerFilters.clients.toString(),
|
|
1931
|
-
fromDate: this.headerFilters?.date?.startDate,
|
|
1932
|
-
toDate: this.headerFilters?.date?.endDate,
|
|
1933
|
-
};
|
|
1934
|
-
this.getTicketSummary();
|
|
1935
|
-
this.getTicketList();
|
|
1936
|
-
this.getAllGroups();
|
|
1937
|
-
}
|
|
1938
|
-
},
|
|
1939
|
-
});
|
|
1940
|
-
}
|
|
1941
|
-
getFootfallSummaryData;
|
|
1942
|
-
getTicketSummary() {
|
|
1943
|
-
this.ticketService
|
|
1944
|
-
.getTicketSummaryApi(this.footfallList_req.client, this.footfallList_req.fromDate, this.footfallList_req.toDate)
|
|
1945
|
-
.pipe(takeUntil(this.destroy$))
|
|
1946
|
-
.subscribe({
|
|
1947
|
-
next: (res) => {
|
|
1948
|
-
if (res && res?.data && res?.data?.result) {
|
|
1949
|
-
this.getFootfallSummaryData = res?.data?.result;
|
|
1950
|
-
}
|
|
1951
|
-
else {
|
|
1952
|
-
this.getFootfallSummaryData = [];
|
|
1953
|
-
}
|
|
1954
|
-
},
|
|
1955
|
-
error: (err) => {
|
|
1956
|
-
this.getFootfallSummaryData = [];
|
|
1957
|
-
},
|
|
1958
|
-
complete: () => {
|
|
1959
|
-
this.getFootfallSummaryData.length === 0;
|
|
1960
|
-
},
|
|
1961
|
-
});
|
|
1962
|
-
this.cd.detectChanges();
|
|
1963
|
-
}
|
|
1964
|
-
offset = 0;
|
|
1965
|
-
limit = 10;
|
|
1966
|
-
isExport = false;
|
|
1967
|
-
footfallListData;
|
|
1968
|
-
totalItems;
|
|
1969
|
-
paginationSizes = [10, 20, 30];
|
|
1970
|
-
getTicketList() {
|
|
1971
|
-
this.loading = true;
|
|
1972
|
-
this.searchValue = this.searchValue?.trim() || '';
|
|
1973
|
-
this.offset = this.offset || 1;
|
|
1974
|
-
this.limit = this.limit || 10;
|
|
1975
|
-
this.isExport = false;
|
|
1976
|
-
this.ticketService
|
|
1977
|
-
.getTicketListApi(this.footfallList_req.client, this.footfallList_req.fromDate, this.footfallList_req.toDate, this.searchValue, this.limit, this.offset, this.isExport, this.sortedColumn, this.sortDirection)
|
|
1978
|
-
.pipe(takeUntil(this.destroy$))
|
|
1979
|
-
.subscribe({
|
|
1980
|
-
next: (res) => {
|
|
1981
|
-
if (res && res.code === 200) {
|
|
1982
|
-
this.noData = false;
|
|
1983
|
-
this.loading = false;
|
|
1984
|
-
this.footfallListData = res?.data?.result;
|
|
1985
|
-
this.totalItems = res?.data?.count;
|
|
1986
|
-
if (this.totalItems < 10) {
|
|
1987
|
-
this.paginationSizes = [this.totalItems];
|
|
1988
|
-
}
|
|
1989
|
-
else {
|
|
1990
|
-
this.paginationSizes = [10, 20, 30];
|
|
1991
|
-
}
|
|
1992
|
-
}
|
|
1993
|
-
else {
|
|
1994
|
-
this.noData = true;
|
|
1995
|
-
this.loading = false;
|
|
1996
|
-
this.footfallListData = [];
|
|
1997
|
-
}
|
|
1998
|
-
this.cd.detectChanges();
|
|
1999
|
-
},
|
|
2000
|
-
error: (err) => {
|
|
2001
|
-
this.noData = true;
|
|
2002
|
-
this.loading = false;
|
|
2003
|
-
},
|
|
2004
|
-
complete: () => {
|
|
2005
|
-
this.loading = false;
|
|
2006
|
-
},
|
|
2007
|
-
});
|
|
2008
|
-
}
|
|
2009
|
-
currentPage = 1;
|
|
2010
|
-
pageSize = 10;
|
|
2011
|
-
onPageChange(pageOffset) {
|
|
2012
|
-
this.currentPage = Number(pageOffset);
|
|
2013
|
-
this.offset = Number(pageOffset);
|
|
2014
|
-
this.limit = 10;
|
|
2015
|
-
this.getTicketList();
|
|
2016
|
-
}
|
|
2017
|
-
onPageSizeChange(pageSize) {
|
|
2018
|
-
this.pageSize = Number(pageSize);
|
|
2019
|
-
this.limit = Number(pageSize);
|
|
2020
|
-
this.currentPage = 1;
|
|
2021
|
-
this.offset = 1;
|
|
2022
|
-
this.getTicketList();
|
|
2023
|
-
}
|
|
2024
|
-
setpageSize() {
|
|
2025
|
-
if (this.totalItems < 10) {
|
|
2026
|
-
return this.totalItems;
|
|
2027
|
-
}
|
|
2028
|
-
else {
|
|
2029
|
-
return this.pageSize;
|
|
2030
|
-
}
|
|
2031
|
-
}
|
|
2032
|
-
searchData() {
|
|
2033
|
-
this.currentPage = 1;
|
|
2034
|
-
this.offset = 1;
|
|
2035
|
-
this.limit = 10;
|
|
2036
|
-
this.getTicketList();
|
|
2037
|
-
}
|
|
2038
|
-
exportXLSX() {
|
|
2039
|
-
this.searchValue = this.searchValue?.trim() || '';
|
|
2040
|
-
this.offset = 1;
|
|
2041
|
-
this.limit = 10000;
|
|
2042
|
-
this.isExport = true;
|
|
2043
|
-
this.ticketService
|
|
2044
|
-
.getTicketListExportApi(this.footfallList_req.client, this.footfallList_req.fromDate, this.footfallList_req.toDate, this.searchValue, this.limit, this.offset, this.isExport, this.sortedColumn, this.sortDirection)
|
|
2045
|
-
.pipe(takeUntil(this.destroy$))
|
|
2046
|
-
.subscribe({
|
|
2047
|
-
next: (res) => {
|
|
2048
|
-
this.excelservice.saveAsExcelFile(res, 'footfall directory ticket ');
|
|
2049
|
-
},
|
|
2050
|
-
error: (err) => {
|
|
2051
|
-
this.toast.getErrorToast('Error exporting data:' + err.error ? err.error : err.message);
|
|
2052
|
-
}
|
|
2053
|
-
});
|
|
2054
|
-
}
|
|
2055
|
-
onSort(column) {
|
|
2056
|
-
if (this.sortedColumn === column) {
|
|
2057
|
-
this.sortDirection = this.sortDirection === 1 ? -1 : 1;
|
|
2058
|
-
}
|
|
2059
|
-
else {
|
|
2060
|
-
this.sortedColumn = column;
|
|
2061
|
-
this.sortDirection = 1;
|
|
2062
|
-
}
|
|
2063
|
-
this.getTicketList();
|
|
2064
|
-
}
|
|
2065
|
-
storeCount;
|
|
2066
|
-
searchStoresData() {
|
|
2067
|
-
this.getStores();
|
|
2068
|
-
}
|
|
2069
|
-
StoresSearchValue = '';
|
|
2070
|
-
getStores() {
|
|
2071
|
-
this.ticketService.getTaggedStoresApi(this.footfallList_req.client, this.footfallList_req.fromDate, this.footfallList_req.toDate, this.StoresSearchValue, this.groups).pipe(takeUntil(this.destroy$))
|
|
2072
|
-
.subscribe({
|
|
2073
|
-
next: (res) => {
|
|
2074
|
-
if (res && res.code === 200) {
|
|
2075
|
-
this.stores = res?.data?.result;
|
|
2076
|
-
this.storeCount = res.data?.count || 0;
|
|
2077
|
-
}
|
|
2078
|
-
else {
|
|
2079
|
-
this.stores = [];
|
|
2080
|
-
this.storeCount = 0;
|
|
2081
|
-
}
|
|
2082
|
-
this.cd.detectChanges();
|
|
2083
|
-
},
|
|
2084
|
-
error: (err) => {
|
|
2085
|
-
this.stores = [];
|
|
2086
|
-
this.storeCount = 0;
|
|
2087
|
-
},
|
|
2088
|
-
complete: () => { },
|
|
2089
|
-
});
|
|
2090
|
-
}
|
|
2091
|
-
getTaggedStoresData;
|
|
2092
|
-
typeChange(event) {
|
|
2093
|
-
this.filterForm.get('selectedStatus')?.setValue(event || null);
|
|
2094
|
-
}
|
|
2095
|
-
pendingChange(event) {
|
|
2096
|
-
this.filterForm.get('actionStatus')?.setValue(event || null);
|
|
2097
|
-
}
|
|
2098
|
-
RevopsTypeChange(event) {
|
|
2099
|
-
const selectedType = event ?? '';
|
|
2100
|
-
this.footfalloffset = 1;
|
|
2101
|
-
if (selectedType === '')
|
|
2102
|
-
this.footfalllimit = 1;
|
|
2103
|
-
else
|
|
2104
|
-
this.footfalllimit = 250;
|
|
2105
|
-
this.form.get('selectedRevopsType')?.setValue(selectedType);
|
|
2106
|
-
this.allSelectValue = false;
|
|
2107
|
-
// Clear selected lists
|
|
2108
|
-
this.selectedEmployeeImagesList = [];
|
|
2109
|
-
this.selectedHousekeepingImagesList = [];
|
|
2110
|
-
this.selectedDuplicateImagesList = [];
|
|
2111
|
-
this.cd.detectChanges();
|
|
2112
|
-
// Reset counts
|
|
2113
|
-
this.employeeACCount = '';
|
|
2114
|
-
this.houseKeepingACCount = '';
|
|
2115
|
-
this.duplicateACCount = '';
|
|
2116
|
-
this.dataStoreView();
|
|
2117
|
-
}
|
|
2118
|
-
footfalloffset = 1;
|
|
2119
|
-
footfalllimit = 1;
|
|
2120
|
-
footfallTicketsData = [];
|
|
2121
|
-
storeIdValue;
|
|
2122
|
-
dataReset() {
|
|
2123
|
-
this.selectedStores = [];
|
|
2124
|
-
this.allSelected = false;
|
|
2125
|
-
this.form.get('selectedRevopsType')?.setValue('');
|
|
2126
|
-
this.filterForm.get('selectedStatus')?.setValue('open');
|
|
2127
|
-
this.filterForm.get('actionStatus')?.setValue('pending');
|
|
2128
|
-
this.dataStoreView();
|
|
2129
|
-
}
|
|
2130
|
-
dataApply() {
|
|
2131
|
-
if (this.selectedRevopsType.value === '')
|
|
2132
|
-
this.footfalllimit = 1;
|
|
2133
|
-
else
|
|
2134
|
-
this.footfalllimit = 250;
|
|
2135
|
-
this.allSelectValue = false;
|
|
2136
|
-
this.dataStoreView();
|
|
2137
|
-
}
|
|
2138
|
-
imageUrl;
|
|
2139
|
-
dataIndexId;
|
|
2140
|
-
dateString;
|
|
2141
|
-
footfallNoData = false;
|
|
2142
|
-
footfallLoading = true;
|
|
2143
|
-
lastSelectedTicket = null;
|
|
2144
|
-
hasInitialStoreSynced = false;
|
|
2145
|
-
addStoreIfNotExists(store) {
|
|
2146
|
-
if (this.hasInitialStoreSynced)
|
|
2147
|
-
return;
|
|
2148
|
-
const storeId = store?.storeId;
|
|
2149
|
-
if (storeId && !this.selectedStores.includes(storeId)) {
|
|
2150
|
-
this.selectedStores.push(storeId);
|
|
2151
|
-
}
|
|
2152
|
-
this.hasInitialStoreSynced = true;
|
|
2153
|
-
this.allSelected = this.selectedStores.length === this.stores.length;
|
|
2154
|
-
}
|
|
2155
|
-
selecteValues;
|
|
2156
|
-
dataStoreView(data) {
|
|
2157
|
-
this.footfallTicketsData = [];
|
|
2158
|
-
this.footfallNoData = false;
|
|
2159
|
-
this.footfallLoading = true;
|
|
2160
|
-
const ticket = data?._source ? data : this.lastSelectedTicket;
|
|
2161
|
-
if (!ticket || !ticket._source) {
|
|
2162
|
-
this.footfallLoading = false;
|
|
2163
|
-
this.footfallNoData = true;
|
|
2164
|
-
this.toast.getErrorToast('No ticket data available');
|
|
2165
|
-
return;
|
|
2166
|
-
}
|
|
2167
|
-
this.lastSelectedTicket = ticket;
|
|
2168
|
-
this.addStoreIfNotExists(ticket._source);
|
|
2169
|
-
this.dataIndexId = ticket._id || '';
|
|
2170
|
-
this.dateString = ticket._source.dateString || '';
|
|
2171
|
-
this.imageUrl = this.ticketService?.footfallCDN;
|
|
2172
|
-
this.storeIdValue = this.selectedStores;
|
|
2173
|
-
const revopsType = this.form.get('selectedRevopsType')?.value;
|
|
2174
|
-
const selectedStatus = this.filterForm.get('selectedStatus')?.value;
|
|
2175
|
-
const actionStatus = this.selecteValues = this.filterForm.get('actionStatus')?.value;
|
|
2176
|
-
const storeId = this.storeIdValue;
|
|
2177
|
-
const fromDate = this.footfallList_req.fromDate;
|
|
2178
|
-
const toDate = this.footfallList_req.toDate;
|
|
2179
|
-
const offset = this.footfalloffset;
|
|
2180
|
-
const limit = revopsType === '' ? this.footfalllimit : this.footfalllimit = 250;
|
|
2181
|
-
this.ticketService
|
|
2182
|
-
.getTicketsApi(storeId, fromDate, toDate, revopsType, selectedStatus, actionStatus, offset, limit)
|
|
2183
|
-
.pipe(takeUntil(this.destroy$))
|
|
2184
|
-
.subscribe({
|
|
2185
|
-
next: (res) => {
|
|
2186
|
-
if (res && res.code === 200) {
|
|
2187
|
-
if (res?.data?.result?.length === 0) {
|
|
2188
|
-
this.footfallTicketsData = [];
|
|
2189
|
-
this.footfallView = true;
|
|
2190
|
-
this.footfallNoData = true;
|
|
2191
|
-
this.footfallLoading = false;
|
|
2192
|
-
this.toast.getErrorToast('No data found for the selected filters');
|
|
2193
|
-
}
|
|
2194
|
-
else {
|
|
2195
|
-
this.footfallTicketsData = res?.data?.result ?? [];
|
|
2196
|
-
this.totalItemsFootfall = res?.data?.count;
|
|
2197
|
-
this.paginationSizes = this.totalItemsFootfall < 1
|
|
2198
|
-
? [this.totalItemsFootfall]
|
|
2199
|
-
: [1];
|
|
2200
|
-
this.footfallView = false;
|
|
2201
|
-
this.footfallNoData = false;
|
|
2202
|
-
this.footfallLoading = false;
|
|
2203
|
-
}
|
|
2204
|
-
}
|
|
2205
|
-
else {
|
|
2206
|
-
this.footfallTicketsData = [];
|
|
2207
|
-
this.footfallView = false;
|
|
2208
|
-
this.footfallNoData = true;
|
|
2209
|
-
this.footfallLoading = false;
|
|
2210
|
-
}
|
|
2211
|
-
},
|
|
2212
|
-
error: () => {
|
|
2213
|
-
this.footfallTicketsData = [];
|
|
2214
|
-
this.footfallView = false;
|
|
2215
|
-
this.footfallNoData = true;
|
|
2216
|
-
this.footfallLoading = false;
|
|
2217
|
-
},
|
|
2218
|
-
complete: () => {
|
|
2219
|
-
this.cd.detectChanges();
|
|
2220
|
-
},
|
|
2221
|
-
});
|
|
2222
|
-
}
|
|
2223
|
-
isCollapsed = false;
|
|
2224
|
-
toggleSidebar() {
|
|
2225
|
-
this.isCollapsed = !this.isCollapsed;
|
|
2226
|
-
}
|
|
2227
|
-
matchedType;
|
|
2228
|
-
matchedArray = [{ value: "all", label: "matched: All" }];
|
|
2229
|
-
onFilterApply() {
|
|
2230
|
-
if (this.selectedRevopsType.value === '')
|
|
2231
|
-
this.footfalllimit = 1;
|
|
2232
|
-
else
|
|
2233
|
-
this.footfalllimit = 250;
|
|
2234
|
-
this.dataStoreView();
|
|
2235
|
-
}
|
|
2236
|
-
pageSizeFootfall = 1;
|
|
2237
|
-
footfallcurrentPage = 1;
|
|
2238
|
-
onFootfallPageChange(pageOffset) {
|
|
2239
|
-
this.footfallcurrentPage = Number(pageOffset);
|
|
2240
|
-
this.footfalloffset = Number(pageOffset);
|
|
2241
|
-
this.footfalllimit = 1;
|
|
2242
|
-
this.dataStoreView();
|
|
2243
|
-
}
|
|
2244
|
-
onFootfallPageSizeChange(pageSize) {
|
|
2245
|
-
this.footfalllimit = Number(pageSize);
|
|
2246
|
-
this.pageSizeFootfall = Number(pageSize);
|
|
2247
|
-
this.footfallcurrentPage = 1;
|
|
2248
|
-
this.footfalloffset = 1;
|
|
2249
|
-
this.dataStoreView();
|
|
2250
|
-
}
|
|
2251
|
-
totalItemsFootfall;
|
|
2252
|
-
setFootfallpageSize() {
|
|
2253
|
-
if (this.totalItemsFootfall < 1) {
|
|
2254
|
-
return this.totalItemsFootfall;
|
|
2255
|
-
}
|
|
2256
|
-
else {
|
|
2257
|
-
return this.pageSizeFootfall;
|
|
2258
|
-
}
|
|
2259
|
-
}
|
|
2260
|
-
toggleStoreSelection(store) {
|
|
2261
|
-
const storeId = store?.storeId;
|
|
2262
|
-
if (!storeId)
|
|
2263
|
-
return;
|
|
2264
|
-
const index = this.selectedStores.indexOf(storeId);
|
|
2265
|
-
if (index > -1) {
|
|
2266
|
-
this.selectedStores.splice(index, 1);
|
|
2267
|
-
}
|
|
2268
|
-
else {
|
|
2269
|
-
this.selectedStores.push(storeId);
|
|
2270
|
-
}
|
|
2271
|
-
this.allSelected = this.selectedStores.length === this.stores.length;
|
|
2272
|
-
}
|
|
2273
|
-
toggleSelectAll() {
|
|
2274
|
-
const visibleStoreIds = this.filteredStores.map((s) => s.storeId);
|
|
2275
|
-
if (this.allSelected) {
|
|
2276
|
-
// Remove only the visible ones
|
|
2277
|
-
this.selectedStores = this.selectedStores.filter(id => !visibleStoreIds.includes(id));
|
|
2278
|
-
}
|
|
2279
|
-
else {
|
|
2280
|
-
// Add only those that are not already selected
|
|
2281
|
-
const newIds = visibleStoreIds.filter(id => !this.selectedStores.includes(id));
|
|
2282
|
-
this.selectedStores = [...this.selectedStores, ...newIds];
|
|
2283
|
-
}
|
|
2284
|
-
this.allSelected = this.selectedStores.length === this.stores.length;
|
|
2285
|
-
}
|
|
2286
|
-
isSelected(store) {
|
|
2287
|
-
return this.selectedStores.includes(store.storeId);
|
|
2288
|
-
}
|
|
2289
|
-
imgtoggleSelectAll() {
|
|
2290
|
-
this.allSelected = !this.allSelected;
|
|
2291
|
-
this.ticketData.duplicates.forEach((img) => {
|
|
2292
|
-
img.selected = this.allSelected;
|
|
2293
|
-
});
|
|
2294
|
-
}
|
|
2295
|
-
selectedImagesList = [];
|
|
2296
|
-
selectedDuplicateImagesList = [];
|
|
2297
|
-
selectedHousekeepingImagesList = [];
|
|
2298
|
-
selectedEmployeeImagesList = [];
|
|
2299
|
-
houseKeepingACCount;
|
|
2300
|
-
employeeACCount;
|
|
2301
|
-
duplicateACCount;
|
|
2302
|
-
cloneWithoutSelected(obj) {
|
|
2303
|
-
const { ...rest } = obj;
|
|
2304
|
-
return rest;
|
|
2305
|
-
}
|
|
2306
|
-
allSelectValue = false;
|
|
2307
|
-
cloneWithoutSelected1(data) {
|
|
2308
|
-
const { __parent, ...rest } = data;
|
|
2309
|
-
return { ...rest };
|
|
2310
|
-
}
|
|
2311
|
-
onImageCheckboxChange1(data, category, parentOriginal) {
|
|
2312
|
-
let selectedList;
|
|
2313
|
-
if (category === 'duplicate') {
|
|
2314
|
-
parentOriginal = parentOriginal || data.__parent;
|
|
2315
|
-
const existingOriginal = this.selectedDuplicateImagesList.find((item) => item.tempId === parentOriginal?.tempId);
|
|
2316
|
-
if (data.selected) {
|
|
2317
|
-
if (existingOriginal) {
|
|
2318
|
-
const alreadyExists = existingOriginal.data?.some((dup) => dup.tempId === data.tempId);
|
|
2319
|
-
if (!alreadyExists) {
|
|
2320
|
-
existingOriginal.data.push(this.cloneWithoutSelected1(data));
|
|
2321
|
-
}
|
|
2322
|
-
}
|
|
2323
|
-
else {
|
|
2324
|
-
this.selectedDuplicateImagesList.push({
|
|
2325
|
-
tempId: parentOriginal?.tempId,
|
|
2326
|
-
filePath: parentOriginal?.filePath,
|
|
2327
|
-
entryTime: parentOriginal?.entryTime,
|
|
2328
|
-
exitTime: parentOriginal?.exitTime,
|
|
2329
|
-
timeRange: parentOriginal?.timeRange,
|
|
2330
|
-
data: [this.cloneWithoutSelected1(data)],
|
|
2331
|
-
});
|
|
2332
|
-
}
|
|
2333
|
-
}
|
|
2334
|
-
else {
|
|
2335
|
-
if (existingOriginal) {
|
|
2336
|
-
existingOriginal.data = existingOriginal.data.filter((d) => d.tempId !== data.tempId);
|
|
2337
|
-
if (existingOriginal.data.length === 0) {
|
|
2338
|
-
this.selectedDuplicateImagesList = this.selectedDuplicateImagesList.filter((o) => o.tempId !== parentOriginal?.tempId);
|
|
2339
|
-
}
|
|
2340
|
-
}
|
|
2341
|
-
}
|
|
2342
|
-
this.duplicateACCount = this.selectedDuplicateImagesList.reduce((sum, orig) => sum + orig.data.length, 0);
|
|
2343
|
-
}
|
|
2344
|
-
if (category === 'employee') {
|
|
2345
|
-
selectedList = this.selectedEmployeeImagesList;
|
|
2346
|
-
}
|
|
2347
|
-
else if (category === 'housekeeping') {
|
|
2348
|
-
selectedList = this.selectedHousekeepingImagesList;
|
|
2349
|
-
}
|
|
2350
|
-
if (category !== 'duplicate') {
|
|
2351
|
-
if (data.selected) {
|
|
2352
|
-
const alreadyExists = selectedList.some((item) => item.tempId === data.tempId);
|
|
2353
|
-
if (!alreadyExists) {
|
|
2354
|
-
selectedList.push(data);
|
|
2355
|
-
}
|
|
2356
|
-
}
|
|
2357
|
-
else {
|
|
2358
|
-
const index = selectedList.findIndex((item) => item.tempId === data.tempId);
|
|
2359
|
-
if (index !== -1) {
|
|
2360
|
-
selectedList.splice(index, 1);
|
|
2361
|
-
}
|
|
2362
|
-
}
|
|
2363
|
-
this.employeeACCount = this.selectedEmployeeImagesList.length;
|
|
2364
|
-
this.houseKeepingACCount = this.selectedHousekeepingImagesList.length;
|
|
2365
|
-
}
|
|
2366
|
-
// 🔒 Disable other checkboxes if one type is selected
|
|
2367
|
-
const totalSelected = this.duplicateACCount + this.employeeACCount + this.houseKeepingACCount;
|
|
2368
|
-
if (totalSelected > 0) {
|
|
2369
|
-
this.checkedValue = false;
|
|
2370
|
-
}
|
|
2371
|
-
else {
|
|
2372
|
-
this.checkedValue = true;
|
|
2373
|
-
}
|
|
2374
|
-
this.cd.detectChanges(); // To update the template
|
|
2375
|
-
this.allSelectValue = this.areAllCheckboxesSelected();
|
|
2376
|
-
// console.log('✅ Counts:', {
|
|
2377
|
-
// duplicateACCount: this.duplicateACCount,
|
|
2378
|
-
// employeeACCount: this.employeeACCount,
|
|
2379
|
-
// houseKeepingACCount: this.houseKeepingACCount,
|
|
2380
|
-
// checkedValue: this.checkedValue,
|
|
2381
|
-
// });
|
|
2382
|
-
}
|
|
2383
|
-
selectAllValue() {
|
|
2384
|
-
this.allSelectValue = !this.allSelectValue;
|
|
2385
|
-
this.checkedValue = !this.allSelectValue;
|
|
2386
|
-
this.selectedEmployeeImagesList = [];
|
|
2387
|
-
this.selectedHousekeepingImagesList = [];
|
|
2388
|
-
this.selectedDuplicateImagesList = [];
|
|
2389
|
-
for (const ticket of this.footfallTicketsData) {
|
|
2390
|
-
const source = ticket._source;
|
|
2391
|
-
// ✅ Employee
|
|
2392
|
-
if (Array.isArray(source.employee)) {
|
|
2393
|
-
source.employee.forEach((img) => {
|
|
2394
|
-
img.selected = this.allSelectValue;
|
|
2395
|
-
if (this.allSelectValue && !this.selectedEmployeeImagesList.some(e => e.tempId === img.tempId)) {
|
|
2396
|
-
this.selectedEmployeeImagesList.push(img);
|
|
2397
|
-
}
|
|
2398
|
-
});
|
|
2399
|
-
}
|
|
2400
|
-
// ✅ Housekeeping
|
|
2401
|
-
if (Array.isArray(source.houseKeeping)) {
|
|
2402
|
-
source.houseKeeping.forEach((emp) => {
|
|
2403
|
-
emp.selected = this.allSelectValue;
|
|
2404
|
-
if (this.allSelectValue && !this.selectedHousekeepingImagesList.some(e => e.tempId === emp.tempId)) {
|
|
2405
|
-
this.selectedHousekeepingImagesList.push(emp);
|
|
2406
|
-
}
|
|
2407
|
-
});
|
|
2408
|
-
}
|
|
2409
|
-
// ✅ Duplicate
|
|
2410
|
-
if (Array.isArray(source.duplicateImages)) {
|
|
2411
|
-
source.duplicateImages.forEach((original) => {
|
|
2412
|
-
if (Array.isArray(original.data)) {
|
|
2413
|
-
original.data.forEach((dup) => {
|
|
2414
|
-
dup.selected = this.allSelectValue;
|
|
2415
|
-
dup.__parent = original; // ✅ Needed for uncheck
|
|
2416
|
-
});
|
|
2417
|
-
if (this.allSelectValue && original.data.length > 0) {
|
|
2418
|
-
const existing = this.selectedDuplicateImagesList.find((o) => o.tempId === original.tempId);
|
|
2419
|
-
if (!existing) {
|
|
2420
|
-
this.selectedDuplicateImagesList.push({
|
|
2421
|
-
tempId: original.tempId,
|
|
2422
|
-
filePath: original.filePath,
|
|
2423
|
-
entryTime: original.entryTime,
|
|
2424
|
-
exitTime: original.exitTime,
|
|
2425
|
-
timeRange: original.timeRange,
|
|
2426
|
-
data: original.data.map((d) => this.cloneWithoutSelected1(d)),
|
|
2427
|
-
});
|
|
2428
|
-
}
|
|
2429
|
-
}
|
|
2430
|
-
}
|
|
2431
|
-
});
|
|
2432
|
-
}
|
|
2433
|
-
}
|
|
2434
|
-
console.log('✅ All selected:', this.selectedDuplicateImagesList);
|
|
2435
|
-
this.houseKeepingACCount = this.selectedHousekeepingImagesList.length;
|
|
2436
|
-
this.employeeACCount = this.selectedEmployeeImagesList.length;
|
|
2437
|
-
this.duplicateACCount = this.selectedDuplicateImagesList.reduce((sum, orig) => sum + orig.data.length, 0);
|
|
2438
|
-
}
|
|
2439
|
-
areAllCheckboxesSelected() {
|
|
2440
|
-
for (const ticket of this.footfallTicketsData) {
|
|
2441
|
-
const source = ticket._source;
|
|
2442
|
-
if (source.employee?.some((img) => !img.selected))
|
|
2443
|
-
return false;
|
|
2444
|
-
if (source.houseKeeping?.some((img) => !img.selected))
|
|
2445
|
-
return false;
|
|
2446
|
-
if (source.duplicateImages?.some((original) => original.data?.some((dup) => !dup.selected)))
|
|
2447
|
-
return false;
|
|
2448
|
-
}
|
|
2449
|
-
return true;
|
|
2450
|
-
}
|
|
2451
|
-
checkedValue = true;
|
|
2452
|
-
onImageCheckboxChange(data, category, parentOriginal) {
|
|
2453
|
-
let selectedList;
|
|
2454
|
-
switch (category) {
|
|
2455
|
-
case 'duplicate':
|
|
2456
|
-
// Ensure selectedDuplicateImagesList is an array of ORIGINALS with selected children
|
|
2457
|
-
const existingOriginal = this.selectedDuplicateImagesList.find((item) => item.tempId === parentOriginal?.tempId);
|
|
2458
|
-
if (data.selected) {
|
|
2459
|
-
if (existingOriginal) {
|
|
2460
|
-
const alreadyExists = existingOriginal.data?.some((dup) => dup.tempId === data.tempId);
|
|
2461
|
-
if (!alreadyExists) {
|
|
2462
|
-
existingOriginal.data.push(this.cloneWithoutSelected(data)); // ✅ no 'selected' key
|
|
2463
|
-
}
|
|
2464
|
-
}
|
|
2465
|
-
else {
|
|
2466
|
-
this.selectedDuplicateImagesList.push({
|
|
2467
|
-
tempId: parentOriginal?.tempId,
|
|
2468
|
-
filePath: parentOriginal?.filePath,
|
|
2469
|
-
entryTime: parentOriginal?.entryTime,
|
|
2470
|
-
exitTime: parentOriginal?.exitTime,
|
|
2471
|
-
timeRange: parentOriginal?.timeRange,
|
|
2472
|
-
data: [this.cloneWithoutSelected(data)], // ✅
|
|
2473
|
-
});
|
|
2474
|
-
}
|
|
2475
|
-
}
|
|
2476
|
-
else {
|
|
2477
|
-
// Remove from selected duplicates
|
|
2478
|
-
if (existingOriginal) {
|
|
2479
|
-
existingOriginal.data = existingOriginal.data.filter((d) => d.tempId !== data.tempId);
|
|
2480
|
-
// Remove the whole original if no duplicates are left
|
|
2481
|
-
if (existingOriginal.data.length === 0) {
|
|
2482
|
-
this.selectedDuplicateImagesList = this.selectedDuplicateImagesList.filter((o) => o.tempId !== parentOriginal?.tempId);
|
|
2483
|
-
}
|
|
2484
|
-
}
|
|
2485
|
-
}
|
|
2486
|
-
// Count only from selected duplicates
|
|
2487
|
-
this.duplicateACCount = this.selectedDuplicateImagesList.reduce((sum, orig) => sum + orig.data.length, 0);
|
|
2488
|
-
return;
|
|
2489
|
-
case 'housekeeping':
|
|
2490
|
-
selectedList = this.selectedHousekeepingImagesList;
|
|
2491
|
-
break;
|
|
2492
|
-
case 'employee':
|
|
2493
|
-
selectedList = this.selectedEmployeeImagesList;
|
|
2494
|
-
break;
|
|
2495
|
-
default:
|
|
2496
|
-
return;
|
|
2497
|
-
}
|
|
2498
|
-
// Unchanged logic for employee and housekeeping
|
|
2499
|
-
selectedList = selectedList || [];
|
|
2500
|
-
if (data.selected) {
|
|
2501
|
-
const alreadyExists = Array.isArray(selectedList) && selectedList.some((item) => item.tempId === data.tempId);
|
|
2502
|
-
if (!alreadyExists) {
|
|
2503
|
-
selectedList.push(data);
|
|
2504
|
-
}
|
|
2505
|
-
}
|
|
2506
|
-
else {
|
|
2507
|
-
const updated = Array.isArray(selectedList) ? selectedList.filter((item) => item.tempId !== data.tempId) : [];
|
|
2508
|
-
if (category === 'housekeeping') {
|
|
2509
|
-
this.selectedHousekeepingImagesList = updated;
|
|
2510
|
-
}
|
|
2511
|
-
else if (category === 'employee') {
|
|
2512
|
-
this.selectedEmployeeImagesList = updated;
|
|
2513
|
-
}
|
|
2514
|
-
}
|
|
2515
|
-
this.houseKeepingACCount = this.selectedHousekeepingImagesList?.length || 0;
|
|
2516
|
-
this.employeeACCount = this.selectedEmployeeImagesList.length || 0;
|
|
2517
|
-
}
|
|
2518
|
-
commentText;
|
|
2519
|
-
submitValue(status = 'approved', category = 'duplicate') {
|
|
2520
|
-
// Step 1: Validate based on current category
|
|
2521
|
-
let selectedList;
|
|
2522
|
-
switch (category) {
|
|
2523
|
-
case 'duplicate':
|
|
2524
|
-
selectedList = this.selectedDuplicateImagesList;
|
|
2525
|
-
break;
|
|
2526
|
-
case 'housekeeping':
|
|
2527
|
-
selectedList = this.selectedHousekeepingImagesList;
|
|
2528
|
-
break;
|
|
2529
|
-
case 'employee':
|
|
2530
|
-
selectedList = this.selectedEmployeeImagesList;
|
|
2531
|
-
break;
|
|
2532
|
-
default:
|
|
2533
|
-
return;
|
|
2534
|
-
}
|
|
2535
|
-
if (selectedList.length === 0) {
|
|
2536
|
-
this.toast.getErrorToast('Please select at least one image');
|
|
2537
|
-
return;
|
|
2538
|
-
}
|
|
2539
|
-
// Replace selected → isChecked before sending
|
|
2540
|
-
const transformedList = selectedList.map(item => {
|
|
2541
|
-
const { selected, ...rest } = item;
|
|
2542
|
-
return { ...rest, isChecked: true };
|
|
2543
|
-
});
|
|
2544
|
-
// Step 2: Build full payload
|
|
2545
|
-
const payload = [];
|
|
2546
|
-
for (const ticket of this.footfallTicketsData) {
|
|
2547
|
-
const source = ticket._source;
|
|
2548
|
-
const singlePayload = {
|
|
2549
|
-
_id: ticket._id,
|
|
2550
|
-
comments: this.commentText || '',
|
|
2551
|
-
dateString: source.dateString || this.dateString,
|
|
2552
|
-
employeeStatus: category === 'employee' ? status : source.employeeStatus,
|
|
2553
|
-
houseKeepingStatus: category === 'housekeeping' ? status : source.houseKeepingStatus,
|
|
2554
|
-
duplicateStatus: category === 'duplicate' ? status : source.duplicateStatus,
|
|
2555
|
-
};
|
|
2556
|
-
if (category === 'employee') {
|
|
2557
|
-
singlePayload.employee = transformedList;
|
|
2558
|
-
singlePayload.employeeACCount = this.employeeACCount ? this.employeeACCount : 0;
|
|
2559
|
-
}
|
|
2560
|
-
if (category === 'housekeeping') {
|
|
2561
|
-
singlePayload.houseKeeping = transformedList;
|
|
2562
|
-
singlePayload.houseKeepingACCount = this.houseKeepingACCount ? this.houseKeepingACCount : 0;
|
|
2563
|
-
}
|
|
2564
|
-
if (category === 'duplicate') {
|
|
2565
|
-
singlePayload.duplicateImages = transformedList;
|
|
2566
|
-
singlePayload.duplicateACCount = this.duplicateACCount ? this.duplicateACCount : 0;
|
|
2567
|
-
}
|
|
2568
|
-
payload.push(singlePayload);
|
|
2569
|
-
}
|
|
2570
|
-
// console.log('Payload to submit:', payload);
|
|
2571
|
-
// return
|
|
2572
|
-
// Step 3: Set status based on current category
|
|
2573
|
-
switch (category) {
|
|
2574
|
-
case 'duplicate':
|
|
2575
|
-
payload.forEach(item => item.duplicateStatus = status);
|
|
2576
|
-
break;
|
|
2577
|
-
case 'housekeeping':
|
|
2578
|
-
payload.forEach(item => item.houseKeepingStatus = status);
|
|
2579
|
-
break;
|
|
2580
|
-
case 'employee':
|
|
2581
|
-
payload.forEach(item => item.employeeStatus = status);
|
|
2582
|
-
break;
|
|
2583
|
-
}
|
|
2584
|
-
// Step 4: Submit the payload
|
|
2585
|
-
this.ticketService.getUpdateStatusApi({ data: payload })
|
|
2586
|
-
.pipe(takeUntil(this.destroy$))
|
|
2587
|
-
.subscribe({
|
|
2588
|
-
next: (res) => {
|
|
2589
|
-
if (res && res.code === 200) {
|
|
2590
|
-
this.toast.getSuccessToast(res?.message || 'Ticket updated successfully');
|
|
2591
|
-
this.selectedStores = [];
|
|
2592
|
-
this.allSelected = false;
|
|
2593
|
-
this.allSelectValue = false;
|
|
2594
|
-
this.dataStoreView();
|
|
2595
|
-
this.cancel();
|
|
2596
|
-
}
|
|
2597
|
-
else {
|
|
2598
|
-
this.toast.getErrorToast('Failed to update ticket');
|
|
2599
|
-
}
|
|
2600
|
-
},
|
|
2601
|
-
error: (err) => {
|
|
2602
|
-
const msg = err.error.error || err.error || err?.error?.message || err.message || 'Unknown error';
|
|
2603
|
-
this.toast.getErrorToast('Error updating ticket: ' + msg);
|
|
2604
|
-
this.allSelected = false;
|
|
2605
|
-
this.allSelectValue = false;
|
|
2606
|
-
}
|
|
2607
|
-
});
|
|
2608
|
-
}
|
|
2609
|
-
searchTerm = '';
|
|
2610
|
-
get filteredStores() {
|
|
2611
|
-
if (!this.searchTerm?.trim())
|
|
2612
|
-
return this.stores;
|
|
2613
|
-
const term = this.searchTerm.toLowerCase();
|
|
2614
|
-
return this.stores.filter(store => store?.storeName?.toLowerCase().includes(term));
|
|
2615
|
-
}
|
|
2616
|
-
onImageError(event) {
|
|
2617
|
-
event.target.src = 'assets/images/fallback-image.png'; // or any default image path
|
|
2618
|
-
}
|
|
2619
|
-
backToNavigation() {
|
|
2620
|
-
this.selectedStores = [];
|
|
2621
|
-
this.allSelected = false;
|
|
2622
|
-
this.allSelectValue = false;
|
|
2623
|
-
this.hasInitialStoreSynced = false;
|
|
2624
|
-
this.footfallView = true;
|
|
2625
|
-
this.getTicketSummary();
|
|
2626
|
-
this.getTicketList();
|
|
2627
|
-
}
|
|
2628
|
-
zoomPopup;
|
|
2629
|
-
popupvalue;
|
|
2630
|
-
popupType;
|
|
2631
|
-
popupOpen(type, value) {
|
|
2632
|
-
const modalRef = this.modalService.open(this.zoomPopup, { centered: true, size: 'md' });
|
|
2633
|
-
this.popupType = type;
|
|
2634
|
-
if (value === 'duplicateImages') {
|
|
2635
|
-
this.popupvalue = 'duplicate';
|
|
2636
|
-
}
|
|
2637
|
-
else {
|
|
2638
|
-
this.popupvalue = value;
|
|
2639
|
-
}
|
|
2640
|
-
}
|
|
2641
|
-
cancel() {
|
|
2642
|
-
this.modalService.dismissAll();
|
|
2643
|
-
this.allSelected = false;
|
|
2644
|
-
this.allSelectValue = false;
|
|
2645
|
-
// Clear all selected flags from the data
|
|
2646
|
-
for (const ticket of this.footfallTicketsData) {
|
|
2647
|
-
const source = ticket._source;
|
|
2648
|
-
source.employee?.forEach((img) => (img.selected = false));
|
|
2649
|
-
source.houseKeeping?.forEach((img) => (img.selected = false));
|
|
2650
|
-
source.duplicateImages?.forEach((original) => {
|
|
2651
|
-
original.data?.forEach((dup) => (dup.selected = false));
|
|
2652
|
-
});
|
|
2653
|
-
}
|
|
2654
|
-
// Clear selected lists
|
|
2655
|
-
this.selectedEmployeeImagesList = [];
|
|
2656
|
-
this.selectedHousekeepingImagesList = [];
|
|
2657
|
-
this.selectedDuplicateImagesList = [];
|
|
2658
|
-
// Reset counts
|
|
2659
|
-
this.employeeACCount = '';
|
|
2660
|
-
this.houseKeepingACCount = '';
|
|
2661
|
-
this.duplicateACCount = '';
|
|
2662
|
-
this.checkedValue = true;
|
|
2663
|
-
}
|
|
2664
|
-
ClusterList = [];
|
|
2665
|
-
getAllGroups() {
|
|
2666
|
-
this.ticketService.getclusters({ clientId: this.headerFilters.client, group: [], city: [] }).subscribe({
|
|
2667
|
-
next: (res) => {
|
|
2668
|
-
if (res && res.code == 200) {
|
|
2669
|
-
this.ClusterList = res?.data?.groupData;
|
|
2670
|
-
this.getStores();
|
|
2671
|
-
}
|
|
2672
|
-
else {
|
|
2673
|
-
this.ClusterList = [];
|
|
2674
|
-
}
|
|
2675
|
-
}
|
|
2676
|
-
});
|
|
2677
|
-
}
|
|
2678
|
-
groups = [];
|
|
2679
|
-
ongroupSelect(event) {
|
|
2680
|
-
this.filterForm.get('ClusterList')?.setValue(event);
|
|
2681
|
-
this.groups = event.map((el) => el.groupName);
|
|
2682
|
-
this.getStores();
|
|
2683
|
-
}
|
|
2684
|
-
// isSubmitDisabled(): boolean {
|
|
2685
|
-
// switch (this.selectedRevopsType?.value) {
|
|
2686
|
-
// case 'employee':
|
|
2687
|
-
// return this.employeeACCount === 0;
|
|
2688
|
-
// case 'houseKeeping':
|
|
2689
|
-
// return this.houseKeepingACCount === 0;
|
|
2690
|
-
// case 'duplicate':
|
|
2691
|
-
// return this.duplicateACCount === 0;
|
|
2692
|
-
// default:
|
|
2693
|
-
// return true;
|
|
2694
|
-
// }
|
|
2695
|
-
// }
|
|
2696
|
-
getFormattedEntryTime(entryTime) {
|
|
2697
|
-
if (!entryTime)
|
|
2698
|
-
return '-';
|
|
2699
|
-
const [hours, minutes, seconds] = entryTime.split(':').map(Number);
|
|
2700
|
-
const date = new Date();
|
|
2701
|
-
date.setHours(hours, minutes, seconds);
|
|
2702
|
-
return date.toLocaleTimeString('en-US', {
|
|
2703
|
-
hour: '2-digit',
|
|
2704
|
-
minute: '2-digit',
|
|
2705
|
-
// second: '2-digit',
|
|
2706
|
-
hour12: true
|
|
2707
|
-
});
|
|
2708
|
-
}
|
|
2709
|
-
showSelectAllBox() {
|
|
2710
|
-
this.filterForm.get('actionStatus')?.setValue('pending');
|
|
2711
|
-
}
|
|
2712
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FootfallDicComponent, deps: [{ token: i1$1.GlobalStateService }, { token: TicketService }, { token: i0.ChangeDetectorRef }, { token: i4.ToastService }, { token: i1$2.NgbModal }, { token: ExcelService }, { token: i6.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
2713
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FootfallDicComponent, selector: "lib-footfall-dic", viewQueries: [{ propertyName: "zoomPopup", first: true, predicate: ["zoomPopup"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"footfallView\" class=\"row\">\r\n <div class=\"col-md-3 mb-3\">\r\n <div class=\"card\">\r\n <div class=\"card-header ellipse1 py-1 px-5\">\r\n <div class=\"my-0\">\r\n <h5 class=\"card-title my-0\">{{ getFootfallSummaryData?.totalTickets !== null ?\r\n getFootfallSummaryData?.totalTickets : '--' }}</h5>\r\n <span class=\"sub-header\">Total tickets</span>\r\n </div>\r\n </div>\r\n <div class=\"card-body py-2 px-5\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-6 col-xl-9 col-md-6 my-3\">\r\n <h5 class=\"card-title\">{{ getFootfallSummaryData?.openTickets !== null ?\r\n getFootfallSummaryData?.openTickets : '--' }}</h5>\r\n <span class=\"card-title-sub-header\">Open</span>\r\n </div>\r\n <div class=\"col-lg-6 col-xl-3 col-md-6 my-3\">\r\n <h5 class=\"card-title\">{{ getFootfallSummaryData?.closedTickets !== null ?\r\n getFootfallSummaryData?.closedTickets : '--' }}</h5>\r\n <span class=\"card-title-sub-header\">Closed</span>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-9 mb-3\">\r\n <div class=\"card\">\r\n <div class=\"card-header ellipse1 py-1 px-5\">\r\n <div class=\"my-0\">\r\n <h5 class=\"card-title mt-0\">{{ getFootfallSummaryData?.noShopper !== null ?\r\n getFootfallSummaryData?.noShopper : '--' }}</h5>\r\n <div class=\"sub-header\">Non-Shoppers</div>\r\n </div>\r\n </div>\r\n <div class=\"card-body py-2 px-5\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-4 col-xl-5 col-md-4 my-3\">\r\n <h5 class=\"card-title\">{{ getFootfallSummaryData?.duplicateCount !== null ?\r\n getFootfallSummaryData?.duplicateCount : '--' }}</h5>\r\n <span class=\"card-title-sub-header\">Duplicates</span>\r\n </div>\r\n <div class=\"col-lg-4 col-xl-5 col-md-4 my-3 \">\r\n <h5 class=\"card-title \">{{ getFootfallSummaryData?.employeeCount !== null ?\r\n getFootfallSummaryData?.employeeCount : '--' }}</h5>\r\n <span class=\"card-title-sub-header \">Employee/Staff</span>\r\n </div>\r\n <div class=\"col-lg-4 col-xl-2 col-md-4 my-3\">\r\n <h5 class=\"card-title \">{{ getFootfallSummaryData?.houseKeepingCount !== null ?\r\n getFootfallSummaryData?.houseKeepingCount : '--' }}</h5>\r\n <span class=\"card-title-sub-header\">Housekeeping</span>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"footfallView\" 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\">Ticket Info <span *ngIf=\"totalItems\" class=\"ms-2 px-3 badge badge-light-primary\">{{totalItems ? totalItems :'--'}} Total</span></span>\r\n <span class=\"text-sub mb-2\">Based on {{footfallList_req?.fromDate | date: 'dd MMM, yyyy'}} \u2013 {{footfallList_req?.toDate | date: 'dd MMM, yyyy'}} </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-3\">\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\"></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 <input type=\"text\" class=\"form-control ps-14 me-2\" placeholder=\"Search by store\" autocomplete=\"off\"\r\n (change)=\"searchData()\" [(ngModel)]=\"searchValue\" />\r\n <!-- <lib-filters [dataObject]=\"dataObject\"\r\n (appliedFilters)=\"applyFilters($event)\"></lib-filters> -->\r\n\r\n <button type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2\">Export</span>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body mt-3 py-0 px-0\">\r\n\r\n\r\n\r\n <div *ngIf=\"loading\" class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"noData\" class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\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=\"nodata-title\">No data found</div>\r\n <div class=\"nodata-sub\">There is no result for this Date</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap \">\r\n <thead>\r\n <tr>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('storeName')\">Store Info<svg\r\n [ngClass]=\"sortedColumn === 'storeName' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'storeName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('ticketId')\">Ticket ID<svg\r\n [ngClass]=\"sortedColumn === 'ticketId' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'ticketId' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('dateString')\">Ticket raised on\r\n <svg [ngClass]=\"sortedColumn === 'dateString' && sortDirection === 1 ? 'rotate' : ''\"\r\n 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=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'dateString' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('footfallCount')\">Total footfalls\r\n <svg [ngClass]=\"sortedColumn === 'footfallCount' && sortDirection === 1 ? 'rotate' : ''\"\r\n 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=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'footfallCount' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('duplicateCount')\">Duplicates\r\n <svg [ngClass]=\"sortedColumn === 'duplicateCount' && sortDirection === 1 ? 'rotate' : ''\"\r\n 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=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'duplicateCount' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('employeeCount')\">Employee/Staff\r\n <svg [ngClass]=\"sortedColumn === 'employeeCount' && sortDirection === 1 ? 'rotate' : ''\"\r\n 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=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'employeeCount' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('houseKeepingCount')\">Housekeeping\r\n <svg [ngClass]=\"sortedColumn === 'houseKeepingCount' && sortDirection === 1 ? 'rotate' : ''\"\r\n 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=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'houseKeepingCount' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n\r\n <th>Revised footfalls\r\n \r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('status')\">Status<svg\r\n [ngClass]=\"sortedColumn === 'status' && sortDirection === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'status' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <!-- <th >Actions</th> -->\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let ticket of footfallListData\">\r\n <ng-container *ngIf=\"ticket?._source as source\">\r\n <td (click)=\"dataStoreView(ticket)\">\r\n <div class=\"text-primary cursor-pointer\">{{ source.storeName }}</div>\r\n <div class=\"text-gray-500 fs-7 mt-2\">ID : {{ source.storeId }}</div>\r\n </td>\r\n \r\n <td class=\"py-7\">{{ source.ticketId }}</td>\r\n <td class=\"py-7\">{{ source.dateString | date: 'dd MMM, yyyy' }}</td>\r\n <td class=\"py-7\">{{ source.footfallCount }}</td>\r\n <td class=\"py-7\">{{ source.duplicateCount }}</td>\r\n <td class=\"py-7\">{{ source.employeeCount }}</td>\r\n <td class=\"py-7\">{{ source.houseKeepingCount }}</td>\r\n <td class=\"py-7\">\r\n {{ source.footfallCount - (source.houseKeepingCount + source.employeeCount +\r\n source.duplicateCount) }}\r\n </td>\r\n \r\n <td class=\"py-7\">\r\n <span *ngIf=\"source.status === 'open' || source.status === 'closed'\" class=\"badge mx-2\" [ngClass]=\"{\r\n 'badge-light-primary': source.status === 'open',\r\n 'badge-light-default': source.status === 'closed'\r\n }\">\r\n {{ source.status | titlecase }}\r\n </span>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"pageSize\" [currentPage]=\"currentPage\" [totalItems]=\"totalItems\"\r\n [paginationSizes]=\"paginationSizes\" [pageSize]=\"setpageSize()\" (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n\r\n\r\n<div *ngIf=\"!footfallView\" class=\"card mt-2\">\r\n <form [formGroup]=\"filterForm\">\r\n <div class=\"row my-0\">\r\n <div class=\"col-lg-3 my-3\">\r\n <span class=\"ms-2 cursor-pointer\" (click)=\"backToNavigation()\" ><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"56\" height=\"44\" viewBox=\"0 0 56 44\"\r\n fill=\"none\">\r\n <g filter=\"url(#filter0_d_887_4505)\">\r\n <rect x=\"2\" y=\"1\" width=\"52\" height=\"40\" rx=\"8\" fill=\"white\" />\r\n <rect x=\"2.5\" y=\"1.5\" width=\"51\" height=\"39\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n <path d=\"M30.5 26L25.5 21L30.5 16\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_887_4505\" x=\"0\" y=\"0\" width=\"56\" height=\"44\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\" result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_887_4505\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_887_4505\"\r\n result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg></span>\r\n <span class=\"card-title-foot ms-3\">Footfall Directory</span>\r\n </div>\r\n <div class=\"col-md-2 my-3\">\r\n \r\n <lib-reactive-select formControlName=\"selectedStatus\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"type\"\r\n (itemChange)=\"typeChange($event)\"></lib-reactive-select>\r\n \r\n\r\n </div>\r\n <div class=\"col-md-2 my-3\">\r\n \r\n <lib-reactive-select formControlName=\"actionStatus\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"pendingArray\"\r\n (itemChange)=\"pendingChange($event)\"></lib-reactive-select>\r\n \r\n </div>\r\n <div class=\"col-md-3 my-4\" >\r\n <div class=\"select-wrapper\">\r\n <div class=\"placeholder-overlay\" *ngIf=\"!(filterForm.get('ClusterList')?.value?.length)\">\r\n Select cluster\r\n </div>\r\n <lib-group-select [items]=\"ClusterList\" [disabled]=\"false\" [multi]=\"true\"\r\n [searchField]=\"'groupName'\" [idField]=\"'groupName'\" (selected)=\"ongroupSelect($event)\"\r\n [selectedValues]=\"filterForm.get('ClusterList')?.value\">\r\n </lib-group-select>\r\n </div>\r\n\r\n </div>\r\n <div class=\"col-md-2 my-4\">\r\n <div class=\"d-flex me-3\">\r\n <a (click)=\"onFilterApply()\" type=\"submit\" class=\"btn btn-sm btn-primary px-4 \"><span>Apply</span></a>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n</div>\r\n<div *ngIf=\"!footfallView\" class=\"row mt-3\">\r\n <div class=\"position-relative\" \r\n [ngClass]=\"isCollapsed ? 'd-none' : 'col-md-3 h-auto'\" >\r\n <div class=\"card h-100\">\r\n <div class=\"card-header border-0 pt-3 px-5\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Footfall Directory</span>\r\n <span class=\"text-sub mb-2\">Based on {{footfallList_req.fromDate | date: 'dd MMM, yyyy'}} \u2013 {{footfallList_req.toDate | date: 'dd MMM, yyyy'}} </span>\r\n </h3>\r\n </div>\r\n <span class=\"cursor-pointer\" (click)=\"toggleSidebar()\" style=\"position: absolute; top: 15px; right: -25px;\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"68\" height=\"68\" viewBox=\"0 0 68 68\" fill=\"none\">\r\n<g filter=\"url(#filter0_dd_778_34282)\">\r\n<rect x=\"12\" width=\"44\" height=\"44\" rx=\"22\" fill=\"white\"/>\r\n<path d=\"M33 27L28 22L33 17M40 27L35 22L40 17\" stroke=\"#101828\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</g>\r\n<defs>\r\n<filter id=\"filter0_dd_778_34282\" x=\"0\" y=\"0\" width=\"68\" height=\"68\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n<feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/>\r\n<feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\" result=\"hardAlpha\"/>\r\n<feMorphology radius=\"2\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_778_34282\"/>\r\n<feOffset dy=\"4\"/>\r\n<feGaussianBlur stdDeviation=\"3\"/>\r\n<feColorMatrix type=\"matrix\" values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\"/>\r\n<feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_778_34282\"/>\r\n<feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\" result=\"hardAlpha\"/>\r\n<feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_778_34282\"/>\r\n<feOffset dy=\"12\"/>\r\n<feGaussianBlur stdDeviation=\"8\"/>\r\n<feColorMatrix type=\"matrix\" values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\"/>\r\n<feBlend mode=\"normal\" in2=\"effect1_dropShadow_778_34282\" result=\"effect2_dropShadow_778_34282\"/>\r\n<feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_778_34282\" result=\"shape\"/>\r\n</filter>\r\n</defs>\r\n</svg>\r\n</span>\r\n <div class=\"text-end mt-10\">\r\n <button class=\"btn btn-outline w-25 me-3 btn-resize\" (click)=\"dataReset()\"> Reset </button>\r\n <button class=\"btn btn-primary w-25 me-5 btn-resize\" (click)=\"dataApply()\">Apply</button>\r\n </div>\r\n <div class=\"p-4 w-100 overflow-auto\">\r\n <input\r\n class=\"form-control form-control-sm mb-2 px-2 py-1 w-100\"\r\n type=\"text\"\r\n placeholder=\"Search\"\r\n [(ngModel)]=\"StoresSearchValue\"\r\n (change)=\"searchStoresData()\"\r\n/>\r\n\r\n <div class=\"mb-2 border-selectall\">\r\n <input type=\"checkbox\" [checked]=\"allSelected\" (change)=\"toggleSelectAll()\" />\r\n <label class=\"mt-2 font-semibold ms-2\">Select All {{storeCount}} Stores</label>\r\n </div>\r\n <ul class=\"list-unstyled ps-0\">\r\n <li *ngFor=\"let store of stores\" class=\"mb-5\">\r\n <input type=\"checkbox\" [checked]=\"isSelected(store)\" (change)=\"toggleStoreSelection(store)\" />\r\n {{ store?.storeName }}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"isCollapsed ? 'col-12' : 'col-md-9'\" >\r\n <div class=\"card h-100\">\r\n\r\n <div class=\"card-header min-h-35px border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n \r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <form class=\"mx-4\" [formGroup]=\"form\">\r\n <lib-reactive-select formControlName=\"selectedRevopsType\" [idField]=\"'value'\" [nameField]=\"'label'\"\r\n [data]=\"revopsTypeArray\" (itemChange)=\"RevopsTypeChange($event)\"></lib-reactive-select>\r\n </form>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"selectedRevopsType?.value !== '' && selecteValues ==='pending'\" class=\"card-header min-h-35px border-0\">\r\n <h3 class=\"align-items-start flex-column\">\r\n \r\n <div *ngIf=\"selectedRevopsType?.value !== ''\" class=\"mt-12 mb-2 font-semibold\">\r\n \r\n <input *ngIf=\"!footfallLoading && !footfallNoData\"\r\n type=\"checkbox\"\r\n [checked]=\"allSelectValue\"\r\n (change)=\"selectAllValue()\" />\r\n <label *ngIf=\"!footfallLoading && !footfallNoData\" class=\"mt-2 fs-6 font-semibold ms-2\">\r\n Select All (\r\n {{\r\n houseKeepingACCount > 0\r\n ? houseKeepingACCount\r\n : employeeACCount > 0\r\n ? employeeACCount\r\n : duplicateACCount > 0\r\n ? duplicateACCount\r\n : 0\r\n }}\r\n )\r\n </label>\r\n </div>\r\n <!-- -->\r\n \r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div *ngIf=\"selectedRevopsType?.value !== ''\" class=\"my-7 d-flex justify-content-end me-5\" role=\"group\">\r\n <button *ngIf=\"!footfallLoading && !footfallNoData\" [disabled]=\"checkedValue\" class=\"btn btn-outline me-1\" (click)=\"popupOpen('rejected',this.selectedRevopsType.value)\">Reject selection</button>\r\n <button *ngIf=\"!footfallLoading && !footfallNoData\" [disabled]=\"checkedValue\" class=\"btn btn-primary ms-1\" (click)=\"popupOpen('approved',this.selectedRevopsType.value)\">Approve selection</button>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n <section *ngIf=\"selectedRevopsType?.value === ''\">\r\n <div *ngIf=\"!footfallLoading && !footfallNoData\" class=\"card-body mt-3 py-0\">\r\n\r\n <span class=\"cursor-pointer\" *ngIf=\"isCollapsed\" (click)=\"toggleSidebar()\" style=\"position: absolute; top: 15px; left: 0;\">\r\n <svg class=\"mt-2 ms-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 24 24\"\r\n fill=\"none\">\r\n <path\r\n d=\"M9.72714 12.6365L13.3635 9.00013L9.72714 5.36377M4.63623 12.6365L8.27259 9.00013L4.63623 5.36377\"\r\n stroke=\"#101828\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <div class=\"col-md-12 text-center my-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"240\" height=\"86\" viewBox=\"0 0 240 86\" fill=\"none\">\r\n <rect width=\"240\" height=\"86\" fill=\"#FAFAFA\"/>\r\n <rect x=\"31\" width=\"178\" height=\"86\" fill=\"url(#pattern0_778_33543)\"/>\r\n <defs>\r\n <pattern id=\"pattern0_778_33543\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\r\n <use xlink:href=\"#image0_778_33543\" transform=\"matrix(0.000333333 0 0 0.000689922 0 -0.0822946)\"/>\r\n </pattern>\r\n <image id=\"image0_778_33543\" width=\"3000\" height=\"1688\" preserveAspectRatio=\"none\" xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAC7gAAAaYCAYAAAAXbpGPAAAgAElEQVR4AezQgQAAAACAoP2pFymECgMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDJZikLkAACAASURBVBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwjXnEogAAIABJREFUYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBiYvXvBtZAGAgCqi3MT7sJFuG4NUSIP74cW2s60x8QAl0KnZ6Y8IU0kQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBp7TinAAAgAElEQVQgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQO/m9l0AACAASURBVIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA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QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAptcw2AAAgAElEQVQgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECPx/duhAAAAAAADI/7UREhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgfUWlHgAACAASURBVAMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMH3CjNDQAAIABJREFUDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHtEPHAgAAAACD/K2nsaMQMmDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAGPnY0UAAAMe0lEQVQDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBt4DAfUfAYwpoEnzAAAAAElFTkSuQmCC\"/>\r\n </defs>\r\n </svg>\r\n </div>\r\n\r\n <ng-container *ngFor=\"let ticket of footfallTicketsData\">\r\n <div *ngIf=\"ticket?._source as source\" class=\"row mb-6\">\r\n <div class=\"col-2 card-title-label my-2\">Ticket Name</div>\r\n <div class=\"col-1 font-bold my-2\">:</div>\r\n <div class=\"col-9 card-title-value my-2\">{{ source.ticketName ? (source.ticketName | titlecase) : '-' }}</div>\r\n <div class=\"col-2 card-title-label my-2\">Ticket ID</div>\r\n <div class=\"col-1 font-bold my-2\">:</div>\r\n <div class=\"col-9 card-title-value my-2\">{{ source.ticketId ? source.ticketId:'-' }}</div>\r\n <div class=\"col-2 card-title-label my-2\">Store Name</div>\r\n <div class=\"col-1 font-bold my-2\">:</div>\r\n <div class=\"col-9 card-title-value my-2\">{{ source.storeName ? source.storeName:'-' }}</div>\r\n <div class=\"col-2 card-title-label my-2\">Status</div>\r\n <div class=\"col-1 font-bold my-2\">:</div>\r\n <div class=\"col-3 my-2\"><span \r\n class=\"badge\" \r\n [ngClass]=\"{\r\n 'badge-light-primary': source.status === 'open',\r\n 'badge-secondary': source.status === 'closed',\r\n 'badge-light-warning': source.status === 'pending',\r\n 'badge-light-danger': source.status === 'rejected'\r\n }\">\r\n {{ source.status ? (source.status | titlecase) : '-' }}\r\n</span></div>\r\n \r\n <div class=\"col-2 card-title-label my-2\">Date</div>\r\n <div class=\"col-1 font-bold my-2\">:</div>\r\n <div class=\"col-3 card-title-value my-2\">{{ source.dateString ? (source.dateString | date: 'dd MMM, yyyy') :'- ' }}</div>\r\n </div>\r\n \r\n <div *ngIf=\"ticket?._source as source\" class=\"border-totalfootfall\">\r\n <div class=\"card-header ellipse1 min-h-45px py-1 px-5\">\r\n <div class=\"my-0\">\r\n <h5 class=\"card-title\">{{ source?.footfallCount !== null ?\r\n source?.footfallCount : '--' }} <span class=\"sub-header ms-2\">Total Footfall</span></h5>\r\n \r\n </div>\r\n </div>\r\n <div class=\"card-body py-2 px-5\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-3 col-xl-3 col-md-3 my-3\">\r\n <h5 class=\"card-title\">{{ source?.duplicateCount !== null ?\r\n source?.duplicateCount : '--' }}</h5>\r\n <span class=\"card-title-sub-header\">Duplicates</span>\r\n </div>\r\n <div class=\"col-lg-3 col-xl-3 col-md-3 my-3\">\r\n <h5 class=\"card-title\">{{ source?.employeeCount !== null ?\r\n source?.employeeCount : '--' }}</h5>\r\n <span class=\"card-title-sub-header\">Employee/Staff</span>\r\n </div>\r\n \r\n <div class=\"col-lg-3 col-xl-3 col-md-3 my-3\">\r\n <h5 class=\"card-title\">{{ source?.houseKeepingCount !== null ?\r\n source?.houseKeepingCount : '--' }}</h5>\r\n <span class=\"card-title-sub-header\">House Keeping</span>\r\n </div>\r\n <div class=\"col-lg-3 col-xl-3 col-md-3 my-3\">\r\n <h5 class=\"card-title\"> {{ \r\n (source.footfallCount || 0) - \r\n ((source.houseKeepingCount || 0) + \r\n (source.employeeCount || 0) + \r\n (source.duplicateCount || 0)) \r\n }}</h5>\r\n <span class=\"card-title-sub-header\">Actual footfall</span>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n \r\n \r\n <div *ngIf=\"ticket?._source as source\" class=\"my-5\">\r\n <h3 *ngIf=\"source?.duplicateImages?.length\" class=\"text-lg font-semibold mb-4\"> <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_730_76157)\">\r\n <path\r\n d=\"M3.75 11.25H3C2.60218 11.25 2.22064 11.092 1.93934 10.8107C1.65804 10.5294 1.5 10.1478 1.5 9.75V3C1.5 2.60218 1.65804 2.22064 1.93934 1.93934C2.22064 1.65804 2.60218 1.5 3 1.5H9.75C10.1478 1.5 10.5294 1.65804 10.8107 1.93934C11.092 2.22064 11.25 2.60218 11.25 3V3.75M8.25 6.75H15C15.8284 6.75 16.5 7.42157 16.5 8.25V15C16.5 15.8284 15.8284 16.5 15 16.5H8.25C7.42157 16.5 6.75 15.8284 6.75 15V8.25C6.75 7.42157 7.42157 6.75 8.25 6.75Z\"\r\n stroke=\"#475467\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_730_76157\">\r\n <rect width=\"18\" height=\"18\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>Duplicates</h3>\r\n \r\n \r\n <div *ngFor=\"let original of source.duplicateImages\" class=\"mb-4\">\r\n <div *ngIf=\"source?.duplicateImages?.length\" class=\"duplicate-head my-3\">Original image</div>\r\n <div class=\"row\">\r\n <div class=\"col-md-3 relative\">\r\n <div class=\"pb-3 img-border border border-1 h-100 rounded-3\">\r\n \r\n <img [src]=\"imageUrl + original.filePath\" alt=\"\" class=\"w-100 rounded border\" />\r\n <div class=\"desc-title ms-2 mt-2\">Temp ID: {{ original.tempId }}</div>\r\n <div class=\"desc-value ms-2\">Entry Time: {{ getFormattedEntryTime(original?.entryTime) }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"duplicate-head text-lg my-3\">Duplicates<span class=\"badge ms-2\" \r\n [ngClass]=\"{\r\n 'badge-light-primary': source?.duplicateStatus === 'pending',\r\n 'badge-light-success': source?.duplicateStatus === 'approved',\r\n 'badge-light-danger': source?.duplicateStatus === 'rejected'\r\n }\">{{source?.duplicateStatus | titlecase}}</span></div>\r\n <div class=\"row\">\r\n <div class=\"col-md-3 position-relative\" *ngFor=\"let img of original.data\">\r\n <div class=\"pb-3 img-border border border-1 h-100 rounded-3 position-relative\">\r\n <input *ngIf=\"source?.duplicateStatus ==='pending'\"\r\n type=\"checkbox\"\r\n [(ngModel)]=\"img.selected\"\r\n class=\"position-absolute absolute form-check-input\"\r\n(change)=\"onImageCheckboxChange(img, 'duplicate', original)\"\r\n />\r\n <img [src]=\"imageUrl + img.filePath\" alt=\"\" class=\"w-100 mb-2 rounded border\" />\r\n <div class=\"desc-title ms-2 mt-2\">Temp ID: {{ img.tempId }}</div>\r\n <div class=\"desc-value ms-2\">Entry Time: {{ getFormattedEntryTime(img?.entryTime) }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n \r\n <div *ngIf=\"source?.duplicateImages?.length\" class=\"my-7 d-flex justify-content-end\" role=\"group\">\r\n <button [disabled]=\"!duplicateACCount\" class=\"btn btn-outline me-1\" (click)=\"popupOpen('rejected','duplicate')\" >Reject</button>\r\n <button [disabled]=\"!duplicateACCount\" class=\"btn btn-primary ms-1\" (click)=\"popupOpen('approved','duplicate')\">Approve</button>\r\n </div>\r\n \r\n <div *ngIf=\"source?.employee?.length\" class=\"duplicate-head text-lg my-3\"><span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"16\" viewBox=\"0 0 18 16\" fill=\"none\">\r\n<path d=\"M12.75 14.75V13.25C12.75 12.4544 12.4339 11.6913 11.8713 11.1287C11.3087 10.5661 10.5456 10.25 9.75 10.25H3.75C2.95435 10.25 2.19129 10.5661 1.62868 11.1287C1.06607 11.6913 0.75 12.4544 0.75 13.25V14.75M17.25 14.75V13.25C17.2495 12.5853 17.0283 11.9396 16.621 11.4142C16.2138 10.8889 15.6436 10.5137 15 10.3475M12 1.3475C12.6453 1.51273 13.2173 1.88803 13.6257 2.41423C14.0342 2.94044 14.2559 3.58762 14.2559 4.25375C14.2559 4.91988 14.0342 5.56706 13.6257 6.09327C13.2173 6.61947 12.6453 6.99477 12 7.16M9.75 4.25C9.75 5.90685 8.40685 7.25 6.75 7.25C5.09315 7.25 3.75 5.90685 3.75 4.25C3.75 2.59315 5.09315 1.25 6.75 1.25C8.40685 1.25 9.75 2.59315 9.75 4.25Z\" stroke=\"#475467\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg></span>Employee/Staff <span class=\"badge ms-2\" \r\n [ngClass]=\"{\r\n 'badge-light-primary': source?.employeeStatus === 'pending',\r\n 'badge-light-success': source?.employeeStatus === 'approved',\r\n 'badge-light-danger': source?.employeeStatus === 'rejected'\r\n }\">{{source?.employeeStatus | titlecase}}</span></div>\r\n <div class=\"row\">\r\n <div class=\"col-md-3 position-relative\" *ngFor=\"let img of source.employee\">\r\n <div class=\"pb-3 img-border border border-1 h-100 rounded-3 position-relative\">\r\n \r\n <!-- Top-right Checkbox -->\r\n <input *ngIf=\"source?.employeeStatus ==='pending'\" type=\"checkbox\" [(ngModel)]=\"img.selected\"\r\n class=\"position-absolute absolute form-check-input\"\r\n (change)=\"onImageCheckboxChange(img, 'employee')\" />\r\n \r\n \r\n <!-- Image -->\r\n <img [src]=\"imageUrl + img.filePath\" alt=\"\" class=\"w-100 mb-2 rounded border\" />\r\n \r\n <!-- Details -->\r\n <div class=\"desc-title ms-2 mt-2\">Temp ID: {{img.tempId}}</div>\r\n <div class=\"desc-value ms-2\">Entry Time: {{getFormattedEntryTime(img?.entryTime)}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div *ngIf=\"source?.employee?.length\" class=\"my-7 d-flex justify-content-end\" role=\"group\">\r\n <button [disabled]=\"!employeeACCount\" class=\"btn btn-outline me-1\" (click)=\"popupOpen('rejected','employee')\" >Reject</button>\r\n <button [disabled]=\"!employeeACCount\" class=\"btn btn-primary ms-1\" (click)=\"popupOpen('approved','employee')\">Approve</button>\r\n </div>\r\n \r\n \r\n <div *ngIf=\"source?.houseKeeping?.length\" class=\"duplicate-head text-lg my-3\"><span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.51995 0.613065C8.33739 -0.204355 9.66267 -0.204355 10.4801 0.613065L17.387 7.51995C18.2043 8.33739 18.2043 9.66267 17.387 10.4801L10.4801 17.387C9.66267 18.2043 8.33739 18.2043 7.51995 17.387L5.54626 15.4133L3.73708 17.2224C2.91966 18.0399 1.59436 18.0399 0.776944 17.2224C-0.0404767 16.4051 -0.0404767 15.0797 0.776944 14.2624L2.58612 12.4531L0.613065 10.4801C-0.204355 9.66267 -0.204355 8.33739 0.613065 7.51995L7.51995 0.613065ZM9.49336 1.59978C9.22088 1.32731 8.77909 1.32731 8.50661 1.59978L3.57286 6.53357L11.4665 14.4272L16.4002 9.49336C16.6727 9.22088 16.6727 8.77909 16.4002 8.5067L12.9465 5.05286L11.7952 6.20403C11.5228 6.4765 11.0811 6.4765 10.8086 6.20403C10.5361 5.93155 10.5361 5.48978 10.8086 5.21731L11.9597 4.06614L10.9732 3.07964L8.17757 5.87533C7.90509 6.1478 7.46329 6.1478 7.19081 5.87533C6.91833 5.60286 6.91833 5.16109 7.19081 4.88862L9.9865 2.09293L9.49336 1.59978ZM10.4797 15.4139L2.58615 7.52028L1.59978 8.5067C1.3273 8.77909 1.3273 9.22088 1.59978 9.49336L8.50661 16.4002C8.77909 16.6727 9.22088 16.6727 9.49336 16.4002L10.4797 15.4139ZM3.57275 13.4399L1.76366 15.249C1.49119 15.5215 1.49119 15.9633 1.76366 16.2358C2.03613 16.5082 2.4779 16.5082 2.75037 16.2358L4.55946 14.4266L3.57275 13.4399Z\" fill=\"#475467\"/>\r\n</svg></span> House Keeping <span class=\"badge ms-2\" \r\n [ngClass]=\"{\r\n 'badge-light-primary': source?.houseKeepingStatus === 'pending',\r\n 'badge-light-success': source?.houseKeepingStatus === 'approved',\r\n 'badge-light-danger': source?.houseKeepingStatus === 'rejected'\r\n }\">{{source?.houseKeepingStatus | titlecase}}</span></div>\r\n <div class=\"row\">\r\n <div class=\"col-md-3 position-relative\" *ngFor=\"let img of source.houseKeeping\">\r\n <div class=\"pb-3 img-border border border-1 h-100 rounded-3 position-relative\">\r\n \r\n <!-- Top-right Checkbox -->\r\n <input *ngIf=\"source?.houseKeepingStatus ==='pending'\" type=\"checkbox\" [(ngModel)]=\"img.selected\" \r\n class=\"position-absolute absolute form-check-input\"\r\n (change)=\"onImageCheckboxChange(img, 'housekeeping')\" />\r\n \r\n \r\n <!-- Image -->\r\n <img [src]=\"imageUrl + img.filePath\" alt=\"\" class=\"w-100 mb-2 rounded border\" />\r\n \r\n <!-- Details -->\r\n <div class=\"desc-title ms-2 mt-2\">Temp ID: {{img.tempId}}</div>\r\n <div class=\"desc-value ms-2\">Entry Time: {{getFormattedEntryTime(img?.entryTime)}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div *ngIf=\"source?.houseKeeping?.length\" class=\"my-7 d-flex justify-content-end\" role=\"group\">\r\n <button [disabled]=\"!houseKeepingACCount\" class=\"btn btn-outline me-1\" (click)=\"popupOpen('rejected','housekeeping')\" >Reject</button>\r\n <button [disabled]=\"!houseKeepingACCount\" class=\"btn btn-primary ms-1\" (click)=\"popupOpen('approved','housekeeping')\">Approve</button>\r\n </div>\r\n </div>\r\n \r\n </ng-container>\r\n <div *ngIf=\"!footfallLoading && !footfallNoData\" class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"pageSizeFootfall\" [currentPage]=\"footfallcurrentPage\" [totalItems]=\"totalItemsFootfall\"\r\n [paginationSizes]=\"paginationSizes\" [pageSize]=\"setFootfallpageSize()\" (pageChange)=\"onFootfallPageChange($event)\"\r\n (pageSizeChange)=\"onFootfallPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n \r\n </div>\r\n \r\n </section>\r\n <div *ngIf=\"footfallLoading\" class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"footfallNoData\" class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n \r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column \" style=\"margin: 64px;border-radius: 8px;\r\nbackground: var(--Gray-50, #F9FAFB);\">\r\n <svg class=\"my-5\" xmlns=\"http://www.w3.org/2000/svg\" width=\"94\" height=\"94\" viewBox=\"0 0 94 94\" fill=\"none\">\r\n <rect x=\"7\" y=\"7\" width=\"80\" height=\"80\" rx=\"40\" fill=\"#DAF1FF\" />\r\n <rect x=\"7\" y=\"7\" width=\"80\" height=\"80\" rx=\"40\" stroke=\"#EAF8FF\" stroke-width=\"13.3333\" />\r\n <g clip-path=\"url(#clip0_730_75095)\">\r\n <path\r\n d=\"M55.3327 62V58.6667C55.3327 56.8986 54.6303 55.2029 53.3801 53.9526C52.1298 52.7024 50.4341 52 48.666 52H35.3327C33.5646 52 31.8689 52.7024 30.6186 53.9526C29.3684 55.2029 28.666 56.8986 28.666 58.6667V62M65.3327 62V58.6667C65.3316 57.1895 64.8399 55.7546 63.935 54.5872C63.03 53.4198 61.7629 52.5859 60.3327 52.2167M53.666 32.2167C55.1 32.5838 56.3711 33.4178 57.2787 34.5872C58.1864 35.7565 58.6791 37.1947 58.6791 38.675C58.6791 40.1553 58.1864 41.5935 57.2787 42.7628C56.3711 43.9322 55.1 44.7662 53.666 45.1333M48.666 38.6667C48.666 42.3486 45.6812 45.3333 41.9993 45.3333C38.3174 45.3333 35.3327 42.3486 35.3327 38.6667C35.3327 34.9848 38.3174 32 41.9993 32C45.6812 32 48.666 34.9848 48.666 38.6667Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_730_75095\">\r\n <rect width=\"40\" height=\"40\" fill=\"white\" transform=\"translate(27 27)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div class=\"nodata-title my-3\">No pending items</div>\r\n <div class=\"nodata-sub mb-3\">Looks like there is no action item required for <span\r\n *ngIf=\"selectedRevopsType?.value==='duplicateImages'\">duplicates</span><span\r\n *ngIf=\"selectedRevopsType?.value==='employee'\">employee/staff</span> <span\r\n *ngIf=\"selectedRevopsType?.value==='houseKeeping'\">houseKeeping</span>\r\n <span\r\n *ngIf=\"!selectedRevopsType?.value\">items</span></div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Card Body -->\r\n <div *ngIf=\"selectedRevopsType?.value !== ''\" class=\"card-body mt-3 py-0\">\r\n <span class=\"cursor-pointer\" *ngIf=\"isCollapsed\" (click)=\"toggleSidebar()\" style=\"position: absolute; top: 15px; left: 0;\">\r\n <svg class=\"mt-2 ms-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 24 24\"\r\n fill=\"none\">\r\n <path\r\n d=\"M9.72714 12.6365L13.3635 9.00013L9.72714 5.36377M4.63623 12.6365L8.27259 9.00013L4.63623 5.36377\"\r\n stroke=\"#101828\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <ng-container *ngFor=\"let ticket of footfallTicketsData\">\r\n <div *ngIf=\"ticket?._source as source\" class=\"my-4\">\r\n <div *ngFor=\"let original of source.duplicateImages\" class=\"mb-4\">\r\n <div *ngIf=\"source?.duplicateImages?.length\" class=\"duplicate-head my-2\">Original image</div>\r\n <div class=\"row\">\r\n <!-- \u2705 Original Image -->\r\n <div class=\"col-md-3 relative\">\r\n <div class=\"pb-3 img-border border border-1 h-100 rounded-3\">\r\n \r\n <img [src]=\"imageUrl + original.filePath\" alt=\"\" class=\"w-100 rounded border\" />\r\n <div class=\"desc-title ms-2 mt-2\">{{source.storeName}}</div>\r\n <div class=\"desc-value ms-2\">Footfall date : {{source.dateString | date:'dd/MM/yyyy'}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <!-- \uD83D\uDFE8 Duplicate Images (for this original) -->\r\n <div class=\"duplicate-head my-3\">Duplicates <span class=\"badge ms-2\" \r\n [ngClass]=\"{\r\n 'badge-light-primary': source?.duplicateStatus === 'pending',\r\n 'badge-light-success': source?.duplicateStatus === 'approved',\r\n 'badge-light-danger': source?.duplicateStatus === 'rejected'\r\n }\">{{source?.duplicateStatus | titlecase}}</span></div>\r\n <div class=\"row\">\r\n <div class=\"col-md-3 position-relative\" *ngFor=\"let img of original.data\">\r\n <div class=\"pb-3 img-border border border-1 h-100 rounded-3 position-relative\">\r\n <input *ngIf=\"source?.duplicateStatus ==='pending'\" type=\"checkbox\" [(ngModel)]=\"img.selected\"\r\n class=\"position-absolute absolute form-check-input\"\r\n (change)=\"onImageCheckboxChange1(img, 'duplicate')\" />\r\n <img [src]=\"imageUrl + img.filePath\" alt=\"\" class=\"w-100 mb-2 rounded border\" />\r\n <div class=\"desc-title ms-2 mt-2\">{{source.storeName}}</div>\r\n <div class=\"desc-value ms-2\">Footfall date : {{source.dateString | date:'dd/MM/yyyy'}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"source?.employee?.length\" class=\"row\">\r\n <div class=\"col-md-3 position-relative\" *ngFor=\"let img of source.employee\">\r\n <div class=\"pb-3 img-border border border-1 h-100 rounded-3 position-relative\">\r\n \r\n <!-- Top-right Checkbox -->\r\n <input *ngIf=\"source?.employeeStatus ==='pending'\" type=\"checkbox\" [(ngModel)]=\"img.selected\"\r\n class=\"position-absolute absolute form-check-input\"\r\n (change)=\"onImageCheckboxChange1(img, 'employee')\" />\r\n \r\n \r\n <!-- Image -->\r\n <img [src]=\"imageUrl + img.filePath\" alt=\"\" class=\"w-100 mb-2 rounded border\" />\r\n \r\n <!-- Details -->\r\n <div class=\"desc-title ms-2 mt-2\">{{source.storeName}}</div>\r\n <div class=\"desc-value ms-2\">Footfall date : {{source.dateString | date:'dd/MM/yyyy'}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"source?.houseKeeping?.length\" class=\"row\">\r\n <div class=\"col-md-3 position-relative\" *ngFor=\"let img of source.houseKeeping\">\r\n <div class=\"pb-3 img-border border border-1 h-100 rounded-3 position-relative\">\r\n \r\n <!-- Top-right Checkbox -->\r\n <input *ngIf=\"source?.houseKeepingStatus ==='pending'\" type=\"checkbox\" [(ngModel)]=\"img.selected\"\r\n class=\"position-absolute absolute form-check-input\"\r\n (change)=\"onImageCheckboxChange1(img, 'housekeeping')\" />\r\n \r\n \r\n <!-- Image -->\r\n <img [src]=\"imageUrl + img.filePath\" alt=\"\" class=\"w-100 mb-2 rounded border\" />\r\n \r\n <!-- Details -->\r\n <div class=\"desc-title ms-2 mt-2\">{{source.storeName}}</div>\r\n <div class=\"desc-value ms-2\">Footfall date : {{source.dateString | date:'dd/MM/yyyy'}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- <div *ngIf=\"!footfallLoading && !footfallNoData\" class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"pageSizeFootfall\" [currentPage]=\"footfallcurrentPage\"\r\n [totalItems]=\"totalItemsFootfall\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"setFootfallpageSize()\"\r\n (pageChange)=\"onFootfallPageChange($event)\"\r\n (pageSizeChange)=\"onFootfallPageSizeChange($event)\"></lib-pagination>\r\n </div> -->\r\n </div>\r\n </div>\r\n \r\n </div>\r\n</div>\r\n\r\n<ng-template #zoomPopup let-model>\r\n <div class=\"p-4 m-4\">\r\n <div class=\"modal-header border-0 p-0 w-100 flex-column align-items-start\">\r\n \r\n <!-- Heading -->\r\n <h5 class=\"modal-title mb-2\">\r\n {{ popupType === 'approved' ? 'Approve' : 'Reject' }} Selected Images\r\n </h5>\r\n\r\n <!-- Description -->\r\n <p class=\"mb-3\">\r\n You're about to {{ popupType === 'approved' ? 'approve' : 'reject' }} the following number of selected images.\r\n </p>\r\n\r\n <!-- Count Box -->\r\n <div class=\"border border-1 rounded p-3 w-50 mb-4\">\r\n <div *ngIf=\"popupvalue === 'employee'\" class=\"fw-semibold fs-5 mb-2\">\r\n {{ employeeACCount || '--' }}\r\n </div>\r\n <div *ngIf=\"popupvalue === 'housekeeping'\" class=\"fw-semibold fs-5 mb-2\">\r\n {{ houseKeepingACCount || '--' }}\r\n </div>\r\n <div *ngIf=\"popupvalue === 'duplicate'\" class=\"fw-semibold fs-5 mb-2\">\r\n {{ duplicateACCount || '--' }}\r\n </div>\r\n <div class=\"fw-semibold text-muted fs-6 mt-2\">\r\n {{ popupvalue | titlecase }}s\r\n </div>\r\n </div>\r\n\r\n <!-- Action Buttons -->\r\n <div class=\"w-100 d-flex justify-content-end\">\r\n <button class=\"btn btn-outline me-2\" (click)=\"cancel()\">Cancel</button>\r\n <button class=\"btn btn-primary\" (click)=\"submitValue(popupType, popupvalue)\">\r\n {{ popupType === 'approved' ? 'Approve' : 'Reject' }}\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n", styles: [".card-header,.header{color:var(--Gray-900, #101828);font-size:20px!important;font-style:normal;font-weight:700;line-height:30px}.sub-header{color:var(--Gray-700, #344054);font-size:14px!important;font-style:normal;font-weight:600;line-height:20px}.ellipse1{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}.card-title-foot{color:var(--Gray-800, #1D2939)!important;font-size:18px;font-weight:600;line-height:28px}.card-title-label{color:var(--Gray-800, #1D2939)!important;font-size:16px;font-weight:600;line-height:28px}.card-title-value{color:var(--Gray-800, #1D2939)!important;font-size:16px;font-weight:400;line-height:28px}input[type=checkbox]{width:16px!important;height:16px!important;margin:7px 5px -2px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-600, #D0D5DD)!important;box-shadow:none;font-size:.5em;text-align:center;line-height:1em;background:#fff}input[type=checkbox]{outline:1px solid var(--primary-600, #00A3FF)!important;background-color:var(--primary-50, #EAF8FF)}input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:3px;padding-top:10px;padding-right:0}.rotate{rotate:180deg;transition:1s}.border-selectall{border-radius:6px!important;border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:var(--White, #FFF)!important;padding:8px 2px}.border-selectall1{border-radius:6px!important;background:var(--White, #FFF)!important;padding:8px 2px}.border-totalfootfall{border-radius:12px;padding:4px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF)}.vl{border-left:2px solid #000;height:50px}.duplicate-head{color:var(--Gray-700, #344054);font-size:16px;font-weight:600;line-height:20px}.img-border{border-radius:5px!important;border:2px solid var(--Gray-300, #D0D5DD)}.desc-title{color:var(--Gray-900, #101828);font-size:12px;font-weight:500;line-height:20px}.desc-value{color:var(--Gray-900, #475467);font-size:10px;font-weight:500;line-height:20px}.img-border{overflow:hidden;position:relative}.btn-resize{font-size:13px!important;height:29px!important;line-height:11px!important;padding:1px!important}.absolute{top:5px;right:5px;z-index:2}.img-src{width:25%;height:20%}.backButtonright{border-radius:1000px!important;background:var(--text-primary, #FFF)!important;padding:12px!important;box-shadow:0 12px 16px -4px #10182814,0 4px 6px -2px #10182808!important;box-shadow:0 8.727px 11.636px -2.909px #10182814,0 2.909px 4.364px -1.455px #10182808!important;position:absolute;top:30px;right:-10px;z-index:0}.backButtonleft{border-radius:1000px!important;background:#fff;padding:14px!important;border:var(--Gray-300, #D0D5DD);box-shadow:0 8.727px 11.636px -2.909px #10182814,0 2.909px 4.364px -1.455px #10182808;position:absolute;top:30px;left:-20px;z-index:5}.select-wrapper{position:relative;display:inline-block;width:100%}.placeholder-overlay{position:absolute;color:var(--Gray-500, #667085);font-family:Inter;font-size:16px!important;font-style:normal;font-weight:400;top:10px;left:15px;pointer-events:none;font-size:1.1rem;z-index:1}.card-title{color:var(--Black, #101828)!important;font-size:20px!important;font-weight:700!important;line-height:30px}.card-title-sub-header{color:var(--Black, #101828);font-size:14px;font-weight:500;line-height:30px}\n"], dependencies: [{ kind: "directive", type: i6$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6.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: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.PaginationComponent, selector: "lib-pagination", inputs: ["collection", "itemsPerPage", "currentPage", "totalItems", "directionLinks", "pageSize", "paginationSizes"], outputs: ["pageChange", "pageSizeChange"] }, { kind: "component", type: ReactiveSelectComponent, selector: "lib-reactive-select", inputs: ["isDisabled", "idField", "nameField", "label", "data"], outputs: ["itemChange"] }, { kind: "component", type: GroupSelectComponent, selector: "lib-group-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }, { kind: "pipe", type: i6$1.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i6$1.DatePipe, name: "date" }] });
|
|
2714
|
-
}
|
|
2715
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FootfallDicComponent, decorators: [{
|
|
2716
|
-
type: Component,
|
|
2717
|
-
args: [{ selector: "lib-footfall-dic", template: "<div *ngIf=\"footfallView\" class=\"row\">\r\n <div class=\"col-md-3 mb-3\">\r\n <div class=\"card\">\r\n <div class=\"card-header ellipse1 py-1 px-5\">\r\n <div class=\"my-0\">\r\n <h5 class=\"card-title my-0\">{{ getFootfallSummaryData?.totalTickets !== null ?\r\n getFootfallSummaryData?.totalTickets : '--' }}</h5>\r\n <span class=\"sub-header\">Total tickets</span>\r\n </div>\r\n </div>\r\n <div class=\"card-body py-2 px-5\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-6 col-xl-9 col-md-6 my-3\">\r\n <h5 class=\"card-title\">{{ getFootfallSummaryData?.openTickets !== null ?\r\n getFootfallSummaryData?.openTickets : '--' }}</h5>\r\n <span class=\"card-title-sub-header\">Open</span>\r\n </div>\r\n <div class=\"col-lg-6 col-xl-3 col-md-6 my-3\">\r\n <h5 class=\"card-title\">{{ getFootfallSummaryData?.closedTickets !== null ?\r\n getFootfallSummaryData?.closedTickets : '--' }}</h5>\r\n <span class=\"card-title-sub-header\">Closed</span>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-9 mb-3\">\r\n <div class=\"card\">\r\n <div class=\"card-header ellipse1 py-1 px-5\">\r\n <div class=\"my-0\">\r\n <h5 class=\"card-title mt-0\">{{ getFootfallSummaryData?.noShopper !== null ?\r\n getFootfallSummaryData?.noShopper : '--' }}</h5>\r\n <div class=\"sub-header\">Non-Shoppers</div>\r\n </div>\r\n </div>\r\n <div class=\"card-body py-2 px-5\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-4 col-xl-5 col-md-4 my-3\">\r\n <h5 class=\"card-title\">{{ getFootfallSummaryData?.duplicateCount !== null ?\r\n getFootfallSummaryData?.duplicateCount : '--' }}</h5>\r\n <span class=\"card-title-sub-header\">Duplicates</span>\r\n </div>\r\n <div class=\"col-lg-4 col-xl-5 col-md-4 my-3 \">\r\n <h5 class=\"card-title \">{{ getFootfallSummaryData?.employeeCount !== null ?\r\n getFootfallSummaryData?.employeeCount : '--' }}</h5>\r\n <span class=\"card-title-sub-header \">Employee/Staff</span>\r\n </div>\r\n <div class=\"col-lg-4 col-xl-2 col-md-4 my-3\">\r\n <h5 class=\"card-title \">{{ getFootfallSummaryData?.houseKeepingCount !== null ?\r\n getFootfallSummaryData?.houseKeepingCount : '--' }}</h5>\r\n <span class=\"card-title-sub-header\">Housekeeping</span>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"footfallView\" 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\">Ticket Info <span *ngIf=\"totalItems\" class=\"ms-2 px-3 badge badge-light-primary\">{{totalItems ? totalItems :'--'}} Total</span></span>\r\n <span class=\"text-sub mb-2\">Based on {{footfallList_req?.fromDate | date: 'dd MMM, yyyy'}} \u2013 {{footfallList_req?.toDate | date: 'dd MMM, yyyy'}} </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-3\">\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\"></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 <input type=\"text\" class=\"form-control ps-14 me-2\" placeholder=\"Search by store\" autocomplete=\"off\"\r\n (change)=\"searchData()\" [(ngModel)]=\"searchValue\" />\r\n <!-- <lib-filters [dataObject]=\"dataObject\"\r\n (appliedFilters)=\"applyFilters($event)\"></lib-filters> -->\r\n\r\n <button type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2\">Export</span>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body mt-3 py-0 px-0\">\r\n\r\n\r\n\r\n <div *ngIf=\"loading\" class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"noData\" class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\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=\"nodata-title\">No data found</div>\r\n <div class=\"nodata-sub\">There is no result for this Date</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap \">\r\n <thead>\r\n <tr>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('storeName')\">Store Info<svg\r\n [ngClass]=\"sortedColumn === 'storeName' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'storeName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('ticketId')\">Ticket ID<svg\r\n [ngClass]=\"sortedColumn === 'ticketId' && sortDirection === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'ticketId' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('dateString')\">Ticket raised on\r\n <svg [ngClass]=\"sortedColumn === 'dateString' && sortDirection === 1 ? 'rotate' : ''\"\r\n 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=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'dateString' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('footfallCount')\">Total footfalls\r\n <svg [ngClass]=\"sortedColumn === 'footfallCount' && sortDirection === 1 ? 'rotate' : ''\"\r\n 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=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'footfallCount' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('duplicateCount')\">Duplicates\r\n <svg [ngClass]=\"sortedColumn === 'duplicateCount' && sortDirection === 1 ? 'rotate' : ''\"\r\n 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=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'duplicateCount' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('employeeCount')\">Employee/Staff\r\n <svg [ngClass]=\"sortedColumn === 'employeeCount' && sortDirection === 1 ? 'rotate' : ''\"\r\n 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=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'employeeCount' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('houseKeepingCount')\">Housekeeping\r\n <svg [ngClass]=\"sortedColumn === 'houseKeepingCount' && sortDirection === 1 ? 'rotate' : ''\"\r\n 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=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'houseKeepingCount' ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n\r\n <th>Revised footfalls\r\n \r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('status')\">Status<svg\r\n [ngClass]=\"sortedColumn === 'status' && sortDirection === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'status' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <!-- <th >Actions</th> -->\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let ticket of footfallListData\">\r\n <ng-container *ngIf=\"ticket?._source as source\">\r\n <td (click)=\"dataStoreView(ticket)\">\r\n <div class=\"text-primary cursor-pointer\">{{ source.storeName }}</div>\r\n <div class=\"text-gray-500 fs-7 mt-2\">ID : {{ source.storeId }}</div>\r\n </td>\r\n \r\n <td class=\"py-7\">{{ source.ticketId }}</td>\r\n <td class=\"py-7\">{{ source.dateString | date: 'dd MMM, yyyy' }}</td>\r\n <td class=\"py-7\">{{ source.footfallCount }}</td>\r\n <td class=\"py-7\">{{ source.duplicateCount }}</td>\r\n <td class=\"py-7\">{{ source.employeeCount }}</td>\r\n <td class=\"py-7\">{{ source.houseKeepingCount }}</td>\r\n <td class=\"py-7\">\r\n {{ source.footfallCount - (source.houseKeepingCount + source.employeeCount +\r\n source.duplicateCount) }}\r\n </td>\r\n \r\n <td class=\"py-7\">\r\n <span *ngIf=\"source.status === 'open' || source.status === 'closed'\" class=\"badge mx-2\" [ngClass]=\"{\r\n 'badge-light-primary': source.status === 'open',\r\n 'badge-light-default': source.status === 'closed'\r\n }\">\r\n {{ source.status | titlecase }}\r\n </span>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"pageSize\" [currentPage]=\"currentPage\" [totalItems]=\"totalItems\"\r\n [paginationSizes]=\"paginationSizes\" [pageSize]=\"setpageSize()\" (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n\r\n\r\n<div *ngIf=\"!footfallView\" class=\"card mt-2\">\r\n <form [formGroup]=\"filterForm\">\r\n <div class=\"row my-0\">\r\n <div class=\"col-lg-3 my-3\">\r\n <span class=\"ms-2 cursor-pointer\" (click)=\"backToNavigation()\" ><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"56\" height=\"44\" viewBox=\"0 0 56 44\"\r\n fill=\"none\">\r\n <g filter=\"url(#filter0_d_887_4505)\">\r\n <rect x=\"2\" y=\"1\" width=\"52\" height=\"40\" rx=\"8\" fill=\"white\" />\r\n <rect x=\"2.5\" y=\"1.5\" width=\"51\" height=\"39\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n <path d=\"M30.5 26L25.5 21L30.5 16\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_887_4505\" x=\"0\" y=\"0\" width=\"56\" height=\"44\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\" result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_887_4505\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_887_4505\"\r\n result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg></span>\r\n <span class=\"card-title-foot ms-3\">Footfall Directory</span>\r\n </div>\r\n <div class=\"col-md-2 my-3\">\r\n \r\n <lib-reactive-select formControlName=\"selectedStatus\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"type\"\r\n (itemChange)=\"typeChange($event)\"></lib-reactive-select>\r\n \r\n\r\n </div>\r\n <div class=\"col-md-2 my-3\">\r\n \r\n <lib-reactive-select formControlName=\"actionStatus\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"pendingArray\"\r\n (itemChange)=\"pendingChange($event)\"></lib-reactive-select>\r\n \r\n </div>\r\n <div class=\"col-md-3 my-4\" >\r\n <div class=\"select-wrapper\">\r\n <div class=\"placeholder-overlay\" *ngIf=\"!(filterForm.get('ClusterList')?.value?.length)\">\r\n Select cluster\r\n </div>\r\n <lib-group-select [items]=\"ClusterList\" [disabled]=\"false\" [multi]=\"true\"\r\n [searchField]=\"'groupName'\" [idField]=\"'groupName'\" (selected)=\"ongroupSelect($event)\"\r\n [selectedValues]=\"filterForm.get('ClusterList')?.value\">\r\n </lib-group-select>\r\n </div>\r\n\r\n </div>\r\n <div class=\"col-md-2 my-4\">\r\n <div class=\"d-flex me-3\">\r\n <a (click)=\"onFilterApply()\" type=\"submit\" class=\"btn btn-sm btn-primary px-4 \"><span>Apply</span></a>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n</div>\r\n<div *ngIf=\"!footfallView\" class=\"row mt-3\">\r\n <div class=\"position-relative\" \r\n [ngClass]=\"isCollapsed ? 'd-none' : 'col-md-3 h-auto'\" >\r\n <div class=\"card h-100\">\r\n <div class=\"card-header border-0 pt-3 px-5\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Footfall Directory</span>\r\n <span class=\"text-sub mb-2\">Based on {{footfallList_req.fromDate | date: 'dd MMM, yyyy'}} \u2013 {{footfallList_req.toDate | date: 'dd MMM, yyyy'}} </span>\r\n </h3>\r\n </div>\r\n <span class=\"cursor-pointer\" (click)=\"toggleSidebar()\" style=\"position: absolute; top: 15px; right: -25px;\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"68\" height=\"68\" viewBox=\"0 0 68 68\" fill=\"none\">\r\n<g filter=\"url(#filter0_dd_778_34282)\">\r\n<rect x=\"12\" width=\"44\" height=\"44\" rx=\"22\" fill=\"white\"/>\r\n<path d=\"M33 27L28 22L33 17M40 27L35 22L40 17\" stroke=\"#101828\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</g>\r\n<defs>\r\n<filter id=\"filter0_dd_778_34282\" x=\"0\" y=\"0\" width=\"68\" height=\"68\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n<feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/>\r\n<feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\" result=\"hardAlpha\"/>\r\n<feMorphology radius=\"2\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_778_34282\"/>\r\n<feOffset dy=\"4\"/>\r\n<feGaussianBlur stdDeviation=\"3\"/>\r\n<feColorMatrix type=\"matrix\" values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\"/>\r\n<feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_778_34282\"/>\r\n<feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\" result=\"hardAlpha\"/>\r\n<feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_778_34282\"/>\r\n<feOffset dy=\"12\"/>\r\n<feGaussianBlur stdDeviation=\"8\"/>\r\n<feColorMatrix type=\"matrix\" values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\"/>\r\n<feBlend mode=\"normal\" in2=\"effect1_dropShadow_778_34282\" result=\"effect2_dropShadow_778_34282\"/>\r\n<feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_778_34282\" result=\"shape\"/>\r\n</filter>\r\n</defs>\r\n</svg>\r\n</span>\r\n <div class=\"text-end mt-10\">\r\n <button class=\"btn btn-outline w-25 me-3 btn-resize\" (click)=\"dataReset()\"> Reset </button>\r\n <button class=\"btn btn-primary w-25 me-5 btn-resize\" (click)=\"dataApply()\">Apply</button>\r\n </div>\r\n <div class=\"p-4 w-100 overflow-auto\">\r\n <input\r\n class=\"form-control form-control-sm mb-2 px-2 py-1 w-100\"\r\n type=\"text\"\r\n placeholder=\"Search\"\r\n [(ngModel)]=\"StoresSearchValue\"\r\n (change)=\"searchStoresData()\"\r\n/>\r\n\r\n <div class=\"mb-2 border-selectall\">\r\n <input type=\"checkbox\" [checked]=\"allSelected\" (change)=\"toggleSelectAll()\" />\r\n <label class=\"mt-2 font-semibold ms-2\">Select All {{storeCount}} Stores</label>\r\n </div>\r\n <ul class=\"list-unstyled ps-0\">\r\n <li *ngFor=\"let store of stores\" class=\"mb-5\">\r\n <input type=\"checkbox\" [checked]=\"isSelected(store)\" (change)=\"toggleStoreSelection(store)\" />\r\n {{ store?.storeName }}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"isCollapsed ? 'col-12' : 'col-md-9'\" >\r\n <div class=\"card h-100\">\r\n\r\n <div class=\"card-header min-h-35px border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n \r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <form class=\"mx-4\" [formGroup]=\"form\">\r\n <lib-reactive-select formControlName=\"selectedRevopsType\" [idField]=\"'value'\" [nameField]=\"'label'\"\r\n [data]=\"revopsTypeArray\" (itemChange)=\"RevopsTypeChange($event)\"></lib-reactive-select>\r\n </form>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"selectedRevopsType?.value !== '' && selecteValues ==='pending'\" class=\"card-header min-h-35px border-0\">\r\n <h3 class=\"align-items-start flex-column\">\r\n \r\n <div *ngIf=\"selectedRevopsType?.value !== ''\" class=\"mt-12 mb-2 font-semibold\">\r\n \r\n <input *ngIf=\"!footfallLoading && !footfallNoData\"\r\n type=\"checkbox\"\r\n [checked]=\"allSelectValue\"\r\n (change)=\"selectAllValue()\" />\r\n <label *ngIf=\"!footfallLoading && !footfallNoData\" class=\"mt-2 fs-6 font-semibold ms-2\">\r\n Select All (\r\n {{\r\n houseKeepingACCount > 0\r\n ? houseKeepingACCount\r\n : employeeACCount > 0\r\n ? employeeACCount\r\n : duplicateACCount > 0\r\n ? duplicateACCount\r\n : 0\r\n }}\r\n )\r\n </label>\r\n </div>\r\n <!-- -->\r\n \r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div *ngIf=\"selectedRevopsType?.value !== ''\" class=\"my-7 d-flex justify-content-end me-5\" role=\"group\">\r\n <button *ngIf=\"!footfallLoading && !footfallNoData\" [disabled]=\"checkedValue\" class=\"btn btn-outline me-1\" (click)=\"popupOpen('rejected',this.selectedRevopsType.value)\">Reject selection</button>\r\n <button *ngIf=\"!footfallLoading && !footfallNoData\" [disabled]=\"checkedValue\" class=\"btn btn-primary ms-1\" (click)=\"popupOpen('approved',this.selectedRevopsType.value)\">Approve selection</button>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n <section *ngIf=\"selectedRevopsType?.value === ''\">\r\n <div *ngIf=\"!footfallLoading && !footfallNoData\" class=\"card-body mt-3 py-0\">\r\n\r\n <span class=\"cursor-pointer\" *ngIf=\"isCollapsed\" (click)=\"toggleSidebar()\" style=\"position: absolute; top: 15px; left: 0;\">\r\n <svg class=\"mt-2 ms-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 24 24\"\r\n fill=\"none\">\r\n <path\r\n d=\"M9.72714 12.6365L13.3635 9.00013L9.72714 5.36377M4.63623 12.6365L8.27259 9.00013L4.63623 5.36377\"\r\n stroke=\"#101828\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <div class=\"col-md-12 text-center my-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"240\" height=\"86\" viewBox=\"0 0 240 86\" fill=\"none\">\r\n <rect width=\"240\" height=\"86\" fill=\"#FAFAFA\"/>\r\n <rect x=\"31\" width=\"178\" height=\"86\" fill=\"url(#pattern0_778_33543)\"/>\r\n <defs>\r\n <pattern id=\"pattern0_778_33543\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\r\n <use xlink:href=\"#image0_778_33543\" transform=\"matrix(0.000333333 0 0 0.000689922 0 -0.0822946)\"/>\r\n </pattern>\r\n <image id=\"image0_778_33543\" width=\"3000\" height=\"1688\" preserveAspectRatio=\"none\" xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAC7gAAAaYCAYAAAAXbpGPAAAgAElEQVR4AezQgQAAAACAoP2pFymECgMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDJZikLkAACAASURBVBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwjXnEogAAIABJREFUYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBiYvXvBtZAGAgCqi3MT7sJFuG4NUSIP74cW2s60x8QAl0KnZ6Y8IU0kQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBp7TinAAAgAElEQVQgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQO/m9l0AACAASURBVIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA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QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAptcw2AAAgAElEQVQgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECPx/duhAAAAAAADI/7UREhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgfUWlHgAACAASURBVAMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMH3CjNDQAAIABJREFUDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHtEPHAgAAAACD/K2nsaMQMmDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAGPnY0UAAAMe0lEQVQDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBt4DAfUfAYwpoEnzAAAAAElFTkSuQmCC\"/>\r\n </defs>\r\n </svg>\r\n </div>\r\n\r\n <ng-container *ngFor=\"let ticket of footfallTicketsData\">\r\n <div *ngIf=\"ticket?._source as source\" class=\"row mb-6\">\r\n <div class=\"col-2 card-title-label my-2\">Ticket Name</div>\r\n <div class=\"col-1 font-bold my-2\">:</div>\r\n <div class=\"col-9 card-title-value my-2\">{{ source.ticketName ? (source.ticketName | titlecase) : '-' }}</div>\r\n <div class=\"col-2 card-title-label my-2\">Ticket ID</div>\r\n <div class=\"col-1 font-bold my-2\">:</div>\r\n <div class=\"col-9 card-title-value my-2\">{{ source.ticketId ? source.ticketId:'-' }}</div>\r\n <div class=\"col-2 card-title-label my-2\">Store Name</div>\r\n <div class=\"col-1 font-bold my-2\">:</div>\r\n <div class=\"col-9 card-title-value my-2\">{{ source.storeName ? source.storeName:'-' }}</div>\r\n <div class=\"col-2 card-title-label my-2\">Status</div>\r\n <div class=\"col-1 font-bold my-2\">:</div>\r\n <div class=\"col-3 my-2\"><span \r\n class=\"badge\" \r\n [ngClass]=\"{\r\n 'badge-light-primary': source.status === 'open',\r\n 'badge-secondary': source.status === 'closed',\r\n 'badge-light-warning': source.status === 'pending',\r\n 'badge-light-danger': source.status === 'rejected'\r\n }\">\r\n {{ source.status ? (source.status | titlecase) : '-' }}\r\n</span></div>\r\n \r\n <div class=\"col-2 card-title-label my-2\">Date</div>\r\n <div class=\"col-1 font-bold my-2\">:</div>\r\n <div class=\"col-3 card-title-value my-2\">{{ source.dateString ? (source.dateString | date: 'dd MMM, yyyy') :'- ' }}</div>\r\n </div>\r\n \r\n <div *ngIf=\"ticket?._source as source\" class=\"border-totalfootfall\">\r\n <div class=\"card-header ellipse1 min-h-45px py-1 px-5\">\r\n <div class=\"my-0\">\r\n <h5 class=\"card-title\">{{ source?.footfallCount !== null ?\r\n source?.footfallCount : '--' }} <span class=\"sub-header ms-2\">Total Footfall</span></h5>\r\n \r\n </div>\r\n </div>\r\n <div class=\"card-body py-2 px-5\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-3 col-xl-3 col-md-3 my-3\">\r\n <h5 class=\"card-title\">{{ source?.duplicateCount !== null ?\r\n source?.duplicateCount : '--' }}</h5>\r\n <span class=\"card-title-sub-header\">Duplicates</span>\r\n </div>\r\n <div class=\"col-lg-3 col-xl-3 col-md-3 my-3\">\r\n <h5 class=\"card-title\">{{ source?.employeeCount !== null ?\r\n source?.employeeCount : '--' }}</h5>\r\n <span class=\"card-title-sub-header\">Employee/Staff</span>\r\n </div>\r\n \r\n <div class=\"col-lg-3 col-xl-3 col-md-3 my-3\">\r\n <h5 class=\"card-title\">{{ source?.houseKeepingCount !== null ?\r\n source?.houseKeepingCount : '--' }}</h5>\r\n <span class=\"card-title-sub-header\">House Keeping</span>\r\n </div>\r\n <div class=\"col-lg-3 col-xl-3 col-md-3 my-3\">\r\n <h5 class=\"card-title\"> {{ \r\n (source.footfallCount || 0) - \r\n ((source.houseKeepingCount || 0) + \r\n (source.employeeCount || 0) + \r\n (source.duplicateCount || 0)) \r\n }}</h5>\r\n <span class=\"card-title-sub-header\">Actual footfall</span>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n \r\n \r\n <div *ngIf=\"ticket?._source as source\" class=\"my-5\">\r\n <h3 *ngIf=\"source?.duplicateImages?.length\" class=\"text-lg font-semibold mb-4\"> <span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_730_76157)\">\r\n <path\r\n d=\"M3.75 11.25H3C2.60218 11.25 2.22064 11.092 1.93934 10.8107C1.65804 10.5294 1.5 10.1478 1.5 9.75V3C1.5 2.60218 1.65804 2.22064 1.93934 1.93934C2.22064 1.65804 2.60218 1.5 3 1.5H9.75C10.1478 1.5 10.5294 1.65804 10.8107 1.93934C11.092 2.22064 11.25 2.60218 11.25 3V3.75M8.25 6.75H15C15.8284 6.75 16.5 7.42157 16.5 8.25V15C16.5 15.8284 15.8284 16.5 15 16.5H8.25C7.42157 16.5 6.75 15.8284 6.75 15V8.25C6.75 7.42157 7.42157 6.75 8.25 6.75Z\"\r\n stroke=\"#475467\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_730_76157\">\r\n <rect width=\"18\" height=\"18\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>Duplicates</h3>\r\n \r\n \r\n <div *ngFor=\"let original of source.duplicateImages\" class=\"mb-4\">\r\n <div *ngIf=\"source?.duplicateImages?.length\" class=\"duplicate-head my-3\">Original image</div>\r\n <div class=\"row\">\r\n <div class=\"col-md-3 relative\">\r\n <div class=\"pb-3 img-border border border-1 h-100 rounded-3\">\r\n \r\n <img [src]=\"imageUrl + original.filePath\" alt=\"\" class=\"w-100 rounded border\" />\r\n <div class=\"desc-title ms-2 mt-2\">Temp ID: {{ original.tempId }}</div>\r\n <div class=\"desc-value ms-2\">Entry Time: {{ getFormattedEntryTime(original?.entryTime) }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"duplicate-head text-lg my-3\">Duplicates<span class=\"badge ms-2\" \r\n [ngClass]=\"{\r\n 'badge-light-primary': source?.duplicateStatus === 'pending',\r\n 'badge-light-success': source?.duplicateStatus === 'approved',\r\n 'badge-light-danger': source?.duplicateStatus === 'rejected'\r\n }\">{{source?.duplicateStatus | titlecase}}</span></div>\r\n <div class=\"row\">\r\n <div class=\"col-md-3 position-relative\" *ngFor=\"let img of original.data\">\r\n <div class=\"pb-3 img-border border border-1 h-100 rounded-3 position-relative\">\r\n <input *ngIf=\"source?.duplicateStatus ==='pending'\"\r\n type=\"checkbox\"\r\n [(ngModel)]=\"img.selected\"\r\n class=\"position-absolute absolute form-check-input\"\r\n(change)=\"onImageCheckboxChange(img, 'duplicate', original)\"\r\n />\r\n <img [src]=\"imageUrl + img.filePath\" alt=\"\" class=\"w-100 mb-2 rounded border\" />\r\n <div class=\"desc-title ms-2 mt-2\">Temp ID: {{ img.tempId }}</div>\r\n <div class=\"desc-value ms-2\">Entry Time: {{ getFormattedEntryTime(img?.entryTime) }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n \r\n <div *ngIf=\"source?.duplicateImages?.length\" class=\"my-7 d-flex justify-content-end\" role=\"group\">\r\n <button [disabled]=\"!duplicateACCount\" class=\"btn btn-outline me-1\" (click)=\"popupOpen('rejected','duplicate')\" >Reject</button>\r\n <button [disabled]=\"!duplicateACCount\" class=\"btn btn-primary ms-1\" (click)=\"popupOpen('approved','duplicate')\">Approve</button>\r\n </div>\r\n \r\n <div *ngIf=\"source?.employee?.length\" class=\"duplicate-head text-lg my-3\"><span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"16\" viewBox=\"0 0 18 16\" fill=\"none\">\r\n<path d=\"M12.75 14.75V13.25C12.75 12.4544 12.4339 11.6913 11.8713 11.1287C11.3087 10.5661 10.5456 10.25 9.75 10.25H3.75C2.95435 10.25 2.19129 10.5661 1.62868 11.1287C1.06607 11.6913 0.75 12.4544 0.75 13.25V14.75M17.25 14.75V13.25C17.2495 12.5853 17.0283 11.9396 16.621 11.4142C16.2138 10.8889 15.6436 10.5137 15 10.3475M12 1.3475C12.6453 1.51273 13.2173 1.88803 13.6257 2.41423C14.0342 2.94044 14.2559 3.58762 14.2559 4.25375C14.2559 4.91988 14.0342 5.56706 13.6257 6.09327C13.2173 6.61947 12.6453 6.99477 12 7.16M9.75 4.25C9.75 5.90685 8.40685 7.25 6.75 7.25C5.09315 7.25 3.75 5.90685 3.75 4.25C3.75 2.59315 5.09315 1.25 6.75 1.25C8.40685 1.25 9.75 2.59315 9.75 4.25Z\" stroke=\"#475467\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg></span>Employee/Staff <span class=\"badge ms-2\" \r\n [ngClass]=\"{\r\n 'badge-light-primary': source?.employeeStatus === 'pending',\r\n 'badge-light-success': source?.employeeStatus === 'approved',\r\n 'badge-light-danger': source?.employeeStatus === 'rejected'\r\n }\">{{source?.employeeStatus | titlecase}}</span></div>\r\n <div class=\"row\">\r\n <div class=\"col-md-3 position-relative\" *ngFor=\"let img of source.employee\">\r\n <div class=\"pb-3 img-border border border-1 h-100 rounded-3 position-relative\">\r\n \r\n <!-- Top-right Checkbox -->\r\n <input *ngIf=\"source?.employeeStatus ==='pending'\" type=\"checkbox\" [(ngModel)]=\"img.selected\"\r\n class=\"position-absolute absolute form-check-input\"\r\n (change)=\"onImageCheckboxChange(img, 'employee')\" />\r\n \r\n \r\n <!-- Image -->\r\n <img [src]=\"imageUrl + img.filePath\" alt=\"\" class=\"w-100 mb-2 rounded border\" />\r\n \r\n <!-- Details -->\r\n <div class=\"desc-title ms-2 mt-2\">Temp ID: {{img.tempId}}</div>\r\n <div class=\"desc-value ms-2\">Entry Time: {{getFormattedEntryTime(img?.entryTime)}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div *ngIf=\"source?.employee?.length\" class=\"my-7 d-flex justify-content-end\" role=\"group\">\r\n <button [disabled]=\"!employeeACCount\" class=\"btn btn-outline me-1\" (click)=\"popupOpen('rejected','employee')\" >Reject</button>\r\n <button [disabled]=\"!employeeACCount\" class=\"btn btn-primary ms-1\" (click)=\"popupOpen('approved','employee')\">Approve</button>\r\n </div>\r\n \r\n \r\n <div *ngIf=\"source?.houseKeeping?.length\" class=\"duplicate-head text-lg my-3\"><span class=\"me-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.51995 0.613065C8.33739 -0.204355 9.66267 -0.204355 10.4801 0.613065L17.387 7.51995C18.2043 8.33739 18.2043 9.66267 17.387 10.4801L10.4801 17.387C9.66267 18.2043 8.33739 18.2043 7.51995 17.387L5.54626 15.4133L3.73708 17.2224C2.91966 18.0399 1.59436 18.0399 0.776944 17.2224C-0.0404767 16.4051 -0.0404767 15.0797 0.776944 14.2624L2.58612 12.4531L0.613065 10.4801C-0.204355 9.66267 -0.204355 8.33739 0.613065 7.51995L7.51995 0.613065ZM9.49336 1.59978C9.22088 1.32731 8.77909 1.32731 8.50661 1.59978L3.57286 6.53357L11.4665 14.4272L16.4002 9.49336C16.6727 9.22088 16.6727 8.77909 16.4002 8.5067L12.9465 5.05286L11.7952 6.20403C11.5228 6.4765 11.0811 6.4765 10.8086 6.20403C10.5361 5.93155 10.5361 5.48978 10.8086 5.21731L11.9597 4.06614L10.9732 3.07964L8.17757 5.87533C7.90509 6.1478 7.46329 6.1478 7.19081 5.87533C6.91833 5.60286 6.91833 5.16109 7.19081 4.88862L9.9865 2.09293L9.49336 1.59978ZM10.4797 15.4139L2.58615 7.52028L1.59978 8.5067C1.3273 8.77909 1.3273 9.22088 1.59978 9.49336L8.50661 16.4002C8.77909 16.6727 9.22088 16.6727 9.49336 16.4002L10.4797 15.4139ZM3.57275 13.4399L1.76366 15.249C1.49119 15.5215 1.49119 15.9633 1.76366 16.2358C2.03613 16.5082 2.4779 16.5082 2.75037 16.2358L4.55946 14.4266L3.57275 13.4399Z\" fill=\"#475467\"/>\r\n</svg></span> House Keeping <span class=\"badge ms-2\" \r\n [ngClass]=\"{\r\n 'badge-light-primary': source?.houseKeepingStatus === 'pending',\r\n 'badge-light-success': source?.houseKeepingStatus === 'approved',\r\n 'badge-light-danger': source?.houseKeepingStatus === 'rejected'\r\n }\">{{source?.houseKeepingStatus | titlecase}}</span></div>\r\n <div class=\"row\">\r\n <div class=\"col-md-3 position-relative\" *ngFor=\"let img of source.houseKeeping\">\r\n <div class=\"pb-3 img-border border border-1 h-100 rounded-3 position-relative\">\r\n \r\n <!-- Top-right Checkbox -->\r\n <input *ngIf=\"source?.houseKeepingStatus ==='pending'\" type=\"checkbox\" [(ngModel)]=\"img.selected\" \r\n class=\"position-absolute absolute form-check-input\"\r\n (change)=\"onImageCheckboxChange(img, 'housekeeping')\" />\r\n \r\n \r\n <!-- Image -->\r\n <img [src]=\"imageUrl + img.filePath\" alt=\"\" class=\"w-100 mb-2 rounded border\" />\r\n \r\n <!-- Details -->\r\n <div class=\"desc-title ms-2 mt-2\">Temp ID: {{img.tempId}}</div>\r\n <div class=\"desc-value ms-2\">Entry Time: {{getFormattedEntryTime(img?.entryTime)}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div *ngIf=\"source?.houseKeeping?.length\" class=\"my-7 d-flex justify-content-end\" role=\"group\">\r\n <button [disabled]=\"!houseKeepingACCount\" class=\"btn btn-outline me-1\" (click)=\"popupOpen('rejected','housekeeping')\" >Reject</button>\r\n <button [disabled]=\"!houseKeepingACCount\" class=\"btn btn-primary ms-1\" (click)=\"popupOpen('approved','housekeeping')\">Approve</button>\r\n </div>\r\n </div>\r\n \r\n </ng-container>\r\n <div *ngIf=\"!footfallLoading && !footfallNoData\" class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"pageSizeFootfall\" [currentPage]=\"footfallcurrentPage\" [totalItems]=\"totalItemsFootfall\"\r\n [paginationSizes]=\"paginationSizes\" [pageSize]=\"setFootfallpageSize()\" (pageChange)=\"onFootfallPageChange($event)\"\r\n (pageSizeChange)=\"onFootfallPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n \r\n </div>\r\n \r\n </section>\r\n <div *ngIf=\"footfallLoading\" class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"footfallNoData\" class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n \r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column \" style=\"margin: 64px;border-radius: 8px;\r\nbackground: var(--Gray-50, #F9FAFB);\">\r\n <svg class=\"my-5\" xmlns=\"http://www.w3.org/2000/svg\" width=\"94\" height=\"94\" viewBox=\"0 0 94 94\" fill=\"none\">\r\n <rect x=\"7\" y=\"7\" width=\"80\" height=\"80\" rx=\"40\" fill=\"#DAF1FF\" />\r\n <rect x=\"7\" y=\"7\" width=\"80\" height=\"80\" rx=\"40\" stroke=\"#EAF8FF\" stroke-width=\"13.3333\" />\r\n <g clip-path=\"url(#clip0_730_75095)\">\r\n <path\r\n d=\"M55.3327 62V58.6667C55.3327 56.8986 54.6303 55.2029 53.3801 53.9526C52.1298 52.7024 50.4341 52 48.666 52H35.3327C33.5646 52 31.8689 52.7024 30.6186 53.9526C29.3684 55.2029 28.666 56.8986 28.666 58.6667V62M65.3327 62V58.6667C65.3316 57.1895 64.8399 55.7546 63.935 54.5872C63.03 53.4198 61.7629 52.5859 60.3327 52.2167M53.666 32.2167C55.1 32.5838 56.3711 33.4178 57.2787 34.5872C58.1864 35.7565 58.6791 37.1947 58.6791 38.675C58.6791 40.1553 58.1864 41.5935 57.2787 42.7628C56.3711 43.9322 55.1 44.7662 53.666 45.1333M48.666 38.6667C48.666 42.3486 45.6812 45.3333 41.9993 45.3333C38.3174 45.3333 35.3327 42.3486 35.3327 38.6667C35.3327 34.9848 38.3174 32 41.9993 32C45.6812 32 48.666 34.9848 48.666 38.6667Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_730_75095\">\r\n <rect width=\"40\" height=\"40\" fill=\"white\" transform=\"translate(27 27)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div class=\"nodata-title my-3\">No pending items</div>\r\n <div class=\"nodata-sub mb-3\">Looks like there is no action item required for <span\r\n *ngIf=\"selectedRevopsType?.value==='duplicateImages'\">duplicates</span><span\r\n *ngIf=\"selectedRevopsType?.value==='employee'\">employee/staff</span> <span\r\n *ngIf=\"selectedRevopsType?.value==='houseKeeping'\">houseKeeping</span>\r\n <span\r\n *ngIf=\"!selectedRevopsType?.value\">items</span></div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Card Body -->\r\n <div *ngIf=\"selectedRevopsType?.value !== ''\" class=\"card-body mt-3 py-0\">\r\n <span class=\"cursor-pointer\" *ngIf=\"isCollapsed\" (click)=\"toggleSidebar()\" style=\"position: absolute; top: 15px; left: 0;\">\r\n <svg class=\"mt-2 ms-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 24 24\"\r\n fill=\"none\">\r\n <path\r\n d=\"M9.72714 12.6365L13.3635 9.00013L9.72714 5.36377M4.63623 12.6365L8.27259 9.00013L4.63623 5.36377\"\r\n stroke=\"#101828\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <ng-container *ngFor=\"let ticket of footfallTicketsData\">\r\n <div *ngIf=\"ticket?._source as source\" class=\"my-4\">\r\n <div *ngFor=\"let original of source.duplicateImages\" class=\"mb-4\">\r\n <div *ngIf=\"source?.duplicateImages?.length\" class=\"duplicate-head my-2\">Original image</div>\r\n <div class=\"row\">\r\n <!-- \u2705 Original Image -->\r\n <div class=\"col-md-3 relative\">\r\n <div class=\"pb-3 img-border border border-1 h-100 rounded-3\">\r\n \r\n <img [src]=\"imageUrl + original.filePath\" alt=\"\" class=\"w-100 rounded border\" />\r\n <div class=\"desc-title ms-2 mt-2\">{{source.storeName}}</div>\r\n <div class=\"desc-value ms-2\">Footfall date : {{source.dateString | date:'dd/MM/yyyy'}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <!-- \uD83D\uDFE8 Duplicate Images (for this original) -->\r\n <div class=\"duplicate-head my-3\">Duplicates <span class=\"badge ms-2\" \r\n [ngClass]=\"{\r\n 'badge-light-primary': source?.duplicateStatus === 'pending',\r\n 'badge-light-success': source?.duplicateStatus === 'approved',\r\n 'badge-light-danger': source?.duplicateStatus === 'rejected'\r\n }\">{{source?.duplicateStatus | titlecase}}</span></div>\r\n <div class=\"row\">\r\n <div class=\"col-md-3 position-relative\" *ngFor=\"let img of original.data\">\r\n <div class=\"pb-3 img-border border border-1 h-100 rounded-3 position-relative\">\r\n <input *ngIf=\"source?.duplicateStatus ==='pending'\" type=\"checkbox\" [(ngModel)]=\"img.selected\"\r\n class=\"position-absolute absolute form-check-input\"\r\n (change)=\"onImageCheckboxChange1(img, 'duplicate')\" />\r\n <img [src]=\"imageUrl + img.filePath\" alt=\"\" class=\"w-100 mb-2 rounded border\" />\r\n <div class=\"desc-title ms-2 mt-2\">{{source.storeName}}</div>\r\n <div class=\"desc-value ms-2\">Footfall date : {{source.dateString | date:'dd/MM/yyyy'}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"source?.employee?.length\" class=\"row\">\r\n <div class=\"col-md-3 position-relative\" *ngFor=\"let img of source.employee\">\r\n <div class=\"pb-3 img-border border border-1 h-100 rounded-3 position-relative\">\r\n \r\n <!-- Top-right Checkbox -->\r\n <input *ngIf=\"source?.employeeStatus ==='pending'\" type=\"checkbox\" [(ngModel)]=\"img.selected\"\r\n class=\"position-absolute absolute form-check-input\"\r\n (change)=\"onImageCheckboxChange1(img, 'employee')\" />\r\n \r\n \r\n <!-- Image -->\r\n <img [src]=\"imageUrl + img.filePath\" alt=\"\" class=\"w-100 mb-2 rounded border\" />\r\n \r\n <!-- Details -->\r\n <div class=\"desc-title ms-2 mt-2\">{{source.storeName}}</div>\r\n <div class=\"desc-value ms-2\">Footfall date : {{source.dateString | date:'dd/MM/yyyy'}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"source?.houseKeeping?.length\" class=\"row\">\r\n <div class=\"col-md-3 position-relative\" *ngFor=\"let img of source.houseKeeping\">\r\n <div class=\"pb-3 img-border border border-1 h-100 rounded-3 position-relative\">\r\n \r\n <!-- Top-right Checkbox -->\r\n <input *ngIf=\"source?.houseKeepingStatus ==='pending'\" type=\"checkbox\" [(ngModel)]=\"img.selected\"\r\n class=\"position-absolute absolute form-check-input\"\r\n (change)=\"onImageCheckboxChange1(img, 'housekeeping')\" />\r\n \r\n \r\n <!-- Image -->\r\n <img [src]=\"imageUrl + img.filePath\" alt=\"\" class=\"w-100 mb-2 rounded border\" />\r\n \r\n <!-- Details -->\r\n <div class=\"desc-title ms-2 mt-2\">{{source.storeName}}</div>\r\n <div class=\"desc-value ms-2\">Footfall date : {{source.dateString | date:'dd/MM/yyyy'}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- <div *ngIf=\"!footfallLoading && !footfallNoData\" class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"pageSizeFootfall\" [currentPage]=\"footfallcurrentPage\"\r\n [totalItems]=\"totalItemsFootfall\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"setFootfallpageSize()\"\r\n (pageChange)=\"onFootfallPageChange($event)\"\r\n (pageSizeChange)=\"onFootfallPageSizeChange($event)\"></lib-pagination>\r\n </div> -->\r\n </div>\r\n </div>\r\n \r\n </div>\r\n</div>\r\n\r\n<ng-template #zoomPopup let-model>\r\n <div class=\"p-4 m-4\">\r\n <div class=\"modal-header border-0 p-0 w-100 flex-column align-items-start\">\r\n \r\n <!-- Heading -->\r\n <h5 class=\"modal-title mb-2\">\r\n {{ popupType === 'approved' ? 'Approve' : 'Reject' }} Selected Images\r\n </h5>\r\n\r\n <!-- Description -->\r\n <p class=\"mb-3\">\r\n You're about to {{ popupType === 'approved' ? 'approve' : 'reject' }} the following number of selected images.\r\n </p>\r\n\r\n <!-- Count Box -->\r\n <div class=\"border border-1 rounded p-3 w-50 mb-4\">\r\n <div *ngIf=\"popupvalue === 'employee'\" class=\"fw-semibold fs-5 mb-2\">\r\n {{ employeeACCount || '--' }}\r\n </div>\r\n <div *ngIf=\"popupvalue === 'housekeeping'\" class=\"fw-semibold fs-5 mb-2\">\r\n {{ houseKeepingACCount || '--' }}\r\n </div>\r\n <div *ngIf=\"popupvalue === 'duplicate'\" class=\"fw-semibold fs-5 mb-2\">\r\n {{ duplicateACCount || '--' }}\r\n </div>\r\n <div class=\"fw-semibold text-muted fs-6 mt-2\">\r\n {{ popupvalue | titlecase }}s\r\n </div>\r\n </div>\r\n\r\n <!-- Action Buttons -->\r\n <div class=\"w-100 d-flex justify-content-end\">\r\n <button class=\"btn btn-outline me-2\" (click)=\"cancel()\">Cancel</button>\r\n <button class=\"btn btn-primary\" (click)=\"submitValue(popupType, popupvalue)\">\r\n {{ popupType === 'approved' ? 'Approve' : 'Reject' }}\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n", styles: [".card-header,.header{color:var(--Gray-900, #101828);font-size:20px!important;font-style:normal;font-weight:700;line-height:30px}.sub-header{color:var(--Gray-700, #344054);font-size:14px!important;font-style:normal;font-weight:600;line-height:20px}.ellipse1{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}.card-title-foot{color:var(--Gray-800, #1D2939)!important;font-size:18px;font-weight:600;line-height:28px}.card-title-label{color:var(--Gray-800, #1D2939)!important;font-size:16px;font-weight:600;line-height:28px}.card-title-value{color:var(--Gray-800, #1D2939)!important;font-size:16px;font-weight:400;line-height:28px}input[type=checkbox]{width:16px!important;height:16px!important;margin:7px 5px -2px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-600, #D0D5DD)!important;box-shadow:none;font-size:.5em;text-align:center;line-height:1em;background:#fff}input[type=checkbox]{outline:1px solid var(--primary-600, #00A3FF)!important;background-color:var(--primary-50, #EAF8FF)}input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:3px;padding-top:10px;padding-right:0}.rotate{rotate:180deg;transition:1s}.border-selectall{border-radius:6px!important;border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:var(--White, #FFF)!important;padding:8px 2px}.border-selectall1{border-radius:6px!important;background:var(--White, #FFF)!important;padding:8px 2px}.border-totalfootfall{border-radius:12px;padding:4px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF)}.vl{border-left:2px solid #000;height:50px}.duplicate-head{color:var(--Gray-700, #344054);font-size:16px;font-weight:600;line-height:20px}.img-border{border-radius:5px!important;border:2px solid var(--Gray-300, #D0D5DD)}.desc-title{color:var(--Gray-900, #101828);font-size:12px;font-weight:500;line-height:20px}.desc-value{color:var(--Gray-900, #475467);font-size:10px;font-weight:500;line-height:20px}.img-border{overflow:hidden;position:relative}.btn-resize{font-size:13px!important;height:29px!important;line-height:11px!important;padding:1px!important}.absolute{top:5px;right:5px;z-index:2}.img-src{width:25%;height:20%}.backButtonright{border-radius:1000px!important;background:var(--text-primary, #FFF)!important;padding:12px!important;box-shadow:0 12px 16px -4px #10182814,0 4px 6px -2px #10182808!important;box-shadow:0 8.727px 11.636px -2.909px #10182814,0 2.909px 4.364px -1.455px #10182808!important;position:absolute;top:30px;right:-10px;z-index:0}.backButtonleft{border-radius:1000px!important;background:#fff;padding:14px!important;border:var(--Gray-300, #D0D5DD);box-shadow:0 8.727px 11.636px -2.909px #10182814,0 2.909px 4.364px -1.455px #10182808;position:absolute;top:30px;left:-20px;z-index:5}.select-wrapper{position:relative;display:inline-block;width:100%}.placeholder-overlay{position:absolute;color:var(--Gray-500, #667085);font-family:Inter;font-size:16px!important;font-style:normal;font-weight:400;top:10px;left:15px;pointer-events:none;font-size:1.1rem;z-index:1}.card-title{color:var(--Black, #101828)!important;font-size:20px!important;font-weight:700!important;line-height:30px}.card-title-sub-header{color:var(--Black, #101828);font-size:14px;font-weight:500;line-height:30px}\n"] }]
|
|
2718
|
-
}], ctorParameters: () => [{ type: i1$1.GlobalStateService }, { type: TicketService }, { type: i0.ChangeDetectorRef }, { type: i4.ToastService }, { type: i1$2.NgbModal }, { type: ExcelService }, { type: i6.FormBuilder }], propDecorators: { zoomPopup: [{
|
|
2719
|
-
type: ViewChild,
|
|
2720
|
-
args: ['zoomPopup']
|
|
2721
|
-
}] } });
|
|
2722
|
-
|
|
2723
|
-
class TangoManageTicketsComponent {
|
|
2724
|
-
pageInfo;
|
|
2725
|
-
route;
|
|
2726
|
-
router;
|
|
2727
|
-
gs;
|
|
2728
|
-
service;
|
|
2729
|
-
SelectedTab = 'installation';
|
|
2730
|
-
destroy$ = new Subject();
|
|
2731
|
-
headerFilters;
|
|
2732
|
-
ticketAllCount;
|
|
2733
|
-
users;
|
|
2734
|
-
constructor(pageInfo, route, router, gs, service) {
|
|
2735
|
-
this.pageInfo = pageInfo;
|
|
2736
|
-
this.route = route;
|
|
2737
|
-
this.router = router;
|
|
2738
|
-
this.gs = gs;
|
|
2739
|
-
this.service = service;
|
|
2740
|
-
}
|
|
2741
|
-
ngOnInit() {
|
|
2742
|
-
const userData = JSON.parse(localStorage.getItem("user-info") || "{}");
|
|
2743
|
-
this.users = userData;
|
|
2744
|
-
this.route?.queryParams?.pipe(takeUntil(this.destroy$)).subscribe(params => {
|
|
2745
|
-
if (params.hasOwnProperty('type')) {
|
|
2746
|
-
const type = params['type'];
|
|
2747
|
-
this.Selectedtabs(type);
|
|
2748
|
-
}
|
|
2749
|
-
else {
|
|
2750
|
-
this.updateStoreIdQueryParam();
|
|
2751
|
-
}
|
|
2752
|
-
});
|
|
2753
|
-
this.onLoad();
|
|
2754
|
-
this.setPageData();
|
|
2755
|
-
}
|
|
2756
|
-
updateStoreIdQueryParam() {
|
|
2757
|
-
const queryParams = { ...this.route?.snapshot?.queryParams };
|
|
2758
|
-
// Update storeId in queryParams
|
|
2759
|
-
queryParams.type = this.SelectedTab.toLocaleLowerCase();
|
|
2760
|
-
// Navigate to the same route with updated queryParams
|
|
2761
|
-
this.router.navigate([], { queryParams: queryParams, queryParamsHandling: 'merge' });
|
|
2762
|
-
}
|
|
2763
|
-
setPageData() {
|
|
2764
|
-
this.pageInfo.setTitle('Tickets');
|
|
2765
|
-
this.pageInfo.setDescription('Summary of queries raised,addresed & resolved');
|
|
2766
|
-
let breadcrumbs = [];
|
|
2767
|
-
if (this.gs.userAccess.value?.userType === "tango") {
|
|
2768
|
-
breadcrumbs = [
|
|
2769
|
-
{
|
|
2770
|
-
title: "Manage",
|
|
2771
|
-
path: "/manage/brands",
|
|
2772
|
-
isActive: false,
|
|
2773
|
-
isSeparator: false,
|
|
2774
|
-
},
|
|
2775
|
-
{
|
|
2776
|
-
title: "Manage",
|
|
2777
|
-
path: "/manage/brands",
|
|
2778
|
-
isActive: false,
|
|
2779
|
-
isSeparator: true,
|
|
2780
|
-
},
|
|
2781
|
-
];
|
|
2782
|
-
}
|
|
2783
|
-
else if (this.gs.userAccess.value?.userType === "client") {
|
|
2784
|
-
breadcrumbs = [
|
|
2785
|
-
{
|
|
2786
|
-
title: "Manage",
|
|
2787
|
-
path: "/manage/summary",
|
|
2788
|
-
isActive: false,
|
|
2789
|
-
isSeparator: false,
|
|
2790
|
-
},
|
|
2791
|
-
{
|
|
2792
|
-
title: "Manage",
|
|
2793
|
-
path: "/manage/summary",
|
|
2794
|
-
isActive: false,
|
|
2795
|
-
isSeparator: true,
|
|
2796
|
-
},
|
|
2797
|
-
];
|
|
2798
|
-
}
|
|
2799
|
-
this.pageInfo.setBreadcrumbs(breadcrumbs);
|
|
2800
|
-
}
|
|
2801
|
-
Selectedtabs(value) {
|
|
2802
|
-
this.SelectedTab = value;
|
|
2803
|
-
}
|
|
2804
|
-
ngOnDestroy() {
|
|
2805
|
-
this.destroy$.next(true);
|
|
2806
|
-
this.destroy$.complete();
|
|
2807
|
-
}
|
|
2808
|
-
onLoad() {
|
|
2809
|
-
this.gs.dataRangeValue?.pipe(takeUntil(this.destroy$))?.subscribe({
|
|
2810
|
-
next: (data) => {
|
|
2811
|
-
if (data) {
|
|
2812
|
-
this.headerFilters = data;
|
|
2813
|
-
this.getAllCount();
|
|
2814
|
-
}
|
|
2815
|
-
}
|
|
2816
|
-
});
|
|
2817
|
-
}
|
|
2818
|
-
getAllCount() {
|
|
2819
|
-
let obj = {
|
|
2820
|
-
clientId: this.headerFilters?.clients,
|
|
2821
|
-
fromDate: this.headerFilters?.date?.startDate,
|
|
2822
|
-
toDate: this.headerFilters?.date?.endDate
|
|
2823
|
-
};
|
|
2824
|
-
this.service.getAllCounts(obj)?.pipe(takeUntil(this.destroy$))?.subscribe({
|
|
2825
|
-
next: (res) => {
|
|
2826
|
-
if (res.code === 200) {
|
|
2827
|
-
this.ticketAllCount = res?.data[0];
|
|
2828
|
-
}
|
|
2829
|
-
}
|
|
2830
|
-
});
|
|
2831
|
-
}
|
|
2832
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoManageTicketsComponent, deps: [{ token: i1$1.PageInfoService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i1$1.GlobalStateService }, { token: TicketService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2833
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TangoManageTicketsComponent, selector: "lib-tango-manage-tickets", ngImport: i0, template: "<div class=\"card mb-5 py-3 px-5\">\r\n <ul class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item\">\r\n <a [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'installation' }\" (click)=\"Selectedtabs('installation')\"\r\n [ngClass]=\"SelectedTab === 'installation' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-3\">\r\n Installation<span class=\"mx-2 \" [ngClass]=\"SelectedTab ==='installation' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.installationCount?ticketAllCount?.installationCount:0}}</span>\r\n </a>\r\n </li>\r\n <li class=\"nav-item\" >\r\n <a [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'infra' }\" (click)=\"Selectedtabs('infra')\"\r\n [ngClass]=\"SelectedTab === 'infra' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-3\">\r\n Infra<span class=\"mx-2\" [ngClass]=\"SelectedTab ==='infra' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.infraCount?ticketAllCount?.infraCount:0}}</span>\r\n </a>\r\n </li> \r\n <li class=\"nav-item\" [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'dataMismatch' }\" (click)=\"Selectedtabs('dataMismatch')\">\r\n <a [ngClass]=\"SelectedTab ==='dataMismatch' ? 'active' :''\" class=\"nav-link cursor-pointer me-3\">Data Mismatch\r\n <span class=\"mx-2\" [ngClass]=\"SelectedTab ==='dataMismatch' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.datamismatchCount? ticketAllCount?.datamismatchCount:0}}</span></a>\r\n </li>\r\n <!-- <li *ngIf=\"this.users.userType ==='tango'\" class=\"nav-item\" [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'audit' }\" (click)=\"Selectedtabs('audit')\"><a [ngClass]=\"SelectedTab ==='audit' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Audit</a>\r\n </li> -->\r\n <li *ngIf=\"this.users.userType ==='tango'\" class=\"nav-item\" (click)=\"Selectedtabs('mat')\"><a [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'mat' }\" [ngClass]=\"SelectedTab ==='mat' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Employee Mat\r\n <span class=\"mx-2 \" [ngClass]=\"SelectedTab ==='mat' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.matCount ?ticketAllCount?.matCount:0}}</span></a>\r\n </li>\r\n<li *ngIf=\"(gs.userAccess | async)?.userType === 'tango' || headerFilters?.client ==='11'\" class=\"nav-item\" (click)=\"Selectedtabs('footfall')\"><a [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'footfall' }\" [ngClass]=\"SelectedTab ==='footfall' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Footfall Directory\r\n </a>\r\n <!-- <span class=\"mx-2 \" [ngClass]=\"SelectedTab ==='footfall' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.matCount ?ticketAllCount?.matCount:0}}</span> -->\r\n </li>\r\n \r\n </ul>\r\n</div>\r\n<lib-footfall-dic *ngIf=\"SelectedTab ==='footfall'\"></lib-footfall-dic>\r\n<lib-tickets *ngIf=\"SelectedTab !=='audit' && SelectedTab !=='footfall'\"></lib-tickets>\r\n<lib-audit-metrics *ngIf=\"SelectedTab ==='audit'\"></lib-audit-metrics>\r\n<router-outlet></router-outlet>", styles: [".nav-item .nav-link.active{border:none;border-radius:6px;background:var(--Primary-50, #EAF8FF);padding:8px 12px}.nav-item .nav-link:hover{border:none}.badge-num-primary{border-radius:16px!important;background:var(--Primary-50, #EAF8FF)!important;color:var(--Primary-700, #009BF3)!important;text-align:center;font-size:14px!important;font-style:normal;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}.badge-num-muted{border-radius:16px!important;background:var(--Primary-50, #F2F4F7)!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}\n"], dependencies: [{ kind: "directive", type: i6$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: TicketsComponent, selector: "lib-tickets" }, { kind: "component", type: AuditMetricsComponent, selector: "lib-audit-metrics" }, { kind: "component", type: FootfallDicComponent, selector: "lib-footfall-dic" }, { kind: "pipe", type: i6$1.AsyncPipe, name: "async" }] });
|
|
2834
|
-
}
|
|
2835
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoManageTicketsComponent, decorators: [{
|
|
2836
|
-
type: Component,
|
|
2837
|
-
args: [{ selector: 'lib-tango-manage-tickets', template: "<div class=\"card mb-5 py-3 px-5\">\r\n <ul class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item\">\r\n <a [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'installation' }\" (click)=\"Selectedtabs('installation')\"\r\n [ngClass]=\"SelectedTab === 'installation' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-3\">\r\n Installation<span class=\"mx-2 \" [ngClass]=\"SelectedTab ==='installation' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.installationCount?ticketAllCount?.installationCount:0}}</span>\r\n </a>\r\n </li>\r\n <li class=\"nav-item\" >\r\n <a [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'infra' }\" (click)=\"Selectedtabs('infra')\"\r\n [ngClass]=\"SelectedTab === 'infra' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-3\">\r\n Infra<span class=\"mx-2\" [ngClass]=\"SelectedTab ==='infra' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.infraCount?ticketAllCount?.infraCount:0}}</span>\r\n </a>\r\n </li> \r\n <li class=\"nav-item\" [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'dataMismatch' }\" (click)=\"Selectedtabs('dataMismatch')\">\r\n <a [ngClass]=\"SelectedTab ==='dataMismatch' ? 'active' :''\" class=\"nav-link cursor-pointer me-3\">Data Mismatch\r\n <span class=\"mx-2\" [ngClass]=\"SelectedTab ==='dataMismatch' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.datamismatchCount? ticketAllCount?.datamismatchCount:0}}</span></a>\r\n </li>\r\n <!-- <li *ngIf=\"this.users.userType ==='tango'\" class=\"nav-item\" [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'audit' }\" (click)=\"Selectedtabs('audit')\"><a [ngClass]=\"SelectedTab ==='audit' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Audit</a>\r\n </li> -->\r\n <li *ngIf=\"this.users.userType ==='tango'\" class=\"nav-item\" (click)=\"Selectedtabs('mat')\"><a [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'mat' }\" [ngClass]=\"SelectedTab ==='mat' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Employee Mat\r\n <span class=\"mx-2 \" [ngClass]=\"SelectedTab ==='mat' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.matCount ?ticketAllCount?.matCount:0}}</span></a>\r\n </li>\r\n<li *ngIf=\"(gs.userAccess | async)?.userType === 'tango' || headerFilters?.client ==='11'\" class=\"nav-item\" (click)=\"Selectedtabs('footfall')\"><a [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'footfall' }\" [ngClass]=\"SelectedTab ==='footfall' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Footfall Directory\r\n </a>\r\n <!-- <span class=\"mx-2 \" [ngClass]=\"SelectedTab ==='footfall' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.matCount ?ticketAllCount?.matCount:0}}</span> -->\r\n </li>\r\n \r\n </ul>\r\n</div>\r\n<lib-footfall-dic *ngIf=\"SelectedTab ==='footfall'\"></lib-footfall-dic>\r\n<lib-tickets *ngIf=\"SelectedTab !=='audit' && SelectedTab !=='footfall'\"></lib-tickets>\r\n<lib-audit-metrics *ngIf=\"SelectedTab ==='audit'\"></lib-audit-metrics>\r\n<router-outlet></router-outlet>", styles: [".nav-item .nav-link.active{border:none;border-radius:6px;background:var(--Primary-50, #EAF8FF);padding:8px 12px}.nav-item .nav-link:hover{border:none}.badge-num-primary{border-radius:16px!important;background:var(--Primary-50, #EAF8FF)!important;color:var(--Primary-700, #009BF3)!important;text-align:center;font-size:14px!important;font-style:normal;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}.badge-num-muted{border-radius:16px!important;background:var(--Primary-50, #F2F4F7)!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}\n"] }]
|
|
2838
|
-
}], ctorParameters: () => [{ type: i1$1.PageInfoService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i1$1.GlobalStateService }, { type: TicketService }] });
|
|
2839
|
-
|
|
2840
|
-
const routes = [
|
|
2841
|
-
{
|
|
2842
|
-
path: '',
|
|
2843
|
-
component: TangoManageTicketsComponent
|
|
2844
|
-
}
|
|
2845
|
-
];
|
|
2846
|
-
class TangoManageTicketsRoutingModule {
|
|
2847
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoManageTicketsRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2848
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TangoManageTicketsRoutingModule, imports: [i2.RouterModule], exports: [RouterModule] });
|
|
2849
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoManageTicketsRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
|
|
2850
|
-
}
|
|
2851
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoManageTicketsRoutingModule, decorators: [{
|
|
2852
|
-
type: NgModule,
|
|
2853
|
-
args: [{
|
|
2854
|
-
imports: [RouterModule.forChild(routes)],
|
|
2855
|
-
exports: [RouterModule]
|
|
2856
|
-
}]
|
|
2857
|
-
}] });
|
|
2858
|
-
|
|
2859
|
-
class AuditLogComponent {
|
|
2860
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuditLogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2861
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AuditLogComponent, selector: "lib-audit-log", ngImport: i0, template: "<p>audit-log works!</p>\r\n", styles: [""] });
|
|
2862
|
-
}
|
|
2863
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuditLogComponent, decorators: [{
|
|
2864
|
-
type: Component,
|
|
2865
|
-
args: [{ selector: 'lib-audit-log', template: "<p>audit-log works!</p>\r\n" }]
|
|
2866
|
-
}] });
|
|
2867
|
-
|
|
2868
|
-
class TangoManageTicketsModule {
|
|
2869
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoManageTicketsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2870
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TangoManageTicketsModule, declarations: [TangoManageTicketsComponent,
|
|
2871
|
-
TicketsComponent, AddCsmModalComponent, CommentModelComponent, AuditMetricsComponent,
|
|
2872
|
-
ReTriggerComponent, AuditLogComponent, CountComponent, FootfallDicComponent,
|
|
2873
|
-
ReactiveSelectComponent,
|
|
2874
|
-
GroupSelectComponent], imports: [CommonModule,
|
|
2875
|
-
TangoManageTicketsRoutingModule,
|
|
2876
|
-
FormsModule,
|
|
2877
|
-
ReactiveFormsModule,
|
|
2878
|
-
CommonSharedModule] });
|
|
2879
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoManageTicketsModule, imports: [CommonModule,
|
|
2880
|
-
TangoManageTicketsRoutingModule,
|
|
2881
|
-
FormsModule,
|
|
2882
|
-
ReactiveFormsModule,
|
|
2883
|
-
CommonSharedModule] });
|
|
2884
|
-
}
|
|
2885
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoManageTicketsModule, decorators: [{
|
|
2886
|
-
type: NgModule,
|
|
2887
|
-
args: [{
|
|
2888
|
-
declarations: [
|
|
2889
|
-
TangoManageTicketsComponent,
|
|
2890
|
-
TicketsComponent, AddCsmModalComponent, CommentModelComponent, AuditMetricsComponent,
|
|
2891
|
-
ReTriggerComponent, AuditLogComponent, CountComponent, FootfallDicComponent,
|
|
2892
|
-
ReactiveSelectComponent,
|
|
2893
|
-
GroupSelectComponent,
|
|
2894
|
-
],
|
|
2895
|
-
imports: [
|
|
2896
|
-
CommonModule,
|
|
2897
|
-
TangoManageTicketsRoutingModule,
|
|
2898
|
-
FormsModule,
|
|
2899
|
-
ReactiveFormsModule,
|
|
2900
|
-
CommonSharedModule
|
|
2901
|
-
]
|
|
2902
|
-
}]
|
|
2903
|
-
}] });
|
|
2904
|
-
|
|
2905
|
-
/*
|
|
2906
|
-
* Public API Surface of tango-manage-tickets
|
|
2907
|
-
*/
|
|
2908
|
-
|
|
2909
|
-
/**
|
|
2910
|
-
* Generated bundle index. Do not edit.
|
|
2911
|
-
*/
|
|
2912
|
-
|
|
2913
|
-
export { TangoManageTicketsComponent, TangoManageTicketsModule };
|
|
2914
|
-
//# sourceMappingURL=tango-app-ui-manage-tickets.mjs.map
|