tango-app-ui-analyse-zone 3.3.1-beta.9 → 3.7.1-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/customer-journey-chart/customer-journey-chart.component.mjs +425 -0
- package/esm2022/lib/components/interation-table-client430/interation-table-client430.component.mjs +205 -0
- package/esm2022/lib/components/interation-table-client459/interation-table-client459.component.mjs +87 -0
- package/esm2022/lib/components/overallcards/overallcards.component.mjs +192 -12
- package/esm2022/lib/components/passerby-table/passerby-table.component.mjs +118 -0
- package/esm2022/lib/components/segmentation/segmentation.component.mjs +484 -0
- package/esm2022/lib/components/services/zone.service.mjs +83 -7
- package/esm2022/lib/components/services/zonev2.service.mjs +13 -5
- package/esm2022/lib/components/tango-analyse-zone/tango-analyse-zone.component.mjs +62 -16
- package/esm2022/lib/components/top-performing-zones/top-performing-zones.component.mjs +7 -8
- package/esm2022/lib/components/zone-concentration/concentrationheatmap/concentrationheatmap.component.mjs +34 -5
- package/esm2022/lib/components/zone-concentration/zone-concentration.component.mjs +135 -44
- package/esm2022/lib/components/zone-summary-table/zone-summary-table.component.mjs +60 -12
- package/esm2022/lib/components/zone-v2/customer-journey/customer-journey.component.mjs +32 -87
- package/esm2022/lib/components/zone-v2/image-directory/image-directory.component.mjs +4 -4
- package/esm2022/lib/components/zone-v2/image-directory-view/image-directory-view.component.mjs +4 -4
- package/esm2022/lib/components/zone-v2/reactive-select/reactive-select.component.mjs +4 -4
- package/esm2022/lib/components/zone-v2/store-heatmap/store-heatmap.component.mjs +67 -48
- package/esm2022/lib/components/zone-v2/store-heatmap/store-zoom-heatmap/store-zoom-heatmap.component.mjs +4 -9
- package/esm2022/lib/components/zone-v2/summary-table/summary-table.component.mjs +70 -15
- package/esm2022/lib/components/zone-v2/top-performing/top-performing.component.mjs +22 -14
- package/esm2022/lib/components/zone-v2/zone-v2.component.mjs +46 -16
- package/esm2022/lib/components/zone-v2/zones-cards/zones-cards.component.mjs +7 -5
- package/esm2022/lib/tango-analyse-zone-routing.module.mjs +5 -5
- package/esm2022/lib/tango-analyse-zone.module.mjs +21 -6
- package/fesm2022/tango-app-ui-analyse-zone.mjs +2289 -482
- package/fesm2022/tango-app-ui-analyse-zone.mjs.map +1 -1
- package/lib/components/customer-journey-chart/customer-journey-chart.component.d.ts +70 -0
- package/lib/components/interation-table-client430/interation-table-client430.component.d.ts +28 -0
- package/lib/components/interation-table-client459/interation-table-client459.component.d.ts +24 -0
- package/lib/components/overallcards/overallcards.component.d.ts +24 -3
- package/lib/components/passerby-table/passerby-table.component.d.ts +32 -0
- package/lib/components/segmentation/segmentation.component.d.ts +59 -0
- package/lib/components/services/zone.service.d.ts +30 -3
- package/lib/components/services/zonev2.service.d.ts +4 -0
- package/lib/components/tango-analyse-zone/tango-analyse-zone.component.d.ts +13 -2
- package/lib/components/top-performing-zones/top-performing-zones.component.d.ts +3 -3
- package/lib/components/zone-concentration/concentrationheatmap/concentrationheatmap.component.d.ts +5 -0
- package/lib/components/zone-concentration/zone-concentration.component.d.ts +7 -3
- package/lib/components/zone-summary-table/zone-summary-table.component.d.ts +2 -1
- package/lib/components/zone-v2/customer-journey/customer-journey.component.d.ts +2 -1
- package/lib/components/zone-v2/summary-table/summary-table.component.d.ts +2 -1
- package/lib/components/zone-v2/zone-v2.component.d.ts +9 -1
- package/lib/components/zone-v2/zones-cards/zones-cards.component.d.ts +1 -0
- package/lib/tango-analyse-zone.module.d.ts +11 -6
- package/package.json +1 -1
|
@@ -11,14 +11,17 @@ export class ZoneService {
|
|
|
11
11
|
http;
|
|
12
12
|
gs;
|
|
13
13
|
zoneAnalysisV1Url;
|
|
14
|
+
trafficApiUrl;
|
|
14
15
|
reloadDataSubject = new BehaviorSubject(false);
|
|
15
16
|
reloadData$ = this.reloadDataSubject.asObservable();
|
|
17
|
+
zoneSegmentation = new BehaviorSubject(null);
|
|
16
18
|
constructor(http, gs) {
|
|
17
19
|
this.http = http;
|
|
18
20
|
this.gs = gs;
|
|
19
21
|
this.gs.environment.pipe(takeUntil(this.destroy$)).subscribe((env) => {
|
|
20
22
|
if (env) {
|
|
21
23
|
this.zoneAnalysisV1Url = env.zoneAnalysisV1Url;
|
|
24
|
+
this.trafficApiUrl = env.trafficApiUrl;
|
|
22
25
|
}
|
|
23
26
|
});
|
|
24
27
|
}
|
|
@@ -51,9 +54,9 @@ export class ZoneService {
|
|
|
51
54
|
zoneConcentrationTableData(data) {
|
|
52
55
|
return this.http.post(`${this.zoneAnalysisV1Url}/zoneConcentrationSummaryTable_v1`, data);
|
|
53
56
|
}
|
|
54
|
-
zoneConcentrationTableDataExport(data)
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
+
// zoneConcentrationTableDataExport( data:any):Observable<any>{
|
|
58
|
+
// return this.http.post(`${this.zoneAnalysisV1Url}/zoneConcentrationSummaryTable_v1`, data, {responseType: 'arraybuffer'})
|
|
59
|
+
// }
|
|
57
60
|
getOverallStoreConcentrationData(data) {
|
|
58
61
|
return this.http.post(`${this.zoneAnalysisV1Url}/zoneHeatmapDatas_v1`, data);
|
|
59
62
|
}
|
|
@@ -78,16 +81,89 @@ export class ZoneService {
|
|
|
78
81
|
getSummaryTableExport(data) {
|
|
79
82
|
return this.http.post(`${this.zoneAnalysisV1Url}/zoneSummaryTable_v1`, data, { responseType: 'arraybuffer' });
|
|
80
83
|
}
|
|
84
|
+
getSegmentationData(data) {
|
|
85
|
+
return this.http.post(`${this.zoneAnalysisV1Url}/zoneSegmentation_v1`, data);
|
|
86
|
+
}
|
|
87
|
+
getSegmentationDataExport(data) {
|
|
88
|
+
return this.http.post(`${this.zoneAnalysisV1Url}/zoneSegmentation_v1Export`, data, { responseType: 'arraybuffer' });
|
|
89
|
+
}
|
|
90
|
+
getInterationTable430Data(data) {
|
|
91
|
+
return this.http.post(`${this.zoneAnalysisV1Url}/zoneInteractionTable_430`, data);
|
|
92
|
+
}
|
|
93
|
+
getInterationTable430DataExport(data) {
|
|
94
|
+
return this.http.post(`${this.zoneAnalysisV1Url}/zoneInteractionTable_430Export`, data, { responseType: 'arraybuffer' });
|
|
95
|
+
}
|
|
96
|
+
getInterationTable459Data(data) {
|
|
97
|
+
return this.http.post(`${this.zoneAnalysisV1Url}/zoneInteractionTable_459`, data);
|
|
98
|
+
}
|
|
99
|
+
getInterationTable459DataExport(data) {
|
|
100
|
+
return this.http.post(`${this.zoneAnalysisV1Url}/zoneInteractionTable_459`, data, { responseType: 'arraybuffer' });
|
|
101
|
+
}
|
|
102
|
+
zoneInteractionTableExport_430(data) {
|
|
103
|
+
return this.http.post(`${this.zoneAnalysisV1Url}/zoneInteractionTableExport_430`, data, { responseType: 'arraybuffer' });
|
|
104
|
+
}
|
|
105
|
+
zoneConcentrationTableDataExport(data) {
|
|
106
|
+
return this.http.post(`${this.zoneAnalysisV1Url}/zoneConcentrationTableExport`, data, { responseType: 'arraybuffer' });
|
|
107
|
+
}
|
|
108
|
+
zonesegmentationTable(data) {
|
|
109
|
+
return this.http.post(`${this.zoneAnalysisV1Url}/zoneSegmentationTable_v1`, data);
|
|
110
|
+
}
|
|
111
|
+
getZoneSegmentationTableExport(data) {
|
|
112
|
+
return this.http.post(`${this.zoneAnalysisV1Url}/zoneSegmentationTableExport_v1`, data, { responseType: 'arraybuffer' });
|
|
113
|
+
}
|
|
114
|
+
getPasserByTable430Data(data) {
|
|
115
|
+
return this.http.post(`${this.zoneAnalysisV1Url}/zonePasserByTable_v1`, data);
|
|
116
|
+
}
|
|
117
|
+
getPasserByTable430DataExport(data) {
|
|
118
|
+
return this.http.post(`${this.zoneAnalysisV1Url}/zonePasserByTable_430Export`, data, { responseType: 'arraybuffer' });
|
|
119
|
+
}
|
|
120
|
+
getInteractionTableData(data) {
|
|
121
|
+
return this.http.post(`${this.zoneAnalysisV1Url}/interactionTable_v1`, data);
|
|
122
|
+
}
|
|
123
|
+
getInteractionTable430Export(data) {
|
|
124
|
+
return this.http.post(`${this.zoneAnalysisV1Url}/interactionTable_430Export`, data, { responseType: 'arraybuffer' });
|
|
125
|
+
}
|
|
126
|
+
getZonewiseCustomerFunnelData(data) {
|
|
127
|
+
return this.http.post(`${this.zoneAnalysisV1Url}/ZonewiseCustomerFunnel_v1`, data);
|
|
128
|
+
}
|
|
129
|
+
getZonewiseCustomerFunnelExport(data) {
|
|
130
|
+
return this.http.post(`${this.zoneAnalysisV1Url}/ZonewiseCustomerFunnel_Export`, data, { responseType: 'arraybuffer' });
|
|
131
|
+
}
|
|
132
|
+
getCheckTodayReportStatus(params) {
|
|
133
|
+
return this.http.post(`${this.trafficApiUrl}/checkTodayReportStatus`, params);
|
|
134
|
+
}
|
|
81
135
|
handleError(error) {
|
|
82
136
|
return throwError(() => new Error("Something bad happened; please try again later"));
|
|
83
137
|
}
|
|
84
|
-
|
|
85
|
-
|
|
138
|
+
zoneNameSubject = new BehaviorSubject(null);
|
|
139
|
+
setData(zoneName) {
|
|
140
|
+
this.zoneNameSubject.next(zoneName);
|
|
141
|
+
}
|
|
142
|
+
getData() {
|
|
143
|
+
return this.zoneNameSubject.value; // current value
|
|
144
|
+
}
|
|
145
|
+
getData$() {
|
|
146
|
+
return this.zoneNameSubject.asObservable(); // stream to subscribe
|
|
147
|
+
}
|
|
148
|
+
getHeaderZone(data) {
|
|
149
|
+
return this.http.post(`${this.zoneAnalysisV1Url}/getZoneAPI_v2`, data);
|
|
150
|
+
}
|
|
151
|
+
getNewZoneFF(data) {
|
|
152
|
+
return this.http.post(`${this.zoneAnalysisV1Url}/getNewZoneFF_v2`, data);
|
|
153
|
+
}
|
|
154
|
+
getSelectedZoneFF(data) {
|
|
155
|
+
return this.http.post(`${this.zoneAnalysisV1Url}/getSelectedZoneFF_v2`, data);
|
|
156
|
+
}
|
|
157
|
+
getSelectedZoneFFExport(data) {
|
|
158
|
+
return this.http.post(`${this.zoneAnalysisV1Url}/getSelectedZoneFF_v2`, data, { responseType: 'arraybuffer' });
|
|
159
|
+
}
|
|
160
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZoneService, deps: [{ token: i1.HttpClient }, { token: i2.GlobalStateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
161
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZoneService, providedIn: 'root' });
|
|
86
162
|
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZoneService, decorators: [{
|
|
88
164
|
type: Injectable,
|
|
89
165
|
args: [{
|
|
90
166
|
providedIn: 'root'
|
|
91
167
|
}]
|
|
92
168
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.GlobalStateService }] });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYW5hbHlzZS16b25lL3NyYy9saWIvY29tcG9uZW50cy9zZXJ2aWNlcy96b25lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsR0FBRyxNQUFNLGVBQWUsQ0FBQztBQUU1QyxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQWtCLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRyxPQUFPLEtBQUssU0FBUyxNQUFNLFlBQVksQ0FBQztBQUN4QyxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQzs7OztBQUU3QixNQUFNLFVBQVUsR0FBRyxpRkFBaUYsQ0FBQztBQUNyRyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUM7QUFLaEMsTUFBTSxPQUFPLFdBQVc7SUFLRjtJQUEwQjtJQUo5QyxpQkFBaUIsQ0FBSztJQUNkLGlCQUFpQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFcEQsWUFBb0IsSUFBZ0IsRUFBVSxFQUFzQjtRQUFoRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDbEUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNuRSxJQUFJLEdBQUcsRUFBRTtnQkFDUCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDLGlCQUFpQixDQUFDO2FBRWhEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsYUFBYTtRQUNY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SSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQix5QkFBeUIsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNqRixDQUFDO0lBQ0QsaUNBQWlDLENBQUUsSUFBUTtRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQix5QkFBeUIsRUFBRSxJQUFJLEVBQUUsRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQTtJQUNoSCxDQUFDO0lBQ0QsbUJBQW1CLENBQUUsSUFBUTtRQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixzQkFBc0IsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUM5RSxDQUFDO0lBQ0QscUJBQXFCLENBQUUsSUFBUTtRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixzQkFBc0IsRUFBRSxJQUFJLEVBQUUsRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQTtJQUM3RyxDQUFDO0lBTU8sV0FBVyxDQUFDLEtBQXdCO1FBQzFDLE9BQU8sVUFBVSxDQUNmLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQ2xFLENBQUM7SUFDSixDQUFDO3VHQWxGVSxXQUFXOzJHQUFYLFdBQVcsY0FGVixNQUFNOzsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlVW50aWwsIGNhdGNoRXJyb3IsIG1hcCx0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcclxuaW1wb3J0ICogYXMgWExTWCBmcm9tICd4bHN4JztcclxuIFxyXG5jb25zdCBFWENFTF9UWVBFID0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0O2NoYXJzZXQ9VVRGLTgnO1xyXG5jb25zdCBFWENFTF9FWFRFTlNJT04gPSAnLnhsc3gnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWm9uZVNlcnZpY2Uge1xyXG4gIHpvbmVBbmFseXNpc1YxVXJsOmFueTtcclxuICBwcml2YXRlIHJlbG9hZERhdGFTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgcmVsb2FkRGF0YSQgPSB0aGlzLnJlbG9hZERhdGFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSkge1xyXG4gICAgdGhpcy5ncy5lbnZpcm9ubWVudC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlbnYpID0+IHtcclxuICAgICAgaWYgKGVudikge1xyXG4gICAgICAgIHRoaXMuem9uZUFuYWx5c2lzVjFVcmwgPSBlbnYuem9uZUFuYWx5c2lzVjFVcmw7XHJcblxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgdHJpZ2dlclJlbG9hZCgpIHtcclxuICAgIHRoaXMucmVsb2FkRGF0YVN1YmplY3QubmV4dCh0cnVlKTtcclxuICB9XHJcbiAgcHVibGljIGV4cG9ydEFzRXhjZWxGaWxlKGpzb246IGFueVtdLCBleGNlbEZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IHdvcmtzaGVldDogWExTWC5Xb3JrU2hlZXQgPSBYTFNYLnV0aWxzLmpzb25fdG9fc2hlZXQoanNvbik7XHJcbiAgICBjb25zdCB3b3JrYm9vazogWExTWC5Xb3JrQm9vayA9IHsgU2hlZXRzOiB7ICdkYXRhJzogd29ya3NoZWV0IH0sIFNoZWV0TmFtZXM6IFsnZGF0YSddIH07XHJcbiAgICBjb25zdCBleGNlbEJ1ZmZlcjogYW55ID0gWExTWC53cml0ZSh3b3JrYm9vaywgeyBib29rVHlwZTogJ3hsc3gnLCB0eXBlOiAnYXJyYXknIH0pO1xyXG4gICAgdGhpcy5zYXZlQXNFeGNlbEZpbGUoZXhjZWxCdWZmZXIsIGV4Y2VsRmlsZU5hbWUpO1xyXG4gIH1cclxuIFxyXG4gIHB1YmxpYyBzYXZlQXNFeGNlbEZpbGUoYnVmZmVyOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwge1xyXG4gICAgICB0eXBlOiBFWENFTF9UWVBFXHJcbiAgICB9KTtcclxuICAgIEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgZmlsZU5hbWUgKyAnbGlzdCcrIEVYQ0VMX0VYVEVOU0lPTik7XHJcbiAgfVxyXG4gXHJcbiAgcHVibGljIHNhdmVBc1RlbXBsYXRlKGJ1ZmZlcjogYW55LCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHtcclxuICAgICAgdHlwZTogRVhDRUxfVFlQRVxyXG4gICAgfSk7XHJcbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGZpbGVOYW1lICsgRVhDRUxfRVhURU5TSU9OKTtcclxuICB9XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG5uZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG59XHJcblxyXG4gIHpvbmVDb25jZW50cmF0aW9uVGFibGVEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3pvbmVDb25jZW50cmF0aW9uU3VtbWFyeVRhYmxlX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgem9uZUNvbmNlbnRyYXRpb25UYWJsZURhdGFFeHBvcnQoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vem9uZUNvbmNlbnRyYXRpb25TdW1tYXJ5VGFibGVfdjFgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcbiAgZ2V0T3ZlcmFsbFN0b3JlQ29uY2VudHJhdGlvbkRhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vem9uZUhlYXRtYXBEYXRhc192MWAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldE92ZXJhbGxTdG9yZUhlYXRtYXBEYXRlcyggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lSGVhdG1hcEF2YWlsYWJsZURhdGVzX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0Q2FyZERhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vY2FyZHNBZ2VBbmFseXNpc192MWAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldFRvcFBlcmZvcm1pbmdab25lc0RhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vdG9wUGVyZm9ybWluZ1pvbmVzX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0VG9wUGVyZm9ybWluZ1N0b3Jlc1RhYmxlRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS90b3BQZXJmb3JtaW5nU3RvcmVzX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0VG9wUGVyZm9ybWluZ1N0b3Jlc1RhYmxlRXhwb3J0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3RvcFBlcmZvcm1pbmdTdG9yZXNfdjFgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcbiAgZ2V0U3VtbWFyeVRhYmxlRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lU3VtbWFyeVRhYmxlX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0U3VtbWFyeVRhYmxlRXhwb3J0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3pvbmVTdW1tYXJ5VGFibGVfdjFgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcblxyXG4gIFxyXG4gIFxyXG5cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBPYnNlcnZhYmxlPG5ldmVyPiB7XHJcbiAgICByZXR1cm4gdGhyb3dFcnJvcihcclxuICAgICAgKCkgPT4gbmV3IEVycm9yKFwiU29tZXRoaW5nIGJhZCBoYXBwZW5lZDsgcGxlYXNlIHRyeSBhZ2FpbiBsYXRlclwiKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYW5hbHlzZS16b25lL3NyYy9saWIvY29tcG9uZW50cy9zZXJ2aWNlcy96b25lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsR0FBYyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQWtCLFVBQVUsRUFBaUIsTUFBTSxNQUFNLENBQUM7QUFDbEgsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7Ozs7QUFFN0IsTUFBTSxVQUFVLEdBQUcsaUZBQWlGLENBQUM7QUFDckcsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDO0FBS2hDLE1BQU0sT0FBTyxXQUFXO0lBTUY7SUFBMEI7SUFMOUMsaUJBQWlCLENBQUs7SUFDdEIsYUFBYSxDQUFLO0lBQ1YsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDaEUsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNwRCxnQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztJQUNsRCxZQUFvQixJQUFnQixFQUFVLEVBQXNCO1FBQWhELFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUNsRSxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ25FLElBQUksR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENB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O0lBQ0MsdUJBQXVCLENBQUMsSUFBUTtRQUNoQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQix1QkFBdUIsRUFBRSxJQUFJLEVBQUUsRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQTtJQUU5RyxDQUFDO3dHQS9KVSxXQUFXOzRHQUFYLFdBQVcsY0FGVixNQUFNOzs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCwgY2F0Y2hFcnJvciwgbWFwLHRocm93RXJyb3IsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0ICogYXMgRmlsZVNhdmVyIGZyb20gJ2ZpbGUtc2F2ZXInO1xyXG5pbXBvcnQgKiBhcyBYTFNYIGZyb20gJ3hsc3gnO1xyXG4gXHJcbmNvbnN0IEVYQ0VMX1RZUEUgPSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7Y2hhcnNldD1VVEYtOCc7XHJcbmNvbnN0IEVYQ0VMX0VYVEVOU0lPTiA9ICcueGxzeCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBab25lU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgem9uZUFuYWx5c2lzVjFVcmw6YW55O1xyXG4gIHRyYWZmaWNBcGlVcmw6YW55O1xyXG4gIHByaXZhdGUgcmVsb2FkRGF0YVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICByZWxvYWREYXRhJCA9IHRoaXMucmVsb2FkRGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgem9uZVNlZ21lbnRhdGlvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSkge1xyXG4gICAgdGhpcy5ncy5lbnZpcm9ubWVudC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlbnYpID0+IHtcclxuICAgICAgaWYgKGVudikge1xyXG4gICAgICAgIHRoaXMuem9uZUFuYWx5c2lzVjFVcmwgPSBlbnYuem9uZUFuYWx5c2lzVjFVcmw7XHJcbiAgICAgICAgdGhpcy50cmFmZmljQXBpVXJsID0gZW52LnRyYWZmaWNBcGlVcmw7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICB0cmlnZ2VyUmVsb2FkKCkge1xyXG4gICAgdGhpcy5yZWxvYWREYXRhU3ViamVjdC5uZXh0KHRydWUpO1xyXG4gIH1cclxuICBwdWJsaWMgZXhwb3J0QXNFeGNlbEZpbGUoanNvbjogYW55W10sIGV4Y2VsRmlsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3Qgd29ya3NoZWV0OiBYTFNYLldvcmtTaGVldCA9IFhMU1gudXRpbHMuanNvbl90b19zaGVldChqc29uKTtcclxuICAgIGNvbnN0IHdvcmtib29rOiBYTFNYLldvcmtCb29rID0geyBTaGVldHM6IHsgJ2RhdGEnOiB3b3Jrc2hlZXQgfSwgU2hlZXROYW1lczogWydkYXRhJ10gfTtcclxuICAgIGNvbnN0IGV4Y2VsQnVmZmVyOiBhbnkgPSBYTFNYLndyaXRlKHdvcmtib29rLCB7IGJvb2tUeXBlOiAneGxzeCcsIHR5cGU6ICdhcnJheScgfSk7XHJcbiAgICB0aGlzLnNhdmVBc0V4Y2VsRmlsZShleGNlbEJ1ZmZlciwgZXhjZWxGaWxlTmFtZSk7XHJcbiAgfVxyXG4gXHJcbiAgcHVibGljIHNhdmVBc0V4Y2VsRmlsZShidWZmZXI6IGFueSwgZmlsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgZGF0YTogQmxvYiA9IG5ldyBCbG9iKFtidWZmZXJdLCB7XHJcbiAgICAgIHR5cGU6IEVYQ0VMX1RZUEVcclxuICAgIH0pO1xyXG4gICAgRmlsZVNhdmVyLnNhdmVBcyhkYXRhLCBmaWxlTmFtZSArICdsaXN0JysgRVhDRUxfRVhURU5TSU9OKTtcclxuICB9XHJcbiBcclxuICBwdWJsaWMgc2F2ZUFzVGVtcGxhdGUoYnVmZmVyOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwge1xyXG4gICAgICB0eXBlOiBFWENFTF9UWVBFXHJcbiAgICB9KTtcclxuICAgIEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgZmlsZU5hbWUgKyBFWENFTF9FWFRFTlNJT04pO1xyXG4gIH1cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbm5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbn1cclxuXHJcbiAgem9uZUNvbmNlbnRyYXRpb25UYWJsZURhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vem9uZUNvbmNlbnRyYXRpb25TdW1tYXJ5VGFibGVfdjFgLCBkYXRhKVxyXG4gIH1cclxuICAvLyB6b25lQ29uY2VudHJhdGlvblRhYmxlRGF0YUV4cG9ydCggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAvLyAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lQ29uY2VudHJhdGlvblN1bW1hcnlUYWJsZV92MWAsIGRhdGEsIHtyZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcid9KVxyXG4gIC8vIH1cclxuICBnZXRPdmVyYWxsU3RvcmVDb25jZW50cmF0aW9uRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lSGVhdG1hcERhdGFzX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0T3ZlcmFsbFN0b3JlSGVhdG1hcERhdGVzKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3pvbmVIZWF0bWFwQXZhaWxhYmxlRGF0ZXNfdjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRDYXJkRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS9jYXJkc0FnZUFuYWx5c2lzX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0VG9wUGVyZm9ybWluZ1pvbmVzRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS90b3BQZXJmb3JtaW5nWm9uZXNfdjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRUb3BQZXJmb3JtaW5nU3RvcmVzVGFibGVEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3RvcFBlcmZvcm1pbmdTdG9yZXNfdjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRUb3BQZXJmb3JtaW5nU3RvcmVzVGFibGVFeHBvcnQoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vdG9wUGVyZm9ybWluZ1N0b3Jlc192MWAsIGRhdGEsIHtyZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcid9KVxyXG4gIH1cclxuICBnZXRTdW1tYXJ5VGFibGVEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3pvbmVTdW1tYXJ5VGFibGVfdjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRTdW1tYXJ5VGFibGVFeHBvcnQoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vem9uZVN1bW1hcnlUYWJsZV92MWAsIGRhdGEsIHtyZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcid9KVxyXG4gIH1cclxuICBnZXRTZWdtZW50YXRpb25EYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3pvbmVTZWdtZW50YXRpb25fdjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRTZWdtZW50YXRpb25EYXRhRXhwb3J0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3pvbmVTZWdtZW50YXRpb25fdjFFeHBvcnRgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcbiAgZ2V0SW50ZXJhdGlvblRhYmxlNDMwRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lSW50ZXJhY3Rpb25UYWJsZV80MzBgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRJbnRlcmF0aW9uVGFibGU0MzBEYXRhRXhwb3J0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3pvbmVJbnRlcmFjdGlvblRhYmxlXzQzMEV4cG9ydGAsIGRhdGEsIHtyZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcid9KVxyXG4gIH1cclxuICBnZXRJbnRlcmF0aW9uVGFibGU0NTlEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3pvbmVJbnRlcmFjdGlvblRhYmxlXzQ1OWAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldEludGVyYXRpb25UYWJsZTQ1OURhdGFFeHBvcnQoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vem9uZUludGVyYWN0aW9uVGFibGVfNDU5YCwgZGF0YSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIHpvbmVJbnRlcmFjdGlvblRhYmxlRXhwb3J0XzQzMCggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lSW50ZXJhY3Rpb25UYWJsZUV4cG9ydF80MzBgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcbiAgem9uZUNvbmNlbnRyYXRpb25UYWJsZURhdGFFeHBvcnQoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vem9uZUNvbmNlbnRyYXRpb25UYWJsZUV4cG9ydGAsIGRhdGEsIHtyZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcid9KVxyXG4gIH1cclxuXHJcbiAgem9uZXNlZ21lbnRhdGlvblRhYmxlKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3pvbmVTZWdtZW50YXRpb25UYWJsZV92MWAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldFpvbmVTZWdtZW50YXRpb25UYWJsZUV4cG9ydCggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lU2VnbWVudGF0aW9uVGFibGVFeHBvcnRfdjFgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcbiAgZ2V0UGFzc2VyQnlUYWJsZTQzMERhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vem9uZVBhc3NlckJ5VGFibGVfdjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRQYXNzZXJCeVRhYmxlNDMwRGF0YUV4cG9ydCggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lUGFzc2VyQnlUYWJsZV80MzBFeHBvcnRgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcbiAgZ2V0SW50ZXJhY3Rpb25UYWJsZURhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vaW50ZXJhY3Rpb25UYWJsZV92MWAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldEludGVyYWN0aW9uVGFibGU0MzBFeHBvcnQoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vaW50ZXJhY3Rpb25UYWJsZV80MzBFeHBvcnRgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcbiAgZ2V0Wm9uZXdpc2VDdXN0b21lckZ1bm5lbERhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vWm9uZXdpc2VDdXN0b21lckZ1bm5lbF92MWAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldFpvbmV3aXNlQ3VzdG9tZXJGdW5uZWxFeHBvcnQoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vWm9uZXdpc2VDdXN0b21lckZ1bm5lbF9FeHBvcnRgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcbiAgZ2V0Q2hlY2tUb2RheVJlcG9ydFN0YXR1cyhwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRyYWZmaWNBcGlVcmx9L2NoZWNrVG9kYXlSZXBvcnRTdGF0dXNgLCBwYXJhbXMpO1xyXG4gIH1cclxuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IE9ic2VydmFibGU8bmV2ZXI+IHtcclxuICAgIHJldHVybiB0aHJvd0Vycm9yKFxyXG4gICAgICAoKSA9PiBuZXcgRXJyb3IoXCJTb21ldGhpbmcgYmFkIGhhcHBlbmVkOyBwbGVhc2UgdHJ5IGFnYWluIGxhdGVyXCIpXHJcbiAgICApO1xyXG4gIH1cclxuIHByaXZhdGUgem9uZU5hbWVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcclxuXHJcbiAgc2V0RGF0YSh6b25lTmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnpvbmVOYW1lU3ViamVjdC5uZXh0KHpvbmVOYW1lKTtcclxuICB9XHJcblxyXG4gIGdldERhdGEoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy56b25lTmFtZVN1YmplY3QudmFsdWU7IC8vIGN1cnJlbnQgdmFsdWVcclxuICB9XHJcblxyXG4gIGdldERhdGEkKCk6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuem9uZU5hbWVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpOyAvLyBzdHJlYW0gdG8gc3Vic2NyaWJlXHJcbiAgfVxyXG5cclxuICBnZXRIZWFkZXJab25lKGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vZ2V0Wm9uZUFQSV92MmAsZGF0YSlcclxuICB9XHJcbiAgXHJcbiAgZ2V0TmV3Wm9uZUZGKGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vZ2V0TmV3Wm9uZUZGX3YyYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkWm9uZUZGKGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vZ2V0U2VsZWN0ZWRab25lRkZfdjJgLCBkYXRhKVxyXG4gIH1cclxuICAgIGdldFNlbGVjdGVkWm9uZUZGRXhwb3J0KGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vZ2V0U2VsZWN0ZWRab25lRkZfdjJgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICBcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -12,6 +12,8 @@ export class Zonev2Service {
|
|
|
12
12
|
gs;
|
|
13
13
|
zoneAnalysisUrl;
|
|
14
14
|
trafficApiUrl;
|
|
15
|
+
footfallSubject = new BehaviorSubject(null); // Initialize with null
|
|
16
|
+
footfall$ = this.footfallSubject.asObservable();
|
|
15
17
|
reloadDataSubject = new BehaviorSubject(false);
|
|
16
18
|
reloadData$ = this.reloadDataSubject.asObservable();
|
|
17
19
|
constructor(http, gs) {
|
|
@@ -27,6 +29,9 @@ export class Zonev2Service {
|
|
|
27
29
|
triggerReload() {
|
|
28
30
|
this.reloadDataSubject.next(true);
|
|
29
31
|
}
|
|
32
|
+
updateFootfall(count) {
|
|
33
|
+
this.footfallSubject.next(count);
|
|
34
|
+
}
|
|
30
35
|
exportAsExcelFile(json, excelFileName) {
|
|
31
36
|
const worksheet = XLSX.utils.json_to_sheet(json);
|
|
32
37
|
const workbook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };
|
|
@@ -37,7 +42,7 @@ export class Zonev2Service {
|
|
|
37
42
|
const data = new Blob([buffer], {
|
|
38
43
|
type: EXCEL_TYPE
|
|
39
44
|
});
|
|
40
|
-
FileSaver.saveAs(data, fileName +
|
|
45
|
+
FileSaver.saveAs(data, fileName + EXCEL_EXTENSION);
|
|
41
46
|
}
|
|
42
47
|
saveAsTemplate(buffer, fileName) {
|
|
43
48
|
const data = new Blob([buffer], {
|
|
@@ -102,16 +107,19 @@ export class Zonev2Service {
|
|
|
102
107
|
getCustomerJourneyTableExport(data) {
|
|
103
108
|
return this.http.post(`${this.zoneAnalysisUrl}/customerJourneyTable_V2`, data, { responseType: 'arraybuffer' });
|
|
104
109
|
}
|
|
110
|
+
getCheckTodayReportStatus(params) {
|
|
111
|
+
return this.http.post(`${this.trafficApiUrl}/checkTodayReportStatus`, params);
|
|
112
|
+
}
|
|
105
113
|
handleError(error) {
|
|
106
114
|
return throwError(() => new Error("Something bad happened; please try again later"));
|
|
107
115
|
}
|
|
108
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
109
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
116
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Zonev2Service, deps: [{ token: i1.HttpClient }, { token: i2.GlobalStateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
117
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Zonev2Service, providedIn: 'root' });
|
|
110
118
|
}
|
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Zonev2Service, decorators: [{
|
|
112
120
|
type: Injectable,
|
|
113
121
|
args: [{
|
|
114
122
|
providedIn: 'root'
|
|
115
123
|
}]
|
|
116
124
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.GlobalStateService }] });
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZXYyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXpvbmUvc3JjL2xpYi9jb21wb25lbnRzL3NlcnZpY2VzL3pvbmV2Mi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEdBQUcsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFrQixVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkcsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7Ozs7QUFHN0IsTUFBTSxVQUFVLEdBQUcsaUZBQWlGLENBQUM7QUFDckcsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDO0FBT2hDLE1BQU0sT0FBTyxhQUFhO0lBTUo7SUFBMEI7SUFMOUMsZUFBZSxDQUFLO0lBQ3BCLGFBQWEsQ0FBTTtJQUNYLGlCQUFpQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFcEQsWUFBb0IsSUFBZ0IsRUFBVSxFQUFzQjtRQUFoRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDbEUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNuRSxJQUFJLEdBQUcsRUFBRTtnQkFDUCxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFD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QUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsNEJBQTRCLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDbEYsQ0FBQztJQUNELGtCQUFrQixDQUFFLElBQVE7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLHFCQUFxQixFQUFFLElBQUksQ0FBQyxDQUFBO0lBQzNFLENBQUM7SUFDRCx1QkFBdUIsQ0FBRSxJQUFRO1FBQy9CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSwwQkFBMEIsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNoRixDQUFDO0lBQ0QsNkJBQTZCLENBQUUsSUFBUTtRQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsMEJBQTBCLEVBQUUsSUFBSSxFQUFFLEVBQUMsWUFBWSxFQUFFLGFBQWEsRUFBQyxDQUFDLENBQUE7SUFDL0csQ0FBQztJQUlPLFdBQVcsQ0FBQyxLQUF3QjtRQUMxQyxPQUFPLFVBQVUsQ0FDZixHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUNsRSxDQUFDO0lBQ0osQ0FBQzt1R0E3R1UsYUFBYTsyR0FBYixhQUFhLGNBSFosTUFBTTs7MkZBR1AsYUFBYTtrQkFKekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsLCBjYXRjaEVycm9yLCBtYXAsdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgKiBhcyBGaWxlU2F2ZXIgZnJvbSAnZmlsZS1zYXZlcic7XHJcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSAneGxzeCc7XHJcblxyXG4gXHJcbmNvbnN0IEVYQ0VMX1RZUEUgPSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7Y2hhcnNldD1VVEYtOCc7XHJcbmNvbnN0IEVYQ0VMX0VYVEVOU0lPTiA9ICcueGxzeCc7XHJcbiBcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBab25ldjJTZXJ2aWNlIHtcclxuICB6b25lQW5hbHlzaXNVcmw6YW55O1xyXG4gIHRyYWZmaWNBcGlVcmw6IGFueTtcclxuICBwcml2YXRlIHJlbG9hZERhdGFTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgcmVsb2FkRGF0YSQgPSB0aGlzLnJlbG9hZERhdGFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSkge1xyXG4gICAgdGhpcy5ncy5lbnZpcm9ubWVudC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlbnYpID0+IHtcclxuICAgICAgaWYgKGVudikge1xyXG4gICAgICAgIHRoaXMuem9uZUFuYWx5c2lzVXJsID0gZW52LnpvbmVBbmFseXNpc1VybDtcclxuICAgICAgICB0aGlzLnRyYWZmaWNBcGlVcmwgPSBlbnYudHJhZmZpY0FwaVVybDtcclxuXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICB0cmlnZ2VyUmVsb2FkKCkge1xyXG4gICAgdGhpcy5yZWxvYWREYXRhU3ViamVjdC5uZXh0KHRydWUpO1xyXG4gIH1cclxuICBwdWJsaWMgZXhwb3J0QXNFeGNlbEZpbGUoanNvbjogYW55W10sIGV4Y2VsRmlsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3Qgd29ya3NoZWV0OiBYTFNYLldvcmtTaGVldCA9IFhMU1gudXRpbHMuanNvbl90b19zaGVldChqc29uKTtcclxuICAgIGNvbnN0IHdvcmtib29rOiBYTFNYLldvcmtCb29rID0geyBTaGVldHM6IHsgJ2RhdGEnOiB3b3Jrc2hlZXQgfSwgU2hlZXROYW1lczogWydkYXRhJ10gfTtcclxuICAgIGNvbnN0IGV4Y2VsQnVmZmVyOiBhbnkgPSBYTFNYLndyaXRlKHdvcmtib29rLCB7IGJvb2tUeXBlOiAneGxzeCcsIHR5cGU6ICdhcnJheScgfSk7XHJcbiAgICB0aGlzLnNhdmVBc0V4Y2VsRmlsZShleGNlbEJ1ZmZlciwgZXhjZWxGaWxlTmFtZSk7XHJcbiAgfVxyXG4gXHJcbiAgcHVibGljIHNhdmVBc0V4Y2VsRmlsZShidWZmZXI6IGFueSwgZmlsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgZGF0YTogQmxvYiA9IG5ldyBCbG9iKFtidWZmZXJdLCB7XHJcbiAgICAgIHR5cGU6IEVYQ0VMX1RZUEVcclxuICAgIH0pO1xyXG4gICAgRmlsZVNhdmVyLnNhdmVBcyhkYXRhLCBmaWxlTmFtZSArICdsaXN0JysgRVhDRUxfRVhURU5TSU9OKTtcclxuICB9XHJcbiBcclxuICBwdWJsaWMgc2F2ZUFzVGVtcGxhdGUoYnVmZmVyOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwge1xyXG4gICAgICB0eXBlOiBFWENFTF9UWVBFXHJcbiAgICB9KTtcclxuICAgIEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgZmlsZU5hbWUgKyBFWENFTF9FWFRFTlNJT04pO1xyXG4gIH1cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbm5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbn1cclxuICAvLyBWMiBBUElcclxuICBnZXRab25lQ2FyZHNEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVXJsfS96b25lY2FyZHNfdjJgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRUb3BQZXJmb3JtaW5nWm9uZXMoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L3RvcFBlcmZvcm1pbmdab25lc192MmAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldFRvcFBlcmZvcm1pbmdTdG9yZXMoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L3RvcFBlcmZvcm1pbmdTdG9yZXNfdjJgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRTdW1tYXJ5VGFibGVEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVXJsfS96b25lU3VtbWFyeVRhYmxlX3YyYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0U3VtbWFyeVRhYmxlRXhwb3J0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVXJsfS96b25lU3VtbWFyeVRhYmxlX3YyYCwgZGF0YSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIGdldEF2YWlsYWJsZVpvbmVOYW1lcyggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1VybH0vYXZhaWxhYmxlWm9uZU5hbWVzX3YyYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0T3ZlcmFsbFN0b3JlSGVhdG1hcERhdGVzKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVXJsfS9vdmVyYWxsU3RvcmVDb25jZW50cmF0aW9uRGF0ZXNfdjJgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRPdmVyYWxsU3RvcmVDb25jZW50cmF0aW9uRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1VybH0vb3ZlcmFsbFN0b3JlQ29uY2VudHJhdGlvbkhlYXRtYXBfdjJgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRBbmFsYXlzaXNTdW1tYXJ5KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVXJsfS96b25lQ29uY2VudHJhdGlvblN1bW1hcnlfdjJgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRUcmFqZWN0b3J5QW5hbHlzaXMoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L3RyYWplY3RvcnlBbmFseXNpc192MmAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldEZvb3RmYWxsRGlyZWN0b3J5Rm9sZGVycyhwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihcclxuICAgICAgYCR7dGhpcy50cmFmZmljQXBpVXJsfS9mb290ZmFsbERpcmVjdG9yeUZvbGRlcnNgLFxyXG4gICAgICBwYXJhbXNcclxuICAgICk7XHJcbiAgfVxyXG4gIGdldEZvb3RmYWxsRGlyZWN0b3J5KHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KFxyXG4gICAgICBgJHt0aGlzLnRyYWZmaWNBcGlVcmx9L2Zvb3RmYWxsRGlyZWN0b3J5YCxcclxuICAgICAgcGFyYW1zXHJcbiAgICApO1xyXG4gIH1cclxuICBnZXRTdG9yZXNBY3RpdmUocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L2dldE15U3Vic2NyaXB0aW9uYCwgcGFyYW1zKTtcclxuICB9XHJcbiAgZ2V0VHJhamVjdG9yeVJhdGVBbmFseXNpcyggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1VybH0vdHJhamVjdG9yeUFuYWx5c2lzUmF0ZV9WMmAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldEN1c3RvbWVySm91cm5leSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1VybH0vY3VzdG9tZXJKb3VybmV5X1YyYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0Q3VzdG9tZXJKb3VybmV5VGFibGUoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L2N1c3RvbWVySm91cm5leVRhYmxlX1YyYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0Q3VzdG9tZXJKb3VybmV5VGFibGVFeHBvcnQoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L2N1c3RvbWVySm91cm5leVRhYmxlX1YyYCwgZGF0YSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG5cclxuXHJcbiAgXHJcbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBPYnNlcnZhYmxlPG5ldmVyPiB7XHJcbiAgICByZXR1cm4gdGhyb3dFcnJvcihcclxuICAgICAgKCkgPT4gbmV3IEVycm9yKFwiU29tZXRoaW5nIGJhZCBoYXBwZW5lZDsgcGxlYXNlIHRyeSBhZ2FpbiBsYXRlclwiKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZXYyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXpvbmUvc3JjL2xpYi9jb21wb25lbnRzL3NlcnZpY2VzL3pvbmV2Mi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEdBQUcsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFrQixVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkcsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7Ozs7QUFHN0IsTUFBTSxVQUFVLEdBQUcsaUZBQWlGLENBQUM7QUFDckcsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDO0FBT2hDLE1BQU0sT0FBTyxhQUFhO0lBUUo7SUFBMEI7SUFQOUMsZUFBZSxDQUFLO0lBQ3BCLGFBQWEsQ0FBTTtJQUNYLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsSUFBSSxDQUFDLENBQUMsQ0FBQyx1QkFBdUI7SUFDM0YsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDaEUsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVwRCxZQUFvQixJQUFnQixFQUFVLEVBQXNCO1FBQWhELFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUNsRSxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFB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TUFBTTs7NEZBR1AsYUFBYTtrQkFKekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsLCBjYXRjaEVycm9yLCBtYXAsdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgKiBhcyBGaWxlU2F2ZXIgZnJvbSAnZmlsZS1zYXZlcic7XHJcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSAneGxzeCc7XHJcblxyXG4gXHJcbmNvbnN0IEVYQ0VMX1RZUEUgPSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7Y2hhcnNldD1VVEYtOCc7XHJcbmNvbnN0IEVYQ0VMX0VYVEVOU0lPTiA9ICcueGxzeCc7XHJcbiBcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBab25ldjJTZXJ2aWNlIHtcclxuICB6b25lQW5hbHlzaXNVcmw6YW55O1xyXG4gIHRyYWZmaWNBcGlVcmw6IGFueTtcclxuICBwcml2YXRlIGZvb3RmYWxsU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgbnVsbD4obnVsbCk7IC8vIEluaXRpYWxpemUgd2l0aCBudWxsXHJcbiAgZm9vdGZhbGwkID0gdGhpcy5mb290ZmFsbFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgcHJpdmF0ZSByZWxvYWREYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHJlbG9hZERhdGEkID0gdGhpcy5yZWxvYWREYXRhU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuZ3MuZW52aXJvbm1lbnQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZW52KSA9PiB7XHJcbiAgICAgIGlmIChlbnYpIHtcclxuICAgICAgICB0aGlzLnpvbmVBbmFseXNpc1VybCA9IGVudi56b25lQW5hbHlzaXNVcmw7XHJcbiAgICAgICAgdGhpcy50cmFmZmljQXBpVXJsID0gZW52LnRyYWZmaWNBcGlVcmw7XHJcblxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgdHJpZ2dlclJlbG9hZCgpIHtcclxuICAgIHRoaXMucmVsb2FkRGF0YVN1YmplY3QubmV4dCh0cnVlKTtcclxuICB9XHJcbiAgdXBkYXRlRm9vdGZhbGwoY291bnQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5mb290ZmFsbFN1YmplY3QubmV4dChjb3VudCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBleHBvcnRBc0V4Y2VsRmlsZShqc29uOiBhbnlbXSwgZXhjZWxGaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCB3b3Jrc2hlZXQ6IFhMU1guV29ya1NoZWV0ID0gWExTWC51dGlscy5qc29uX3RvX3NoZWV0KGpzb24pO1xyXG4gICAgY29uc3Qgd29ya2Jvb2s6IFhMU1guV29ya0Jvb2sgPSB7IFNoZWV0czogeyAnZGF0YSc6IHdvcmtzaGVldCB9LCBTaGVldE5hbWVzOiBbJ2RhdGEnXSB9O1xyXG4gICAgY29uc3QgZXhjZWxCdWZmZXI6IGFueSA9IFhMU1gud3JpdGUod29ya2Jvb2ssIHsgYm9va1R5cGU6ICd4bHN4JywgdHlwZTogJ2FycmF5JyB9KTtcclxuICAgIHRoaXMuc2F2ZUFzRXhjZWxGaWxlKGV4Y2VsQnVmZmVyLCBleGNlbEZpbGVOYW1lKTtcclxuICB9XHJcbiBcclxuICBwdWJsaWMgc2F2ZUFzRXhjZWxGaWxlKGJ1ZmZlcjogYW55LCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHtcclxuICAgICAgdHlwZTogRVhDRUxfVFlQRVxyXG4gICAgfSk7XHJcbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGZpbGVOYW1lICsgRVhDRUxfRVhURU5TSU9OKTtcclxuICB9XHJcbiBcclxuICBwdWJsaWMgc2F2ZUFzVGVtcGxhdGUoYnVmZmVyOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwge1xyXG4gICAgICB0eXBlOiBFWENFTF9UWVBFXHJcbiAgICB9KTtcclxuICAgIEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgZmlsZU5hbWUgKyBFWENFTF9FWFRFTlNJT04pO1xyXG4gIH1cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbm5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbn1cclxuICAvLyBWMiBBUElcclxuICBnZXRab25lQ2FyZHNEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVXJsfS96b25lY2FyZHNfdjJgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRUb3BQZXJmb3JtaW5nWm9uZXMoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L3RvcFBlcmZvcm1pbmdab25lc192MmAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldFRvcFBlcmZvcm1pbmdTdG9yZXMoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L3RvcFBlcmZvcm1pbmdTdG9yZXNfdjJgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRTdW1tYXJ5VGFibGVEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVXJsfS96b25lU3VtbWFyeVRhYmxlX3YyYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0U3VtbWFyeVRhYmxlRXhwb3J0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVXJsfS96b25lU3VtbWFyeVRhYmxlX3YyYCwgZGF0YSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIGdldEF2YWlsYWJsZVpvbmVOYW1lcyggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1VybH0vYXZhaWxhYmxlWm9uZU5hbWVzX3YyYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0T3ZlcmFsbFN0b3JlSGVhdG1hcERhdGVzKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVXJsfS9vdmVyYWxsU3RvcmVDb25jZW50cmF0aW9uRGF0ZXNfdjJgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRPdmVyYWxsU3RvcmVDb25jZW50cmF0aW9uRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1VybH0vb3ZlcmFsbFN0b3JlQ29uY2VudHJhdGlvbkhlYXRtYXBfdjJgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRBbmFsYXlzaXNTdW1tYXJ5KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVXJsfS96b25lQ29uY2VudHJhdGlvblN1bW1hcnlfdjJgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRUcmFqZWN0b3J5QW5hbHlzaXMoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L3RyYWplY3RvcnlBbmFseXNpc192MmAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldEZvb3RmYWxsRGlyZWN0b3J5Rm9sZGVycyhwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihcclxuICAgICAgYCR7dGhpcy50cmFmZmljQXBpVXJsfS9mb290ZmFsbERpcmVjdG9yeUZvbGRlcnNgLFxyXG4gICAgICBwYXJhbXNcclxuICAgICk7XHJcbiAgfVxyXG4gIGdldEZvb3RmYWxsRGlyZWN0b3J5KHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KFxyXG4gICAgICBgJHt0aGlzLnRyYWZmaWNBcGlVcmx9L2Zvb3RmYWxsRGlyZWN0b3J5YCxcclxuICAgICAgcGFyYW1zXHJcbiAgICApO1xyXG4gIH1cclxuICBnZXRTdG9yZXNBY3RpdmUocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L2dldE15U3Vic2NyaXB0aW9uYCwgcGFyYW1zKTtcclxuICB9XHJcbiAgZ2V0VHJhamVjdG9yeVJhdGVBbmFseXNpcyggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1VybH0vdHJhamVjdG9yeUFuYWx5c2lzUmF0ZV9WMmAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldEN1c3RvbWVySm91cm5leSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1VybH0vY3VzdG9tZXJKb3VybmV5X1YyYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0Q3VzdG9tZXJKb3VybmV5VGFibGUoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L2N1c3RvbWVySm91cm5leVRhYmxlX1YyYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0Q3VzdG9tZXJKb3VybmV5VGFibGVFeHBvcnQoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L2N1c3RvbWVySm91cm5leVRhYmxlX1YyYCwgZGF0YSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIGdldENoZWNrVG9kYXlSZXBvcnRTdGF0dXMocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50cmFmZmljQXBpVXJsfS9jaGVja1RvZGF5UmVwb3J0U3RhdHVzYCwgcGFyYW1zKTtcclxuICB9XHJcblxyXG4gIFxyXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKTogT2JzZXJ2YWJsZTxuZXZlcj4ge1xyXG4gICAgcmV0dXJuIHRocm93RXJyb3IoXHJcbiAgICAgICgpID0+IG5ldyBFcnJvcihcIlNvbWV0aGluZyBiYWQgaGFwcGVuZWQ7IHBsZWFzZSB0cnkgYWdhaW4gbGF0ZXJcIilcclxuICAgICk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
|
|
@@ -2,51 +2,97 @@ import { Component } from '@angular/core';
|
|
|
2
2
|
import { Subject, debounceTime, takeUntil } from 'rxjs';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "tango-app-ui-global";
|
|
5
|
-
import * as i2 from "
|
|
6
|
-
import * as i3 from "
|
|
7
|
-
import * as i4 from "../
|
|
8
|
-
import * as i5 from "../
|
|
9
|
-
import * as i6 from "../zone-
|
|
5
|
+
import * as i2 from "../services/zone.service";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "../overallcards/overallcards.component";
|
|
8
|
+
import * as i5 from "../top-performing-zones/top-performing-zones.component";
|
|
9
|
+
import * as i6 from "../zone-summary-table/zone-summary-table.component";
|
|
10
|
+
import * as i7 from "../zone-concentration/zone-concentration.component";
|
|
11
|
+
import * as i8 from "../segmentation/segmentation.component";
|
|
12
|
+
import * as i9 from "../interation-table-client459/interation-table-client459.component";
|
|
13
|
+
import * as i10 from "../customer-journey-chart/customer-journey-chart.component";
|
|
10
14
|
export class TangoAnalyseZoneComponent {
|
|
11
15
|
pageInfo;
|
|
12
16
|
gs;
|
|
17
|
+
zoneService;
|
|
18
|
+
cd;
|
|
13
19
|
storeId = 0;
|
|
20
|
+
clientId;
|
|
14
21
|
headerData;
|
|
22
|
+
showReportProcessingCard = true;
|
|
23
|
+
yesterdayDate = '';
|
|
24
|
+
dataProcessedLoading = true;
|
|
15
25
|
destroy$ = new Subject();
|
|
16
26
|
ngOnDestroy() {
|
|
17
27
|
this.destroy$.next(true);
|
|
18
28
|
this.destroy$.complete();
|
|
19
29
|
}
|
|
20
|
-
constructor(pageInfo, gs) {
|
|
30
|
+
constructor(pageInfo, gs, zoneService, cd) {
|
|
21
31
|
this.pageInfo = pageInfo;
|
|
22
32
|
this.gs = gs;
|
|
33
|
+
this.zoneService = zoneService;
|
|
34
|
+
this.cd = cd;
|
|
23
35
|
}
|
|
36
|
+
// receivedData: any = '';
|
|
24
37
|
ngOnInit() {
|
|
38
|
+
this.setPageData();
|
|
25
39
|
this.gs.dataRangeValue
|
|
26
40
|
.pipe(takeUntil(this.destroy$), debounceTime(300))
|
|
27
41
|
.subscribe((data) => {
|
|
28
42
|
this.headerData = data;
|
|
29
43
|
this.updateStoreId();
|
|
30
|
-
this.
|
|
44
|
+
this.checkTodayReportStatus();
|
|
31
45
|
});
|
|
32
46
|
}
|
|
47
|
+
hasSegmentationData = false;
|
|
48
|
+
updateSegmentationStatus(hasData) {
|
|
49
|
+
this.hasSegmentationData = hasData;
|
|
50
|
+
}
|
|
51
|
+
// receiveData(data: any) {
|
|
52
|
+
// this.receivedData = data;
|
|
53
|
+
// console.log(data)
|
|
54
|
+
// this.cd.detectChanges();
|
|
55
|
+
// }
|
|
33
56
|
setPageData() {
|
|
34
57
|
this.pageInfo.setTitle("Zones");
|
|
35
58
|
this.pageInfo.setDescription("Zones");
|
|
36
59
|
this.pageInfo.setBreadcrumbs([
|
|
37
|
-
{ title: "
|
|
38
|
-
{ title: "
|
|
60
|
+
{ title: "Tango Eye", path: "/manage/traffic", isActive: false, isSeparator: false },
|
|
61
|
+
{ title: "Tango Eye", path: "/manage/traffic", isActive: false, isSeparator: true },
|
|
39
62
|
]);
|
|
40
63
|
}
|
|
41
64
|
updateStoreId() {
|
|
42
|
-
console.log("this.storeId", this.storeId);
|
|
43
65
|
this.storeId = this.headerData.stores.filter((store) => store.checked).length;
|
|
44
66
|
}
|
|
45
|
-
|
|
46
|
-
|
|
67
|
+
checkTodayReportStatus() {
|
|
68
|
+
this.dataProcessedLoading = true;
|
|
69
|
+
const reportParams = {
|
|
70
|
+
clientId: this.headerData?.client,
|
|
71
|
+
fromDate: this.headerData?.date?.startDate,
|
|
72
|
+
toDate: this.headerData?.date?.endDate
|
|
73
|
+
};
|
|
74
|
+
this.zoneService.getCheckTodayReportStatus(reportParams)
|
|
75
|
+
.pipe(takeUntil(this.destroy$))
|
|
76
|
+
.subscribe({
|
|
77
|
+
next: (res) => {
|
|
78
|
+
this.dataProcessedLoading = false;
|
|
79
|
+
this.showReportProcessingCard = res?.data?.reportSendStatus === true;
|
|
80
|
+
this.yesterdayDate = res?.data?.yesterday || '';
|
|
81
|
+
this.cd.detectChanges();
|
|
82
|
+
},
|
|
83
|
+
error: (err) => {
|
|
84
|
+
console.error('Error checking report status:', err);
|
|
85
|
+
this.showReportProcessingCard = false;
|
|
86
|
+
this.dataProcessedLoading = false;
|
|
87
|
+
this.cd.detectChanges();
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoAnalyseZoneComponent, deps: [{ token: i1.PageInfoService }, { token: i1.GlobalStateService }, { token: i2.ZoneService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
92
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TangoAnalyseZoneComponent, selector: "lib-tango-analyse-zone", ngImport: i0, template: "<div *ngIf=\"!showReportProcessingCard && !dataProcessedLoading\">\r\n<div *ngIf=\"storeId === 1\">\r\n<lib-zone-concentration></lib-zone-concentration>\r\n</div>\r\n<div class=\"mt-4\" *ngIf=\"!(storeId > 1 && headerData?.client === '459')\">\r\n <lib-overallcards></lib-overallcards>\r\n</div>\r\n<div *ngIf=\"storeId === 1\">\r\n <lib-segmentation></lib-segmentation>\r\n</div>\r\n <!-- <ng-container *ngIf=\"hasSegmentationData === true\"> -->\r\n \r\n <!-- </ng-container> -->\r\n <!-- <div *ngIf=\"storeId === 1 && headerData?.client === '430'\" class=\"col-8\">\r\n <lib-interation-table-client430></lib-interation-table-client430>\r\n </div>\r\n <div *ngIf=\"storeId === 1 && headerData?.client === '430'\" class=\"col-4\">\r\n <lib-passerby-table></lib-passerby-table>\r\n </div>\r\n </div> -->\r\n\r\n\r\n<div class=\"mt-4\" *ngIf=\"storeId === 1 && headerData?.client === '459'\">\r\n<lib-interation-table-client459></lib-interation-table-client459>\r\n</div>\r\n<div class=\"mt-2\" *ngIf=\"storeId > 1\">\r\n <div *ngIf=\"headerData?.client !== '459'\">\r\n <lib-top-performing-zones></lib-top-performing-zones>\r\n </div>\r\n</div>\r\n\r\n<div class=\"mt-2\" *ngIf=\"storeId === 1 && headerData?.client === '478'\">\r\n <lib-customer-journey-chart></lib-customer-journey-chart>\r\n</div>\r\n\r\n<div class=\"mt-4\" *ngIf=\"storeId > 1\">\r\n <lib-zone-summary-table></lib-zone-summary-table>\r\n</div>\r\n</div>\r\n\r\n<div *ngIf=\"showReportProcessingCard && !dataProcessedLoading\" class=\"row px-3\"> \r\n <div class=\"card dataprocessed pb-0 px-0 d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"dataprocessedgif\" src=\"./assets/tango/Icons/data_analyse_gif.gif\" alt=\"\">\r\n <div class=\"dataprocessed-title\">Data being Processed</div>\r\n <div class=\"dataprocessed-sub\">Data for the selected date {{ yesterdayDate }}, is currently being processed and will be available shortly.</div>\r\n <div class=\"dataprocessed-sub\"> If you wish to view data for other dates, Remove {{ yesterdayDate }} from your selection or choose a different date range.</div> \r\n </div>\r\n\r\n</div>\r\n<div *ngIf=\"dataProcessedLoading\" class=\"card 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> ", styles: [".dataprocessed{height:500px}.dataprocessedgif{height:150px;width:150px}.dataprocessed-title{color:var(--Gray-900, #101828);text-align:center;font-size:24px;font-style:normal;font-weight:600;line-height:32px}.dataprocessed-sub{color:var(--Gray-500, #667085);text-align:center;font-size:18px;font-style:normal;font-weight:500;line-height:28px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.OverallcardsComponent, selector: "lib-overallcards" }, { kind: "component", type: i5.TopPerformingZonesComponent, selector: "lib-top-performing-zones" }, { kind: "component", type: i6.ZoneSummaryTableComponent, selector: "lib-zone-summary-table" }, { kind: "component", type: i7.ZoneConcentrationComponent, selector: "lib-zone-concentration" }, { kind: "component", type: i8.SegmentationComponent, selector: "lib-segmentation", outputs: ["dataEmitter"] }, { kind: "component", type: i9.InterationTableClient459Component, selector: "lib-interation-table-client459" }, { kind: "component", type: i10.CustomerJourneyChartComponent, selector: "lib-customer-journey-chart" }] });
|
|
47
93
|
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoAnalyseZoneComponent, decorators: [{
|
|
49
95
|
type: Component,
|
|
50
|
-
args: [{ selector: 'lib-tango-analyse-zone', template: "<div *ngIf=\"storeId === 1\">\r\n<lib-zone-concentration></lib-zone-concentration>\r\n</div>\r\n<div
|
|
51
|
-
}], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i1.GlobalStateService }] });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tYW5hbHlzZS16b25lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2Utem9uZS9zcmMvbGliL2NvbXBvbmVudHMvdGFuZ28tYW5hbHlzZS16b25lL3RhbmdvLWFuYWx5c2Utem9uZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXpvbmUvc3JjL2xpYi9jb21wb25lbnRzL3RhbmdvLWFuYWx5c2Utem9uZS90YW5nby1hbmFseXNlLXpvbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQWMsT0FBTyxFQUFFLFlBQVksRUFBd0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQU0xRixNQUFNLE9BQU8seUJBQXlCO0lBVTFCO0lBQWlDO0lBVDNDLE9BQU8sR0FBVyxDQUFDLENBQUM7SUFDcEIsVUFBVSxDQUFNO0lBQ0MsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFMUMsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUNELFlBQ1UsUUFBeUIsRUFBUSxFQUFzQjtRQUF2RCxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUFRLE9BQUUsR0FBRixFQUFFLENBQW9CO0lBRWpFLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjO2FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNqRCxTQUFTLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7WUFDcEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFBO0lBQ0YsQ0FBQztJQUVDLFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztZQUMzQixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRTtZQUNsRixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtTQUNsRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsYUFBYTtRQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN0RixDQUFDO3VHQWxDVSx5QkFBeUI7MkZBQXpCLHlCQUF5Qiw4RENSdEMsaVpBWUE7OzJGREphLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlLCBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRhbmdvLWFuYWx5c2Utem9uZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhbmdvLWFuYWx5c2Utem9uZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3RhbmdvLWFuYWx5c2Utem9uZS5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYW5nb0FuYWx5c2Vab25lQ29tcG9uZW50IHtcclxuICBzdG9yZUlkOiBudW1iZXIgPSAwO1xyXG4gIGhlYWRlckRhdGE6IGFueTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBwYWdlSW5mbzogUGFnZUluZm9TZXJ2aWNlLHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZVxyXG4gICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLCBkZWJvdW5jZVRpbWUoMzAwKSlcclxuICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuaGVhZGVyRGF0YSA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy51cGRhdGVTdG9yZUlkKClcclxuICAgICAgICB0aGlzLnNldFBhZ2VEYXRhKCk7XHJcbn0pXHJcbn1cclxuXHJcbiAgc2V0UGFnZURhdGEoKSB7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldFRpdGxlKFwiWm9uZXNcIik7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldERlc2NyaXB0aW9uKFwiWm9uZXNcIik7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldEJyZWFkY3J1bWJzKFtcclxuICAgICAgeyB0aXRsZTogXCJBbmFseXplXCIsIHBhdGg6IFwiL21hbmFnZS90cmFmZmljXCIsIGlzQWN0aXZlOiBmYWxzZSwgaXNTZXBhcmF0b3I6IGZhbHNlIH0sXHJcbiAgICAgIHsgdGl0bGU6IFwiQW5hbHl6ZVwiLCBwYXRoOiBcIi9tYW5hZ2UvdHJhZmZpY1wiLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiB0cnVlIH0sXHJcbiAgICBdKTtcclxuICB9XHJcbiAgdXBkYXRlU3RvcmVJZCgpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKFwidGhpcy5zdG9yZUlkXCIsIHRoaXMuc3RvcmVJZClcclxuICAgICB0aGlzLnN0b3JlSWQgPSB0aGlzLmhlYWRlckRhdGEuc3RvcmVzLmZpbHRlcigoc3RvcmU6IGFueSkgPT4gc3RvcmUuY2hlY2tlZCkubGVuZ3RoO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwic3RvcmVJZCA9PT0gMVwiPlxyXG48bGliLXpvbmUtY29uY2VudHJhdGlvbj48L2xpYi16b25lLWNvbmNlbnRyYXRpb24+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwibXQtNFwiPlxyXG4gIDxsaWItb3ZlcmFsbGNhcmRzPjwvbGliLW92ZXJhbGxjYXJkcz5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJtdC0yXCIgKm5nSWY9XCJzdG9yZUlkID4gMVwiPlxyXG4gIDxsaWItdG9wLXBlcmZvcm1pbmctem9uZXM+PC9saWItdG9wLXBlcmZvcm1pbmctem9uZXM+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwibXQtNFwiICpuZ0lmPVwic3RvcmVJZCA+IDFcIj5cclxuICA8bGliLXpvbmUtc3VtbWFyeS10YWJsZT48L2xpYi16b25lLXN1bW1hcnktdGFibGU+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
96
|
+
args: [{ selector: 'lib-tango-analyse-zone', template: "<div *ngIf=\"!showReportProcessingCard && !dataProcessedLoading\">\r\n<div *ngIf=\"storeId === 1\">\r\n<lib-zone-concentration></lib-zone-concentration>\r\n</div>\r\n<div class=\"mt-4\" *ngIf=\"!(storeId > 1 && headerData?.client === '459')\">\r\n <lib-overallcards></lib-overallcards>\r\n</div>\r\n<div *ngIf=\"storeId === 1\">\r\n <lib-segmentation></lib-segmentation>\r\n</div>\r\n <!-- <ng-container *ngIf=\"hasSegmentationData === true\"> -->\r\n \r\n <!-- </ng-container> -->\r\n <!-- <div *ngIf=\"storeId === 1 && headerData?.client === '430'\" class=\"col-8\">\r\n <lib-interation-table-client430></lib-interation-table-client430>\r\n </div>\r\n <div *ngIf=\"storeId === 1 && headerData?.client === '430'\" class=\"col-4\">\r\n <lib-passerby-table></lib-passerby-table>\r\n </div>\r\n </div> -->\r\n\r\n\r\n<div class=\"mt-4\" *ngIf=\"storeId === 1 && headerData?.client === '459'\">\r\n<lib-interation-table-client459></lib-interation-table-client459>\r\n</div>\r\n<div class=\"mt-2\" *ngIf=\"storeId > 1\">\r\n <div *ngIf=\"headerData?.client !== '459'\">\r\n <lib-top-performing-zones></lib-top-performing-zones>\r\n </div>\r\n</div>\r\n\r\n<div class=\"mt-2\" *ngIf=\"storeId === 1 && headerData?.client === '478'\">\r\n <lib-customer-journey-chart></lib-customer-journey-chart>\r\n</div>\r\n\r\n<div class=\"mt-4\" *ngIf=\"storeId > 1\">\r\n <lib-zone-summary-table></lib-zone-summary-table>\r\n</div>\r\n</div>\r\n\r\n<div *ngIf=\"showReportProcessingCard && !dataProcessedLoading\" class=\"row px-3\"> \r\n <div class=\"card dataprocessed pb-0 px-0 d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"dataprocessedgif\" src=\"./assets/tango/Icons/data_analyse_gif.gif\" alt=\"\">\r\n <div class=\"dataprocessed-title\">Data being Processed</div>\r\n <div class=\"dataprocessed-sub\">Data for the selected date {{ yesterdayDate }}, is currently being processed and will be available shortly.</div>\r\n <div class=\"dataprocessed-sub\"> If you wish to view data for other dates, Remove {{ yesterdayDate }} from your selection or choose a different date range.</div> \r\n </div>\r\n\r\n</div>\r\n<div *ngIf=\"dataProcessedLoading\" class=\"card 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> ", styles: [".dataprocessed{height:500px}.dataprocessedgif{height:150px;width:150px}.dataprocessed-title{color:var(--Gray-900, #101828);text-align:center;font-size:24px;font-style:normal;font-weight:600;line-height:32px}.dataprocessed-sub{color:var(--Gray-500, #667085);text-align:center;font-size:18px;font-style:normal;font-weight:500;line-height:28px}\n"] }]
|
|
97
|
+
}], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i1.GlobalStateService }, { type: i2.ZoneService }, { type: i0.ChangeDetectorRef }] });
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tYW5hbHlzZS16b25lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2Utem9uZS9zcmMvbGliL2NvbXBvbmVudHMvdGFuZ28tYW5hbHlzZS16b25lL3RhbmdvLWFuYWx5c2Utem9uZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXpvbmUvc3JjL2xpYi9jb21wb25lbnRzL3RhbmdvLWFuYWx5c2Utem9uZS90YW5nby1hbmFseXNlLXpvbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBYyxPQUFPLEVBQUUsWUFBWSxFQUF3QixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7OztBQU8xRixNQUFNLE9BQU8seUJBQXlCO0lBYzFCO0lBQWlDO0lBQStCO0lBQWdDO0lBYjFHLE9BQU8sR0FBVyxDQUFDLENBQUM7SUFDcEIsUUFBUSxDQUFTO0lBQ2pCLFVBQVUsQ0FBTTtJQUNoQix3QkFBd0IsR0FBWSxJQUFJLENBQUM7SUFDekMsYUFBYSxHQUFXLEVBQUUsQ0FBQztJQUMzQixvQkFBb0IsR0FBRyxJQUFJLENBQUM7SUFDWCxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUUxQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsWUFDVSxRQUF5QixFQUFRLEVBQXNCLEVBQVMsV0FBdUIsRUFBUyxFQUFvQjtRQUFwSCxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUFRLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQVMs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LG9CQUFvQixHQUFHLEtBQUssQ0FBQztnQkFDbEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMxQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0gsQ0FBQzt3R0E3RU0seUJBQXlCOzRGQUF6Qix5QkFBeUIsOERDVHRDLCs0RkFnRVE7OzRGRHZESyx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0Usd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlLCBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFpvbmVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvem9uZS5zZXJ2aWNlJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGFuZ28tYW5hbHlzZS16b25lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFuZ28tYW5hbHlzZS16b25lLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdGFuZ28tYW5hbHlzZS16b25lLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhbmdvQW5hbHlzZVpvbmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsT25EZXN0cm95IHtcclxuICBzdG9yZUlkOiBudW1iZXIgPSAwO1xyXG4gIGNsaWVudElkOiBudW1iZXI7IFxyXG4gIGhlYWRlckRhdGE6IGFueTtcclxuICBzaG93UmVwb3J0UHJvY2Vzc2luZ0NhcmQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHllc3RlcmRheURhdGU6IHN0cmluZyA9ICcnO1xyXG4gIGRhdGFQcm9jZXNzZWRMb2FkaW5nID0gdHJ1ZTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBwYWdlSW5mbzogUGFnZUluZm9TZXJ2aWNlLHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlLHByaXZhdGUgem9uZVNlcnZpY2U6Wm9uZVNlcnZpY2UscHJpdmF0ZSBjZDpDaGFuZ2VEZXRlY3RvclJlZixcclxuICApIHtcclxuICB9XHJcbiAgLy8gcmVjZWl2ZWREYXRhOiBhbnkgPSAnJztcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0UGFnZURhdGEoKTtcclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWVcclxuICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSwgZGVib3VuY2VUaW1lKDMwMCkpXHJcbiAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmhlYWRlckRhdGEgPSBkYXRhO1xyXG4gICAgICAgIHRoaXMudXBkYXRlU3RvcmVJZCgpICAgXHJcbiAgICAgICAgdGhpcy5jaGVja1RvZGF5UmVwb3J0U3RhdHVzKCkgICBcclxufSlcclxuXHJcbn1cclxuXHJcbmhhc1NlZ21lbnRhdGlvbkRhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbnVwZGF0ZVNlZ21lbnRhdGlvblN0YXR1cyhoYXNEYXRhOiBib29sZWFuKSB7XHJcbiAgdGhpcy5oYXNTZWdtZW50YXRpb25EYXRhID0gaGFzRGF0YTtcclxufVxyXG4vLyByZWNlaXZlRGF0YShkYXRhOiBhbnkpIHtcclxuLy8gICB0aGlzLnJlY2VpdmVkRGF0YSA9IGRhdGE7XHJcbi8vICAgY29uc29sZS5sb2coZGF0YSlcclxuLy8gICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuLy8gfVxyXG5cclxuICBzZXRQYWdlRGF0YSgpIHtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0VGl0bGUoXCJab25lc1wiKTtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0RGVzY3JpcHRpb24oXCJab25lc1wiKTtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0QnJlYWRjcnVtYnMoW1xyXG4gICAgICB7IHRpdGxlOiBcIlRhbmdvIEV5ZVwiLCBwYXRoOiBcIi9tYW5hZ2UvdHJhZmZpY1wiLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiBmYWxzZSB9LFxyXG4gICAgICB7IHRpdGxlOiBcIlRhbmdvIEV5ZVwiLCBwYXRoOiBcIi9tYW5hZ2UvdHJhZmZpY1wiLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiB0cnVlIH0sXHJcbiAgICBdKTtcclxuICB9XHJcbiAgdXBkYXRlU3RvcmVJZCgpOiB2b2lkIHtcclxuICAgICB0aGlzLnN0b3JlSWQgPSB0aGlzLmhlYWRlckRhdGEuc3RvcmVzLmZpbHRlcigoc3RvcmU6IGFueSkgPT4gc3RvcmUuY2hlY2tlZCkubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgIGNoZWNrVG9kYXlSZXBvcnRTdGF0dXMoKTogdm9pZCB7XHJcbiAgICAgIHRoaXMuZGF0YVByb2Nlc3NlZExvYWRpbmcgPSB0cnVlO1xyXG4gICAgICBjb25zdCByZXBvcnRQYXJhbXMgPSB7XHJcbiAgICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50LFxyXG4gICAgICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgICAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZVxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnpvbmVTZXJ2aWNlLmdldENoZWNrVG9kYXlSZXBvcnRTdGF0dXMocmVwb3J0UGFyYW1zKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5kYXRhUHJvY2Vzc2VkTG9hZGluZyA9IGZhbHNlXHJcbiAgICAgICAgICB0aGlzLnNob3dSZXBvcnRQcm9jZXNzaW5nQ2FyZCA9IHJlcz8uZGF0YT8ucmVwb3J0U2VuZFN0YXR1cyA9PT0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMueWVzdGVyZGF5RGF0ZSA9IHJlcz8uZGF0YT8ueWVzdGVyZGF5IHx8ICcnO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBjaGVja2luZyByZXBvcnQgc3RhdHVzOicsIGVycik7XHJcbiAgICAgICAgICB0aGlzLnNob3dSZXBvcnRQcm9jZXNzaW5nQ2FyZCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5kYXRhUHJvY2Vzc2VkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCIhc2hvd1JlcG9ydFByb2Nlc3NpbmdDYXJkICYmICFkYXRhUHJvY2Vzc2VkTG9hZGluZ1wiPlxyXG48ZGl2ICpuZ0lmPVwic3RvcmVJZCA9PT0gMVwiPlxyXG48bGliLXpvbmUtY29uY2VudHJhdGlvbj48L2xpYi16b25lLWNvbmNlbnRyYXRpb24+XHJcbjwvZGl2PlxyXG48ZGl2ICBjbGFzcz1cIm10LTRcIiAqbmdJZj1cIiEoc3RvcmVJZCA+IDEgJiYgaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDU5JylcIj5cclxuICA8bGliLW92ZXJhbGxjYXJkcz48L2xpYi1vdmVyYWxsY2FyZHM+XHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwic3RvcmVJZCA9PT0gMVwiPlxyXG4gIDxsaWItc2VnbWVudGF0aW9uPjwvbGliLXNlZ21lbnRhdGlvbj5cclxuPC9kaXY+XHJcbiAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc1NlZ21lbnRhdGlvbkRhdGEgPT09IHRydWVcIj4gLS0+XHJcbiAgICAgIFxyXG4gICAgICA8IS0tIDwvbmctY29udGFpbmVyPiAtLT5cclxuICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwic3RvcmVJZCA9PT0gMSAmJiBoZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0MzAnXCIgY2xhc3M9XCJjb2wtOFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGliLWludGVyYXRpb24tdGFibGUtY2xpZW50NDMwPjwvbGliLWludGVyYXRpb24tdGFibGUtY2xpZW50NDMwPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic3RvcmVJZCA9PT0gMSAmJiBoZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0MzAnXCIgY2xhc3M9XCJjb2wtNFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGliLXBhc3NlcmJ5LXRhYmxlPjwvbGliLXBhc3NlcmJ5LXRhYmxlPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG5cclxuPGRpdiBjbGFzcz1cIm10LTRcIiAqbmdJZj1cInN0b3JlSWQgPT09IDEgJiYgaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDU5J1wiPlxyXG48bGliLWludGVyYXRpb24tdGFibGUtY2xpZW50NDU5PjwvbGliLWludGVyYXRpb24tdGFibGUtY2xpZW50NDU5PlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cIm10LTJcIiAqbmdJZj1cInN0b3JlSWQgPiAxXCI+XHJcbiAgPGRpdiAqbmdJZj1cImhlYWRlckRhdGE/LmNsaWVudCAhPT0gJzQ1OSdcIj5cclxuICAgIDxsaWItdG9wLXBlcmZvcm1pbmctem9uZXM+PC9saWItdG9wLXBlcmZvcm1pbmctem9uZXM+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm10LTJcIiAqbmdJZj1cInN0b3JlSWQgPT09IDEgJiYgaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDc4J1wiPlxyXG4gIDxsaWItY3VzdG9tZXItam91cm5leS1jaGFydD48L2xpYi1jdXN0b21lci1qb3VybmV5LWNoYXJ0PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJtdC00XCIgKm5nSWY9XCJzdG9yZUlkID4gMVwiPlxyXG4gIDxsaWItem9uZS1zdW1tYXJ5LXRhYmxlPjwvbGliLXpvbmUtc3VtbWFyeS10YWJsZT5cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cInNob3dSZXBvcnRQcm9jZXNzaW5nQ2FyZCAmJiAhZGF0YVByb2Nlc3NlZExvYWRpbmdcIiBjbGFzcz1cInJvdyBweC0zXCI+ICAgICAgICAgICAgICAgICAgICAgIFxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkIGRhdGFwcm9jZXNzZWQgcGItMCBweC0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICA8aW1nIGNsYXNzPVwiZGF0YXByb2Nlc3NlZGdpZlwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL2RhdGFfYW5hbHlzZV9naWYuZ2lmXCIgYWx0PVwiXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkYXRhcHJvY2Vzc2VkLXRpdGxlXCI+RGF0YSBiZWluZyBQcm9jZXNzZWQ8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImRhdGFwcm9jZXNzZWQtc3ViXCI+RGF0YSBmb3IgdGhlIHNlbGVjdGVkIGRhdGUge3sgeWVzdGVyZGF5RGF0ZSB9fSwgaXMgY3VycmVudGx5IGJlaW5nIHByb2Nlc3NlZCBhbmQgd2lsbCBiZSBhdmFpbGFibGUgc2hvcnRseS48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImRhdGFwcm9jZXNzZWQtc3ViXCI+IElmIHlvdSB3aXNoIHRvIHZpZXcgZGF0YSBmb3Igb3RoZXIgZGF0ZXMsIFJlbW92ZSB7eyB5ZXN0ZXJkYXlEYXRlIH19IGZyb20geW91ciBzZWxlY3Rpb24gb3IgY2hvb3NlIGEgZGlmZmVyZW50IGRhdGUgcmFuZ2UuPC9kaXY+ICAgIFxyXG4gIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcbjxkaXYgKm5nSWY9XCJkYXRhUHJvY2Vzc2VkTG9hZGluZ1wiIGNsYXNzPVwiY2FyZCByb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiAgIl19
|