@ksremp/ngx-ksremp-app-lib 1.0.22 → 1.0.24

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.
@@ -24,7 +24,14 @@ export class CorrespondenceDownloadComponent {
24
24
  this.dms
25
25
  .downloadFile(fileId)
26
26
  .subscribe(async (res) => {
27
- const base64 = `${res['data']}`;
27
+ let base64 = "";
28
+ const language = `${res['language']}`;
29
+ if (language === "es_ES") {
30
+ base64 = `${res['additionalFileData']}`;
31
+ }
32
+ else { //If language is en_US
33
+ base64 = `${res['data']}`;
34
+ }
28
35
  const mimeType = `${res['mimeType']}`;
29
36
  const fileName = res['fileName'];
30
37
  const isCapacitor = this.platform.is('capacitor');
@@ -148,4 +155,4 @@ export class CorrespondenceDownloadComponent {
148
155
  args: ['value']
149
156
  }] }); })();
150
157
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CorrespondenceDownloadComponent, { className: "CorrespondenceDownloadComponent", filePath: "lib\\components\\correspondence-download\\correspondence-download.component.ts", lineNumber: 15 }); })();
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ycmVzcG9uZGVuY2UtZG93bmxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcnJlc3BvbmRlbmNlLWRvd25sb2FkL2NvcnJlc3BvbmRlbmNlLWRvd25sb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9jb3JyZXNwb25kZW5jZS1kb3dubG9hZC9jb3JyZXNwb25kZW5jZS1kb3dubG9hZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFxQixNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7O0FBT2pGLE1BQU0sT0FBTywrQkFBK0I7SUFRMUMsWUFBbUIsR0FBZSxFQUFVLFNBQXVCLEVBQVUsR0FBa0IsRUFBVSxJQUFrQixFQUN2RyxRQUFrQjtRQURuQixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUFVLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFjO1FBQ3ZHLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDdEMsQ0FBQztJQUVELFFBQVE7SUFFUixDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQU07UUFDakIsSUFBSSxDQUFDLElBQUk7YUFDSixVQUFVLEVBQUU7YUFDWixJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsSUFBSSxDQUFDLEdBQUc7aUJBQ0gsWUFBWSxDQUFDLE1BQU0sQ0FBQztp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LGVBQThCO1lBQTlCLHdEQUE4Qjs7O2lGRGN0SCwrQkFBK0I7Y0FMM0MsU0FBUzsyQkFDRSw2QkFBNkI7bUpBT3ZDLE1BQU07a0JBREwsS0FBSzttQkFBQyxRQUFRO1lBSWYsS0FBSztrQkFESixLQUFLO21CQUFDLE9BQU87O2tGQUxILCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgU2VjdXJpdHlDb250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgRG1zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Rtcy1zZXJ2aWNlL2Rtcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGaWxlc3lzdGVtLCBEaXJlY3RvcnkgfSBmcm9tICdAY2FwYWNpdG9yL2ZpbGVzeXN0ZW0nO1xyXG5pbXBvcnQgeyBGaWxlT3BlbmVyLCBGaWxlT3BlbmVyT3B0aW9ucyB9IGZyb20gJ0BjYXBhY2l0b3ItY29tbXVuaXR5L2ZpbGUtb3BlbmVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNvcnJlc3BvbmRlbmNlLWRvd25sb2FkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29ycmVzcG9uZGVuY2UtZG93bmxvYWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvcnJlc3BvbmRlbmNlLWRvd25sb2FkLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29ycmVzcG9uZGVuY2VEb3dubG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgnZmlsZUlkJykgXHJcbiAgZmlsZUlkOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgndmFsdWUnKSBcclxuICB2YWx1ZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZG1zOiBEbXNTZXJ2aWNlLCBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLCBwcml2YXRlIGxvZzogTG9nZ2VyU2VydmljZSwgcHJpdmF0ZSB1dGlsIDogVXRpbFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm0pIHsgXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICBkb3dubG9hZEZpbGUoZmlsZUlkKXtcclxuICAgIHRoaXMudXRpbFxyXG4gICAgICAgIC5zaG93TG9hZGVyKClcclxuICAgICAgICAudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRtc1xyXG4gICAgICAgICAgICAgIC5kb3dubG9hZEZpbGUoZmlsZUlkKVxyXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICBhc3luYyByZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCBiYXNlNjQgPSBgJHtyZXNbJ2RhdGEnXX1gO1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCBtaW1lVHlwZSA9IGAke3Jlc1snbWltZVR5cGUnXX1gO1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IHJlc1snZmlsZU5hbWUnXTtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgaXNDYXBhY2l0b3IgPSB0aGlzLnBsYXRmb3JtLmlzKCdjYXBhY2l0b3InKTtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgaXNJT1MgPSB0aGlzLnBsYXRmb3JtLmlzKCdpb3MnKTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5sb2cubG9nKCdbRE9XTkxPQURdIElzIENhcGFjaXRvcjonLCBpc0NhcGFjaXRvcik7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMubG9nLmxvZygnW0RPV05MT0FEXSBJcyBJb3M6JywgaXNJT1MpO1xyXG4gICAgICAgICAgICAgICAgICAvLyBpZihpc0NhcGFjaXRvcil7XHJcbiAgICAgICAgICAgICAgICAgIC8vICAgYXdhaXQgRmlsZXN5c3RlbS53cml0ZUZpbGUoe1xyXG4gICAgICAgICAgICAgICAgICAvLyAgICAgcGF0aDogZmlsZU5hbWUsXHJcbiAgICAgICAgICAgICAgICAgIC8vICAgICBkYXRhOiBiYXNlNjQsXHJcbiAgICAgICAgICAgICAgICAgIC8vICAgICBkaXJlY3Rvcnk6IHRoaXMucGxhdGZvcm0uaXMoXCJpb3NcIikgPyBEaXJlY3RvcnkuRG9jdW1lbnRzIDogRGlyZWN0b3J5LkRhdGFcclxuICAgICAgICAgICAgICAgICAgLy8gICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgIC8vICAgLy8gR2V0IHRoZSBwcm9wZXIgVVJJIGZvciBvcGVuaW5nXHJcbiAgICAgICAgICAgICAgICAgIC8vICAgY29uc3QgZmlsZVVyaVJlc3VsdCA9IGF3YWl0IEZpbGVzeXN0ZW0uZ2V0VXJpKHtcclxuICAgICAgICAgICAgICAgICAgLy8gICAgIGRpcmVjdG9yeTogdGhpcy5wbGF0Zm9ybS5pcyhcImlvc1wiKSA/IERpcmVjdG9yeS5Eb2N1bWVudHMgOiBEaXJlY3RvcnkuRGF0YSxcclxuICAgICAgICAgICAgICAgICAgLy8gICAgIHBhdGg6IGZpbGVOYW1lXHJcbiAgICAgICAgICAgICAgICAgIC8vICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAvLyAgIGxldCBmaWxlT3B0aW9uczogRmlsZU9wZW5lck9wdGlvbnMgPSB7ZmlsZVBhdGg6IGZpbGVVcmlSZXN1bHQudXJpfTtcclxuICAgICAgICAgICAgICAgICAgLy8gICBGaWxlT3BlbmVyLm9wZW4oZmlsZU9wdGlvbnMpXHJcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIC50aGVuKHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIm9wZW5pbmcgZmlsZVwiLCByZXMpO1xyXG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKClcclxuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgfSkuY2F0Y2goZXJyID0+IHtcclxuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3Igb3BlbmluZyBmaWxlXCIsIGVycikgO1xyXG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgIHRoaXMubG9nLmxvZygnRXJyb3Igb3BlbmluZyBmaWxlJywgZXJyKTtcclxuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgICBpZiAoaXNDYXBhY2l0b3IgfHwgaXNJT1MpIHsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpcmVjdG9yeSA9IGlzSU9TID8gRGlyZWN0b3J5LkNhY2hlIDogRGlyZWN0b3J5LkRhdGE7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9nLmxvZygnW0RPV05MT0FEXSBUYXJnZXQgZGlyZWN0b3J5OiAnICsgZGlyZWN0b3J5KTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZy5sb2coJ1tET1dOTE9BRF0gRmlsZSBuYW1lOiAnICsgZmlsZU5hbWUpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gU3RlcCAxOiBXcml0ZSBmaWxlXHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZy5sb2coJ1tET1dOTE9BRF0gV3JpdGluZyBmaWxlLi4uJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBGaWxlc3lzdGVtLndyaXRlRmlsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IGZpbGVOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBiYXNlNjQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yeTogZGlyZWN0b3J5XHJcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nLmxvZygnW0RPV05MT0FEXSBGaWxlIHdyaXRlIHN1Y2Nlc3NmdWwnKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyBTdGVwIDI6IEdldCBmaWxlIFVSSVxyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2cubG9nKCdbRE9XTkxPQURdIEdldHRpbmcgZmlsZSBVUkkuLi4nKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVVcmlSZXN1bHQgPSBhd2FpdCBGaWxlc3lzdGVtLmdldFVyaSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yeTogZGlyZWN0b3J5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBmaWxlTmFtZVxyXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZy5sb2coJ1tET1dOTE9BRF0gRmlsZSBVUkkgb2J0YWluZWQ6ICcgKyBKU09OLnN0cmluZ2lmeShmaWxlVXJpUmVzdWx0KSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgLy9zdGVwIDM6IGlPUyBmYWxsYmFjayDihpIgdXNlIHdpbmRvdy5vcGVuIGZvciB2aWV3IGluIGEgbmV3IHRhYlxyXG4gICAgICAgICAgICAgICAgICAgICAgaWYoaXNJT1MpIHsgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbnZlcnQgYmFzZTY0IOKGkiBCbG9iXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJ5dGVDaGFyYWN0ZXJzID0gYXRvYihiYXNlNjQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBieXRlTnVtYmVycyA9IG5ldyBBcnJheShieXRlQ2hhcmFjdGVycy5sZW5ndGgpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBieXRlQ2hhcmFjdGVycy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJ5dGVOdW1iZXJzW2ldID0gYnl0ZUNoYXJhY3RlcnMuY2hhckNvZGVBdChpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJ5dGVBcnJheSA9IG5ldyBVaW50OEFycmF5KGJ5dGVOdW1iZXJzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtieXRlQXJyYXldLCB7IHR5cGU6IG1pbWVUeXBlIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBCbG9iIFVSTFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBibG9iVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBPcGVuIGJsYW5rIHRhYiBmaXJzdCAoU2FmYXJpIHJlcXVpcmVtZW50KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdUYWIgPSB3aW5kb3cub3BlbignJywgJ19ibGFuaycpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdUYWIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOYXZpZ2F0ZSBBRlRFUiB0YWIgZXhpc3RzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3VGFiLmxvY2F0aW9uLmhyZWYgPSBibG9iVXJsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyBTdGVwIDQ6IE9wZW4gZmlsZSBBbmRyb2lkIOKGkiBGaWxlT3BlbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWxlT3B0aW9uczogRmlsZU9wZW5lck9wdGlvbnMgPSB7IGZpbGVQYXRoOiBmaWxlVXJpUmVzdWx0LnVyaSwgY29udGVudFR5cGU6IG1pbWVUeXBlIH07XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZy5sb2coJ1tET1dOTE9BRF0gQXR0ZW1wdGluZyB0byBvcGVuIGZpbGUgd2l0aCBGaWxlT3BlbmVyLi4uJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBGaWxlT3BlbmVyLm9wZW4oZmlsZU9wdGlvbnMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2cubG9nKCdbRE9XTkxPQURdIEZpbGUgb3BlbmVkIHN1Y2Nlc3NmdWxseTogJyArIEpTT04uc3RyaW5naWZ5KHJlcykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaChlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nLmxvZygnW0RPV05MT0FEXSBFcnJvciBvcGVuaW5nIGZpbGU6ICcgKyBKU09OLnN0cmluZ2lmeShlcnIpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZy5sb2coJ1tET1dOTE9BRF0gRVJST1IgZHVyaW5nIGZpbGUgd3JpdGUgb3IgVVJJIHJldHJpZXZhbDogJyArIEpTT04uc3RyaW5naWZ5KGVycikpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlua1NvdXJjZSA9IGBkYXRhOiR7bWltZVR5cGV9O2Jhc2U2NCwke2Jhc2U2NH1gO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRvd25sb2FkTGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRvd25sb2FkTGluay5ocmVmID0gbGlua1NvdXJjZTtcclxuICAgICAgICAgICAgICAgICAgICBkb3dubG9hZExpbmsuZG93bmxvYWQgPSB0aGlzLnNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuTk9ORSwgZmlsZU5hbWUpIDtcclxuICAgICAgICAgICAgICAgICAgICBkb3dubG9hZExpbmsuY2xpY2soKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgZXJyID0+IHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5sb2cubG9nKCdlcnJvcicsIGVycik7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIChjbGljayk9XCJkb3dubG9hZEZpbGUoZmlsZUlkKVwiIGNvbG9yPVwicHJpbWFyeVwiPnt7dmFsdWUgPyB2YWx1ZSA6ICdEb3dubG9hZCd9fTwvaW9uLWJ1dHRvbj4iXX0=
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ycmVzcG9uZGVuY2UtZG93bmxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NvcnJlc3BvbmRlbmNlLWRvd25sb2FkL2NvcnJlc3BvbmRlbmNlLWRvd25sb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9jb3JyZXNwb25kZW5jZS1kb3dubG9hZC9jb3JyZXNwb25kZW5jZS1kb3dubG9hZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFxQixNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7O0FBT2pGLE1BQU0sT0FBTywrQkFBK0I7SUFRMUMsWUFBbUIsR0FBZSxFQUFVLFNBQXVCLEVBQVUsR0FBa0IsRUFBVSxJQUFrQixFQUN2RyxRQUFrQjtRQURuQixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUFVLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFjO1FBQ3ZHLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDdEMsQ0FBQztJQUVELFFBQVE7SUFFUixDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQU07UUFDakIsSUFBSSxDQUFDLElBQUk7YUFDSixVQUFVLEVBQUU7YUFDWixJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsSUFBSSxDQUFDLEdBQUc7aUJBQ0gsWUFBWSxDQUFDLE1BQU0sQ0FBQztpQkFDcEIsU0FBUyxDQUNSLEtBQUssRUFBQyxHQUFHLEVBQUMsRUFBRTtnQkFDVixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ2hCLE1BQU0sUUFBUSxHQUFHLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RDLElBQUcsUUFBUSxLQUFLLE9BQU8sRUFBRTtvQkFDdEIsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQztpQkFDMUM7cUJBQU0sRUFBRSxzQkFBc0I7b0JBQzVCLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2lCQUM1QjtnQkFDRCxNQUFNLFFBQVEsR0FBRyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUN0QyxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ2pDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNsRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLEVBQUUsV0FBVyxDQUFDLENBQUM7Z0JBQ3RELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUMxQyxtQkFBbUI7Z0JBQ25CLGlDQUFpQztnQkFDakMsc0JBQXNCO2dCQUN0QixvQkFBb0I7Z0JBQ3BCLGdGQUFnRjtnQkFDaEYsUUFBUTtnQkFFUixzQ0FBc0M7Z0JBQ3RDLG9EQUFvRDtnQkFDcEQsaUZBQWlGO2dCQUNqRixxQkFBcUI7Z0JBQ3JCLFFBQVE7Z0JBRVIsd0VBQXdFO2dCQUN4RSxpQ0FBaUM7Z0JBQ2pDLDZCQUE2QjtnQkFDN0Isb0RBQW9EO2dCQUNwRCx1Q0FBdUM7Z0JBQ3ZDLGdDQUFnQztnQkFDaEMsMkRBQTJEO2dCQUMzRCx5REFBeUQ7Z0JBQ3pELHdDQUF3QztnQkFDeEMsa0JBQWtCO2dCQUNsQixJQUFJO2dCQUNKLElBQUksV0FBVyxJQUFJLEtBQUssRUFBRTtvQkFDeEIsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO29CQUUzRCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsR0FBRyxTQUFTLENBQUMsQ0FBQztvQkFDMUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLEdBQUcsUUFBUSxDQUFDLENBQUM7b0JBRWxELElBQUk7d0JBQ0YscUJBQXFCO3dCQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO3dCQUMzQyxNQUFNLFVBQVUsQ0FBQyxTQUFTLENBQUM7NEJBQ3pCLElBQUksRUFBRSxRQUFROzRCQUNkLElBQUksRUFBRSxNQUFNOzRCQUNaLFNBQVMsRUFBRSxTQUFTO3lCQUNyQixDQUFDLENBQUM7d0JBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0NBQWtDLENBQUMsQ0FBQzt3QkFFakQsdUJBQXVCO3dCQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO3dCQUMvQyxNQUFNLGFBQWEsR0FBRyxNQUFNLFVBQVUsQ0FBQyxNQUFNLENBQUM7NEJBQzVDLFNBQVMsRUFBRSxTQUFTOzRCQUNwQixJQUFJLEVBQUUsUUFBUTt5QkFDZixDQUFDLENBQUM7d0JBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO3dCQUUvRSw4REFBOEQ7d0JBQzlELElBQUcsS0FBSyxFQUFFOzRCQUNSLHdCQUF3Qjs0QkFDeEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDOzRCQUNwQyxNQUFNLFdBQVcsR0FBRyxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7NEJBRXJELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dDQUM5QyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQzs2QkFDL0M7NEJBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7NEJBQzlDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQzs0QkFFdkQsa0JBQWtCOzRCQUNsQixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDOzRCQUUxQyw0Q0FBNEM7NEJBQzVDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDOzRCQUV6QyxJQUFJLE1BQU0sRUFBRTtnQ0FDViw0QkFBNEI7Z0NBQzVCLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQzs2QkFDaEM7NEJBRUEsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzs0QkFDdkIsT0FBTzt5QkFDVDt3QkFFRCx5Q0FBeUM7d0JBQ3pDLE1BQU0sV0FBVyxHQUFzQixFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQzt3QkFDOUYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsdURBQXVELENBQUMsQ0FBQzt3QkFDdEUsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7NkJBQ3pCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTs0QkFDVixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7NEJBQzVFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7d0JBQ3pCLENBQUMsQ0FBQzs2QkFDRCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7NEJBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsaUNBQWlDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDOzRCQUN0RSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO3dCQUN6QixDQUFDLENBQUMsQ0FBQztxQkFFTjtvQkFBQyxPQUFPLEdBQUcsRUFBRTt3QkFDWixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyx1REFBdUQsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7d0JBQzVGLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7cUJBQ3hCO2lCQUNGO3FCQUVHO29CQUNGLE1BQU0sVUFBVSxHQUFHLFFBQVEsUUFBUSxXQUFXLE1BQU0sRUFBRSxDQUFDO29CQUN2RCxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNqRCxZQUFZLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztvQkFDL0IsWUFBWSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFFO29CQUNqRixZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7aUJBQ3hCO1lBQ0gsQ0FBQyxFQUNELEdBQUcsQ0FBQyxFQUFFO2dCQUNKLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN6QixDQUFDLENBQ0YsQ0FBQztRQUNSLENBQUMsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztnR0FuSlUsK0JBQStCO29FQUEvQiwrQkFBK0I7WUNkNUMscUNBQXFHO1lBQS9DLGdIQUFTLDRCQUFvQixJQUFDO1lBQWlCLFlBQThCO1lBQUEsaUJBQWE7O1lBQTNDLGVBQThCO1lBQTlCLHdEQUE4Qjs7O2lGRGN0SCwrQkFBK0I7Y0FMM0MsU0FBUzsyQkFDRSw2QkFBNkI7bUpBT3ZDLE1BQU07a0JBREwsS0FBSzttQkFBQyxRQUFRO1lBSWYsS0FBSztrQkFESixLQUFLO21CQUFDLE9BQU87O2tGQUxILCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgU2VjdXJpdHlDb250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgRG1zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Rtcy1zZXJ2aWNlL2Rtcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGaWxlc3lzdGVtLCBEaXJlY3RvcnkgfSBmcm9tICdAY2FwYWNpdG9yL2ZpbGVzeXN0ZW0nO1xyXG5pbXBvcnQgeyBGaWxlT3BlbmVyLCBGaWxlT3BlbmVyT3B0aW9ucyB9IGZyb20gJ0BjYXBhY2l0b3ItY29tbXVuaXR5L2ZpbGUtb3BlbmVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNvcnJlc3BvbmRlbmNlLWRvd25sb2FkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29ycmVzcG9uZGVuY2UtZG93bmxvYWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvcnJlc3BvbmRlbmNlLWRvd25sb2FkLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29ycmVzcG9uZGVuY2VEb3dubG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgnZmlsZUlkJykgXHJcbiAgZmlsZUlkOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgndmFsdWUnKSBcclxuICB2YWx1ZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZG1zOiBEbXNTZXJ2aWNlLCBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLCBwcml2YXRlIGxvZzogTG9nZ2VyU2VydmljZSwgcHJpdmF0ZSB1dGlsIDogVXRpbFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm0pIHsgXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICBkb3dubG9hZEZpbGUoZmlsZUlkKXtcclxuICAgIHRoaXMudXRpbFxyXG4gICAgICAgIC5zaG93TG9hZGVyKClcclxuICAgICAgICAudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRtc1xyXG4gICAgICAgICAgICAgIC5kb3dubG9hZEZpbGUoZmlsZUlkKVxyXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICBhc3luYyByZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBsZXQgYmFzZTY0ID0gXCJcIjtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgbGFuZ3VhZ2UgPSBgJHtyZXNbJ2xhbmd1YWdlJ119YDtcclxuICAgICAgICAgICAgICAgICAgaWYobGFuZ3VhZ2UgPT09IFwiZXNfRVNcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICBiYXNlNjQgPSBgJHtyZXNbJ2FkZGl0aW9uYWxGaWxlRGF0YSddfWA7XHJcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7IC8vSWYgbGFuZ3VhZ2UgaXMgZW5fVVNcclxuICAgICAgICAgICAgICAgICAgICAgYmFzZTY0ID0gYCR7cmVzWydkYXRhJ119YDtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICBjb25zdCBtaW1lVHlwZSA9IGAke3Jlc1snbWltZVR5cGUnXX1gO1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IHJlc1snZmlsZU5hbWUnXTtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgaXNDYXBhY2l0b3IgPSB0aGlzLnBsYXRmb3JtLmlzKCdjYXBhY2l0b3InKTtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgaXNJT1MgPSB0aGlzLnBsYXRmb3JtLmlzKCdpb3MnKTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5sb2cubG9nKCdbRE9XTkxPQURdIElzIENhcGFjaXRvcjonLCBpc0NhcGFjaXRvcik7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMubG9nLmxvZygnW0RPV05MT0FEXSBJcyBJb3M6JywgaXNJT1MpO1xyXG4gICAgICAgICAgICAgICAgICAvLyBpZihpc0NhcGFjaXRvcil7XHJcbiAgICAgICAgICAgICAgICAgIC8vICAgYXdhaXQgRmlsZXN5c3RlbS53cml0ZUZpbGUoe1xyXG4gICAgICAgICAgICAgICAgICAvLyAgICAgcGF0aDogZmlsZU5hbWUsXHJcbiAgICAgICAgICAgICAgICAgIC8vICAgICBkYXRhOiBiYXNlNjQsXHJcbiAgICAgICAgICAgICAgICAgIC8vICAgICBkaXJlY3Rvcnk6IHRoaXMucGxhdGZvcm0uaXMoXCJpb3NcIikgPyBEaXJlY3RvcnkuRG9jdW1lbnRzIDogRGlyZWN0b3J5LkRhdGFcclxuICAgICAgICAgICAgICAgICAgLy8gICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgIC8vICAgLy8gR2V0IHRoZSBwcm9wZXIgVVJJIGZvciBvcGVuaW5nXHJcbiAgICAgICAgICAgICAgICAgIC8vICAgY29uc3QgZmlsZVVyaVJlc3VsdCA9IGF3YWl0IEZpbGVzeXN0ZW0uZ2V0VXJpKHtcclxuICAgICAgICAgICAgICAgICAgLy8gICAgIGRpcmVjdG9yeTogdGhpcy5wbGF0Zm9ybS5pcyhcImlvc1wiKSA/IERpcmVjdG9yeS5Eb2N1bWVudHMgOiBEaXJlY3RvcnkuRGF0YSxcclxuICAgICAgICAgICAgICAgICAgLy8gICAgIHBhdGg6IGZpbGVOYW1lXHJcbiAgICAgICAgICAgICAgICAgIC8vICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAvLyAgIGxldCBmaWxlT3B0aW9uczogRmlsZU9wZW5lck9wdGlvbnMgPSB7ZmlsZVBhdGg6IGZpbGVVcmlSZXN1bHQudXJpfTtcclxuICAgICAgICAgICAgICAgICAgLy8gICBGaWxlT3BlbmVyLm9wZW4oZmlsZU9wdGlvbnMpXHJcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIC50aGVuKHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIm9wZW5pbmcgZmlsZVwiLCByZXMpO1xyXG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKClcclxuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgfSkuY2F0Y2goZXJyID0+IHtcclxuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3Igb3BlbmluZyBmaWxlXCIsIGVycikgO1xyXG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgIHRoaXMubG9nLmxvZygnRXJyb3Igb3BlbmluZyBmaWxlJywgZXJyKTtcclxuICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgICBpZiAoaXNDYXBhY2l0b3IgfHwgaXNJT1MpIHsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpcmVjdG9yeSA9IGlzSU9TID8gRGlyZWN0b3J5LkNhY2hlIDogRGlyZWN0b3J5LkRhdGE7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9nLmxvZygnW0RPV05MT0FEXSBUYXJnZXQgZGlyZWN0b3J5OiAnICsgZGlyZWN0b3J5KTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZy5sb2coJ1tET1dOTE9BRF0gRmlsZSBuYW1lOiAnICsgZmlsZU5hbWUpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gU3RlcCAxOiBXcml0ZSBmaWxlXHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZy5sb2coJ1tET1dOTE9BRF0gV3JpdGluZyBmaWxlLi4uJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBGaWxlc3lzdGVtLndyaXRlRmlsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IGZpbGVOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBiYXNlNjQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yeTogZGlyZWN0b3J5XHJcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nLmxvZygnW0RPV05MT0FEXSBGaWxlIHdyaXRlIHN1Y2Nlc3NmdWwnKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyBTdGVwIDI6IEdldCBmaWxlIFVSSVxyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2cubG9nKCdbRE9XTkxPQURdIEdldHRpbmcgZmlsZSBVUkkuLi4nKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVVcmlSZXN1bHQgPSBhd2FpdCBGaWxlc3lzdGVtLmdldFVyaSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yeTogZGlyZWN0b3J5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBmaWxlTmFtZVxyXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZy5sb2coJ1tET1dOTE9BRF0gRmlsZSBVUkkgb2J0YWluZWQ6ICcgKyBKU09OLnN0cmluZ2lmeShmaWxlVXJpUmVzdWx0KSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgLy9zdGVwIDM6IGlPUyBmYWxsYmFjayDihpIgdXNlIHdpbmRvdy5vcGVuIGZvciB2aWV3IGluIGEgbmV3IHRhYlxyXG4gICAgICAgICAgICAgICAgICAgICAgaWYoaXNJT1MpIHsgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbnZlcnQgYmFzZTY0IOKGkiBCbG9iXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJ5dGVDaGFyYWN0ZXJzID0gYXRvYihiYXNlNjQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBieXRlTnVtYmVycyA9IG5ldyBBcnJheShieXRlQ2hhcmFjdGVycy5sZW5ndGgpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBieXRlQ2hhcmFjdGVycy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJ5dGVOdW1iZXJzW2ldID0gYnl0ZUNoYXJhY3RlcnMuY2hhckNvZGVBdChpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJ5dGVBcnJheSA9IG5ldyBVaW50OEFycmF5KGJ5dGVOdW1iZXJzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtieXRlQXJyYXldLCB7IHR5cGU6IG1pbWVUeXBlIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBCbG9iIFVSTFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBibG9iVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBPcGVuIGJsYW5rIHRhYiBmaXJzdCAoU2FmYXJpIHJlcXVpcmVtZW50KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdUYWIgPSB3aW5kb3cub3BlbignJywgJ19ibGFuaycpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdUYWIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOYXZpZ2F0ZSBBRlRFUiB0YWIgZXhpc3RzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3VGFiLmxvY2F0aW9uLmhyZWYgPSBibG9iVXJsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyBTdGVwIDQ6IE9wZW4gZmlsZSBBbmRyb2lkIOKGkiBGaWxlT3BlbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWxlT3B0aW9uczogRmlsZU9wZW5lck9wdGlvbnMgPSB7IGZpbGVQYXRoOiBmaWxlVXJpUmVzdWx0LnVyaSwgY29udGVudFR5cGU6IG1pbWVUeXBlIH07XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZy5sb2coJ1tET1dOTE9BRF0gQXR0ZW1wdGluZyB0byBvcGVuIGZpbGUgd2l0aCBGaWxlT3BlbmVyLi4uJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBGaWxlT3BlbmVyLm9wZW4oZmlsZU9wdGlvbnMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2cubG9nKCdbRE9XTkxPQURdIEZpbGUgb3BlbmVkIHN1Y2Nlc3NmdWxseTogJyArIEpTT04uc3RyaW5naWZ5KHJlcykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaChlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nLmxvZygnW0RPV05MT0FEXSBFcnJvciBvcGVuaW5nIGZpbGU6ICcgKyBKU09OLnN0cmluZ2lmeShlcnIpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZy5sb2coJ1tET1dOTE9BRF0gRVJST1IgZHVyaW5nIGZpbGUgd3JpdGUgb3IgVVJJIHJldHJpZXZhbDogJyArIEpTT04uc3RyaW5naWZ5KGVycikpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlua1NvdXJjZSA9IGBkYXRhOiR7bWltZVR5cGV9O2Jhc2U2NCwke2Jhc2U2NH1gO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRvd25sb2FkTGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRvd25sb2FkTGluay5ocmVmID0gbGlua1NvdXJjZTtcclxuICAgICAgICAgICAgICAgICAgICBkb3dubG9hZExpbmsuZG93bmxvYWQgPSB0aGlzLnNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuTk9ORSwgZmlsZU5hbWUpIDtcclxuICAgICAgICAgICAgICAgICAgICBkb3dubG9hZExpbmsuY2xpY2soKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgZXJyID0+IHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5sb2cubG9nKCdlcnJvcicsIGVycik7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIChjbGljayk9XCJkb3dubG9hZEZpbGUoZmlsZUlkKVwiIGNvbG9yPVwicHJpbWFyeVwiPnt7dmFsdWUgPyB2YWx1ZSA6ICdEb3dubG9hZCd9fTwvaW9uLWJ1dHRvbj4iXX0=