@hmcts/ccd-case-ui-toolkit 7.0.35 → 7.0.36-rc2

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.
Files changed (34) hide show
  1. package/esm2020/lib/shared/components/case-editor/services/cases.service.mjs +1 -3
  2. package/esm2020/lib/shared/components/case-editor/services/work-allocation.service.mjs +6 -1
  3. package/esm2020/lib/shared/components/case-viewer/case-viewer.component.mjs +1 -4
  4. package/esm2020/lib/shared/components/case-viewer/services/case.resolver.mjs +1 -4
  5. package/esm2020/lib/shared/components/event-start/event-guard/event-start.guard.mjs +18 -11
  6. package/esm2020/lib/shared/components/event-start/services/event-start-state-machine.service.mjs +5 -3
  7. package/esm2020/lib/shared/components/palette/markdown/index.mjs +2 -1
  8. package/esm2020/lib/shared/components/palette/markdown/markdown-component.module.mjs +16 -7
  9. package/esm2020/lib/shared/components/palette/markdown/markdown.component.mjs +18 -23
  10. package/esm2020/lib/shared/components/palette/markdown/routerlink.component.mjs +23 -0
  11. package/esm2020/lib/shared/services/jurisdiction/jurisdiction.service.mjs +1 -2
  12. package/esm2020/lib/shared/services/loading/loading.service.mjs +1 -5
  13. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +196 -172
  14. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  15. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +190 -170
  16. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  17. package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
  18. package/lib/shared/components/case-editor/services/work-allocation.service.d.ts.map +1 -1
  19. package/lib/shared/components/case-viewer/case-viewer.component.d.ts.map +1 -1
  20. package/lib/shared/components/case-viewer/services/case.resolver.d.ts.map +1 -1
  21. package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts +2 -0
  22. package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts.map +1 -1
  23. package/lib/shared/components/event-start/services/event-start-state-machine.service.d.ts.map +1 -1
  24. package/lib/shared/components/palette/markdown/index.d.ts +1 -0
  25. package/lib/shared/components/palette/markdown/index.d.ts.map +1 -1
  26. package/lib/shared/components/palette/markdown/markdown-component.module.d.ts +8 -6
  27. package/lib/shared/components/palette/markdown/markdown-component.module.d.ts.map +1 -1
  28. package/lib/shared/components/palette/markdown/markdown.component.d.ts +7 -3
  29. package/lib/shared/components/palette/markdown/markdown.component.d.ts.map +1 -1
  30. package/lib/shared/components/palette/markdown/routerlink.component.d.ts +7 -0
  31. package/lib/shared/components/palette/markdown/routerlink.component.d.ts.map +1 -0
  32. package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts.map +1 -1
  33. package/lib/shared/services/loading/loading.service.d.ts.map +1 -1
  34. package/package.json +1 -1
@@ -78,9 +78,7 @@ export class CasesService {
78
78
  return out$;
79
79
  }
80
80
  finalizeGetCaseViewWith(caseId, loadingToken) {
81
- console.info(`finalizeGetCaseViewWith started for ${caseId}.`);
82
81
  this.loadingService.unregister(loadingToken);
83
- console.info(`finalizeGetCaseViewWith finished for ${caseId}.`);
84
82
  }
85
83
  syncWait(seconds) {
86
84
  const end = Date.now() + seconds * 1000;
@@ -291,4 +289,4 @@ CasesService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CasesServic
291
289
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CasesService, [{
292
290
  type: Injectable
293
291
  }], function () { return [{ type: i1.HttpService }, { type: i2.AbstractAppConfig }, { type: i1.OrderService }, { type: i1.HttpErrorService }, { type: i3.WizardPageFieldToCaseFieldMapper }, { type: i1.LoadingService }, { type: i1.SessionStorageService }, { type: i1.RetryUtil }]; }, null); })();
294
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUVMLGdCQUFnQixFQUdTLEtBQUssRUFJL0IsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRS9JLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7QUFHNUYsTUFBTSxPQUFPLFlBQVk7SUEwQ3ZCLFlBQ1UsSUFBaUIsRUFDakIsU0FBNEIsRUFDNUIsWUFBMEIsRUFDMUIsWUFBOEIsRUFDOUIsZ0NBQWtFLEVBQ2xFLGNBQThCLEVBQ3JCLHFC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QUM7QUFDMUUsNkNBQWdDLEdBQ3JELDhGQUE4RixDQUFDO0FBRWpHLDRCQUE0QjtBQUVMLHdDQUEyQixHQUNoRCxzRkFBc0YsQ0FBQztBQUVsRSw0Q0FBK0IsR0FDcEQsMEZBQTBGLENBQUM7QUFDdEUsc0NBQXlCLEdBQzlDLG9GQUFvRixDQUFDO0FBQ2hFLHFDQUF3QixHQUM3QyxtRkFBbUYsQ0FBQztBQUUvRCw2QkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQzt3RUF0QmxELFlBQVk7a0VBQVosWUFBWSxXQUFaLFlBQVk7dUZBQVosWUFBWTtjQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBYnN0cmFjdEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2FwcC5jb25maWcnO1xuaW1wb3J0IHsgU2hvd0NvbmRpdGlvbiB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtcbiAgQ2FzZUV2ZW50RGF0YSxcbiAgQ2FzZUV2ZW50VHJpZ2dlcixcbiAgQ2FzZVByaW50RG9jdW1lbnQsXG4gIENhc2VWaWV3LFxuICBDaGFsbGVuZ2VkQWNjZXNzUmVxdWVzdCwgRHJhZnQsXG4gIFJvbGVBc3NpZ25tZW50UmVzcG9uc2UsXG4gIFJvbGVDYXRlZ29yeSxcbiAgUm9sZVJlcXVlc3RQYXlsb2FkLCBTcGVjaWZpY0FjY2Vzc1JlcXVlc3Rcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IFVzZXJJbmZvIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL3VzZXIvdXNlci1pbmZvLm1vZGVsJztcbmltcG9ydCB7IEZpZWxkc1V0aWxzLCBIdHRwRXJyb3JTZXJ2aWNlLCBIdHRwU2VydmljZSwgTG9hZGluZ1NlcnZpY2UsIE9yZGVyU2VydmljZSwgUmV0cnlVdGlsLCBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc1Jlc3BvbnNlIH0gZnJvbSAnLi4vLi4vcGFsZXR0ZS9saW5rZWQtY2FzZXMvZG9tYWluL2xpbmtlZC1jYXNlcy5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlQWNjZXNzVXRpbHMgfSBmcm9tICcuLi9jYXNlLWFjY2Vzcy11dGlscyc7XG5pbXBvcnQgeyBXaXphcmRQYWdlIH0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7IFdpemFyZFBhZ2VGaWVsZFRvQ2FzZUZpZWxkTWFwcGVyIH0gZnJvbSAnLi93aXphcmQtcGFnZS1maWVsZC10by1jYXNlLWZpZWxkLm1hcHBlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYXNlc1NlcnZpY2Uge1xuICAvLyBJbnRlcm5hbCAoVUkpIEFQSVxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyX01FRElBVFlQRV9DQVNFX1ZJRVcgPSAnYXBwbGljYXRpb24vdm5kLnVrLmdvdi5obWN0cy5jY2QtZGF0YS1zdG9yZS1hcGkudWktY2FzZS12aWV3LnYyK2pzb24nO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyX01FRElBVFlQRV9TVEFSVF9DQVNFX1RSSUdHRVIgPVxuICAgICdhcHBsaWNhdGlvbi92bmQudWsuZ292LmhtY3RzLmNjZC1kYXRhLXN0b3JlLWFwaS51aS1zdGFydC1jYXNlLXRyaWdnZXIudjIranNvbjtjaGFyc2V0PVVURi04JztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMl9NRURJQVRZUEVfU1RBUlRfRVZFTlRfVFJJR0dFUiA9XG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC51ay5nb3YuaG1jdHMuY2NkLWRhdGEtc3RvcmUtYXBpLnVpLXN0YXJ0LWV2ZW50LXRyaWdnZXIudjIranNvbjtjaGFyc2V0PVVURi04JztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMl9NRURJQVRZUEVfU1RBUlRfRFJBRlRfVFJJR0dFUiA9XG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC51ay5nb3YuaG1jdHMuY2NkLWRhdGEtc3RvcmUtYXBpLnVpLXN0YXJ0LWRyYWZ0LXRyaWdnZXIudjIranNvbjtjaGFyc2V0PVVURi04JztcblxuICAvLyBFeHRlcm5hbCAoRGF0YSBTdG9yZSkgQVBJXG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMl9NRURJQVRZUEVfQ0FTRV9ET0NVTUVOVFMgPVxuICAgICdhcHBsaWNhdGlvbi92bmQudWsuZ292LmhtY3RzLmNjZC1kYXRhLXN0b3JlLWFwaS5jYXNlLWRvY3VtZW50cy52Mitqc29uO2NoYXJzZXQ9VVRGLTgnO1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfTUVESUFUWVBFX0NBU0VfREFUQV9WQUxJREFURSA9XG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC51ay5nb3YuaG1jdHMuY2NkLWRhdGEtc3RvcmUtYXBpLmNhc2UtZGF0YS12YWxpZGF0ZS52Mitqc29uO2NoYXJzZXQ9VVRGLTgnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyX01FRElBVFlQRV9DUkVBVEVfRVZFTlQgPVxuICAgICdhcHBsaWNhdGlvbi92bmQudWsuZ292LmhtY3RzLmNjZC1kYXRhLXN0b3JlLWFwaS5jcmVhdGUtZXZlbnQudjIranNvbjtjaGFyc2V0PVVURi04JztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMl9NRURJQVRZUEVfQ1JFQVRFX0NBU0UgPVxuICAgICdhcHBsaWNhdGlvbi92bmQudWsuZ292LmhtY3RzLmNjZC1kYXRhLXN0b3JlLWFwaS5jcmVhdGUtY2FzZS52Mitqc29uO2NoYXJzZXQ9VVRGLTgnO1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFVJX0NBU0VfTUFOQUdFUiA9ICdwdWktY2FzZS1tYW5hZ2VyJztcblxuICBwdWJsaWMgZ2V0ID0gdGhpcy5nZXRDYXNlVmlldztcblxuICBwdWJsaWMgc3RhdGljIHVwZGF0ZUNoYWxsZW5nZWRBY2Nlc3NSZXF1ZXN0QXR0cmlidXRlcyhodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBjYXNlSWQ6IHN0cmluZywgYXR0cmlidXRlc1RvVXBkYXRlOiB7IFt4OiBzdHJpbmddOiBhbnkgfSlcbiAgICA6IE9ic2VydmFibGU8Um9sZUFzc2lnbm1lbnRSZXNwb25zZT4ge1xuICAgIHJldHVybiBodHRwQ2xpZW50LnBvc3Q8Um9sZUFzc2lnbm1lbnRSZXNwb25zZT4oYC9hcGkvY2hhbGxlbmdlZC1hY2Nlc3MtcmVxdWVzdC91cGRhdGUtYXR0cmlidXRlc2AsIHtcbiAgICAgIGNhc2VJZCxcbiAgICAgIGF0dHJpYnV0ZXNUb1VwZGF0ZVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyB1cGRhdGVTcGVjaWZpY0FjY2Vzc1JlcXVlc3RBdHRyaWJ1dGVzKGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsIGNhc2VJZDogc3RyaW5nLCBhdHRyaWJ1dGVzVG9VcGRhdGU6IHsgW3g6IHN0cmluZ106IGFueSB9KVxuICAgIDogT2JzZXJ2YWJsZTxSb2xlQXNzaWdubWVudFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGh0dHBDbGllbnQucG9zdDxSb2xlQXNzaWdubWVudFJlc3BvbnNlPihgL2FwaS9zcGVjaWZpYy1hY2Nlc3MtcmVxdWVzdC91cGRhdGUtYXR0cmlidXRlc2AsIHtcbiAgICAgIGNhc2VJZCxcbiAgICAgIGF0dHJpYnV0ZXNUb1VwZGF0ZVxuICAgIH0pO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwU2VydmljZSxcbiAgICBwcml2YXRlIGFwcENvbmZpZzogQWJzdHJhY3RBcHBDb25maWcsXG4gICAgcHJpdmF0ZSBvcmRlclNlcnZpY2U6IE9yZGVyU2VydmljZSxcbiAgICBwcml2YXRlIGVycm9yU2VydmljZTogSHR0cEVycm9yU2VydmljZSxcbiAgICBwcml2YXRlIHdpemFyZFBhZ2VGaWVsZFRvQ2FzZUZpZWxkTWFwcGVyOiBXaXphcmRQYWdlRmllbGRUb0Nhc2VGaWVsZE1hcHBlcixcbiAgICBwcml2YXRlIGxvYWRpbmdTZXJ2aWNlOiBMb2FkaW5nU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmV0cnlVdGlsOiBSZXRyeVV0aWxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FzZVZpZXcoanVyaXNkaWN0aW9uSWQ6IHN0cmluZyxcbiAgICBjYXNlVHlwZUlkOiBzdHJpbmcsXG4gICAgY2FzZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENhc2VWaWV3PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5hcHBDb25maWcuZ2V0QXBpVXJsKCl9L2Nhc2V3b3JrZXJzLzp1aWQvanVyaXNkaWN0aW9ucy8ke2p1cmlzZGljdGlvbklkfS9jYXNlLXR5cGVzLyR7Y2FzZVR5cGVJZH0vY2FzZXMvJHtjYXNlSWR9YDtcblxuICAgIGNvbnN0IGxvYWRpbmdUb2tlbiA9IHRoaXMubG9hZGluZ1NlcnZpY2UucmVnaXN0ZXIoKTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KHVybClcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yU2VydmljZS5zZXRFcnJvcihlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5sb2FkaW5nU2VydmljZS51bnJlZ2lzdGVyKGxvYWRpbmdUb2tlbikpXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldENhc2VWaWV3VjIoY2FzZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENhc2VWaWV3PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFVcmwoKX0vaW50ZXJuYWwvY2FzZXMvJHtjYXNlSWR9YDtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKClcbiAgICAgIC5zZXQoJ2V4cGVyaW1lbnRhbCcsICd0cnVlJylcbiAgICAgIC5zZXQoJ0FjY2VwdCcsIENhc2VzU2VydmljZS5WMl9NRURJQVRZUEVfQ0FTRV9WSUVXKVxuICAgICAgLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcblxuICAgIGNvbnN0IGxvYWRpbmdUb2tlbiA9IHRoaXMubG9hZGluZ1NlcnZpY2UucmVnaXN0ZXIoKTtcblxuICAgIGxldCBodHRwJCA9IHRoaXMuaHR0cC5nZXQodXJsLCB7IGhlYWRlcnMsIG9ic2VydmU6ICdib2R5JyB9KTtcblxuICAgIGNvbnN0IGFydGlmaWNpYWxEZWxheTogbnVtYmVyID0gdGhpcy5hcHBDb25maWcuZ2V0VGltZW91dHNDYXNlUmV0cmlldmFsQXJ0aWZpY2lhbERlbGF5KCk7XG4gICAgY29uc3QgdGltZW91dFBlcmlvZHMgPSB0aGlzLmFwcENvbmZpZy5nZXRUaW1lb3V0c0ZvckNhc2VSZXRyaWV2YWwoKTtcbiAgICBjb25zb2xlLmxvZyhgVGltZW91dCBwZXJpb2RzOiAke3RpbWVvdXRQZXJpb2RzfSBzZWNvbmRzLmApO1xuICAgIGlmICh0aW1lb3V0UGVyaW9kcyAmJiB0aW1lb3V0UGVyaW9kcy5sZW5ndGggPiAwICYmIHRpbWVvdXRQZXJpb2RzWzBdID4gMCkge1xuICAgICAgaHR0cCQgPSB0aGlzLnJldHJ5VXRpbC5waXBlVGltZW91dE1lY2hhbmlzbU9uKGh0dHAkLCBhcnRpZmljaWFsRGVsYXksIHRpbWVvdXRQZXJpb2RzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdTa2lwcGluZyB0byBwaXBlIGEgcmV0cnkgbWVjaGFuaXNtIScpO1xuICAgIH1cblxuICAgIGh0dHAkID0gdGhpcy5waXBlRXJyb3JQcm9jZXNzb3IoaHR0cCQpO1xuXG4gICAgaHR0cCQgPSBodHRwJC5waXBlKGZpbmFsaXplKCgpID0+IHRoaXMuZmluYWxpemVHZXRDYXNlVmlld1dpdGgoY2FzZUlkLCBsb2FkaW5nVG9rZW4pKSk7XG5cbiAgICByZXR1cm4gaHR0cCQ7XG4gIH1cblxuICBwcml2YXRlIHBpcGVFcnJvclByb2Nlc3NvcihpbiQ6IE9ic2VydmFibGU8Q2FzZVZpZXc+KTogT2JzZXJ2YWJsZTxDYXNlVmlldz4ge1xuICAgIGNvbnN0IG91dCQgPSBpbiQucGlwZShjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIHdoaWxlIGdldHRpbmcgY2FzZSB2aWV3IHdpdGggZ2V0Q2FzZVZpZXdWMiEgRXJyb3IgdHlwZTogJyR7dHlwZW9mIGVycm9yfSwgRXJyb3IgbmFtZTogJyR7ZXJyb3I/Lm5hbWV9J2ApO1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICB0aGlzLmVycm9yU2VydmljZS5zZXRFcnJvcihlcnJvcik7XG4gICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgfSkpO1xuICAgIHJldHVybiBvdXQkO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5hbGl6ZUdldENhc2VWaWV3V2l0aChjYXNlSWQ6IHN0cmluZywgbG9hZGluZ1Rva2VuOiBzdHJpbmcpIHtcbiAgICBjb25zb2xlLmluZm8oYGZpbmFsaXplR2V0Q2FzZVZpZXdXaXRoIHN0YXJ0ZWQgZm9yICR7Y2FzZUlkfS5gKTtcbiAgICB0aGlzLmxvYWRpbmdTZXJ2aWNlLnVucmVnaXN0ZXIobG9hZGluZ1Rva2VuKTtcbiAgICBjb25zb2xlLmluZm8oYGZpbmFsaXplR2V0Q2FzZVZpZXdXaXRoIGZpbmlzaGVkIGZvciAke2Nhc2VJZH0uYCk7XG4gIH1cblxuICBwdWJsaWMgc3luY1dhaXQoc2Vjb25kcykge1xuICAgIGNvbnN0IGVuZCA9IERhdGUubm93KCkgKyBzZWNvbmRzICogMTAwMDtcbiAgICB3aGlsZSAoRGF0ZS5ub3coKSA8IGVuZCkgY29udGludWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0RXZlbnRUcmlnZ2VyKGNhc2VUeXBlSWQ6IHN0cmluZyxcbiAgICBldmVudFRyaWdnZXJJZDogc3RyaW5nLFxuICAgIGNhc2VJZD86IHN0cmluZyxcbiAgICBpZ25vcmVXYXJuaW5nPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxDYXNlRXZlbnRUcmlnZ2VyPiB7XG4gICAgaWdub3JlV2FybmluZyA9IHVuZGVmaW5lZCAhPT0gaWdub3JlV2FybmluZyA/IGlnbm9yZVdhcm5pbmcgOiAnZmFsc2UnO1xuXG4gICAgY29uc3QgdXJsID0gdGhpcy5idWlsZEV2ZW50VHJpZ2dlclVybChjYXNlVHlwZUlkLCBldmVudFRyaWdnZXJJZCwgY2FzZUlkLCBpZ25vcmVXYXJuaW5nKTtcblxuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XG4gICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdleHBlcmltZW50YWwnLCAndHJ1ZScpO1xuICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcblxuICAgIGlmIChEcmFmdC5pc0RyYWZ0KGNhc2VJZCkpIHtcbiAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgQ2FzZXNTZXJ2aWNlLlYyX01FRElBVFlQRV9TVEFSVF9EUkFGVF9UUklHR0VSKTtcbiAgICB9IGVsc2UgaWYgKGNhc2VJZCAhPT0gdW5kZWZpbmVkICYmIGNhc2VJZCAhPT0gbnVsbCkge1xuICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBDYXNlc1NlcnZpY2UuVjJfTUVESUFUWVBFX1NUQVJUX0VWRU5UX1RSSUdHRVIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIENhc2VzU2VydmljZS5WMl9NRURJQVRZUEVfU1RBUlRfQ0FTRV9UUklHR0VSKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KHVybCwgeyBoZWFkZXJzLCBvYnNlcnZlOiAnYm9keScgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoYm9keSA9PiB7XG4gICAgICAgICAgcmV0dXJuIEZpZWxkc1V0aWxzLmhhbmRsZU5lc3RlZER5bmFtaWNMaXN0cyhib2R5KTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLnNldEVycm9yKGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pLFxuICAgICAgICBtYXAoKHApID0+IHBsYWluVG9DbGFzcyhDYXNlRXZlbnRUcmlnZ2VyLCBwKSksXG4gICAgICAgIHRhcChldmVudFRyaWdnZXIgPT4gdGhpcy5pbml0aWFsaXNlRXZlbnRUcmlnZ2VyKGV2ZW50VHJpZ2dlcikpXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZUV2ZW50KGNhc2VEZXRhaWxzOiBDYXNlVmlldywgZXZlbnREYXRhOiBDYXNlRXZlbnREYXRhKTogT2JzZXJ2YWJsZTx7fT4ge1xuICAgIGNvbnN0IGNhc2VJZCA9IGNhc2VEZXRhaWxzLmNhc2VfaWQ7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFVcmwoKX0vY2FzZXMvJHtjYXNlSWR9L2V2ZW50c2A7XG5cbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKClcbiAgICAgIC5zZXQoJ2V4cGVyaW1lbnRhbCcsICd0cnVlJylcbiAgICAgIC5zZXQoJ0FjY2VwdCcsIENhc2VzU2VydmljZS5WMl9NRURJQVRZUEVfQ1JFQVRFX0VWRU5UKVxuICAgICAgLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0KHVybCwgZXZlbnREYXRhLCB7IGhlYWRlcnMsIG9ic2VydmU6ICdib2R5JyB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLnNldEVycm9yKGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlQ2FzZShjdGlkOiBzdHJpbmcsIGV2ZW50RGF0YTogQ2FzZUV2ZW50RGF0YSwgcGFnZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIGNvbnN0IHBhZ2VJZFN0cmluZyA9IHBhZ2VJZCA/IGA/cGFnZUlkPSR7cGFnZUlkfWAgOiAnJztcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwcENvbmZpZy5nZXRDYXNlRGF0YVVybCgpfS9jYXNlLXR5cGVzLyR7Y3RpZH0vdmFsaWRhdGUke3BhZ2VJZFN0cmluZ31gO1xuXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpXG4gICAgICAuc2V0KCdleHBlcmltZW50YWwnLCAndHJ1ZScpXG4gICAgICAuc2V0KCdBY2NlcHQnLCBDYXNlc1NlcnZpY2UuVjJfTUVESUFUWVBFX0NBU0VfREFUQV9WQUxJREFURSlcbiAgICAgIC5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdCh1cmwsIGV2ZW50RGF0YSwgeyBoZWFkZXJzLCBvYnNlcnZlOiAnYm9keScgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yU2VydmljZS5zZXRFcnJvcihlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVDYXNlKGN0aWQ6IHN0cmluZywgZXZlbnREYXRhOiBDYXNlRXZlbnREYXRhKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICBsZXQgaWdub3JlV2FybmluZyA9ICdmYWxzZSc7XG5cbiAgICBpZiAoZXZlbnREYXRhLmlnbm9yZV93YXJuaW5nKSB7XG4gICAgICBpZ25vcmVXYXJuaW5nID0gJ3RydWUnO1xuICAgIH1cbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwcENvbmZpZy5nZXRDYXNlRGF0YVVybCgpfS9jYXNlLXR5cGVzLyR7Y3RpZH0vY2FzZXM/aWdub3JlLXdhcm5pbmc9JHtpZ25vcmVXYXJuaW5nfWA7XG5cbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKClcbiAgICAgIC5zZXQoJ2V4cGVyaW1lbnRhbCcsICd0cnVlJylcbiAgICAgIC5zZXQoJ0FjY2VwdCcsIENhc2VzU2VydmljZS5WMl9NRURJQVRZUEVfQ1JFQVRFX0NBU0UpXG4gICAgICAuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QodXJsLCBldmVudERhdGEsIHsgaGVhZGVycywgb2JzZXJ2ZTogJ2JvZHknIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvclNlcnZpY2Uuc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UHJpbnREb2N1bWVudHMoY2FzZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENhc2VQcmludERvY3VtZW50W10+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwcENvbmZpZy5nZXRDYXNlRGF0YVVybCgpfS9jYXNlcy8ke2Nhc2VJZH0vZG9jdW1lbnRzYDtcblxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKVxuICAgICAgLnNldCgnZXhwZXJpbWVudGFsJywgJ3RydWUnKVxuICAgICAgLnNldCgnQWNjZXB0JywgQ2FzZXNTZXJ2aWNlLlYyX01FRElBVFlQRV9DQVNFX0RPQ1VNRU5UUylcbiAgICAgIC5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KHVybCwgeyBoZWFkZXJzLCBvYnNlcnZlOiAnYm9keScgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoYm9keSA9PiBib2R5LmRvY3VtZW50UmVzb3VyY2VzKSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvclNlcnZpY2Uuc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRXZlbnRUcmlnZ2VyVXJsKGNhc2VUeXBlSWQ6IHN0cmluZyxcbiAgICBldmVudFRyaWdnZXJJZDogc3RyaW5nLFxuICAgIGNhc2VJZD86IHN0cmluZyxcbiAgICBpZ25vcmVXYXJuaW5nPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgdXJsID0gYCR7dGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFVcmwoKX0vaW50ZXJuYWxgO1xuXG4gICAgaWYgKERyYWZ0LmlzRHJhZnQoY2FzZUlkKSkge1xuICAgICAgdXJsICs9IGAvZHJhZnRzLyR7Y2FzZUlkfWBcbiAgICAgICAgKyBgL2V2ZW50LXRyaWdnZXJgXG4gICAgICAgICsgYD9pZ25vcmUtd2FybmluZz0ke2lnbm9yZVdhcm5pbmd9YDtcbiAgICB9IGVsc2UgaWYgKGNhc2VUeXBlSWQgPT09IHVuZGVmaW5lZCB8fCBjYXNlVHlwZUlkID09PSBudWxsKSB7XG4gICAgICB1cmwgKz0gYC9jYXNlcy8ke2Nhc2VJZH1gXG4gICAgICAgICsgYC9ldmVudC10cmlnZ2Vycy8ke2V2ZW50VHJpZ2dlcklkfWBcbiAgICAgICAgKyBgP2lnbm9yZS13YXJuaW5nPSR7aWdub3JlV2FybmluZ31gO1xuICAgIH0gZWxzZSB7XG4gICAgICB1cmwgKz0gYC9jYXNlLXR5cGVzLyR7Y2FzZVR5cGVJZH1gXG4gICAgICAgICsgYC9ldmVudC10cmlnZ2Vycy8ke2V2ZW50VHJpZ2dlcklkfWBcbiAgICAgICAgKyBgP2lnbm9yZS13YXJuaW5nPSR7aWdub3JlV2FybmluZ31gO1xuICAgIH1cblxuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpc2VFdmVudFRyaWdnZXIoZXZlbnRUcmlnZ2VyOiBDYXNlRXZlbnRUcmlnZ2VyKSB7XG4gICAgaWYgKCFldmVudFRyaWdnZXIud2l6YXJkX3BhZ2VzKSB7XG4gICAgICBldmVudFRyaWdnZXIud2l6YXJkX3BhZ2VzID0gW107XG4gICAgfVxuXG4gICAgZXZlbnRUcmlnZ2VyLndpemFyZF9wYWdlcy5mb3JFYWNoKCh3aXphcmRQYWdlOiBXaXphcmRQYWdlKSA9PiB7XG4gICAgICB3aXphcmRQYWdlLnBhcnNlZFNob3dDb25kaXRpb24gPSBTaG93Q29uZGl0aW9uLmdldEluc3RhbmNlKHdpemFyZFBhZ2Uuc2hvd19jb25kaXRpb24pO1xuICAgICAgd2l6YXJkUGFnZS5jYXNlX2ZpZWxkcyA9IHRoaXMub3JkZXJTZXJ2aWNlLnNvcnQoXG4gICAgICAgIHRoaXMud2l6YXJkUGFnZUZpZWxkVG9DYXNlRmllbGRNYXBwZXIubWFwQWxsKHdpemFyZFBhZ2Uud2l6YXJkX3BhZ2VfZmllbGRzLCBldmVudFRyaWdnZXIuY2FzZV9maWVsZHMpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qXG4gIENoZWNrcyBpZiB0aGUgdXNlciBoYXMgcm9sZSBvZiBwdWktY2FzZS1tYW5hZ2VyIGFuZCByZXR1cm5zIHRydWUgb3IgZmFsc2VcbiAgKi9cbiAgcHJpdmF0ZSBpc1B1aUNhc2VNYW5hZ2VyKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHVzZXJJbmZvU3RyID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndXNlckRldGFpbHMnKTtcbiAgICBpZiAodXNlckluZm9TdHIpIHtcbiAgICAgIGNvbnN0IHVzZXJJbmZvOiBVc2VySW5mbyA9IEpTT04ucGFyc2UodXNlckluZm9TdHIpO1xuICAgICAgcmV0dXJuIHVzZXJJbmZvICYmIHVzZXJJbmZvLnJvbGVzICYmICh1c2VySW5mby5yb2xlcy5pbmRleE9mKENhc2VzU2VydmljZS5QVUlfQ0FTRV9NQU5BR0VSKSAhPT0gLTEpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q291cnRPckhlYXJpbmdDZW50cmVOYW1lKGxvY2F0aW9uSWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAvYXBpL2xvY2F0aW9ucy9nZXRMb2NhdGlvbnNCeUlkYCwgeyBsb2NhdGlvbnM6IFt7IGxvY2F0aW9uSWQgfV0gfSk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlQ2hhbGxlbmdlZEFjY2Vzc1JlcXVlc3QoY2FzZUlkOiBzdHJpbmcsIHJlcXVlc3Q6IENoYWxsZW5nZWRBY2Nlc3NSZXF1ZXN0KTogT2JzZXJ2YWJsZTxSb2xlQXNzaWdubWVudFJlc3BvbnNlPiB7XG4gICAgLy8gQXNzaWdubWVudCBBUEkgZW5kcG9pbnRcbiAgICBjb25zdCB1c2VySW5mb1N0ciA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3VzZXJEZXRhaWxzJyk7XG5cbiAgICBjb25zdCBjYW1VdGlscyA9IG5ldyBDYXNlQWNjZXNzVXRpbHMoKTtcbiAgICBsZXQgdXNlckluZm86IFVzZXJJbmZvO1xuICAgIGlmICh1c2VySW5mb1N0cikge1xuICAgICAgdXNlckluZm8gPSBKU09OLnBhcnNlKHVzZXJJbmZvU3RyKTtcbiAgICB9XG5cbiAgICBjb25zdCByb2xlQ2F0ZWdvcnk6IFJvbGVDYXRlZ29yeSA9IHVzZXJJbmZvLnJvbGVDYXRlZ29yeSB8fCBjYW1VdGlscy5nZXRNYXBwZWRSb2xlQ2F0ZWdvcnkodXNlckluZm8ucm9sZXMsIHVzZXJJbmZvLnJvbGVDYXRlZ29yaWVzKTtcbiAgICBjb25zdCByb2xlTmFtZSA9IGNhbVV0aWxzLmdldEFNUm9sZU5hbWUoJ2NoYWxsZW5nZWQnLCByb2xlQ2F0ZWdvcnkpO1xuICAgIGNvbnN0IGJlZ2luVGltZSA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgZW5kVGltZSA9IG5ldyBEYXRlKG5ldyBEYXRlKCkuc2V0VVRDSG91cnMoMjMsIDU5LCA1OSwgOTk5KSk7XG4gICAgY29uc3QgaWQgPSB1c2VySW5mby5pZCA/IHVzZXJJbmZvLmlkIDogdXNlckluZm8udWlkO1xuICAgIGNvbnN0IGlzTmV3ID0gdHJ1ZTtcblxuICAgIGNvbnN0IHBheWxvYWQ6IFJvbGVSZXF1ZXN0UGF5bG9hZCA9IGNhbVV0aWxzLmdldEFNUGF5bG9hZChpZCxcbiAgICAgIGlkLFxuICAgICAgcm9sZU5hbWUsXG4gICAgICByb2xlQ2F0ZWdvcnksXG4gICAgICAnQ0hBTExFTkdFRCcsXG4gICAgICBjYXNlSWQsXG4gICAgICByZXF1ZXN0LFxuICAgICAgYmVnaW5UaW1lLFxuICAgICAgZW5kVGltZSxcbiAgICAgIGlzTmV3XG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgL2FwaS9jaGFsbGVuZ2VkLWFjY2Vzcy1yZXF1ZXN0YCwgcGF5bG9hZCk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0KGNhc2VJZDogc3RyaW5nLCBzYXI6IFNwZWNpZmljQWNjZXNzUmVxdWVzdCk6IE9ic2VydmFibGU8Um9sZUFzc2lnbm1lbnRSZXNwb25zZT4ge1xuICAgIC8vIEFzc2lnbm1lbnQgQVBJIGVuZHBvaW50XG4gICAgY29uc3QgdXNlckluZm9TdHIgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCd1c2VyRGV0YWlscycpO1xuXG4gICAgY29uc3QgY2FtVXRpbHMgPSBuZXcgQ2FzZUFjY2Vzc1V0aWxzKCk7XG4gICAgbGV0IHVzZXJJbmZvOiBVc2VySW5mbztcbiAgICBpZiAodXNlckluZm9TdHIpIHtcbiAgICAgIHVzZXJJbmZvID0gSlNPTi5wYXJzZSh1c2VySW5mb1N0cik7XG4gICAgfVxuXG4gICAgY29uc3Qgcm9sZUNhdGVnb3J5OiBSb2xlQ2F0ZWdvcnkgPSB1c2VySW5mby5yb2xlQ2F0ZWdvcnkgfHwgY2FtVXRpbHMuZ2V0TWFwcGVkUm9sZUNhdGVnb3J5KHVzZXJJbmZvLnJvbGVzLCB1c2VySW5mby5yb2xlQ2F0ZWdvcmllcyk7XG4gICAgY29uc3Qgcm9sZU5hbWUgPSBjYW1VdGlscy5nZXRBTVJvbGVOYW1lKCdzcGVjaWZpYycsIHJvbGVDYXRlZ29yeSk7XG4gICAgY29uc3QgaWQgPSB1c2VySW5mby5pZCA/IHVzZXJJbmZvLmlkIDogdXNlckluZm8udWlkO1xuICAgIGNvbnN0IHBheWxvYWQ6IFJvbGVSZXF1ZXN0UGF5bG9hZCA9IGNhbVV0aWxzLmdldEFNUGF5bG9hZChudWxsLCBpZCxcbiAgICAgIHJvbGVOYW1lLCByb2xlQ2F0ZWdvcnksICdTUEVDSUZJQycsIGNhc2VJZCwgc2FyLCBudWxsLCBudWxsLCB0cnVlKTtcblxuICAgIHBheWxvYWQucm9sZVJlcXVlc3QgPSB7XG4gICAgICAuLi5wYXlsb2FkLnJvbGVSZXF1ZXN0LFxuICAgICAgcHJvY2VzczogJ3NwZWNpZmljLWFjY2VzcycsXG4gICAgICByZXBsYWNlRXhpc3Rpbmc6IHRydWUsXG4gICAgICBhc3NpZ25lcklkOiBwYXlsb2FkLnJlcXVlc3RlZFJvbGVzWzBdLmFjdG9ySWQsXG4gICAgICByZWZlcmVuY2U6IGAke2Nhc2VJZH0vJHtyb2xlTmFtZX0vJHtwYXlsb2FkLnJlcXVlc3RlZFJvbGVzWzBdLmFjdG9ySWR9YFxuICAgIH07XG5cbiAgICBwYXlsb2FkLnJlcXVlc3RlZFJvbGVzWzBdID0ge1xuICAgICAgLi4ucGF5bG9hZC5yZXF1ZXN0ZWRSb2xlc1swXSxcbiAgICAgIHJvbGVOYW1lOiAnc3BlY2lmaWMtYWNjZXNzLXJlcXVlc3RlZCcsXG4gICAgICByb2xlQ2F0ZWdvcnksXG4gICAgICBjbGFzc2lmaWNhdGlvbjogJ1BSSVZBVEUnLFxuICAgICAgZW5kVGltZTogbmV3IERhdGUobmV3IERhdGUoKS5zZXREYXRlKG5ldyBEYXRlKCkuZ2V0RGF0ZSgpICsgMzApKSxcbiAgICAgIGJlZ2luVGltZTogbnVsbCxcbiAgICAgIGdyYW50VHlwZTogJ0JBU0lDJyxcbiAgICAgIHJlYWRPbmx5OiB0cnVlXG4gICAgfTtcblxuICAgIHBheWxvYWQucmVxdWVzdGVkUm9sZXNbMF0uYXR0cmlidXRlcyA9IHtcbiAgICAgIC4uLnBheWxvYWQucmVxdWVzdGVkUm9sZXNbMF0uYXR0cmlidXRlcyxcbiAgICAgIHJlcXVlc3RlZFJvbGU6IHJvbGVOYW1lLFxuICAgICAgc3BlY2lmaWNBY2Nlc3NSZWFzb246IHNhci5zcGVjaWZpY1JlYXNvblxuICAgIH07XG5cbiAgICBwYXlsb2FkLnJlcXVlc3RlZFJvbGVzWzBdLm5vdGVzWzBdID0ge1xuICAgICAgLi4ucGF5bG9hZC5yZXF1ZXN0ZWRSb2xlc1swXS5ub3Rlc1swXSxcbiAgICAgIHVzZXJJZDogcGF5bG9hZC5yZXF1ZXN0ZWRSb2xlc1swXS5hY3RvcklkXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcbiAgICAgIGAvYXBpL3NwZWNpZmljLWFjY2Vzcy1yZXF1ZXN0YCxcbiAgICAgIHBheWxvYWRcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldExpbmtlZENhc2VzKGNhc2VJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxMaW5rZWRDYXNlc1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFTdG9yZUFwaVVybCgpfS8ke2Nhc2VJZH1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQodXJsKVxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcihlcnJvciA9PiB0aHJvd0Vycm9yKGVycm9yKSkpO1xuICB9XG59XG4iXX0=
292
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUVMLGdCQUFnQixFQUdTLEtBQUssRUFJL0IsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRS9JLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7QUFHNUYsTUFBTSxPQUFPLFlBQVk7SUEwQ3ZCLFlBQ1UsSUFBaUIsRUFDakIsU0FBNEIsRUFDNUIsWUFBMEIsRUFDMUIsWUFBOEIsRUFDOUIsZ0NBQWtFLEVBQ2xFLGNBQThCLEVBQ3JCLHFC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QztBQUN0RSxzQ0FBeUIsR0FDOUMsb0ZBQW9GLENBQUM7QUFDaEUscUNBQXdCLEdBQzdDLG1GQUFtRixDQUFDO0FBRS9ELDZCQUFnQixHQUFHLGtCQUFrQixDQUFDO3dFQXRCbEQsWUFBWTtrRUFBWixZQUFZLFdBQVosWUFBWTt1RkFBWixZQUFZO2NBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBTaG93Q29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQge1xuICBDYXNlRXZlbnREYXRhLFxuICBDYXNlRXZlbnRUcmlnZ2VyLFxuICBDYXNlUHJpbnREb2N1bWVudCxcbiAgQ2FzZVZpZXcsXG4gIENoYWxsZW5nZWRBY2Nlc3NSZXF1ZXN0LCBEcmFmdCxcbiAgUm9sZUFzc2lnbm1lbnRSZXNwb25zZSxcbiAgUm9sZUNhdGVnb3J5LFxuICBSb2xlUmVxdWVzdFBheWxvYWQsIFNwZWNpZmljQWNjZXNzUmVxdWVzdFxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgVXNlckluZm8gfSBmcm9tICcuLi8uLi8uLi9kb21haW4vdXNlci91c2VyLWluZm8ubW9kZWwnO1xuaW1wb3J0IHsgRmllbGRzVXRpbHMsIEh0dHBFcnJvclNlcnZpY2UsIEh0dHBTZXJ2aWNlLCBMb2FkaW5nU2VydmljZSwgT3JkZXJTZXJ2aWNlLCBSZXRyeVV0aWwsIFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IExpbmtlZENhc2VzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9wYWxldHRlL2xpbmtlZC1jYXNlcy9kb21haW4vbGlua2VkLWNhc2VzLm1vZGVsJztcbmltcG9ydCB7IENhc2VBY2Nlc3NVdGlscyB9IGZyb20gJy4uL2Nhc2UtYWNjZXNzLXV0aWxzJztcbmltcG9ydCB7IFdpemFyZFBhZ2UgfSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHsgV2l6YXJkUGFnZUZpZWxkVG9DYXNlRmllbGRNYXBwZXIgfSBmcm9tICcuL3dpemFyZC1wYWdlLWZpZWxkLXRvLWNhc2UtZmllbGQubWFwcGVyJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhc2VzU2VydmljZSB7XG4gIC8vIEludGVybmFsIChVSSkgQVBJXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfTUVESUFUWVBFX0NBU0VfVklFVyA9ICdhcHBsaWNhdGlvbi92bmQudWsuZ292LmhtY3RzLmNjZC1kYXRhLXN0b3JlLWFwaS51aS1jYXNlLXZpZXcudjIranNvbic7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfTUVESUFUWVBFX1NUQVJUX0NBU0VfVFJJR0dFUiA9XG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC51ay5nb3YuaG1jdHMuY2NkLWRhdGEtc3RvcmUtYXBpLnVpLXN0YXJ0LWNhc2UtdHJpZ2dlci52Mitqc29uO2NoYXJzZXQ9VVRGLTgnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyX01FRElBVFlQRV9TVEFSVF9FVkVOVF9UUklHR0VSID1cbiAgICAnYXBwbGljYXRpb24vdm5kLnVrLmdvdi5obWN0cy5jY2QtZGF0YS1zdG9yZS1hcGkudWktc3RhcnQtZXZlbnQtdHJpZ2dlci52Mitqc29uO2NoYXJzZXQ9VVRGLTgnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyX01FRElBVFlQRV9TVEFSVF9EUkFGVF9UUklHR0VSID1cbiAgICAnYXBwbGljYXRpb24vdm5kLnVrLmdvdi5obWN0cy5jY2QtZGF0YS1zdG9yZS1hcGkudWktc3RhcnQtZHJhZnQtdHJpZ2dlci52Mitqc29uO2NoYXJzZXQ9VVRGLTgnO1xuXG4gIC8vIEV4dGVybmFsIChEYXRhIFN0b3JlKSBBUElcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyX01FRElBVFlQRV9DQVNFX0RPQ1VNRU5UUyA9XG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC51ay5nb3YuaG1jdHMuY2NkLWRhdGEtc3RvcmUtYXBpLmNhc2UtZG9jdW1lbnRzLnYyK2pzb247Y2hhcnNldD1VVEYtOCc7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMl9NRURJQVRZUEVfQ0FTRV9EQVRBX1ZBTElEQVRFID1cbiAgICAnYXBwbGljYXRpb24vdm5kLnVrLmdvdi5obWN0cy5jY2QtZGF0YS1zdG9yZS1hcGkuY2FzZS1kYXRhLXZhbGlkYXRlLnYyK2pzb247Y2hhcnNldD1VVEYtOCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfTUVESUFUWVBFX0NSRUFURV9FVkVOVCA9XG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC51ay5nb3YuaG1jdHMuY2NkLWRhdGEtc3RvcmUtYXBpLmNyZWF0ZS1ldmVudC52Mitqc29uO2NoYXJzZXQ9VVRGLTgnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyX01FRElBVFlQRV9DUkVBVEVfQ0FTRSA9XG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC51ay5nb3YuaG1jdHMuY2NkLWRhdGEtc3RvcmUtYXBpLmNyZWF0ZS1jYXNlLnYyK2pzb247Y2hhcnNldD1VVEYtOCc7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQVUlfQ0FTRV9NQU5BR0VSID0gJ3B1aS1jYXNlLW1hbmFnZXInO1xuXG4gIHB1YmxpYyBnZXQgPSB0aGlzLmdldENhc2VWaWV3O1xuXG4gIHB1YmxpYyBzdGF0aWMgdXBkYXRlQ2hhbGxlbmdlZEFjY2Vzc1JlcXVlc3RBdHRyaWJ1dGVzKGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsIGNhc2VJZDogc3RyaW5nLCBhdHRyaWJ1dGVzVG9VcGRhdGU6IHsgW3g6IHN0cmluZ106IGFueSB9KVxuICAgIDogT2JzZXJ2YWJsZTxSb2xlQXNzaWdubWVudFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGh0dHBDbGllbnQucG9zdDxSb2xlQXNzaWdubWVudFJlc3BvbnNlPihgL2FwaS9jaGFsbGVuZ2VkLWFjY2Vzcy1yZXF1ZXN0L3VwZGF0ZS1hdHRyaWJ1dGVzYCwge1xuICAgICAgY2FzZUlkLFxuICAgICAgYXR0cmlidXRlc1RvVXBkYXRlXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHVwZGF0ZVNwZWNpZmljQWNjZXNzUmVxdWVzdEF0dHJpYnV0ZXMoaHR0cENsaWVudDogSHR0cENsaWVudCwgY2FzZUlkOiBzdHJpbmcsIGF0dHJpYnV0ZXNUb1VwZGF0ZTogeyBbeDogc3RyaW5nXTogYW55IH0pXG4gICAgOiBPYnNlcnZhYmxlPFJvbGVBc3NpZ25tZW50UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gaHR0cENsaWVudC5wb3N0PFJvbGVBc3NpZ25tZW50UmVzcG9uc2U+KGAvYXBpL3NwZWNpZmljLWFjY2Vzcy1yZXF1ZXN0L3VwZGF0ZS1hdHRyaWJ1dGVzYCwge1xuICAgICAgY2FzZUlkLFxuICAgICAgYXR0cmlidXRlc1RvVXBkYXRlXG4gICAgfSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwQ29uZmlnOiBBYnN0cmFjdEFwcENvbmZpZyxcbiAgICBwcml2YXRlIG9yZGVyU2VydmljZTogT3JkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZXJyb3JTZXJ2aWNlOiBIdHRwRXJyb3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgd2l6YXJkUGFnZUZpZWxkVG9DYXNlRmllbGRNYXBwZXI6IFdpemFyZFBhZ2VGaWVsZFRvQ2FzZUZpZWxkTWFwcGVyLFxuICAgIHByaXZhdGUgbG9hZGluZ1NlcnZpY2U6IExvYWRpbmdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXRyeVV0aWw6IFJldHJ5VXRpbFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlVmlldyhqdXJpc2RpY3Rpb25JZDogc3RyaW5nLFxuICAgIGNhc2VUeXBlSWQ6IHN0cmluZyxcbiAgICBjYXNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q2FzZVZpZXc+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwcENvbmZpZy5nZXRBcGlVcmwoKX0vY2FzZXdvcmtlcnMvOnVpZC9qdXJpc2RpY3Rpb25zLyR7anVyaXNkaWN0aW9uSWR9L2Nhc2UtdHlwZXMvJHtjYXNlVHlwZUlkfS9jYXNlcy8ke2Nhc2VJZH1gO1xuXG4gICAgY29uc3QgbG9hZGluZ1Rva2VuID0gdGhpcy5sb2FkaW5nU2VydmljZS5yZWdpc3RlcigpO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQodXJsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLnNldEVycm9yKGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmxvYWRpbmdTZXJ2aWNlLnVucmVnaXN0ZXIobG9hZGluZ1Rva2VuKSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FzZVZpZXdWMihjYXNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q2FzZVZpZXc+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwcENvbmZpZy5nZXRDYXNlRGF0YVVybCgpfS9pbnRlcm5hbC9jYXNlcy8ke2Nhc2VJZH1gO1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKVxuICAgICAgLnNldCgnZXhwZXJpbWVudGFsJywgJ3RydWUnKVxuICAgICAgLnNldCgnQWNjZXB0JywgQ2FzZXNTZXJ2aWNlLlYyX01FRElBVFlQRV9DQVNFX1ZJRVcpXG4gICAgICAuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xuXG4gICAgY29uc3QgbG9hZGluZ1Rva2VuID0gdGhpcy5sb2FkaW5nU2VydmljZS5yZWdpc3RlcigpO1xuXG4gICAgbGV0IGh0dHAkID0gdGhpcy5odHRwLmdldCh1cmwsIHsgaGVhZGVycywgb2JzZXJ2ZTogJ2JvZHknIH0pO1xuXG4gICAgY29uc3QgYXJ0aWZpY2lhbERlbGF5OiBudW1iZXIgPSB0aGlzLmFwcENvbmZpZy5nZXRUaW1lb3V0c0Nhc2VSZXRyaWV2YWxBcnRpZmljaWFsRGVsYXkoKTtcbiAgICBjb25zdCB0aW1lb3V0UGVyaW9kcyA9IHRoaXMuYXBwQ29uZmlnLmdldFRpbWVvdXRzRm9yQ2FzZVJldHJpZXZhbCgpO1xuICAgIGNvbnNvbGUubG9nKGBUaW1lb3V0IHBlcmlvZHM6ICR7dGltZW91dFBlcmlvZHN9IHNlY29uZHMuYCk7XG4gICAgaWYgKHRpbWVvdXRQZXJpb2RzICYmIHRpbWVvdXRQZXJpb2RzLmxlbmd0aCA+IDAgJiYgdGltZW91dFBlcmlvZHNbMF0gPiAwKSB7XG4gICAgICBodHRwJCA9IHRoaXMucmV0cnlVdGlsLnBpcGVUaW1lb3V0TWVjaGFuaXNtT24oaHR0cCQsIGFydGlmaWNpYWxEZWxheSwgdGltZW91dFBlcmlvZHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1NraXBwaW5nIHRvIHBpcGUgYSByZXRyeSBtZWNoYW5pc20hJyk7XG4gICAgfVxuXG4gICAgaHR0cCQgPSB0aGlzLnBpcGVFcnJvclByb2Nlc3NvcihodHRwJCk7XG5cbiAgICBodHRwJCA9IGh0dHAkLnBpcGUoZmluYWxpemUoKCkgPT4gdGhpcy5maW5hbGl6ZUdldENhc2VWaWV3V2l0aChjYXNlSWQsIGxvYWRpbmdUb2tlbikpKTtcblxuICAgIHJldHVybiBodHRwJDtcbiAgfVxuXG4gIHByaXZhdGUgcGlwZUVycm9yUHJvY2Vzc29yKGluJDogT2JzZXJ2YWJsZTxDYXNlVmlldz4pOiBPYnNlcnZhYmxlPENhc2VWaWV3PiB7XG4gICAgY29uc3Qgb3V0JCA9IGluJC5waXBlKGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgY29uc29sZS5lcnJvcihgRXJyb3Igd2hpbGUgZ2V0dGluZyBjYXNlIHZpZXcgd2l0aCBnZXRDYXNlVmlld1YyISBFcnJvciB0eXBlOiAnJHt0eXBlb2YgZXJyb3J9LCBFcnJvciBuYW1lOiAnJHtlcnJvcj8ubmFtZX0nYCk7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLnNldEVycm9yKGVycm9yKTtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICB9KSk7XG4gICAgcmV0dXJuIG91dCQ7XG4gIH1cblxuICBwcml2YXRlIGZpbmFsaXplR2V0Q2FzZVZpZXdXaXRoKGNhc2VJZDogc3RyaW5nLCBsb2FkaW5nVG9rZW46IHN0cmluZykge1xuICAgIHRoaXMubG9hZGluZ1NlcnZpY2UudW5yZWdpc3Rlcihsb2FkaW5nVG9rZW4pO1xuICB9XG5cbiAgcHVibGljIHN5bmNXYWl0KHNlY29uZHMpIHtcbiAgICBjb25zdCBlbmQgPSBEYXRlLm5vdygpICsgc2Vjb25kcyAqIDEwMDA7XG4gICAgd2hpbGUgKERhdGUubm93KCkgPCBlbmQpIGNvbnRpbnVlO1xuICB9XG5cbiAgcHVibGljIGdldEV2ZW50VHJpZ2dlcihjYXNlVHlwZUlkOiBzdHJpbmcsXG4gICAgZXZlbnRUcmlnZ2VySWQ6IHN0cmluZyxcbiAgICBjYXNlSWQ/OiBzdHJpbmcsXG4gICAgaWdub3JlV2FybmluZz86IHN0cmluZyk6IE9ic2VydmFibGU8Q2FzZUV2ZW50VHJpZ2dlcj4ge1xuICAgIGlnbm9yZVdhcm5pbmcgPSB1bmRlZmluZWQgIT09IGlnbm9yZVdhcm5pbmcgPyBpZ25vcmVXYXJuaW5nIDogJ2ZhbHNlJztcblxuICAgIGNvbnN0IHVybCA9IHRoaXMuYnVpbGRFdmVudFRyaWdnZXJVcmwoY2FzZVR5cGVJZCwgZXZlbnRUcmlnZ2VySWQsIGNhc2VJZCwgaWdub3JlV2FybmluZyk7XG5cbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xuICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnZXhwZXJpbWVudGFsJywgJ3RydWUnKTtcbiAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XG5cbiAgICBpZiAoRHJhZnQuaXNEcmFmdChjYXNlSWQpKSB7XG4gICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIENhc2VzU2VydmljZS5WMl9NRURJQVRZUEVfU1RBUlRfRFJBRlRfVFJJR0dFUik7XG4gICAgfSBlbHNlIGlmIChjYXNlSWQgIT09IHVuZGVmaW5lZCAmJiBjYXNlSWQgIT09IG51bGwpIHtcbiAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgQ2FzZXNTZXJ2aWNlLlYyX01FRElBVFlQRV9TVEFSVF9FVkVOVF9UUklHR0VSKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBDYXNlc1NlcnZpY2UuVjJfTUVESUFUWVBFX1NUQVJUX0NBU0VfVFJJR0dFUik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh1cmwsIHsgaGVhZGVycywgb2JzZXJ2ZTogJ2JvZHknIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKGJvZHkgPT4ge1xuICAgICAgICAgIHJldHVybiBGaWVsZHNVdGlscy5oYW5kbGVOZXN0ZWREeW5hbWljTGlzdHMoYm9keSk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yU2VydmljZS5zZXRFcnJvcihlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KSxcbiAgICAgICAgbWFwKChwKSA9PiBwbGFpblRvQ2xhc3MoQ2FzZUV2ZW50VHJpZ2dlciwgcCkpLFxuICAgICAgICB0YXAoZXZlbnRUcmlnZ2VyID0+IHRoaXMuaW5pdGlhbGlzZUV2ZW50VHJpZ2dlcihldmVudFRyaWdnZXIpKVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVFdmVudChjYXNlRGV0YWlsczogQ2FzZVZpZXcsIGV2ZW50RGF0YTogQ2FzZUV2ZW50RGF0YSk6IE9ic2VydmFibGU8e30+IHtcbiAgICBjb25zdCBjYXNlSWQgPSBjYXNlRGV0YWlscy5jYXNlX2lkO1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuYXBwQ29uZmlnLmdldENhc2VEYXRhVXJsKCl9L2Nhc2VzLyR7Y2FzZUlkfS9ldmVudHNgO1xuXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpXG4gICAgICAuc2V0KCdleHBlcmltZW50YWwnLCAndHJ1ZScpXG4gICAgICAuc2V0KCdBY2NlcHQnLCBDYXNlc1NlcnZpY2UuVjJfTUVESUFUWVBFX0NSRUFURV9FVkVOVClcbiAgICAgIC5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdCh1cmwsIGV2ZW50RGF0YSwgeyBoZWFkZXJzLCBvYnNlcnZlOiAnYm9keScgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yU2VydmljZS5zZXRFcnJvcihlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZUNhc2UoY3RpZDogc3RyaW5nLCBldmVudERhdGE6IENhc2VFdmVudERhdGEsIHBhZ2VJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICBjb25zdCBwYWdlSWRTdHJpbmcgPSBwYWdlSWQgPyBgP3BhZ2VJZD0ke3BhZ2VJZH1gIDogJyc7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFVcmwoKX0vY2FzZS10eXBlcy8ke2N0aWR9L3ZhbGlkYXRlJHtwYWdlSWRTdHJpbmd9YDtcblxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKVxuICAgICAgLnNldCgnZXhwZXJpbWVudGFsJywgJ3RydWUnKVxuICAgICAgLnNldCgnQWNjZXB0JywgQ2FzZXNTZXJ2aWNlLlYyX01FRElBVFlQRV9DQVNFX0RBVEFfVkFMSURBVEUpXG4gICAgICAuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QodXJsLCBldmVudERhdGEsIHsgaGVhZGVycywgb2JzZXJ2ZTogJ2JvZHknIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvclNlcnZpY2Uuc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlQ2FzZShjdGlkOiBzdHJpbmcsIGV2ZW50RGF0YTogQ2FzZUV2ZW50RGF0YSk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgbGV0IGlnbm9yZVdhcm5pbmcgPSAnZmFsc2UnO1xuXG4gICAgaWYgKGV2ZW50RGF0YS5pZ25vcmVfd2FybmluZykge1xuICAgICAgaWdub3JlV2FybmluZyA9ICd0cnVlJztcbiAgICB9XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFVcmwoKX0vY2FzZS10eXBlcy8ke2N0aWR9L2Nhc2VzP2lnbm9yZS13YXJuaW5nPSR7aWdub3JlV2FybmluZ31gO1xuXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpXG4gICAgICAuc2V0KCdleHBlcmltZW50YWwnLCAndHJ1ZScpXG4gICAgICAuc2V0KCdBY2NlcHQnLCBDYXNlc1NlcnZpY2UuVjJfTUVESUFUWVBFX0NSRUFURV9DQVNFKVxuICAgICAgLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0KHVybCwgZXZlbnREYXRhLCB7IGhlYWRlcnMsIG9ic2VydmU6ICdib2R5JyB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLnNldEVycm9yKGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFByaW50RG9jdW1lbnRzKGNhc2VJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxDYXNlUHJpbnREb2N1bWVudFtdPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFVcmwoKX0vY2FzZXMvJHtjYXNlSWR9L2RvY3VtZW50c2A7XG5cbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKClcbiAgICAgIC5zZXQoJ2V4cGVyaW1lbnRhbCcsICd0cnVlJylcbiAgICAgIC5zZXQoJ0FjY2VwdCcsIENhc2VzU2VydmljZS5WMl9NRURJQVRZUEVfQ0FTRV9ET0NVTUVOVFMpXG4gICAgICAuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh1cmwsIHsgaGVhZGVycywgb2JzZXJ2ZTogJ2JvZHknIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKGJvZHkgPT4gYm9keS5kb2N1bWVudFJlc291cmNlcyksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLnNldEVycm9yKGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEV2ZW50VHJpZ2dlclVybChjYXNlVHlwZUlkOiBzdHJpbmcsXG4gICAgZXZlbnRUcmlnZ2VySWQ6IHN0cmluZyxcbiAgICBjYXNlSWQ/OiBzdHJpbmcsXG4gICAgaWdub3JlV2FybmluZz86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IHVybCA9IGAke3RoaXMuYXBwQ29uZmlnLmdldENhc2VEYXRhVXJsKCl9L2ludGVybmFsYDtcblxuICAgIGlmIChEcmFmdC5pc0RyYWZ0KGNhc2VJZCkpIHtcbiAgICAgIHVybCArPSBgL2RyYWZ0cy8ke2Nhc2VJZH1gXG4gICAgICAgICsgYC9ldmVudC10cmlnZ2VyYFxuICAgICAgICArIGA/aWdub3JlLXdhcm5pbmc9JHtpZ25vcmVXYXJuaW5nfWA7XG4gICAgfSBlbHNlIGlmIChjYXNlVHlwZUlkID09PSB1bmRlZmluZWQgfHwgY2FzZVR5cGVJZCA9PT0gbnVsbCkge1xuICAgICAgdXJsICs9IGAvY2FzZXMvJHtjYXNlSWR9YFxuICAgICAgICArIGAvZXZlbnQtdHJpZ2dlcnMvJHtldmVudFRyaWdnZXJJZH1gXG4gICAgICAgICsgYD9pZ25vcmUtd2FybmluZz0ke2lnbm9yZVdhcm5pbmd9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgdXJsICs9IGAvY2FzZS10eXBlcy8ke2Nhc2VUeXBlSWR9YFxuICAgICAgICArIGAvZXZlbnQtdHJpZ2dlcnMvJHtldmVudFRyaWdnZXJJZH1gXG4gICAgICAgICsgYD9pZ25vcmUtd2FybmluZz0ke2lnbm9yZVdhcm5pbmd9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXNlRXZlbnRUcmlnZ2VyKGV2ZW50VHJpZ2dlcjogQ2FzZUV2ZW50VHJpZ2dlcikge1xuICAgIGlmICghZXZlbnRUcmlnZ2VyLndpemFyZF9wYWdlcykge1xuICAgICAgZXZlbnRUcmlnZ2VyLndpemFyZF9wYWdlcyA9IFtdO1xuICAgIH1cblxuICAgIGV2ZW50VHJpZ2dlci53aXphcmRfcGFnZXMuZm9yRWFjaCgod2l6YXJkUGFnZTogV2l6YXJkUGFnZSkgPT4ge1xuICAgICAgd2l6YXJkUGFnZS5wYXJzZWRTaG93Q29uZGl0aW9uID0gU2hvd0NvbmRpdGlvbi5nZXRJbnN0YW5jZSh3aXphcmRQYWdlLnNob3dfY29uZGl0aW9uKTtcbiAgICAgIHdpemFyZFBhZ2UuY2FzZV9maWVsZHMgPSB0aGlzLm9yZGVyU2VydmljZS5zb3J0KFxuICAgICAgICB0aGlzLndpemFyZFBhZ2VGaWVsZFRvQ2FzZUZpZWxkTWFwcGVyLm1hcEFsbCh3aXphcmRQYWdlLndpemFyZF9wYWdlX2ZpZWxkcywgZXZlbnRUcmlnZ2VyLmNhc2VfZmllbGRzKSk7XG4gICAgfSk7XG4gIH1cblxuICAvKlxuICBDaGVja3MgaWYgdGhlIHVzZXIgaGFzIHJvbGUgb2YgcHVpLWNhc2UtbWFuYWdlciBhbmQgcmV0dXJucyB0cnVlIG9yIGZhbHNlXG4gICovXG4gIHByaXZhdGUgaXNQdWlDYXNlTWFuYWdlcigpOiBib29sZWFuIHtcbiAgICBjb25zdCB1c2VySW5mb1N0ciA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3VzZXJEZXRhaWxzJyk7XG4gICAgaWYgKHVzZXJJbmZvU3RyKSB7XG4gICAgICBjb25zdCB1c2VySW5mbzogVXNlckluZm8gPSBKU09OLnBhcnNlKHVzZXJJbmZvU3RyKTtcbiAgICAgIHJldHVybiB1c2VySW5mbyAmJiB1c2VySW5mby5yb2xlcyAmJiAodXNlckluZm8ucm9sZXMuaW5kZXhPZihDYXNlc1NlcnZpY2UuUFVJX0NBU0VfTUFOQUdFUikgIT09IC0xKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldENvdXJ0T3JIZWFyaW5nQ2VudHJlTmFtZShsb2NhdGlvbklkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgL2FwaS9sb2NhdGlvbnMvZ2V0TG9jYXRpb25zQnlJZGAsIHsgbG9jYXRpb25zOiBbeyBsb2NhdGlvbklkIH1dIH0pO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZUNoYWxsZW5nZWRBY2Nlc3NSZXF1ZXN0KGNhc2VJZDogc3RyaW5nLCByZXF1ZXN0OiBDaGFsbGVuZ2VkQWNjZXNzUmVxdWVzdCk6IE9ic2VydmFibGU8Um9sZUFzc2lnbm1lbnRSZXNwb25zZT4ge1xuICAgIC8vIEFzc2lnbm1lbnQgQVBJIGVuZHBvaW50XG4gICAgY29uc3QgdXNlckluZm9TdHIgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCd1c2VyRGV0YWlscycpO1xuXG4gICAgY29uc3QgY2FtVXRpbHMgPSBuZXcgQ2FzZUFjY2Vzc1V0aWxzKCk7XG4gICAgbGV0IHVzZXJJbmZvOiBVc2VySW5mbztcbiAgICBpZiAodXNlckluZm9TdHIpIHtcbiAgICAgIHVzZXJJbmZvID0gSlNPTi5wYXJzZSh1c2VySW5mb1N0cik7XG4gICAgfVxuXG4gICAgY29uc3Qgcm9sZUNhdGVnb3J5OiBSb2xlQ2F0ZWdvcnkgPSB1c2VySW5mby5yb2xlQ2F0ZWdvcnkgfHwgY2FtVXRpbHMuZ2V0TWFwcGVkUm9sZUNhdGVnb3J5KHVzZXJJbmZvLnJvbGVzLCB1c2VySW5mby5yb2xlQ2F0ZWdvcmllcyk7XG4gICAgY29uc3Qgcm9sZU5hbWUgPSBjYW1VdGlscy5nZXRBTVJvbGVOYW1lKCdjaGFsbGVuZ2VkJywgcm9sZUNhdGVnb3J5KTtcbiAgICBjb25zdCBiZWdpblRpbWUgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IGVuZFRpbWUgPSBuZXcgRGF0ZShuZXcgRGF0ZSgpLnNldFVUQ0hvdXJzKDIzLCA1OSwgNTksIDk5OSkpO1xuICAgIGNvbnN0IGlkID0gdXNlckluZm8uaWQgPyB1c2VySW5mby5pZCA6IHVzZXJJbmZvLnVpZDtcbiAgICBjb25zdCBpc05ldyA9IHRydWU7XG5cbiAgICBjb25zdCBwYXlsb2FkOiBSb2xlUmVxdWVzdFBheWxvYWQgPSBjYW1VdGlscy5nZXRBTVBheWxvYWQoaWQsXG4gICAgICBpZCxcbiAgICAgIHJvbGVOYW1lLFxuICAgICAgcm9sZUNhdGVnb3J5LFxuICAgICAgJ0NIQUxMRU5HRUQnLFxuICAgICAgY2FzZUlkLFxuICAgICAgcmVxdWVzdCxcbiAgICAgIGJlZ2luVGltZSxcbiAgICAgIGVuZFRpbWUsXG4gICAgICBpc05ld1xuICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYC9hcGkvY2hhbGxlbmdlZC1hY2Nlc3MtcmVxdWVzdGAsIHBheWxvYWQpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZVNwZWNpZmljQWNjZXNzUmVxdWVzdChjYXNlSWQ6IHN0cmluZywgc2FyOiBTcGVjaWZpY0FjY2Vzc1JlcXVlc3QpOiBPYnNlcnZhYmxlPFJvbGVBc3NpZ25tZW50UmVzcG9uc2U+IHtcbiAgICAvLyBBc3NpZ25tZW50IEFQSSBlbmRwb2ludFxuICAgIGNvbnN0IHVzZXJJbmZvU3RyID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndXNlckRldGFpbHMnKTtcblxuICAgIGNvbnN0IGNhbVV0aWxzID0gbmV3IENhc2VBY2Nlc3NVdGlscygpO1xuICAgIGxldCB1c2VySW5mbzogVXNlckluZm87XG4gICAgaWYgKHVzZXJJbmZvU3RyKSB7XG4gICAgICB1c2VySW5mbyA9IEpTT04ucGFyc2UodXNlckluZm9TdHIpO1xuICAgIH1cblxuICAgIGNvbnN0IHJvbGVDYXRlZ29yeTogUm9sZUNhdGVnb3J5ID0gdXNlckluZm8ucm9sZUNhdGVnb3J5IHx8IGNhbVV0aWxzLmdldE1hcHBlZFJvbGVDYXRlZ29yeSh1c2VySW5mby5yb2xlcywgdXNlckluZm8ucm9sZUNhdGVnb3JpZXMpO1xuICAgIGNvbnN0IHJvbGVOYW1lID0gY2FtVXRpbHMuZ2V0QU1Sb2xlTmFtZSgnc3BlY2lmaWMnLCByb2xlQ2F0ZWdvcnkpO1xuICAgIGNvbnN0IGlkID0gdXNlckluZm8uaWQgPyB1c2VySW5mby5pZCA6IHVzZXJJbmZvLnVpZDtcbiAgICBjb25zdCBwYXlsb2FkOiBSb2xlUmVxdWVzdFBheWxvYWQgPSBjYW1VdGlscy5nZXRBTVBheWxvYWQobnVsbCwgaWQsXG4gICAgICByb2xlTmFtZSwgcm9sZUNhdGVnb3J5LCAnU1BFQ0lGSUMnLCBjYXNlSWQsIHNhciwgbnVsbCwgbnVsbCwgdHJ1ZSk7XG5cbiAgICBwYXlsb2FkLnJvbGVSZXF1ZXN0ID0ge1xuICAgICAgLi4ucGF5bG9hZC5yb2xlUmVxdWVzdCxcbiAgICAgIHByb2Nlc3M6ICdzcGVjaWZpYy1hY2Nlc3MnLFxuICAgICAgcmVwbGFjZUV4aXN0aW5nOiB0cnVlLFxuICAgICAgYXNzaWduZXJJZDogcGF5bG9hZC5yZXF1ZXN0ZWRSb2xlc1swXS5hY3RvcklkLFxuICAgICAgcmVmZXJlbmNlOiBgJHtjYXNlSWR9LyR7cm9sZU5hbWV9LyR7cGF5bG9hZC5yZXF1ZXN0ZWRSb2xlc1swXS5hY3RvcklkfWBcbiAgICB9O1xuXG4gICAgcGF5bG9hZC5yZXF1ZXN0ZWRSb2xlc1swXSA9IHtcbiAgICAgIC4uLnBheWxvYWQucmVxdWVzdGVkUm9sZXNbMF0sXG4gICAgICByb2xlTmFtZTogJ3NwZWNpZmljLWFjY2Vzcy1yZXF1ZXN0ZWQnLFxuICAgICAgcm9sZUNhdGVnb3J5LFxuICAgICAgY2xhc3NpZmljYXRpb246ICdQUklWQVRFJyxcbiAgICAgIGVuZFRpbWU6IG5ldyBEYXRlKG5ldyBEYXRlKCkuc2V0RGF0ZShuZXcgRGF0ZSgpLmdldERhdGUoKSArIDMwKSksXG4gICAgICBiZWdpblRpbWU6IG51bGwsXG4gICAgICBncmFudFR5cGU6ICdCQVNJQycsXG4gICAgICByZWFkT25seTogdHJ1ZVxuICAgIH07XG5cbiAgICBwYXlsb2FkLnJlcXVlc3RlZFJvbGVzWzBdLmF0dHJpYnV0ZXMgPSB7XG4gICAgICAuLi5wYXlsb2FkLnJlcXVlc3RlZFJvbGVzWzBdLmF0dHJpYnV0ZXMsXG4gICAgICByZXF1ZXN0ZWRSb2xlOiByb2xlTmFtZSxcbiAgICAgIHNwZWNpZmljQWNjZXNzUmVhc29uOiBzYXIuc3BlY2lmaWNSZWFzb25cbiAgICB9O1xuXG4gICAgcGF5bG9hZC5yZXF1ZXN0ZWRSb2xlc1swXS5ub3Rlc1swXSA9IHtcbiAgICAgIC4uLnBheWxvYWQucmVxdWVzdGVkUm9sZXNbMF0ubm90ZXNbMF0sXG4gICAgICB1c2VySWQ6IHBheWxvYWQucmVxdWVzdGVkUm9sZXNbMF0uYWN0b3JJZFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXG4gICAgICBgL2FwaS9zcGVjaWZpYy1hY2Nlc3MtcmVxdWVzdGAsXG4gICAgICBwYXlsb2FkXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMaW5rZWRDYXNlcyhjYXNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8TGlua2VkQ2FzZXNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuYXBwQ29uZmlnLmdldENhc2VEYXRhU3RvcmVBcGlVcmwoKX0vJHtjYXNlSWR9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KHVybClcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IoZXJyb3IgPT4gdGhyb3dFcnJvcihlcnJvcikpKTtcbiAgfVxufVxuIl19
@@ -39,6 +39,8 @@ export class WorkAllocationService {
39
39
  }
40
40
  isWAEnabled(jurisdiction, caseType) {
41
41
  this.features = this.appConfig.getWAServiceConfig();
42
+ const ftstr = JSON.stringify(this.features);
43
+ console.log(`isWAEnabled: ${ftstr}`);
42
44
  let enabled = false;
43
45
  if (!jurisdiction || !caseType) {
44
46
  const caseInfo = JSON.parse(this.sessionStorageService.getItem('caseInfo'));
@@ -46,6 +48,7 @@ export class WorkAllocationService {
46
48
  caseType = caseInfo.caseType;
47
49
  }
48
50
  if (!this.features || !this.features.configurations) {
51
+ console.log('isWAEnabled: no features');
49
52
  return false;
50
53
  }
51
54
  this.features.configurations.forEach(serviceConfig => {
@@ -53,6 +56,7 @@ export class WorkAllocationService {
53
56
  enabled = true;
54
57
  }
55
58
  });
59
+ console.log(`isWAEnabled: returning ${enabled}`);
56
60
  return enabled;
57
61
  }
58
62
  /**
@@ -80,6 +84,7 @@ export class WorkAllocationService {
80
84
  if (!this.isWAEnabled()) {
81
85
  return of(null);
82
86
  }
87
+ console.log(`completeTask: completing ${taskId}`);
83
88
  const url = `${this.appConfig.getWorkAllocationApiUrl()}/task/${taskId}/complete`;
84
89
  return this.http
85
90
  .post(url, {})
@@ -206,4 +211,4 @@ WorkAllocationService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: Wo
206
211
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkAllocationService, [{
207
212
  type: Injectable
208
213
  }], function () { return [{ type: i1.HttpService }, { type: i2.AbstractAppConfig }, { type: i1.HttpErrorService }, { type: i1.AlertService }, { type: i1.SessionStorageService }]; }, null); })();
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1hbGxvY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvY2FzZS1lZGl0b3Ivc2VydmljZXMvd29yay1hbGxvY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFFdkcsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsMkJBQTJCLENBQUM7QUFHaEUsTUFBTSxPQUFPLHFCQUFxQjtJQU1oQyxZQUNtQixJQUFpQixFQUNqQixTQUE0QixFQUM1QixZQUE4QixFQUM5QixZQUEwQixFQUMxQixxQkFBNEM7UUFKNUMsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUM1QixpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUU3RCw2Q0FBNkM7SUFDL0MsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFdBQVcsQ0FBQyxhQUFrQztRQUNuRCxtRUFBbUU7UUFDbkUsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixFQUFF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QUFvQjtRQUN2RyxNQUFNLGNBQWMsR0FBZ0I7WUFDbEMsdUJBQXVCLEVBQUUsS0FBSztZQUM5QixLQUFLLEVBQUUsRUFBRTtTQUNWLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3ZCLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzNCO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLEVBQUUsZUFBZSxNQUFNLFVBQVUsT0FBTyxhQUFhLFFBQVEsaUJBQWlCLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDOUosQ0FBQztJQUVGOztPQUVHO0lBQ0ksT0FBTyxDQUFDLE1BQWM7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUN2QixPQUFPLEVBQUUsQ0FBQyxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLEVBQUUsU0FBUyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7O0FBdk5jLG9DQUFjLEdBQUcsMkJBQTJCLENBQUM7QUFDN0MsbUNBQWEsR0FBRywwQkFBMEIsQ0FBQzswRkFGOUMscUJBQXFCOzJFQUFyQixxQkFBcUIsV0FBckIscUJBQXFCO3VGQUFyQixxQkFBcUI7Y0FEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBYnN0cmFjdEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2FwcC5jb25maWcnO1xuaW1wb3J0IHsgVGFza1NlYXJjaFBhcmFtZXRlciwgV0FGZWF0dXJlQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IFVzZXJEZXRhaWxzIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL3VzZXIvdXNlci1kZXRhaWxzLm1vZGVsJztcbmltcG9ydCB7IFRhc2tSZXNwb25lIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL3dvcmstYWxsb2NhdGlvbi90YXNrLXJlc3BvbnNlLm1vZGVsJztcbmltcG9ydCB7IFRhc2tQYXlsb2FkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL3dvcmstYWxsb2NhdGlvbi9UYXNrUGF5bG9hZCc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UsIEh0dHBFcnJvclNlcnZpY2UsIEh0dHBTZXJ2aWNlLCBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5cbmV4cG9ydCBjb25zdCBNVUxUSVBMRV9UQVNLU19GT1VORCA9ICdNb3JlIHRoYW4gb25lIHRhc2sgZm91bmQhJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFdvcmtBbGxvY2F0aW9uU2VydmljZSB7XG4gIHB1YmxpYyBzdGF0aWMgaUFDQ2FzZU9mZmljZXIgPSAnY2FzZXdvcmtlci1pYS1jYXNlb2ZmaWNlcic7XG4gIHB1YmxpYyBzdGF0aWMgaUFDQWRtT2ZmaWNlciA9ICdjYXNld29ya2VyLWlhLWFkbW9mZmljZXInO1xuXG4gIHByaXZhdGUgZmVhdHVyZXM6IFdBRmVhdHVyZUNvbmZpZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwQ29uZmlnOiBBYnN0cmFjdEFwcENvbmZpZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVycm9yU2VydmljZTogSHR0cEVycm9yU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2VcbiAgKSB7XG4gICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHdvcmsgYWxsb2NhdGlvbiBpcyBlbmFibGVkXG4gIH1cblxuICAvKipcbiAgICogQ2FsbCB0aGUgQVBJIHRvIGdldCB0YXNrcyBtYXRjaGluZyB0aGUgc2VhcmNoIGNyaXRlcmlhLlxuICAgKiBAcGFyYW0gc2VhcmNoUmVxdWVzdCBUaGUgc2VhcmNoIHBhcmFtZXRlcnMgdGhhdCBzcGVjaWZ5IHdoaWNoIHRhc2tzIHRvIG1hdGNoLlxuICAgKi9cbiAgcHVibGljIHNlYXJjaFRhc2tzKHNlYXJjaFJlcXVlc3Q6IFRhc2tTZWFyY2hQYXJhbWV0ZXIpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIC8vIERvIG5vdCBuZWVkIHRvIGNoZWNrIGlmIFdBIGVuYWJsZWQgYXMgcGFyZW50IG1ldGhvZCB3aWxsIGRvIHRoYXRcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwcENvbmZpZy5nZXRXb3JrQWxsb2NhdGlvbkFwaVVybCgpfS9zZWFyY2hGb3JDb21wbGV0YWJsZWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QodXJsLCB7c2VhcmNoUmVxdWVzdH0sIG51bGwsIGZhbHNlKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLnNldEVycm9yKGVycm9yKTtcbiAgICAgICAgICAvLyBleHBsaWNpdGx5IGVhdCBhd2F5IDQwMSBlcnJvciBhbmQgNDAwIGVycm9yXG4gICAgICAgICAgaWYgKGVycm9yICYmIGVycm9yLnN0YXR1cyAmJiAoZXJyb3Iuc3RhdHVzID09PSA0MDEgfHwgZXJyb3Iuc3RhdHVzID09PSA0MDApKSB7XG4gICAgICAgICAgICAvLyBkbyBub3RoaW5nXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnZXJyb3Igc3RhdHVzIDQwMSBvciA0MDAnLCBlcnJvcik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1dBRW5hYmxlZChqdXJpc2RpY3Rpb24/OiBzdHJpbmcsIGNhc2VUeXBlPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdGhpcy5mZWF0dXJlcyA9IHRoaXMuYXBwQ29uZmlnLmdldFdBU2VydmljZUNvbmZpZygpO1xuICAgIGxldCBlbmFibGVkID0gZmFsc2U7XG4gICAgaWYgKCFqdXJpc2RpY3Rpb24gfHwgIWNhc2VUeXBlKSB7XG4gICAgICBjb25zdCBjYXNlSW5mbyA9IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnY2FzZUluZm8nKSk7XG4gICAgICBqdXJpc2RpY3Rpb24gPSBjYXNlSW5mby5qdXJpc2RpY3Rpb247XG4gICAgICBjYXNlVHlwZSA9IGNhc2VJbmZvLmNhc2VUeXBlO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuZmVhdHVyZXMgfHwgIXRoaXMuZmVhdHVyZXMuY29uZmlndXJhdGlvbnMpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5mZWF0dXJlcy5jb25maWd1cmF0aW9ucy5mb3JFYWNoKHNlcnZpY2VDb25maWcgPT4ge1xuICAgICAgaWYgKHNlcnZpY2VDb25maWcuc2VydmljZU5hbWUgPT09IGp1cmlzZGljdGlvbiAmJiAoc2VydmljZUNvbmZpZy5jYXNlVHlwZXMuaW5kZXhPZihjYXNlVHlwZSkgIT09IC0xKSkge1xuICAgICAgICAgIGVuYWJsZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBlbmFibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGwgdGhlIEFQSSB0byBhc3NpZ24gYSB0YXNrLlxuICAgKiBAcGFyYW0gdGFza0lkIHNwZWNpZmllcyB3aGljaCB0YXNrIHNob3VsZCBiZSBhc3NpZ25lZC5cbiAgICogQHBhcmFtIHVzZXJJZCBzcGVjaWZpZXMgdGhlIHVzZXIgdGhlIHRhc2sgc2hvdWxkIGJlIGFzc2lnbmVkIHRvLlxuICAgKi9cbiAgcHVibGljIGFzc2lnblRhc2sodGFza0lkOiBzdHJpbmcsIHVzZXJJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoIXRoaXMuaXNXQUVuYWJsZWQoKSkge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwcENvbmZpZy5nZXRXb3JrQWxsb2NhdGlvbkFwaVVybCgpfS90YXNrLyR7dGFza0lkfS9hc3NpZ25gO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0KHVybCwge3VzZXJJZH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvclNlcnZpY2Uuc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbCB0aGUgQVBJIHRvIGNvbXBsZXRlIGEgdGFzay5cbiAgICogQHBhcmFtIHRhc2tJZCBzcGVjaWZpZXMgd2hpY2ggdGFzayBzaG91bGQgYmUgY29tcGxldGVkLlxuICAgKi9cbiAgcHVibGljIGNvbXBsZXRlVGFzayh0YXNrSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKCF0aGlzLmlzV0FFbmFibGVkKCkpIHtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5hcHBDb25maWcuZ2V0V29ya0FsbG9jYXRpb25BcGlVcmwoKX0vdGFzay8ke3Rhc2tJZH0vY29tcGxldGVgO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0KHVybCwge30pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvclNlcnZpY2Uuc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgICAgIC8vIHRoaXMgd2lsbCBzdWJzY3JpYmUgdG8gZ2V0IHRoZSB1c2VyIGRldGFpbHMgYW5kIGRlY2lkZSB3aGV0aGVyIHRvIGRpc3BsYXkgYW4gZXJyb3IgbWVzc2FnZVxuICAgICAgICAgIHRoaXMuaHR0cC5nZXQodGhpcy5hcHBDb25maWcuZ2V0VXNlckluZm9BcGlVcmwoKSkucGlwZShtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UpKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVRhc2tDb21wbGV0aW9uRXJyb3IocmVzcG9uc2UpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbCB0aGUgQVBJIHRvIGFzc2lnbiBhbmQgY29tcGxldGUgYSB0YXNrLlxuICAgKiBAcGFyYW0gdGFza0lkIHNwZWNpZmllcyB3aGljaCB0YXNrIHNob3VsZCBiZSBjb21wbGV0ZWQuXG4gICAqL1xuICBwdWJsaWMgYXNzaWduQW5kQ29tcGxldGVUYXNrKHRhc2tJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoIXRoaXMuaXNXQUVuYWJsZWQoKSkge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwcENvbmZpZy5nZXRXb3JrQWxsb2NhdGlvbkFwaVVybCgpfS90YXNrLyR7dGFza0lkfS9jb21wbGV0ZWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QodXJsLCB7XG4gICAgICAgIGNvbXBsZXRpb25fb3B0aW9uczoge1xuICAgICAgICAgIGFzc2lnbl9hbmRfY29tcGxldGU6IHRydWVcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yU2VydmljZS5zZXRFcnJvcihlcnJvcik7XG4gICAgICAgICAgLy8gdGhpcyB3aWxsIHN1YnNjcmliZSB0byBnZXQgdGhlIHVzZXIgZGV0YWlscyBhbmQgZGVjaWRlIHdoZXRoZXIgdG8gZGlzcGxheSBhbiBlcnJvciBtZXNzYWdlXG4gICAgICAgICAgdGhpcy5odHRwLmdldCh0aGlzLmFwcENvbmZpZy5nZXRVc2VySW5mb0FwaVVybCgpKS5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZSkpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVGFza0NvbXBsZXRpb25FcnJvcihyZXNwb25zZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSByZXNwb25zZSBmcm9tIHRoZSBvYnNlcnZhYmxlIHRvIGdldCB0aGUgdXNlciBkZXRhaWxzIHdoZW4gdGFzayBpcyBjb21wbGV0ZWQuXG4gICAqIEBwYXJhbSByZXNwb25zZSBpcyB0aGUgcmVzcG9uc2UgZ2l2ZW4gZnJvbSB0aGUgb2JzZXJ2YWJsZSB3aGljaCBjb250YWlucyB0aGUgdXNlciBkZXRhaWxkLlxuICAgKi9cbiAgcHVibGljIGhhbmRsZVRhc2tDb21wbGV0aW9uRXJyb3IocmVzcG9uc2U6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHVzZXJEZXRhaWxzID0gcmVzcG9uc2UgYXMgVXNlckRldGFpbHM7XG4gICAgaWYgKHRoaXMudXNlcklzQ2FzZXdvcmtlcih1c2VyRGV0YWlscy51c2VySW5mby5yb2xlcykpIHtcbiAgICAgIC8vIHdoZW4gc3VibWl0dGluZyB0aGUgY29tcGxldGlvbiBvZiB0YXNrIGlmIG5vdCB5ZXQgcmVuZGVyZWQgY2FzZXMvY2FzZSBjb25maXJtIHRoZW4gcHJlc2VydmUgdGhlIGFsZXJ0IGZvciByZS1yZW5kZXJpbmdcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNldFByZXNlcnZlQWxlcnRzKHRydWUsIFsnY2FzZXMvY2FzZScsICdzdWJtaXQnXSk7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS53YXJuaW5nKHsgcGhyYXNlOidBIHRhc2sgY291bGQgbm90IGJlIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuIFBsZWFzZSBjb21wbGV0ZSB0aGUgdGFzayBhc3NvY2lhdGVkIHdpdGggdGhlIGNhc2UgbWFudWFsbHkuJ30pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIHVzZXIncyByb2xlIGlzIGVxdWl2YWxlbnQgdG8gYSBjYXNld29ya2VyLlxuICAgKiBAcGFyYW0gcm9sZXMgaXMgdGhlIGxpc3Qgb2Ygcm9sZXMgZm91bmQgZnJvbSB0aGUgY3VycmVudCB1c2VyLlxuICAgKi9cbiAgcHVibGljIHVzZXJJc0Nhc2V3b3JrZXIocm9sZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbG93ZXJDYXNlUm9sZXMgPSByb2xlcy5tYXAocm9sZSA9PiByb2xlLnRvTG93ZXJDYXNlKCkpO1xuICAgIC8vIFdoZW4vaWYgbGliICYgdGFyZ2V0IHBlcm1hbmVudGx5IGNoYW5nZSB0byBlczIwMTYsIHJlcGxhY2UgaW5kZXhPZiB3aXRoIGluY2x1ZGVzXG4gICAgcmV0dXJuIChsb3dlckNhc2VSb2xlcy5pbmRleE9mKFdvcmtBbGxvY2F0aW9uU2VydmljZS5pQUNDYXNlT2ZmaWNlcikgIT09IC0xKVxuICAgICAgfHwgKGxvd2VyQ2FzZVJvbGVzLmluZGV4T2YoV29ya0FsbG9jYXRpb25TZXJ2aWNlLmlBQ0FkbU9mZmljZXIpICE9PSAtMSk7XG4gIH1cblxuICAvKipcbiAgICogTG9vayBmb3Igb3BlbiB0YXNrcyBmb3IgYSBjYXNlIGFuZCBldmVudCBjb21iaW5hdGlvbi4gVGhlcmUgYXJlIDUgcG9zc2libGUgc2NlbmFyaW9zOlxuICAgKiAgIDEuIE5vIHRhc2tzIGZvdW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gU3VjY2Vzcy5cbiAgICogICAyLiBPbmUgdGFzayBmb3VuZCA9PiBNYXJrIGFzIGRvbmUgICAgICAgICAgICAgID0+IFN1Y2Nlc3MuXG4gICAqICAgMy4gT25lIHRhc2sgZm91bmQgPT4gTWFyayBhcyBkb25lIHRocm93cyBlcnJvciA9PiBGYWlsdXJlLlxuICAgKiAgIDQuIE1vcmUgdGhhbiBvbmUgdGFzayBmb3VuZCAgICAgICAgICAgICAgICAgICAgPT4gRmFpbHVyZS5cbiAgICogICA1LiBTZWFyY2ggY2FsbCB0aHJvd3MgYW4gZXJyb3IgICAgICAgICAgICAgICAgID0+IEZhaWx1cmUuXG4gICAqIEBwYXJhbSBjY2RJZCBUaGUgSUQgb2YgdGhlIGNhc2UgdG8gZmluZCB0YXNrcyBmb3IuXG4gICAqIEBwYXJhbSBldmVudElkIFRoZSBJRCBvZiB0aGUgZXZlbnQgdG8gZmluZCB0YXNrcyBmb3IuXG4gICAqL1xuICBwdWJsaWMgY29tcGxldGVBcHByb3ByaWF0ZVRhc2soY2NkSWQ6IHN0cmluZywgZXZlbnRJZDogc3RyaW5nLCBqdXJpc2RpY3Rpb246IHN0cmluZywgY2FzZVR5cGVJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoIXRoaXMuaXNXQUVuYWJsZWQoanVyaXNkaWN0aW9uLCBjYXNlVHlwZUlkKSkge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cbiAgICBjb25zdCB0YXNrU2VhcmNoUGFyYW1ldGVyOiBUYXNrU2VhcmNoUGFyYW1ldGVyID0ge1xuICAgICAgY2NkSWQsXG4gICAgICBldmVudElkLFxuICAgICAganVyaXNkaWN0aW9uLFxuICAgICAgY2FzZVR5cGVJZFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoVGFza3ModGFza1NlYXJjaFBhcmFtZXRlcilcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCB0YXNrczogYW55W10gPSByZXNwb25zZS50YXNrcztcbiAgICAgICAgICBpZiAodGFza3MgJiYgdGFza3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgaWYgKHRhc2tzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICB0aGlzLmNvbXBsZXRlVGFzayh0YXNrc1swXS5pZCkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBUaGlzIGlzIGEgcHJvYmxlbS4gVGhyb3cgYW4gYXBwcm9wcmlhdGUgZXJyb3IuXG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihNVUxUSVBMRV9UQVNLU19GT1VORCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0cnVlOyAvLyBBbGwgZ29vZC4gTm90aGluZyB0byBzZWUgaGVyZS5cbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIC8vIFNpbXBseSByZXRocm93IGl0LlxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRhc2tzIGZvciBjYXNlIGFuZCBldmVudC5cbiAgICovXG4gIHB1YmxpYyBnZXRUYXNrc0J5Q2FzZUlkQW5kRXZlbnRJZChldmVudElkOiBzdHJpbmcsIGNhc2VJZDogc3RyaW5nLCBjYXNlVHlwZTogc3RyaW5nLCBqdXJpc2RpY3Rpb246IHN0cmluZyk6IE9ic2VydmFibGU8VGFza1BheWxvYWQ+IHtcbiAgICBjb25zdCBkZWZhdWx0UGF5bG9hZDogVGFza1BheWxvYWQgPSB7XG4gICAgICB0YXNrX3JlcXVpcmVkX2Zvcl9ldmVudDogZmFsc2UsXG4gICAgICB0YXNrczogW11cbiAgICB9O1xuICAgIGlmICghdGhpcy5pc1dBRW5hYmxlZCgpKSB7XG4gICAgICByZXR1cm4gb2YoZGVmYXVsdFBheWxvYWQpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmFwcENvbmZpZy5nZXRXb3JrQWxsb2NhdGlvbkFwaVVybCgpfS9jYXNlL3Rhc2tzLyR7Y2FzZUlkfS9ldmVudC8ke2V2ZW50SWR9L2Nhc2VUeXBlLyR7Y2FzZVR5cGV9L2p1cmlzZGljdGlvbi8ke2p1cmlzZGljdGlvbn1gKTtcbiAgfVxuXG4gLyoqXG4gICogQ2FsbCB0aGUgQVBJIHRvIGdldCBhIHRhc2tcbiAgKi9cbiBwdWJsaWMgZ2V0VGFzayh0YXNrSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8VGFza1Jlc3BvbmU+IHtcbiAgaWYgKCF0aGlzLmlzV0FFbmFibGVkKCkpIHtcbiAgICByZXR1cm4gb2Yoe3Rhc2s6IG51bGx9KTtcbiAgfVxuICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmFwcENvbmZpZy5nZXRXb3JrQWxsb2NhdGlvbkFwaVVybCgpfS90YXNrLyR7dGFza0lkfWApO1xuIH1cbn1cbiJdfQ==
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1hbGxvY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvY2FzZS1lZGl0b3Ivc2VydmljZXMvd29yay1hbGxvY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFFdkcsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsMkJBQTJCLENBQUM7QUFHaEUsTUFBTSxPQUFPLHFCQUFxQjtJQU1oQyxZQUNtQixJQUFpQixFQUNqQixTQUE0QixFQUM1QixZQUE4QixFQUM5QixZQUEwQixFQUMxQixxQkFBNEM7UUFKNUMsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUM1QixpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUU3RCw2Q0FBNkM7SUFDL0MsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFdBQVcsQ0FBQyxhQUFrQztRQUNuRCxtRUFBbUU7UUFDbkUsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixFQUFF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ckIscUJBQXFCLFdBQXJCLHFCQUFxQjt1RkFBckIscUJBQXFCO2NBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RBcHBDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi9hcHAuY29uZmlnJztcbmltcG9ydCB7IFRhc2tTZWFyY2hQYXJhbWV0ZXIsIFdBRmVhdHVyZUNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBVc2VyRGV0YWlscyB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi91c2VyL3VzZXItZGV0YWlscy5tb2RlbCc7XG5pbXBvcnQgeyBUYXNrUmVzcG9uZSB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi93b3JrLWFsbG9jYXRpb24vdGFzay1yZXNwb25zZS5tb2RlbCc7XG5pbXBvcnQgeyBUYXNrUGF5bG9hZCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi93b3JrLWFsbG9jYXRpb24vVGFza1BheWxvYWQnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlLCBIdHRwRXJyb3JTZXJ2aWNlLCBIdHRwU2VydmljZSwgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuXG5leHBvcnQgY29uc3QgTVVMVElQTEVfVEFTS1NfRk9VTkQgPSAnTW9yZSB0aGFuIG9uZSB0YXNrIGZvdW5kISc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBXb3JrQWxsb2NhdGlvblNlcnZpY2Uge1xuICBwdWJsaWMgc3RhdGljIGlBQ0Nhc2VPZmZpY2VyID0gJ2Nhc2V3b3JrZXItaWEtY2FzZW9mZmljZXInO1xuICBwdWJsaWMgc3RhdGljIGlBQ0FkbU9mZmljZXIgPSAnY2FzZXdvcmtlci1pYS1hZG1vZmZpY2VyJztcblxuICBwcml2YXRlIGZlYXR1cmVzOiBXQUZlYXR1cmVDb25maWc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcENvbmZpZzogQWJzdHJhY3RBcHBDb25maWcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlcnJvclNlcnZpY2U6IEh0dHBFcnJvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlXG4gICkge1xuICAgIC8vIENoZWNrIHRvIHNlZSBpZiB3b3JrIGFsbG9jYXRpb24gaXMgZW5hYmxlZFxuICB9XG5cbiAgLyoqXG4gICAqIENhbGwgdGhlIEFQSSB0byBnZXQgdGFza3MgbWF0Y2hpbmcgdGhlIHNlYXJjaCBjcml0ZXJpYS5cbiAgICogQHBhcmFtIHNlYXJjaFJlcXVlc3QgVGhlIHNlYXJjaCBwYXJhbWV0ZXJzIHRoYXQgc3BlY2lmeSB3aGljaCB0YXNrcyB0byBtYXRjaC5cbiAgICovXG4gIHB1YmxpYyBzZWFyY2hUYXNrcyhzZWFyY2hSZXF1ZXN0OiBUYXNrU2VhcmNoUGFyYW1ldGVyKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICAvLyBEbyBub3QgbmVlZCB0byBjaGVjayBpZiBXQSBlbmFibGVkIGFzIHBhcmVudCBtZXRob2Qgd2lsbCBkbyB0aGF0XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5hcHBDb25maWcuZ2V0V29ya0FsbG9jYXRpb25BcGlVcmwoKX0vc2VhcmNoRm9yQ29tcGxldGFibGVgO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0KHVybCwge3NlYXJjaFJlcXVlc3R9LCBudWxsLCBmYWxzZSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UpLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yU2VydmljZS5zZXRFcnJvcihlcnJvcik7XG4gICAgICAgICAgLy8gZXhwbGljaXRseSBlYXQgYXdheSA0MDEgZXJyb3IgYW5kIDQwMCBlcnJvclxuICAgICAgICAgIGlmIChlcnJvciAmJiBlcnJvci5zdGF0dXMgJiYgKGVycm9yLnN0YXR1cyA9PT0gNDAxIHx8IGVycm9yLnN0YXR1cyA9PT0gNDAwKSkge1xuICAgICAgICAgICAgLy8gZG8gbm90aGluZ1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ2Vycm9yIHN0YXR1cyA0MDEgb3IgNDAwJywgZXJyb3IpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNXQUVuYWJsZWQoanVyaXNkaWN0aW9uPzogc3RyaW5nLCBjYXNlVHlwZT86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRoaXMuZmVhdHVyZXMgPSB0aGlzLmFwcENvbmZpZy5nZXRXQVNlcnZpY2VDb25maWcoKTtcbiAgICBjb25zdCBmdHN0ciA9IEpTT04uc3RyaW5naWZ5KHRoaXMuZmVhdHVyZXMpO1xuICAgIGNvbnNvbGUubG9nKGBpc1dBRW5hYmxlZDogJHtmdHN0cn1gKVxuICAgIGxldCBlbmFibGVkID0gZmFsc2U7XG4gICAgaWYgKCFqdXJpc2RpY3Rpb24gfHwgIWNhc2VUeXBlKSB7XG4gICAgICBjb25zdCBjYXNlSW5mbyA9IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnY2FzZUluZm8nKSk7XG4gICAgICBqdXJpc2RpY3Rpb24gPSBjYXNlSW5mby5qdXJpc2RpY3Rpb247XG4gICAgICBjYXNlVHlwZSA9IGNhc2VJbmZvLmNhc2VUeXBlO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuZmVhdHVyZXMgfHwgIXRoaXMuZmVhdHVyZXMuY29uZmlndXJhdGlvbnMpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdpc1dBRW5hYmxlZDogbm8gZmVhdHVyZXMnKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5mZWF0dXJlcy5jb25maWd1cmF0aW9ucy5mb3JFYWNoKHNlcnZpY2VDb25maWcgPT4ge1xuICAgICAgaWYgKHNlcnZpY2VDb25maWcuc2VydmljZU5hbWUgPT09IGp1cmlzZGljdGlvbiAmJiAoc2VydmljZUNvbmZpZy5jYXNlVHlwZXMuaW5kZXhPZihjYXNlVHlwZSkgIT09IC0xKSkge1xuICAgICAgICAgIGVuYWJsZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnNvbGUubG9nKGBpc1dBRW5hYmxlZDogcmV0dXJuaW5nICR7ZW5hYmxlZH1gKTtcbiAgICByZXR1cm4gZW5hYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsIHRoZSBBUEkgdG8gYXNzaWduIGEgdGFzay5cbiAgICogQHBhcmFtIHRhc2tJZCBzcGVjaWZpZXMgd2hpY2ggdGFzayBzaG91bGQgYmUgYXNzaWduZWQuXG4gICAqIEBwYXJhbSB1c2VySWQgc3BlY2lmaWVzIHRoZSB1c2VyIHRoZSB0YXNrIHNob3VsZCBiZSBhc3NpZ25lZCB0by5cbiAgICovXG4gIHB1YmxpYyBhc3NpZ25UYXNrKHRhc2tJZDogc3RyaW5nLCB1c2VySWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKCF0aGlzLmlzV0FFbmFibGVkKCkpIHtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5hcHBDb25maWcuZ2V0V29ya0FsbG9jYXRpb25BcGlVcmwoKX0vdGFzay8ke3Rhc2tJZH0vYXNzaWduYDtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdCh1cmwsIHt1c2VySWR9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLnNldEVycm9yKGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGwgdGhlIEFQSSB0byBjb21wbGV0ZSBhIHRhc2suXG4gICAqIEBwYXJhbSB0YXNrSWQgc3BlY2lmaWVzIHdoaWNoIHRhc2sgc2hvdWxkIGJlIGNvbXBsZXRlZC5cbiAgICovXG4gIHB1YmxpYyBjb21wbGV0ZVRhc2sodGFza0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICghdGhpcy5pc1dBRW5hYmxlZCgpKSB7XG4gICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxuICAgIGNvbnNvbGUubG9nKGBjb21wbGV0ZVRhc2s6IGNvbXBsZXRpbmcgJHt0YXNrSWR9YCk7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5hcHBDb25maWcuZ2V0V29ya0FsbG9jYXRpb25BcGlVcmwoKX0vdGFzay8ke3Rhc2tJZH0vY29tcGxldGVgO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0KHVybCwge30pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvclNlcnZpY2Uuc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgICAgIC8vIHRoaXMgd2lsbCBzdWJzY3JpYmUgdG8gZ2V0IHRoZSB1c2VyIGRldGFpbHMgYW5kIGRlY2lkZSB3aGV0aGVyIHRvIGRpc3BsYXkgYW4gZXJyb3IgbWVzc2FnZVxuICAgICAgICAgIHRoaXMuaHR0cC5nZXQodGhpcy5hcHBDb25maWcuZ2V0VXNlckluZm9BcGlVcmwoKSkucGlwZShtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UpKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVRhc2tDb21wbGV0aW9uRXJyb3IocmVzcG9uc2UpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbCB0aGUgQVBJIHRvIGFzc2lnbiBhbmQgY29tcGxldGUgYSB0YXNrLlxuICAgKiBAcGFyYW0gdGFza0lkIHNwZWNpZmllcyB3aGljaCB0YXNrIHNob3VsZCBiZSBjb21wbGV0ZWQuXG4gICAqL1xuICBwdWJsaWMgYXNzaWduQW5kQ29tcGxldGVUYXNrKHRhc2tJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoIXRoaXMuaXNXQUVuYWJsZWQoKSkge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwcENvbmZpZy5nZXRXb3JrQWxsb2NhdGlvbkFwaVVybCgpfS90YXNrLyR7dGFza0lkfS9jb21wbGV0ZWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QodXJsLCB7XG4gICAgICAgIGNvbXBsZXRpb25fb3B0aW9uczoge1xuICAgICAgICAgIGFzc2lnbl9hbmRfY29tcGxldGU6IHRydWVcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yU2VydmljZS5zZXRFcnJvcihlcnJvcik7XG4gICAgICAgICAgLy8gdGhpcyB3aWxsIHN1YnNjcmliZSB0byBnZXQgdGhlIHVzZXIgZGV0YWlscyBhbmQgZGVjaWRlIHdoZXRoZXIgdG8gZGlzcGxheSBhbiBlcnJvciBtZXNzYWdlXG4gICAgICAgICAgdGhpcy5odHRwLmdldCh0aGlzLmFwcENvbmZpZy5nZXRVc2VySW5mb0FwaVVybCgpKS5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZSkpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVGFza0NvbXBsZXRpb25FcnJvcihyZXNwb25zZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSByZXNwb25zZSBmcm9tIHRoZSBvYnNlcnZhYmxlIHRvIGdldCB0aGUgdXNlciBkZXRhaWxzIHdoZW4gdGFzayBpcyBjb21wbGV0ZWQuXG4gICAqIEBwYXJhbSByZXNwb25zZSBpcyB0aGUgcmVzcG9uc2UgZ2l2ZW4gZnJvbSB0aGUgb2JzZXJ2YWJsZSB3aGljaCBjb250YWlucyB0aGUgdXNlciBkZXRhaWxkLlxuICAgKi9cbiAgcHVibGljIGhhbmRsZVRhc2tDb21wbGV0aW9uRXJyb3IocmVzcG9uc2U6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHVzZXJEZXRhaWxzID0gcmVzcG9uc2UgYXMgVXNlckRldGFpbHM7XG4gICAgaWYgKHRoaXMudXNlcklzQ2FzZXdvcmtlcih1c2VyRGV0YWlscy51c2VySW5mby5yb2xlcykpIHtcbiAgICAgIC8vIHdoZW4gc3VibWl0dGluZyB0aGUgY29tcGxldGlvbiBvZiB0YXNrIGlmIG5vdCB5ZXQgcmVuZGVyZWQgY2FzZXMvY2FzZSBjb25maXJtIHRoZW4gcHJlc2VydmUgdGhlIGFsZXJ0IGZvciByZS1yZW5kZXJpbmdcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNldFByZXNlcnZlQWxlcnRzKHRydWUsIFsnY2FzZXMvY2FzZScsICdzdWJtaXQnXSk7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS53YXJuaW5nKHsgcGhyYXNlOidBIHRhc2sgY291bGQgbm90IGJlIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuIFBsZWFzZSBjb21wbGV0ZSB0aGUgdGFzayBhc3NvY2lhdGVkIHdpdGggdGhlIGNhc2UgbWFudWFsbHkuJ30pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIHVzZXIncyByb2xlIGlzIGVxdWl2YWxlbnQgdG8gYSBjYXNld29ya2VyLlxuICAgKiBAcGFyYW0gcm9sZXMgaXMgdGhlIGxpc3Qgb2Ygcm9sZXMgZm91bmQgZnJvbSB0aGUgY3VycmVudCB1c2VyLlxuICAgKi9cbiAgcHVibGljIHVzZXJJc0Nhc2V3b3JrZXIocm9sZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbG93ZXJDYXNlUm9sZXMgPSByb2xlcy5tYXAocm9sZSA9PiByb2xlLnRvTG93ZXJDYXNlKCkpO1xuICAgIC8vIFdoZW4vaWYgbGliICYgdGFyZ2V0IHBlcm1hbmVudGx5IGNoYW5nZSB0byBlczIwMTYsIHJlcGxhY2UgaW5kZXhPZiB3aXRoIGluY2x1ZGVzXG4gICAgcmV0dXJuIChsb3dlckNhc2VSb2xlcy5pbmRleE9mKFdvcmtBbGxvY2F0aW9uU2VydmljZS5pQUNDYXNlT2ZmaWNlcikgIT09IC0xKVxuICAgICAgfHwgKGxvd2VyQ2FzZVJvbGVzLmluZGV4T2YoV29ya0FsbG9jYXRpb25TZXJ2aWNlLmlBQ0FkbU9mZmljZXIpICE9PSAtMSk7XG4gIH1cblxuICAvKipcbiAgICogTG9vayBmb3Igb3BlbiB0YXNrcyBmb3IgYSBjYXNlIGFuZCBldmVudCBjb21iaW5hdGlvbi4gVGhlcmUgYXJlIDUgcG9zc2libGUgc2NlbmFyaW9zOlxuICAgKiAgIDEuIE5vIHRhc2tzIGZvdW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gU3VjY2Vzcy5cbiAgICogICAyLiBPbmUgdGFzayBmb3VuZCA9PiBNYXJrIGFzIGRvbmUgICAgICAgICAgICAgID0+IFN1Y2Nlc3MuXG4gICAqICAgMy4gT25lIHRhc2sgZm91bmQgPT4gTWFyayBhcyBkb25lIHRocm93cyBlcnJvciA9PiBGYWlsdXJlLlxuICAgKiAgIDQuIE1vcmUgdGhhbiBvbmUgdGFzayBmb3VuZCAgICAgICAgICAgICAgICAgICAgPT4gRmFpbHVyZS5cbiAgICogICA1LiBTZWFyY2ggY2FsbCB0aHJvd3MgYW4gZXJyb3IgICAgICAgICAgICAgICAgID0+IEZhaWx1cmUuXG4gICAqIEBwYXJhbSBjY2RJZCBUaGUgSUQgb2YgdGhlIGNhc2UgdG8gZmluZCB0YXNrcyBmb3IuXG4gICAqIEBwYXJhbSBldmVudElkIFRoZSBJRCBvZiB0aGUgZXZlbnQgdG8gZmluZCB0YXNrcyBmb3IuXG4gICAqL1xuICBwdWJsaWMgY29tcGxldGVBcHByb3ByaWF0ZVRhc2soY2NkSWQ6IHN0cmluZywgZXZlbnRJZDogc3RyaW5nLCBqdXJpc2RpY3Rpb246IHN0cmluZywgY2FzZVR5cGVJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoIXRoaXMuaXNXQUVuYWJsZWQoanVyaXNkaWN0aW9uLCBjYXNlVHlwZUlkKSkge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cbiAgICBjb25zdCB0YXNrU2VhcmNoUGFyYW1ldGVyOiBUYXNrU2VhcmNoUGFyYW1ldGVyID0ge1xuICAgICAgY2NkSWQsXG4gICAgICBldmVudElkLFxuICAgICAganVyaXNkaWN0aW9uLFxuICAgICAgY2FzZVR5cGVJZFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoVGFza3ModGFza1NlYXJjaFBhcmFtZXRlcilcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCB0YXNrczogYW55W10gPSByZXNwb25zZS50YXNrcztcbiAgICAgICAgICBpZiAodGFza3MgJiYgdGFza3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgaWYgKHRhc2tzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICB0aGlzLmNvbXBsZXRlVGFzayh0YXNrc1swXS5pZCkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBUaGlzIGlzIGEgcHJvYmxlbS4gVGhyb3cgYW4gYXBwcm9wcmlhdGUgZXJyb3IuXG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihNVUxUSVBMRV9UQVNLU19GT1VORCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0cnVlOyAvLyBBbGwgZ29vZC4gTm90aGluZyB0byBzZWUgaGVyZS5cbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIC8vIFNpbXBseSByZXRocm93IGl0LlxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRhc2tzIGZvciBjYXNlIGFuZCBldmVudC5cbiAgICovXG4gIHB1YmxpYyBnZXRUYXNrc0J5Q2FzZUlkQW5kRXZlbnRJZChldmVudElkOiBzdHJpbmcsIGNhc2VJZDogc3RyaW5nLCBjYXNlVHlwZTogc3RyaW5nLCBqdXJpc2RpY3Rpb246IHN0cmluZyk6IE9ic2VydmFibGU8VGFza1BheWxvYWQ+IHtcbiAgICBjb25zdCBkZWZhdWx0UGF5bG9hZDogVGFza1BheWxvYWQgPSB7XG4gICAgICB0YXNrX3JlcXVpcmVkX2Zvcl9ldmVudDogZmFsc2UsXG4gICAgICB0YXNrczogW11cbiAgICB9O1xuICAgIGlmICghdGhpcy5pc1dBRW5hYmxlZCgpKSB7XG4gICAgICByZXR1cm4gb2YoZGVmYXVsdFBheWxvYWQpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmFwcENvbmZpZy5nZXRXb3JrQWxsb2NhdGlvbkFwaVVybCgpfS9jYXNlL3Rhc2tzLyR7Y2FzZUlkfS9ldmVudC8ke2V2ZW50SWR9L2Nhc2VUeXBlLyR7Y2FzZVR5cGV9L2p1cmlzZGljdGlvbi8ke2p1cmlzZGljdGlvbn1gKTtcbiAgfVxuXG4gLyoqXG4gICogQ2FsbCB0aGUgQVBJIHRvIGdldCBhIHRhc2tcbiAgKi9cbiBwdWJsaWMgZ2V0VGFzayh0YXNrSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8VGFza1Jlc3BvbmU+IHtcbiAgaWYgKCF0aGlzLmlzV0FFbmFibGVkKCkpIHtcbiAgICByZXR1cm4gb2Yoe3Rhc2s6IG51bGx9KTtcbiAgfVxuICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmFwcENvbmZpZy5nZXRXb3JrQWxsb2NhdGlvbkFwaVVybCgpfS90YXNrLyR7dGFza0lkfWApO1xuIH1cbn1cbiJdfQ==
@@ -44,9 +44,7 @@ export class CaseViewerComponent {
44
44
  this.appendedTabs = [];
45
45
  }
46
46
  ngOnInit() {
47
- console.info('Loading case details...');
48
47
  this.loadCaseDetails();
49
- console.info('Loaded case details...');
50
48
  }
51
49
  ngOnDestroy() {
52
50
  if (this.caseSubscription) {
@@ -55,7 +53,6 @@ export class CaseViewerComponent {
55
53
  }
56
54
  loadCaseDetails() {
57
55
  if (this.route.snapshot.data.case) {
58
- console.info('Setting the case into case viewer component from this.route.snapshot.data.case.');
59
56
  this.caseDetails = this.route.snapshot.data.case;
60
57
  this.caseDetails.tabs = this.orderService.sort(this.caseDetails.tabs);
61
58
  this.caseDetails.tabs = this.suffixDuplicateTabs(this.caseDetails.tabs);
@@ -125,4 +122,4 @@ CaseViewerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseVie
125
122
  }], appendedTabs: [{
126
123
  type: Input
127
124
  }] }); })();
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL2Nhc2Utdmlld2VyL2Nhc2Utdmlld2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7SUNMNUMsZ0RBRzZCOzs7SUFGRCxrREFBNkIsbUNBQUE7OztJQUd6RCwrQ0FNNEI7OztJQUxELGdEQUEyQiw2QkFBQSw2Q0FBQSx1Q0FBQSxxQ0FBQTs7O0lBTnhELDJCQUE0QjtJQUMxQix3SEFHNkI7SUFDN0Isc0hBTTRCO0lBQzlCLGlCQUFNOzs7SUFYeUIsZUFBMEI7SUFBMUIsa0RBQTBCO0lBSTNCLGVBQXlCO0lBQXpCLGlEQUF5Qjs7QURPdkQsTUFBTSxPQUFPLG1CQUFtQjtJQWdCOUIsWUFDbUIsS0FBcUIsRUFDckIsWUFBMEIsRUFDMUIsU0FBNEIsRUFDNUIsWUFBMEI7UUFIMUIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsY0FBUyxHQUFU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QUFDOztBQTNGc0Isb0RBQWdDLEdBQUcsa0JBQWtCLENBQUM7QUFDdEQsb0RBQWdDLEdBQUcsa0JBQWtCLENBQUM7QUFDdEQsa0RBQThCLEdBQUcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDNUQsMkNBQXVCLEdBQUcsT0FBTyxDQUFDO3NGQUo5QyxtQkFBbUI7c0VBQW5CLG1CQUFtQjtRQ1poQyxvRUFZTTs7UUFaQSx5Q0FBb0I7O3VGRFliLG1CQUFtQjtjQUovQixTQUFTOzJCQUNFLGlCQUFpQjt1SkFTWCxRQUFRO2tCQUF2QixLQUFLO1lBQ1UsZ0JBQWdCO2tCQUEvQixLQUFLO1lBQ1UsYUFBYTtrQkFBNUIsS0FBSztZQUNVLFlBQVk7a0JBQTNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2FwcC5jb25maWcnO1xuaW1wb3J0IHsgQ2FzZVRhYiwgQ2FzZVZpZXcgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyIH0gZnJvbSAnLi4vY2FzZS1lZGl0b3InO1xuaW1wb3J0IHsgT3JkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtY2FzZS12aWV3ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS12aWV3ZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIENhc2VWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTUVUQURBVEFfRklFTERfQUNDRVNTX1BST0NFU1NfSUQgPSAnW0FDQ0VTU19QUk9DRVNTXSc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTUVUQURBVEFfRklFTERfQUNDRVNTX0dSQU5URURfSUQgPSAnW0FDQ0VTU19HUkFOVEVEXSc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTk9OX1NUQU5EQVJEX1VTRVJfQUNDRVNTX1RZUEVTID0gWydDSEFMTEVOR0VEJywgJ1NQRUNJRklDJ107XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQkFTSUNfVVNFUl9BQ0NFU1NfVFlQRVMgPSAnQkFTSUMnO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBoYXNQcmludCA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBoYXNFdmVudFNlbGVjdG9yID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIHByZXBlbmRlZFRhYnM6IENhc2VUYWJbXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgYXBwZW5kZWRUYWJzOiBDYXNlVGFiW10gPSBbXTtcblxuICBwdWJsaWMgY2FzZURldGFpbHM6IENhc2VWaWV3O1xuICBwdWJsaWMgY2FzZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgdXNlckFjY2Vzc1R5cGU6IHN0cmluZztcbiAgcHVibGljIGFjY2Vzc0dyYW50ZWQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlTm90aWZpZXI6IENhc2VOb3RpZmllcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcENvbmZpZzogQWJzdHJhY3RBcHBDb25maWcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcmRlclNlcnZpY2U6IE9yZGVyU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnNvbGUuaW5mbygnTG9hZGluZyBjYXNlIGRldGFpbHMuLi4nKTtcbiAgICB0aGlzLmxvYWRDYXNlRGV0YWlscygpO1xuICAgIGNvbnNvbGUuaW5mbygnTG9hZGVkIGNhc2UgZGV0YWlscy4uLicpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNhc2VTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuY2FzZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBsb2FkQ2FzZURldGFpbHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlKSB7XG4gICAgICBjb25zb2xlLmluZm8oJ1NldHRpbmcgdGhlIGNhc2UgaW50byBjYXNlIHZpZXdlciBjb21wb25lbnQgZnJvbSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZS4nKTtcbiAgICAgIHRoaXMuY2FzZURldGFpbHMgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZTtcbiAgICAgIHRoaXMuY2FzZURldGFpbHMudGFicyA9IHRoaXMub3JkZXJTZXJ2aWNlLnNvcnQodGhpcy5jYXNlRGV0YWlscy50YWJzKTtcbiAgICAgIHRoaXMuY2FzZURldGFpbHMudGFicyA9IHRoaXMuc3VmZml4RHVwbGljYXRlVGFicyh0aGlzLmNhc2VEZXRhaWxzLnRhYnMpO1xuICAgICAgdGhpcy5zZXRVc2VyQWNjZXNzVHlwZSh0aGlzLmNhc2VEZXRhaWxzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jYXNlU3Vic2NyaXB0aW9uID0gdGhpcy5jYXNlTm90aWZpZXIuY2FzZVZpZXcuc3Vic2NyaWJlKGNhc2VEZXRhaWxzID0+IHtcbiAgICAgICAgY29uc29sZS5pbmZvKCdTZXR0aW5nIHRoZSBjYXNlIGludG8gY2FzZSB2aWV3ZXIgY29tcG9uZW50IGFzIHJldHJpZXZlZCBmcm9tIFhIUiByZXF1ZXN0LicpO1xuICAgICAgICB0aGlzLmNhc2VEZXRhaWxzID0gY2FzZURldGFpbHM7XG4gICAgICAgIHRoaXMuc2V0VXNlckFjY2Vzc1R5cGUodGhpcy5jYXNlRGV0YWlscyk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0VXNlckFjY2Vzc1R5cGUoY2FzZURldGFpbHM6IENhc2VWaWV3KTogdm9pZCB7XG4gICAgaWYgKGNhc2VEZXRhaWxzICYmIEFycmF5LmlzQXJyYXkoY2FzZURldGFpbHMubWV0YWRhdGFGaWVsZHMpKSB7XG4gICAgICBjb25zdCBhY2Nlc3NQcm9jZXNzID0gY2FzZURldGFpbHMubWV0YWRhdGFGaWVsZHMuZmluZChtZXRhZGF0YUZpZWxkID0+XG4gICAgICAgIG1ldGFkYXRhRmllbGQuaWQgPT09IENhc2VWaWV3ZXJDb21wb25lbnQuTUVUQURBVEFfRklFTERfQUNDRVNTX1BST0NFU1NfSUQpO1xuICAgICAgY29uc3QgYWNjZXNzR3JhbnRlZCA9IGNhc2VEZXRhaWxzLm1ldGFkYXRhRmllbGRzLmZpbmQobWV0YWRhdGFGaWVsZCA9PlxuICAgICAgICBtZXRhZGF0YUZpZWxkLmlkID09PSBDYXNlVmlld2VyQ29tcG9uZW50Lk1FVEFEQVRBX0ZJRUxEX0FDQ0VTU19HUkFOVEVEX0lEKTtcbiAgICAgICAgdGhpcy5hY2Nlc3NHcmFudGVkID0gYWNjZXNzR3JhbnRlZCA/IGFjY2Vzc0dyYW50ZWQudmFsdWUgIT09IENhc2VWaWV3ZXJDb21wb25lbnQuQkFTSUNfVVNFUl9BQ0NFU1NfVFlQRVMgOiBmYWxzZTtcbiAgICAgIHRoaXMudXNlckFjY2Vzc1R5cGUgPSBhY2Nlc3NQcm9jZXNzID8gYWNjZXNzUHJvY2Vzcy52YWx1ZSA6IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzRGF0YUxvYWRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmNhc2VEZXRhaWxzO1xuICB9XG5cbiAgcHVibGljIGhhc1N0YW5kYXJkQWNjZXNzKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZlYXR1cmVUb2dnbGVPbiA9IHRoaXMuYXBwQ29uZmlnLmdldEFjY2Vzc01hbmFnZW1lbnRNb2RlKCk7XG4gICAgcmV0dXJuIGZlYXR1cmVUb2dnbGVPbiA/XG4gICAgICAgICAgICAhdGhpcy5hY2Nlc3NHcmFudGVkID8gQ2FzZVZpZXdlckNvbXBvbmVudC5OT05fU1RBTkRBUkRfVVNFUl9BQ0NFU1NfVFlQRVMuaW5kZXhPZih0aGlzLnVzZXJBY2Nlc3NUeXBlKSA9PT0gLTEgOiB0cnVlXG4gICAgICAgICAgICA6IHRydWU7XG4gIH1cblxuICBwcml2YXRlIHN1ZmZpeER1cGxpY2F0ZVRhYnModGFiczogQ2FzZVRhYltdKTogQ2FzZVRhYltdIHtcblxuICAgIGNvbnN0IGNvdW50ID0ge307XG4gICAgY29uc3QgZmlyc3RPY2N1cmVuY2VzID0ge307XG5cbiAgICBsZXQgaXRlbTogc3RyaW5nO1xuICAgIGxldCBpdGVtQ291bnQ6IG51bWJlcjtcbiAgICBmb3IgKGxldCBpID0gMCwgYyA9IHRhYnMubGVuZ3RoOyBpIDwgYzsgaSsrKSB7XG4gICAgICBpdGVtID0gdGFic1tpXS5sYWJlbDtcbiAgICAgIGl0ZW1Db3VudCA9IGNvdW50W2l0ZW1dO1xuICAgICAgaXRlbUNvdW50ID0gY291bnRbaXRlbV0gPSAoaXRlbUNvdW50ID09IG51bGwgPyAxIDogaXRlbUNvdW50ICsgMSk7XG5cbiAgICAgIGlmIChjb3VudFtpdGVtXSA+IDEpXG4gICAgICAgIHRhYnNbaV0ubGFiZWwgPSB0YWJzW2ldLmxhYmVsICsgQXJyYXkoY291bnRbaXRlbV0gLSAxKS5maWxsKCdfJykuam9pbignJyk7XG4gICAgICBlbHNlXG4gICAgICAgIGZpcnN0T2NjdXJlbmNlc1tpdGVtXSA9IGk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRhYnM7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJpc0RhdGFMb2FkZWQoKVwiPlxuICA8Y2NkLWNhc2UtYmFzaWMtYWNjZXNzLXZpZXcgKm5nSWY9XCIhaGFzU3RhbmRhcmRBY2Nlc3MoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWNjZXNzVHlwZV09XCJ1c2VyQWNjZXNzVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FzZURldGFpbHNdPVwiY2FzZURldGFpbHNcIj5cbiAgPC9jY2QtY2FzZS1iYXNpYy1hY2Nlc3Mtdmlldz5cbiAgPGNjZC1jYXNlLWZ1bGwtYWNjZXNzLXZpZXcgKm5nSWY9XCJoYXNTdGFuZGFyZEFjY2VzcygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Nhc2VEZXRhaWxzXT1cImNhc2VEZXRhaWxzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hhc1ByaW50XT1cImhhc1ByaW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hhc0V2ZW50U2VsZWN0b3JdPVwiaGFzRXZlbnRTZWxlY3RvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcmVwZW5kZWRUYWJzXT1cInByZXBlbmRlZFRhYnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwZW5kZWRUYWJzXT1cImFwcGVuZGVkVGFic1wiPlxuICA8L2NjZC1jYXNlLWZ1bGwtYWNjZXNzLXZpZXc+XG48L2Rpdj5cbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL2Nhc2Utdmlld2VyL2Nhc2Utdmlld2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7SUNMNUMsZ0RBRzZCOzs7SUFGRCxrREFBNkIsbUNBQUE7OztJQUd6RCwrQ0FNNEI7OztJQUxELGdEQUEyQiw2QkFBQSw2Q0FBQSx1Q0FBQSxxQ0FBQTs7O0lBTnhELDJCQUE0QjtJQUMxQix3SEFHNkI7SUFDN0Isc0hBTTRCO0lBQzlCLGlCQUFNOzs7SUFYeUIsZUFBMEI7SUFBMUIsa0RBQTBCO0lBSTNCLGVBQXlCO0lBQXpCLGlEQUF5Qjs7QURPdkQsTUFBTSxPQUFPLG1CQUFtQjtJQWdCOUIsWUFDbUIsS0FBcUIsRUFDckIsWUFBMEIsRUFDMUIsU0FBNEIsRUFDNUIsWUFBMEI7UUFIMUIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsY0FBUyxHQUFU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QUcsT0FBTyxDQUFDO3NGQUo5QyxtQkFBbUI7c0VBQW5CLG1CQUFtQjtRQ1poQyxvRUFZTTs7UUFaQSx5Q0FBb0I7O3VGRFliLG1CQUFtQjtjQUovQixTQUFTOzJCQUNFLGlCQUFpQjt1SkFTWCxRQUFRO2tCQUF2QixLQUFLO1lBQ1UsZ0JBQWdCO2tCQUEvQixLQUFLO1lBQ1UsYUFBYTtrQkFBNUIsS0FBSztZQUNVLFlBQVk7a0JBQTNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2FwcC5jb25maWcnO1xuaW1wb3J0IHsgQ2FzZVRhYiwgQ2FzZVZpZXcgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyIH0gZnJvbSAnLi4vY2FzZS1lZGl0b3InO1xuaW1wb3J0IHsgT3JkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtY2FzZS12aWV3ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS12aWV3ZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIENhc2VWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTUVUQURBVEFfRklFTERfQUNDRVNTX1BST0NFU1NfSUQgPSAnW0FDQ0VTU19QUk9DRVNTXSc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTUVUQURBVEFfRklFTERfQUNDRVNTX0dSQU5URURfSUQgPSAnW0FDQ0VTU19HUkFOVEVEXSc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTk9OX1NUQU5EQVJEX1VTRVJfQUNDRVNTX1RZUEVTID0gWydDSEFMTEVOR0VEJywgJ1NQRUNJRklDJ107XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQkFTSUNfVVNFUl9BQ0NFU1NfVFlQRVMgPSAnQkFTSUMnO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBoYXNQcmludCA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBoYXNFdmVudFNlbGVjdG9yID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIHByZXBlbmRlZFRhYnM6IENhc2VUYWJbXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgYXBwZW5kZWRUYWJzOiBDYXNlVGFiW10gPSBbXTtcblxuICBwdWJsaWMgY2FzZURldGFpbHM6IENhc2VWaWV3O1xuICBwdWJsaWMgY2FzZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgdXNlckFjY2Vzc1R5cGU6IHN0cmluZztcbiAgcHVibGljIGFjY2Vzc0dyYW50ZWQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlTm90aWZpZXI6IENhc2VOb3RpZmllcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcENvbmZpZzogQWJzdHJhY3RBcHBDb25maWcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcmRlclNlcnZpY2U6IE9yZGVyU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubG9hZENhc2VEZXRhaWxzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FzZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5jYXNlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGxvYWRDYXNlRGV0YWlscygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2UpIHtcbiAgICAgIHRoaXMuY2FzZURldGFpbHMgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZTtcbiAgICAgIHRoaXMuY2FzZURldGFpbHMudGFicyA9IHRoaXMub3JkZXJTZXJ2aWNlLnNvcnQodGhpcy5jYXNlRGV0YWlscy50YWJzKTtcbiAgICAgIHRoaXMuY2FzZURldGFpbHMudGFicyA9IHRoaXMuc3VmZml4RHVwbGljYXRlVGFicyh0aGlzLmNhc2VEZXRhaWxzLnRhYnMpO1xuICAgICAgdGhpcy5zZXRVc2VyQWNjZXNzVHlwZSh0aGlzLmNhc2VEZXRhaWxzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jYXNlU3Vic2NyaXB0aW9uID0gdGhpcy5jYXNlTm90aWZpZXIuY2FzZVZpZXcuc3Vic2NyaWJlKGNhc2VEZXRhaWxzID0+IHtcbiAgICAgICAgY29uc29sZS5pbmZvKCdTZXR0aW5nIHRoZSBjYXNlIGludG8gY2FzZSB2aWV3ZXIgY29tcG9uZW50IGFzIHJldHJpZXZlZCBmcm9tIFhIUiByZXF1ZXN0LicpO1xuICAgICAgICB0aGlzLmNhc2VEZXRhaWxzID0gY2FzZURldGFpbHM7XG4gICAgICAgIHRoaXMuc2V0VXNlckFjY2Vzc1R5cGUodGhpcy5jYXNlRGV0YWlscyk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0VXNlckFjY2Vzc1R5cGUoY2FzZURldGFpbHM6IENhc2VWaWV3KTogdm9pZCB7XG4gICAgaWYgKGNhc2VEZXRhaWxzICYmIEFycmF5LmlzQXJyYXkoY2FzZURldGFpbHMubWV0YWRhdGFGaWVsZHMpKSB7XG4gICAgICBjb25zdCBhY2Nlc3NQcm9jZXNzID0gY2FzZURldGFpbHMubWV0YWRhdGFGaWVsZHMuZmluZChtZXRhZGF0YUZpZWxkID0+XG4gICAgICAgIG1ldGFkYXRhRmllbGQuaWQgPT09IENhc2VWaWV3ZXJDb21wb25lbnQuTUVUQURBVEFfRklFTERfQUNDRVNTX1BST0NFU1NfSUQpO1xuICAgICAgY29uc3QgYWNjZXNzR3JhbnRlZCA9IGNhc2VEZXRhaWxzLm1ldGFkYXRhRmllbGRzLmZpbmQobWV0YWRhdGFGaWVsZCA9PlxuICAgICAgICBtZXRhZGF0YUZpZWxkLmlkID09PSBDYXNlVmlld2VyQ29tcG9uZW50Lk1FVEFEQVRBX0ZJRUxEX0FDQ0VTU19HUkFOVEVEX0lEKTtcbiAgICAgICAgdGhpcy5hY2Nlc3NHcmFudGVkID0gYWNjZXNzR3JhbnRlZCA/IGFjY2Vzc0dyYW50ZWQudmFsdWUgIT09IENhc2VWaWV3ZXJDb21wb25lbnQuQkFTSUNfVVNFUl9BQ0NFU1NfVFlQRVMgOiBmYWxzZTtcbiAgICAgIHRoaXMudXNlckFjY2Vzc1R5cGUgPSBhY2Nlc3NQcm9jZXNzID8gYWNjZXNzUHJvY2Vzcy52YWx1ZSA6IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzRGF0YUxvYWRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmNhc2VEZXRhaWxzO1xuICB9XG5cbiAgcHVibGljIGhhc1N0YW5kYXJkQWNjZXNzKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZlYXR1cmVUb2dnbGVPbiA9IHRoaXMuYXBwQ29uZmlnLmdldEFjY2Vzc01hbmFnZW1lbnRNb2RlKCk7XG4gICAgcmV0dXJuIGZlYXR1cmVUb2dnbGVPbiA/XG4gICAgICAgICAgICAhdGhpcy5hY2Nlc3NHcmFudGVkID8gQ2FzZVZpZXdlckNvbXBvbmVudC5OT05fU1RBTkRBUkRfVVNFUl9BQ0NFU1NfVFlQRVMuaW5kZXhPZih0aGlzLnVzZXJBY2Nlc3NUeXBlKSA9PT0gLTEgOiB0cnVlXG4gICAgICAgICAgICA6IHRydWU7XG4gIH1cblxuICBwcml2YXRlIHN1ZmZpeER1cGxpY2F0ZVRhYnModGFiczogQ2FzZVRhYltdKTogQ2FzZVRhYltdIHtcblxuICAgIGNvbnN0IGNvdW50ID0ge307XG4gICAgY29uc3QgZmlyc3RPY2N1cmVuY2VzID0ge307XG5cbiAgICBsZXQgaXRlbTogc3RyaW5nO1xuICAgIGxldCBpdGVtQ291bnQ6IG51bWJlcjtcbiAgICBmb3IgKGxldCBpID0gMCwgYyA9IHRhYnMubGVuZ3RoOyBpIDwgYzsgaSsrKSB7XG4gICAgICBpdGVtID0gdGFic1tpXS5sYWJlbDtcbiAgICAgIGl0ZW1Db3VudCA9IGNvdW50W2l0ZW1dO1xuICAgICAgaXRlbUNvdW50ID0gY291bnRbaXRlbV0gPSAoaXRlbUNvdW50ID09IG51bGwgPyAxIDogaXRlbUNvdW50ICsgMSk7XG5cbiAgICAgIGlmIChjb3VudFtpdGVtXSA+IDEpXG4gICAgICAgIHRhYnNbaV0ubGFiZWwgPSB0YWJzW2ldLmxhYmVsICsgQXJyYXkoY291bnRbaXRlbV0gLSAxKS5maWxsKCdfJykuam9pbignJyk7XG4gICAgICBlbHNlXG4gICAgICAgIGZpcnN0T2NjdXJlbmNlc1tpdGVtXSA9IGk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRhYnM7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJpc0RhdGFMb2FkZWQoKVwiPlxuICA8Y2NkLWNhc2UtYmFzaWMtYWNjZXNzLXZpZXcgKm5nSWY9XCIhaGFzU3RhbmRhcmRBY2Nlc3MoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWNjZXNzVHlwZV09XCJ1c2VyQWNjZXNzVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FzZURldGFpbHNdPVwiY2FzZURldGFpbHNcIj5cbiAgPC9jY2QtY2FzZS1iYXNpYy1hY2Nlc3Mtdmlldz5cbiAgPGNjZC1jYXNlLWZ1bGwtYWNjZXNzLXZpZXcgKm5nSWY9XCJoYXNTdGFuZGFyZEFjY2VzcygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Nhc2VEZXRhaWxzXT1cImNhc2VEZXRhaWxzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hhc1ByaW50XT1cImhhc1ByaW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hhc0V2ZW50U2VsZWN0b3JdPVwiaGFzRXZlbnRTZWxlY3RvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcmVwZW5kZWRUYWJzXT1cInByZXBlbmRlZFRhYnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwZW5kZWRUYWJzXT1cImFwcGVuZGVkVGFic1wiPlxuICA8L2NjZC1jYXNlLWZ1bGwtYWNjZXNzLXZpZXc+XG48L2Rpdj5cbiJdfQ==
@@ -53,10 +53,8 @@ export class CaseResolver {
53
53
  return route.firstChild && route.firstChild.fragment;
54
54
  }
55
55
  getAndCacheCaseView(cid) {
56
- console.info('getAndCacheCaseView started.');
57
56
  if (this.caseNotifier.cachedCaseView && this.caseNotifier.cachedCaseView.case_id && this.caseNotifier.cachedCaseView.case_id === cid) {
58
57
  this.caseNotifier.announceCase(this.caseNotifier.cachedCaseView);
59
- console.info('getAndCacheCaseView - Path A.');
60
58
  return of(this.caseNotifier.cachedCaseView).toPromise();
61
59
  }
62
60
  else {
@@ -64,7 +62,6 @@ export class CaseResolver {
64
62
  return this.getAndCacheDraft(cid);
65
63
  }
66
64
  else {
67
- console.info('getAndCacheCaseView - Path B.');
68
65
  return this.caseNotifier.fetchAndRefresh(cid)
69
66
  .pipe(catchError(error => this.processErrorInCaseFetch(error, cid)))
70
67
  .toPromise();
@@ -128,4 +125,4 @@ CaseResolver.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CaseResolve
128
125
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseResolver, [{
129
126
  type: Injectable
130
127
  }], function () { return [{ type: i1.CaseNotifier }, { type: i2.DraftService }, { type: i3.NavigationNotifierService }, { type: i4.Router }, { type: i2.SessionStorageService }, { type: i5.AbstractAppConfig }]; }, null); })();
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9zZXJ2aWNlcy9jYXNlLnJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUEwQixhQUFhLEVBQVcsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7O0FBR2pELE1BQU0sT0FBTyxZQUFZO0lBV3ZCLFlBQW9CLFlBQTBCLEVBQzFCLFlBQTBCLEVBQzFCLHlCQUFvRCxFQUNwRCxNQUFjLEVBQ2QsY0FBcUMsRUFDNUIsU0FBNEI7UUFMckMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsOEJBQXlCLEdBQXpCLHlCQUF5QixD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S0FBSyxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQzt1QkFDdEQsV0FBVyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUM7dUJBQzlDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDekQsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDOUcsQ0FBQzs7QUF2SHNCLHdCQUFXLEdBQUcsSUFBSSxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUNwRCwwQkFBYSxHQUFHLEtBQUssQ0FBQztBQUN0Qiw2QkFBZ0IsR0FBRyx3Q0FBd0MsQ0FBQztBQUVyRSwwQkFBYSxHQUFHLG9CQUFvQixDQUFDO0FBQ3JDLHdCQUFXLEdBQUcsUUFBUSxDQUFDO3dFQU4xQixZQUFZO2tFQUFaLFlBQVksV0FBWixZQUFZO3VGQUFaLFlBQVk7Y0FEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIE5hdmlnYXRpb25FbmQsIFJlc29sdmUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3NGcm9tRXhpc3QgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBYnN0cmFjdEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2FwcC5jb25maWcnO1xuaW1wb3J0IHsgQ2FzZVZpZXcsIERyYWZ0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IERyYWZ0U2VydmljZSwgTmF2aWdhdGlvbk9yaWdpbiwgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbk5vdGlmaWVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdmlnYXRpb24vbmF2aWdhdGlvbi1ub3RpZmllci5zZXJ2aWNlJztcbmltcG9ydCB7IENhc2VOb3RpZmllciB9IGZyb20gJy4uLy4uL2Nhc2UtZWRpdG9yJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhc2VSZXNvbHZlciBpbXBsZW1lbnRzIFJlc29sdmU8Q2FzZVZpZXc+IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBFVkVOVF9SRUdFWCA9IG5ldyBSZWdFeHAoJ1xcL3RyaWdnZXJcXC8uKj9cXC9zdWJtaXQkJyk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9JRCA9ICdjaWQnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENBU0VfQ1JFQVRFRF9NU0cgPSAnVGhlIGNhc2UgaGFzIGJlZW4gY3JlYXRlZCBzdWNjZXNzZnVsbHknO1xuXG4gIHB1YmxpYyBzdGF0aWMgZGVmYXVsdFdBUGFnZSA9ICcvd29yay9teS13b3JrL2xpc3QnO1xuICBwdWJsaWMgc3RhdGljIGRlZmF1bHRQYWdlID0gJy9jYXNlcyc7XG4gIC8vIHdlIG5lZWQgdG8gcnVuIHRoZSBDYXNlUmVzb2x2ZXIgb24gZXZlcnkgY2hpbGQgcm91dGUgb2YgJ2Nhc2UvOmppZC86Y3RpZC86Y2lkJ1xuICAvLyB0aGlzIGlzIGFjaGlldmVkIHdpdGggcnVuR3VhcmRzQW5kUmVzb2x2ZXJzOiAnYWx3YXlzJyBjb25maWd1cmF0aW9uXG4gIC8vIHdlIGNhY2hlIHRoZSBjYXNlIHZpZXcgdG8gYXZvaWQgcmV0cmlldmluZyBpdCBmb3IgZWFjaCBjaGlsZCByb3V0ZVxuICBwdWJsaWMgcHJldmlvdXNVcmw6IHN0cmluZztcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjYXNlTm90aWZpZXI6IENhc2VOb3RpZmllcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBkcmFmdFNlcnZpY2U6IERyYWZ0U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBuYXZpZ2F0aW9uTm90aWZpZXJTZXJ2aWNlOiBOYXZpZ2F0aW9uTm90aWZpZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIHNlc3Npb25TdG9yYWdlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwQ29uZmlnOiBBYnN0cmFjdEFwcENvbmZpZykge1xuICAgIHJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKSA9PiB7XG4gICAgICAgIHRoaXMucHJldmlvdXNVcmwgPSBldmVudC51cmw7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZXNvbHZlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogUHJvbWlzZTxDYXNlVmlldz4ge1xuICAgIGNvbnN0IGNpZCA9IHJvdXRlLnBhcmFtTWFwLmdldChDYXNlUmVzb2x2ZXIuUEFSQU1fQ0FTRV9JRCk7XG5cbiAgICBpZiAoIWNpZCkge1xuICAgICAgY29uc29sZS5pbmZvKCdObyBjYXNlIElEIGF2YWlsYWJsZSBpbiB0aGUgcm91dGUuIFdpbGwgbmF2aWdhdGUgdG8gY2FzZSBsaXN0LicpO1xuICAgICAgLy8gd2hlbiByZWRpcmVjdGVkIHRvIGNhc2UgdmlldyBhZnRlciBhIGNhc2UgY3JlYXRlZCwgYW5kIHRoZSB1c2VyIGhhcyBubyBSRUFEIGFjY2VzcyxcbiAgICAgIC8vIHRoZSBwb3N0IHJldHVybnMgbm8gaWRcbiAgICAgIHRoaXMubmF2aWdhdGVUb0Nhc2VMaXN0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmlzUm9vdENhc2VWaWV3Um91dGUocm91dGUpID8gdGhpcy5nZXRBbmRDYWNoZUNhc2VWaWV3KGNpZClcbiAgICAgICAgOiB0aGlzLmNhc2VOb3RpZmllci5jYWNoZWRDYXNlVmlldyA/IFByb21pc2UucmVzb2x2ZSh0aGlzLmNhc2VOb3RpZmllci5jYWNoZWRDYXNlVmlldylcbiAgICAgICAgOiB0aGlzLmdldEFuZENhY2hlQ2FzZVZpZXcoY2lkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG5hdmlnYXRlVG9DYXNlTGlzdCgpIHtcbiAgICB0aGlzLm5hdmlnYXRpb25Ob3RpZmllclNlcnZpY2UuYW5ub3VuY2VOYXZpZ2F0aW9uKHthY3Rpb246IE5hdmlnYXRpb25PcmlnaW4uTk9fUkVBRF9BQ0NFU1NfUkVESVJFQ1RJT059KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNSb290Q2FzZVZpZXdSb3V0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkge1xuICAgIC8vIGlzIHJvdXRlIGNhc2UvOmppZC86Y3RpZC86Y2lkXG4gICAgcmV0dXJuICgoIXJvdXRlLmZpcnN0Q2hpbGQgfHwgIXJvdXRlLmZpcnN0Q2hpbGQudXJsLmxlbmd0aCkgJiYgIXRoaXMuaXNUYWJWaWV3Um91dGUocm91dGUpKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNUYWJWaWV3Um91dGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpIHtcbiAgICAvLyBpcyByb3V0ZSBjYXNlLzpqaWQvOmN0aWQvOmNpZCNmcmFnbWVudFxuICAgIHJldHVybiByb3V0ZS5maXJzdENoaWxkICYmIHJvdXRlLmZpcnN0Q2hpbGQuZnJhZ21lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldEFuZENhY2hlQ2FzZVZpZXcoY2lkKTogUHJvbWlzZTxDYXNlVmlldz4ge1xuICAgIGNvbnNvbGUuaW5mbygnZ2V0QW5kQ2FjaGVDYXNlVmlldyBzdGFydGVkLicpO1xuICAgIGlmICh0aGlzLmNhc2VOb3RpZmllci5jYWNoZWRDYXNlVmlldyAmJiB0aGlzLmNhc2VOb3RpZmllci5jYWNoZWRDYXNlVmlldy5jYXNlX2lkICYmIHRoaXMuY2FzZU5vdGlmaWVyLmNhY2hlZENhc2VWaWV3LmNhc2VfaWQgPT09IGNpZCkge1xuICAgICAgdGhpcy5jYXNlTm90aWZpZXIuYW5ub3VuY2VDYXNlKHRoaXMuY2FzZU5vdGlmaWVyLmNhY2hlZENhc2VWaWV3KTtcbiAgICAgIGNvbnNvbGUuaW5mbygnZ2V0QW5kQ2FjaGVDYXNlVmlldyAtIFBhdGggQS4nKTtcbiAgICAgIHJldHVybiBvZih0aGlzLmNhc2VOb3RpZmllci5jYWNoZWRDYXNlVmlldykudG9Qcm9taXNlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChEcmFmdC5pc0RyYWZ0KGNpZCkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QW5kQ2FjaGVEcmFmdChjaWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuaW5mbygnZ2V0QW5kQ2FjaGVDYXNlVmlldyAtIFBhdGggQi4nKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FzZU5vdGlmaWVyLmZldGNoQW5kUmVmcmVzaChjaWQpXG4gICAgICAgICAgLnBpcGUoY2F0Y2hFcnJvcihlcnJvciA9PiB0aGlzLnByb2Nlc3NFcnJvckluQ2FzZUZldGNoKGVycm9yLCBjaWQpKSlcbiAgICAgICAgICAudG9Qcm9taXNlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbmRDYWNoZURyYWZ0KGNpZCk6IFByb21pc2U8Q2FzZVZpZXc+IHtcbiAgICAgIHJldHVybiB0aGlzLmRyYWZ0U2VydmljZVxuICAgICAgLmdldERyYWZ0KGNpZClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoY2FzZVZpZXcgPT4ge1xuICAgICAgICAgIHRoaXMuY2FzZU5vdGlmaWVyLmNhY2hlZENhc2VWaWV3ID0gcGxhaW5Ub0NsYXNzRnJvbUV4aXN0KG5ldyBDYXNlVmlldygpLCBjYXNlVmlldyk7XG4gICAgICAgICAgdGhpcy5jYXNlTm90aWZpZXIuYW5ub3VuY2VDYXNlKHRoaXMuY2FzZU5vdGlmaWVyLmNhY2hlZENhc2VWaWV3KTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jYXNlTm90aWZpZXIuY2FjaGVkQ2FzZVZpZXc7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHRoaXMucHJvY2Vzc0Vycm9ySW5DYXNlRmV0Y2goZXJyb3IsIGNpZCkpXG4gICAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzRXJyb3JJbkNhc2VGZXRjaChlcnJvcjogYW55LCBjYXNlUmVmZXJlbmNlOiBzdHJpbmcpIHtcbiAgICBjb25zb2xlLmVycm9yKCchISEgcHJvY2Vzc0Vycm9ySW5DYXNlRmV0Y2ggISEhJyk7XG4gICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgLy8gVE9ETyBTaG91bGQgYmUgbG9nZ2VkIHRvIHJlbW90ZSBsb2dnaW5nIGluZnJhc3RydWN0dXJlXG4gICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAwKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9zZWFyY2gvbm9yZXN1bHRzJ10pO1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cbiAgICBpZiAoQ2FzZVJlc29sdmVyLkVWRU5UX1JFR0VYLnRlc3QodGhpcy5wcmV2aW91c1VybCkgJiYgZXJyb3Iuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2xpc3QvY2FzZSddKTtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG4gICAgLy8gRXJyb3IgNDAzIGFuZCBlbmFibGUtcmVzdHJpY3RlZC1jYXNlLWFjY2VzcyBMYXVuY2ggRGFya2x5IGZsYWcgaXMgZW5hYmxlZCwgbmF2aWdhdGUgdG8gcmVzdHJpY3RlZCBjYXNlIGFjY2VzcyBwYWdlXG4gICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAzICYmIHRoaXMuYXBwQ29uZmlnLmdldEVuYWJsZVJlc3RyaWN0ZWRDYXNlQWNjZXNzQ29uZmlnKCkpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgL2Nhc2VzL3Jlc3RyaWN0ZWQtY2FzZS1hY2Nlc3MvJHtjYXNlUmVmZXJlbmNlfWBdKTtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG4gICAgaWYgKGVycm9yLnN0YXR1cyAhPT0gNDAxKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9lcnJvciddKTtcbiAgICB9XG4gICAgdGhpcy5nb1RvRGVmYXVsdFBhZ2UoKTtcbiAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gIH1cblxuICAvLyBhcyBkaXNjdXNzZWQgZm9yIEVVSS01NDU2LCBuZWVkIGZ1bmN0aW9uYWxpdHkgdG8gZ28gdG8gZGVmYXVsdCBwYWdlXG4gIHByaXZhdGUgZ29Ub0RlZmF1bHRQYWdlKCk6IHZvaWQge1xuICAgIGNvbnNvbGUuaW5mbygnR29pbmcgdG8gZGVmYXVsdCBwYWdlIScpO1xuICAgIGNvbnN0IHVzZXJEZXRhaWxzID0gSlNPTi5wYXJzZSh0aGlzLnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3VzZXJEZXRhaWxzJykpO1xuICAgIHVzZXJEZXRhaWxzICYmIHVzZXJEZXRhaWxzLnJvbGVzXG4gICAgICAgICYmICF1c2VyRGV0YWlscy5yb2xlcy5pbmNsdWRlcygncHVpLWNhc2UtbWFuYWdlcicpXG4gICAgICAgICYmXG4gICAgICAgICh1c2VyRGV0YWlscy5yb2xlcy5pbmNsdWRlcygnY2FzZXdvcmtlci1pYS1pYWNqdWRnZScpXG4gICAgICAgICAgfHwgdXNlckRldGFpbHMucm9sZXMuaW5jbHVkZXMoJ2Nhc2V3b3JrZXItaWEtY2FzZW9mZmljZXInKVxuICAgICAgICAgIHx8IHVzZXJEZXRhaWxzLnJvbGVzLmluY2x1ZGVzKCdjYXNld29ya2VyLWlhLWFkbW9mZmljZXInKVxuICAgICAgICAgIHx8IHVzZXJEZXRhaWxzLnJvbGVzLmluY2x1ZGVzKCdjYXNld29ya2VyLWNpdmlsJylcbiAgICAgICAgICB8fCB1c2VyRGV0YWlscy5yb2xlcy5pbmNsdWRlcygnY2FzZXdvcmtlci1wcml2YXRlbGF3JykpXG4gICAgICAgID8gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW0Nhc2VSZXNvbHZlci5kZWZhdWx0V0FQYWdlXSkgOiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbQ2FzZVJlc29sdmVyLmRlZmF1bHRQYWdlXSk7XG4gIH1cbn1cbiJdfQ==
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9zZXJ2aWNlcy9jYXNlLnJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUEwQixhQUFhLEVBQVcsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7O0FBR2pELE1BQU0sT0FBTyxZQUFZO0lBV3ZCLFlBQW9CLFlBQTBCLEVBQzFCLFlBQTBCLEVBQzFCLHlCQUFvRCxFQUNwRCxNQUFjLEVBQ2QsY0FBcUMsRUFDNUIsU0FBNEI7UUFMckMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsOEJBQXlCLEdBQXpCLHlCQUF5QixD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Q0FBQztZQUN6RCxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUM5RyxDQUFDOztBQXBIc0Isd0JBQVcsR0FBRyxJQUFJLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQ3BELDBCQUFhLEdBQUcsS0FBSyxDQUFDO0FBQ3RCLDZCQUFnQixHQUFHLHdDQUF3QyxDQUFDO0FBRXJFLDBCQUFhLEdBQUcsb0JBQW9CLENBQUM7QUFDckMsd0JBQVcsR0FBRyxRQUFRLENBQUM7d0VBTjFCLFlBQVk7a0VBQVosWUFBWSxXQUFaLFlBQVk7dUZBQVosWUFBWTtjQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgTmF2aWdhdGlvbkVuZCwgUmVzb2x2ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHBsYWluVG9DbGFzc0Zyb21FeGlzdCB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBDYXNlVmlldywgRHJhZnQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRHJhZnRTZXJ2aWNlLCBOYXZpZ2F0aW9uT3JpZ2luLCBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uTm90aWZpZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLW5vdGlmaWVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyIH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3InO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2FzZVJlc29sdmVyIGltcGxlbWVudHMgUmVzb2x2ZTxDYXNlVmlldz4ge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEVWRU5UX1JFR0VYID0gbmV3IFJlZ0V4cCgnXFwvdHJpZ2dlclxcLy4qP1xcL3N1Ym1pdCQnKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQQVJBTV9DQVNFX0lEID0gJ2NpZCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ0FTRV9DUkVBVEVEX01TRyA9ICdUaGUgY2FzZSBoYXMgYmVlbiBjcmVhdGVkIHN1Y2Nlc3NmdWxseSc7XG5cbiAgcHVibGljIHN0YXRpYyBkZWZhdWx0V0FQYWdlID0gJy93b3JrL215LXdvcmsvbGlzdCc7XG4gIHB1YmxpYyBzdGF0aWMgZGVmYXVsdFBhZ2UgPSAnL2Nhc2VzJztcbiAgLy8gd2UgbmVlZCB0byBydW4gdGhlIENhc2VSZXNvbHZlciBvbiBldmVyeSBjaGlsZCByb3V0ZSBvZiAnY2FzZS86amlkLzpjdGlkLzpjaWQnXG4gIC8vIHRoaXMgaXMgYWNoaWV2ZWQgd2l0aCBydW5HdWFyZHNBbmRSZXNvbHZlcnM6ICdhbHdheXMnIGNvbmZpZ3VyYXRpb25cbiAgLy8gd2UgY2FjaGUgdGhlIGNhc2UgdmlldyB0byBhdm9pZCByZXRyaWV2aW5nIGl0IGZvciBlYWNoIGNoaWxkIHJvdXRlXG4gIHB1YmxpYyBwcmV2aW91c1VybDogc3RyaW5nO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNhc2VOb3RpZmllcjogQ2FzZU5vdGlmaWVyLFxuICAgICAgICAgICAgICBwcml2YXRlIGRyYWZ0U2VydmljZTogRHJhZnRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIG5hdmlnYXRpb25Ob3RpZmllclNlcnZpY2U6IE5hdmlnYXRpb25Ob3RpZmllclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgc2Vzc2lvblN0b3JhZ2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnKSB7XG4gICAgcm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE5hdmlnYXRpb25FbmQpID0+IHtcbiAgICAgICAgdGhpcy5wcmV2aW91c1VybCA9IGV2ZW50LnVybDtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlc29sdmUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBQcm9taXNlPENhc2VWaWV3PiB7XG4gICAgY29uc3QgY2lkID0gcm91dGUucGFyYW1NYXAuZ2V0KENhc2VSZXNvbHZlci5QQVJBTV9DQVNFX0lEKTtcblxuICAgIGlmICghY2lkKSB7XG4gICAgICBjb25zb2xlLmluZm8oJ05vIGNhc2UgSUQgYXZhaWxhYmxlIGluIHRoZSByb3V0ZS4gV2lsbCBuYXZpZ2F0ZSB0byBjYXNlIGxpc3QuJyk7XG4gICAgICAvLyB3aGVuIHJlZGlyZWN0ZWQgdG8gY2FzZSB2aWV3IGFmdGVyIGEgY2FzZSBjcmVhdGVkLCBhbmQgdGhlIHVzZXIgaGFzIG5vIFJFQUQgYWNjZXNzLFxuICAgICAgLy8gdGhlIHBvc3QgcmV0dXJucyBubyBpZFxuICAgICAgdGhpcy5uYXZpZ2F0ZVRvQ2FzZUxpc3QoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuaXNSb290Q2FzZVZpZXdSb3V0ZShyb3V0ZSkgPyB0aGlzLmdldEFuZENhY2hlQ2FzZVZpZXcoY2lkKVxuICAgICAgICA6IHRoaXMuY2FzZU5vdGlmaWVyLmNhY2hlZENhc2VWaWV3ID8gUHJvbWlzZS5yZXNvbHZlKHRoaXMuY2FzZU5vdGlmaWVyLmNhY2hlZENhc2VWaWV3KVxuICAgICAgICA6IHRoaXMuZ2V0QW5kQ2FjaGVDYXNlVmlldyhjaWQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbmF2aWdhdGVUb0Nhc2VMaXN0KCkge1xuICAgIHRoaXMubmF2aWdhdGlvbk5vdGlmaWVyU2VydmljZS5hbm5vdW5jZU5hdmlnYXRpb24oe2FjdGlvbjogTmF2aWdhdGlvbk9yaWdpbi5OT19SRUFEX0FDQ0VTU19SRURJUkVDVElPTn0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1Jvb3RDYXNlVmlld1JvdXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KSB7XG4gICAgLy8gaXMgcm91dGUgY2FzZS86amlkLzpjdGlkLzpjaWRcbiAgICByZXR1cm4gKCghcm91dGUuZmlyc3RDaGlsZCB8fCAhcm91dGUuZmlyc3RDaGlsZC51cmwubGVuZ3RoKSAmJiAhdGhpcy5pc1RhYlZpZXdSb3V0ZShyb3V0ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1RhYlZpZXdSb3V0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkge1xuICAgIC8vIGlzIHJvdXRlIGNhc2UvOmppZC86Y3RpZC86Y2lkI2ZyYWdtZW50XG4gICAgcmV0dXJuIHJvdXRlLmZpcnN0Q2hpbGQgJiYgcm91dGUuZmlyc3RDaGlsZC5mcmFnbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QW5kQ2FjaGVDYXNlVmlldyhjaWQpOiBQcm9taXNlPENhc2VWaWV3PiB7XG4gICAgaWYgKHRoaXMuY2FzZU5vdGlmaWVyLmNhY2hlZENhc2VWaWV3ICYmIHRoaXMuY2FzZU5vdGlmaWVyLmNhY2hlZENhc2VWaWV3LmNhc2VfaWQgJiYgdGhpcy5jYXNlTm90aWZpZXIuY2FjaGVkQ2FzZVZpZXcuY2FzZV9pZCA9PT0gY2lkKSB7XG4gICAgICB0aGlzLmNhc2VOb3RpZmllci5hbm5vdW5jZUNhc2UodGhpcy5jYXNlTm90aWZpZXIuY2FjaGVkQ2FzZVZpZXcpO1xuICAgICAgcmV0dXJuIG9mKHRoaXMuY2FzZU5vdGlmaWVyLmNhY2hlZENhc2VWaWV3KS50b1Byb21pc2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKERyYWZ0LmlzRHJhZnQoY2lkKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRBbmRDYWNoZURyYWZ0KGNpZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5jYXNlTm90aWZpZXIuZmV0Y2hBbmRSZWZyZXNoKGNpZClcbiAgICAgICAgICAucGlwZShjYXRjaEVycm9yKGVycm9yID0+IHRoaXMucHJvY2Vzc0Vycm9ySW5DYXNlRmV0Y2goZXJyb3IsIGNpZCkpKVxuICAgICAgICAgIC50b1Byb21pc2UoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEFuZENhY2hlRHJhZnQoY2lkKTogUHJvbWlzZTxDYXNlVmlldz4ge1xuICAgICAgcmV0dXJuIHRoaXMuZHJhZnRTZXJ2aWNlXG4gICAgICAuZ2V0RHJhZnQoY2lkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChjYXNlVmlldyA9PiB7XG4gICAgICAgICAgdGhpcy5jYXNlTm90aWZpZXIuY2FjaGVkQ2FzZVZpZXcgPSBwbGFpblRvQ2xhc3NGcm9tRXhpc3QobmV3IENhc2VWaWV3KCksIGNhc2VWaWV3KTtcbiAgICAgICAgICB0aGlzLmNhc2VOb3RpZmllci5hbm5vdW5jZUNhc2UodGhpcy5jYXNlTm90aWZpZXIuY2FjaGVkQ2FzZVZpZXcpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmNhc2VOb3RpZmllci5jYWNoZWRDYXNlVmlldztcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4gdGhpcy5wcm9jZXNzRXJyb3JJbkNhc2VGZXRjaChlcnJvciwgY2lkKSlcbiAgICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NFcnJvckluQ2FzZUZldGNoKGVycm9yOiBhbnksIGNhc2VSZWZlcmVuY2U6IHN0cmluZykge1xuICAgIGNvbnNvbGUuZXJyb3IoJyEhISBwcm9jZXNzRXJyb3JJbkNhc2VGZXRjaCAhISEnKTtcbiAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAvLyBUT0RPIFNob3VsZCBiZSBsb2dnZWQgdG8gcmVtb3RlIGxvZ2dpbmcgaW5mcmFzdHJ1Y3R1cmVcbiAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDApIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3NlYXJjaC9ub3Jlc3VsdHMnXSk7XG4gICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxuICAgIGlmIChDYXNlUmVzb2x2ZXIuRVZFTlRfUkVHRVgudGVzdCh0aGlzLnByZXZpb3VzVXJsKSAmJiBlcnJvci5zdGF0dXMgPT09IDQwNCkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbGlzdC9jYXNlJ10pO1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cbiAgICAvLyBFcnJvciA0MDMgYW5kIGVuYWJsZS1yZXN0cmljdGVkLWNhc2UtYWNjZXNzIExhdW5jaCBEYXJrbHkgZmxhZyBpcyBlbmFibGVkLCBuYXZpZ2F0ZSB0byByZXN0cmljdGVkIGNhc2UgYWNjZXNzIHBhZ2VcbiAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDMgJiYgdGhpcy5hcHBDb25maWcuZ2V0RW5hYmxlUmVzdHJpY3RlZENhc2VBY2Nlc3NDb25maWcoKSkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2AvY2FzZXMvcmVzdHJpY3RlZC1jYXNlLWFjY2Vzcy8ke2Nhc2VSZWZlcmVuY2V9YF0pO1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cbiAgICBpZiAoZXJyb3Iuc3RhdHVzICE9PSA0MDEpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2Vycm9yJ10pO1xuICAgIH1cbiAgICB0aGlzLmdvVG9EZWZhdWx0UGFnZSgpO1xuICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgfVxuXG4gIC8vIGFzIGRpc2N1c3NlZCBmb3IgRVVJLTU0NTYsIG5lZWQgZnVuY3Rpb25hbGl0eSB0byBnbyB0byBkZWZhdWx0IHBhZ2VcbiAgcHJpdmF0ZSBnb1RvRGVmYXVsdFBhZ2UoKTogdm9pZCB7XG4gICAgY29uc29sZS5pbmZvKCdHb2luZyB0byBkZWZhdWx0IHBhZ2UhJyk7XG4gICAgY29uc3QgdXNlckRldGFpbHMgPSBKU09OLnBhcnNlKHRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndXNlckRldGFpbHMnKSk7XG4gICAgdXNlckRldGFpbHMgJiYgdXNlckRldGFpbHMucm9sZXNcbiAgICAgICAgJiYgIXVzZXJEZXRhaWxzLnJvbGVzLmluY2x1ZGVzKCdwdWktY2FzZS1tYW5hZ2VyJylcbiAgICAgICAgJiZcbiAgICAgICAgKHVzZXJEZXRhaWxzLnJvbGVzLmluY2x1ZGVzKCdjYXNld29ya2VyLWlhLWlhY2p1ZGdlJylcbiAgICAgICAgICB8fCB1c2VyRGV0YWlscy5yb2xlcy5pbmNsdWRlcygnY2FzZXdvcmtlci1pYS1jYXNlb2ZmaWNlcicpXG4gICAgICAgICAgfHwgdXNlckRldGFpbHMucm9sZXMuaW5jbHVkZXMoJ2Nhc2V3b3JrZXItaWEtYWRtb2ZmaWNlcicpXG4gICAgICAgICAgfHwgdXNlckRldGFpbHMucm9sZXMuaW5jbHVkZXMoJ2Nhc2V3b3JrZXItY2l2aWwnKVxuICAgICAgICAgIHx8IHVzZXJEZXRhaWxzLnJvbGVzLmluY2x1ZGVzKCdjYXNld29ya2VyLXByaXZhdGVsYXcnKSlcbiAgICAgICAgPyB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbQ2FzZVJlc29sdmVyLmRlZmF1bHRXQVBhZ2VdKSA6IHRoaXMucm91dGVyLm5hdmlnYXRlKFtDYXNlUmVzb2x2ZXIuZGVmYXVsdFBhZ2VdKTtcbiAgfVxufVxuIl19
@@ -18,16 +18,12 @@ export class EventStartGuard {
18
18
  const caseId = route.params['cid'];
19
19
  const eventId = route.params['eid'];
20
20
  const taskId = route.queryParams['tid'];
21
- // TODO: NavigationExtras should be used once Angular upgrade changes have been incorporated
22
- const isComplete = route.queryParams['isComplete'];
23
21
  const caseInfoStr = this.sessionStorageService.getItem('caseInfo');
24
22
  if (caseInfoStr) {
25
23
  const caseInfo = JSON.parse(caseInfoStr);
26
24
  if (caseInfo && caseInfo.cid === caseId) {
27
- if (isComplete) {
28
- return of(true);
29
- }
30
- return this.workAllocationService.getTasksByCaseIdAndEventId(eventId, caseId, caseInfo.caseType, caseInfo.jurisdiction).pipe(switchMap((payload) => this.checkForTasks(payload, caseId, eventId, taskId)));
25
+ return this.workAllocationService.getTasksByCaseIdAndEventId(eventId, caseId, caseInfo.caseType, caseInfo.jurisdiction)
26
+ .pipe(switchMap((payload) => this.checkForTasks(payload, caseId, eventId, taskId)));
31
27
  }
32
28
  }
33
29
  return of(false);
@@ -44,7 +40,7 @@ export class EventStartGuard {
44
40
  // Get number of tasks assigned to user
45
41
  const userInfoStr = this.sessionStorageService.getItem('userDetails');
46
42
  const userInfo = JSON.parse(userInfoStr);
47
- const tasksAssignedToUser = payload.tasks.filter(x => x.task_state !== 'unassigned' && x.assignee === userInfo.id || x.assignee === userInfo.uid);
43
+ const tasksAssignedToUser = payload.tasks.filter(x => x.task_state !== 'unassigned' && (x.assignee === userInfo.id || x.assignee === userInfo.uid));
48
44
  if (tasksAssignedToUser.length === 0) {
49
45
  // if no tasks assigned to user carry on
50
46
  return true;
@@ -63,13 +59,23 @@ export class EventStartGuard {
63
59
  task = tasksAssignedToUser[0];
64
60
  }
65
61
  // if one task assigned to user, allow user to complete event
66
- this.sessionStorageService.setItem('taskToComplete', JSON.stringify(task));
62
+ this.sessionStorageService.setItem(EventStartGuard.TASK_TO_COMPLETE, JSON.stringify(task));
67
63
  return true;
68
64
  }
69
65
  }
66
+ removeTaskFromSessionStorage() {
67
+ this.sessionStorageService.removeItem(EventStartGuard.TASK_TO_COMPLETE);
68
+ }
70
69
  checkForTasks(payload, caseId, eventId, taskId) {
71
- // Clear taskToComplete from session as we will be starting the process for new task
72
- this.sessionStorageService.removeItem('taskToComplete');
70
+ if (taskId && payload?.tasks?.length > 0) {
71
+ const task = payload.tasks.find((t) => t.id == taskId);
72
+ if (task) {
73
+ this.sessionStorageService.setItem(EventStartGuard.TASK_TO_COMPLETE, JSON.stringify(task));
74
+ }
75
+ else {
76
+ this.removeTaskFromSessionStorage();
77
+ }
78
+ }
73
79
  if (payload.task_required_for_event) {
74
80
  // There are some issues in EventTriggerResolver/CaseService and/or CCD for some events
75
81
  // which triggers the CanActivate guard again.
@@ -86,9 +92,10 @@ export class EventStartGuard {
86
92
  }
87
93
  }
88
94
  }
95
+ EventStartGuard.TASK_TO_COMPLETE = 'taskToComplete';
89
96
  EventStartGuard.ɵfac = function EventStartGuard_Factory(t) { return new (t || EventStartGuard)(i0.ɵɵinject(i1.WorkAllocationService), i0.ɵɵinject(i2.Router), i0.ɵɵinject(i3.SessionStorageService)); };
90
97
  EventStartGuard.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: EventStartGuard, factory: EventStartGuard.ɵfac });
91
98
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventStartGuard, [{
92
99
  type: Injectable
93
100
  }], function () { return [{ type: i1.WorkAllocationService }, { type: i2.Router }, { type: i3.SessionStorageService }]; }, null); })();
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtc3RhcnQuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvZXZlbnQtc3RhcnQvZXZlbnQtZ3VhcmQvZXZlbnQtc3RhcnQuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQXVDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQUcxRCxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUE2QixxQkFBNEMsRUFDdEQsTUFBYyxFQUNkLHFCQUE0QztRQUZsQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQ3RELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBQy9ELENBQUM7SUFFTSxXQUFXLENBQUMsS0FBNkI7UUFDOUMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFeEMsNEZBQTRGO1FBQzVGLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENB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QixDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hELElBQUksT0FBTyxDQUFDLHVCQUF1QixFQUFFO1lBQ25DLHVGQUF1RjtZQUN2Riw4Q0FBOEM7WUFDOUMsb0dBQW9HO1lBQ3BHLCtDQUErQztZQUMvQyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFO2dCQUM3RSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNqQjtZQUNELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsdUJBQXVCLE1BQU0sY0FBYyxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNsSCxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsQjthQUFNO1lBQ0wsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUN0RTtJQUNILENBQUM7OzhFQWhGVSxlQUFlO3FFQUFmLGVBQWUsV0FBZixlQUFlO3VGQUFmLGVBQWU7Y0FEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIENhbkFjdGl2YXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRhc2tQYXlsb2FkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL3dvcmstYWxsb2NhdGlvbi9UYXNrUGF5bG9hZCc7XG5pbXBvcnQgeyBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBXb3JrQWxsb2NhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jYXNlLWVkaXRvcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFdmVudFN0YXJ0R3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgd29ya0FsbG9jYXRpb25TZXJ2aWNlOiBXb3JrQWxsb2NhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlKSB7XG4gIH1cblxuICBwdWJsaWMgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBjYXNlSWQgPSByb3V0ZS5wYXJhbXNbJ2NpZCddO1xuICAgIGNvbnN0IGV2ZW50SWQgPSByb3V0ZS5wYXJhbXNbJ2VpZCddO1xuICAgIGNvbnN0IHRhc2tJZCA9IHJvdXRlLnF1ZXJ5UGFyYW1zWyd0aWQnXTtcblxuICAgIC8vIFRPRE86IE5hdmlnYXRpb25FeHRyYXMgc2hvdWxkIGJlIHVzZWQgb25jZSBBbmd1bGFyIHVwZ3JhZGUgY2hhbmdlcyBoYXZlIGJlZW4gaW5jb3Jwb3JhdGVkXG4gICAgY29uc3QgaXNDb21wbGV0ZSA9IHJvdXRlLnF1ZXJ5UGFyYW1zWydpc0NvbXBsZXRlJ107XG4gICAgY29uc3QgY2FzZUluZm9TdHIgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCdjYXNlSW5mbycpO1xuICAgIGlmIChjYXNlSW5mb1N0cikge1xuICAgICAgY29uc3QgY2FzZUluZm8gPSBKU09OLnBhcnNlKGNhc2VJbmZvU3RyKTtcbiAgICAgIGlmIChjYXNlSW5mbyAmJiBjYXNlSW5mby5jaWQgPT09IGNhc2VJZCkge1xuICAgICAgICBpZiAoaXNDb21wbGV0ZSkge1xuICAgICAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy53b3JrQWxsb2NhdGlvblNlcnZpY2UuZ2V0VGFza3NCeUNhc2VJZEFuZEV2ZW50SWQoZXZlbnRJZCwgY2FzZUlkLCBjYXNlSW5mby5jYXNlVHlwZSwgY2FzZUluZm8uanVyaXNkaWN0aW9uKS5waXBlKFxuICAgICAgICAgIHN3aXRjaE1hcCgocGF5bG9hZDogVGFza1BheWxvYWQpID0+IHRoaXMuY2hlY2tGb3JUYXNrcyhwYXlsb2FkLCBjYXNlSWQsIGV2ZW50SWQsIHRhc2tJZCkpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvZihmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tUYXNrSW5FdmVudE5vdFJlcXVpcmVkKHBheWxvYWQ6IFRhc2tQYXlsb2FkLCBjYXNlSWQ6IHN0cmluZywgdGFza0lkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIXBheWxvYWQgfHwgIXBheWxvYWQudGFza3MpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjb25zdCB0YXNrTnVtYmVyID0gcGF5bG9hZC50YXNrcy5sZW5ndGg7XG4gICAgaWYgKHRhc2tOdW1iZXIgPT09IDApIHtcbiAgICAgIC8vIGlmIHRoZXJlIGFyZSBubyB0YXNrcyBqdXN0IGNhcnJ5IG9uXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgLy8gR2V0IG51bWJlciBvZiB0YXNrcyBhc3NpZ25lZCB0byB1c2VyXG4gICAgY29uc3QgdXNlckluZm9TdHIgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCd1c2VyRGV0YWlscycpO1xuICAgIGNvbnN0IHVzZXJJbmZvID0gSlNPTi5wYXJzZSh1c2VySW5mb1N0cik7XG4gICAgY29uc3QgdGFza3NBc3NpZ25lZFRvVXNlciA9IHBheWxvYWQudGFza3MuZmlsdGVyKHggPT5cbiAgICAgIHgudGFza19zdGF0ZSAhPT0gJ3VuYXNzaWduZWQnICYmIHguYXNzaWduZWUgPT09IHVzZXJJbmZvLmlkIHx8IHguYXNzaWduZWUgPT09IHVzZXJJbmZvLnVpZFxuICAgICk7XG5cbiAgICBpZiAodGFza3NBc3NpZ25lZFRvVXNlci5sZW5ndGggPT09IDApIHtcbiAgICAgIC8vIGlmIG5vIHRhc2tzIGFzc2lnbmVkIHRvIHVzZXIgY2Fycnkgb25cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSBpZiAodGFza3NBc3NpZ25lZFRvVXNlci5sZW5ndGggPiAxICYmICF0YXNrSWQpIHtcbiAgICAgIC8vIGlmIG1vcmUgdGhhbiBvbmUgdGFzayBhc3NpZ25lZCB0byB0aGUgdXNlciB0aGVuIGdpdmUgbXVsdGlwbGUgdGFza3MgZXJyb3JcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgL2Nhc2VzL2Nhc2UtZGV0YWlscy8ke2Nhc2VJZH0vbXVsdGlwbGUtdGFza3MtZXhpc3RgXSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCB0YXNrOiBhbnk7XG4gICAgICBpZiAodGFza0lkKSB7XG4gICAgICAgIHRhc2sgPSBwYXlsb2FkLnRhc2tzLmZpbmQoeCA9PiB4LmlkID09PSB0YXNrSWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGFzayA9IHRhc2tzQXNzaWduZWRUb1VzZXJbMF07XG4gICAgICB9XG4gICAgICAvLyBpZiBvbmUgdGFzayBhc3NpZ25lZCB0byB1c2VyLCBhbGxvdyB1c2VyIHRvIGNvbXBsZXRlIGV2ZW50XG4gICAgICB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5zZXRJdGVtKCd0YXNrVG9Db21wbGV0ZScsIEpTT04uc3RyaW5naWZ5KHRhc2spKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tGb3JUYXNrcyhwYXlsb2FkOiBUYXNrUGF5bG9hZCwgY2FzZUlkOiBzdHJpbmcsIGV2ZW50SWQ6IHN0cmluZywgdGFza0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAvLyBDbGVhciB0YXNrVG9Db21wbGV0ZSBmcm9tIHNlc3Npb24gYXMgd2Ugd2lsbCBiZSBzdGFydGluZyB0aGUgcHJvY2VzcyBmb3IgbmV3IHRhc2tcbiAgICB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKCd0YXNrVG9Db21wbGV0ZScpO1xuICAgIGlmIChwYXlsb2FkLnRhc2tfcmVxdWlyZWRfZm9yX2V2ZW50KSB7XG4gICAgICAvLyBUaGVyZSBhcmUgc29tZSBpc3N1ZXMgaW4gRXZlbnRUcmlnZ2VyUmVzb2x2ZXIvQ2FzZVNlcnZpY2UgYW5kL29yIENDRCBmb3Igc29tZSBldmVudHNcbiAgICAgIC8vIHdoaWNoIHRyaWdnZXJzIHRoZSBDYW5BY3RpdmF0ZSBndWFyZCBhZ2Fpbi5cbiAgICAgIC8vIElmIGV2ZW50IHN0YXJ0IGlzIGluaXRpYXRlZCBhZ2FpbiwgdGhlbiB3ZSBkbyBub3QgbmVlZCB0byBwZXJmb3JtIHN0YXRlIG1hY2hpbmUgcHJvY2Vzc2luZyBhZ2Fpbi5cbiAgICAgIC8vIGh0dHBzOi8vdG9vbHMuaG1jdHMubmV0L2ppcmEvYnJvd3NlL0VVSS01NDg5XG4gICAgICBpZiAodGhpcy5yb3V0ZXIgJiYgdGhpcy5yb3V0ZXIudXJsICYmIHRoaXMucm91dGVyLnVybC5pbmNsdWRlcygnZXZlbnQtc3RhcnQnKSkge1xuICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICB9XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC9jYXNlcy9jYXNlLWRldGFpbHMvJHtjYXNlSWR9L2V2ZW50LXN0YXJ0YF0sIHsgcXVlcnlQYXJhbXM6IHsgY2FzZUlkLCBldmVudElkLCB0YXNrSWQgfSB9KTtcbiAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBvZih0aGlzLmNoZWNrVGFza0luRXZlbnROb3RSZXF1aXJlZChwYXlsb2FkLCBjYXNlSWQsIHRhc2tJZCkpO1xuICAgIH1cbiAgfVxufVxuIl19
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtc3RhcnQuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvZXZlbnQtc3RhcnQvZXZlbnQtZ3VhcmQvZXZlbnQtc3RhcnQuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQXVDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQUcxRCxNQUFNLE9BQU8sZUFBZTtJQUcxQixZQUE2QixxQkFBNEMsRUFDdEQsTUFBYyxFQUNkLHFCQUE0QztRQUZsQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQ3RELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBQy9ELENBQUM7SUFFTSxXQUFXLENBQUMsS0FBNkI7UUFDOUMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFeEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRSxJQUFJLFdBQVcsRUFBRTtZQUNmLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDekMsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLEdBQUcsS0FBSyxNQUFNLEVBQUU7Z0JBQ3ZDLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLDBCQUEwQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDO3FCQUNwSCxJQUFJLENBQ0wsU0FBUyxDQUFDLENBQUMsT0FBb0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUMxRixDQUFDO2FBQ0g7U0FDRjtRQUNELE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFTSwyQkFBMkIsQ0FBQyxPQUFvQixFQUFFLE1BQWMsRUFBRSxNQUFjO1FBQ3JGLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQzlCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUN4QyxJQUFJLFVBQVUsS0FBSyxDQUFDLEVBQUU7WUFDcEIsc0NBQXNDO1lBQ3RDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCx1Q0FBdUM7UUFDdkMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0RSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDbkQsQ0FBQyxDQUFDLFVBQVUsS0FBSyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQzdGLENBQUM7UUFDRixJQUFJLG1CQUFtQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDcEMsd0NBQXdDO1lBQ3hDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7YUFBTSxJQUFJLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDcEQsNEVBQTRFO1lBQzVFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsdUJBQXVCLE1BQU0sdUJBQXVCLENBQUMsQ0FBQyxDQUFDO1lBQzdFLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7YUFBTTtZQUNMLElBQUksSUFBUyxDQUFDO1lBQ2QsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsSUFBSSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsQ0FBQzthQUNqRDtpQkFBTTtnQkFDTCxJQUFJLEdBQUcsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDL0I7WUFDRCw2REFBNkQ7WUFDN0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzNGLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBRU8sNEJBQTRCO1FBQ2xDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUNPLGFBQWEsQ0FBQyxPQUFvQixFQUFFLE1BQWMsRUFBRSxPQUFlLEVBQUUsTUFBYztRQUN6RixJQUFJLE1BQU0sSUFBSSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDeEMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksTUFBTSxDQUFDLENBQUM7WUFDdkQsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQzVGO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO2FBQ3JDO1NBQ0Y7UUFDRCxJQUFJLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRTtZQUNuQyx1RkFBdUY7WUFDdkYsOENBQThDO1lBQzlDLG9HQUFvRztZQUNwRywrQ0FBK0M7WUFDL0MsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDN0UsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDakI7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLHVCQUF1QixNQUFNLGNBQWMsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbEgsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbEI7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDdEU7SUFDSCxDQUFDOztBQXJGc0IsZ0NBQWdCLEdBQUcsZ0JBQWdCLENBQUM7OEVBRGhELGVBQWU7cUVBQWYsZUFBZSxXQUFmLGVBQWU7dUZBQWYsZUFBZTtjQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGFza1BheWxvYWQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vd29yay1hbGxvY2F0aW9uL1Rhc2tQYXlsb2FkJztcbmltcG9ydCB7IFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFdvcmtBbGxvY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2Nhc2UtZWRpdG9yJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV2ZW50U3RhcnRHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUQVNLX1RPX0NPTVBMRVRFID0gJ3Rhc2tUb0NvbXBsZXRlJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHdvcmtBbGxvY2F0aW9uU2VydmljZTogV29ya0FsbG9jYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSkge1xuICB9XG5cbiAgcHVibGljIGNhbkFjdGl2YXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgY2FzZUlkID0gcm91dGUucGFyYW1zWydjaWQnXTtcbiAgICBjb25zdCBldmVudElkID0gcm91dGUucGFyYW1zWydlaWQnXTtcbiAgICBjb25zdCB0YXNrSWQgPSByb3V0ZS5xdWVyeVBhcmFtc1sndGlkJ107XG5cbiAgICBjb25zdCBjYXNlSW5mb1N0ciA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ2Nhc2VJbmZvJyk7XG4gICAgaWYgKGNhc2VJbmZvU3RyKSB7XG4gICAgICBjb25zdCBjYXNlSW5mbyA9IEpTT04ucGFyc2UoY2FzZUluZm9TdHIpO1xuICAgICAgaWYgKGNhc2VJbmZvICYmIGNhc2VJbmZvLmNpZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLndvcmtBbGxvY2F0aW9uU2VydmljZS5nZXRUYXNrc0J5Q2FzZUlkQW5kRXZlbnRJZChldmVudElkLCBjYXNlSWQsIGNhc2VJbmZvLmNhc2VUeXBlLCBjYXNlSW5mby5qdXJpc2RpY3Rpb24pXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKChwYXlsb2FkOiBUYXNrUGF5bG9hZCkgPT4gdGhpcy5jaGVja0ZvclRhc2tzKHBheWxvYWQsIGNhc2VJZCwgZXZlbnRJZCwgdGFza0lkKSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGVja1Rhc2tJbkV2ZW50Tm90UmVxdWlyZWQocGF5bG9hZDogVGFza1BheWxvYWQsIGNhc2VJZDogc3RyaW5nLCB0YXNrSWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghcGF5bG9hZCB8fCAhcGF5bG9hZC50YXNrcykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IHRhc2tOdW1iZXIgPSBwYXlsb2FkLnRhc2tzLmxlbmd0aDtcbiAgICBpZiAodGFza051bWJlciA9PT0gMCkge1xuICAgICAgLy8gaWYgdGhlcmUgYXJlIG5vIHRhc2tzIGp1c3QgY2Fycnkgb25cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvLyBHZXQgbnVtYmVyIG9mIHRhc2tzIGFzc2lnbmVkIHRvIHVzZXJcbiAgICBjb25zdCB1c2VySW5mb1N0ciA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3VzZXJEZXRhaWxzJyk7XG4gICAgY29uc3QgdXNlckluZm8gPSBKU09OLnBhcnNlKHVzZXJJbmZvU3RyKTtcbiAgICBjb25zdCB0YXNrc0Fzc2lnbmVkVG9Vc2VyID0gcGF5bG9hZC50YXNrcy5maWx0ZXIoeCA9PlxuICAgICAgeC50YXNrX3N0YXRlICE9PSAndW5hc3NpZ25lZCcgJiYgKHguYXNzaWduZWUgPT09IHVzZXJJbmZvLmlkIHx8IHguYXNzaWduZWUgPT09IHVzZXJJbmZvLnVpZClcbiAgICApO1xuICAgIGlmICh0YXNrc0Fzc2lnbmVkVG9Vc2VyLmxlbmd0aCA9PT0gMCkge1xuICAgICAgLy8gaWYgbm8gdGFza3MgYXNzaWduZWQgdG8gdXNlciBjYXJyeSBvblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICh0YXNrc0Fzc2lnbmVkVG9Vc2VyLmxlbmd0aCA+IDEgJiYgIXRhc2tJZCkge1xuICAgICAgLy8gaWYgbW9yZSB0aGFuIG9uZSB0YXNrIGFzc2lnbmVkIHRvIHRoZSB1c2VyIHRoZW4gZ2l2ZSBtdWx0aXBsZSB0YXNrcyBlcnJvclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2AvY2FzZXMvY2FzZS1kZXRhaWxzLyR7Y2FzZUlkfS9tdWx0aXBsZS10YXNrcy1leGlzdGBdKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHRhc2s6IGFueTtcbiAgICAgIGlmICh0YXNrSWQpIHtcbiAgICAgICAgdGFzayA9IHBheWxvYWQudGFza3MuZmluZCh4ID0+IHguaWQgPT09IHRhc2tJZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0YXNrID0gdGFza3NBc3NpZ25lZFRvVXNlclswXTtcbiAgICAgIH1cbiAgICAgIC8vIGlmIG9uZSB0YXNrIGFzc2lnbmVkIHRvIHVzZXIsIGFsbG93IHVzZXIgdG8gY29tcGxldGUgZXZlbnRcbiAgICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oRXZlbnRTdGFydEd1YXJkLlRBU0tfVE9fQ09NUExFVEUsIEpTT04uc3RyaW5naWZ5KHRhc2spKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlVGFza0Zyb21TZXNzaW9uU3RvcmFnZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKEV2ZW50U3RhcnRHdWFyZC5UQVNLX1RPX0NPTVBMRVRFKTtcbiAgfVxuICBwcml2YXRlIGNoZWNrRm9yVGFza3MocGF5bG9hZDogVGFza1BheWxvYWQsIGNhc2VJZDogc3RyaW5nLCBldmVudElkOiBzdHJpbmcsIHRhc2tJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgaWYgKHRhc2tJZCAmJiBwYXlsb2FkPy50YXNrcz8ubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgdGFzayA9IHBheWxvYWQudGFza3MuZmluZCgodCkgPT4gdC5pZCA9PSB0YXNrSWQpO1xuICAgICAgaWYgKHRhc2spIHtcbiAgICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2Uuc2V0SXRlbShFdmVudFN0YXJ0R3VhcmQuVEFTS19UT19DT01QTEVURSwgSlNPTi5zdHJpbmdpZnkodGFzaykpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW1vdmVUYXNrRnJvbVNlc3Npb25TdG9yYWdlKCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwYXlsb2FkLnRhc2tfcmVxdWlyZWRfZm9yX2V2ZW50KSB7XG4gICAgICAvLyBUaGVyZSBhcmUgc29tZSBpc3N1ZXMgaW4gRXZlbnRUcmlnZ2VyUmVzb2x2ZXIvQ2FzZVNlcnZpY2UgYW5kL29yIENDRCBmb3Igc29tZSBldmVudHNcbiAgICAgIC8vIHdoaWNoIHRyaWdnZXJzIHRoZSBDYW5BY3RpdmF0ZSBndWFyZCBhZ2Fpbi5cbiAgICAgIC8vIElmIGV2ZW50IHN0YXJ0IGlzIGluaXRpYXRlZCBhZ2FpbiwgdGhlbiB3ZSBkbyBub3QgbmVlZCB0byBwZXJmb3JtIHN0YXRlIG1hY2hpbmUgcHJvY2Vzc2luZyBhZ2Fpbi5cbiAgICAgIC8vIGh0dHBzOi8vdG9vbHMuaG1jdHMubmV0L2ppcmEvYnJvd3NlL0VVSS01NDg5XG4gICAgICBpZiAodGhpcy5yb3V0ZXIgJiYgdGhpcy5yb3V0ZXIudXJsICYmIHRoaXMucm91dGVyLnVybC5pbmNsdWRlcygnZXZlbnQtc3RhcnQnKSkge1xuICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICB9XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC9jYXNlcy9jYXNlLWRldGFpbHMvJHtjYXNlSWR9L2V2ZW50LXN0YXJ0YF0sIHsgcXVlcnlQYXJhbXM6IHsgY2FzZUlkLCBldmVudElkLCB0YXNrSWQgfSB9KTtcbiAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBvZih0aGlzLmNoZWNrVGFza0luRXZlbnROb3RSZXF1aXJlZChwYXlsb2FkLCBjYXNlSWQsIHRhc2tJZCkpO1xuICAgIH1cbiAgfVxufVxuIl19