@pepperi-addons/ngx-composite-lib 0.0.14-beta.1 → 0.0.14-beta.5
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/addon-block-loader/addon-block-loader-service.d.ts +21 -0
- package/addon-block-loader/addon-block-loader.component.d.ts +26 -0
- package/addon-block-loader/addon-block-loader.module.d.ts +16 -0
- package/addon-block-loader/package.json +10 -0
- package/addon-block-loader/pepperi-addons-ngx-composite-lib-addon-block-loader.d.ts +5 -0
- package/addon-block-loader/public-api.d.ts +2 -0
- package/addon-block-loader/remote-loader/remote-loader.component.d.ts +18 -0
- package/addon-block-loader/remote-loader/remote-loader.module.d.ts +13 -0
- package/assets-manager/assets-manager.component.d.ts +25 -0
- package/assets-manager/assets-manager.module.d.ts +13 -0
- package/assets-manager/package.json +10 -0
- package/assets-manager/pepperi-addons-ngx-composite-lib-assets-manager.d.ts +5 -0
- package/assets-manager/public-api.d.ts +2 -0
- package/bundles/pepperi-addons-ngx-composite-lib-addon-block-loader.umd.js +650 -0
- package/bundles/pepperi-addons-ngx-composite-lib-addon-block-loader.umd.js.map +1 -0
- package/bundles/pepperi-addons-ngx-composite-lib-assets-manager.umd.js +468 -0
- package/bundles/pepperi-addons-ngx-composite-lib-assets-manager.umd.js.map +1 -0
- package/bundles/pepperi-addons-ngx-composite-lib-dimx-export.umd.js +94 -58
- package/bundles/pepperi-addons-ngx-composite-lib-dimx-export.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-composite-lib-file-status-panel.umd.js +4 -8
- package/bundles/pepperi-addons-ngx-composite-lib-file-status-panel.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-composite-lib-generic-list.umd.js +1 -1
- package/dimx-export/dimx.component.d.ts +5 -1
- package/dimx-export/dimx.module.d.ts +2 -1
- package/dimx-export/dimx.service.d.ts +1 -0
- package/esm2015/addon-block-loader/addon-block-loader-service.js +68 -0
- package/esm2015/addon-block-loader/addon-block-loader.component.js +81 -0
- package/esm2015/addon-block-loader/addon-block-loader.module.js +55 -0
- package/esm2015/addon-block-loader/pepperi-addons-ngx-composite-lib-addon-block-loader.js +5 -0
- package/esm2015/addon-block-loader/public-api.js +6 -0
- package/esm2015/addon-block-loader/remote-loader/remote-loader.component.js +42 -0
- package/esm2015/addon-block-loader/remote-loader/remote-loader.module.js +43 -0
- package/esm2015/assets-manager/assets-manager.component.js +71 -0
- package/esm2015/assets-manager/assets-manager.module.js +43 -0
- package/esm2015/assets-manager/pepperi-addons-ngx-composite-lib-assets-manager.js +5 -0
- package/esm2015/assets-manager/public-api.js +6 -0
- package/esm2015/dimx-export/dimx.component.js +40 -7
- package/esm2015/dimx-export/dimx.module.js +6 -2
- package/esm2015/dimx-export/dimx.service.js +3 -3
- package/esm2015/file-status-panel/file-status-panel.component.js +6 -10
- package/esm2015/generic-list/generic-list.component.js +1 -1
- package/fesm2015/pepperi-addons-ngx-composite-lib-addon-block-loader.js +279 -0
- package/fesm2015/pepperi-addons-ngx-composite-lib-addon-block-loader.js.map +1 -0
- package/fesm2015/pepperi-addons-ngx-composite-lib-assets-manager.js +122 -0
- package/fesm2015/pepperi-addons-ngx-composite-lib-assets-manager.js.map +1 -0
- package/fesm2015/pepperi-addons-ngx-composite-lib-dimx-export.js +46 -10
- package/fesm2015/pepperi-addons-ngx-composite-lib-dimx-export.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-composite-lib-file-status-panel.js +5 -9
- package/fesm2015/pepperi-addons-ngx-composite-lib-file-status-panel.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-composite-lib-generic-list.js +1 -1
- package/file-status-panel/file-status-panel.component.d.ts +1 -4
- package/package.json +4 -1
- package/src/assets/images/brand-leaf-full.svg +3 -0
- package/src/assets/images/brand-leaf-full@1x.png +0 -0
- package/src/assets/images/brand-leaf-full@2x.png +0 -0
- package/src/assets/images/brand-leaf-round.png +0 -0
- package/src/assets/images/brand-leaf-round.svg +3 -0
- package/src/assets/images/brand-leaf-round@2x.png +0 -0
- package/src/assets/images/brand-leaf-skiny.svg +3 -0
- package/src/assets/images/brand-leaf-skiny@1x.png +0 -0
- package/src/assets/images/brand-leaf-skiny@2x.png +0 -0
|
@@ -2,16 +2,18 @@ import { __awaiter } from "tslib";
|
|
|
2
2
|
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
3
3
|
import { saveAs } from 'file-saver';
|
|
4
4
|
import { PepGuid } from '@pepperi-addons/ngx-lib';
|
|
5
|
+
import { FileStatusPanelComponent } from '@pepperi-addons/ngx-composite-lib/file-status-panel';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@ngx-translate/core";
|
|
7
8
|
import * as i2 from "./dimx.service";
|
|
8
|
-
import * as i3 from "@pepperi-addons/ngx-
|
|
9
|
-
import * as i4 from "@angular/common";
|
|
9
|
+
import * as i3 from "@pepperi-addons/ngx-lib/snack-bar";
|
|
10
10
|
export class DIMXComponent {
|
|
11
|
-
constructor(translate, addonService) {
|
|
11
|
+
constructor(translate, addonService, pepSnackBarService) {
|
|
12
12
|
this.translate = translate;
|
|
13
13
|
this.addonService = addonService;
|
|
14
|
+
this.pepSnackBarService = pepSnackBarService;
|
|
14
15
|
this.DIMXProcessDone = new EventEmitter();
|
|
16
|
+
this.currentSnackBar = null;
|
|
15
17
|
this.iFileID = 0;
|
|
16
18
|
this.iFileArray = [];
|
|
17
19
|
this.toBase64 = (file) => new Promise((resolve, reject) => {
|
|
@@ -59,6 +61,7 @@ export class DIMXComponent {
|
|
|
59
61
|
case 0:
|
|
60
62
|
ifile.status = "failed";
|
|
61
63
|
ifile.returnedObject = { "ErrorMessage": result["AuditInfo"]["ErrorMessage"] };
|
|
64
|
+
this.updateSnackbar();
|
|
62
65
|
yield this.SendDoneEventIfDone();
|
|
63
66
|
return null;
|
|
64
67
|
case 1:
|
|
@@ -67,6 +70,7 @@ export class DIMXComponent {
|
|
|
67
70
|
default:
|
|
68
71
|
ifile.status = "failed";
|
|
69
72
|
ifile.returnedObject = { "ErrorMessage": `unknown audit log type: ${result["Status"]}` };
|
|
73
|
+
this.updateSnackbar();
|
|
70
74
|
yield this.SendDoneEventIfDone();
|
|
71
75
|
return null;
|
|
72
76
|
}
|
|
@@ -75,6 +79,7 @@ export class DIMXComponent {
|
|
|
75
79
|
console.log(`pollDIMXResult: ${ex}`);
|
|
76
80
|
ifile.status = "failed";
|
|
77
81
|
ifile.returnedObject = { "ErrorMessage": ex.message };
|
|
82
|
+
this.updateSnackbar();
|
|
78
83
|
yield this.SendDoneEventIfDone();
|
|
79
84
|
return null;
|
|
80
85
|
}
|
|
@@ -108,6 +113,7 @@ export class DIMXComponent {
|
|
|
108
113
|
const index = this.iFileArray.findIndex(element => element === iFile);
|
|
109
114
|
if (index >= 0) {
|
|
110
115
|
this.iFileArray.splice(index, 1);
|
|
116
|
+
this.updateSnackbar();
|
|
111
117
|
}
|
|
112
118
|
}, delay);
|
|
113
119
|
});
|
|
@@ -116,6 +122,8 @@ export class DIMXComponent {
|
|
|
116
122
|
return __awaiter(this, void 0, void 0, function* () {
|
|
117
123
|
window.setTimeout(() => {
|
|
118
124
|
this.iFileArray = [];
|
|
125
|
+
//this.currentSnackBar?.instance.closeClick.emit();
|
|
126
|
+
this.updateSnackbar();
|
|
119
127
|
}, delay);
|
|
120
128
|
});
|
|
121
129
|
}
|
|
@@ -157,6 +165,25 @@ export class DIMXComponent {
|
|
|
157
165
|
yield this.clearIFilesWithDelay();
|
|
158
166
|
});
|
|
159
167
|
}
|
|
168
|
+
updateSnackbar() {
|
|
169
|
+
var _a;
|
|
170
|
+
if (!((_a = this.currentSnackBar) === null || _a === void 0 ? void 0 : _a.instance)) {
|
|
171
|
+
this.currentSnackBar = this.pepSnackBarService.openSnackBarFromComponent(FileStatusPanelComponent, {
|
|
172
|
+
title: "DIMX Process",
|
|
173
|
+
content: this.iFileArray
|
|
174
|
+
});
|
|
175
|
+
this.currentSnackBar.instance.closeClick.subscribe(() => {
|
|
176
|
+
this.currentSnackBar = null;
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
this.currentSnackBar.instance.data.content = this.iFileArray;
|
|
181
|
+
if (this.iFileArray.length === 0) {
|
|
182
|
+
this.currentSnackBar.instance.snackBarRef.dismiss();
|
|
183
|
+
this.currentSnackBar = null;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
160
187
|
dimximportrun(e) {
|
|
161
188
|
return __awaiter(this, void 0, void 0, function* () {
|
|
162
189
|
console.log("Enter DIMXImportRun");
|
|
@@ -172,6 +199,7 @@ export class DIMXComponent {
|
|
|
172
199
|
const iFile = this.createNewIFile(filex.name, "uploading");
|
|
173
200
|
console.log(`created new iFile: ${iFile}`);
|
|
174
201
|
this.iFileArray.push(iFile);
|
|
202
|
+
this.updateSnackbar();
|
|
175
203
|
console.log(`added iFile to iFileArray`);
|
|
176
204
|
try {
|
|
177
205
|
console.log("posting to dimx import_upload now");
|
|
@@ -192,6 +220,7 @@ export class DIMXComponent {
|
|
|
192
220
|
console.log(`done polling, got result: ${JSON.stringify(poll_result)}`);
|
|
193
221
|
iFile.status = "done";
|
|
194
222
|
iFile.returnedObject = poll_result;
|
|
223
|
+
this.updateSnackbar();
|
|
195
224
|
yield this.SendDoneEventIfDone();
|
|
196
225
|
console.log("Imported the file");
|
|
197
226
|
//await this.removeIfileWithDelay(iFile);
|
|
@@ -201,6 +230,7 @@ export class DIMXComponent {
|
|
|
201
230
|
console.log(`DIMXImportRun: ${ex}`);
|
|
202
231
|
iFile.status = "failed";
|
|
203
232
|
iFile.returnedObject = { "ErrorMessage": ex.message };
|
|
233
|
+
this.updateSnackbar();
|
|
204
234
|
yield this.SendDoneEventIfDone();
|
|
205
235
|
//await this.removeIfileWithDelay(iFile, 2000);
|
|
206
236
|
return;
|
|
@@ -244,6 +274,7 @@ export class DIMXComponent {
|
|
|
244
274
|
const iFile = this.createNewIFile(fileName, "downloading");
|
|
245
275
|
console.log(`created new iFile: ${iFile}`);
|
|
246
276
|
this.iFileArray.push(iFile);
|
|
277
|
+
this.updateSnackbar();
|
|
247
278
|
console.log(`added iFile to iFileArray`);
|
|
248
279
|
try {
|
|
249
280
|
console.log("posting to dimx export now");
|
|
@@ -265,6 +296,7 @@ export class DIMXComponent {
|
|
|
265
296
|
saveAs(blob, fileName);
|
|
266
297
|
iFile.status = "done";
|
|
267
298
|
iFile.returnedObject = result;
|
|
299
|
+
this.updateSnackbar();
|
|
268
300
|
yield this.SendDoneEventIfDone();
|
|
269
301
|
console.log("downloaded the file");
|
|
270
302
|
//await this.removeIfileWithDelay(iFile);
|
|
@@ -272,6 +304,7 @@ export class DIMXComponent {
|
|
|
272
304
|
catch (ex) {
|
|
273
305
|
iFile.status = "failed";
|
|
274
306
|
iFile.returnedObject = { "ErrorMessage": ex.message };
|
|
307
|
+
this.updateSnackbar();
|
|
275
308
|
yield this.SendDoneEventIfDone();
|
|
276
309
|
//await this.removeIfileWithDelay(iFile);
|
|
277
310
|
console.log(`buttonClick: ${ex}`);
|
|
@@ -280,8 +313,8 @@ export class DIMXComponent {
|
|
|
280
313
|
});
|
|
281
314
|
}
|
|
282
315
|
}
|
|
283
|
-
DIMXComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: DIMXComponent, deps: [{ token: i1.TranslateService }, { token: i2.DIMXService }], target: i0.ɵɵFactoryTarget.Component });
|
|
284
|
-
DIMXComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: DIMXComponent, selector: "pep-dimx", inputs: { DIMXAddonUUID: "DIMXAddonUUID", DIMXResource: "DIMXResource" }, outputs: { DIMXProcessDone: "DIMXProcessDone" }, viewQueries: [{ propertyName: "fileField", first: true, predicate: ["fileField"], descendants: true }], ngImport: i0, template: "<pep-file-status-panel [title]=\"'File Imports/Exports'\" *ngIf=\"iFileArray?.length\" [filesList]=\"iFileArray\"></pep-file-status-panel
|
|
316
|
+
DIMXComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: DIMXComponent, deps: [{ token: i1.TranslateService }, { token: i2.DIMXService }, { token: i3.PepSnackBarService }], target: i0.ɵɵFactoryTarget.Component });
|
|
317
|
+
DIMXComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: DIMXComponent, selector: "pep-dimx", inputs: { DIMXAddonUUID: "DIMXAddonUUID", DIMXResource: "DIMXResource" }, outputs: { DIMXProcessDone: "DIMXProcessDone" }, viewQueries: [{ propertyName: "fileField", first: true, predicate: ["fileField"], descendants: true }], ngImport: i0, template: "<!-- <pep-file-status-panel [title]=\"'File Imports/Exports'\" *ngIf=\"iFileArray?.length\" [filesList]=\"iFileArray\"></pep-file-status-panel> -->\n<input type=\"file\" multiple=\"multiple\" name=\"avatars\" id=\"fileuploader\" #fileField (change)=\"dimximportrun($event)\">\n<!-- <pep-button\n value=\"export\"\n styleType=\"strong\"\n styleStateType=\"success\"\n sizeType=\"sm\"\n classNames=\"hahah\"\n iconName=\"system_doc\"\n (buttonClick)=\"buttonClick($event)\"\n></pep-button> -->", styles: ["#fileuploader{display:none}:host{width:100%}:host .shadow-size-group,:host .shadow-type-group{display:block;margin-bottom:var(--pep-form-spacing, 1rem)}\n"] });
|
|
285
318
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: DIMXComponent, decorators: [{
|
|
286
319
|
type: Component,
|
|
287
320
|
args: [{
|
|
@@ -289,7 +322,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
|
|
|
289
322
|
templateUrl: './dimx.component.html',
|
|
290
323
|
styleUrls: ['./dimx.component.scss']
|
|
291
324
|
}]
|
|
292
|
-
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.DIMXService }]; }, propDecorators: { fileField: [{
|
|
325
|
+
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.DIMXService }, { type: i3.PepSnackBarService }]; }, propDecorators: { fileField: [{
|
|
293
326
|
type: ViewChild,
|
|
294
327
|
args: ['fileField']
|
|
295
328
|
}], DIMXAddonUUID: [{
|
|
@@ -299,4 +332,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
|
|
|
299
332
|
}], DIMXProcessDone: [{
|
|
300
333
|
type: Output
|
|
301
334
|
}] } });
|
|
302
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlteC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9kaW14LWV4cG9ydC9kaW14LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2RpbXgtZXhwb3J0L2RpbXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3RHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7QUFTbEQsTUFBTSxPQUFPLGFBQWE7SUFNdEIsWUFDWSxTQUEyQixFQUM1QixZQUF5QjtRQUR4QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUM1QixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUoxQixvQkFBZSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBZ0dsRSxZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ1osZUFBVSxHQUFjLEVBQUUsQ0FBQztRQTRJM0IsYUFBUSxHQUFHLENBQUMsSUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUVyRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBRWhDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFM0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTdDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMs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QUFNLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDbEQsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDdkIsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7Z0JBQ3RCLEtBQUssQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO2dCQUM5QixNQUFNLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUNqQyxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7Z0JBQ25DLHlDQUF5QzthQUM1QztZQUNELE9BQU0sRUFBRSxFQUFDO2dCQUNMLEtBQUssQ0FBQyxNQUFNLEdBQUUsUUFBUSxDQUFDO2dCQUN2QixLQUFLLENBQUMsY0FBYyxHQUFHLEVBQUMsY0FBYyxFQUFFLEVBQXVCLENBQUMsT0FBTyxFQUFDLENBQUE7Z0JBQ3hFLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7Z0JBQ2pDLHlDQUF5QztnQkFDekMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDbEMsT0FBTzthQUNWO1FBRUwsQ0FBQztLQUFBOzswR0E1VFEsYUFBYTs4RkFBYixhQUFhLG1SQ2IxQiwyZUFVa0I7MkZER0wsYUFBYTtrQkFMekIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsV0FBVyxFQUFFLHVCQUF1QjtvQkFDcEMsU0FBUyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ3ZDO2lJQUUyQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ2IsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IERJTVhTZXJ2aWNlIH0gZnJvbSAnLi9kaW14LnNlcnZpY2UnO1xuaW1wb3J0IHsgc2F2ZUFzIH0gZnJvbSAnZmlsZS1zYXZlcic7XG5pbXBvcnQgeyBQZXBHdWlkIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgSUZpbGVFeHQgfSBmcm9tICcuJztcbmltcG9ydCB7IEZpbGVTdGF0dXMgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWNvbXBvc2l0ZS1saWIvZmlsZS1zdGF0dXMtcGFuZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1kaW14JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGlteC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGlteC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERJTVhDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ2ZpbGVGaWVsZCcpIGZpbGVGaWVsZDpFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIERJTVhBZGRvblVVSUQhOiBzdHJpbmc7XG4gICAgQElucHV0KCkgRElNWFJlc291cmNlITogc3RyaW5nO1xuICAgIEBPdXRwdXQoKSBESU1YUHJvY2Vzc0RvbmU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIGRpbXhJbXBvcnRPcHRpb25zOiB7IE92ZXJ3cml0ZU9CamVjdD86IGJvb2xlYW4gfCB1bmRlZmluZWQ7IERlbGltaXRlcj86IHN0cmluZyB8IHVuZGVmaW5lZDsgT3duZXJJRD86IHN0cmluZyB8IHVuZGVmaW5lZDsgQWN0aW9uSUQ/OiBzdHJpbmcgfCB1bmRlZmluZWR9IHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHVibGljIGFkZG9uU2VydmljZTogRElNWFNlcnZpY2VcbiAgICApIHtcblxuICAgIH1cblxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7IFxuICAgICAgICAvLyBHZXQgdGhlIGZpcnN0IHRyYW5zbGF0aW9uIGZvciBsb2FkIGFsbCB0cmFuc2xhdGlvbnMuXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnU0hBRE9XX1NFVFRJTkdTLklOVEVOU0lUWV9TT0ZUJykudG9Qcm9taXNlKCkudGhlbigodHlwZVNvZnQpID0+IHsgY29uc29sZS5sb2coXCJzb21ldGhpbmdcIik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldERJTVhFeHBvcnRQT1NUQm9keSh2YWx1ZTp7XG4gICAgICAgIERJTVhFeHBvcnRGb3JtYXQ/OnN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydEluY2x1ZGVEZWxldGVkPzogYm9vbGVhbixcbiAgICAgICAgRElNWEV4cG9ydEZpbGVOYW1lPzogc3RyaW5nLFxuICAgICAgICBESU1YRXhwb3J0V2hlcmU/OiBzdHJpbmcsXG4gICAgICAgIERJTVhFeHBvcnRGaWVsZHM/OiBzdHJpbmcsXG4gICAgICAgIERJTVhFeHBvcnREZWxpbWl0ZXI/OnN0cmluZ1xuICAgIH0pe1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgXCJGb3JtYXRcIjp2YWx1ZS5ESU1YRXhwb3J0Rm9ybWF0LFxuICAgICAgICAgICAgXCJJbmNsdWRlRGVsZXRlZFwiOnZhbHVlLkRJTVhFeHBvcnRJbmNsdWRlRGVsZXRlZCxcbiAgICAgICAgICAgIFwiV2hlcmVcIjp2YWx1ZS5ESU1YRXhwb3J0V2hlcmUsXG4gICAgICAgICAgICBcIkZpZWxkc1wiOnZhbHVlLkRJTVhFeHBvcnRGaWVsZHMsXG4gICAgICAgICAgICBcIkRlbGltaXRlclwiOnZhbHVlLkRJTVhFeHBvcnREZWxpbWl0ZXJcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIHBvbGxESU1YUmVzdWx0KHBvbGxpbmdVUkw6c3RyaW5nLCBpZmlsZTpJRmlsZUV4dCl7XG4gICAgICAgIGNvbnNvbGUubG9nKGBwb2xsaW5nIGF1ZGl0IHdpdGggdGhlIGV4ZWN1dGlvblVVSUQ6ICR7cG9sbGluZ1VSTH1gKTtcbiAgICAgICAgY29uc3QgZGVsYXkgPSAobXM6IG51bWJlcikgPT4gbmV3IFByb21pc2UocmVzID0+IHNldFRpbWVvdXQocmVzLCBtcykpO1xuICAgICAgICBsZXQgc2Vjb25kcyA9IDA7XG4gICAgICAgIGNvbnN0IHdhaXRpbmdUaW1lID0gMTAwMDsgLy9pbiBtc1xuICAgICAgICB0cnl7XG4gICAgICAgICAgICBsZXQgcmVzdWx0O1xuICAgICAgICAgICAgd2hpbGUodHJ1ZSl7XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gYXdhaXQgdGhpcy5hZGRvblNlcnZpY2UucGFwaUNsaWVudC5nZXQoYC9hdWRpdF9sb2dzLyR7cG9sbGluZ1VSTH1gKTtcbiAgICAgICAgXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYHJlc3VsdCBmcm9tIGF1ZGl0bG9nIGdldCBpczogJHtyZXN1bHR9YCk7XG4gICAgICAgICAgICAgICAgaWYoICFyZXN1bHQgfHwgcmVzdWx0W1wiU3RhdHVzXCJdW1wiSURcIl0gPT09IDIgfHwgcmVzdWx0W1wiU3RhdHVzXCJdW1wiSURcIl0gPT09IDQpe1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgd2FpdGVkIGZvciAke3NlY29uZHMrK30gc2Vjb25kc2ApO1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCBkZWxheSh3YWl0aW5nVGltZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2V7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN3aXRjaChyZXN1bHRbXCJTdGF0dXNcIl1bXCJJRFwiXSl7XG4gICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgICBpZmlsZS5zdGF0dXMgPSBcImZhaWxlZFwiO1xuICAgICAgICAgICAgICAgICAgICBpZmlsZS5yZXR1cm5lZE9iamVjdCA9IHtcIkVycm9yTWVzc2FnZVwiOiByZXN1bHRbXCJBdWRpdEluZm9cIl1bXCJFcnJvck1lc3NhZ2VcIl19XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuU2VuZERvbmVFdmVudElmRG9uZSgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBwb2xsaW5nIHJlc3VsdDogJHtyZXN1bHRbXCJBdWRpdEluZm9cIl1bXCJSZXN1bHRPYmplY3RcIl19YCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKHJlc3VsdFtcIkF1ZGl0SW5mb1wiXVtcIlJlc3VsdE9iamVjdFwiXSk7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgaWZpbGUuc3RhdHVzID0gXCJmYWlsZWRcIjtcbiAgICAgICAgICAgICAgICAgICAgaWZpbGUucmV0dXJuZWRPYmplY3QgPSB7XCJFcnJvck1lc3NhZ2VcIjogYHVua25vd24gYXVkaXQgbG9nIHR5cGU6ICR7cmVzdWx0W1wiU3RhdHVzXCJdfWB9XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuU2VuZERvbmVFdmVudElmRG9uZSgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhdGNoKGV4KXtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBwb2xsRElNWFJlc3VsdDogJHtleH1gKTtcbiAgICAgICAgICAgIGlmaWxlLnN0YXR1cyA9IFwiZmFpbGVkXCI7XG4gICAgICAgICAgICBpZmlsZS5yZXR1cm5lZE9iamVjdCA9IHtcIkVycm9yTWVzc2FnZVwiOiAoZXggYXMge21lc3NhZ2U6c3RyaW5nfSkubWVzc2FnZX1cbiAgICAgICAgICAgIGF3YWl0IHRoaXMuU2VuZERvbmVFdmVudElmRG9uZSgpO1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXROZXdGaWxlTmFtZSh2YWx1ZTp7XG4gICAgICAgIERJTVhFeHBvcnRGb3JtYXQ6c3RyaW5nLFxuICAgICAgICBESU1YRXhwb3J0RmlsZU5hbWU6IHN0cmluZyxcbiAgICB9KXtcbiAgICAgICAgbGV0IGV4dGVuc2lvbjtcbiAgICAgICAgc3dpdGNoICh2YWx1ZS5ESU1YRXhwb3J0Rm9ybWF0LnRvTG93ZXJDYXNlKCkpe1xuICAgICAgICAgICAgY2FzZSBcImpzb25cIjpcbiAgICAgICAgICAgICAgICBleHRlbnNpb24gPSBcIi5qc29uXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwiY3N2XCI6XG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uID0gJy5jc3YnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBleHRlbnNpb24gPSBcIlwiO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZpbGVuYW1lID0gdmFsdWUuRElNWEV4cG9ydEZpbGVOYW1lO1xuICAgICAgICByZXR1cm4gZmlsZW5hbWUrZXh0ZW5zaW9uO1xuICAgIH1cbiAgICBcbiAgICBpRmlsZUlEID0gMDtcbiAgICBpRmlsZUFycmF5OklGaWxlRXh0W10gPSBbXTtcbiAgICBjcmVhdGVOZXdJRmlsZShmaWxlTmFtZTpzdHJpbmcgLCBzdGF0dXM6XCJkb3dubG9hZGluZ1wifFwidXBsb2FkaW5nXCIpOklGaWxlRXh0e1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgXCJrZXlcIjp0aGlzLmlGaWxlSUQrKyxcbiAgICAgICAgICAgIFwibmFtZVwiOmZpbGVOYW1lLFxuICAgICAgICAgICAgXCJzdGF0dXNcIjpzdGF0dXN9O1xuICAgIH1cblxuICAgIGFzeW5jIHJlbW92ZUlmaWxlc1dpdGhEZWxheShpRmlsZTpGaWxlU3RhdHVzLCBkZWxheSA9IDIwMDApIHtcbiAgICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmlGaWxlQXJyYXkuZmluZEluZGV4KGVsZW1lbnQgPT4gZWxlbWVudCA9PT0gaUZpbGUpO1xuICAgICAgICAgICAgaWYgKGluZGV4ID49IDApe1xuICAgICAgICAgICAgICAgIHRoaXMuaUZpbGVBcnJheS5zcGxpY2UoaW5kZXgsMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIGRlbGF5KVxuICAgIH1cblxuICAgIGFzeW5jIGNsZWFySUZpbGVzV2l0aERlbGF5KGRlbGF5ID0gMjAwMCl7XG4gICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaUZpbGVBcnJheSA9IFtdO1xuICAgICAgICB9LCBkZWxheSlcbiAgICB9XG5cblxuICAgIHVwbG9hZEZpbGUob3B0aW9ucz86e092ZXJ3cml0ZU9CamVjdD86Ym9vbGVhbiwgRGVsaW1pdGVyPzpzdHJpbmcsIE93bmVySUQ/OnN0cmluZywgQWN0aW9uSUQ/OnN0cmluZ30pe1xuICAgICAgICB0aGlzLmRpbXhJbXBvcnRPcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgY29uc3QgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiZmlsZXVwbG9hZGVyXCIpO1xuICAgaWYoZWxlbSAmJiBkb2N1bWVudC5jcmVhdGVFdmVudCkge1xuICAgICAgY29uc3QgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoXCJNb3VzZUV2ZW50c1wiKTtcbiAgICAgIGV2dC5pbml0RXZlbnQoXCJjbGlja1wiLCB0cnVlLCBmYWxzZSk7XG4gICAgICBlbGVtLmRpc3BhdGNoRXZlbnQoZXZ0KTtcbiAgIH1cbiAgICAgICAgLy8gdGhpcy5maWxlRmllbGQ/Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9ICAgXG5cbiAgICBJc0ZpbGVJblByb2dyZXNzKGlGaWxlOkZpbGVTdGF0dXMpe1xuICAgICAgICByZXR1cm4gaUZpbGUuc3RhdHVzID09IFwiZG93bmxvYWRpbmdcIiB8fCBpRmlsZS5zdGF0dXMgPT0gXCJ1cGxvYWRpbmdcIjtcbiAgICB9XG5cbiAgICBBbnlGaWxlc0luUHJvZ3Jlc3MoKXtcbiAgICAgICAgaWYgKHRoaXMuaUZpbGVBcnJheS5maW5kKHRoaXMuSXNGaWxlSW5Qcm9ncmVzcykgPT09IHVuZGVmaW5lZCl7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBHZXREb25lRXZlbnRCb2R5KCl7XG4gICAgICAgIHJldHVybiB0aGlzLmlGaWxlQXJyYXkubWFwKGlGaWxlID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgXCJGaWxlTmFtZVwiOiBpRmlsZS5uYW1lLCBcbiAgICAgICAgICAgICAgICBcIlN0YXR1c1wiOiBpRmlsZS5zdGF0dXMsXG4gICAgICAgICAgICAgICAgXCJSZXR1cm5lZE9iamVjdFwiOiBpRmlsZS5yZXR1cm5lZE9iamVjdCFcbiAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhc3luYyBTZW5kRG9uZUV2ZW50SWZEb25lKCl7XG4gICAgICAgIGlmICh0aGlzLkFueUZpbGVzSW5Qcm9ncmVzcygpKXtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBldmVudE9iamVjdDphbnkgPSB0aGlzLkdldERvbmVFdmVudEJvZHkoKTtcbiAgICAgICAgdGhpcy5ESU1YUHJvY2Vzc0RvbmUuZW1pdChldmVudE9iamVjdCk7XG4gICAgICAgIGF3YWl0IHRoaXMuY2xlYXJJRmlsZXNXaXRoRGVsYXkoKTtcbiAgICB9XG5cbiAgICBhc3luYyBkaW14aW1wb3J0cnVuKGU6YW55KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiRW50ZXIgRElNWEltcG9ydFJ1blwiKTtcbiAgICAgICAgY29uc3QgZmlsZXMgPSBlLnRhcmdldC5maWxlcztcbiAgICAgICAgY29uc3QgZmlsZUxpc3RBc0FycmF5ID0gQXJyYXkuZnJvbShmaWxlcyk7XG4gICAgICAgIGZpbGVMaXN0QXNBcnJheS5mb3JFYWNoKGFzeW5jIChmaWxlLCBpKSA9PiB7XG5cbiAgICAgICAgICAgIGNvbnN0IGZpbGV4ID0gKGZpbGUgYXMgSFRNTElucHV0RWxlbWVudCk7XG4gICAgICAgICAgICBjb25zdCBkaW14X2ltcG9ydF9yZWxhdGl2ZVVSTCA9IGAvYWRkb25zL2FwaS80NGM5NzExNS02ZDE0LTQ2MjYtOTFkYy04M2YxNzZlOWEwZmMvYXBpL2ZpbGVfaW1wb3J0X3VwbG9hZGA7XG4gICAgICAgICAgICBjb25zdCBzdHIgPSAoYXdhaXQgdGhpcy50b0Jhc2U2NChmaWxleCkpIGFzIHN0cmluZzsgLy8/Pz9cbiAgICAgICAgICAgIGNvbnN0IGV4dCA9IGZpbGV4Lm5hbWUuc3BsaXQoJy4nKVsxXTtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0ge2ZpbGVTdHI6c3RyLCBmaWxlRXh0OmV4dH1cbiAgICAgICAgICAgIGNvbnN0IGRpbXhVcGxvYWRPYmplY3QgPSB7Li4udGhpcy5nZXRQRlNVcGxvYWRPYmplY3QodmFsdWUpLCAuLi50aGlzLmRpbXhJbXBvcnRPcHRpb25zLCBSZXNvdXJjZTp0aGlzLkRJTVhSZXNvdXJjZSwgQWRkb25VVUlEOnRoaXMuRElNWEFkZG9uVVVJRH07XG4gICAgICAgICAgICBjb25zdCBpRmlsZTpJRmlsZUV4dCA9IHRoaXMuY3JlYXRlTmV3SUZpbGUoZmlsZXgubmFtZSwgXCJ1cGxvYWRpbmdcIik7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgY3JlYXRlZCBuZXcgaUZpbGU6ICR7aUZpbGV9YCk7XG4gICAgICAgICAgICB0aGlzLmlGaWxlQXJyYXkucHVzaChpRmlsZSk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgYWRkZWQgaUZpbGUgdG8gaUZpbGVBcnJheWApO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB0cnl7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJwb3N0aW5nIHRvIGRpbXggaW1wb3J0X3VwbG9hZCBub3dcIik7XG4gICAgICAgICAgICAgICAgY29uc3QgaGVhZGVyOmFueSA9IHt9O1xuICAgICAgICAgICAgICAgIGlmKGRpbXhVcGxvYWRPYmplY3QuQWN0aW9uSUQpe1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJbXCJYLVBlcHBlcmktQWN0aW9uSURcIl09ZGlteFVwbG9hZE9iamVjdC5BY3Rpb25JRDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYoZGlteFVwbG9hZE9iamVjdC5Pd25lcklEKXtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyW1wiWC1QZXBwZXJpLU93bmVySURcIl09ZGlteFVwbG9hZE9iamVjdC5Pd25lcklEO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmFkZG9uU2VydmljZS5wYXBpQ2xpZW50LnBvc3QoZGlteF9pbXBvcnRfcmVsYXRpdmVVUkwsIGRpbXhVcGxvYWRPYmplY3QsIGhlYWRlcik7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJHb3QgcmVwbHkgZnJvbSBkaW14LCBjYWxsaW5nIHBvbGwgd2l0aCB0aGUgcmVzdWx0OlwiKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShyZXMpKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHBvbGxfcmVzdWx0ID0gYXdhaXQgdGhpcy5wb2xsRElNWFJlc3VsdChyZXNbJ0V4ZWN1dGlvblVVSUQnXSwgaUZpbGUpO1xuICAgICAgICAgICAgICAgIGlmIChwb2xsX3Jlc3VsdCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBkb25lIHBvbGxpbmcsIGdvdCByZXN1bHQ6ICR7SlNPTi5zdHJpbmdpZnkocG9sbF9yZXN1bHQpfWApO1xuICAgICAgICAgICAgICAgIGlGaWxlLnN0YXR1cyA9IFwiZG9uZVwiO1xuICAgICAgICAgICAgICAgIGlGaWxlLnJldHVybmVkT2JqZWN0ID0gcG9sbF9yZXN1bHQ7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5TZW5kRG9uZUV2ZW50SWZEb25lKCk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJJbXBvcnRlZCB0aGUgZmlsZVwiKTtcbiAgICAgICAgICAgICAgICAvL2F3YWl0IHRoaXMucmVtb3ZlSWZpbGVXaXRoRGVsYXkoaUZpbGUpO1xuICAgICAgICAgICAgICAgIC8vIGNoZWNrIGFsbCBkb25lXG4gICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoKGV4KXtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgRElNWEltcG9ydFJ1bjogJHtleH1gKTtcbiAgICAgICAgICAgICAgICBpRmlsZS5zdGF0dXMgPSBcImZhaWxlZFwiO1xuICAgICAgICAgICAgICAgIGlGaWxlLnJldHVybmVkT2JqZWN0ID0ge1wiRXJyb3JNZXNzYWdlXCI6IChleCBhcyB7bWVzc2FnZTpzdHJpbmd9KS5tZXNzYWdlfVxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuU2VuZERvbmVFdmVudElmRG9uZSgpO1xuICAgICAgICAgICAgICAgIC8vYXdhaXQgdGhpcy5yZW1vdmVJZmlsZVdpdGhEZWxheShpRmlsZSwgMjAwMCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgfSk7XG4gICAgfVxuICAgIGdldE5ld1BGU1VwbG9hZEtleShmaWxlRXh0OnN0cmluZyl7XG4gICAgICAgIGNvbnN0IHV1aWQgPSBQZXBHdWlkLm5ld0d1aWQoKTtcbiAgICAgICAgY29uc3QgZm9sZGVyID0gJ0RJTVhfaW1wb3J0JztcbiAgICAgICAgY29uc3QgcGZzS2V5ID0gYC8ke2ZvbGRlcn0vJHt1dWlkfS4ke2ZpbGVFeHR9YDtcbiAgICAgICAgcmV0dXJuIHBmc0tleTtcbiAgICB9XG4gICAgZ2V0UEZTVXBsb2FkT2JqZWN0KHZhbHVlOntmaWxlU3RyOnN0cmluZywgZmlsZUV4dDpzdHJpbmd9KXtcbiAgICAgICAgY29uc3QgZmlsZVN0ckFyciA9IHZhbHVlLmZpbGVTdHIuc3BsaXQoJzsnKTtcbiAgICAgICAgY29uc3QgbWltZSA9IGZpbGVTdHJBcnJbMF0uc3BsaXQoJzonKVsxXTtcbiAgICAgICAgY29uc3QgcGZzS2V5ID0gdGhpcy5nZXROZXdQRlNVcGxvYWRLZXkodmFsdWUuZmlsZUV4dCk7XG4gICAgICAgIGNvbnN0IHBmc1VwbG9hZE9iamVjdCA9IHtcbiAgICAgICAgICAgIFwiS2V5XCI6IHBmc0tleSxcbiAgICAgICAgICAgIFwiTUlNRVwiOiBtaW1lLFxuICAgICAgICAgICAgXCJVUklcIjp2YWx1ZS5maWxlU3RyXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBmc1VwbG9hZE9iamVjdDtcbiAgICB9XG5cbiAgICB0b0Jhc2U2NCA9IChmaWxlOmFueSkgPT4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXG4gICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICAgIFxuICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgICAgXG4gICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKHJlYWRlci5yZXN1bHQpO1xuICAgICAgICBcbiAgICAgICAgcmVhZGVyLm9uZXJyb3IgPSBlcnJvciA9PiByZWplY3QoZXJyb3IpO1xuICAgICAgICBcbiAgICAgICAgfSk7XG5cbiAgICBhc3luYyBESU1YRXhwb3J0UnVuKHZhbHVlOiB7XG4gICAgICAgIERJTVhFeHBvcnRGb3JtYXQ/OnN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydEluY2x1ZGVEZWxldGVkPzogYm9vbGVhbixcbiAgICAgICAgRElNWEV4cG9ydEZpbGVOYW1lPzogc3RyaW5nLFxuICAgICAgICBESU1YRXhwb3J0V2hlcmU/OiBzdHJpbmcsXG4gICAgICAgIERJTVhFeHBvcnRGaWVsZHM/OiBzdHJpbmcsXG4gICAgICAgIERJTVhFeHBvcnREZWxpbWl0ZXI/OnN0cmluZyxcbiAgICAgICAgQWN0aW9uSUQ/OnN0cmluZ1xuICAgIH0pIHtcbiAgICAgICAgaWYgKCF2YWx1ZSl7XG4gICAgICAgICAgICB2YWx1ZSA9IHt9O1xuICAgICAgICB9XG4gICAgICAgIGlmICghdmFsdWUuRElNWEV4cG9ydEZvcm1hdCl7XG4gICAgICAgICAgICB2YWx1ZS5ESU1YRXhwb3J0Rm9ybWF0ID0gJ2pzb24nO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdmFsdWUuRElNWEV4cG9ydEluY2x1ZGVEZWxldGVkKXtcbiAgICAgICAgICAgIHZhbHVlLkRJTVhFeHBvcnRJbmNsdWRlRGVsZXRlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdmFsdWUuRElNWEV4cG9ydEZpbGVOYW1lKXtcbiAgICAgICAgICAgIHZhbHVlLkRJTVhFeHBvcnRGaWxlTmFtZSA9ICdleHBvcnQnO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGJvZCA9IHRoaXMuZ2V0RElNWEV4cG9ydFBPU1RCb2R5KHZhbHVlID8gdmFsdWUgOiB7fSk7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gdGhpcy5nZXROZXdGaWxlTmFtZSh2YWx1ZSBhcyB7RElNWEV4cG9ydEZvcm1hdDpzdHJpbmcsIERJTVhFeHBvcnRGaWxlTmFtZTpzdHJpbmd9KTtcbiAgICAgICAgY29uc3QgaUZpbGU6SUZpbGVFeHQgPSB0aGlzLmNyZWF0ZU5ld0lGaWxlKGZpbGVOYW1lLCBcImRvd25sb2FkaW5nXCIpO1xuICAgICAgICBjb25zb2xlLmxvZyhgY3JlYXRlZCBuZXcgaUZpbGU6ICR7aUZpbGV9YCk7XG4gICAgICAgIHRoaXMuaUZpbGVBcnJheS5wdXNoKGlGaWxlKTtcbiAgICAgICAgY29uc29sZS5sb2coYGFkZGVkIGlGaWxlIHRvIGlGaWxlQXJyYXlgKTtcbiAgICAgXG4gICAgICAgIHRyeXtcblxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJwb3N0aW5nIHRvIGRpbXggZXhwb3J0IG5vd1wiKTtcbiAgICAgICAgICAgIGNvbnN0IGhlYWRlcjphbnkgPSB7fTtcbiAgICAgICAgICAgIGlmKHZhbHVlLkFjdGlvbklEKXtcbiAgICAgICAgICAgICAgICBoZWFkZXJbXCJYLVBlcHBlcmktQWN0aW9uSURcIl09dmFsdWUuQWN0aW9uSUQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmFkZG9uU2VydmljZS5wYXBpQ2xpZW50LnBvc3QoYC9hZGRvbnMvZGF0YS9leHBvcnQvZmlsZS8ke3RoaXMuRElNWEFkZG9uVVVJRH0vJHt0aGlzLkRJTVhSZXNvdXJjZX1gLCBib2QsIGhlYWRlcik7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkdvdCByZXBseSBmcm9tIGRpbXgsIGNhbGxpbmcgcG9sbCB3aXRoIHRoZSByZXN1bHQ6XCIpO1xuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucG9sbERJTVhSZXN1bHQocmVzWydFeGVjdXRpb25VVUlEJ10sIGlGaWxlKTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IG51bGwpe1xuICAgICAgICAgICAgICAgIHJldHVybiBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHVybCA9IHJlc3VsdFtcIkRvd25sb2FkVVJMXCJdO1xuXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImF0dGVtcHRpbmcgdG8gZG93bmxvYWQgdGhlIGZpbGVcIik7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgdXJsIGlzOiAke3VybH1gKTtcbiAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCBmZXRjaCh1cmwpLnRoZW4ociA9PiByLmJsb2IoKSk7XG4gICAgICAgICAgICBzYXZlQXMoYmxvYiwgZmlsZU5hbWUpO1xuICAgICAgICAgICAgaUZpbGUuc3RhdHVzID0gXCJkb25lXCI7XG4gICAgICAgICAgICBpRmlsZS5yZXR1cm5lZE9iamVjdCA9IHJlc3VsdDtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuU2VuZERvbmVFdmVudElmRG9uZSgpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJkb3dubG9hZGVkIHRoZSBmaWxlXCIpO1xuICAgICAgICAgICAgLy9hd2FpdCB0aGlzLnJlbW92ZUlmaWxlV2l0aERlbGF5KGlGaWxlKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaChleCl7XG4gICAgICAgICAgICBpRmlsZS5zdGF0dXM9IFwiZmFpbGVkXCI7XG4gICAgICAgICAgICBpRmlsZS5yZXR1cm5lZE9iamVjdCA9IHtcIkVycm9yTWVzc2FnZVwiOihleCBhcyB7bWVzc2FnZTpzdHJpbmd9KS5tZXNzYWdlfVxuICAgICAgICAgICAgYXdhaXQgdGhpcy5TZW5kRG9uZUV2ZW50SWZEb25lKCk7XG4gICAgICAgICAgICAvL2F3YWl0IHRoaXMucmVtb3ZlSWZpbGVXaXRoRGVsYXkoaUZpbGUpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coYGJ1dHRvbkNsaWNrOiAke2V4fWApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cblxuICAgXG5cbiAgIFxufVxuIiwiPHBlcC1maWxlLXN0YXR1cy1wYW5lbCBbdGl0bGVdPVwiJ0ZpbGUgSW1wb3J0cy9FeHBvcnRzJ1wiICpuZ0lmPVwiaUZpbGVBcnJheT8ubGVuZ3RoXCIgW2ZpbGVzTGlzdF09XCJpRmlsZUFycmF5XCI+PC9wZXAtZmlsZS1zdGF0dXMtcGFuZWw+XG48aW5wdXQgdHlwZT1cImZpbGVcIiBtdWx0aXBsZT1cIm11bHRpcGxlXCIgbmFtZT1cImF2YXRhcnNcIiBpZD1cImZpbGV1cGxvYWRlclwiICNmaWxlRmllbGQgKGNoYW5nZSk9XCJkaW14aW1wb3J0cnVuKCRldmVudClcIj5cbjwhLS0gPHBlcC1idXR0b25cbiAgdmFsdWU9XCJleHBvcnRcIlxuICBzdHlsZVR5cGU9XCJzdHJvbmdcIlxuICBzdHlsZVN0YXRlVHlwZT1cInN1Y2Nlc3NcIlxuICBzaXplVHlwZT1cInNtXCJcbiAgY2xhc3NOYW1lcz1cImhhaGFoXCJcbiAgaWNvbk5hbWU9XCJzeXN0ZW1fZG9jXCJcbiAgKGJ1dHRvbkNsaWNrKT1cImJ1dHRvbkNsaWNrKCRldmVudClcIlxuPjwvcGVwLWJ1dHRvbj4gLS0+Il19
|
|
335
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlteC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9kaW14LWV4cG9ydC9kaW14LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2RpbXgtZXhwb3J0L2RpbXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3RHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWxELE9BQU8sRUFBYyx3QkFBd0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDOzs7OztBQVMzRyxNQUFNLE9BQU8sYUFBYTtJQU90QixZQUNZLFNBQTJCLEVBQzVCLFlBQXlCLEVBQ3hCLGtCQUFzQztRQUZ0QyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUM1QixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN4Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBTnhDLG9CQUFlLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUQsb0JBQWUsR0FBa0QsSUFBSSxDQUFDO1FBbUc5RSxZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ1osZUFBVSxHQUFjLEVBQUUsQ0FBQztRQXFLM0IsYUFBUSxHQUFHLENBQUMsSUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUVyRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBRWhDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFM0IsTUFBTSxDQUFD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S0FFMkIsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNiLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBESU1YU2VydmljZSB9IGZyb20gJy4vZGlteC5zZXJ2aWNlJztcbmltcG9ydCB7IHNhdmVBcyB9IGZyb20gJ2ZpbGUtc2F2ZXInO1xuaW1wb3J0IHsgUGVwR3VpZCB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IElGaWxlRXh0IH0gZnJvbSAnLic7XG5pbXBvcnQgeyBGaWxlU3RhdHVzLCBGaWxlU3RhdHVzUGFuZWxDb21wb25lbnQgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWNvbXBvc2l0ZS1saWIvZmlsZS1zdGF0dXMtcGFuZWwnO1xuaW1wb3J0IHsgUGVwU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvc25hY2stYmFyJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtZGlteCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RpbXguY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RpbXguY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBESU1YQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKCdmaWxlRmllbGQnKSBmaWxlRmllbGQ6RWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBESU1YQWRkb25VVUlEITogc3RyaW5nO1xuICAgIEBJbnB1dCgpIERJTVhSZXNvdXJjZSE6IHN0cmluZztcbiAgICBAT3V0cHV0KCkgRElNWFByb2Nlc3NEb25lOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBkaW14SW1wb3J0T3B0aW9uczogeyBPdmVyd3JpdGVPQmplY3Q/OiBib29sZWFuIHwgdW5kZWZpbmVkOyBEZWxpbWl0ZXI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7IE93bmVySUQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7IEFjdGlvbklEPzogc3RyaW5nIHwgdW5kZWZpbmVkfSB8IHVuZGVmaW5lZDtcbiAgICBwcml2YXRlIGN1cnJlbnRTbmFja0JhcjogTWF0U25hY2tCYXJSZWY8RmlsZVN0YXR1c1BhbmVsQ29tcG9uZW50PnxudWxsID0gbnVsbDtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBhZGRvblNlcnZpY2U6IERJTVhTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHBlcFNuYWNrQmFyU2VydmljZTogUGVwU25hY2tCYXJTZXJ2aWNlLFxuICAgICkge1xuXG4gICAgfVxuXG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHsgXG4gICAgICAgIC8vIEdldCB0aGUgZmlyc3QgdHJhbnNsYXRpb24gZm9yIGxvYWQgYWxsIHRyYW5zbGF0aW9ucy5cbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdTSEFET1dfU0VUVElOR1MuSU5URU5TSVRZX1NPRlQnKS50b1Byb21pc2UoKS50aGVuKCh0eXBlU29mdCkgPT4geyBjb25zb2xlLmxvZyhcInNvbWV0aGluZ1wiKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0RElNWEV4cG9ydFBPU1RCb2R5KHZhbHVlOntcbiAgICAgICAgRElNWEV4cG9ydEZvcm1hdD86c3RyaW5nLFxuICAgICAgICBESU1YRXhwb3J0SW5jbHVkZURlbGV0ZWQ/OiBib29sZWFuLFxuICAgICAgICBESU1YRXhwb3J0RmlsZU5hbWU/OiBzdHJpbmcsXG4gICAgICAgIERJTVhFeHBvcnRXaGVyZT86IHN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydEZpZWxkcz86IHN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydERlbGltaXRlcj86c3RyaW5nXG4gICAgfSl7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBcIkZvcm1hdFwiOnZhbHVlLkRJTVhFeHBvcnRGb3JtYXQsXG4gICAgICAgICAgICBcIkluY2x1ZGVEZWxldGVkXCI6dmFsdWUuRElNWEV4cG9ydEluY2x1ZGVEZWxldGVkLFxuICAgICAgICAgICAgXCJXaGVyZVwiOnZhbHVlLkRJTVhFeHBvcnRXaGVyZSxcbiAgICAgICAgICAgIFwiRmllbGRzXCI6dmFsdWUuRElNWEV4cG9ydEZpZWxkcyxcbiAgICAgICAgICAgIFwiRGVsaW1pdGVyXCI6dmFsdWUuRElNWEV4cG9ydERlbGltaXRlclxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgcG9sbERJTVhSZXN1bHQocG9sbGluZ1VSTDpzdHJpbmcsIGlmaWxlOklGaWxlRXh0KXtcbiAgICAgICAgY29uc29sZS5sb2coYHBvbGxpbmcgYXVkaXQgd2l0aCB0aGUgZXhlY3V0aW9uVVVJRDogJHtwb2xsaW5nVVJMfWApO1xuICAgICAgICBjb25zdCBkZWxheSA9IChtczogbnVtYmVyKSA9PiBuZXcgUHJvbWlzZShyZXMgPT4gc2V0VGltZW91dChyZXMsIG1zKSk7XG4gICAgICAgIGxldCBzZWNvbmRzID0gMDtcbiAgICAgICAgY29uc3Qgd2FpdGluZ1RpbWUgPSAxMDAwOyAvL2luIG1zXG4gICAgICAgIHRyeXtcbiAgICAgICAgICAgIGxldCByZXN1bHQ7XG4gICAgICAgICAgICB3aGlsZSh0cnVlKXtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSBhd2FpdCB0aGlzLmFkZG9uU2VydmljZS5wYXBpQ2xpZW50LmdldChgL2F1ZGl0X2xvZ3MvJHtwb2xsaW5nVVJMfWApO1xuICAgICAgICBcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgcmVzdWx0IGZyb20gYXVkaXRsb2cgZ2V0IGlzOiAke3Jlc3VsdH1gKTtcbiAgICAgICAgICAgICAgICBpZiggIXJlc3VsdCB8fCByZXN1bHRbXCJTdGF0dXNcIl1bXCJJRFwiXSA9PT0gMiB8fCByZXN1bHRbXCJTdGF0dXNcIl1bXCJJRFwiXSA9PT0gNCl7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGB3YWl0ZWQgZm9yICR7c2Vjb25kcysrfSBzZWNvbmRzYCk7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IGRlbGF5KHdhaXRpbmdUaW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3dpdGNoKHJlc3VsdFtcIlN0YXR1c1wiXVtcIklEXCJdKXtcbiAgICAgICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgICAgIGlmaWxlLnN0YXR1cyA9IFwiZmFpbGVkXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmaWxlLnJldHVybmVkT2JqZWN0ID0ge1wiRXJyb3JNZXNzYWdlXCI6IHJlc3VsdFtcIkF1ZGl0SW5mb1wiXVtcIkVycm9yTWVzc2FnZVwiXX1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTbmFja2JhcigpO1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLlNlbmREb25lRXZlbnRJZkRvbmUoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgcG9sbGluZyByZXN1bHQ6ICR7cmVzdWx0W1wiQXVkaXRJbmZvXCJdW1wiUmVzdWx0T2JqZWN0XCJdfWApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShyZXN1bHRbXCJBdWRpdEluZm9cIl1bXCJSZXN1bHRPYmplY3RcIl0pO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIGlmaWxlLnN0YXR1cyA9IFwiZmFpbGVkXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmaWxlLnJldHVybmVkT2JqZWN0ID0ge1wiRXJyb3JNZXNzYWdlXCI6IGB1bmtub3duIGF1ZGl0IGxvZyB0eXBlOiAke3Jlc3VsdFtcIlN0YXR1c1wiXX1gfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVNuYWNrYmFyKCk7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuU2VuZERvbmVFdmVudElmRG9uZSgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhdGNoKGV4KXtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBwb2xsRElNWFJlc3VsdDogJHtleH1gKTtcbiAgICAgICAgICAgIGlmaWxlLnN0YXR1cyA9IFwiZmFpbGVkXCI7XG4gICAgICAgICAgICBpZmlsZS5yZXR1cm5lZE9iamVjdCA9IHtcIkVycm9yTWVzc2FnZVwiOiAoZXggYXMge21lc3NhZ2U6c3RyaW5nfSkubWVzc2FnZX07XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNuYWNrYmFyKCk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLlNlbmREb25lRXZlbnRJZkRvbmUoKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0TmV3RmlsZU5hbWUodmFsdWU6e1xuICAgICAgICBESU1YRXhwb3J0Rm9ybWF0OnN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydEZpbGVOYW1lOiBzdHJpbmcsXG4gICAgfSl7XG4gICAgICAgIGxldCBleHRlbnNpb247XG4gICAgICAgIHN3aXRjaCAodmFsdWUuRElNWEV4cG9ydEZvcm1hdC50b0xvd2VyQ2FzZSgpKXtcbiAgICAgICAgICAgIGNhc2UgXCJqc29uXCI6XG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uID0gXCIuanNvblwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcImNzdlwiOlxuICAgICAgICAgICAgICAgIGV4dGVuc2lvbiA9ICcuY3N2JztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uID0gXCJcIjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmaWxlbmFtZSA9IHZhbHVlLkRJTVhFeHBvcnRGaWxlTmFtZTtcbiAgICAgICAgcmV0dXJuIGZpbGVuYW1lK2V4dGVuc2lvbjtcbiAgICB9XG4gICAgXG4gICAgaUZpbGVJRCA9IDA7XG4gICAgaUZpbGVBcnJheTpJRmlsZUV4dFtdID0gW107XG4gICAgY3JlYXRlTmV3SUZpbGUoZmlsZU5hbWU6c3RyaW5nICwgc3RhdHVzOlwiZG93bmxvYWRpbmdcInxcInVwbG9hZGluZ1wiKTpJRmlsZUV4dHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIFwia2V5XCI6dGhpcy5pRmlsZUlEKyssXG4gICAgICAgICAgICBcIm5hbWVcIjpmaWxlTmFtZSxcbiAgICAgICAgICAgIFwic3RhdHVzXCI6c3RhdHVzfTtcbiAgICB9XG5cbiAgICBhc3luYyByZW1vdmVJZmlsZXNXaXRoRGVsYXkoaUZpbGU6RmlsZVN0YXR1cywgZGVsYXkgPSAyMDAwKSB7XG4gICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pRmlsZUFycmF5LmZpbmRJbmRleChlbGVtZW50ID0+IGVsZW1lbnQgPT09IGlGaWxlKTtcbiAgICAgICAgICAgIGlmIChpbmRleCA+PSAwKXtcbiAgICAgICAgICAgICAgICB0aGlzLmlGaWxlQXJyYXkuc3BsaWNlKGluZGV4LDEpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU25hY2tiYXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgZGVsYXkpXG4gICAgfVxuXG4gICAgYXN5bmMgY2xlYXJJRmlsZXNXaXRoRGVsYXkoZGVsYXkgPSAyMDAwKXtcbiAgICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pRmlsZUFycmF5ID0gW107XG4gICAgICAgICAgICAvL3RoaXMuY3VycmVudFNuYWNrQmFyPy5pbnN0YW5jZS5jbG9zZUNsaWNrLmVtaXQoKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU25hY2tiYXIoKTtcbiAgICAgICAgfSwgZGVsYXkpXG4gICAgfVxuXG5cbiAgICB1cGxvYWRGaWxlKG9wdGlvbnM/OntPdmVyd3JpdGVPQmplY3Q/OmJvb2xlYW4sIERlbGltaXRlcj86c3RyaW5nLCBPd25lcklEPzpzdHJpbmcsIEFjdGlvbklEPzpzdHJpbmd9KXtcbiAgICAgICAgdGhpcy5kaW14SW1wb3J0T3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImZpbGV1cGxvYWRlclwiKTtcbiAgIGlmKGVsZW0gJiYgZG9jdW1lbnQuY3JlYXRlRXZlbnQpIHtcbiAgICAgIGNvbnN0IGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KFwiTW91c2VFdmVudHNcIik7XG4gICAgICBldnQuaW5pdEV2ZW50KFwiY2xpY2tcIiwgdHJ1ZSwgZmFsc2UpO1xuICAgICAgZWxlbS5kaXNwYXRjaEV2ZW50KGV2dCk7XG4gICB9XG4gICAgICAgIC8vIHRoaXMuZmlsZUZpZWxkPy5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgfSAgIFxuXG4gICAgSXNGaWxlSW5Qcm9ncmVzcyhpRmlsZTpGaWxlU3RhdHVzKXtcbiAgICAgICAgcmV0dXJuIGlGaWxlLnN0YXR1cyA9PSBcImRvd25sb2FkaW5nXCIgfHwgaUZpbGUuc3RhdHVzID09IFwidXBsb2FkaW5nXCI7XG4gICAgfVxuXG4gICAgQW55RmlsZXNJblByb2dyZXNzKCl7XG4gICAgICAgIGlmICh0aGlzLmlGaWxlQXJyYXkuZmluZCh0aGlzLklzRmlsZUluUHJvZ3Jlc3MpID09PSB1bmRlZmluZWQpe1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgR2V0RG9uZUV2ZW50Qm9keSgpe1xuICAgICAgICByZXR1cm4gdGhpcy5pRmlsZUFycmF5Lm1hcChpRmlsZSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIFwiRmlsZU5hbWVcIjogaUZpbGUubmFtZSwgXG4gICAgICAgICAgICAgICAgXCJTdGF0dXNcIjogaUZpbGUuc3RhdHVzLFxuICAgICAgICAgICAgICAgIFwiUmV0dXJuZWRPYmplY3RcIjogaUZpbGUucmV0dXJuZWRPYmplY3QhXG4gICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYXN5bmMgU2VuZERvbmVFdmVudElmRG9uZSgpe1xuICAgICAgICBpZiAodGhpcy5BbnlGaWxlc0luUHJvZ3Jlc3MoKSl7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZXZlbnRPYmplY3Q6YW55ID0gdGhpcy5HZXREb25lRXZlbnRCb2R5KCk7XG4gICAgICAgIHRoaXMuRElNWFByb2Nlc3NEb25lLmVtaXQoZXZlbnRPYmplY3QpO1xuICAgICAgICBhd2FpdCB0aGlzLmNsZWFySUZpbGVzV2l0aERlbGF5KCk7XG4gICAgfVxuXG4gICAgdXBkYXRlU25hY2tiYXIoKXtcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRTbmFja0Jhcj8uaW5zdGFuY2Upe1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50U25hY2tCYXIgPSB0aGlzLnBlcFNuYWNrQmFyU2VydmljZS5vcGVuU25hY2tCYXJGcm9tQ29tcG9uZW50KEZpbGVTdGF0dXNQYW5lbENvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkRJTVggUHJvY2Vzc1wiLFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHRoaXMuaUZpbGVBcnJheVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFNuYWNrQmFyLmluc3RhbmNlLmNsb3NlQ2xpY2suc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRTbmFja0JhciA9IG51bGw7XG5cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2V7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTbmFja0Jhci5pbnN0YW5jZS5kYXRhLmNvbnRlbnQgPSB0aGlzLmlGaWxlQXJyYXk7XG4gICAgICAgICAgICBpZiAodGhpcy5pRmlsZUFycmF5Lmxlbmd0aCA9PT0gMCl7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50U25hY2tCYXIuaW5zdGFuY2Uuc25hY2tCYXJSZWYuZGlzbWlzcygpO1xuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFNuYWNrQmFyID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIGRpbXhpbXBvcnRydW4oZTphbnkpIHtcbiAgICAgICAgY29uc29sZS5sb2coXCJFbnRlciBESU1YSW1wb3J0UnVuXCIpO1xuICAgICAgICBjb25zdCBmaWxlcyA9IGUudGFyZ2V0LmZpbGVzO1xuICAgICAgICBjb25zdCBmaWxlTGlzdEFzQXJyYXkgPSBBcnJheS5mcm9tKGZpbGVzKTtcbiAgICAgICAgZmlsZUxpc3RBc0FycmF5LmZvckVhY2goYXN5bmMgKGZpbGUsIGkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGV4ID0gKGZpbGUgYXMgSFRNTElucHV0RWxlbWVudCk7XG4gICAgICAgICAgICBjb25zdCBkaW14X2ltcG9ydF9yZWxhdGl2ZVVSTCA9IGAvYWRkb25zL2FwaS80NGM5NzExNS02ZDE0LTQ2MjYtOTFkYy04M2YxNzZlOWEwZmMvYXBpL2ZpbGVfaW1wb3J0X3VwbG9hZGA7XG4gICAgICAgICAgICBjb25zdCBzdHIgPSAoYXdhaXQgdGhpcy50b0Jhc2U2NChmaWxleCkpIGFzIHN0cmluZzsgLy8/Pz9cbiAgICAgICAgICAgIGNvbnN0IGV4dCA9IGZpbGV4Lm5hbWUuc3BsaXQoJy4nKVsxXTtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0ge2ZpbGVTdHI6c3RyLCBmaWxlRXh0OmV4dH1cbiAgICAgICAgICAgIGNvbnN0IGRpbXhVcGxvYWRPYmplY3QgPSB7Li4udGhpcy5nZXRQRlNVcGxvYWRPYmplY3QodmFsdWUpLCAuLi50aGlzLmRpbXhJbXBvcnRPcHRpb25zLCBSZXNvdXJjZTp0aGlzLkRJTVhSZXNvdXJjZSwgQWRkb25VVUlEOnRoaXMuRElNWEFkZG9uVVVJRH07XG4gICAgICAgICAgICBjb25zdCBpRmlsZTpJRmlsZUV4dCA9IHRoaXMuY3JlYXRlTmV3SUZpbGUoZmlsZXgubmFtZSwgXCJ1cGxvYWRpbmdcIik7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgY3JlYXRlZCBuZXcgaUZpbGU6ICR7aUZpbGV9YCk7XG4gICAgICAgICAgICB0aGlzLmlGaWxlQXJyYXkucHVzaChpRmlsZSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNuYWNrYmFyKCk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgYWRkZWQgaUZpbGUgdG8gaUZpbGVBcnJheWApO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB0cnl7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJwb3N0aW5nIHRvIGRpbXggaW1wb3J0X3VwbG9hZCBub3dcIik7XG4gICAgICAgICAgICAgICAgY29uc3QgaGVhZGVyOmFueSA9IHt9O1xuICAgICAgICAgICAgICAgIGlmKGRpbXhVcGxvYWRPYmplY3QuQWN0aW9uSUQpe1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJbXCJYLVBlcHBlcmktQWN0aW9uSURcIl09ZGlteFVwbG9hZE9iamVjdC5BY3Rpb25JRDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYoZGlteFVwbG9hZE9iamVjdC5Pd25lcklEKXtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyW1wiWC1QZXBwZXJpLU93bmVySURcIl09ZGlteFVwbG9hZE9iamVjdC5Pd25lcklEO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmFkZG9uU2VydmljZS5wYXBpQ2xpZW50LnBvc3QoZGlteF9pbXBvcnRfcmVsYXRpdmVVUkwsIGRpbXhVcGxvYWRPYmplY3QsIGhlYWRlcik7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJHb3QgcmVwbHkgZnJvbSBkaW14LCBjYWxsaW5nIHBvbGwgd2l0aCB0aGUgcmVzdWx0OlwiKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShyZXMpKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHBvbGxfcmVzdWx0ID0gYXdhaXQgdGhpcy5wb2xsRElNWFJlc3VsdChyZXNbJ0V4ZWN1dGlvblVVSUQnXSwgaUZpbGUpO1xuICAgICAgICAgICAgICAgIGlmIChwb2xsX3Jlc3VsdCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBkb25lIHBvbGxpbmcsIGdvdCByZXN1bHQ6ICR7SlNPTi5zdHJpbmdpZnkocG9sbF9yZXN1bHQpfWApO1xuICAgICAgICAgICAgICAgIGlGaWxlLnN0YXR1cyA9IFwiZG9uZVwiO1xuICAgICAgICAgICAgICAgIGlGaWxlLnJldHVybmVkT2JqZWN0ID0gcG9sbF9yZXN1bHQ7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTbmFja2JhcigpO1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuU2VuZERvbmVFdmVudElmRG9uZSgpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiSW1wb3J0ZWQgdGhlIGZpbGVcIik7XG4gICAgICAgICAgICAgICAgLy9hd2FpdCB0aGlzLnJlbW92ZUlmaWxlV2l0aERlbGF5KGlGaWxlKTtcbiAgICAgICAgICAgICAgICAvLyBjaGVjayBhbGwgZG9uZVxuICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaChleCl7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYERJTVhJbXBvcnRSdW46ICR7ZXh9YCk7XG4gICAgICAgICAgICAgICAgaUZpbGUuc3RhdHVzID0gXCJmYWlsZWRcIjtcbiAgICAgICAgICAgICAgICBpRmlsZS5yZXR1cm5lZE9iamVjdCA9IHtcIkVycm9yTWVzc2FnZVwiOiAoZXggYXMge21lc3NhZ2U6c3RyaW5nfSkubWVzc2FnZX1cbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVNuYWNrYmFyKCk7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5TZW5kRG9uZUV2ZW50SWZEb25lKCk7XG4gICAgICAgICAgICAgICAgLy9hd2FpdCB0aGlzLnJlbW92ZUlmaWxlV2l0aERlbGF5KGlGaWxlLCAyMDAwKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgXG4gICAgICAgICAgICB9KTtcbiAgICB9XG4gICAgZ2V0TmV3UEZTVXBsb2FkS2V5KGZpbGVFeHQ6c3RyaW5nKXtcbiAgICAgICAgY29uc3QgdXVpZCA9IFBlcEd1aWQubmV3R3VpZCgpO1xuICAgICAgICBjb25zdCBmb2xkZXIgPSAnRElNWF9pbXBvcnQnO1xuICAgICAgICBjb25zdCBwZnNLZXkgPSBgLyR7Zm9sZGVyfS8ke3V1aWR9LiR7ZmlsZUV4dH1gO1xuICAgICAgICByZXR1cm4gcGZzS2V5O1xuICAgIH1cbiAgICBnZXRQRlNVcGxvYWRPYmplY3QodmFsdWU6e2ZpbGVTdHI6c3RyaW5nLCBmaWxlRXh0OnN0cmluZ30pe1xuICAgICAgICBjb25zdCBmaWxlU3RyQXJyID0gdmFsdWUuZmlsZVN0ci5zcGxpdCgnOycpO1xuICAgICAgICBjb25zdCBtaW1lID0gZmlsZVN0ckFyclswXS5zcGxpdCgnOicpWzFdO1xuICAgICAgICBjb25zdCBwZnNLZXkgPSB0aGlzLmdldE5ld1BGU1VwbG9hZEtleSh2YWx1ZS5maWxlRXh0KTtcbiAgICAgICAgY29uc3QgcGZzVXBsb2FkT2JqZWN0ID0ge1xuICAgICAgICAgICAgXCJLZXlcIjogcGZzS2V5LFxuICAgICAgICAgICAgXCJNSU1FXCI6IG1pbWUsXG4gICAgICAgICAgICBcIlVSSVwiOnZhbHVlLmZpbGVTdHJcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGZzVXBsb2FkT2JqZWN0O1xuICAgIH1cblxuICAgIHRvQmFzZTY0ID0gKGZpbGU6YW55KSA9PiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cbiAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgXG4gICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgICAgICBcbiAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHJlc29sdmUocmVhZGVyLnJlc3VsdCk7XG4gICAgICAgIFxuICAgICAgICByZWFkZXIub25lcnJvciA9IGVycm9yID0+IHJlamVjdChlcnJvcik7XG4gICAgICAgIFxuICAgICAgICB9KTtcblxuICAgIGFzeW5jIERJTVhFeHBvcnRSdW4odmFsdWU6IHtcbiAgICAgICAgRElNWEV4cG9ydEZvcm1hdD86c3RyaW5nLFxuICAgICAgICBESU1YRXhwb3J0SW5jbHVkZURlbGV0ZWQ/OiBib29sZWFuLFxuICAgICAgICBESU1YRXhwb3J0RmlsZU5hbWU/OiBzdHJpbmcsXG4gICAgICAgIERJTVhFeHBvcnRXaGVyZT86IHN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydEZpZWxkcz86IHN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydERlbGltaXRlcj86c3RyaW5nLFxuICAgICAgICBBY3Rpb25JRD86c3RyaW5nXG4gICAgfSkge1xuICAgICAgICBpZiAoIXZhbHVlKXtcbiAgICAgICAgICAgIHZhbHVlID0ge307XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF2YWx1ZS5ESU1YRXhwb3J0Rm9ybWF0KXtcbiAgICAgICAgICAgIHZhbHVlLkRJTVhFeHBvcnRGb3JtYXQgPSAnanNvbic7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF2YWx1ZS5ESU1YRXhwb3J0SW5jbHVkZURlbGV0ZWQpe1xuICAgICAgICAgICAgdmFsdWUuRElNWEV4cG9ydEluY2x1ZGVEZWxldGVkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF2YWx1ZS5ESU1YRXhwb3J0RmlsZU5hbWUpe1xuICAgICAgICAgICAgdmFsdWUuRElNWEV4cG9ydEZpbGVOYW1lID0gJ2V4cG9ydCc7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYm9kID0gdGhpcy5nZXRESU1YRXhwb3J0UE9TVEJvZHkodmFsdWUgPyB2YWx1ZSA6IHt9KTtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSB0aGlzLmdldE5ld0ZpbGVOYW1lKHZhbHVlIGFzIHtESU1YRXhwb3J0Rm9ybWF0OnN0cmluZywgRElNWEV4cG9ydEZpbGVOYW1lOnN0cmluZ30pO1xuICAgICAgICBjb25zdCBpRmlsZTpJRmlsZUV4dCA9IHRoaXMuY3JlYXRlTmV3SUZpbGUoZmlsZU5hbWUsIFwiZG93bmxvYWRpbmdcIik7XG4gICAgICAgIGNvbnNvbGUubG9nKGBjcmVhdGVkIG5ldyBpRmlsZTogJHtpRmlsZX1gKTtcbiAgICAgICAgdGhpcy5pRmlsZUFycmF5LnB1c2goaUZpbGUpO1xuICAgICAgICB0aGlzLnVwZGF0ZVNuYWNrYmFyKCk7XG4gICAgICAgIGNvbnNvbGUubG9nKGBhZGRlZCBpRmlsZSB0byBpRmlsZUFycmF5YCk7XG4gICAgIFxuICAgICAgICB0cnl7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwicG9zdGluZyB0byBkaW14IGV4cG9ydCBub3dcIik7XG4gICAgICAgICAgICBjb25zdCBoZWFkZXI6YW55ID0ge307XG4gICAgICAgICAgICBpZih2YWx1ZS5BY3Rpb25JRCl7XG4gICAgICAgICAgICAgICAgaGVhZGVyW1wiWC1QZXBwZXJpLUFjdGlvbklEXCJdPXZhbHVlLkFjdGlvbklEO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5hZGRvblNlcnZpY2UucGFwaUNsaWVudC5wb3N0KGAvYWRkb25zL2RhdGEvZXhwb3J0L2ZpbGUvJHt0aGlzLkRJTVhBZGRvblVVSUR9LyR7dGhpcy5ESU1YUmVzb3VyY2V9YCwgYm9kLCBoZWFkZXIpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJHb3QgcmVwbHkgZnJvbSBkaW14LCBjYWxsaW5nIHBvbGwgd2l0aCB0aGUgcmVzdWx0OlwiKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlcyk7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnBvbGxESU1YUmVzdWx0KHJlc1snRXhlY3V0aW9uVVVJRCddLCBpRmlsZSk7XG4gICAgICAgICAgICBpZiAocmVzdWx0ID09PSBudWxsKXtcbiAgICAgICAgICAgICAgICByZXR1cm4gXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB1cmwgPSByZXN1bHRbXCJEb3dubG9hZFVSTFwiXTtcblxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJhdHRlbXB0aW5nIHRvIGRvd25sb2FkIHRoZSBmaWxlXCIpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coYHVybCBpczogJHt1cmx9YCk7XG4gICAgICAgICAgICBjb25zdCBibG9iID0gYXdhaXQgZmV0Y2godXJsKS50aGVuKHIgPT4gci5ibG9iKCkpO1xuICAgICAgICAgICAgc2F2ZUFzKGJsb2IsIGZpbGVOYW1lKTtcbiAgICAgICAgICAgIGlGaWxlLnN0YXR1cyA9IFwiZG9uZVwiO1xuICAgICAgICAgICAgaUZpbGUucmV0dXJuZWRPYmplY3QgPSByZXN1bHQ7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNuYWNrYmFyKCk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLlNlbmREb25lRXZlbnRJZkRvbmUoKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZG93bmxvYWRlZCB0aGUgZmlsZVwiKTtcbiAgICAgICAgICAgIC8vYXdhaXQgdGhpcy5yZW1vdmVJZmlsZVdpdGhEZWxheShpRmlsZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2goZXgpe1xuICAgICAgICAgICAgaUZpbGUuc3RhdHVzPSBcImZhaWxlZFwiO1xuICAgICAgICAgICAgaUZpbGUucmV0dXJuZWRPYmplY3QgPSB7XCJFcnJvck1lc3NhZ2VcIjooZXggYXMge21lc3NhZ2U6c3RyaW5nfSkubWVzc2FnZX1cbiAgICAgICAgICAgIHRoaXMudXBkYXRlU25hY2tiYXIoKTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuU2VuZERvbmVFdmVudElmRG9uZSgpO1xuICAgICAgICAgICAgLy9hd2FpdCB0aGlzLnJlbW92ZUlmaWxlV2l0aERlbGF5KGlGaWxlKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBidXR0b25DbGljazogJHtleH1gKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG5cbiAgIFxuXG4gICBcbn1cbiIsIjwhLS0gPHBlcC1maWxlLXN0YXR1cy1wYW5lbCBbdGl0bGVdPVwiJ0ZpbGUgSW1wb3J0cy9FeHBvcnRzJ1wiICpuZ0lmPVwiaUZpbGVBcnJheT8ubGVuZ3RoXCIgW2ZpbGVzTGlzdF09XCJpRmlsZUFycmF5XCI+PC9wZXAtZmlsZS1zdGF0dXMtcGFuZWw+IC0tPlxuPGlucHV0IHR5cGU9XCJmaWxlXCIgbXVsdGlwbGU9XCJtdWx0aXBsZVwiIG5hbWU9XCJhdmF0YXJzXCIgaWQ9XCJmaWxldXBsb2FkZXJcIiAjZmlsZUZpZWxkIChjaGFuZ2UpPVwiZGlteGltcG9ydHJ1bigkZXZlbnQpXCI+XG48IS0tIDxwZXAtYnV0dG9uXG4gIHZhbHVlPVwiZXhwb3J0XCJcbiAgc3R5bGVUeXBlPVwic3Ryb25nXCJcbiAgc3R5bGVTdGF0ZVR5cGU9XCJzdWNjZXNzXCJcbiAgc2l6ZVR5cGU9XCJzbVwiXG4gIGNsYXNzTmFtZXM9XCJoYWhhaFwiXG4gIGljb25OYW1lPVwic3lzdGVtX2RvY1wiXG4gIChidXR0b25DbGljayk9XCJidXR0b25DbGljaygkZXZlbnQpXCJcbj48L3BlcC1idXR0b24+IC0tPiJdfQ==
|
|
@@ -6,6 +6,7 @@ import { pepIconSystemDoc } from '@pepperi-addons/ngx-lib/icon';
|
|
|
6
6
|
import { PepButtonModule } from '@pepperi-addons/ngx-lib/button';
|
|
7
7
|
import { PepIconModule } from '@pepperi-addons/ngx-lib/icon';
|
|
8
8
|
import { PepFileStatusPanelModule } from '@pepperi-addons/ngx-composite-lib/file-status-panel';
|
|
9
|
+
import { PepSnackBarModule } from '@pepperi-addons/ngx-lib/snack-bar';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
import * as i1 from "@pepperi-addons/ngx-lib/icon";
|
|
11
12
|
const pepIcons = [
|
|
@@ -22,13 +23,15 @@ PepDIMXModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
|
|
|
22
23
|
PepNgxLibModule,
|
|
23
24
|
PepButtonModule,
|
|
24
25
|
PepIconModule,
|
|
25
|
-
PepFileStatusPanelModule
|
|
26
|
+
PepFileStatusPanelModule,
|
|
27
|
+
PepSnackBarModule], exports: [DIMXComponent] });
|
|
26
28
|
PepDIMXModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepDIMXModule, imports: [[
|
|
27
29
|
CommonModule,
|
|
28
30
|
PepNgxLibModule,
|
|
29
31
|
PepButtonModule,
|
|
30
32
|
PepIconModule,
|
|
31
33
|
PepFileStatusPanelModule,
|
|
34
|
+
PepSnackBarModule,
|
|
32
35
|
]] });
|
|
33
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepDIMXModule, decorators: [{
|
|
34
37
|
type: NgModule,
|
|
@@ -42,8 +45,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
|
|
|
42
45
|
PepButtonModule,
|
|
43
46
|
PepIconModule,
|
|
44
47
|
PepFileStatusPanelModule,
|
|
48
|
+
PepSnackBarModule,
|
|
45
49
|
],
|
|
46
50
|
exports: [DIMXComponent]
|
|
47
51
|
}]
|
|
48
52
|
}], ctorParameters: function () { return [{ type: i1.PepIconRegistry }]; } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlteC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9kaW14LWV4cG9ydC9kaW14Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBbUIsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFFdEUsTUFBTSxRQUFRLEdBQUc7SUFDYixnQkFBZ0I7Q0FDbkIsQ0FBQTtBQWdCRCxNQUFNLE9BQU8sYUFBYTtJQUN0QixZQUNZLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUV4QyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRCxDQUFDOzswR0FMUSxhQUFhOzJHQUFiLGFBQWEsaUJBWmxCLGFBQWEsYUFHYixZQUFZO1FBQ1osZUFBZTtRQUNmLGVBQWU7UUFDZixhQUFhO1FBQ2Isd0JBQXdCO1FBQ3hCLGlCQUFpQixhQUVYLGFBQWE7MkdBRWQsYUFBYSxZQVZiO1lBQ0wsWUFBWTtZQUNaLGVBQWU7WUFDZixlQUFlO1lBQ2YsYUFBYTtZQUNiLHdCQUF3QjtZQUN4QixpQkFBaUI7U0FDcEI7MkZBR1EsYUFBYTtrQkFkekIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsYUFBYTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixlQUFlO3dCQUNmLGFBQWE7d0JBQ2Isd0JBQXdCO3dCQUN4QixpQkFBaUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBlcE5neExpYk1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IERJTVhDb21wb25lbnQgfSBmcm9tICcuL2RpbXguY29tcG9uZW50JztcbmltcG9ydCB7IFBlcEljb25SZWdpc3RyeSwgcGVwSWNvblN5c3RlbURvYyB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xuaW1wb3J0IHsgUGVwQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvYnV0dG9uJztcbmltcG9ydCB7IFBlcEljb25Nb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9pY29uJztcbmltcG9ydCB7IFBlcEZpbGVTdGF0dXNQYW5lbE1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtY29tcG9zaXRlLWxpYi9maWxlLXN0YXR1cy1wYW5lbCc7XG5pbXBvcnQgeyBQZXBTbmFja0Jhck1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3NuYWNrLWJhcic7XG5cbmNvbnN0IHBlcEljb25zID0gW1xuICAgIHBlcEljb25TeXN0ZW1Eb2MsXG5dXG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIERJTVhDb21wb25lbnRcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBQZXBOZ3hMaWJNb2R1bGUsXG4gICAgICAgIFBlcEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgUGVwSWNvbk1vZHVsZSxcbiAgICAgICAgUGVwRmlsZVN0YXR1c1BhbmVsTW9kdWxlLFxuICAgICAgICBQZXBTbmFja0Jhck1vZHVsZSxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtESU1YQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBQZXBESU1YTW9kdWxlIHsgXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcGVwSWNvblJlZ2lzdHJ5OiBQZXBJY29uUmVnaXN0cnksXG4gICAgKSB7XG4gICAgICAgIHRoaXMucGVwSWNvblJlZ2lzdHJ5LnJlZ2lzdGVySWNvbnMocGVwSWNvbnMpO1xuICAgIH1cblxuXG59XG4iXX0=
|
|
@@ -9,10 +9,10 @@ export class DIMXService {
|
|
|
9
9
|
this.session = session;
|
|
10
10
|
this.pepperiDataConverter = pepperiDataConverter;
|
|
11
11
|
this.pepHttp = pepHttp;
|
|
12
|
-
|
|
12
|
+
this.tempToken = "eyJhbGciOiJSUzI1NiIsImtpZCI6IjRiYTFjNzJmMTI3NThjYzEzMzg3ZWQ3YTBiZjNlODg3IiwidHlwIjoiSldUIn0.eyJuYmYiOjE2NDc3ODY2NDgsImV4cCI6MTY0Nzc5MDI0OCwiaXNzIjoiaHR0cHM6Ly9pZHAuc2FuZGJveC5wZXBwZXJpLmNvbSIsImF1ZCI6WyJodHRwczovL2lkcC5zYW5kYm94LnBlcHBlcmkuY29tL3Jlc291cmNlcyIsInBlcHBlcmkuYXBpbnQiLCJwZXBwZXJpLndhY2QiXSwiY2xpZW50X2lkIjoiaW9zLmNvbS53cm50eS5wZXBwZXJ5Iiwic3ViIjoiOTE1ZWUxODItNTk3Ni00ZjJlLWFhOGQtZDQ1ZjI3N2Y2OTdjIiwiYXV0aF90aW1lIjoxNjQ3Nzg2NjQ4LCJpZHAiOiJsb2NhbCIsInBlcHBlcmkuYXBpbnRiYXNldXJsIjoiaHR0cHM6Ly9yZXN0YXBpLnNhbmRib3gucGVwcGVyaS5jb20iLCJlbWFpbCI6Ik9kZWRAcGVwcGVyaXRlc3QuY29tIiwicGVwcGVyaS5pZCI6MTE0NzcwOTcsInBlcHBlcmkudXNlcnV1aWQiOiI5MTVlZTE4Mi01OTc2LTRmMmUtYWE4ZC1kNDVmMjc3ZjY5N2MiLCJwZXBwZXJpLmRpc3RyaWJ1dG9ydXVpZCI6IjBhM2FmNGU3LTMyZGUtNDExOC04Y2NmLTVkOWRiZDc5YzA0MSIsInBlcHBlcmkuZGlzdHJpYnV0b3JpZCI6MzAwMTUwMzEsInBlcHBlcmkuZGF0YWNlbnRlciI6InNhbmRib3giLCJwZXBwZXJpLmVtcGxveWVldHlwZSI6MSwicGVwcGVyaS5iYXNldXJsIjoiaHR0cHM6Ly9wYXBpLnN0YWdpbmcucGVwcGVyaS5jb20vVjEuMCIsInBlcHBlcmkud2FjZGJhc2V1cmwiOiJodHRwczovL2NwYXBpLnN0YWdpbmcucGVwcGVyaS5jb20iLCJuYW1lIjoiT2RlZCBBbnN3ZXIiLCJzY29wZSI6WyJwZXBwZXJpLmFwaW50IiwicGVwcGVyaS53YWNkIiwib2ZmbGluZV9hY2Nlc3MiXSwiYW1yIjpbInB3ZCJdfQ.XIpG0urTDreOIB3ehAKQqeQoFLiCYnxqYdXo61XaOWuJQe5hvJXNvjdnNuoC79GDiayHXEbrlsExcg5JYnou46bf35D9tEKQSx1ZF5S_vhSZcc5vg7OlS-2_AGJdov0RqC22Ti2nIBoWRkQK_Xv1D9aNWoE23ygD85bHyEI76z35aqpsUY6vy4yR_L-2p9GByslkYByaU9ES4RgLDCefTbo9C40ux0sH62IeJnC9cOC7hSIaCdMzvXVUg1BFh5ZvZGybaqwMRCXmc5XgvgN9e1Q3ej2Mje-Rt4Vqz9OCYHZJ3GZEiyzEatJDXFAwfXhQJypPu9ucNL_r8jy_r5FIGQ";
|
|
13
13
|
this.accessToken = '';
|
|
14
14
|
this.papiBaseURL = '';
|
|
15
|
-
|
|
15
|
+
window.sessionStorage.setItem('idp_token', this.tempToken);
|
|
16
16
|
const accessToken = this.session.getIdpToken();
|
|
17
17
|
this.parsedToken = jwt(accessToken);
|
|
18
18
|
this.papiBaseURL = this.parsedToken["pepperi.baseurl"];
|
|
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
|
|
|
47
47
|
type: Injectable,
|
|
48
48
|
args: [{ providedIn: 'root' }]
|
|
49
49
|
}], ctorParameters: function () { return [{ type: i1.PepSessionService }, { type: i1.PepDataConvertorService }, { type: i1.PepHttpService }]; } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlteC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZGlteC1leHBvcnQvZGlteC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEdBQUcsTUFBTSxZQUFZLENBQUM7QUFDN0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUszQyxNQUFNLE9BQU8sV0FBVztJQWNwQixZQUNXLE9BQTJCLEVBQzNCLG9CQUE2QyxFQUM1QyxPQUF1QjtRQUZ4QixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMzQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXlCO1FBQzVDLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBaEJuQyxjQUFTLEdBQUcsKytDQUErK0MsQ0FBQTtRQUMzL0MsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFFakIsZ0JBQVcsR0FBRyxFQUFFLENBQUE7UUFlWixNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ3pELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFL0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDMUQsQ0FBQztJQWxCRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksVUFBVSxDQUFDO1lBQ2xCLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVztZQUN6QixLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7WUFDakMsZUFBZSxFQUFDLElBQUk7U0FDdkIsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQWNLLEdBQUcsQ0FBQyxRQUFnQjs7WUFDdEIsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLENBQUM7S0FBQTtJQUVLLElBQUksQ0FBQyxRQUFnQixFQUFFLElBQVM7O1lBQ2xDLE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdEQsQ0FBQztLQUFBO0lBRUQsTUFBTSxDQUFDLFFBQWdCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUFnQixFQUFFLElBQVM7UUFDL0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7d0dBeENRLFdBQVc7NEdBQVgsV0FBVyxjQURFLE1BQU07MkZBQ25CLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IGp3dCBmcm9tICdqd3QtZGVjb2RlJztcbmltcG9ydCB7IFBhcGlDbGllbnQgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvcGFwaS1zZGsnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1BlcEh0dHBTZXJ2aWNlLCBQZXBEYXRhQ29udmVydG9yU2VydmljZSwgUGVwU2Vzc2lvblNlcnZpY2V9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBESU1YU2VydmljZSB7XG4gICAgdGVtcFRva2VuID0gXCJleUpoYkdjaU9pSlNVekkxTmlJc0ltdHBaQ0k2SWpSaVlURmpOekptTVRJM05UaGpZekV6TXpnM1pXUTNZVEJpWmpObE9EZzNJaXdpZEhsd0lqb2lTbGRVSW4wLmV5SnVZbVlpT2pFMk5EYzNPRFkyTkRnc0ltVjRjQ0k2TVRZME56YzVNREkwT0N3aWFYTnpJam9pYUhSMGNITTZMeTlwWkhBdWMyRnVaR0p2ZUM1d1pYQndaWEpwTG1OdmJTSXNJbUYxWkNJNld5Sm9kSFJ3Y3pvdkwybGtjQzV6WVc1a1ltOTRMbkJsY0hCbGNta3VZMjl0TDNKbGMyOTFjbU5sY3lJc0luQmxjSEJsY21rdVlYQnBiblFpTENKd1pYQndaWEpwTG5kaFkyUWlYU3dpWTJ4cFpXNTBYMmxrSWpvaWFXOXpMbU52YlM1M2NtNTBlUzV3WlhCd1pYSjVJaXdpYzNWaUlqb2lPVEUxWldVeE9ESXROVGszTmkwMFpqSmxMV0ZoT0dRdFpEUTFaakkzTjJZMk9UZGpJaXdpWVhWMGFGOTBhVzFsSWpveE5qUTNOemcyTmpRNExDSnBaSEFpT2lKc2IyTmhiQ0lzSW5CbGNIQmxjbWt1WVhCcGJuUmlZWE5sZFhKc0lqb2lhSFIwY0hNNkx5OXlaWE4wWVhCcExuTmhibVJpYjNndWNHVndjR1Z5YVM1amIyMGlMQ0psYldGcGJDSTZJazlrWldSQWNHVndjR1Z5YVhSbGMzUXVZMjl0SWl3aWNHVndjR1Z5YVM1cFpDSTZNVEUwTnpjd09UY3NJbkJsY0hCbGNta3VkWE5sY25WMWFXUWlPaUk1TVRWbFpURTRNaTAxT1RjMkxUUm1NbVV0WVdFNFpDMWtORFZtTWpjM1pqWTVOMk1pTENKd1pYQndaWEpwTG1ScGMzUnlhV0oxZEc5eWRYVnBaQ0k2SWpCaE0yRm1OR1UzTFRNeVpHVXROREV4T0MwNFkyTm1MVFZrT1dSaVpEYzVZekEwTVNJc0luQmxjSEJsY21rdVpHbHpkSEpwWW5WMGIzSnBaQ0k2TXpBd01UVXdNekVzSW5CbGNIQmxjbWt1WkdGMFlXTmxiblJsY2lJNkluTmhibVJpYjNnaUxDSndaWEJ3WlhKcExtVnRjR3h2ZVdWbGRIbHdaU0k2TVN3aWNHVndjR1Z5YVM1aVlYTmxkWEpzSWpvaWFIUjBjSE02THk5d1lYQnBMbk4wWVdkcGJtY3VjR1Z3Y0dWeWFTNWpiMjB2VmpFdU1DSXNJbkJsY0hCbGNta3VkMkZqWkdKaGMyVjFjbXdpT2lKb2RIUndjem92TDJOd1lYQnBMbk4wWVdkcGJtY3VjR1Z3Y0dWeWFTNWpiMjBpTENKdVlXMWxJam9pVDJSbFpDQkJibk4zWlhJaUxDSnpZMjl3WlNJNld5SndaWEJ3WlhKcExtRndhVzUwSWl3aWNHVndjR1Z5YVM1M1lXTmtJaXdpYjJabWJHbHVaVjloWTJObGMzTWlYU3dpWVcxeUlqcGJJbkIzWkNKZGZRLlhJcEcwdXJURHJlT0lCM2VoQUtRcWVRb0ZMaUNZbnhxWWRYbzYxWGFPV3VKUWU1aHZKWE52amRuTnVvQzc5R0RpYXlIWEVicmxzRXhjZzVKWW5vdTQ2YmYzNUQ5dEVLUVN4MVpGNVNfdmhTWmNjNXZnN09sUy0yX0FHSmRvdjBScUMyMlRpMm5JQm9XUmtRS19YdjFEOWFOV29FMjN5Z0Q4NWJIeUVJNzZ6MzVhcXBzVVk2dnk0eVJfTC0ycDlHQnlzbGtZQnlhVTlFUzRSZ0xEQ2VmVGJvOUM0MHV4MHNINjJJZUpuQzljT0M3aFNJYUNkTXp2WFZVZzFCRmg1WnZaR3liYXF3TVJDWG1jNVhndmdOOWUxUTNlajJNamUtUnQ0VnF6OU9DWUhaSjNHWkVpeXpFYXRKRFhGQXdmWGhRSnlwUHU5dWNOTF9yOGp5X3I1RklHUVwiXG4gICAgYWNjZXNzVG9rZW4gPSAnJztcbiAgICBwYXJzZWRUb2tlbjogYW55XG4gICAgcGFwaUJhc2VVUkwgPSAnJ1xuXG4gICAgZ2V0IHBhcGlDbGllbnQoKTogUGFwaUNsaWVudCB7XG4gICAgICAgIHJldHVybiBuZXcgUGFwaUNsaWVudCh7XG4gICAgICAgICAgICBiYXNlVVJMOiB0aGlzLnBhcGlCYXNlVVJMLFxuICAgICAgICAgICAgdG9rZW46IHRoaXMuc2Vzc2lvbi5nZXRJZHBUb2tlbigpLFxuICAgICAgICAgICAgc3VwcHJlc3NMb2dnaW5nOnRydWVcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHNlc3Npb246ICBQZXBTZXNzaW9uU2VydmljZSxcbiAgICAgICAgcHVibGljIHBlcHBlcmlEYXRhQ29udmVydGVyOiBQZXBEYXRhQ29udmVydG9yU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBwZXBIdHRwOiBQZXBIdHRwU2VydmljZVxuICAgICkge1xuICAgICAgICB3aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnaWRwX3Rva2VuJyx0aGlzLnRlbXBUb2tlbilcbiAgICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSB0aGlzLnNlc3Npb24uZ2V0SWRwVG9rZW4oKTtcbiAgICAgIFxuICAgICAgICB0aGlzLnBhcnNlZFRva2VuID0gand0KGFjY2Vzc1Rva2VuKTtcbiAgICAgICAgdGhpcy5wYXBpQmFzZVVSTCA9IHRoaXMucGFyc2VkVG9rZW5bXCJwZXBwZXJpLmJhc2V1cmxcIl1cbiAgICB9XG5cbiAgICBhc3luYyBnZXQoZW5kcG9pbnQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnBhcGlDbGllbnQuZ2V0KGVuZHBvaW50KTtcbiAgICB9XG5cbiAgICBhc3luYyBwb3N0KGVuZHBvaW50OiBzdHJpbmcsIGJvZHk6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnBhcGlDbGllbnQucG9zdChlbmRwb2ludCwgYm9keSk7XG4gICAgfVxuXG4gICAgcGVwR2V0KGVuZHBvaW50OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wZXBIdHRwLmdldFBhcGlBcGlDYWxsKGVuZHBvaW50KTtcbiAgICB9XG5cbiAgICBwZXBQb3N0KGVuZHBvaW50OiBzdHJpbmcsIGJvZHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBlcEh0dHAucG9zdFBhcGlBcGlDYWxsKGVuZHBvaW50LCBib2R5KTtcbiAgICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component,
|
|
1
|
+
import { Component, Output, EventEmitter, Inject } from '@angular/core';
|
|
2
2
|
import { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/material/snack-bar";
|
|
@@ -9,8 +9,8 @@ export class FileStatusPanelComponent {
|
|
|
9
9
|
constructor(data, snackBarRef) {
|
|
10
10
|
this.data = data;
|
|
11
11
|
this.snackBarRef = snackBarRef;
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
// @Input() title = '';
|
|
13
|
+
// @Input() filesList: Array<FileStatus> = [];
|
|
14
14
|
this.closeClick = new EventEmitter();
|
|
15
15
|
//
|
|
16
16
|
}
|
|
@@ -22,7 +22,7 @@ export class FileStatusPanelComponent {
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
FileStatusPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: FileStatusPanelComponent, deps: [{ token: MAT_SNACK_BAR_DATA }, { token: i1.MatSnackBarRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
-
FileStatusPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: FileStatusPanelComponent, selector: "pep-file-status-panel",
|
|
25
|
+
FileStatusPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: FileStatusPanelComponent, selector: "pep-file-status-panel", outputs: { closeClick: "closeClick" }, ngImport: i0, template: "<pep-snack-bar class=\"upload-panel-contnainer\" [snackBarRef]=\"snackBarRef\" [title]=\"data.title\" (closeClick)=\"onCloseClicked($event)\" >\n <div pep-snack-bar-content class=\"panel-content\">\n <ul *ngIf=\"data.content.length\">\n <li *ngFor=\"let file of data.content\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</pep-snack-bar>", styles: [".upload-panel-contnainer .panel-content{max-height:50vh;overflow:auto}.upload-panel-contnainer .panel-content ul{list-style-type:none;padding:0}.upload-panel-contnainer .panel-content ul li{height:1.25rem;margin-top:.5rem;display:flex;flex-direction:row;align-items:center}.upload-panel-contnainer .panel-content ul li pep-icon{height:1rem}\n"], components: [{ type: i2.PepSnackBarComponent, selector: "pep-snack-bar", inputs: ["snackBarRef", "title"], outputs: ["closeClick"] }, { type: i3.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
26
26
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: FileStatusPanelComponent, decorators: [{
|
|
27
27
|
type: Component,
|
|
28
28
|
args: [{
|
|
@@ -33,11 +33,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
|
|
|
33
33
|
}], ctorParameters: function () { return [{ type: i2.PepSnackBarData, decorators: [{
|
|
34
34
|
type: Inject,
|
|
35
35
|
args: [MAT_SNACK_BAR_DATA]
|
|
36
|
-
}] }, { type: i1.MatSnackBarRef }]; }, propDecorators: {
|
|
37
|
-
type: Input
|
|
38
|
-
}], filesList: [{
|
|
39
|
-
type: Input
|
|
40
|
-
}], closeClick: [{
|
|
36
|
+
}] }, { type: i1.MatSnackBarRef }]; }, propDecorators: { closeClick: [{
|
|
41
37
|
type: Output
|
|
42
38
|
}] } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zdGF0dXMtcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZmlsZS1zdGF0dXMtcGFuZWwvZmlsZS1zdGF0dXMtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZmlsZS1zdGF0dXMtcGFuZWwvZmlsZS1zdGF0dXMtcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNkIsTUFBTSxFQUFFLFlBQVksRUFBWSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0csT0FBTyxFQUFrQixrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7QUFVakYsTUFBTSxPQUFPLHdCQUF3QjtJQU9qQyxZQUN1QyxJQUFxQixFQUNqRCxXQUFxRDtRQUR6QixTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUNqRCxnQkFBVyxHQUFYLFdBQVcsQ0FBMEM7UUFSaEUsdUJBQXVCO1FBQ3ZCLDhDQUE4QztRQUc5QyxlQUFVLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFNdkQsRUFBRTtJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osRUFBRTtJQUNOLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBVTtRQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7O3FIQXBCUSx3QkFBd0Isa0JBUXJCLGtCQUFrQjt5R0FSckIsd0JBQXdCLG9HQ1hyQyxndkJBWWdCOzJGRERILHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsb0NBQW9DO29CQUNqRCxTQUFTLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQztpQkFDcEQ7OzBCQVNRLE1BQU07MkJBQUMsa0JBQWtCO3lFQUg5QixVQUFVO3NCQURULE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0YWJsZSwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPcHRpb25hbCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTbmFja0JhclJlZiwgTUFUX1NOQUNLX0JBUl9EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFBlcFNuYWNrQmFyRGF0YSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBGaWxlU3RhdHVzIH0gZnJvbSAnLi9maWxlLXN0YXR1cy1wYW5lbC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWZpbGUtc3RhdHVzLXBhbmVsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1zdGF0dXMtcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZpbGUtc3RhdHVzLXBhbmVsLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmlsZVN0YXR1c1BhbmVsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvLyBASW5wdXQoKSB0aXRsZSA9ICcnO1xuICAgIC8vIEBJbnB1dCgpIGZpbGVzTGlzdDogQXJyYXk8RmlsZVN0YXR1cz4gPSBbXTtcbiAgICBcbiAgICBAT3V0cHV0KClcbiAgICBjbG9zZUNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoTUFUX1NOQUNLX0JBUl9EQVRBKSBwdWJsaWMgZGF0YTogUGVwU25hY2tCYXJEYXRhLFxuICAgICAgICBwdWJsaWMgc25hY2tCYXJSZWY6IE1hdFNuYWNrQmFyUmVmPEZpbGVTdGF0dXNQYW5lbENvbXBvbmVudD5cbiAgICApIHtcbiAgICAgICAvL1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvL1xuICAgIH1cblxuICAgIG9uQ2xvc2VDbGlja2VkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZUNsaWNrLmVtaXQoKTtcbiAgICB9XG5cblxufSIsIjxwZXAtc25hY2stYmFyIGNsYXNzPVwidXBsb2FkLXBhbmVsLWNvbnRuYWluZXJcIiBbc25hY2tCYXJSZWZdPVwic25hY2tCYXJSZWZcIiBbdGl0bGVdPVwiZGF0YS50aXRsZVwiIChjbG9zZUNsaWNrKT1cIm9uQ2xvc2VDbGlja2VkKCRldmVudClcIiA+XG4gICAgPGRpdiBwZXAtc25hY2stYmFyLWNvbnRlbnQgY2xhc3M9XCJwYW5lbC1jb250ZW50XCI+XG4gICAgICAgIDx1bCAqbmdJZj1cImRhdGEuY29udGVudC5sZW5ndGhcIj5cbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZmlsZSBvZiBkYXRhLmNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsZT8uc3RhdHVzICE9PSAnaGlkZGVuJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbG9yLWRpbW1lZCBib2R5LXNtIGVsbGlwc2lzXCI+e3tmaWxlLm5hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHBlcC1pY29uIGNsYXNzPVwicGVwLXNwYWNpbmctZWxlbWVudFwiIG5hbWU9XCJhcnJvd19yaWdodF9hbHRcIj48L3BlcC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJvZHktc21cIiB0aXRsZT1cInt7ZmlsZS5zdGF0dXNNZXNzYWdlfX1cIj57e2ZpbGUuc3RhdHVzfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgIDwvZGl2PlxuPC9wZXAtc25hY2stYmFyPiJdfQ==
|
|
@@ -374,7 +374,7 @@ export class GenericListComponent {
|
|
|
374
374
|
}
|
|
375
375
|
}
|
|
376
376
|
GenericListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: GenericListComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1.PepGenericListService }, { token: i2.PepDataConvertorService }, { token: i2.PepLayoutService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
377
|
-
GenericListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: GenericListComponent, selector: "pep-generic-list", inputs: { dataSource: "dataSource", actions: "actions", uuidMapping: "uuidMapping", addPadding: "addPadding", title: "title", inline: "inline", showSearch: "showSearch", noDataFoundMsg: "noDataFoundMsg", selectionType: "selectionType", supportSorting: "supportSorting", pager: "pager", showTopBar: "showTopBar", breadCrumbsItems: "breadCrumbsItems" }, outputs: { fieldClick: "fieldClick", valueChange: "valueChange", breadCrumbItemClick: "breadCrumbItemClick" }, viewQueries: [{ propertyName: "pepListContainer", first: true, predicate: ["pepListContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div>\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"breadCrumbsItems.length > 0\">\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length > 0\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [title]=\"title\" [inline]=\"inline\">\n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n\n <pep-list-actions *ngIf=\"menuActions.length > 0\" [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\"\n (actionClick)=\"onActionItemClicked($event)\"></pep-list-actions>\n <pep-list-total [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\">\n </pep-list-total>\n\n <pep-search *ngIf=\"showSearch\" [value]=\"searchString\" [sizeType]=\"inline ? 'sm' : 'md'\"\n (search)=\"onSearchChanged($event)\">\n </pep-search>\n </pep-top-bar>\n</ng-template>\n\n<ng-template #breadCrumbsTemplate>\n <pep-bread-crumbs class=\"bread-crumbs\" [items]=\"breadCrumbsItems\" [addSpacing]=\"true\" [displayType]=\"'items'\"\n (itemClick)=\"onBreadCrumbItemClick($event)\"></pep-bread-crumbs>\n</ng-template>\n\n<ng-template #listTemplate>\n <div class=\"list-container\">\n <ng-container #pepListContainer></ng-container>\n </div>\n</ng-template>", styles: [":host{height:inherit;display:block}.main-area-container{display:grid;height:inherit}.list-container{height:100%}.inline-container{height:inherit;display:grid;grid-template-rows:auto 1fr}.inline-container.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}.noDataFoundMsg{height:100
|
|
377
|
+
GenericListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: GenericListComponent, selector: "pep-generic-list", inputs: { dataSource: "dataSource", actions: "actions", uuidMapping: "uuidMapping", addPadding: "addPadding", title: "title", inline: "inline", showSearch: "showSearch", noDataFoundMsg: "noDataFoundMsg", selectionType: "selectionType", supportSorting: "supportSorting", pager: "pager", showTopBar: "showTopBar", breadCrumbsItems: "breadCrumbsItems" }, outputs: { fieldClick: "fieldClick", valueChange: "valueChange", breadCrumbItemClick: "breadCrumbItemClick" }, viewQueries: [{ propertyName: "pepListContainer", first: true, predicate: ["pepListContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div>\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"breadCrumbsItems.length > 0\">\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length > 0\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [title]=\"title\" [inline]=\"inline\">\n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n\n <pep-list-actions *ngIf=\"menuActions.length > 0\" [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\"\n (actionClick)=\"onActionItemClicked($event)\"></pep-list-actions>\n <pep-list-total [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\">\n </pep-list-total>\n\n <pep-search *ngIf=\"showSearch\" [value]=\"searchString\" [sizeType]=\"inline ? 'sm' : 'md'\"\n (search)=\"onSearchChanged($event)\">\n </pep-search>\n </pep-top-bar>\n</ng-template>\n\n<ng-template #breadCrumbsTemplate>\n <pep-bread-crumbs class=\"bread-crumbs\" [items]=\"breadCrumbsItems\" [addSpacing]=\"true\" [displayType]=\"'items'\"\n (itemClick)=\"onBreadCrumbItemClick($event)\"></pep-bread-crumbs>\n</ng-template>\n\n<ng-template #listTemplate>\n <div class=\"list-container\">\n <ng-container #pepListContainer></ng-container>\n </div>\n</ng-template>", styles: [":host{height:inherit;display:block}.main-area-container{display:grid;height:inherit}.list-container{height:100%}.inline-container{height:inherit;display:grid;grid-template-rows:auto 1fr}.inline-container.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}.noDataFoundMsg{margin:1rem 0;height:calc(100% - 2rem);width:100%;background:rgba(26,26,26,.12);display:flex;justify-content:center;align-items:center}.bread-crumbs{padding:var(--pep-spacing-lg, 1rem) 0 var(--pep-spacing-sm, .5rem) 0}\n"], components: [{ type: i4.PepPageLayoutComponent, selector: "pep-page-layout", inputs: ["addPadding", "showShadow"] }, { type: i5.PepTopBarComponent, selector: "pep-top-bar", inputs: ["inline", "title"], outputs: ["footerStateChange"] }, { type: i6.PepListActionsComponent, selector: "pep-list-actions", inputs: ["actions", "sizeType", "xPosition", "hidden"], outputs: ["actionClick", "stateChange", "menuClick"] }, { type: i6.PepListTotalComponent, selector: "pep-list-total", inputs: ["totalRows", "totalAmount", "isMapView", "sizeType"] }, { type: i7.PepSearchComponent, selector: "pep-search", inputs: ["triggerOn", "autoCompleteTop", "sizeType", "autoCompleteValues", "shrink", "value", "searchControl", "useAsWebComponent"], outputs: ["search", "autocompleteChange", "stateChange"] }, { type: i8.PepBreadCrumbsComponent, selector: "pep-bread-crumbs", inputs: ["addSpacing", "items", "displayType"], outputs: ["itemClick"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
378
378
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: GenericListComponent, decorators: [{
|
|
379
379
|
type: Component,
|
|
380
380
|
args: [{
|