@hmcts/ccd-case-ui-toolkit 7.2.17 → 7.2.19-3304-rc1

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.
@@ -309,19 +309,22 @@ export class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
309
309
  case 422:
310
310
  case 500:
311
311
  {
312
- let errorMsg = WriteDocumentFieldComponent.ERROR_UPLOADING_FILE;
313
- if (error?.error) {
314
- const fullError = error.error;
315
- const start = fullError.indexOf('{');
316
- if (start >= 0) {
317
- const json = fullError.substring(start, fullError.length - 1).split('<EOL>').join('');
318
- const obj = JSON.parse(json);
319
- if (obj?.error) {
320
- errorMsg = obj.error;
312
+ if (this.fileSecureModeOn) {
313
+ let errorMsg = WriteDocumentFieldComponent.ERROR_UPLOADING_FILE;
314
+ if (error?.error) {
315
+ const fullError = error.error;
316
+ const start = fullError.indexOf('{');
317
+ if (start >= 0) {
318
+ const json = fullError.substring(start, fullError.length - 1).split('<EOL>').join('');
319
+ const obj = JSON.parse(json);
320
+ if (obj?.error) {
321
+ errorMsg = obj.error;
322
+ }
321
323
  }
322
324
  }
325
+ return errorMsg;
323
326
  }
324
- return errorMsg;
327
+ return error.error ? error.error : WriteDocumentFieldComponent.ERROR_UPLOADING_FILE;
325
328
  }
326
329
  case 429:
327
330
  return error?.error;
@@ -441,4 +444,4 @@ export class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
441
444
  args: ['fileInput', { static: false }]
442
445
  }] }); })();
443
446
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteDocumentFieldComponent, { className: "WriteDocumentFieldComponent", filePath: "lib/shared/components/palette/document/write-document-field.component.ts", lineNumber: 24 }); })();
444
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtZG9jdW1lbnQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvZG9jdW1lbnQvd3JpdGUtZG9jdW1lbnQtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvZG9jdW1lbnQvd3JpdGUtZG9jdW1lbnQtZmllbGQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLElBQUksU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFL0UsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUl2RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQTtBQUM3RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDbEcsT0FB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LGlCQUFPLEVBQ3pHO1lBQ1IsOEVBQW9EO1lBR3BELCtCQUdpRDtZQUMvQyxZQUNGOztZQUFBLGlCQUFPO1lBQ1AsNEJBQUs7WUFFSCxzSEFBbUU7WUFDckUsaUJBQU07WUFHSixBQURGLCtCQUErQixjQUMyRTtZQUE1QixBQUE1Qiw0SUFBUyxxQkFBaUIsS0FBQywrSEFBVSxxQkFBaUIsS0FBQztZQUFDLGlCQUFNO1lBQzlHLG9DQUN3RTtZQUQ2QixBQUF2QywwSkFBZSwwQkFBc0IsS0FBQyx5SUFBVyx3RUFBZ0UsS0FBQztZQUdwTCxBQURFLEFBRkUsaUJBQ3dFLEVBQ3BFLEVBQ0Y7WUFFSixBQURGLGdDQUFrQyxrQkFDNkc7WUFBNUQsK0lBQVMsa0JBQWMsS0FBQztZQUFvQyxhQUFrQzs7WUFDakwsQUFEaUwsaUJBQVMsRUFDcEw7O1lBMUJrQixpRUFBa0Q7WUFDakUsY0FBWTtZQUFaLDhCQUFZO1lBQ1EsY0FBK0M7O1lBQUMsZUFBK0I7WUFBL0IsMERBQStCO1lBRWpGLGVBQXlCO1lBQXpCLDhDQUF5QjtZQU01QyxjQUEwQztZQUExQyxnRUFBMEM7WUFDOUMsY0FDRjtZQURFLDhFQUNGO1lBRzRCLGVBQWU7WUFBZixvQ0FBZTtZQUlwQyxlQUEwQztZQUExQyw0REFBMEM7WUFFeEMsY0FBb0Q7WUFBcEQsK0VBQW9EO1lBRHJCLDZCQUFXO1lBS3VELGVBQWtDO1lBQWxDLG9EQUFrQztZQUFDLGNBQWtDO1lBQWxDLDZEQUFrQzs7O2lGREZwSywyQkFBMkI7Y0FKdkMsU0FBUzsyQkFDRSwwQkFBMEI7ME5BZWMsU0FBUztrQkFBMUQsU0FBUzttQkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztrRkFaOUIsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0TGVnYWN5RGlhbG9nIGFzIE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2cnO1xuaW1wb3J0IHsgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi8uLi8uLi9jb21tb25zL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBDYXNlVmlldyB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9jYXNlLXZpZXcvY2FzZS12aWV3Lm1vZGVsJztcbmltcG9ydCB7IERvY3VtZW50RGF0YSwgRm9ybURvY3VtZW50IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RvY3VtZW50L2RvY3VtZW50LWRhdGEubW9kZWwnXG5pbXBvcnQgeyBIdHRwRXJyb3IgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vaHR0cC9odHRwLWVycm9yLm1vZGVsJztcbmltcG9ydCB7IERvY3VtZW50TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9kb2N1bWVudC1tYW5hZ2VtZW50L2RvY3VtZW50LW1hbmFnZW1lbnQuc2VydmljZSdcbmltcG9ydCB7IEp1cmlzZGljdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9qdXJpc2RpY3Rpb24vanVyaXNkaWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyIH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMvY2FzZS5ub3RpZmllcic7XG5pbXBvcnQgeyBEb2N1bWVudERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2RpYWxvZ3MvZG9jdW1lbnQtZGlhbG9nL2RvY3VtZW50LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgaW5pdERpYWxvZyB9IGZyb20gJy4uLy4uL2hlbHBlcnMvaW5pdC1kaWFsb2ctaGVscGVyJztcbmltcG9ydCB7IEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtd3JpdGUuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVVcGxvYWRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2ZpbGUtdXBsb2FkLXN0YXRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtd3JpdGUtZG9jdW1lbnQtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd3JpdGUtZG9jdW1lbnQtZmllbGQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERPQ1VNRU5UX1VSTCA9ICdkb2N1bWVudF91cmwnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERPQ1VNRU5UX0JJTkFSWV9VUkwgPSAnZG9jdW1lbnRfYmluYXJ5X3VybCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRE9DVU1FTlRfRklMRU5BTUUgPSAnZG9jdW1lbnRfZmlsZW5hbWUnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERPQ1VNRU5UX0hBU0ggPSAnZG9jdW1lbnRfaGFzaCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVVBMT0FEX1RJTUVTVEFNUCA9ICd1cGxvYWRfdGltZXN0YW1wJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBVUExPQURfRVJST1JfRklMRV9SRVFVSVJFRCA9ICdGaWxlIHJlcXVpcmVkJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBVUExPQURfRVJST1JfTk9UX0FWQUlMQUJMRSA9ICdEb2N1bWVudCB1cGxvYWQgZmFjaWxpdHkgaXMgbm90IGF2YWlsYWJsZSBhdCB0aGUgbW9tZW50JztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBVUExPQURfRVJST1JfSU5WQUxJRF9GT1JNQVQgPSAnRG9jdW1lbnQgZm9ybWF0IGlzIG5vdCBzdXBwb3J0ZWQnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFVQTE9BRF9XQUlUSU5HX0ZJTEVfU1RBVFVTID0gJ1VwbG9hZGluZy4uLic7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRVJST1JfVVBMT0FESU5HX0ZJTEUgPSAnRXJyb3IgVXBsb2FkaW5nIEZpbGUnO1xuXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwdWJsaWMgZmlsZUlucHV0OiBFbGVtZW50UmVmO1xuXG4gIHB1YmxpYyBzZWxlY3RlZEZpbGU6IEZpbGU7XG4gIHB1YmxpYyB2YWxpZCA9IHRydWU7XG4gIHB1YmxpYyBmaWxlVXBsb2FkTWVzc2FnZXM6IHN0cmluZztcbiAgcHVibGljIGNvbmZpcm1SZXBsYWNlUmVzdWx0OiBzdHJpbmc7XG4gIHB1YmxpYyBjbGlja0luc2lkZVRoZURvY3VtZW50OiBib29sZWFuO1xuXG4gIC8vIHRoZXNlIGFyZSBwdWJsaWMgc28gdGhhdCB0aGV5IGNhbiBiZSBtb2NrZWQgZm9yIHRlc3RzXG4gIHB1YmxpYyBmaWxlVXBsb2FkU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBkaWFsb2dTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIGNhc2VOb3RpZmllclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMganVyaXNkaWN0aW9uU3ViczogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgdXBsb2FkZWREb2N1bWVudDogRm9ybUdyb3VwO1xuICBwcml2YXRlIGRpYWxvZ0NvbmZpZzogTWF0RGlhbG9nQ29uZmlnO1xuXG4gIHB1YmxpYyBqdXJpc2RpY3Rpb25JZDogc3RyaW5nO1xuICBwdWJsaWMgY2FzZVR5cGVJZDogc3RyaW5nO1xuICBwdWJsaWMgY2FzZVR5cGVFeGNsdXNpb25zOiBzdHJpbmc7XG4gIC8vIFNob3VsZCB0aGUgZmlsZSB1cGxvYWQgdXNlIENEQU1cbiAgcHVibGljIGZpbGVTZWN1cmVNb2RlT246IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcENvbmZpZzogQWJzdHJhY3RBcHBDb25maWcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlTm90aWZpZXI6IENhc2VOb3RpZmllcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50TWFuYWdlbWVudDogRG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZSxcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWxlVXBsb2FkU3RhdGVTZXJ2aWNlOiBGaWxlVXBsb2FkU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkganVyaXNkaWN0aW9uU2VydmljZTogSnVyaXNkaWN0aW9uU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBXYWl0IGZvciBib3RoIG9ic2VydmFibGVzIHRvIGVtaXQgYXQgbGVhc3Qgb25jZVxuICAgIHRoaXMuY2FzZU5vdGlmaWVyU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmNhc2VOb3RpZmllci5jYXNlVmlldy5waXBlKHRha2UoMSkpLFxuICAgICAgdGhpcy5qdXJpc2RpY3Rpb25TZXJ2aWNlLmdldFNlbGVjdGVkSnVyaXNkaWN0aW9uKClcbiAgICBdKS5zdWJzY3JpYmUoKFtjYXNlRGV0YWlscywganVyaXNkaWN0aW9uXSkgPT4ge1xuICAgICAgaWYgKGNhc2VEZXRhaWxzKSB7XG4gICAgICAgIHRoaXMuY2FzZVR5cGVJZCA9IGNhc2VEZXRhaWxzPy5jYXNlX3R5cGU/LmlkO1xuICAgICAgICB0aGlzLmp1cmlzZGljdGlvbklkID0gY2FzZURldGFpbHM/LmNhc2VfdHlwZT8uanVyaXNkaWN0aW9uPy5pZDtcbiAgICAgIH1cbiAgICAgIGlmIChqdXJpc2RpY3Rpb24pIHtcbiAgICAgICAgdGhpcy5qdXJpc2RpY3Rpb25JZCA9IGp1cmlzZGljdGlvbi5pZDtcbiAgICAgICAgaWYgKGp1cmlzZGljdGlvbi5jdXJyZW50Q2FzZVR5cGUpIHtcbiAgICAgICAgICB0aGlzLmNhc2VUeXBlSWQgPSBqdXJpc2RpY3Rpb24uY3VycmVudENhc2VUeXBlLmlkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvL2lmIHdlIGhhdmVudCBzZXQgdGhlIHZhbHVlIG9mIGNhc2VUeXBlSWQgeWV0LCB3ZSBjYW4gY2hlY2sgaWYgaXRzIGluIHRoZSB1cmwuIGUuZy4gY2FzZS1jcmVhdGlvblxuICAgICAgaWYgKCF0aGlzLmNhc2VUeXBlSWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lO1xuICAgICAgICBpZiAodXJsLmluZGV4T2YoJy9jYXNlLWNyZWF0ZS8nKSA+IC0xKSB7XG4gICAgICAgICAgY29uc3QgcGFydHMgPSB1cmwuc3BsaXQoJy8nKTtcbiAgICAgICAgICB0aGlzLmp1cmlzZGljdGlvbklkID0gcGFydHNbcGFydHMuaW5kZXhPZignY2FzZS1jcmVhdGUnKSArIDFdO1xuICAgICAgICAgIHRoaXMuY2FzZVR5cGVJZCA9IHBhcnRzW3BhcnRzLmluZGV4T2YoJ2Nhc2UtY3JlYXRlJykgKyAyXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gdXNlIHRoZSBkb2N1bWVudE1hbmFnZW1lbnQgc2VydmljZSB0byBjaGVjayBpZiB0aGUgZG9jdW1lbnQgdXBsb2FkIHNob3VsZCB1c2UgQ0RBTVxuICAgICAgaWYgKHRoaXMuZG9jdW1lbnRNYW5hZ2VtZW50LmlzRG9jdW1lbnRTZWN1cmVNb2RlRW5hYmxlZCgpKSB7XG4gICAgICAgIHRoaXMuZmlsZVNlY3VyZU1vZGVPbiA9IHRydWU7XG4gICAgICB9XG4gICAgICB0aGlzLmRpYWxvZ0NvbmZpZyA9IGluaXREaWFsb2coKTtcbiAgICAgIGxldCBkb2N1bWVudCA9IHRoaXMuY2FzZUZpZWxkLnZhbHVlIHx8IHsgZG9jdW1lbnRfdXJsOiBudWxsLCBkb2N1bWVudF9iaW5hcnlfdXJsOiBudWxsLCBkb2N1bWVudF9maWxlbmFtZTogbnVsbCB9O1xuICAgICAgZG9jdW1lbnQgPSB0aGlzLmZpbGVTZWN1cmVNb2RlT24gJiYgIWRvY3VtZW50LmRvY3VtZW50X2hhc2ggPyB7IC4uLmRvY3VtZW50LCBkb2N1bWVudF9oYXNoOiBudWxsIH0gOiBkb2N1bWVudDtcbiAgICAgIGlmICh0aGlzLmlzQU1hbmRhdG9yeUNvbXBvbmVudCgpKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlRG9jdW1lbnRGb3JtV2l0aFZhbGlkYXRvcihkb2N1bWVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNyZWF0ZURvY3VtZW50Rm9ybShkb2N1bWVudCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmlsZVVwbG9hZFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5maWxlVXBsb2FkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmRpYWxvZ1N1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5kaWFsb2dTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY2FzZU5vdGlmaWVyU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmNhc2VOb3RpZmllclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5qdXJpc2RpY3Rpb25TdWJzKSB7XG4gICAgICB0aGlzLmp1cmlzZGljdGlvblN1YnMudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNVcGxvYWRJblByb2dyZXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpbGVVcGxvYWRTdGF0ZVNlcnZpY2UuaXNVcGxvYWRJblByb2dyZXNzKCk7XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsVXBsb2FkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZpbGVVcGxvYWRTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuZmlsZVVwbG9hZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHRoaXMuZmlsZVVwbG9hZFN0YXRlU2VydmljZS5zZXRVcGxvYWRJblByb2dyZXNzKGZhbHNlKTtcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgdGhpcy5yZXNldFVwbG9hZCgpO1xuICB9XG5cbiAgcHVibGljIGZpbGVWYWxpZGF0aW9uc09uVGFiKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQU1hbmRhdG9yeUNvbXBvbmVudCgpKSB7XG4gICAgICBpZiAodGhpcy52YWxpZGF0ZUZvcm1VcGxvYWRlZERvY3VtZW50KCkpIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5RmlsZVVwbG9hZE1lc3NhZ2VzKFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5VUExPQURfRVJST1JfRklMRV9SRVFVSVJFRCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbGVDaGFuZ2VFdmVudChmaWxlSW5wdXQ6IGFueSwgYWxsb3dlZFJlZ2V4Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IGZpbGVUeXBlUmVnZXg7XG4gICAgaWYgKGFsbG93ZWRSZWdleCkge1xuICAgICAgZmlsZVR5cGVSZWdleCA9IG5ldyBSZWdFeHAoYCgke2FsbG93ZWRSZWdleC5yZXBsYWNlKC8sL2csICd8Jyl9KWAsICdpJyk7XG4gICAgfVxuICAgIGlmIChmaWxlSW5wdXQudGFyZ2V0Py5maWxlc1swXSAmJiAhZmlsZUlucHV0LnRhcmdldD8uZmlsZXNbMF0/Lm5hbWU/Lm1hdGNoKGZpbGVUeXBlUmVnZXgpKXtcbiAgICAgIHRoaXMuaW52YWxpZEZpbGVGb3JtYXQoKTtcbiAgICB9IGVsc2UgaWYgKGZpbGVJbnB1dC50YXJnZXQuZmlsZXNbMF0pIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlID0gZmlsZUlucHV0LnRhcmdldC5maWxlc1swXTtcbiAgICAgIHRoaXMuZGlzcGxheUZpbGVVcGxvYWRNZXNzYWdlcyhXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuVVBMT0FEX1dBSVRJTkdfRklMRV9TVEFUVVMpO1xuICAgICAgY29uc3QgZG9jdW1lbnRVcGxvYWQ6IEZvcm1EYXRhID0gdGhpcy5idWlsZERvY3VtZW50VXBsb2FkRGF0YSh0aGlzLnNlbGVjdGVkRmlsZSk7XG4gICAgICB0aGlzLmZpbGVVcGxvYWRTdGF0ZVNlcnZpY2Uuc2V0VXBsb2FkSW5Qcm9ncmVzcyh0cnVlKTtcblxuICAgICAgdGhpcy5maWxlVXBsb2FkU3Vic2NyaXB0aW9uID0gdGhpcy5kb2N1bWVudE1hbmFnZW1lbnQudXBsb2FkRmlsZShkb2N1bWVudFVwbG9hZCkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlc3VsdERvY3VtZW50OiBEb2N1bWVudERhdGEpID0+IHRoaXMuaGFuZGxlRG9jdW1lbnRVcGxvYWRSZXN1bHQocmVzdWx0RG9jdW1lbnQpLFxuICAgICAgICBlcnJvcjogKGVycm9yOiBIdHRwRXJyb3IpID0+IHRoaXMuaGFuZGxlRG9jdW1lbnRVcGxvYWRFcnJvcihlcnJvcilcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlc2V0VXBsb2FkKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9wZW5GaWxlRGlhbG9nKCk6IHZvaWQge1xuICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBmaWxlU2VsZWN0RXZlbnQoKTogdm9pZCB7XG4gICAgaWYgKCh0aGlzLmNhc2VGaWVsZC52YWx1ZSAmJiB0aGlzLmNhc2VGaWVsZC52YWx1ZS5kb2N1bWVudF9maWxlbmFtZSkgfHxcbiAgICAgICh0aGlzLnNlbGVjdGVkRmlsZSAmJiB0aGlzLnNlbGVjdGVkRmlsZS5uYW1lKSkge1xuICAgICAgdGhpcy5vcGVuRGlhbG9nKHRoaXMuZGlhbG9nQ29uZmlnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuRmlsZURpYWxvZygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB0cmlnZ2VyUmVwbGFjZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5jb25maXJtUmVwbGFjZVJlc3VsdCA9PT0gJ1JlcGxhY2UnKSB7XG4gICAgICB0aGlzLm9wZW5GaWxlRGlhbG9nKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGludmFsaWRGaWxlRm9ybWF0KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlRG9jdW1lbnRGb3JtKG51bGwsIG51bGwsIG51bGwpO1xuICAgIHRoaXMuZGlzcGxheUZpbGVVcGxvYWRNZXNzYWdlcyhXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuVVBMT0FEX0VSUk9SX0lOVkFMSURfRk9STUFUKTtcblxuICAgIC8vIGZpeCBhY3RpdmUgZm9ybSBncm91cCBzbyB0aGF0IGFkZGl0aW9uYWwgYXR0YWNobWVudHMgaW4gaW52YWxpZCBmb3JtYXQgYXJlIG5vdCBhY2NlcHRlZFxuICAgIHRoaXMuZm9ybUdyb3VwLnNldEVycm9ycyh7IGludmFsaWRGaWxlRm9ybWF0OiB0cnVlIH0pO1xuICB9XG5cbiAgcHVibGljIGdldFVwbG9hZGVkRmlsZU5hbWUoKTogYW55IHtcbiAgICBpZiAodGhpcy51cGxvYWRlZERvY3VtZW50KSB7XG4gICAgICByZXR1cm4gdGhpcy51cGxvYWRlZERvY3VtZW50LmdldChXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuRE9DVU1FTlRfRklMRU5BTUUpLnZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRVcGxvYWQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEZpbGUgPSBudWxsO1xuICAgIGlmICh0aGlzLmlzQU1hbmRhdG9yeUNvbXBvbmVudCgpKSB7XG4gICAgICB0aGlzLnVwZGF0ZURvY3VtZW50Rm9ybShudWxsLCBudWxsLCBudWxsKTtcbiAgICAgIHRoaXMuZGlzcGxheUZpbGVVcGxvYWRNZXNzYWdlcyhXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuVVBMT0FEX0VSUk9SX0ZJTEVfUkVRVUlSRUQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbGlkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbGVWYWxpZGF0aW9ucygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0FNYW5kYXRvcnlDb21wb25lbnQoKSkge1xuICAgICAgaWYgKHRoaXMuY2xpY2tJbnNpZGVUaGVEb2N1bWVudCAmJiB0aGlzLnZhbGlkYXRlRm9ybVVwbG9hZGVkRG9jdW1lbnQoKSAmJiAhdGhpcy5pc1VwTG9hZGluZ0FGaWxlKCkpIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5RmlsZVVwbG9hZE1lc3NhZ2VzKFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5VUExPQURfRVJST1JfRklMRV9SRVFVSVJFRCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRGlhbG9nKGRpYWxvZ0NvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRG9jdW1lbnREaWFsb2dDb21wb25lbnQsIGRpYWxvZ0NvbmZpZyk7XG4gICAgdGhpcy5kaWFsb2dTdWJzY3JpcHRpb24gPSBkaWFsb2dSZWYuYmVmb3JlQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICB0aGlzLmNvbmZpcm1SZXBsYWNlUmVzdWx0ID0gcmVzdWx0O1xuICAgICAgdGhpcy50cmlnZ2VyUmVwbGFjZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0FNYW5kYXRvcnlDb21wb25lbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2FzZUZpZWxkLmRpc3BsYXlfY29udGV4dCAmJiB0aGlzLmNhc2VGaWVsZC5kaXNwbGF5X2NvbnRleHQgPT09IENvbnN0YW50cy5NQU5EQVRPUlk7XG4gIH1cblxuICBwcml2YXRlIGRpc3BsYXlGaWxlVXBsb2FkTWVzc2FnZXMoZmlsZVVwbG9hZE1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudmFsaWQgPSBmYWxzZTtcbiAgICB0aGlzLmZpbGVVcGxvYWRNZXNzYWdlcyA9IGZpbGVVcGxvYWRNZXNzYWdlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1VwTG9hZGluZ0FGaWxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpbGVVcGxvYWRNZXNzYWdlcyA9PT0gV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LlVQTE9BRF9XQUlUSU5HX0ZJTEVfU1RBVFVTO1xuICB9XG4gIHByaXZhdGUgdmFsaWRhdGVGb3JtVXBsb2FkZWREb2N1bWVudCgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMudXBsb2FkZWREb2N1bWVudCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgbGV0IHZhbGlkYXRpb24gPSAhdGhpcy51cGxvYWRlZERvY3VtZW50LmdldChXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuRE9DVU1FTlRfVVJMKS52YWxpZCAmJlxuICAgICAgIXRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkRPQ1VNRU5UX0JJTkFSWV9VUkwpLnZhbGlkICYmXG4gICAgICAhdGhpcy51cGxvYWRlZERvY3VtZW50LmdldChXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuRE9DVU1FTlRfRklMRU5BTUUpLnZhbGlkO1xuXG4gICAgaWYgKHRoaXMuZmlsZVNlY3VyZU1vZGVPbikge1xuICAgICAgdmFsaWRhdGlvbiA9IHZhbGlkYXRpb24gJiYgIXRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkRPQ1VNRU5UX0hBU0gpLnZhbGlkO1xuICAgIH1cblxuICAgIHJldHVybiB2YWxpZGF0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVEb2N1bWVudEZvcm0odXJsOiBzdHJpbmcsIGJpbmFyeVVybDogc3RyaW5nLCBmaWxlbmFtZTogc3RyaW5nLCBkb2N1bWVudEhhc2g/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnVwbG9hZGVkRG9jdW1lbnQuZ2V0KFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5ET0NVTUVOVF9VUkwpLnNldFZhbHVlKHVybCk7XG4gICAgdGhpcy51cGxvYWRlZERvY3VtZW50LmdldChXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuRE9DVU1FTlRfQklOQVJZX1VSTCkuc2V0VmFsdWUoYmluYXJ5VXJsKTtcbiAgICB0aGlzLnVwbG9hZGVkRG9jdW1lbnQuZ2V0KFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5ET0NVTUVOVF9GSUxFTkFNRSkuc2V0VmFsdWUoZmlsZW5hbWUpO1xuICAgIGlmIChkb2N1bWVudEhhc2gpIHtcbiAgICAgIHRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkRPQ1VNRU5UX0hBU0gpLnNldFZhbHVlKGRvY3VtZW50SGFzaCk7XG4gICAgfVxuICAgIGlmKHRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LlVQTE9BRF9USU1FU1RBTVApKXtcbiAgICAgIHRoaXMudXBsb2FkZWREb2N1bWVudC5yZW1vdmVDb250cm9sKFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5VUExPQURfVElNRVNUQU1QKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURvY3VtZW50Rm9ybVdpdGhWYWxpZGF0b3IoZG9jdW1lbnQ6IEZvcm1Eb2N1bWVudCk6IHZvaWQge1xuICAgIGxldCBkb2N1bWVudEZvcm1Hcm91cCA9IHtcbiAgICAgIGRvY3VtZW50X3VybDogbmV3IEZvcm1Db250cm9sKGRvY3VtZW50LmRvY3VtZW50X3VybCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiBuZXcgRm9ybUNvbnRyb2woZG9jdW1lbnQuZG9jdW1lbnRfYmluYXJ5X3VybCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBkb2N1bWVudF9maWxlbmFtZTogbmV3IEZvcm1Db250cm9sKGRvY3VtZW50LmRvY3VtZW50X2ZpbGVuYW1lLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgIH07XG5cbiAgICBpZihkb2N1bWVudC51cGxvYWRfdGltZXN0YW1wICYmICh0eXBlb2YgZG9jdW1lbnQudXBsb2FkX3RpbWVzdGFtcCA9PT0gJ3N0cmluZycpKXtcbiAgICAgIGRvY3VtZW50Rm9ybUdyb3VwID0ge1xuICAgICAgICAuLi5kb2N1bWVudEZvcm1Hcm91cCxcbiAgICAgICAgLi4ueyB1cGxvYWRfdGltZXN0YW1wOiBuZXcgRm9ybUNvbnRyb2woZG9jdW1lbnQudXBsb2FkX3RpbWVzdGFtcCkgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGRvY3VtZW50Rm9ybUdyb3VwID0gdGhpcy5maWxlU2VjdXJlTW9kZU9uID8ge1xuICAgICAgLi4uZG9jdW1lbnRGb3JtR3JvdXAsXG4gICAgICAuLi57IGRvY3VtZW50X2hhc2g6IG5ldyBGb3JtQ29udHJvbChkb2N1bWVudC5kb2N1bWVudF9oYXNoKSB9XG4gICAgfSA6IGRvY3VtZW50Rm9ybUdyb3VwO1xuXG4gICAgdGhpcy51cGxvYWRlZERvY3VtZW50ID0gdGhpcy5yZWdpc3RlckNvbnRyb2wobmV3IEZvcm1Hcm91cChkb2N1bWVudEZvcm1Hcm91cCksIHRydWUpIGFzIEZvcm1Hcm91cDtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRG9jdW1lbnRGb3JtKGRvY3VtZW50OiBGb3JtRG9jdW1lbnQpOiB2b2lkIHtcbiAgICBsZXQgZG9jdW1lbnRGb3JtR3JvdXAgPSB7XG4gICAgICBkb2N1bWVudF91cmw6IG5ldyBGb3JtQ29udHJvbChkb2N1bWVudC5kb2N1bWVudF91cmwpLFxuICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogbmV3IEZvcm1Db250cm9sKGRvY3VtZW50LmRvY3VtZW50X2JpbmFyeV91cmwpLFxuICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6IG5ldyBGb3JtQ29udHJvbChkb2N1bWVudC5kb2N1bWVudF9maWxlbmFtZSlcbiAgICB9O1xuXG4gICAgaWYoZG9jdW1lbnQudXBsb2FkX3RpbWVzdGFtcCAmJiAodHlwZW9mIGRvY3VtZW50LnVwbG9hZF90aW1lc3RhbXAgPT09ICdzdHJpbmcnKSl7XG4gICAgICBkb2N1bWVudEZvcm1Hcm91cCA9IHtcbiAgICAgICAgLi4uZG9jdW1lbnRGb3JtR3JvdXAsXG4gICAgICAgIC4uLnsgdXBsb2FkX3RpbWVzdGFtcDogbmV3IEZvcm1Db250cm9sKGRvY3VtZW50LnVwbG9hZF90aW1lc3RhbXApIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBkb2N1bWVudEZvcm1Hcm91cCA9IHRoaXMuZmlsZVNlY3VyZU1vZGVPbiA/IHtcbiAgICAgIC4uLmRvY3VtZW50Rm9ybUdyb3VwLFxuICAgICAgLi4ueyBkb2N1bWVudF9oYXNoOiBuZXcgRm9ybUNvbnRyb2woZG9jdW1lbnQuZG9jdW1lbnRfaGFzaCkgfVxuICAgIH0gOiBkb2N1bWVudEZvcm1Hcm91cDtcblxuICAgIHRoaXMudXBsb2FkZWREb2N1bWVudCA9IHRoaXMucmVnaXN0ZXJDb250cm9sKG5ldyBGb3JtR3JvdXAoZG9jdW1lbnRGb3JtR3JvdXApLCB0cnVlKSBhcyBGb3JtR3JvdXA7XG4gIH1cblxuICBwcml2YXRlIGdldEVycm9yTWVzc2FnZShlcnJvcjogSHR0cEVycm9yKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGVycm9yLnN0YXR1cykge1xuICAgICAgY2FzZSAwOlxuICAgICAgY2FzZSA1MDI6XG4gICAgICAgIHJldHVybiBXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuVVBMT0FEX0VSUk9SX05PVF9BVkFJTEFCTEU7XG4gICAgICBjYXNlIDQyMjpcbiAgICAgIGNhc2UgNTAwOlxuICAgICAgICB7XG4gICAgICAgICAgbGV0IGVycm9yTXNnID0gV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkVSUk9SX1VQTE9BRElOR19GSUxFO1xuICAgICAgICAgIGlmIChlcnJvcj8uZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnN0IGZ1bGxFcnJvciA9IGVycm9yLmVycm9yO1xuICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSBmdWxsRXJyb3IuaW5kZXhPZigneycpO1xuICAgICAgICAgICAgaWYgKHN0YXJ0ID49IDApIHtcbiAgICAgICAgICAgICAgY29uc3QganNvbiA9IGZ1bGxFcnJvci5zdWJzdHJpbmcoc3RhcnQsIGZ1bGxFcnJvci5sZW5ndGggLSAxKS5zcGxpdCgnPEVPTD4nKS5qb2luKCcnKTtcbiAgICAgICAgICAgICAgY29uc3Qgb2JqID0gSlNPTi5wYXJzZShqc29uKTtcbiAgICAgICAgICAgICAgaWYgKG9iaj8uZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBlcnJvck1zZyA9IG9iai5lcnJvcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZXJyb3JNc2c7XG4gICAgICAgIH1cbiAgICAgIGNhc2UgNDI5OlxuICAgICAgICByZXR1cm4gZXJyb3I/LmVycm9yO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5FUlJPUl9VUExPQURJTkdfRklMRTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRG9jdW1lbnRVcGxvYWREYXRhKHNlbGVjdGVkRmlsZTogRmlsZSk6IEZvcm1EYXRhIHtcbiAgICBjb25zdCBkb2N1bWVudFVwbG9hZDogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBkb2N1bWVudFVwbG9hZC5hcHBlbmQoJ2ZpbGVzJywgc2VsZWN0ZWRGaWxlLCBzZWxlY3RlZEZpbGUubmFtZSk7XG4gICAgZG9jdW1lbnRVcGxvYWQuYXBwZW5kKCdjbGFzc2lmaWNhdGlvbicsICdQVUJMSUMnKTtcblxuICAgIGlmICh0aGlzLmFwcENvbmZpZy5nZXREb2N1bWVudFNlY3VyZU1vZGUoKSkge1xuICAgICAgY29uc3QgY2FzZVR5cGVJZCA9IHRoaXMuY2FzZVR5cGVJZCA/IHRoaXMuY2FzZVR5cGVJZCA6IG51bGw7XG4gICAgICBjb25zdCBjYXNlVHlwZUp1cmlzZGljdGlvbklkID0gdGhpcy5qdXJpc2RpY3Rpb25JZCA/IHRoaXMuanVyaXNkaWN0aW9uSWQgOiBudWxsO1xuICAgICAgZG9jdW1lbnRVcGxvYWQuYXBwZW5kKCdjYXNlVHlwZUlkJywgY2FzZVR5cGVJZCk7XG4gICAgICBkb2N1bWVudFVwbG9hZC5hcHBlbmQoJ2p1cmlzZGljdGlvbklkJywgY2FzZVR5cGVKdXJpc2RpY3Rpb25JZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRvY3VtZW50VXBsb2FkO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVEb2N1bWVudFVwbG9hZFJlc3VsdChyZXN1bHQ6IERvY3VtZW50RGF0YSk6IHZvaWQge1xuICAgIGlmICghdGhpcy51cGxvYWRlZERvY3VtZW50KSB7XG4gICAgICBpZiAodGhpcy5maWxlU2VjdXJlTW9kZU9uKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlRG9jdW1lbnRGb3JtKHsgZG9jdW1lbnRfdXJsOiBudWxsLCBkb2N1bWVudF9iaW5hcnlfdXJsOiBudWxsLCBkb2N1bWVudF9maWxlbmFtZTogbnVsbCwgZG9jdW1lbnRfaGFzaDogbnVsbCB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3JlYXRlRG9jdW1lbnRGb3JtKHsgZG9jdW1lbnRfdXJsOiBudWxsLCBkb2N1bWVudF9iaW5hcnlfdXJsOiBudWxsLCBkb2N1bWVudF9maWxlbmFtZTogbnVsbCB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBkb2N1bWVudCA9IHRoaXMuZmlsZVNlY3VyZU1vZGVPbiA/IHJlc3VsdC5kb2N1bWVudHNbMF0gOiByZXN1bHQuX2VtYmVkZGVkLmRvY3VtZW50c1swXTtcblxuICAgIGlmICh0aGlzLmZpbGVTZWN1cmVNb2RlT24pIHtcbiAgICAgIHRoaXMudXBkYXRlRG9jdW1lbnRGb3JtKFxuICAgICAgICBkb2N1bWVudC5fbGlua3Muc2VsZi5ocmVmLFxuICAgICAgICBkb2N1bWVudC5fbGlua3MuYmluYXJ5LmhyZWYsXG4gICAgICAgIGRvY3VtZW50Lm9yaWdpbmFsRG9jdW1lbnROYW1lLFxuICAgICAgICBkb2N1bWVudC5oYXNoVG9rZW5cbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlRG9jdW1lbnRGb3JtKFxuICAgICAgICBkb2N1bWVudC5fbGlua3Muc2VsZi5ocmVmLFxuICAgICAgICBkb2N1bWVudC5fbGlua3MuYmluYXJ5LmhyZWYsXG4gICAgICAgIGRvY3VtZW50Lm9yaWdpbmFsRG9jdW1lbnROYW1lLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnZhbGlkID0gdHJ1ZTtcbiAgICB0aGlzLmZpbGVVcGxvYWRTdGF0ZVNlcnZpY2Uuc2V0VXBsb2FkSW5Qcm9ncmVzcyhmYWxzZSk7XG5cbiAgICAvLyByZWZyZXNoIHJlcGxhY2VkIGRvY3VtZW50IGluZm9cbiAgICBpZiAodGhpcy5jYXNlRmllbGQudmFsdWUpIHtcbiAgICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlLmRvY3VtZW50X2JpbmFyeV91cmwgPSBkb2N1bWVudC5fbGlua3MuYmluYXJ5LmhyZWY7XG4gICAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZS5kb2N1bWVudF9maWxlbmFtZSA9IGRvY3VtZW50Lm9yaWdpbmFsRG9jdW1lbnROYW1lO1xuICAgICAgdGhpcy5jYXNlRmllbGQudmFsdWUuZG9jdW1lbnRfdXJsID0gZG9jdW1lbnQuX2xpbmtzLnNlbGYuaHJlZjtcblxuICAgICAgaWYgKHRoaXMuZmlsZVNlY3VyZU1vZGVPbikge1xuICAgICAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZS5kb2N1bWVudF9oYXNoID0gZG9jdW1lbnQuaGFzaFRva2VuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRG9jdW1lbnRVcGxvYWRFcnJvcihlcnJvcjogSHR0cEVycm9yKTogdm9pZCB7XG4gICAgdGhpcy5maWxlVXBsb2FkTWVzc2FnZXMgPSB0aGlzLmdldEVycm9yTWVzc2FnZShlcnJvcik7XG4gICAgdGhpcy52YWxpZCA9IGZhbHNlO1xuICAgIHRoaXMuZmlsZVVwbG9hZFN0YXRlU2VydmljZS5zZXRVcGxvYWRJblByb2dyZXNzKGZhbHNlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3IgYm90dG9tLTMwJzogIXZhbGlkfVwiPlxuICA8bGFiZWwgW2Zvcl09XCJpZCgpXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJmb3JtLWxhYmVsXCIgYXR0ci5hcmlhLWxhYmVsPVwie3tjYXNlRmllbGQgfCBjY2RGaWVsZExhYmVsfX1cIj57eyhjYXNlRmllbGQgfCBjY2RGaWVsZExhYmVsKX19PC9zcGFuPlxuICA8L2xhYmVsPlxuICA8c3BhbiBjbGFzcz1cImZvcm0taGludFwiICpuZ0lmPVwiY2FzZUZpZWxkLmhpbnRfdGV4dFwiPlxuICAgIDxtYXJrZG93bj57eyBjYXNlRmllbGQuaGludF90ZXh0IHwgcnB4VHJhbnNsYXRlIH19PC9tYXJrZG93bj5cbiAgPC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIlxuICAgICAgICByb2xlPVwiYWxlcnRcIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICBbaGlkZGVuXT1cIiEoZmlsZVVwbG9hZE1lc3NhZ2VzICYmICF2YWxpZClcIj5cbiAgICB7eyBmaWxlVXBsb2FkTWVzc2FnZXMgfCBycHhUcmFuc2xhdGUgfX1cbiAgPC9zcGFuPlxuICA8ZGl2PlxuICAgIDwhLS08c3BhbiAqbmdJZj1cImdldFVwbG9hZGVkRmlsZU5hbWUoKVwiIGNsYXNzPVwidGV4dC0xNlwiPkZpbGUgbmFtZToge3tnZXRVcGxvYWRlZEZpbGVOYW1lKCl9fTwvc3Bhbj4tLT5cbiAgICA8Y2NkLXJlYWQtZG9jdW1lbnQtZmllbGQgKm5nSWY9XCJjYXNlRmllbGRcIiBbY2FzZUZpZWxkXT1cImNhc2VGaWVsZFwiPjwvY2NkLXJlYWQtZG9jdW1lbnQtZmllbGQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgc3R5bGU9J3Bvc2l0aW9uOnJlbGF0aXZlJz5cbiAgICA8ZGl2IFtpZF09XCJjcmVhdGVFbGVtZW50SWQoJ2ZpbGVJbnB1dFdyYXBwZXInKVwiIChjbGljayk9XCJmaWxlU2VsZWN0RXZlbnQoKVwiIChrZXl1cCk9XCJmaWxlU2VsZWN0RXZlbnQoKVwiPjwvZGl2PlxuICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbCBib3R0b20tMzBcIiBbaWRdPVwiaWQoKVwiIHR5cGU9XCJmaWxlXCIgKGtleWRvd24uVGFiKT1cImZpbGVWYWxpZGF0aW9uc09uVGFiKClcIiAoY2hhbmdlKT1cImZpbGVDaGFuZ2VFdmVudCgkZXZlbnQsIGNhc2VGaWVsZC5maWVsZF90eXBlLnJlZ3VsYXJfZXhwcmVzc2lvbilcIlxuICAgICAgICAgICBhY2NlcHQ9XCJ7e2Nhc2VGaWVsZC5maWVsZF90eXBlLnJlZ3VsYXJfZXhwcmVzc2lvbn19XCIgI2ZpbGVJbnB1dC8+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBib3R0b20tMzBcIj5cbiAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiIGFyaWEtbGFiZWw9XCJDYW5jZWwgdXBsb2FkXCIgKGNsaWNrKT1cImNhbmNlbFVwbG9hZCgpXCIgW2Rpc2FibGVkXT1cIiFpc1VwbG9hZEluUHJvZ3Jlc3MoKVwiPnt7J0NhbmNlbCB1cGxvYWQnIHwgcnB4VHJhbnNsYXRlfX08L2J1dHRvbj5cbjwvZGl2PlxuIl19
447
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtZG9jdW1lbnQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvZG9jdW1lbnQvd3JpdGUtZG9jdW1lbnQtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvZG9jdW1lbnQvd3JpdGUtZG9jdW1lbnQtZmllbGQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLElBQUksU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFL0UsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUl2RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQTtBQUM3RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDbEcsT0FB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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2cgYXMgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XG5pbXBvcnQgeyBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RBcHBDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi9hcHAuY29uZmlnJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbnMvY29uc3RhbnRzJztcbmltcG9ydCB7IENhc2VWaWV3IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2Nhc2Utdmlldy9jYXNlLXZpZXcubW9kZWwnO1xuaW1wb3J0IHsgRG9jdW1lbnREYXRhLCBGb3JtRG9jdW1lbnQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vZG9jdW1lbnQvZG9jdW1lbnQtZGF0YS5tb2RlbCdcbmltcG9ydCB7IEh0dHBFcnJvciB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9odHRwL2h0dHAtZXJyb3IubW9kZWwnO1xuaW1wb3J0IHsgRG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2RvY3VtZW50LW1hbmFnZW1lbnQvZG9jdW1lbnQtbWFuYWdlbWVudC5zZXJ2aWNlJ1xuaW1wb3J0IHsgSnVyaXNkaWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2p1cmlzZGljdGlvbi9qdXJpc2RpY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlTm90aWZpZXIgfSBmcm9tICcuLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlLm5vdGlmaWVyJztcbmltcG9ydCB7IERvY3VtZW50RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZGlhbG9ncy9kb2N1bWVudC1kaWFsb2cvZG9jdW1lbnQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBpbml0RGlhbG9nIH0gZnJvbSAnLi4vLi4vaGVscGVycy9pbml0LWRpYWxvZy1oZWxwZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1maWVsZC13cml0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZVVwbG9hZFN0YXRlU2VydmljZSB9IGZyb20gJy4vZmlsZS11cGxvYWQtc3RhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13cml0ZS1kb2N1bWVudC1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi93cml0ZS1kb2N1bWVudC1maWVsZC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRE9DVU1FTlRfVVJMID0gJ2RvY3VtZW50X3VybCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRE9DVU1FTlRfQklOQVJZX1VSTCA9ICdkb2N1bWVudF9iaW5hcnlfdXJsJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBET0NVTUVOVF9GSUxFTkFNRSA9ICdkb2N1bWVudF9maWxlbmFtZSc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRE9DVU1FTlRfSEFTSCA9ICdkb2N1bWVudF9oYXNoJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBVUExPQURfVElNRVNUQU1QID0gJ3VwbG9hZF90aW1lc3RhbXAnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFVQTE9BRF9FUlJPUl9GSUxFX1JFUVVJUkVEID0gJ0ZpbGUgcmVxdWlyZWQnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFVQTE9BRF9FUlJPUl9OT1RfQVZBSUxBQkxFID0gJ0RvY3VtZW50IHVwbG9hZCBmYWNpbGl0eSBpcyBub3QgYXZhaWxhYmxlIGF0IHRoZSBtb21lbnQnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFVQTE9BRF9FUlJPUl9JTlZBTElEX0ZPUk1BVCA9ICdEb2N1bWVudCBmb3JtYXQgaXMgbm90IHN1cHBvcnRlZCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVVBMT0FEX1dBSVRJTkdfRklMRV9TVEFUVVMgPSAnVXBsb2FkaW5nLi4uJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBFUlJPUl9VUExPQURJTkdfRklMRSA9ICdFcnJvciBVcGxvYWRpbmcgRmlsZSc7XG5cbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JywgeyBzdGF0aWM6IGZhbHNlIH0pIHB1YmxpYyBmaWxlSW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgcHVibGljIHNlbGVjdGVkRmlsZTogRmlsZTtcbiAgcHVibGljIHZhbGlkID0gdHJ1ZTtcbiAgcHVibGljIGZpbGVVcGxvYWRNZXNzYWdlczogc3RyaW5nO1xuICBwdWJsaWMgY29uZmlybVJlcGxhY2VSZXN1bHQ6IHN0cmluZztcbiAgcHVibGljIGNsaWNrSW5zaWRlVGhlRG9jdW1lbnQ6IGJvb2xlYW47XG5cbiAgLy8gdGhlc2UgYXJlIHB1YmxpYyBzbyB0aGF0IHRoZXkgY2FuIGJlIG1vY2tlZCBmb3IgdGVzdHNcbiAgcHVibGljIGZpbGVVcGxvYWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIGRpYWxvZ1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgY2FzZU5vdGlmaWVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBqdXJpc2RpY3Rpb25TdWJzOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSB1cGxvYWRlZERvY3VtZW50OiBGb3JtR3JvdXA7XG4gIHByaXZhdGUgZGlhbG9nQ29uZmlnOiBNYXREaWFsb2dDb25maWc7XG5cbiAgcHVibGljIGp1cmlzZGljdGlvbklkOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlVHlwZUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlVHlwZUV4Y2x1c2lvbnM6IHN0cmluZztcbiAgLy8gU2hvdWxkIHRoZSBmaWxlIHVwbG9hZCB1c2UgQ0RBTVxuICBwdWJsaWMgZmlsZVNlY3VyZU1vZGVPbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwQ29uZmlnOiBBYnN0cmFjdEFwcENvbmZpZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VOb3RpZmllcjogQ2FzZU5vdGlmaWVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRNYW5hZ2VtZW50OiBEb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbGVVcGxvYWRTdGF0ZVNlcnZpY2U6IEZpbGVVcGxvYWRTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBqdXJpc2RpY3Rpb25TZXJ2aWNlOiBKdXJpc2RpY3Rpb25TZXJ2aWNlLFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIFdhaXQgZm9yIGJvdGggb2JzZXJ2YWJsZXMgdG8gZW1pdCBhdCBsZWFzdCBvbmNlXG4gICAgdGhpcy5jYXNlTm90aWZpZXJTdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY2FzZU5vdGlmaWVyLmNhc2VWaWV3LnBpcGUodGFrZSgxKSksXG4gICAgICB0aGlzLmp1cmlzZGljdGlvblNlcnZpY2UuZ2V0U2VsZWN0ZWRKdXJpc2RpY3Rpb24oKVxuICAgIF0pLnN1YnNjcmliZSgoW2Nhc2VEZXRhaWxzLCBqdXJpc2RpY3Rpb25dKSA9PiB7XG4gICAgICBpZiAoY2FzZURldGFpbHMpIHtcbiAgICAgICAgdGhpcy5jYXNlVHlwZUlkID0gY2FzZURldGFpbHM/LmNhc2VfdHlwZT8uaWQ7XG4gICAgICAgIHRoaXMuanVyaXNkaWN0aW9uSWQgPSBjYXNlRGV0YWlscz8uY2FzZV90eXBlPy5qdXJpc2RpY3Rpb24/LmlkO1xuICAgICAgfVxuICAgICAgaWYgKGp1cmlzZGljdGlvbikge1xuICAgICAgICB0aGlzLmp1cmlzZGljdGlvbklkID0ganVyaXNkaWN0aW9uLmlkO1xuICAgICAgICBpZiAoanVyaXNkaWN0aW9uLmN1cnJlbnRDYXNlVHlwZSkge1xuICAgICAgICAgIHRoaXMuY2FzZVR5cGVJZCA9IGp1cmlzZGljdGlvbi5jdXJyZW50Q2FzZVR5cGUuaWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vaWYgd2UgaGF2ZW50IHNldCB0aGUgdmFsdWUgb2YgY2FzZVR5cGVJZCB5ZXQsIHdlIGNhbiBjaGVjayBpZiBpdHMgaW4gdGhlIHVybC4gZS5nLiBjYXNlLWNyZWF0aW9uXG4gICAgICBpZiAoIXRoaXMuY2FzZVR5cGVJZCkge1xuICAgICAgICBjb25zdCB1cmwgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7XG4gICAgICAgIGlmICh1cmwuaW5kZXhPZignL2Nhc2UtY3JlYXRlLycpID4gLTEpIHtcbiAgICAgICAgICBjb25zdCBwYXJ0cyA9IHVybC5zcGxpdCgnLycpO1xuICAgICAgICAgIHRoaXMuanVyaXNkaWN0aW9uSWQgPSBwYXJ0c1twYXJ0cy5pbmRleE9mKCdjYXNlLWNyZWF0ZScpICsgMV07XG4gICAgICAgICAgdGhpcy5jYXNlVHlwZUlkID0gcGFydHNbcGFydHMuaW5kZXhPZignY2FzZS1jcmVhdGUnKSArIDJdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyB1c2UgdGhlIGRvY3VtZW50TWFuYWdlbWVudCBzZXJ2aWNlIHRvIGNoZWNrIGlmIHRoZSBkb2N1bWVudCB1cGxvYWQgc2hvdWxkIHVzZSBDREFNXG4gICAgICBpZiAodGhpcy5kb2N1bWVudE1hbmFnZW1lbnQuaXNEb2N1bWVudFNlY3VyZU1vZGVFbmFibGVkKCkpIHtcbiAgICAgICAgdGhpcy5maWxlU2VjdXJlTW9kZU9uID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZGlhbG9nQ29uZmlnID0gaW5pdERpYWxvZygpO1xuICAgICAgbGV0IGRvY3VtZW50ID0gdGhpcy5jYXNlRmllbGQudmFsdWUgfHwgeyBkb2N1bWVudF91cmw6IG51bGwsIGRvY3VtZW50X2JpbmFyeV91cmw6IG51bGwsIGRvY3VtZW50X2ZpbGVuYW1lOiBudWxsIH07XG4gICAgICBkb2N1bWVudCA9IHRoaXMuZmlsZVNlY3VyZU1vZGVPbiAmJiAhZG9jdW1lbnQuZG9jdW1lbnRfaGFzaCA/IHsgLi4uZG9jdW1lbnQsIGRvY3VtZW50X2hhc2g6IG51bGwgfSA6IGRvY3VtZW50O1xuICAgICAgaWYgKHRoaXMuaXNBTWFuZGF0b3J5Q29tcG9uZW50KCkpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVEb2N1bWVudEZvcm1XaXRoVmFsaWRhdG9yKGRvY3VtZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3JlYXRlRG9jdW1lbnRGb3JtKGRvY3VtZW50KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5maWxlVXBsb2FkU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmZpbGVVcGxvYWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGlhbG9nU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmRpYWxvZ1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5jYXNlTm90aWZpZXJTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuY2FzZU5vdGlmaWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmp1cmlzZGljdGlvblN1YnMpIHtcbiAgICAgIHRoaXMuanVyaXNkaWN0aW9uU3Vicy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc1VwbG9hZEluUHJvZ3Jlc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZVVwbG9hZFN0YXRlU2VydmljZS5pc1VwbG9hZEluUHJvZ3Jlc3MoKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWxVcGxvYWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmlsZVVwbG9hZFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5maWxlVXBsb2FkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5maWxlVXBsb2FkU3RhdGVTZXJ2aWNlLnNldFVwbG9hZEluUHJvZ3Jlc3MoZmFsc2UpO1xuICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB0aGlzLnJlc2V0VXBsb2FkKCk7XG4gIH1cblxuICBwdWJsaWMgZmlsZVZhbGlkYXRpb25zT25UYWIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNBTWFuZGF0b3J5Q29tcG9uZW50KCkpIHtcbiAgICAgIGlmICh0aGlzLnZhbGlkYXRlRm9ybVVwbG9hZGVkRG9jdW1lbnQoKSkge1xuICAgICAgICB0aGlzLmRpc3BsYXlGaWxlVXBsb2FkTWVzc2FnZXMoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LlVQTE9BRF9FUlJPUl9GSUxFX1JFUVVJUkVEKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsZUNoYW5nZUV2ZW50KGZpbGVJbnB1dDogYW55LCBhbGxvd2VkUmVnZXg/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgZmlsZVR5cGVSZWdleDtcbiAgICBpZiAoYWxsb3dlZFJlZ2V4KSB7XG4gICAgICBmaWxlVHlwZVJlZ2V4ID0gbmV3IFJlZ0V4cChgKCR7YWxsb3dlZFJlZ2V4LnJlcGxhY2UoLywvZywgJ3wnKX0pYCwgJ2knKTtcbiAgICB9XG4gICAgaWYgKGZpbGVJbnB1dC50YXJnZXQ/LmZpbGVzWzBdICYmICFmaWxlSW5wdXQudGFyZ2V0Py5maWxlc1swXT8ubmFtZT8ubWF0Y2goZmlsZVR5cGVSZWdleCkpe1xuICAgICAgdGhpcy5pbnZhbGlkRmlsZUZvcm1hdCgpO1xuICAgIH0gZWxzZSBpZiAoZmlsZUlucHV0LnRhcmdldC5maWxlc1swXSkge1xuICAgICAgdGhpcy5zZWxlY3RlZEZpbGUgPSBmaWxlSW5wdXQudGFyZ2V0LmZpbGVzWzBdO1xuICAgICAgdGhpcy5kaXNwbGF5RmlsZVVwbG9hZE1lc3NhZ2VzKFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5VUExPQURfV0FJVElOR19GSUxFX1NUQVRVUyk7XG4gICAgICBjb25zdCBkb2N1bWVudFVwbG9hZDogRm9ybURhdGEgPSB0aGlzLmJ1aWxkRG9jdW1lbnRVcGxvYWREYXRhKHRoaXMuc2VsZWN0ZWRGaWxlKTtcbiAgICAgIHRoaXMuZmlsZVVwbG9hZFN0YXRlU2VydmljZS5zZXRVcGxvYWRJblByb2dyZXNzKHRydWUpO1xuXG4gICAgICB0aGlzLmZpbGVVcGxvYWRTdWJzY3JpcHRpb24gPSB0aGlzLmRvY3VtZW50TWFuYWdlbWVudC51cGxvYWRGaWxlKGRvY3VtZW50VXBsb2FkKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAocmVzdWx0RG9jdW1lbnQ6IERvY3VtZW50RGF0YSkgPT4gdGhpcy5oYW5kbGVEb2N1bWVudFVwbG9hZFJlc3VsdChyZXN1bHREb2N1bWVudCksXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IEh0dHBFcnJvcikgPT4gdGhpcy5oYW5kbGVEb2N1bWVudFVwbG9hZEVycm9yKGVycm9yKVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVzZXRVcGxvYWQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3BlbkZpbGVEaWFsb2coKTogdm9pZCB7XG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgcHVibGljIGZpbGVTZWxlY3RFdmVudCgpOiB2b2lkIHtcbiAgICBpZiAoKHRoaXMuY2FzZUZpZWxkLnZhbHVlICYmIHRoaXMuY2FzZUZpZWxkLnZhbHVlLmRvY3VtZW50X2ZpbGVuYW1lKSB8fFxuICAgICAgKHRoaXMuc2VsZWN0ZWRGaWxlICYmIHRoaXMuc2VsZWN0ZWRGaWxlLm5hbWUpKSB7XG4gICAgICB0aGlzLm9wZW5EaWFsb2codGhpcy5kaWFsb2dDb25maWcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW5GaWxlRGlhbG9nKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRyaWdnZXJSZXBsYWNlKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmNvbmZpcm1SZXBsYWNlUmVzdWx0ID09PSAnUmVwbGFjZScpIHtcbiAgICAgIHRoaXMub3BlbkZpbGVEaWFsb2coKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgaW52YWxpZEZpbGVGb3JtYXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVEb2N1bWVudEZvcm0obnVsbCwgbnVsbCwgbnVsbCk7XG4gICAgdGhpcy5kaXNwbGF5RmlsZVVwbG9hZE1lc3NhZ2VzKFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5VUExPQURfRVJST1JfSU5WQUxJRF9GT1JNQVQpO1xuXG4gICAgLy8gZml4IGFjdGl2ZSBmb3JtIGdyb3VwIHNvIHRoYXQgYWRkaXRpb25hbCBhdHRhY2htZW50cyBpbiBpbnZhbGlkIGZvcm1hdCBhcmUgbm90IGFjY2VwdGVkXG4gICAgdGhpcy5mb3JtR3JvdXAuc2V0RXJyb3JzKHsgaW52YWxpZEZpbGVGb3JtYXQ6IHRydWUgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VXBsb2FkZWRGaWxlTmFtZSgpOiBhbnkge1xuICAgIGlmICh0aGlzLnVwbG9hZGVkRG9jdW1lbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLnVwbG9hZGVkRG9jdW1lbnQuZ2V0KFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5ET0NVTUVOVF9GSUxFTkFNRSkudmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNldFVwbG9hZCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkRmlsZSA9IG51bGw7XG4gICAgaWYgKHRoaXMuaXNBTWFuZGF0b3J5Q29tcG9uZW50KCkpIHtcbiAgICAgIHRoaXMudXBkYXRlRG9jdW1lbnRGb3JtKG51bGwsIG51bGwsIG51bGwpO1xuICAgICAgdGhpcy5kaXNwbGF5RmlsZVVwbG9hZE1lc3NhZ2VzKFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5VUExPQURfRVJST1JfRklMRV9SRVFVSVJFRCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsaWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmlsZVZhbGlkYXRpb25zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQU1hbmRhdG9yeUNvbXBvbmVudCgpKSB7XG4gICAgICBpZiAodGhpcy5jbGlja0luc2lkZVRoZURvY3VtZW50ICYmIHRoaXMudmFsaWRhdGVGb3JtVXBsb2FkZWREb2N1bWVudCgpICYmICF0aGlzLmlzVXBMb2FkaW5nQUZpbGUoKSkge1xuICAgICAgICB0aGlzLmRpc3BsYXlGaWxlVXBsb2FkTWVzc2FnZXMoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LlVQTE9BRF9FUlJPUl9GSUxFX1JFUVVJUkVEKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9wZW5EaWFsb2coZGlhbG9nQ29uZmlnKTogdm9pZCB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihEb2N1bWVudERpYWxvZ0NvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcbiAgICB0aGlzLmRpYWxvZ1N1YnNjcmlwdGlvbiA9IGRpYWxvZ1JlZi5iZWZvcmVDbG9zZWQoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIHRoaXMuY29uZmlybVJlcGxhY2VSZXN1bHQgPSByZXN1bHQ7XG4gICAgICB0aGlzLnRyaWdnZXJSZXBsYWNlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGlzQU1hbmRhdG9yeUNvbXBvbmVudCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0ICYmIHRoaXMuY2FzZUZpZWxkLmRpc3BsYXlfY29udGV4dCA9PT0gQ29uc3RhbnRzLk1BTkRBVE9SWTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzcGxheUZpbGVVcGxvYWRNZXNzYWdlcyhmaWxlVXBsb2FkTWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZCA9IGZhbHNlO1xuICAgIHRoaXMuZmlsZVVwbG9hZE1lc3NhZ2VzID0gZmlsZVVwbG9hZE1lc3NhZ2U7XG4gIH1cblxuICBwcml2YXRlIGlzVXBMb2FkaW5nQUZpbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZVVwbG9hZE1lc3NhZ2VzID09PSBXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuVVBMT0FEX1dBSVRJTkdfRklMRV9TVEFUVVM7XG4gIH1cbiAgcHJpdmF0ZSB2YWxpZGF0ZUZvcm1VcGxvYWRlZERvY3VtZW50KCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy51cGxvYWRlZERvY3VtZW50KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBsZXQgdmFsaWRhdGlvbiA9ICF0aGlzLnVwbG9hZGVkRG9jdW1lbnQuZ2V0KFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5ET0NVTUVOVF9VUkwpLnZhbGlkICYmXG4gICAgICAhdGhpcy51cGxvYWRlZERvY3VtZW50LmdldChXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuRE9DVU1FTlRfQklOQVJZX1VSTCkudmFsaWQgJiZcbiAgICAgICF0aGlzLnVwbG9hZGVkRG9jdW1lbnQuZ2V0KFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5ET0NVTUVOVF9GSUxFTkFNRSkudmFsaWQ7XG5cbiAgICBpZiAodGhpcy5maWxlU2VjdXJlTW9kZU9uKSB7XG4gICAgICB2YWxpZGF0aW9uID0gdmFsaWRhdGlvbiAmJiAhdGhpcy51cGxvYWRlZERvY3VtZW50LmdldChXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuRE9DVU1FTlRfSEFTSCkudmFsaWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbGlkYXRpb247XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZURvY3VtZW50Rm9ybSh1cmw6IHN0cmluZywgYmluYXJ5VXJsOiBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcsIGRvY3VtZW50SGFzaD86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkRPQ1VNRU5UX1VSTCkuc2V0VmFsdWUodXJsKTtcbiAgICB0aGlzLnVwbG9hZGVkRG9jdW1lbnQuZ2V0KFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5ET0NVTUVOVF9CSU5BUllfVVJMKS5zZXRWYWx1ZShiaW5hcnlVcmwpO1xuICAgIHRoaXMudXBsb2FkZWREb2N1bWVudC5nZXQoV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkRPQ1VNRU5UX0ZJTEVOQU1FKS5zZXRWYWx1ZShmaWxlbmFtZSk7XG4gICAgaWYgKGRvY3VtZW50SGFzaCkge1xuICAgICAgdGhpcy51cGxvYWRlZERvY3VtZW50LmdldChXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuRE9DVU1FTlRfSEFTSCkuc2V0VmFsdWUoZG9jdW1lbnRIYXNoKTtcbiAgICB9XG4gICAgaWYodGhpcy51cGxvYWRlZERvY3VtZW50LmdldChXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQuVVBMT0FEX1RJTUVTVEFNUCkpe1xuICAgICAgdGhpcy51cGxvYWRlZERvY3VtZW50LnJlbW92ZUNvbnRyb2woV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LlVQTE9BRF9USU1FU1RBTVApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRG9jdW1lbnRGb3JtV2l0aFZhbGlkYXRvcihkb2N1bWVudDogRm9ybURvY3VtZW50KTogdm9pZCB7XG4gICAgbGV0IGRvY3VtZW50Rm9ybUdyb3VwID0ge1xuICAgICAgZG9jdW1lbnRfdXJsOiBuZXcgRm9ybUNvbnRyb2woZG9jdW1lbnQuZG9jdW1lbnRfdXJsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGRvY3VtZW50X2JpbmFyeV91cmw6IG5ldyBGb3JtQ29udHJvbChkb2N1bWVudC5kb2N1bWVudF9iaW5hcnlfdXJsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiBuZXcgRm9ybUNvbnRyb2woZG9jdW1lbnQuZG9jdW1lbnRfZmlsZW5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpXG4gICAgfTtcblxuICAgIGlmKGRvY3VtZW50LnVwbG9hZF90aW1lc3RhbXAgJiYgKHR5cGVvZiBkb2N1bWVudC51cGxvYWRfdGltZXN0YW1wID09PSAnc3RyaW5nJykpe1xuICAgICAgZG9jdW1lbnRGb3JtR3JvdXAgPSB7XG4gICAgICAgIC4uLmRvY3VtZW50Rm9ybUdyb3VwLFxuICAgICAgICAuLi57IHVwbG9hZF90aW1lc3RhbXA6IG5ldyBGb3JtQ29udHJvbChkb2N1bWVudC51cGxvYWRfdGltZXN0YW1wKSB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZG9jdW1lbnRGb3JtR3JvdXAgPSB0aGlzLmZpbGVTZWN1cmVNb2RlT24gPyB7XG4gICAgICAuLi5kb2N1bWVudEZvcm1Hcm91cCxcbiAgICAgIC4uLnsgZG9jdW1lbnRfaGFzaDogbmV3IEZvcm1Db250cm9sKGRvY3VtZW50LmRvY3VtZW50X2hhc2gpIH1cbiAgICB9IDogZG9jdW1lbnRGb3JtR3JvdXA7XG5cbiAgICB0aGlzLnVwbG9hZGVkRG9jdW1lbnQgPSB0aGlzLnJlZ2lzdGVyQ29udHJvbChuZXcgRm9ybUdyb3VwKGRvY3VtZW50Rm9ybUdyb3VwKSwgdHJ1ZSkgYXMgRm9ybUdyb3VwO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEb2N1bWVudEZvcm0oZG9jdW1lbnQ6IEZvcm1Eb2N1bWVudCk6IHZvaWQge1xuICAgIGxldCBkb2N1bWVudEZvcm1Hcm91cCA9IHtcbiAgICAgIGRvY3VtZW50X3VybDogbmV3IEZvcm1Db250cm9sKGRvY3VtZW50LmRvY3VtZW50X3VybCksXG4gICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiBuZXcgRm9ybUNvbnRyb2woZG9jdW1lbnQuZG9jdW1lbnRfYmluYXJ5X3VybCksXG4gICAgICBkb2N1bWVudF9maWxlbmFtZTogbmV3IEZvcm1Db250cm9sKGRvY3VtZW50LmRvY3VtZW50X2ZpbGVuYW1lKVxuICAgIH07XG5cbiAgICBpZihkb2N1bWVudC51cGxvYWRfdGltZXN0YW1wICYmICh0eXBlb2YgZG9jdW1lbnQudXBsb2FkX3RpbWVzdGFtcCA9PT0gJ3N0cmluZycpKXtcbiAgICAgIGRvY3VtZW50Rm9ybUdyb3VwID0ge1xuICAgICAgICAuLi5kb2N1bWVudEZvcm1Hcm91cCxcbiAgICAgICAgLi4ueyB1cGxvYWRfdGltZXN0YW1wOiBuZXcgRm9ybUNvbnRyb2woZG9jdW1lbnQudXBsb2FkX3RpbWVzdGFtcCkgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGRvY3VtZW50Rm9ybUdyb3VwID0gdGhpcy5maWxlU2VjdXJlTW9kZU9uID8ge1xuICAgICAgLi4uZG9jdW1lbnRGb3JtR3JvdXAsXG4gICAgICAuLi57IGRvY3VtZW50X2hhc2g6IG5ldyBGb3JtQ29udHJvbChkb2N1bWVudC5kb2N1bWVudF9oYXNoKSB9XG4gICAgfSA6IGRvY3VtZW50Rm9ybUdyb3VwO1xuXG4gICAgdGhpcy51cGxvYWRlZERvY3VtZW50ID0gdGhpcy5yZWdpc3RlckNvbnRyb2wobmV3IEZvcm1Hcm91cChkb2N1bWVudEZvcm1Hcm91cCksIHRydWUpIGFzIEZvcm1Hcm91cDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RXJyb3JNZXNzYWdlKGVycm9yOiBIdHRwRXJyb3IpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAoZXJyb3Iuc3RhdHVzKSB7XG4gICAgICBjYXNlIDA6XG4gICAgICBjYXNlIDUwMjpcbiAgICAgICAgcmV0dXJuIFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5VUExPQURfRVJST1JfTk9UX0FWQUlMQUJMRTtcbiAgICAgIGNhc2UgNDIyOlxuICAgICAgY2FzZSA1MDA6XG4gICAgICB7XG4gICAgICAgIGlmICh0aGlzLmZpbGVTZWN1cmVNb2RlT24pe1xuICAgICAgICAgIGxldCBlcnJvck1zZyA9IFdyaXRlRG9jdW1lbnRGaWVsZENvbXBvbmVudC5FUlJPUl9VUExPQURJTkdfRklMRTtcbiAgICAgICAgICBpZiAoZXJyb3I/LmVycm9yKSB7XG4gICAgICAgICAgICBjb25zdCBmdWxsRXJyb3IgPSBlcnJvci5lcnJvcjtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gZnVsbEVycm9yLmluZGV4T2YoJ3snKTtcbiAgICAgICAgICAgIGlmIChzdGFydCA+PSAwKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGpzb24gPSBmdWxsRXJyb3Iuc3Vic3RyaW5nKHN0YXJ0LCBmdWxsRXJyb3IubGVuZ3RoIC0gMSkuc3BsaXQoJzxFT0w+Jykuam9pbignJyk7XG4gICAgICAgICAgICAgIGNvbnN0IG9iaiA9IEpTT04ucGFyc2UoanNvbik7XG4gICAgICAgICAgICAgIGlmIChvYmo/LmVycm9yKSB7XG4gICAgICAgICAgICAgICAgZXJyb3JNc2cgPSBvYmouZXJyb3I7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGVycm9yTXNnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBlcnJvci5lcnJvciA/IGVycm9yLmVycm9yIDogV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkVSUk9SX1VQTE9BRElOR19GSUxFO1xuICAgICAgfVxuICAgICAgY2FzZSA0Mjk6XG4gICAgICAgIHJldHVybiBlcnJvcj8uZXJyb3I7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50LkVSUk9SX1VQTE9BRElOR19GSUxFO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYnVpbGREb2N1bWVudFVwbG9hZERhdGEoc2VsZWN0ZWRGaWxlOiBGaWxlKTogRm9ybURhdGEge1xuICAgIGNvbnN0IGRvY3VtZW50VXBsb2FkOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGRvY3VtZW50VXBsb2FkLmFwcGVuZCgnZmlsZXMnLCBzZWxlY3RlZEZpbGUsIHNlbGVjdGVkRmlsZS5uYW1lKTtcbiAgICBkb2N1bWVudFVwbG9hZC5hcHBlbmQoJ2NsYXNzaWZpY2F0aW9uJywgJ1BVQkxJQycpO1xuXG4gICAgaWYgKHRoaXMuYXBwQ29uZmlnLmdldERvY3VtZW50U2VjdXJlTW9kZSgpKSB7XG4gICAgICBjb25zdCBjYXNlVHlwZUlkID0gdGhpcy5jYXNlVHlwZUlkID8gdGhpcy5jYXNlVHlwZUlkIDogbnVsbDtcbiAgICAgIGNvbnN0IGNhc2VUeXBlSnVyaXNkaWN0aW9uSWQgPSB0aGlzLmp1cmlzZGljdGlvbklkID8gdGhpcy5qdXJpc2RpY3Rpb25JZCA6IG51bGw7XG4gICAgICBkb2N1bWVudFVwbG9hZC5hcHBlbmQoJ2Nhc2VUeXBlSWQnLCBjYXNlVHlwZUlkKTtcbiAgICAgIGRvY3VtZW50VXBsb2FkLmFwcGVuZCgnanVyaXNkaWN0aW9uSWQnLCBjYXNlVHlwZUp1cmlzZGljdGlvbklkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZG9jdW1lbnRVcGxvYWQ7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZURvY3VtZW50VXBsb2FkUmVzdWx0KHJlc3VsdDogRG9jdW1lbnREYXRhKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnVwbG9hZGVkRG9jdW1lbnQpIHtcbiAgICAgIGlmICh0aGlzLmZpbGVTZWN1cmVNb2RlT24pIHtcbiAgICAgICAgdGhpcy5jcmVhdGVEb2N1bWVudEZvcm0oeyBkb2N1bWVudF91cmw6IG51bGwsIGRvY3VtZW50X2JpbmFyeV91cmw6IG51bGwsIGRvY3VtZW50X2ZpbGVuYW1lOiBudWxsLCBkb2N1bWVudF9oYXNoOiBudWxsIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jcmVhdGVEb2N1bWVudEZvcm0oeyBkb2N1bWVudF91cmw6IG51bGwsIGRvY3VtZW50X2JpbmFyeV91cmw6IG51bGwsIGRvY3VtZW50X2ZpbGVuYW1lOiBudWxsIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGRvY3VtZW50ID0gdGhpcy5maWxlU2VjdXJlTW9kZU9uID8gcmVzdWx0LmRvY3VtZW50c1swXSA6IHJlc3VsdC5fZW1iZWRkZWQuZG9jdW1lbnRzWzBdO1xuXG4gICAgaWYgKHRoaXMuZmlsZVNlY3VyZU1vZGVPbikge1xuICAgICAgdGhpcy51cGRhdGVEb2N1bWVudEZvcm0oXG4gICAgICAgIGRvY3VtZW50Ll9saW5rcy5zZWxmLmhyZWYsXG4gICAgICAgIGRvY3VtZW50Ll9saW5rcy5iaW5hcnkuaHJlZixcbiAgICAgICAgZG9jdW1lbnQub3JpZ2luYWxEb2N1bWVudE5hbWUsXG4gICAgICAgIGRvY3VtZW50Lmhhc2hUb2tlblxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVEb2N1bWVudEZvcm0oXG4gICAgICAgIGRvY3VtZW50Ll9saW5rcy5zZWxmLmhyZWYsXG4gICAgICAgIGRvY3VtZW50Ll9saW5rcy5iaW5hcnkuaHJlZixcbiAgICAgICAgZG9jdW1lbnQub3JpZ2luYWxEb2N1bWVudE5hbWUsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMudmFsaWQgPSB0cnVlO1xuICAgIHRoaXMuZmlsZVVwbG9hZFN0YXRlU2VydmljZS5zZXRVcGxvYWRJblByb2dyZXNzKGZhbHNlKTtcblxuICAgIC8vIHJlZnJlc2ggcmVwbGFjZWQgZG9jdW1lbnQgaW5mb1xuICAgIGlmICh0aGlzLmNhc2VGaWVsZC52YWx1ZSkge1xuICAgICAgdGhpcy5jYXNlRmllbGQudmFsdWUuZG9jdW1lbnRfYmluYXJ5X3VybCA9IGRvY3VtZW50Ll9saW5rcy5iaW5hcnkuaHJlZjtcbiAgICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlLmRvY3VtZW50X2ZpbGVuYW1lID0gZG9jdW1lbnQub3JpZ2luYWxEb2N1bWVudE5hbWU7XG4gICAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZS5kb2N1bWVudF91cmwgPSBkb2N1bWVudC5fbGlua3Muc2VsZi5ocmVmO1xuXG4gICAgICBpZiAodGhpcy5maWxlU2VjdXJlTW9kZU9uKSB7XG4gICAgICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlLmRvY3VtZW50X2hhc2ggPSBkb2N1bWVudC5oYXNoVG9rZW47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVEb2N1bWVudFVwbG9hZEVycm9yKGVycm9yOiBIdHRwRXJyb3IpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGVVcGxvYWRNZXNzYWdlcyA9IHRoaXMuZ2V0RXJyb3JNZXNzYWdlKGVycm9yKTtcbiAgICB0aGlzLnZhbGlkID0gZmFsc2U7XG4gICAgdGhpcy5maWxlVXBsb2FkU3RhdGVTZXJ2aWNlLnNldFVwbG9hZEluUHJvZ3Jlc3MoZmFsc2UpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvciBib3R0b20tMzAnOiAhdmFsaWR9XCI+XG4gIDxsYWJlbCBbZm9yXT1cImlkKClcIj5cbiAgICA8c3BhbiBjbGFzcz1cImZvcm0tbGFiZWxcIiBhdHRyLmFyaWEtbGFiZWw9XCJ7e2Nhc2VGaWVsZCB8IGNjZEZpZWxkTGFiZWx9fVwiPnt7KGNhc2VGaWVsZCB8IGNjZEZpZWxkTGFiZWwpfX08L3NwYW4+XG4gIDwvbGFiZWw+XG4gIDxzcGFuIGNsYXNzPVwiZm9ybS1oaW50XCIgKm5nSWY9XCJjYXNlRmllbGQuaGludF90ZXh0XCI+XG4gICAgPG1hcmtkb3duPnt7IGNhc2VGaWVsZC5oaW50X3RleHQgfCBycHhUcmFuc2xhdGUgfX08L21hcmtkb3duPlxuICA8L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgIHJvbGU9XCJhbGVydFwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIFtoaWRkZW5dPVwiIShmaWxlVXBsb2FkTWVzc2FnZXMgJiYgIXZhbGlkKVwiPlxuICAgIHt7IGZpbGVVcGxvYWRNZXNzYWdlcyB8IHJweFRyYW5zbGF0ZSB9fVxuICA8L3NwYW4+XG4gIDxkaXY+XG4gICAgPCEtLTxzcGFuICpuZ0lmPVwiZ2V0VXBsb2FkZWRGaWxlTmFtZSgpXCIgY2xhc3M9XCJ0ZXh0LTE2XCI+RmlsZSBuYW1lOiB7e2dldFVwbG9hZGVkRmlsZU5hbWUoKX19PC9zcGFuPi0tPlxuICAgIDxjY2QtcmVhZC1kb2N1bWVudC1maWVsZCAqbmdJZj1cImNhc2VGaWVsZFwiIFtjYXNlRmllbGRdPVwiY2FzZUZpZWxkXCI+PC9jY2QtcmVhZC1kb2N1bWVudC1maWVsZD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBzdHlsZT0ncG9zaXRpb246cmVsYXRpdmUnPlxuICAgIDxkaXYgW2lkXT1cImNyZWF0ZUVsZW1lbnRJZCgnZmlsZUlucHV0V3JhcHBlcicpXCIgKGNsaWNrKT1cImZpbGVTZWxlY3RFdmVudCgpXCIgKGtleXVwKT1cImZpbGVTZWxlY3RFdmVudCgpXCI+PC9kaXY+XG4gICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sIGJvdHRvbS0zMFwiIFtpZF09XCJpZCgpXCIgdHlwZT1cImZpbGVcIiAoa2V5ZG93bi5UYWIpPVwiZmlsZVZhbGlkYXRpb25zT25UYWIoKVwiIChjaGFuZ2UpPVwiZmlsZUNoYW5nZUV2ZW50KCRldmVudCwgY2FzZUZpZWxkLmZpZWxkX3R5cGUucmVndWxhcl9leHByZXNzaW9uKVwiXG4gICAgICAgICAgIGFjY2VwdD1cInt7Y2FzZUZpZWxkLmZpZWxkX3R5cGUucmVndWxhcl9leHByZXNzaW9ufX1cIiAjZmlsZUlucHV0Lz5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGJvdHRvbS0zMFwiPlxuICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnlcIiB0eXBlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIkNhbmNlbCB1cGxvYWRcIiAoY2xpY2spPVwiY2FuY2VsVXBsb2FkKClcIiBbZGlzYWJsZWRdPVwiIWlzVXBsb2FkSW5Qcm9ncmVzcygpXCI+e3snQ2FuY2VsIHVwbG9hZCcgfCBycHhUcmFuc2xhdGV9fTwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -105,9 +105,9 @@ export class QueryWriteRespondToQueryComponent {
105
105
  }
106
106
  ngOnInit() {
107
107
  this.queryItemId = this.route.snapshot.params.qid;
108
- this.caseNotifier.caseView.pipe(take(1)).subscribe({
108
+ this.caseId = this.route.snapshot.params.cid;
109
+ this.caseNotifier.fetchAndRefresh(this.caseId).pipe(take(1)).subscribe({
109
110
  next: (caseDetails) => {
110
- this.caseId = caseDetails?.case_id ?? '';
111
111
  this.caseDetails = caseDetails;
112
112
  },
113
113
  error: (err) => {
@@ -141,7 +141,7 @@ export class QueryWriteRespondToQueryComponent {
141
141
  const targetId = this.queryItemId === QueryWriteRespondToQueryComponent.QUERY_ITEM_RESPOND
142
142
  ? (matchingMessage?.parentId || matchingMessage?.id)
143
143
  : matchingMessage?.id;
144
- this.queryListData = queryWithChildren?.queries.find(query => query?.id === targetId);
144
+ this.queryListData = queryWithChildren?.queries.find((query) => query?.id === targetId);
145
145
  this.queryResponseStatus = this.queryListData?.responseStatus;
146
146
  }
147
147
  hasResponded(value) {
@@ -199,4 +199,4 @@ export class QueryWriteRespondToQueryComponent {
199
199
  type: Output
200
200
  }] }); })();
201
201
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryWriteRespondToQueryComponent, { className: "QueryWriteRespondToQueryComponent", filePath: "lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.ts", lineNumber: 14 }); })();
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktd3JpdGUtcmVzcG9uZC10by1xdWVyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9xdWVyeS1tYW5hZ2VtZW50L2NvbXBvbmVudHMvcXVlcnktd3JpdGUvcXVlcnktd3JpdGUtcmVzcG9uZC10by1xdWVyeS9xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS13cml0ZS9xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5L3F1ZXJ5LXdyaXRlLXJlc3BvbmQtdG8tcXVlcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBeUIsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztJQzBCaEcs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NUIsU0FBUztrQkFBeEIsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxrQkFBa0I7a0JBQWpDLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBQ1Usc0JBQXNCO2tCQUFyQyxLQUFLO1lBQ1UsUUFBUTtrQkFBdkIsS0FBSztZQUNXLHVCQUF1QjtrQkFBdkMsTUFBTTs7a0ZBUEksaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMnO1xuaW1wb3J0IHsgUmFpc2VRdWVyeUVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zJztcbmltcG9ydCB7IENhc2VRdWVyaWVzQ29sbGVjdGlvbiwgUXVlcnlDcmVhdGVDb250ZXh0LCBRdWVyeUxpc3REYXRhLCBRdWVyeUxpc3RJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXJ5LXdyaXRlLXJlc3BvbmQtdG8tcXVlcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5cbmV4cG9ydCBjbGFzcyBRdWVyeVdyaXRlUmVzcG9uZFRvUXVlcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHB1YmxpYyBxdWVyeUl0ZW06IFF1ZXJ5TGlzdEl0ZW07XG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIHF1ZXJ5Q3JlYXRlQ29udGV4dDogUXVlcnlDcmVhdGVDb250ZXh0O1xuICBASW5wdXQoKSBwdWJsaWMgc3VibWl0dGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXNlUXVlcmllc0NvbGxlY3Rpb25zOiBDYXNlUXVlcmllc0NvbGxlY3Rpb25bXTtcbiAgQElucHV0KCkgcHVibGljIHNob3dGb3JtO1xuICBAT3V0cHV0KCkgcHVibGljIGhhc1Jlc3BvbmRlZFRvUXVlcnlUYXNrOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0gPSBRdWVyeUNyZWF0ZUNvbnRleHQ7XG4gIHB1YmxpYyByZWFkb25seSByYWlzZVF1ZXJ5RXJyb3JNZXNzYWdlcyA9IFJhaXNlUXVlcnlFcnJvck1lc3NhZ2U7XG4gIHB1YmxpYyBjYXNlSWQ6IHN0cmluZztcbiAgcHVibGljIHF1ZXJ5SXRlbUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlRGV0YWlscztcbiAgcHVibGljIHF1ZXJ5UmVzcG9uc2VTdGF0dXM6IHN0cmluZztcbiAgcHVibGljIHF1ZXJ5TGlzdERhdGE6IFF1ZXJ5TGlzdEl0ZW0gfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGhhc1Jlc3BvbmRlZFRvUXVlcnk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBRVUVSWV9JVEVNX1JFU1BPTkQgPSAnMyc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFFVRVJZX0lURU1fRk9MTE9XVVAgPSAnNCc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjYXNlTm90aWZpZXI6IENhc2VOb3RpZmllcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeUl0ZW1JZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zLnFpZDtcbiAgICB0aGlzLmNhc2VOb3RpZmllci5jYXNlVmlldy5waXBlKHRha2UoMSkpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoY2FzZURldGFpbHMpID0+IHtcbiAgICAgICAgdGhpcy5jYXNlSWQgPSBjYXNlRGV0YWlscz8uY2FzZV9pZCA/PyAnJztcbiAgICAgICAgdGhpcy5jYXNlRGV0YWlscyA9IGNhc2VEZXRhaWxzO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHJldHJpZXZpbmcgY2FzZSBkZXRhaWxzOicsIGVycik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnMgfHwgdGhpcy5jYXNlUXVlcmllc0NvbGxlY3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgIC8vIFNpbGVudCByZXR1cm4g4oCTIHRoaXMgaXMgbm90IGFuIGVycm9yLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5jYXNlUXVlcmllc0NvbGxlY3Rpb25zWzBdKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdjYXNlUXVlcmllc0NvbGxlY3Rpb25zWzBdIGlzIHVuZGVmaW5lZCEnLCB0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1lc3NhZ2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zPy5kYXRhaWQ7XG4gICAgaWYgKCFtZXNzYWdlSWQpIHtcbiAgICAgIGNvbnNvbGUud2FybignTm8gbWVzc2FnZUlkIGZvdW5kIGluIHJvdXRlIHBhcmFtczonLCB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYWxsTWVzc2FnZXMgPSB0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnNcbiAgICAgIC5mbGF0TWFwKChjYXNlRGF0YSkgPT4gY2FzZURhdGE/LmNhc2VNZXNzYWdlcyB8fCBbXSk7XG5cbiAgICBjb25zdCBtYXRjaGluZ01lc3NhZ2UgPSBhbGxNZXNzYWdlcy5maW5kKFxuICAgICAgKG1lc3NhZ2UpID0+IG1lc3NhZ2U/LnZhbHVlPy5pZCA9PT0gbWVzc2FnZUlkXG4gICAgKT8udmFsdWU7XG5cbiAgICBpZiAoIW1hdGNoaW5nTWVzc2FnZSkge1xuICAgICAgY29uc29sZS53YXJuKCdObyBtYXRjaGluZyBtZXNzYWdlIGZvdW5kIGZvciBJRDonLCBtZXNzYWdlSWQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNhc2VRdWVyaWVzQ29sbGVjdGlvbnMgPSB0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnMuZmluZChcbiAgICAgIChjb2xsZWN0aW9uKSA9PiBjb2xsZWN0aW9uPy5jYXNlTWVzc2FnZXMuZmluZCgoYykgPT4gYy52YWx1ZS5pZCA9PT0gbWVzc2FnZUlkKVxuICAgICk7XG5cbiAgICBjb25zdCBxdWVyeVdpdGhDaGlsZHJlbiA9IG5ldyBRdWVyeUxpc3REYXRhKGNhc2VRdWVyaWVzQ29sbGVjdGlvbnMpO1xuICAgIGNvbnN0IHRhcmdldElkID0gdGhpcy5xdWVyeUl0ZW1JZCA9PT0gUXVlcnlXcml0ZVJlc3BvbmRUb1F1ZXJ5Q29tcG9uZW50LlFVRVJZX0lURU1fUkVTUE9ORFxuICAgICAgPyAobWF0Y2hpbmdNZXNzYWdlPy5wYXJlbnRJZCB8fCBtYXRjaGluZ01lc3NhZ2U/LmlkKVxuICAgICAgOiBtYXRjaGluZ01lc3NhZ2U/LmlkO1xuXG4gICAgdGhpcy5xdWVyeUxpc3REYXRhID0gcXVlcnlXaXRoQ2hpbGRyZW4/LnF1ZXJpZXMuZmluZChxdWVyeSA9PiBxdWVyeT8uaWQgPT09IHRhcmdldElkKTtcbiAgICB0aGlzLnF1ZXJ5UmVzcG9uc2VTdGF0dXMgPSB0aGlzLnF1ZXJ5TGlzdERhdGE/LnJlc3BvbnNlU3RhdHVzO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYXNSZXNwb25kZWQodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgIHRoaXMuaGFzUmVzcG9uZGVkVG9RdWVyeSA9IHZhbHVlO1xuICAgICAgdGhpcy5oYXNSZXNwb25kZWRUb1F1ZXJ5VGFzay5lbWl0KHZhbHVlKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ292dWstIS1tYXJnaW4tYm90dG9tLTZcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLWJvdHRvbS02XCI+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWNhcHRpb24tbFwiPnt7ICdSZXNwb25kIHRvIGEgcXVlcnknIHwgcnB4VHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPGgxIGNsYXNzPVwiZ292dWstaGVhZGluZy1sIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0wXCI+e3sgJ1F1ZXJ5IGRldGFpbHMnIHwgcnB4VHJhbnNsYXRlIH19PC9oMT5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLWJvdHRvbS00XCI+XG4gICAgPGNjZC1xdWVyeS1jYXNlLWRldGFpbHMtaGVhZGVyIFtjYXNlRGV0YWlsc109XCJjYXNlRGV0YWlsc1wiPjwvY2NkLXF1ZXJ5LWNhc2UtZGV0YWlscy1oZWFkZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXY+XG4gICAgPGNjZC1xdWVyeS1kZXRhaWxzIFtxdWVyeV09XCJxdWVyeUxpc3REYXRhXCJcbiAgICAgIFtxdWVyeVJlc3BvbnNlU3RhdHVzXT1cInF1ZXJ5UmVzcG9uc2VTdGF0dXNcIlxuICAgICAgKGhhc1Jlc3BvbmRlZCk9XCJoYXNSZXNwb25kZWQoJGV2ZW50KVwiPjwvY2NkLXF1ZXJ5LWRldGFpbHM+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicXVlcnktcmVzcG9uZFwiICpuZ0lmPVwic2hvd0Zvcm1cIj5cbiAgPGRpdiAqbmdJZj1cIiFoYXNSZXNwb25kZWRUb1F1ZXJ5XCI+XG4gICAgPGgxIGNsYXNzPVwiZ292dWstaGVhZGluZy1tXCI+XG4gICAgICB7eyBxdWVyeUNyZWF0ZUNvbnRleHQgPT09IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0uUkVTUE9ORCA/ICdSZXNwb25kIHRvIGEgcXVlcnknIDogJ0FzayBhIGZvbGxvdy11cCBxdWVzdGlvbicgfCBycHhUcmFuc2xhdGUgfX1cbiAgICA8L2gxPlxuXG4gICAgPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXAgYm9keS10ZXh0YXJlYVwiXG4gICAgICAgICAgIFtjbGFzcy5nb3Z1ay1mb3JtLWdyb3VwLS1lcnJvcl09XCJzdWJtaXR0ZWQgJiYgZm9ybUdyb3VwLmdldCgnYm9keScpPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstbGFiZWwtd3JhcHBlclwiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWxhYmVsLS1tIGdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZFwiIGZvcj1cImJvZHlcIj5cbiAgICAgICAgICAgIHt7IHF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gcXVlcnlDcmVhdGVDb250ZXh0RW51bS5SRVNQT05EID8gJ1Jlc3BvbnNlIGRldGFpbCcgOiAnUXVlcnkgQm9keScgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHAgaWQ9XCJib2R5LWVycm9yXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgICAgKm5nSWY9XCJzdWJtaXR0ZWQgJiYgZm9ybUdyb3VwLmdldCgnYm9keScpPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3sgJ0Vycm9yOicgfCBycHhUcmFuc2xhdGUgfX0gPC9zcGFuPnt7IHF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gcXVlcnlDcmVhdGVDb250ZXh0RW51bS5SRVNQT05EID8gcmFpc2VRdWVyeUVycm9yTWVzc2FnZXMuUkVTUE9ORF9RVUVSWV9CT0RZIDogcmFpc2VRdWVyeUVycm9yTWVzc2FnZXMuUVVFUllfQk9EWSB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDx0ZXh0YXJlYSBbZm9ybUNvbnRyb2xOYW1lXT1cIidib2R5J1wiIGNsYXNzPVwiZ292dWstdGV4dGFyZWFcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzLmdvdnVrLXRleHRhcmVhLS1lcnJvcl09XCJzdWJtaXR0ZWQgJiYgZm9ybUdyb3VwLmdldCgnYm9keScpPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiIGlkPVwiYm9keVwiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiYm9keVwiIHJvd3M9XCI1XCIgYXJpYS1kZXNjcmliZWRieT1cImJvZHktaGludCBib2R5LWVycm9yXCI+XG4gICAgICA8L3RleHRhcmVhPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJxdWVyeUNyZWF0ZUNvbnRleHQgPT09IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0uUkVTUE9ORFwiPlxuICA8Y2NkLWNsb3NlLXF1ZXJ5ICpuZ0lmPVwiIWhhc1Jlc3BvbmRlZFRvUXVlcnlcIlxuICAgIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gIDwvY2NkLWNsb3NlLXF1ZXJ5PlxuPC9uZy1jb250YWluZXI+Il19
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktd3JpdGUtcmVzcG9uZC10by1xdWVyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9xdWVyeS1tYW5hZ2VtZW50L2NvbXBvbmVudHMvcXVlcnktd3JpdGUvcXVlcnktd3JpdGUtcmVzcG9uZC10by1xdWVyeS9xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS13cml0ZS9xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5L3F1ZXJ5LXdyaXRlLXJlc3BvbmQtdG8tcXVlcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBeUIsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztJQzBCaEcs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QTJEOzs7aUZEOUI3RCxpQ0FBaUM7Y0FON0MsU0FBUzsyQkFDRSxrQ0FBa0M7MEVBTTVCLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBQ1Usa0JBQWtCO2tCQUFqQyxLQUFLO1lBQ1UsU0FBUztrQkFBeEIsS0FBSztZQUNVLHNCQUFzQjtrQkFBckMsS0FBSztZQUNVLFFBQVE7a0JBQXZCLEtBQUs7WUFDVyx1QkFBdUI7a0JBQXZDLE1BQU07O2tGQVBJLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENhc2VOb3RpZmllciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2Nhc2UtZWRpdG9yL3NlcnZpY2VzJztcbmltcG9ydCB7IFJhaXNlUXVlcnlFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBDYXNlUXVlcmllc0NvbGxlY3Rpb24sIFF1ZXJ5Q3JlYXRlQ29udGV4dCwgUXVlcnlMaXN0RGF0YSwgUXVlcnlMaXN0SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtcXVlcnktd3JpdGUtcmVzcG9uZC10by1xdWVyeScsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVlcnktd3JpdGUtcmVzcG9uZC10by1xdWVyeS5jb21wb25lbnQuc2NzcyddXG59KVxuXG5leHBvcnQgY2xhc3MgUXVlcnlXcml0ZVJlc3BvbmRUb1F1ZXJ5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBwdWJsaWMgcXVlcnlJdGVtOiBRdWVyeUxpc3RJdGVtO1xuICBASW5wdXQoKSBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyBxdWVyeUNyZWF0ZUNvbnRleHQ6IFF1ZXJ5Q3JlYXRlQ29udGV4dDtcbiAgQElucHV0KCkgcHVibGljIHN1Ym1pdHRlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgY2FzZVF1ZXJpZXNDb2xsZWN0aW9uczogQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uW107XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93Rm9ybTtcbiAgQE91dHB1dCgpIHB1YmxpYyBoYXNSZXNwb25kZWRUb1F1ZXJ5VGFzazogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtID0gUXVlcnlDcmVhdGVDb250ZXh0O1xuICBwdWJsaWMgcmVhZG9ubHkgcmFpc2VRdWVyeUVycm9yTWVzc2FnZXMgPSBSYWlzZVF1ZXJ5RXJyb3JNZXNzYWdlO1xuICBwdWJsaWMgY2FzZUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBxdWVyeUl0ZW1JZDogc3RyaW5nO1xuICBwdWJsaWMgY2FzZURldGFpbHM7XG4gIHB1YmxpYyBxdWVyeVJlc3BvbnNlU3RhdHVzOiBzdHJpbmc7XG4gIHB1YmxpYyBxdWVyeUxpc3REYXRhOiBRdWVyeUxpc3RJdGVtIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBoYXNSZXNwb25kZWRUb1F1ZXJ5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgUVVFUllfSVRFTV9SRVNQT05EID0gJzMnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBRVUVSWV9JVEVNX0ZPTExPV1VQID0gJzQnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2FzZU5vdGlmaWVyOiBDYXNlTm90aWZpZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlJdGVtSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcy5xaWQ7XG4gICAgdGhpcy5jYXNlSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcy5jaWQ7XG4gICAgdGhpcy5jYXNlTm90aWZpZXIuZmV0Y2hBbmRSZWZyZXNoKHRoaXMuY2FzZUlkKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoY2FzZURldGFpbHMpID0+IHtcbiAgICAgICAgdGhpcy5jYXNlRGV0YWlscyA9IGNhc2VEZXRhaWxzO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHJldHJpZXZpbmcgY2FzZSBkZXRhaWxzOicsIGVycik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnMgfHwgdGhpcy5jYXNlUXVlcmllc0NvbGxlY3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgIC8vIFNpbGVudCByZXR1cm4g4oCTIHRoaXMgaXMgbm90IGFuIGVycm9yLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5jYXNlUXVlcmllc0NvbGxlY3Rpb25zWzBdKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdjYXNlUXVlcmllc0NvbGxlY3Rpb25zWzBdIGlzIHVuZGVmaW5lZCEnLCB0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1lc3NhZ2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zPy5kYXRhaWQ7XG4gICAgaWYgKCFtZXNzYWdlSWQpIHtcbiAgICAgIGNvbnNvbGUud2FybignTm8gbWVzc2FnZUlkIGZvdW5kIGluIHJvdXRlIHBhcmFtczonLCB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYWxsTWVzc2FnZXMgPSB0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnNcbiAgICAgIC5mbGF0TWFwKChjYXNlRGF0YSkgPT4gY2FzZURhdGE/LmNhc2VNZXNzYWdlcyB8fCBbXSk7XG5cbiAgICBjb25zdCBtYXRjaGluZ01lc3NhZ2UgPSBhbGxNZXNzYWdlcy5maW5kKFxuICAgICAgKG1lc3NhZ2UpID0+IG1lc3NhZ2U/LnZhbHVlPy5pZCA9PT0gbWVzc2FnZUlkXG4gICAgKT8udmFsdWU7XG5cbiAgICBpZiAoIW1hdGNoaW5nTWVzc2FnZSkge1xuICAgICAgY29uc29sZS53YXJuKCdObyBtYXRjaGluZyBtZXNzYWdlIGZvdW5kIGZvciBJRDonLCBtZXNzYWdlSWQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNhc2VRdWVyaWVzQ29sbGVjdGlvbnMgPSB0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnMuZmluZChcbiAgICAgIChjb2xsZWN0aW9uKSA9PiBjb2xsZWN0aW9uPy5jYXNlTWVzc2FnZXMuZmluZCgoYykgPT4gYy52YWx1ZS5pZCA9PT0gbWVzc2FnZUlkKVxuICAgICk7XG5cbiAgICBjb25zdCBxdWVyeVdpdGhDaGlsZHJlbiA9IG5ldyBRdWVyeUxpc3REYXRhKGNhc2VRdWVyaWVzQ29sbGVjdGlvbnMpO1xuICAgIGNvbnN0IHRhcmdldElkID0gdGhpcy5xdWVyeUl0ZW1JZCA9PT0gUXVlcnlXcml0ZVJlc3BvbmRUb1F1ZXJ5Q29tcG9uZW50LlFVRVJZX0lURU1fUkVTUE9ORFxuICAgICAgPyAobWF0Y2hpbmdNZXNzYWdlPy5wYXJlbnRJZCB8fCBtYXRjaGluZ01lc3NhZ2U/LmlkKVxuICAgICAgOiBtYXRjaGluZ01lc3NhZ2U/LmlkO1xuXG4gICAgdGhpcy5xdWVyeUxpc3REYXRhID0gcXVlcnlXaXRoQ2hpbGRyZW4/LnF1ZXJpZXMuZmluZCgocXVlcnkpID0+IHF1ZXJ5Py5pZCA9PT0gdGFyZ2V0SWQpO1xuICAgIHRoaXMucXVlcnlSZXNwb25zZVN0YXR1cyA9IHRoaXMucXVlcnlMaXN0RGF0YT8ucmVzcG9uc2VTdGF0dXM7XG4gIH1cblxuICBwdWJsaWMgaGFzUmVzcG9uZGVkKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5oYXNSZXNwb25kZWRUb1F1ZXJ5ID0gdmFsdWU7XG4gICAgdGhpcy5oYXNSZXNwb25kZWRUb1F1ZXJ5VGFzay5lbWl0KHZhbHVlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLWJvdHRvbS02XCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay0hLW1hcmdpbi1ib3R0b20tNlwiPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1jYXB0aW9uLWxcIj57eyAnUmVzcG9uZCB0byBhIHF1ZXJ5JyB8IHJweFRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDxoMSBjbGFzcz1cImdvdnVrLWhlYWRpbmctbCBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tMFwiPnt7ICdRdWVyeSBkZXRhaWxzJyB8IHJweFRyYW5zbGF0ZSB9fTwvaDE+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay0hLW1hcmdpbi1ib3R0b20tNFwiPlxuICAgIDxjY2QtcXVlcnktY2FzZS1kZXRhaWxzLWhlYWRlciBbY2FzZURldGFpbHNdPVwiY2FzZURldGFpbHNcIj48L2NjZC1xdWVyeS1jYXNlLWRldGFpbHMtaGVhZGVyPlxuICA8L2Rpdj5cblxuICA8ZGl2PlxuICAgIDxjY2QtcXVlcnktZGV0YWlscyBbcXVlcnldPVwicXVlcnlMaXN0RGF0YVwiXG4gICAgICBbcXVlcnlSZXNwb25zZVN0YXR1c109XCJxdWVyeVJlc3BvbnNlU3RhdHVzXCJcbiAgICAgIChoYXNSZXNwb25kZWQpPVwiaGFzUmVzcG9uZGVkKCRldmVudClcIj48L2NjZC1xdWVyeS1kZXRhaWxzPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInF1ZXJ5LXJlc3BvbmRcIiAqbmdJZj1cInNob3dGb3JtXCI+XG4gIDxkaXYgKm5nSWY9XCIhaGFzUmVzcG9uZGVkVG9RdWVyeVwiPlxuICAgIDxoMSBjbGFzcz1cImdvdnVrLWhlYWRpbmctbVwiPlxuICAgICAge3sgcXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLlJFU1BPTkQgPyAnUmVzcG9uZCB0byBhIHF1ZXJ5JyA6ICdBc2sgYSBmb2xsb3ctdXAgcXVlc3Rpb24nIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgPC9oMT5cblxuICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwIGJvZHktdGV4dGFyZWFcIlxuICAgICAgICAgICBbY2xhc3MuZ292dWstZm9ybS1ncm91cC0tZXJyb3JdPVwic3VibWl0dGVkICYmIGZvcm1Hcm91cC5nZXQoJ2JvZHknKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWxhYmVsLXdyYXBwZXJcIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1sYWJlbC0tbSBnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIiBmb3I9XCJib2R5XCI+XG4gICAgICAgICAgICB7eyBxdWVyeUNyZWF0ZUNvbnRleHQgPT09IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0uUkVTUE9ORCA/ICdSZXNwb25zZSBkZXRhaWwnIDogJ1F1ZXJ5IEJvZHknIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxwIGlkPVwiYm9keS1lcnJvclwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgICpuZ0lmPVwic3VibWl0dGVkICYmIGZvcm1Hcm91cC5nZXQoJ2JvZHknKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7ICdFcnJvcjonIHwgcnB4VHJhbnNsYXRlIH19IDwvc3Bhbj57eyBxdWVyeUNyZWF0ZUNvbnRleHQgPT09IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0uUkVTUE9ORCA/IHJhaXNlUXVlcnlFcnJvck1lc3NhZ2VzLlJFU1BPTkRfUVVFUllfQk9EWSA6IHJhaXNlUXVlcnlFcnJvck1lc3NhZ2VzLlFVRVJZX0JPRFkgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgPC9wPlxuICAgICAgICA8dGV4dGFyZWEgW2Zvcm1Db250cm9sTmFtZV09XCInYm9keSdcIiBjbGFzcz1cImdvdnVrLXRleHRhcmVhXCJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5nb3Z1ay10ZXh0YXJlYS0tZXJyb3JdPVwic3VibWl0dGVkICYmIGZvcm1Hcm91cC5nZXQoJ2JvZHknKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIiBpZD1cImJvZHlcIlxuICAgICAgICAgICAgICAgICAgbmFtZT1cImJvZHlcIiByb3dzPVwiNVwiIGFyaWEtZGVzY3JpYmVkYnk9XCJib2R5LWhpbnQgYm9keS1lcnJvclwiPlxuICAgICAgPC90ZXh0YXJlYT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwicXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLlJFU1BPTkRcIj5cbiAgPGNjZC1jbG9zZS1xdWVyeSAqbmdJZj1cIiFoYXNSZXNwb25kZWRUb1F1ZXJ5XCJcbiAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8L2NjZC1jbG9zZS1xdWVyeT5cbjwvbmctY29udGFpbmVyPiJdfQ==
@@ -15390,19 +15390,22 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15390
15390
  case 422:
15391
15391
  case 500:
15392
15392
  {
15393
- let errorMsg = WriteDocumentFieldComponent.ERROR_UPLOADING_FILE;
15394
- if (error?.error) {
15395
- const fullError = error.error;
15396
- const start = fullError.indexOf('{');
15397
- if (start >= 0) {
15398
- const json = fullError.substring(start, fullError.length - 1).split('<EOL>').join('');
15399
- const obj = JSON.parse(json);
15400
- if (obj?.error) {
15401
- errorMsg = obj.error;
15393
+ if (this.fileSecureModeOn) {
15394
+ let errorMsg = WriteDocumentFieldComponent.ERROR_UPLOADING_FILE;
15395
+ if (error?.error) {
15396
+ const fullError = error.error;
15397
+ const start = fullError.indexOf('{');
15398
+ if (start >= 0) {
15399
+ const json = fullError.substring(start, fullError.length - 1).split('<EOL>').join('');
15400
+ const obj = JSON.parse(json);
15401
+ if (obj?.error) {
15402
+ errorMsg = obj.error;
15403
+ }
15402
15404
  }
15403
15405
  }
15406
+ return errorMsg;
15404
15407
  }
15405
- return errorMsg;
15408
+ return error.error ? error.error : WriteDocumentFieldComponent.ERROR_UPLOADING_FILE;
15406
15409
  }
15407
15410
  case 429:
15408
15411
  return error?.error;
@@ -22902,9 +22905,9 @@ class QueryWriteRespondToQueryComponent {
22902
22905
  }
22903
22906
  ngOnInit() {
22904
22907
  this.queryItemId = this.route.snapshot.params.qid;
22905
- this.caseNotifier.caseView.pipe(take(1)).subscribe({
22908
+ this.caseId = this.route.snapshot.params.cid;
22909
+ this.caseNotifier.fetchAndRefresh(this.caseId).pipe(take(1)).subscribe({
22906
22910
  next: (caseDetails) => {
22907
- this.caseId = caseDetails?.case_id ?? '';
22908
22911
  this.caseDetails = caseDetails;
22909
22912
  },
22910
22913
  error: (err) => {
@@ -22938,7 +22941,7 @@ class QueryWriteRespondToQueryComponent {
22938
22941
  const targetId = this.queryItemId === QueryWriteRespondToQueryComponent.QUERY_ITEM_RESPOND
22939
22942
  ? (matchingMessage?.parentId || matchingMessage?.id)
22940
22943
  : matchingMessage?.id;
22941
- this.queryListData = queryWithChildren?.queries.find(query => query?.id === targetId);
22944
+ this.queryListData = queryWithChildren?.queries.find((query) => query?.id === targetId);
22942
22945
  this.queryResponseStatus = this.queryListData?.responseStatus;
22943
22946
  }
22944
22947
  hasResponded(value) {