@hmcts/ccd-case-ui-toolkit 7.0.38-client-context → 7.0.38-client-context-2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/shared/components/case-editor/services/cases.service.mjs +1 -2
- package/esm2020/lib/shared/components/case-editor/services/event-completion-state-machine.service.mjs +10 -5
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +9 -5
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +9 -5
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
- package/lib/shared/components/case-editor/services/event-completion-state-machine.service.d.ts +1 -1
- package/lib/shared/components/case-editor/services/event-completion-state-machine.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -104,7 +104,6 @@ export class CasesService {
|
|
|
104
104
|
return this.http
|
|
105
105
|
.get(url, { headers, observe: 'response' })
|
|
106
106
|
.pipe(map((response) => {
|
|
107
|
-
console.log('response barking mad', response);
|
|
108
107
|
this.updateClientContextStorage(response.headers);
|
|
109
108
|
return FieldsUtils.handleNestedDynamicLists(response.body);
|
|
110
109
|
}), catchError(error => {
|
|
@@ -316,4 +315,4 @@ CasesService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CasesServic
|
|
|
316
315
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CasesService, [{
|
|
317
316
|
type: Injectable
|
|
318
317
|
}], 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); })();
|
|
319
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUVMLGdCQUFnQixFQUdTLEtBQUssRUFJL0IsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRS9JLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7QUFHNUYsTUFBTSxPQUFPLFlBQVk7SUEwQ3ZCLFlBQ1UsSUFBaUIsRUFDakIsU0FBNEIsRUFDNUIsWUFBMEIsRUFDMUIsWUFBOEIsRUFDOUIsZ0NBQWtFLEVBQ2xFLGNBQThCLEVBQ3JCLHFC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LG1CQUFtQixDQUFDLENBQUM7U0FDMUU7SUFDSCxDQUFDOztBQXJZRCxvQkFBb0I7QUFDRyxtQ0FBc0IsR0FBRyxzRUFBc0UsQ0FBQztBQUNoRyw0Q0FBK0IsR0FDcEQsNkZBQTZGLENBQUM7QUFDekUsNkNBQWdDLEdBQ3JELDhGQUE4RixDQUFDO0FBQzFFLDZDQUFnQyxHQUNyRCw4RkFBOEYsQ0FBQztBQUVqRyw0QkFBNEI7QUFFTCx3Q0FBMkIsR0FDaEQsc0ZBQXNGLENBQUM7QUFFbEUsNENBQStCLEdBQ3BELDBGQUEwRixDQUFDO0FBQ3RFLHNDQUF5QixHQUM5QyxvRkFBb0YsQ0FBQztBQUNoRSxxQ0FBd0IsR0FDN0MsbUZBQW1GLENBQUM7QUFFL0QsNkJBQWdCLEdBQUcsa0JBQWtCLENBQUM7d0VBdEJsRCxZQUFZO2tFQUFaLFlBQVksV0FBWixZQUFZO3VGQUFaLFlBQVk7Y0FEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RBcHBDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi9hcHAuY29uZmlnJztcbmltcG9ydCB7IFNob3dDb25kaXRpb24gfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7XG4gIENhc2VFdmVudERhdGEsXG4gIENhc2VFdmVudFRyaWdnZXIsXG4gIENhc2VQcmludERvY3VtZW50LFxuICBDYXNlVmlldyxcbiAgQ2hhbGxlbmdlZEFjY2Vzc1JlcXVlc3QsIERyYWZ0LFxuICBSb2xlQXNzaWdubWVudFJlc3BvbnNlLFxuICBSb2xlQ2F0ZWdvcnksXG4gIFJvbGVSZXF1ZXN0UGF5bG9hZCwgU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0XG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBVc2VySW5mbyB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi91c2VyL3VzZXItaW5mby5tb2RlbCc7XG5pbXBvcnQgeyBGaWVsZHNVdGlscywgSHR0cEVycm9yU2VydmljZSwgSHR0cFNlcnZpY2UsIExvYWRpbmdTZXJ2aWNlLCBPcmRlclNlcnZpY2UsIFJldHJ5VXRpbCwgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNSZXNwb25zZSB9IGZyb20gJy4uLy4uL3BhbGV0dGUvbGlua2VkLWNhc2VzL2RvbWFpbi9saW5rZWQtY2FzZXMubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZUFjY2Vzc1V0aWxzIH0gZnJvbSAnLi4vY2FzZS1hY2Nlc3MtdXRpbHMnO1xuaW1wb3J0IHsgV2l6YXJkUGFnZSB9IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQgeyBXaXphcmRQYWdlRmllbGRUb0Nhc2VGaWVsZE1hcHBlciB9IGZyb20gJy4vd2l6YXJkLXBhZ2UtZmllbGQtdG8tY2FzZS1maWVsZC5tYXBwZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2FzZXNTZXJ2aWNlIHtcbiAgLy8gSW50ZXJuYWwgKFVJKSBBUElcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMl9NRURJQVRZUEVfQ0FTRV9WSUVXID0gJ2FwcGxpY2F0aW9uL3ZuZC51ay5nb3YuaG1jdHMuY2NkLWRhdGEtc3RvcmUtYXBpLnVpLWNhc2Utdmlldy52Mitqc29uJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMl9NRURJQVRZUEVfU1RBUlRfQ0FTRV9UUklHR0VSID1cbiAgICAnYXBwbGljYXRpb24vdm5kLnVrLmdvdi5obWN0cy5jY2QtZGF0YS1zdG9yZS1hcGkudWktc3RhcnQtY2FzZS10cmlnZ2VyLnYyK2pzb247Y2hhcnNldD1VVEYtOCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfTUVESUFUWVBFX1NUQVJUX0VWRU5UX1RSSUdHRVIgPVxuICAgICdhcHBsaWNhdGlvbi92bmQudWsuZ292LmhtY3RzLmNjZC1kYXRhLXN0b3JlLWFwaS51aS1zdGFydC1ldmVudC10cmlnZ2VyLnYyK2pzb247Y2hhcnNldD1VVEYtOCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfTUVESUFUWVBFX1NUQVJUX0RSQUZUX1RSSUdHRVIgPVxuICAgICdhcHBsaWNhdGlvbi92bmQudWsuZ292LmhtY3RzLmNjZC1kYXRhLXN0b3JlLWFwaS51aS1zdGFydC1kcmFmdC10cmlnZ2VyLnYyK2pzb247Y2hhcnNldD1VVEYtOCc7XG5cbiAgLy8gRXh0ZXJuYWwgKERhdGEgU3RvcmUpIEFQSVxuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfTUVESUFUWVBFX0NBU0VfRE9DVU1FTlRTID1cbiAgICAnYXBwbGljYXRpb24vdm5kLnVrLmdvdi5obWN0cy5jY2QtZGF0YS1zdG9yZS1hcGkuY2FzZS1kb2N1bWVudHMudjIranNvbjtjaGFyc2V0PVVURi04JztcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyX01FRElBVFlQRV9DQVNFX0RBVEFfVkFMSURBVEUgPVxuICAgICdhcHBsaWNhdGlvbi92bmQudWsuZ292LmhtY3RzLmNjZC1kYXRhLXN0b3JlLWFwaS5jYXNlLWRhdGEtdmFsaWRhdGUudjIranNvbjtjaGFyc2V0PVVURi04JztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMl9NRURJQVRZUEVfQ1JFQVRFX0VWRU5UID1cbiAgICAnYXBwbGljYXRpb24vdm5kLnVrLmdvdi5obWN0cy5jY2QtZGF0YS1zdG9yZS1hcGkuY3JlYXRlLWV2ZW50LnYyK2pzb247Y2hhcnNldD1VVEYtOCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfTUVESUFUWVBFX0NSRUFURV9DQVNFID1cbiAgICAnYXBwbGljYXRpb24vdm5kLnVrLmdvdi5obWN0cy5jY2QtZGF0YS1zdG9yZS1hcGkuY3JlYXRlLWNhc2UudjIranNvbjtjaGFyc2V0PVVURi04JztcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBVSV9DQVNFX01BTkFHRVIgPSAncHVpLWNhc2UtbWFuYWdlcic7XG5cbiAgcHVibGljIGdldCA9IHRoaXMuZ2V0Q2FzZVZpZXc7XG5cbiAgcHVibGljIHN0YXRpYyB1cGRhdGVDaGFsbGVuZ2VkQWNjZXNzUmVxdWVzdEF0dHJpYnV0ZXMoaHR0cENsaWVudDogSHR0cENsaWVudCwgY2FzZUlkOiBzdHJpbmcsIGF0dHJpYnV0ZXNUb1VwZGF0ZTogeyBbeDogc3RyaW5nXTogYW55IH0pXG4gICAgOiBPYnNlcnZhYmxlPFJvbGVBc3NpZ25tZW50UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gaHR0cENsaWVudC5wb3N0PFJvbGVBc3NpZ25tZW50UmVzcG9uc2U+KGAvYXBpL2NoYWxsZW5nZWQtYWNjZXNzLXJlcXVlc3QvdXBkYXRlLWF0dHJpYnV0ZXNgLCB7XG4gICAgICBjYXNlSWQsXG4gICAgICBhdHRyaWJ1dGVzVG9VcGRhdGVcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdXBkYXRlU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0QXR0cmlidXRlcyhodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBjYXNlSWQ6IHN0cmluZywgYXR0cmlidXRlc1RvVXBkYXRlOiB7IFt4OiBzdHJpbmddOiBhbnkgfSlcbiAgICA6IE9ic2VydmFibGU8Um9sZUFzc2lnbm1lbnRSZXNwb25zZT4ge1xuICAgIHJldHVybiBodHRwQ2xpZW50LnBvc3Q8Um9sZUFzc2lnbm1lbnRSZXNwb25zZT4oYC9hcGkvc3BlY2lmaWMtYWNjZXNzLXJlcXVlc3QvdXBkYXRlLWF0dHJpYnV0ZXNgLCB7XG4gICAgICBjYXNlSWQsXG4gICAgICBhdHRyaWJ1dGVzVG9VcGRhdGVcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnLFxuICAgIHByaXZhdGUgb3JkZXJTZXJ2aWNlOiBPcmRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlcnJvclNlcnZpY2U6IEh0dHBFcnJvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSB3aXphcmRQYWdlRmllbGRUb0Nhc2VGaWVsZE1hcHBlcjogV2l6YXJkUGFnZUZpZWxkVG9DYXNlRmllbGRNYXBwZXIsXG4gICAgcHJpdmF0ZSBsb2FkaW5nU2VydmljZTogTG9hZGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJldHJ5VXRpbDogUmV0cnlVdGlsXG4gICkge1xuICB9XG5cbiAgcHVibGljIGdldENhc2VWaWV3KGp1cmlzZGljdGlvbklkOiBzdHJpbmcsXG4gICAgY2FzZVR5cGVJZDogc3RyaW5nLFxuICAgIGNhc2VJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxDYXNlVmlldz4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuYXBwQ29uZmlnLmdldEFwaVVybCgpfS9jYXNld29ya2Vycy86dWlkL2p1cmlzZGljdGlvbnMvJHtqdXJpc2RpY3Rpb25JZH0vY2FzZS10eXBlcy8ke2Nhc2VUeXBlSWR9L2Nhc2VzLyR7Y2FzZUlkfWA7XG4gICAgY29uc3QgbG9hZGluZ1Rva2VuID0gdGhpcy5sb2FkaW5nU2VydmljZS5yZWdpc3RlcigpO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQodXJsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLnNldEVycm9yKGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmxvYWRpbmdTZXJ2aWNlLnVucmVnaXN0ZXIobG9hZGluZ1Rva2VuKSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FzZVZpZXdWMihjYXNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q2FzZVZpZXc+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwcENvbmZpZy5nZXRDYXNlRGF0YVVybCgpfS9pbnRlcm5hbC9jYXNlcy8ke2Nhc2VJZH1gO1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKVxuICAgICAgLnNldCgnZXhwZXJpbWVudGFsJywgJ3RydWUnKVxuICAgICAgLnNldCgnQWNjZXB0JywgQ2FzZXNTZXJ2aWNlLlYyX01FRElBVFlQRV9DQVNFX1ZJRVcpXG4gICAgICAuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xuICAgIGNvbnN0IGxvYWRpbmdUb2tlbiA9IHRoaXMubG9hZGluZ1NlcnZpY2UucmVnaXN0ZXIoKTtcblxuICAgIGxldCBodHRwJCA9IHRoaXMuaHR0cC5nZXQodXJsLCB7IGhlYWRlcnMsIG9ic2VydmU6ICdib2R5JyB9KTtcblxuICAgIGNvbnN0IGFydGlmaWNpYWxEZWxheTogbnVtYmVyID0gdGhpcy5hcHBDb25maWcuZ2V0VGltZW91dHNDYXNlUmV0cmlldmFsQXJ0aWZpY2lhbERlbGF5KCk7XG4gICAgY29uc3QgdGltZW91dFBlcmlvZHMgPSB0aGlzLmFwcENvbmZpZy5nZXRUaW1lb3V0c0ZvckNhc2VSZXRyaWV2YWwoKTtcbiAgICBjb25zb2xlLmxvZyhgVGltZW91dCBwZXJpb2RzOiAke3RpbWVvdXRQZXJpb2RzfSBzZWNvbmRzLmApO1xuICAgIGlmICh0aW1lb3V0UGVyaW9kcyAmJiB0aW1lb3V0UGVyaW9kcy5sZW5ndGggPiAwICYmIHRpbWVvdXRQZXJpb2RzWzBdID4gMCkge1xuICAgICAgaHR0cCQgPSB0aGlzLnJldHJ5VXRpbC5waXBlVGltZW91dE1lY2hhbmlzbU9uKGh0dHAkLCBhcnRpZmljaWFsRGVsYXksIHRpbWVvdXRQZXJpb2RzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdTa2lwcGluZyB0byBwaXBlIGEgcmV0cnkgbWVjaGFuaXNtIScpO1xuICAgIH1cblxuICAgIGh0dHAkID0gdGhpcy5waXBlRXJyb3JQcm9jZXNzb3IoaHR0cCQpO1xuXG4gICAgaHR0cCQgPSBodHRwJC5waXBlKGZpbmFsaXplKCgpID0+IHRoaXMuZmluYWxpemVHZXRDYXNlVmlld1dpdGgoY2FzZUlkLCBsb2FkaW5nVG9rZW4pKSk7XG5cbiAgICByZXR1cm4gaHR0cCQ7XG4gIH1cblxuICBwcml2YXRlIHBpcGVFcnJvclByb2Nlc3NvcihpbiQ6IE9ic2VydmFibGU8Q2FzZVZpZXc+KTogT2JzZXJ2YWJsZTxDYXNlVmlldz4ge1xuICAgIGNvbnN0IG91dCQgPSBpbiQucGlwZShjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIHdoaWxlIGdldHRpbmcgY2FzZSB2aWV3IHdpdGggZ2V0Q2FzZVZpZXdWMiEgRXJyb3IgdHlwZTogJyR7dHlwZW9mIGVycm9yfSwgRXJyb3IgbmFtZTogJyR7ZXJyb3I/Lm5hbWV9J2ApO1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICB0aGlzLmVycm9yU2VydmljZS5zZXRFcnJvcihlcnJvcik7XG4gICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgfSkpO1xuICAgIHJldHVybiBvdXQkO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5hbGl6ZUdldENhc2VWaWV3V2l0aChjYXNlSWQ6IHN0cmluZywgbG9hZGluZ1Rva2VuOiBzdHJpbmcpIHtcbiAgICB0aGlzLmxvYWRpbmdTZXJ2aWNlLnVucmVnaXN0ZXIobG9hZGluZ1Rva2VuKTtcbiAgfVxuXG4gIHB1YmxpYyBzeW5jV2FpdChzZWNvbmRzKSB7XG4gICAgY29uc3QgZW5kID0gRGF0ZS5ub3coKSArIHNlY29uZHMgKiAxMDAwO1xuICAgIHdoaWxlIChEYXRlLm5vdygpIDwgZW5kKSBjb250aW51ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRFdmVudFRyaWdnZXIoY2FzZVR5cGVJZDogc3RyaW5nLFxuICAgIGV2ZW50VHJpZ2dlcklkOiBzdHJpbmcsXG4gICAgY2FzZUlkPzogc3RyaW5nLFxuICAgIGlnbm9yZVdhcm5pbmc/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPENhc2VFdmVudFRyaWdnZXI+IHtcbiAgICBpZ25vcmVXYXJuaW5nID0gdW5kZWZpbmVkICE9PSBpZ25vcmVXYXJuaW5nID8gaWdub3JlV2FybmluZyA6ICdmYWxzZSc7XG4gICAgY29uc3QgdXJsID0gdGhpcy5idWlsZEV2ZW50VHJpZ2dlclVybChjYXNlVHlwZUlkLCBldmVudFRyaWdnZXJJZCwgY2FzZUlkLCBpZ25vcmVXYXJuaW5nKTtcblxuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XG4gICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdleHBlcmltZW50YWwnLCAndHJ1ZScpO1xuICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcbiAgICBoZWFkZXJzID0gdGhpcy5hZGRDbGllbnRDb250ZXh0SGVhZGVyKGhlYWRlcnMpO1xuXG4gICAgaWYgKERyYWZ0LmlzRHJhZnQoY2FzZUlkKSkge1xuICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBDYXNlc1NlcnZpY2UuVjJfTUVESUFUWVBFX1NUQVJUX0RSQUZUX1RSSUdHRVIpO1xuICAgIH0gZWxzZSBpZiAoY2FzZUlkICE9PSB1bmRlZmluZWQgJiYgY2FzZUlkICE9PSBudWxsKSB7XG4gICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIENhc2VzU2VydmljZS5WMl9NRURJQVRZUEVfU1RBUlRfRVZFTlRfVFJJR0dFUik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgQ2FzZXNTZXJ2aWNlLlYyX01FRElBVFlQRV9TVEFSVF9DQVNFX1RSSUdHRVIpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQodXJsLCB7IGhlYWRlcnMsIG9ic2VydmU6ICdyZXNwb25zZScgYXMgJ2JvZHknfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5sb2coJ3Jlc3BvbnNlIGJhcmtpbmcgbWFkJywgcmVzcG9uc2UpXG4gICAgICAgICAgdGhpcy51cGRhdGVDbGllbnRDb250ZXh0U3RvcmFnZShyZXNwb25zZS5oZWFkZXJzKTtcbiAgICAgICAgICByZXR1cm4gRmllbGRzVXRpbHMuaGFuZGxlTmVzdGVkRHluYW1pY0xpc3RzKHJlc3BvbnNlLmJvZHkpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvclNlcnZpY2Uuc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSksXG4gICAgICAgIG1hcCgocCkgPT4gcGxhaW5Ub0NsYXNzKENhc2VFdmVudFRyaWdnZXIsIHApKSxcbiAgICAgICAgdGFwKGV2ZW50VHJpZ2dlciA9PiB0aGlzLmluaXRpYWxpc2VFdmVudFRyaWdnZXIoZXZlbnRUcmlnZ2VyKSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlRXZlbnQoY2FzZURldGFpbHM6IENhc2VWaWV3LCBldmVudERhdGE6IENhc2VFdmVudERhdGEpOiBPYnNlcnZhYmxlPHt9PiB7XG4gICAgY29uc3QgY2FzZUlkID0gY2FzZURldGFpbHMuY2FzZV9pZDtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwcENvbmZpZy5nZXRDYXNlRGF0YVVybCgpfS9jYXNlcy8ke2Nhc2VJZH0vZXZlbnRzYDtcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpXG4gICAgICAuc2V0KCdleHBlcmltZW50YWwnLCAndHJ1ZScpXG4gICAgICAuc2V0KCdBY2NlcHQnLCBDYXNlc1NlcnZpY2UuVjJfTUVESUFUWVBFX0NSRUFURV9FVkVOVClcbiAgICAgIC5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XG4gICAgaGVhZGVycyA9IHRoaXMuYWRkQ2xpZW50Q29udGV4dEhlYWRlcihoZWFkZXJzKTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdCh1cmwsIGV2ZW50RGF0YSwgeyBoZWFkZXJzLCBvYnNlcnZlOiAncmVzcG9uc2UnIGFzICdib2R5JyB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNsaWVudENvbnRleHRTdG9yYWdlKHJlc3BvbnNlLmhlYWRlcnMpO1xuICAgICAgICAgIHJldHVybiByZXNwb25zZS5ib2R5O1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvclNlcnZpY2Uuc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGVDYXNlKGN0aWQ6IHN0cmluZywgZXZlbnREYXRhOiBDYXNlRXZlbnREYXRhLCBwYWdlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgY29uc3QgcGFnZUlkU3RyaW5nID0gcGFnZUlkID8gYD9wYWdlSWQ9JHtwYWdlSWR9YCA6ICcnO1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuYXBwQ29uZmlnLmdldENhc2VEYXRhVXJsKCl9L2Nhc2UtdHlwZXMvJHtjdGlkfS92YWxpZGF0ZSR7cGFnZUlkU3RyaW5nfWA7XG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKVxuICAgICAgLnNldCgnZXhwZXJpbWVudGFsJywgJ3RydWUnKVxuICAgICAgLnNldCgnQWNjZXB0JywgQ2FzZXNTZXJ2aWNlLlYyX01FRElBVFlQRV9DQVNFX0RBVEFfVkFMSURBVEUpXG4gICAgICAuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xuICAgIGhlYWRlcnMgPSB0aGlzLmFkZENsaWVudENvbnRleHRIZWFkZXIoaGVhZGVycyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QodXJsLCBldmVudERhdGEsIHsgaGVhZGVycywgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyBhcyAnYm9keScgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy51cGRhdGVDbGllbnRDb250ZXh0U3RvcmFnZShyZXNwb25zZS5oZWFkZXJzKTtcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuYm9keTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLnNldEVycm9yKGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZUNhc2UoY3RpZDogc3RyaW5nLCBldmVudERhdGE6IENhc2VFdmVudERhdGEpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIGxldCBpZ25vcmVXYXJuaW5nID0gJ2ZhbHNlJztcbiAgICBpZiAoZXZlbnREYXRhLmlnbm9yZV93YXJuaW5nKSB7XG4gICAgICBpZ25vcmVXYXJuaW5nID0gJ3RydWUnO1xuICAgIH1cbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwcENvbmZpZy5nZXRDYXNlRGF0YVVybCgpfS9jYXNlLXR5cGVzLyR7Y3RpZH0vY2FzZXM/aWdub3JlLXdhcm5pbmc9JHtpZ25vcmVXYXJuaW5nfWA7XG5cbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpXG4gICAgICAuc2V0KCdleHBlcmltZW50YWwnLCAndHJ1ZScpXG4gICAgICAuc2V0KCdBY2NlcHQnLCBDYXNlc1NlcnZpY2UuVjJfTUVESUFUWVBFX0NSRUFURV9DQVNFKVxuICAgICAgLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcbiAgICBoZWFkZXJzID0gdGhpcy5hZGRDbGllbnRDb250ZXh0SGVhZGVyKGhlYWRlcnMpO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0KHVybCwgZXZlbnREYXRhLCB7IGhlYWRlcnMsIG9ic2VydmU6ICdyZXNwb25zZScgYXMgJ2JvZHknIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2xpZW50Q29udGV4dFN0b3JhZ2UocmVzcG9uc2UuaGVhZGVycyk7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmJvZHk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yU2VydmljZS5zZXRFcnJvcihlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQcmludERvY3VtZW50cyhjYXNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q2FzZVByaW50RG9jdW1lbnRbXT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuYXBwQ29uZmlnLmdldENhc2VEYXRhVXJsKCl9L2Nhc2VzLyR7Y2FzZUlkfS9kb2N1bWVudHNgO1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKClcbiAgICAgIC5zZXQoJ2V4cGVyaW1lbnRhbCcsICd0cnVlJylcbiAgICAgIC5zZXQoJ0FjY2VwdCcsIENhc2VzU2VydmljZS5WMl9NRURJQVRZUEVfQ0FTRV9ET0NVTUVOVFMpXG4gICAgICAuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xuICAgIGhlYWRlcnMgPSB0aGlzLmFkZENsaWVudENvbnRleHRIZWFkZXIoaGVhZGVycyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh1cmwsIHsgaGVhZGVycywgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyBhcyAnYm9keScgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy51cGRhdGVDbGllbnRDb250ZXh0U3RvcmFnZShyZXNwb25zZS5oZWFkZXJzKTtcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuYm9keS5kb2N1bWVudFJlc291cmNlcztcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLnNldEVycm9yKGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEV2ZW50VHJpZ2dlclVybChjYXNlVHlwZUlkOiBzdHJpbmcsXG4gICAgZXZlbnRUcmlnZ2VySWQ6IHN0cmluZyxcbiAgICBjYXNlSWQ/OiBzdHJpbmcsXG4gICAgaWdub3JlV2FybmluZz86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IHVybCA9IGAke3RoaXMuYXBwQ29uZmlnLmdldENhc2VEYXRhVXJsKCl9L2ludGVybmFsYDtcbiAgICBpZiAoRHJhZnQuaXNEcmFmdChjYXNlSWQpKSB7XG4gICAgICB1cmwgKz0gYC9kcmFmdHMvJHtjYXNlSWR9YFxuICAgICAgICArIGAvZXZlbnQtdHJpZ2dlcmBcbiAgICAgICAgKyBgP2lnbm9yZS13YXJuaW5nPSR7aWdub3JlV2FybmluZ31gO1xuICAgIH0gZWxzZSBpZiAoY2FzZVR5cGVJZCA9PT0gdW5kZWZpbmVkIHx8IGNhc2VUeXBlSWQgPT09IG51bGwpIHtcbiAgICAgIHVybCArPSBgL2Nhc2VzLyR7Y2FzZUlkfWBcbiAgICAgICAgKyBgL2V2ZW50LXRyaWdnZXJzLyR7ZXZlbnRUcmlnZ2VySWR9YFxuICAgICAgICArIGA/aWdub3JlLXdhcm5pbmc9JHtpZ25vcmVXYXJuaW5nfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVybCArPSBgL2Nhc2UtdHlwZXMvJHtjYXNlVHlwZUlkfWBcbiAgICAgICAgKyBgL2V2ZW50LXRyaWdnZXJzLyR7ZXZlbnRUcmlnZ2VySWR9YFxuICAgICAgICArIGA/aWdub3JlLXdhcm5pbmc9JHtpZ25vcmVXYXJuaW5nfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGlzZUV2ZW50VHJpZ2dlcihldmVudFRyaWdnZXI6IENhc2VFdmVudFRyaWdnZXIpIHtcbiAgICBpZiAoIWV2ZW50VHJpZ2dlci53aXphcmRfcGFnZXMpIHtcbiAgICAgIGV2ZW50VHJpZ2dlci53aXphcmRfcGFnZXMgPSBbXTtcbiAgICB9XG5cbiAgICBldmVudFRyaWdnZXIud2l6YXJkX3BhZ2VzLmZvckVhY2goKHdpemFyZFBhZ2U6IFdpemFyZFBhZ2UpID0+IHtcbiAgICAgIHdpemFyZFBhZ2UucGFyc2VkU2hvd0NvbmRpdGlvbiA9IFNob3dDb25kaXRpb24uZ2V0SW5zdGFuY2Uod2l6YXJkUGFnZS5zaG93X2NvbmRpdGlvbik7XG4gICAgICB3aXphcmRQYWdlLmNhc2VfZmllbGRzID0gdGhpcy5vcmRlclNlcnZpY2Uuc29ydChcbiAgICAgICAgdGhpcy53aXphcmRQYWdlRmllbGRUb0Nhc2VGaWVsZE1hcHBlci5tYXBBbGwod2l6YXJkUGFnZS53aXphcmRfcGFnZV9maWVsZHMsIGV2ZW50VHJpZ2dlci5jYXNlX2ZpZWxkcykpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldENvdXJ0T3JIZWFyaW5nQ2VudHJlTmFtZShsb2NhdGlvbklkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgL2FwaS9sb2NhdGlvbnMvZ2V0TG9jYXRpb25zQnlJZGAsIHsgbG9jYXRpb25zOiBbeyBsb2NhdGlvbklkIH1dIH0pO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZUNoYWxsZW5nZWRBY2Nlc3NSZXF1ZXN0KGNhc2VJZDogc3RyaW5nLCByZXF1ZXN0OiBDaGFsbGVuZ2VkQWNjZXNzUmVxdWVzdCk6IE9ic2VydmFibGU8Um9sZUFzc2lnbm1lbnRSZXNwb25zZT4ge1xuICAgIC8vIEFzc2lnbm1lbnQgQVBJIGVuZHBvaW50XG4gICAgY29uc3QgdXNlckluZm9TdHIgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCd1c2VyRGV0YWlscycpO1xuICAgIGNvbnN0IGNhbVV0aWxzID0gbmV3IENhc2VBY2Nlc3NVdGlscygpO1xuICAgIGxldCB1c2VySW5mbzogVXNlckluZm87XG4gICAgaWYgKHVzZXJJbmZvU3RyKSB7XG4gICAgICB1c2VySW5mbyA9IEpTT04ucGFyc2UodXNlckluZm9TdHIpO1xuICAgIH1cblxuICAgIGNvbnN0IHJvbGVDYXRlZ29yeTogUm9sZUNhdGVnb3J5ID0gdXNlckluZm8ucm9sZUNhdGVnb3J5IHx8IGNhbVV0aWxzLmdldE1hcHBlZFJvbGVDYXRlZ29yeSh1c2VySW5mby5yb2xlcywgdXNlckluZm8ucm9sZUNhdGVnb3JpZXMpO1xuICAgIGNvbnN0IHJvbGVOYW1lID0gY2FtVXRpbHMuZ2V0QU1Sb2xlTmFtZSgnY2hhbGxlbmdlZCcsIHJvbGVDYXRlZ29yeSk7XG4gICAgY29uc3QgYmVnaW5UaW1lID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBlbmRUaW1lID0gbmV3IERhdGUobmV3IERhdGUoKS5zZXRVVENIb3VycygyMywgNTksIDU5LCA5OTkpKTtcbiAgICBjb25zdCBpZCA9IHVzZXJJbmZvLmlkID8gdXNlckluZm8uaWQgOiB1c2VySW5mby51aWQ7XG4gICAgY29uc3QgaXNOZXcgPSB0cnVlO1xuXG4gICAgY29uc3QgcGF5bG9hZDogUm9sZVJlcXVlc3RQYXlsb2FkID0gY2FtVXRpbHMuZ2V0QU1QYXlsb2FkKGlkLFxuICAgICAgaWQsXG4gICAgICByb2xlTmFtZSxcbiAgICAgIHJvbGVDYXRlZ29yeSxcbiAgICAgICdDSEFMTEVOR0VEJyxcbiAgICAgIGNhc2VJZCxcbiAgICAgIHJlcXVlc3QsXG4gICAgICBiZWdpblRpbWUsXG4gICAgICBlbmRUaW1lLFxuICAgICAgaXNOZXdcbiAgICApO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAvYXBpL2NoYWxsZW5nZWQtYWNjZXNzLXJlcXVlc3RgLCBwYXlsb2FkKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVTcGVjaWZpY0FjY2Vzc1JlcXVlc3QoY2FzZUlkOiBzdHJpbmcsIHNhcjogU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0KTogT2JzZXJ2YWJsZTxSb2xlQXNzaWdubWVudFJlc3BvbnNlPiB7XG4gICAgLy8gQXNzaWdubWVudCBBUEkgZW5kcG9pbnRcbiAgICBjb25zdCB1c2VySW5mb1N0ciA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3VzZXJEZXRhaWxzJyk7XG5cbiAgICBjb25zdCBjYW1VdGlscyA9IG5ldyBDYXNlQWNjZXNzVXRpbHMoKTtcbiAgICBsZXQgdXNlckluZm86IFVzZXJJbmZvO1xuICAgIGlmICh1c2VySW5mb1N0cikge1xuICAgICAgdXNlckluZm8gPSBKU09OLnBhcnNlKHVzZXJJbmZvU3RyKTtcbiAgICB9XG5cbiAgICBjb25zdCByb2xlQ2F0ZWdvcnk6IFJvbGVDYXRlZ29yeSA9IHVzZXJJbmZvLnJvbGVDYXRlZ29yeSB8fCBjYW1VdGlscy5nZXRNYXBwZWRSb2xlQ2F0ZWdvcnkodXNlckluZm8ucm9sZXMsIHVzZXJJbmZvLnJvbGVDYXRlZ29yaWVzKTtcbiAgICBjb25zdCByb2xlTmFtZSA9IGNhbVV0aWxzLmdldEFNUm9sZU5hbWUoJ3NwZWNpZmljJywgcm9sZUNhdGVnb3J5KTtcbiAgICBjb25zdCBpZCA9IHVzZXJJbmZvLmlkID8gdXNlckluZm8uaWQgOiB1c2VySW5mby51aWQ7XG4gICAgY29uc3QgcGF5bG9hZDogUm9sZVJlcXVlc3RQYXlsb2FkID0gY2FtVXRpbHMuZ2V0QU1QYXlsb2FkKG51bGwsIGlkLFxuICAgICAgcm9sZU5hbWUsIHJvbGVDYXRlZ29yeSwgJ1NQRUNJRklDJywgY2FzZUlkLCBzYXIsIG51bGwsIG51bGwsIHRydWUpO1xuXG4gICAgcGF5bG9hZC5yb2xlUmVxdWVzdCA9IHtcbiAgICAgIC4uLnBheWxvYWQucm9sZVJlcXVlc3QsXG4gICAgICBwcm9jZXNzOiAnc3BlY2lmaWMtYWNjZXNzJyxcbiAgICAgIHJlcGxhY2VFeGlzdGluZzogdHJ1ZSxcbiAgICAgIGFzc2lnbmVySWQ6IHBheWxvYWQucmVxdWVzdGVkUm9sZXNbMF0uYWN0b3JJZCxcbiAgICAgIHJlZmVyZW5jZTogYCR7Y2FzZUlkfS8ke3JvbGVOYW1lfS8ke3BheWxvYWQucmVxdWVzdGVkUm9sZXNbMF0uYWN0b3JJZH1gXG4gICAgfTtcblxuICAgIHBheWxvYWQucmVxdWVzdGVkUm9sZXNbMF0gPSB7XG4gICAgICAuLi5wYXlsb2FkLnJlcXVlc3RlZFJvbGVzWzBdLFxuICAgICAgcm9sZU5hbWU6ICdzcGVjaWZpYy1hY2Nlc3MtcmVxdWVzdGVkJyxcbiAgICAgIHJvbGVDYXRlZ29yeSxcbiAgICAgIGNsYXNzaWZpY2F0aW9uOiAnUFJJVkFURScsXG4gICAgICBlbmRUaW1lOiBuZXcgRGF0ZShuZXcgRGF0ZSgpLnNldERhdGUobmV3IERhdGUoKS5nZXREYXRlKCkgKyAzMCkpLFxuICAgICAgYmVnaW5UaW1lOiBudWxsLFxuICAgICAgZ3JhbnRUeXBlOiAnQkFTSUMnLFxuICAgICAgcmVhZE9ubHk6IHRydWVcbiAgICB9O1xuXG4gICAgcGF5bG9hZC5yZXF1ZXN0ZWRSb2xlc1swXS5hdHRyaWJ1dGVzID0ge1xuICAgICAgLi4ucGF5bG9hZC5yZXF1ZXN0ZWRSb2xlc1swXS5hdHRyaWJ1dGVzLFxuICAgICAgcmVxdWVzdGVkUm9sZTogcm9sZU5hbWUsXG4gICAgICBzcGVjaWZpY0FjY2Vzc1JlYXNvbjogc2FyLnNwZWNpZmljUmVhc29uXG4gICAgfTtcblxuICAgIHBheWxvYWQucmVxdWVzdGVkUm9sZXNbMF0ubm90ZXNbMF0gPSB7XG4gICAgICAuLi5wYXlsb2FkLnJlcXVlc3RlZFJvbGVzWzBdLm5vdGVzWzBdLFxuICAgICAgdXNlcklkOiBwYXlsb2FkLnJlcXVlc3RlZFJvbGVzWzBdLmFjdG9ySWRcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxuICAgICAgYC9hcGkvc3BlY2lmaWMtYWNjZXNzLXJlcXVlc3RgLFxuICAgICAgcGF5bG9hZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGlua2VkQ2FzZXMoY2FzZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPExpbmtlZENhc2VzUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwcENvbmZpZy5nZXRDYXNlRGF0YVN0b3JlQXBpVXJsKCl9LyR7Y2FzZUlkfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh1cmwpXG4gICAgICAucGlwZShjYXRjaEVycm9yKGVycm9yID0+IHRocm93RXJyb3IoZXJyb3IpKSk7XG4gIH1cblxuICBwcml2YXRlIGFkZENsaWVudENvbnRleHRIZWFkZXIoaGVhZGVyczogSHR0cEhlYWRlcnMpOiBIdHRwSGVhZGVycyB7XG4gICAgY29uc3QgY2xpZW50Q29udGV4dERldGFpbHMgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCdjbGllbnRDb250ZXh0Jyk7XG4gICAgaWYgKGNsaWVudENvbnRleHREZXRhaWxzKSB7XG4gICAgICAvLyBtYXkgcmVxdWlyZSBVUkkgZW5jb2RpbmcgaW4gY2VydGFpbiBjaXJjdW1zdGFuY2VzXG4gICAgICBjb25zdCBjbGllbnRDb250ZXh0ID0gd2luZG93LmJ0b2EoY2xpZW50Q29udGV4dERldGFpbHMpO1xuICAgICAgaWYgKGNsaWVudENvbnRleHQpIHtcbiAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdDbGllbnQtQ29udGV4dCcsIGNsaWVudENvbnRleHQpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaGVhZGVycztcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ2xpZW50Q29udGV4dFN0b3JhZ2UoaGVhZGVyczogSHR0cEhlYWRlcnMpOiB2b2lkIHtcbiAgICAvLyBmb3IgbW9ja2luZyAtIFRPRE86IEthc2kgUmVtb3ZlL1VuY29tbWVudCBmb3IgdGVzdGluZ1xuICAgIC8vIGhlYWRlcnMgPSB0aGlzLnNldE1vY2tDbGllbnRDb250ZXh0SGVhZGVyKGhlYWRlcnMpO1xuICAgIGlmIChoZWFkZXJzICYmIGhlYWRlcnMuZ2V0KCdDbGllbnQtQ29udGV4dCcpKSB7XG4gICAgICBjb25zdCBjbGllbnRDb250ZXh0U3RyaW5nID0gd2luZG93LmF0b2IoaGVhZGVycy5nZXQoJ0NsaWVudC1Db250ZXh0JykpO1xuICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnY2xpZW50Q29udGV4dCcsIGNsaWVudENvbnRleHRTdHJpbmcpO1xuICAgIH1cbiAgfVxuXG4gIC8vIGZvciBtb2NraW5nIC0gVE9ETzogS2FzaSBSZW1vdmUvVW5jb21tZW50IGZvciB0ZXN0aW5nXG4gIC8qIHByaXZhdGUgc2V0TW9ja0NsaWVudENvbnRleHRIZWFkZXIoaGVhZGVyczogSHR0cEhlYWRlcnMpOiBIdHRwSGVhZGVycyB7XG4gICAgY29uc3QgbW9ja0NsaWVudENvbnRleHQgPSB7IGNsaWVudF9jb250ZXh0OiB7XG4gICAgICB1c2VyX3Rhc2s6IHtcbiAgICAgICAgdGFza19kYXRhOiB7XG4gICAgICAgICAgLy8gUmVwbGFjZSB3aXRoIHJlbGV2YW50IHRhc2sgaWQgdG8gY29tcGxldGUgb3RoZXIvY3VycmVudCB0YXNrXG4gICAgICAgICAgaWQ6IFwiMmM3ZTAzY2MtMThlOC0xMWVmLWJmZDAtNzYzMzE5YjIxY2VhXCIsXG4gICAgICAgICAgLy8gQ2FuIGVkaXQgb3RoZXIgZGV0YWlscyB0byBjaGVjayB0aGV5IHVwZGF0ZVxuICAgICAgICAgIG5hbWU6IFwiUmV2aWV3IHRoZSBhcHBlYWwgLSBUZXN0IG1vY2tlZFwiLFxuICAgICAgICAgIGFzc2lnbmVlOiBcImRmZDRjMmQxLTY3YjEtNDBmOS04NjgwLWM5NTUxNjMyZjVkOVwiLFxuICAgICAgICAgIHR5cGU6IFwicmV2aWV3VGhlQXBwZWFsXCIsXG4gICAgICAgICAgdGFza19zdGF0ZTogXCJhc3NpZ25lZFwiLFxuICAgICAgICAgIHRhc2tfc3lzdGVtOiBcIlNFTEZcIixcbiAgICAgICAgICBzZWN1cml0eV9jbGFzc2lmaWNhdGlvbjogXCJQVUJMSUNcIixcbiAgICAgICAgICB0YXNrX3RpdGxlOiBcIlJldmlldyB0aGUgYXBwZWFsXCIsXG4gICAgICAgICAgY3JlYXRlZF9kYXRlOiBcIjIwMjQtMDUtMjNUMDk6Mzg6MTIrMDAwMFwiLFxuICAgICAgICAgIGR1ZV9kYXRlOiBcIjIwMjQtMDUtMjhUMDk6Mzk6MDArMDAwMFwiLFxuICAgICAgICAgIGxvY2F0aW9uX25hbWU6IFwiVGF5bG9yIEhvdXNlXCIsXG4gICAgICAgICAgbG9jYXRpb246IFwiNzY1MzI0XCIsXG4gICAgICAgICAgZXhlY3V0aW9uX3R5cGU6IFwiQ2FzZSBNYW5hZ2VtZW50IFRhc2tcIixcbiAgICAgICAgICBqdXJpc2RpY3Rpb246IFwiSUFcIixcbiAgICAgICAgICByZWdpb246IFwiMVwiLFxuICAgICAgICAgIGNhc2VfdHlwZV9pZDogXCJBc3lsdW1cIixcbiAgICAgICAgICBjYXNlX2lkOiBcIjE3MTY0NTY5MjY1MDI2OThcIixcbiAgICAgICAgICBjYXNlX2NhdGVnb3J5OiBcIlByb3RlY3Rpb25cIixcbiAgICAgICAgICBjYXNlX25hbWU6IFwiQWlwcCBDaGVja1wiLFxuICAgICAgICAgIGF1dG9fYXNzaWduZWQ6IGZhbHNlLFxuICAgICAgICAgIHdhcm5pbmdzOiBmYWxzZSxcbiAgICAgICAgICB3YXJuaW5nX2xpc3Q6IHsgdmFsdWVzOiBbXSB9LFxuICAgICAgICAgIGNhc2VfbWFuYWdlbWVudF9jYXRlZ29yeTogXCJQcm90ZWN0aW9uXCIsXG4gICAgICAgICAgd29ya190eXBlX2lkOiBcImRlY2lzaW9uX21ha2luZ193b3JrXCIsXG4gICAgICAgICAgd29ya190eXBlX2xhYmVsOiBcIkRlY2lzaW9uLW1ha2luZyB3b3JrXCIsXG4gICAgICAgICAgcGVybWlzc2lvbnM6IHsgdmFsdWVzIDogW1wiUmVhZFwiLFwiT3duXCIsXCJNYW5hZ2VcIixcIkV4ZWN1dGVcIixcIkNhbmNlbFwiLFwiQ29tcGxldGVcIixcIkNsYWltXCIsXCJBc3NpZ25cIixcIlVuYXNzaWduXCJdIH0sXG4gICAgICAgICAgZGVzY3JpcHRpb246IFwiW1JlcXVlc3QgcmVzcG9uZGVudCBldmlkZW5jZV0oL2Nhc2UvSUEvQXN5bHVtLyR7W0NBU0VfUkVGRVJFTkNFXX0vdHJpZ2dlci9yZXF1ZXN0UmVzcG9uZGVudEV2aWRlbmNlKVwiLFxuICAgICAgICAgIHJvbGVfY2F0ZWdvcnk6IFwiTEVHQUxfT1BFUkFUSU9OU1wiLFxuICAgICAgICAgIG1pbm9yX3ByaW9yaXR5OiA1MDAsXG4gICAgICAgICAgbWFqb3JfcHJpb3JpdHk6IDUwMDAsXG4gICAgICAgICAgcHJpb3JpdHlfZGF0ZTogXCIyMDI0LTA1LTI4VDA5OjM5OjAwKzAwMDBcIlxuICAgICAgICB9LFxuICAgICAgICAvLyBkZXRlcm1pbmVzIHdoZXRoZXIgdGFzayB3aWxsIGJlIGNvbXBsZXRlZCAtIHNldHMgZGVmYXVsdCB0byB0cnVlIHZpYSBFWFVJXG4gICAgICAgIGNvbXBsZXRlX3Rhc2s6IHRydWVcbiAgICAgIH1cbiAgICB9fTtcbiAgICBjb25zdCBlbmNvZGVkTW9ja2VkQ2xpZW50Q29udGV4dCA9IHdpbmRvdy5idG9hKEpTT04uc3RyaW5naWZ5KG1vY2tDbGllbnRDb250ZXh0KSk7XG4gICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdDbGllbnQtQ29udGV4dCcsIGVuY29kZWRNb2NrZWRDbGllbnRDb250ZXh0KTtcbiAgICByZXR1cm4gaGVhZGVycztcbiAgfSAqL1xufVxuIl19
|
|
318
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUVMLGdCQUFnQixFQUdTLEtBQUssRUFJL0IsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRS9JLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7QUFHNUYsTUFBTSxPQUFPLFlBQVk7SUEwQ3ZCLFlBQ1UsSUFBaUIsRUFDakIsU0FBNEIsRUFDNUIsWUFBMEIsRUFDMUIsWUFBOEIsRUFDOUIsZ0NBQWtFLEVBQ2xFLGNBQThCLEVBQ3JCLHFC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bUNBQXNCLEdBQUcsc0VBQXNFLENBQUM7QUFDaEcsNENBQStCLEdBQ3BELDZGQUE2RixDQUFDO0FBQ3pFLDZDQUFnQyxHQUNyRCw4RkFBOEYsQ0FBQztBQUMxRSw2Q0FBZ0MsR0FDckQsOEZBQThGLENBQUM7QUFFakcsNEJBQTRCO0FBRUwsd0NBQTJCLEdBQ2hELHNGQUFzRixDQUFDO0FBRWxFLDRDQUErQixHQUNwRCwwRkFBMEYsQ0FBQztBQUN0RSxzQ0FBeUIsR0FDOUMsb0ZBQW9GLENBQUM7QUFDaEUscUNBQXdCLEdBQzdDLG1GQUFtRixDQUFDO0FBRS9ELDZCQUFnQixHQUFHLGtCQUFrQixDQUFDO3dFQXRCbEQsWUFBWTtrRUFBWixZQUFZLFdBQVosWUFBWTt1RkFBWixZQUFZO2NBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBTaG93Q29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQge1xuICBDYXNlRXZlbnREYXRhLFxuICBDYXNlRXZlbnRUcmlnZ2VyLFxuICBDYXNlUHJpbnREb2N1bWVudCxcbiAgQ2FzZVZpZXcsXG4gIENoYWxsZW5nZWRBY2Nlc3NSZXF1ZXN0LCBEcmFmdCxcbiAgUm9sZUFzc2lnbm1lbnRSZXNwb25zZSxcbiAgUm9sZUNhdGVnb3J5LFxuICBSb2xlUmVxdWVzdFBheWxvYWQsIFNwZWNpZmljQWNjZXNzUmVxdWVzdFxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgVXNlckluZm8gfSBmcm9tICcuLi8uLi8uLi9kb21haW4vdXNlci91c2VyLWluZm8ubW9kZWwnO1xuaW1wb3J0IHsgRmllbGRzVXRpbHMsIEh0dHBFcnJvclNlcnZpY2UsIEh0dHBTZXJ2aWNlLCBMb2FkaW5nU2VydmljZSwgT3JkZXJTZXJ2aWNlLCBSZXRyeVV0aWwsIFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IExpbmtlZENhc2VzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9wYWxldHRlL2xpbmtlZC1jYXNlcy9kb21haW4vbGlua2VkLWNhc2VzLm1vZGVsJztcbmltcG9ydCB7IENhc2VBY2Nlc3NVdGlscyB9IGZyb20gJy4uL2Nhc2UtYWNjZXNzLXV0aWxzJztcbmltcG9ydCB7IFdpemFyZFBhZ2UgfSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHsgV2l6YXJkUGFnZUZpZWxkVG9DYXNlRmllbGRNYXBwZXIgfSBmcm9tICcuL3dpemFyZC1wYWdlLWZpZWxkLXRvLWNhc2UtZmllbGQubWFwcGVyJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhc2VzU2VydmljZSB7XG4gIC8vIEludGVybmFsIChVSSkgQVBJXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfTUVESUFUWVBFX0NBU0VfVklFVyA9ICdhcHBsaWNhdGlvbi92bmQudWsuZ292LmhtY3RzLmNjZC1kYXRhLXN0b3JlLWFwaS51aS1jYXNlLXZpZXcudjIranNvbic7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfTUVESUFUWVBFX1NUQVJUX0NBU0VfVFJJR0dFUiA9XG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC51ay5nb3YuaG1jdHMuY2NkLWRhdGEtc3RvcmUtYXBpLnVpLXN0YXJ0LWNhc2UtdHJpZ2dlci52Mitqc29uO2NoYXJzZXQ9VVRGLTgnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyX01FRElBVFlQRV9TVEFSVF9FVkVOVF9UUklHR0VSID1cbiAgICAnYXBwbGljYXRpb24vdm5kLnVrLmdvdi5obWN0cy5jY2QtZGF0YS1zdG9yZS1hcGkudWktc3RhcnQtZXZlbnQtdHJpZ2dlci52Mitqc29uO2NoYXJzZXQ9VVRGLTgnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyX01FRElBVFlQRV9TVEFSVF9EUkFGVF9UUklHR0VSID1cbiAgICAnYXBwbGljYXRpb24vdm5kLnVrLmdvdi5obWN0cy5jY2QtZGF0YS1zdG9yZS1hcGkudWktc3RhcnQtZHJhZnQtdHJpZ2dlci52Mitqc29uO2NoYXJzZXQ9VVRGLTgnO1xuXG4gIC8vIEV4dGVybmFsIChEYXRhIFN0b3JlKSBBUElcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyX01FRElBVFlQRV9DQVNFX0RPQ1VNRU5UUyA9XG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC51ay5nb3YuaG1jdHMuY2NkLWRhdGEtc3RvcmUtYXBpLmNhc2UtZG9jdW1lbnRzLnYyK2pzb247Y2hhcnNldD1VVEYtOCc7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMl9NRURJQVRZUEVfQ0FTRV9EQVRBX1ZBTElEQVRFID1cbiAgICAnYXBwbGljYXRpb24vdm5kLnVrLmdvdi5obWN0cy5jY2QtZGF0YS1zdG9yZS1hcGkuY2FzZS1kYXRhLXZhbGlkYXRlLnYyK2pzb247Y2hhcnNldD1VVEYtOCc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVjJfTUVESUFUWVBFX0NSRUFURV9FVkVOVCA9XG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC51ay5nb3YuaG1jdHMuY2NkLWRhdGEtc3RvcmUtYXBpLmNyZWF0ZS1ldmVudC52Mitqc29uO2NoYXJzZXQ9VVRGLTgnO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFYyX01FRElBVFlQRV9DUkVBVEVfQ0FTRSA9XG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC51ay5nb3YuaG1jdHMuY2NkLWRhdGEtc3RvcmUtYXBpLmNyZWF0ZS1jYXNlLnYyK2pzb247Y2hhcnNldD1VVEYtOCc7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQVUlfQ0FTRV9NQU5BR0VSID0gJ3B1aS1jYXNlLW1hbmFnZXInO1xuXG4gIHB1YmxpYyBnZXQgPSB0aGlzLmdldENhc2VWaWV3O1xuXG4gIHB1YmxpYyBzdGF0aWMgdXBkYXRlQ2hhbGxlbmdlZEFjY2Vzc1JlcXVlc3RBdHRyaWJ1dGVzKGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsIGNhc2VJZDogc3RyaW5nLCBhdHRyaWJ1dGVzVG9VcGRhdGU6IHsgW3g6IHN0cmluZ106IGFueSB9KVxuICAgIDogT2JzZXJ2YWJsZTxSb2xlQXNzaWdubWVudFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGh0dHBDbGllbnQucG9zdDxSb2xlQXNzaWdubWVudFJlc3BvbnNlPihgL2FwaS9jaGFsbGVuZ2VkLWFjY2Vzcy1yZXF1ZXN0L3VwZGF0ZS1hdHRyaWJ1dGVzYCwge1xuICAgICAgY2FzZUlkLFxuICAgICAgYXR0cmlidXRlc1RvVXBkYXRlXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHVwZGF0ZVNwZWNpZmljQWNjZXNzUmVxdWVzdEF0dHJpYnV0ZXMoaHR0cENsaWVudDogSHR0cENsaWVudCwgY2FzZUlkOiBzdHJpbmcsIGF0dHJpYnV0ZXNUb1VwZGF0ZTogeyBbeDogc3RyaW5nXTogYW55IH0pXG4gICAgOiBPYnNlcnZhYmxlPFJvbGVBc3NpZ25tZW50UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gaHR0cENsaWVudC5wb3N0PFJvbGVBc3NpZ25tZW50UmVzcG9uc2U+KGAvYXBpL3NwZWNpZmljLWFjY2Vzcy1yZXF1ZXN0L3VwZGF0ZS1hdHRyaWJ1dGVzYCwge1xuICAgICAgY2FzZUlkLFxuICAgICAgYXR0cmlidXRlc1RvVXBkYXRlXG4gICAgfSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwQ29uZmlnOiBBYnN0cmFjdEFwcENvbmZpZyxcbiAgICBwcml2YXRlIG9yZGVyU2VydmljZTogT3JkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZXJyb3JTZXJ2aWNlOiBIdHRwRXJyb3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgd2l6YXJkUGFnZUZpZWxkVG9DYXNlRmllbGRNYXBwZXI6IFdpemFyZFBhZ2VGaWVsZFRvQ2FzZUZpZWxkTWFwcGVyLFxuICAgIHByaXZhdGUgbG9hZGluZ1NlcnZpY2U6IExvYWRpbmdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXRyeVV0aWw6IFJldHJ5VXRpbFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlVmlldyhqdXJpc2RpY3Rpb25JZDogc3RyaW5nLFxuICAgIGNhc2VUeXBlSWQ6IHN0cmluZyxcbiAgICBjYXNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q2FzZVZpZXc+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwcENvbmZpZy5nZXRBcGlVcmwoKX0vY2FzZXdvcmtlcnMvOnVpZC9qdXJpc2RpY3Rpb25zLyR7anVyaXNkaWN0aW9uSWR9L2Nhc2UtdHlwZXMvJHtjYXNlVHlwZUlkfS9jYXNlcy8ke2Nhc2VJZH1gO1xuICAgIGNvbnN0IGxvYWRpbmdUb2tlbiA9IHRoaXMubG9hZGluZ1NlcnZpY2UucmVnaXN0ZXIoKTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KHVybClcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yU2VydmljZS5zZXRFcnJvcihlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5sb2FkaW5nU2VydmljZS51bnJlZ2lzdGVyKGxvYWRpbmdUb2tlbikpXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldENhc2VWaWV3VjIoY2FzZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENhc2VWaWV3PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFVcmwoKX0vaW50ZXJuYWwvY2FzZXMvJHtjYXNlSWR9YDtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKClcbiAgICAgIC5zZXQoJ2V4cGVyaW1lbnRhbCcsICd0cnVlJylcbiAgICAgIC5zZXQoJ0FjY2VwdCcsIENhc2VzU2VydmljZS5WMl9NRURJQVRZUEVfQ0FTRV9WSUVXKVxuICAgICAgLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcbiAgICBjb25zdCBsb2FkaW5nVG9rZW4gPSB0aGlzLmxvYWRpbmdTZXJ2aWNlLnJlZ2lzdGVyKCk7XG5cbiAgICBsZXQgaHR0cCQgPSB0aGlzLmh0dHAuZ2V0KHVybCwgeyBoZWFkZXJzLCBvYnNlcnZlOiAnYm9keScgfSk7XG5cbiAgICBjb25zdCBhcnRpZmljaWFsRGVsYXk6IG51bWJlciA9IHRoaXMuYXBwQ29uZmlnLmdldFRpbWVvdXRzQ2FzZVJldHJpZXZhbEFydGlmaWNpYWxEZWxheSgpO1xuICAgIGNvbnN0IHRpbWVvdXRQZXJpb2RzID0gdGhpcy5hcHBDb25maWcuZ2V0VGltZW91dHNGb3JDYXNlUmV0cmlldmFsKCk7XG4gICAgY29uc29sZS5sb2coYFRpbWVvdXQgcGVyaW9kczogJHt0aW1lb3V0UGVyaW9kc30gc2Vjb25kcy5gKTtcbiAgICBpZiAodGltZW91dFBlcmlvZHMgJiYgdGltZW91dFBlcmlvZHMubGVuZ3RoID4gMCAmJiB0aW1lb3V0UGVyaW9kc1swXSA+IDApIHtcbiAgICAgIGh0dHAkID0gdGhpcy5yZXRyeVV0aWwucGlwZVRpbWVvdXRNZWNoYW5pc21PbihodHRwJCwgYXJ0aWZpY2lhbERlbGF5LCB0aW1lb3V0UGVyaW9kcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybignU2tpcHBpbmcgdG8gcGlwZSBhIHJldHJ5IG1lY2hhbmlzbSEnKTtcbiAgICB9XG5cbiAgICBodHRwJCA9IHRoaXMucGlwZUVycm9yUHJvY2Vzc29yKGh0dHAkKTtcblxuICAgIGh0dHAkID0gaHR0cCQucGlwZShmaW5hbGl6ZSgoKSA9PiB0aGlzLmZpbmFsaXplR2V0Q2FzZVZpZXdXaXRoKGNhc2VJZCwgbG9hZGluZ1Rva2VuKSkpO1xuXG4gICAgcmV0dXJuIGh0dHAkO1xuICB9XG5cbiAgcHJpdmF0ZSBwaXBlRXJyb3JQcm9jZXNzb3IoaW4kOiBPYnNlcnZhYmxlPENhc2VWaWV3Pik6IE9ic2VydmFibGU8Q2FzZVZpZXc+IHtcbiAgICBjb25zdCBvdXQkID0gaW4kLnBpcGUoY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICBjb25zb2xlLmVycm9yKGBFcnJvciB3aGlsZSBnZXR0aW5nIGNhc2UgdmlldyB3aXRoIGdldENhc2VWaWV3VjIhIEVycm9yIHR5cGU6ICcke3R5cGVvZiBlcnJvcn0sIEVycm9yIG5hbWU6ICcke2Vycm9yPy5uYW1lfSdgKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgdGhpcy5lcnJvclNlcnZpY2Uuc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgIH0pKTtcbiAgICByZXR1cm4gb3V0JDtcbiAgfVxuXG4gIHByaXZhdGUgZmluYWxpemVHZXRDYXNlVmlld1dpdGgoY2FzZUlkOiBzdHJpbmcsIGxvYWRpbmdUb2tlbjogc3RyaW5nKSB7XG4gICAgdGhpcy5sb2FkaW5nU2VydmljZS51bnJlZ2lzdGVyKGxvYWRpbmdUb2tlbik7XG4gIH1cblxuICBwdWJsaWMgc3luY1dhaXQoc2Vjb25kcykge1xuICAgIGNvbnN0IGVuZCA9IERhdGUubm93KCkgKyBzZWNvbmRzICogMTAwMDtcbiAgICB3aGlsZSAoRGF0ZS5ub3coKSA8IGVuZCkgY29udGludWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0RXZlbnRUcmlnZ2VyKGNhc2VUeXBlSWQ6IHN0cmluZyxcbiAgICBldmVudFRyaWdnZXJJZDogc3RyaW5nLFxuICAgIGNhc2VJZD86IHN0cmluZyxcbiAgICBpZ25vcmVXYXJuaW5nPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxDYXNlRXZlbnRUcmlnZ2VyPiB7XG4gICAgaWdub3JlV2FybmluZyA9IHVuZGVmaW5lZCAhPT0gaWdub3JlV2FybmluZyA/IGlnbm9yZVdhcm5pbmcgOiAnZmFsc2UnO1xuICAgIGNvbnN0IHVybCA9IHRoaXMuYnVpbGRFdmVudFRyaWdnZXJVcmwoY2FzZVR5cGVJZCwgZXZlbnRUcmlnZ2VySWQsIGNhc2VJZCwgaWdub3JlV2FybmluZyk7XG5cbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xuICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnZXhwZXJpbWVudGFsJywgJ3RydWUnKTtcbiAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XG4gICAgaGVhZGVycyA9IHRoaXMuYWRkQ2xpZW50Q29udGV4dEhlYWRlcihoZWFkZXJzKTtcblxuICAgIGlmIChEcmFmdC5pc0RyYWZ0KGNhc2VJZCkpIHtcbiAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgQ2FzZXNTZXJ2aWNlLlYyX01FRElBVFlQRV9TVEFSVF9EUkFGVF9UUklHR0VSKTtcbiAgICB9IGVsc2UgaWYgKGNhc2VJZCAhPT0gdW5kZWZpbmVkICYmIGNhc2VJZCAhPT0gbnVsbCkge1xuICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBDYXNlc1NlcnZpY2UuVjJfTUVESUFUWVBFX1NUQVJUX0VWRU5UX1RSSUdHRVIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIENhc2VzU2VydmljZS5WMl9NRURJQVRZUEVfU1RBUlRfQ0FTRV9UUklHR0VSKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KHVybCwgeyBoZWFkZXJzLCBvYnNlcnZlOiAncmVzcG9uc2UnIGFzICdib2R5J30pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2xpZW50Q29udGV4dFN0b3JhZ2UocmVzcG9uc2UuaGVhZGVycyk7XG4gICAgICAgICAgcmV0dXJuIEZpZWxkc1V0aWxzLmhhbmRsZU5lc3RlZER5bmFtaWNMaXN0cyhyZXNwb25zZS5ib2R5KTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLnNldEVycm9yKGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pLFxuICAgICAgICBtYXAoKHApID0+IHBsYWluVG9DbGFzcyhDYXNlRXZlbnRUcmlnZ2VyLCBwKSksXG4gICAgICAgIHRhcChldmVudFRyaWdnZXIgPT4gdGhpcy5pbml0aWFsaXNlRXZlbnRUcmlnZ2VyKGV2ZW50VHJpZ2dlcikpXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZUV2ZW50KGNhc2VEZXRhaWxzOiBDYXNlVmlldywgZXZlbnREYXRhOiBDYXNlRXZlbnREYXRhKTogT2JzZXJ2YWJsZTx7fT4ge1xuICAgIGNvbnN0IGNhc2VJZCA9IGNhc2VEZXRhaWxzLmNhc2VfaWQ7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFVcmwoKX0vY2FzZXMvJHtjYXNlSWR9L2V2ZW50c2A7XG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKVxuICAgICAgLnNldCgnZXhwZXJpbWVudGFsJywgJ3RydWUnKVxuICAgICAgLnNldCgnQWNjZXB0JywgQ2FzZXNTZXJ2aWNlLlYyX01FRElBVFlQRV9DUkVBVEVfRVZFTlQpXG4gICAgICAuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xuICAgIGhlYWRlcnMgPSB0aGlzLmFkZENsaWVudENvbnRleHRIZWFkZXIoaGVhZGVycyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QodXJsLCBldmVudERhdGEsIHsgaGVhZGVycywgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyBhcyAnYm9keScgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy51cGRhdGVDbGllbnRDb250ZXh0U3RvcmFnZShyZXNwb25zZS5oZWFkZXJzKTtcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuYm9keTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLnNldEVycm9yKGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlQ2FzZShjdGlkOiBzdHJpbmcsIGV2ZW50RGF0YTogQ2FzZUV2ZW50RGF0YSwgcGFnZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIGNvbnN0IHBhZ2VJZFN0cmluZyA9IHBhZ2VJZCA/IGA/cGFnZUlkPSR7cGFnZUlkfWAgOiAnJztcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwcENvbmZpZy5nZXRDYXNlRGF0YVVybCgpfS9jYXNlLXR5cGVzLyR7Y3RpZH0vdmFsaWRhdGUke3BhZ2VJZFN0cmluZ31gO1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKClcbiAgICAgIC5zZXQoJ2V4cGVyaW1lbnRhbCcsICd0cnVlJylcbiAgICAgIC5zZXQoJ0FjY2VwdCcsIENhc2VzU2VydmljZS5WMl9NRURJQVRZUEVfQ0FTRV9EQVRBX1ZBTElEQVRFKVxuICAgICAgLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcbiAgICBoZWFkZXJzID0gdGhpcy5hZGRDbGllbnRDb250ZXh0SGVhZGVyKGhlYWRlcnMpO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0KHVybCwgZXZlbnREYXRhLCB7IGhlYWRlcnMsIG9ic2VydmU6ICdyZXNwb25zZScgYXMgJ2JvZHknIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2xpZW50Q29udGV4dFN0b3JhZ2UocmVzcG9uc2UuaGVhZGVycyk7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmJvZHk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yU2VydmljZS5zZXRFcnJvcihlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVDYXNlKGN0aWQ6IHN0cmluZywgZXZlbnREYXRhOiBDYXNlRXZlbnREYXRhKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICBsZXQgaWdub3JlV2FybmluZyA9ICdmYWxzZSc7XG4gICAgaWYgKGV2ZW50RGF0YS5pZ25vcmVfd2FybmluZykge1xuICAgICAgaWdub3JlV2FybmluZyA9ICd0cnVlJztcbiAgICB9XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFVcmwoKX0vY2FzZS10eXBlcy8ke2N0aWR9L2Nhc2VzP2lnbm9yZS13YXJuaW5nPSR7aWdub3JlV2FybmluZ31gO1xuXG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKVxuICAgICAgLnNldCgnZXhwZXJpbWVudGFsJywgJ3RydWUnKVxuICAgICAgLnNldCgnQWNjZXB0JywgQ2FzZXNTZXJ2aWNlLlYyX01FRElBVFlQRV9DUkVBVEVfQ0FTRSlcbiAgICAgIC5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XG4gICAgaGVhZGVycyA9IHRoaXMuYWRkQ2xpZW50Q29udGV4dEhlYWRlcihoZWFkZXJzKTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdCh1cmwsIGV2ZW50RGF0YSwgeyBoZWFkZXJzLCBvYnNlcnZlOiAncmVzcG9uc2UnIGFzICdib2R5JyB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNsaWVudENvbnRleHRTdG9yYWdlKHJlc3BvbnNlLmhlYWRlcnMpO1xuICAgICAgICAgIHJldHVybiByZXNwb25zZS5ib2R5O1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvclNlcnZpY2Uuc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UHJpbnREb2N1bWVudHMoY2FzZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENhc2VQcmludERvY3VtZW50W10+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwcENvbmZpZy5nZXRDYXNlRGF0YVVybCgpfS9jYXNlcy8ke2Nhc2VJZH0vZG9jdW1lbnRzYDtcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpXG4gICAgICAuc2V0KCdleHBlcmltZW50YWwnLCAndHJ1ZScpXG4gICAgICAuc2V0KCdBY2NlcHQnLCBDYXNlc1NlcnZpY2UuVjJfTUVESUFUWVBFX0NBU0VfRE9DVU1FTlRTKVxuICAgICAgLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcbiAgICBoZWFkZXJzID0gdGhpcy5hZGRDbGllbnRDb250ZXh0SGVhZGVyKGhlYWRlcnMpO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQodXJsLCB7IGhlYWRlcnMsIG9ic2VydmU6ICdyZXNwb25zZScgYXMgJ2JvZHknIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2xpZW50Q29udGV4dFN0b3JhZ2UocmVzcG9uc2UuaGVhZGVycyk7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmJvZHkuZG9jdW1lbnRSZXNvdXJjZXM7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yU2VydmljZS5zZXRFcnJvcihlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRFdmVudFRyaWdnZXJVcmwoY2FzZVR5cGVJZDogc3RyaW5nLFxuICAgIGV2ZW50VHJpZ2dlcklkOiBzdHJpbmcsXG4gICAgY2FzZUlkPzogc3RyaW5nLFxuICAgIGlnbm9yZVdhcm5pbmc/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCB1cmwgPSBgJHt0aGlzLmFwcENvbmZpZy5nZXRDYXNlRGF0YVVybCgpfS9pbnRlcm5hbGA7XG4gICAgaWYgKERyYWZ0LmlzRHJhZnQoY2FzZUlkKSkge1xuICAgICAgdXJsICs9IGAvZHJhZnRzLyR7Y2FzZUlkfWBcbiAgICAgICAgKyBgL2V2ZW50LXRyaWdnZXJgXG4gICAgICAgICsgYD9pZ25vcmUtd2FybmluZz0ke2lnbm9yZVdhcm5pbmd9YDtcbiAgICB9IGVsc2UgaWYgKGNhc2VUeXBlSWQgPT09IHVuZGVmaW5lZCB8fCBjYXNlVHlwZUlkID09PSBudWxsKSB7XG4gICAgICB1cmwgKz0gYC9jYXNlcy8ke2Nhc2VJZH1gXG4gICAgICAgICsgYC9ldmVudC10cmlnZ2Vycy8ke2V2ZW50VHJpZ2dlcklkfWBcbiAgICAgICAgKyBgP2lnbm9yZS13YXJuaW5nPSR7aWdub3JlV2FybmluZ31gO1xuICAgIH0gZWxzZSB7XG4gICAgICB1cmwgKz0gYC9jYXNlLXR5cGVzLyR7Y2FzZVR5cGVJZH1gXG4gICAgICAgICsgYC9ldmVudC10cmlnZ2Vycy8ke2V2ZW50VHJpZ2dlcklkfWBcbiAgICAgICAgKyBgP2lnbm9yZS13YXJuaW5nPSR7aWdub3JlV2FybmluZ31gO1xuICAgIH1cblxuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpc2VFdmVudFRyaWdnZXIoZXZlbnRUcmlnZ2VyOiBDYXNlRXZlbnRUcmlnZ2VyKSB7XG4gICAgaWYgKCFldmVudFRyaWdnZXIud2l6YXJkX3BhZ2VzKSB7XG4gICAgICBldmVudFRyaWdnZXIud2l6YXJkX3BhZ2VzID0gW107XG4gICAgfVxuXG4gICAgZXZlbnRUcmlnZ2VyLndpemFyZF9wYWdlcy5mb3JFYWNoKCh3aXphcmRQYWdlOiBXaXphcmRQYWdlKSA9PiB7XG4gICAgICB3aXphcmRQYWdlLnBhcnNlZFNob3dDb25kaXRpb24gPSBTaG93Q29uZGl0aW9uLmdldEluc3RhbmNlKHdpemFyZFBhZ2Uuc2hvd19jb25kaXRpb24pO1xuICAgICAgd2l6YXJkUGFnZS5jYXNlX2ZpZWxkcyA9IHRoaXMub3JkZXJTZXJ2aWNlLnNvcnQoXG4gICAgICAgIHRoaXMud2l6YXJkUGFnZUZpZWxkVG9DYXNlRmllbGRNYXBwZXIubWFwQWxsKHdpemFyZFBhZ2Uud2l6YXJkX3BhZ2VfZmllbGRzLCBldmVudFRyaWdnZXIuY2FzZV9maWVsZHMpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb3VydE9ySGVhcmluZ0NlbnRyZU5hbWUobG9jYXRpb25JZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYC9hcGkvbG9jYXRpb25zL2dldExvY2F0aW9uc0J5SWRgLCB7IGxvY2F0aW9uczogW3sgbG9jYXRpb25JZCB9XSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVDaGFsbGVuZ2VkQWNjZXNzUmVxdWVzdChjYXNlSWQ6IHN0cmluZywgcmVxdWVzdDogQ2hhbGxlbmdlZEFjY2Vzc1JlcXVlc3QpOiBPYnNlcnZhYmxlPFJvbGVBc3NpZ25tZW50UmVzcG9uc2U+IHtcbiAgICAvLyBBc3NpZ25tZW50IEFQSSBlbmRwb2ludFxuICAgIGNvbnN0IHVzZXJJbmZvU3RyID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndXNlckRldGFpbHMnKTtcbiAgICBjb25zdCBjYW1VdGlscyA9IG5ldyBDYXNlQWNjZXNzVXRpbHMoKTtcbiAgICBsZXQgdXNlckluZm86IFVzZXJJbmZvO1xuICAgIGlmICh1c2VySW5mb1N0cikge1xuICAgICAgdXNlckluZm8gPSBKU09OLnBhcnNlKHVzZXJJbmZvU3RyKTtcbiAgICB9XG5cbiAgICBjb25zdCByb2xlQ2F0ZWdvcnk6IFJvbGVDYXRlZ29yeSA9IHVzZXJJbmZvLnJvbGVDYXRlZ29yeSB8fCBjYW1VdGlscy5nZXRNYXBwZWRSb2xlQ2F0ZWdvcnkodXNlckluZm8ucm9sZXMsIHVzZXJJbmZvLnJvbGVDYXRlZ29yaWVzKTtcbiAgICBjb25zdCByb2xlTmFtZSA9IGNhbVV0aWxzLmdldEFNUm9sZU5hbWUoJ2NoYWxsZW5nZWQnLCByb2xlQ2F0ZWdvcnkpO1xuICAgIGNvbnN0IGJlZ2luVGltZSA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgZW5kVGltZSA9IG5ldyBEYXRlKG5ldyBEYXRlKCkuc2V0VVRDSG91cnMoMjMsIDU5LCA1OSwgOTk5KSk7XG4gICAgY29uc3QgaWQgPSB1c2VySW5mby5pZCA/IHVzZXJJbmZvLmlkIDogdXNlckluZm8udWlkO1xuICAgIGNvbnN0IGlzTmV3ID0gdHJ1ZTtcblxuICAgIGNvbnN0IHBheWxvYWQ6IFJvbGVSZXF1ZXN0UGF5bG9hZCA9IGNhbVV0aWxzLmdldEFNUGF5bG9hZChpZCxcbiAgICAgIGlkLFxuICAgICAgcm9sZU5hbWUsXG4gICAgICByb2xlQ2F0ZWdvcnksXG4gICAgICAnQ0hBTExFTkdFRCcsXG4gICAgICBjYXNlSWQsXG4gICAgICByZXF1ZXN0LFxuICAgICAgYmVnaW5UaW1lLFxuICAgICAgZW5kVGltZSxcbiAgICAgIGlzTmV3XG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgL2FwaS9jaGFsbGVuZ2VkLWFjY2Vzcy1yZXF1ZXN0YCwgcGF5bG9hZCk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0KGNhc2VJZDogc3RyaW5nLCBzYXI6IFNwZWNpZmljQWNjZXNzUmVxdWVzdCk6IE9ic2VydmFibGU8Um9sZUFzc2lnbm1lbnRSZXNwb25zZT4ge1xuICAgIC8vIEFzc2lnbm1lbnQgQVBJIGVuZHBvaW50XG4gICAgY29uc3QgdXNlckluZm9TdHIgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCd1c2VyRGV0YWlscycpO1xuXG4gICAgY29uc3QgY2FtVXRpbHMgPSBuZXcgQ2FzZUFjY2Vzc1V0aWxzKCk7XG4gICAgbGV0IHVzZXJJbmZvOiBVc2VySW5mbztcbiAgICBpZiAodXNlckluZm9TdHIpIHtcbiAgICAgIHVzZXJJbmZvID0gSlNPTi5wYXJzZSh1c2VySW5mb1N0cik7XG4gICAgfVxuXG4gICAgY29uc3Qgcm9sZUNhdGVnb3J5OiBSb2xlQ2F0ZWdvcnkgPSB1c2VySW5mby5yb2xlQ2F0ZWdvcnkgfHwgY2FtVXRpbHMuZ2V0TWFwcGVkUm9sZUNhdGVnb3J5KHVzZXJJbmZvLnJvbGVzLCB1c2VySW5mby5yb2xlQ2F0ZWdvcmllcyk7XG4gICAgY29uc3Qgcm9sZU5hbWUgPSBjYW1VdGlscy5nZXRBTVJvbGVOYW1lKCdzcGVjaWZpYycsIHJvbGVDYXRlZ29yeSk7XG4gICAgY29uc3QgaWQgPSB1c2VySW5mby5pZCA/IHVzZXJJbmZvLmlkIDogdXNlckluZm8udWlkO1xuICAgIGNvbnN0IHBheWxvYWQ6IFJvbGVSZXF1ZXN0UGF5bG9hZCA9IGNhbVV0aWxzLmdldEFNUGF5bG9hZChudWxsLCBpZCxcbiAgICAgIHJvbGVOYW1lLCByb2xlQ2F0ZWdvcnksICdTUEVDSUZJQycsIGNhc2VJZCwgc2FyLCBudWxsLCBudWxsLCB0cnVlKTtcblxuICAgIHBheWxvYWQucm9sZVJlcXVlc3QgPSB7XG4gICAgICAuLi5wYXlsb2FkLnJvbGVSZXF1ZXN0LFxuICAgICAgcHJvY2VzczogJ3NwZWNpZmljLWFjY2VzcycsXG4gICAgICByZXBsYWNlRXhpc3Rpbmc6IHRydWUsXG4gICAgICBhc3NpZ25lcklkOiBwYXlsb2FkLnJlcXVlc3RlZFJvbGVzWzBdLmFjdG9ySWQsXG4gICAgICByZWZlcmVuY2U6IGAke2Nhc2VJZH0vJHtyb2xlTmFtZX0vJHtwYXlsb2FkLnJlcXVlc3RlZFJvbGVzWzBdLmFjdG9ySWR9YFxuICAgIH07XG5cbiAgICBwYXlsb2FkLnJlcXVlc3RlZFJvbGVzWzBdID0ge1xuICAgICAgLi4ucGF5bG9hZC5yZXF1ZXN0ZWRSb2xlc1swXSxcbiAgICAgIHJvbGVOYW1lOiAnc3BlY2lmaWMtYWNjZXNzLXJlcXVlc3RlZCcsXG4gICAgICByb2xlQ2F0ZWdvcnksXG4gICAgICBjbGFzc2lmaWNhdGlvbjogJ1BSSVZBVEUnLFxuICAgICAgZW5kVGltZTogbmV3IERhdGUobmV3IERhdGUoKS5zZXREYXRlKG5ldyBEYXRlKCkuZ2V0RGF0ZSgpICsgMzApKSxcbiAgICAgIGJlZ2luVGltZTogbnVsbCxcbiAgICAgIGdyYW50VHlwZTogJ0JBU0lDJyxcbiAgICAgIHJlYWRPbmx5OiB0cnVlXG4gICAgfTtcblxuICAgIHBheWxvYWQucmVxdWVzdGVkUm9sZXNbMF0uYXR0cmlidXRlcyA9IHtcbiAgICAgIC4uLnBheWxvYWQucmVxdWVzdGVkUm9sZXNbMF0uYXR0cmlidXRlcyxcbiAgICAgIHJlcXVlc3RlZFJvbGU6IHJvbGVOYW1lLFxuICAgICAgc3BlY2lmaWNBY2Nlc3NSZWFzb246IHNhci5zcGVjaWZpY1JlYXNvblxuICAgIH07XG5cbiAgICBwYXlsb2FkLnJlcXVlc3RlZFJvbGVzWzBdLm5vdGVzWzBdID0ge1xuICAgICAgLi4ucGF5bG9hZC5yZXF1ZXN0ZWRSb2xlc1swXS5ub3Rlc1swXSxcbiAgICAgIHVzZXJJZDogcGF5bG9hZC5yZXF1ZXN0ZWRSb2xlc1swXS5hY3RvcklkXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcbiAgICAgIGAvYXBpL3NwZWNpZmljLWFjY2Vzcy1yZXF1ZXN0YCxcbiAgICAgIHBheWxvYWRcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldExpbmtlZENhc2VzKGNhc2VJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxMaW5rZWRDYXNlc1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5hcHBDb25maWcuZ2V0Q2FzZURhdGFTdG9yZUFwaVVybCgpfS8ke2Nhc2VJZH1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQodXJsKVxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcihlcnJvciA9PiB0aHJvd0Vycm9yKGVycm9yKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRDbGllbnRDb250ZXh0SGVhZGVyKGhlYWRlcnM6IEh0dHBIZWFkZXJzKTogSHR0cEhlYWRlcnMge1xuICAgIGNvbnN0IGNsaWVudENvbnRleHREZXRhaWxzID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnY2xpZW50Q29udGV4dCcpO1xuICAgIGlmIChjbGllbnRDb250ZXh0RGV0YWlscykge1xuICAgICAgLy8gbWF5IHJlcXVpcmUgVVJJIGVuY29kaW5nIGluIGNlcnRhaW4gY2lyY3Vtc3RhbmNlc1xuICAgICAgY29uc3QgY2xpZW50Q29udGV4dCA9IHdpbmRvdy5idG9hKGNsaWVudENvbnRleHREZXRhaWxzKTtcbiAgICAgIGlmIChjbGllbnRDb250ZXh0KSB7XG4gICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQ2xpZW50LUNvbnRleHQnLCBjbGllbnRDb250ZXh0KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGhlYWRlcnM7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNsaWVudENvbnRleHRTdG9yYWdlKGhlYWRlcnM6IEh0dHBIZWFkZXJzKTogdm9pZCB7XG4gICAgLy8gZm9yIG1vY2tpbmcgLSBUT0RPOiBLYXNpIFJlbW92ZS9VbmNvbW1lbnQgZm9yIHRlc3RpbmdcbiAgICAvLyBoZWFkZXJzID0gdGhpcy5zZXRNb2NrQ2xpZW50Q29udGV4dEhlYWRlcihoZWFkZXJzKTtcbiAgICBpZiAoaGVhZGVycyAmJiBoZWFkZXJzLmdldCgnQ2xpZW50LUNvbnRleHQnKSkge1xuICAgICAgY29uc3QgY2xpZW50Q29udGV4dFN0cmluZyA9IHdpbmRvdy5hdG9iKGhlYWRlcnMuZ2V0KCdDbGllbnQtQ29udGV4dCcpKTtcbiAgICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ2NsaWVudENvbnRleHQnLCBjbGllbnRDb250ZXh0U3RyaW5nKTtcbiAgICB9XG4gIH1cblxuICAvLyBmb3IgbW9ja2luZyAtIFRPRE86IEthc2kgUmVtb3ZlL1VuY29tbWVudCBmb3IgdGVzdGluZ1xuICAvKiBwcml2YXRlIHNldE1vY2tDbGllbnRDb250ZXh0SGVhZGVyKGhlYWRlcnM6IEh0dHBIZWFkZXJzKTogSHR0cEhlYWRlcnMge1xuICAgIGNvbnN0IG1vY2tDbGllbnRDb250ZXh0ID0geyBjbGllbnRfY29udGV4dDoge1xuICAgICAgdXNlcl90YXNrOiB7XG4gICAgICAgIHRhc2tfZGF0YToge1xuICAgICAgICAgIC8vIFJlcGxhY2Ugd2l0aCByZWxldmFudCB0YXNrIGlkIHRvIGNvbXBsZXRlIG90aGVyL2N1cnJlbnQgdGFza1xuICAgICAgICAgIGlkOiBcIjJjN2UwM2NjLTE4ZTgtMTFlZi1iZmQwLTc2MzMxOWIyMWNlYVwiLFxuICAgICAgICAgIC8vIENhbiBlZGl0IG90aGVyIGRldGFpbHMgdG8gY2hlY2sgdGhleSB1cGRhdGVcbiAgICAgICAgICBuYW1lOiBcIlJldmlldyB0aGUgYXBwZWFsIC0gVGVzdCBtb2NrZWRcIixcbiAgICAgICAgICBhc3NpZ25lZTogXCJkZmQ0YzJkMS02N2IxLTQwZjktODY4MC1jOTU1MTYzMmY1ZDlcIixcbiAgICAgICAgICB0eXBlOiBcInJldmlld1RoZUFwcGVhbFwiLFxuICAgICAgICAgIHRhc2tfc3RhdGU6IFwiYXNzaWduZWRcIixcbiAgICAgICAgICB0YXNrX3N5c3RlbTogXCJTRUxGXCIsXG4gICAgICAgICAgc2VjdXJpdHlfY2xhc3NpZmljYXRpb246IFwiUFVCTElDXCIsXG4gICAgICAgICAgdGFza190aXRsZTogXCJSZXZpZXcgdGhlIGFwcGVhbFwiLFxuICAgICAgICAgIGNyZWF0ZWRfZGF0ZTogXCIyMDI0LTA1LTIzVDA5OjM4OjEyKzAwMDBcIixcbiAgICAgICAgICBkdWVfZGF0ZTogXCIyMDI0LTA1LTI4VDA5OjM5OjAwKzAwMDBcIixcbiAgICAgICAgICBsb2NhdGlvbl9uYW1lOiBcIlRheWxvciBIb3VzZVwiLFxuICAgICAgICAgIGxvY2F0aW9uOiBcIjc2NTMyNFwiLFxuICAgICAgICAgIGV4ZWN1dGlvbl90eXBlOiBcIkNhc2UgTWFuYWdlbWVudCBUYXNrXCIsXG4gICAgICAgICAganVyaXNkaWN0aW9uOiBcIklBXCIsXG4gICAgICAgICAgcmVnaW9uOiBcIjFcIixcbiAgICAgICAgICBjYXNlX3R5cGVfaWQ6IFwiQXN5bHVtXCIsXG4gICAgICAgICAgY2FzZV9pZDogXCIxNzE2NDU2OTI2NTAyNjk4XCIsXG4gICAgICAgICAgY2FzZV9jYXRlZ29yeTogXCJQcm90ZWN0aW9uXCIsXG4gICAgICAgICAgY2FzZV9uYW1lOiBcIkFpcHAgQ2hlY2tcIixcbiAgICAgICAgICBhdXRvX2Fzc2lnbmVkOiBmYWxzZSxcbiAgICAgICAgICB3YXJuaW5nczogZmFsc2UsXG4gICAgICAgICAgd2FybmluZ19saXN0OiB7IHZhbHVlczogW10gfSxcbiAgICAgICAgICBjYXNlX21hbmFnZW1lbnRfY2F0ZWdvcnk6IFwiUHJvdGVjdGlvblwiLFxuICAgICAgICAgIHdvcmtfdHlwZV9pZDogXCJkZWNpc2lvbl9tYWtpbmdfd29ya1wiLFxuICAgICAgICAgIHdvcmtfdHlwZV9sYWJlbDogXCJEZWNpc2lvbi1tYWtpbmcgd29ya1wiLFxuICAgICAgICAgIHBlcm1pc3Npb25zOiB7IHZhbHVlcyA6IFtcIlJlYWRcIixcIk93blwiLFwiTWFuYWdlXCIsXCJFeGVjdXRlXCIsXCJDYW5jZWxcIixcIkNvbXBsZXRlXCIsXCJDbGFpbVwiLFwiQXNzaWduXCIsXCJVbmFzc2lnblwiXSB9LFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIltSZXF1ZXN0IHJlc3BvbmRlbnQgZXZpZGVuY2VdKC9jYXNlL0lBL0FzeWx1bS8ke1tDQVNFX1JFRkVSRU5DRV19L3RyaWdnZXIvcmVxdWVzdFJlc3BvbmRlbnRFdmlkZW5jZSlcIixcbiAgICAgICAgICByb2xlX2NhdGVnb3J5OiBcIkxFR0FMX09QRVJBVElPTlNcIixcbiAgICAgICAgICBtaW5vcl9wcmlvcml0eTogNTAwLFxuICAgICAgICAgIG1ham9yX3ByaW9yaXR5OiA1MDAwLFxuICAgICAgICAgIHByaW9yaXR5X2RhdGU6IFwiMjAyNC0wNS0yOFQwOTozOTowMCswMDAwXCJcbiAgICAgICAgfSxcbiAgICAgICAgLy8gZGV0ZXJtaW5lcyB3aGV0aGVyIHRhc2sgd2lsbCBiZSBjb21wbGV0ZWQgLSBzZXRzIGRlZmF1bHQgdG8gdHJ1ZSB2aWEgRVhVSVxuICAgICAgICBjb21wbGV0ZV90YXNrOiB0cnVlXG4gICAgICB9XG4gICAgfX07XG4gICAgY29uc3QgZW5jb2RlZE1vY2tlZENsaWVudENvbnRleHQgPSB3aW5kb3cuYnRvYShKU09OLnN0cmluZ2lmeShtb2NrQ2xpZW50Q29udGV4dCkpO1xuICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQ2xpZW50LUNvbnRleHQnLCBlbmNvZGVkTW9ja2VkQ2xpZW50Q29udGV4dCk7XG4gICAgcmV0dXJuIGhlYWRlcnM7XG4gIH0gKi9cbn1cbiJdfQ==
|
|
@@ -78,7 +78,9 @@ export class EventCompletionStateMachineService {
|
|
|
78
78
|
entryActionForStateCompleteEventAndTask(state, context) {
|
|
79
79
|
// Trigger final state to complete processing of state machine
|
|
80
80
|
state.trigger(EventCompletionStates.Final);
|
|
81
|
-
|
|
81
|
+
const clientContextStr = context.sessionStorageService.getItem('clientContext');
|
|
82
|
+
const userTask = FieldsUtils.getUserTaskFromClientContext(clientContextStr);
|
|
83
|
+
if (userTask?.task_data) {
|
|
82
84
|
context.sessionStorageService.setItem('assignNeeded', 'false');
|
|
83
85
|
// just set event can be completed
|
|
84
86
|
context.component.eventCanBeCompleted.emit(true);
|
|
@@ -97,7 +99,9 @@ export class EventCompletionStateMachineService {
|
|
|
97
99
|
entryActionForStateTaskUnassigned(state, context) {
|
|
98
100
|
// Trigger final state to complete processing of state machine
|
|
99
101
|
state.trigger(EventCompletionStates.Final);
|
|
100
|
-
|
|
102
|
+
const clientContextStr = context.sessionStorageService.getItem('clientContext');
|
|
103
|
+
const userTask = FieldsUtils.getUserTaskFromClientContext(clientContextStr);
|
|
104
|
+
if (userTask?.task_data) {
|
|
101
105
|
context.sessionStorageService.setItem('assignNeeded', 'true');
|
|
102
106
|
context.component.eventCanBeCompleted.emit(true);
|
|
103
107
|
}
|
|
@@ -132,10 +136,11 @@ export class EventCompletionStateMachineService {
|
|
|
132
136
|
addTransitionsForStateTaskUnassigned() {
|
|
133
137
|
this.stateTaskUnassigned.addTransition(EventCompletionStates.Final, this.stateFinal);
|
|
134
138
|
}
|
|
135
|
-
|
|
139
|
+
taskPresentInSessionStorage(context) {
|
|
136
140
|
const clientContextStr = context.sessionStorageService.getItem('clientContext');
|
|
141
|
+
console.log('clienht cintedt ', clientContextStr);
|
|
137
142
|
const userTask = FieldsUtils.getUserTaskFromClientContext(clientContextStr);
|
|
138
|
-
return userTask
|
|
143
|
+
return !!userTask.task_data;
|
|
139
144
|
}
|
|
140
145
|
}
|
|
141
146
|
EventCompletionStateMachineService.ɵfac = function EventCompletionStateMachineService_Factory(t) { return new (t || EventCompletionStateMachineService)(); };
|
|
@@ -143,4 +148,4 @@ EventCompletionStateMachineService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectabl
|
|
|
143
148
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventCompletionStateMachineService, [{
|
|
144
149
|
type: Injectable
|
|
145
150
|
}], null, null); })();
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtY29tcGxldGlvbi1zdGF0ZS1tYWNoaW5lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvY2FzZS1lZGl0b3Ivc2VydmljZXMvZXZlbnQtY29tcGxldGlvbi1zdGF0ZS1tYWNoaW5lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVMsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFRLFNBQVMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRTNGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFaEQsTUFBTSw4QkFBOEIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUd4RSxNQUFNLE9BQU8sa0NBQWtDO0lBWXRDLHNCQUFzQixDQUFDLE9BQTJDO1FBQ3ZFLE9BQU8sSUFBSSxZQUFZLENBQUMsOEJBQThCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFlBQTBCO1FBQ2pELFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVNLFlBQVksQ0FBQyxZQUEwQjtRQUM1QyxnQkFBZ0I7UUFDaEIsSUFBSSxDQUFDLDZCQUE2QixHQUFHLFlBQVksQ0FBQyxXQUFXLENBQzNELHFCQUFxQixDQUFDLHdCQUF3QixFQUM5QyxL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SUFFTSw4Q0FBOEM7UUFDbkQsSUFBSSxDQUFDLDZCQUE2QixDQUFDLGFBQWEsQ0FDOUMscUJBQXFCLENBQUMsS0FBSyxFQUMzQixJQUFJLENBQUMsVUFBVSxDQUNoQixDQUFDO0lBQ0osQ0FBQztJQUVNLDBDQUEwQztRQUMvQyxJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxDQUMxQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQzNCLElBQUksQ0FBQyxVQUFVLENBQ2hCLENBQUM7SUFDSixDQUFDO0lBRU0sK0NBQStDO1FBQ3BELElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxhQUFhLENBQy9DLHFCQUFxQixDQUFDLEtBQUssRUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FDaEIsQ0FBQztJQUNKLENBQUM7SUFFTSxvQ0FBb0M7UUFDekMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FDcEMscUJBQXFCLENBQUMsS0FBSyxFQUMzQixJQUFJLENBQUMsVUFBVSxDQUNoQixDQUFDO0lBQ0osQ0FBQztJQUVPLHdCQUF3QixDQUFDLE9BQTJDO1FBQzFFLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNoRixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsNEJBQTRCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM1RSxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzlDLENBQUM7O29IQWpOVSxrQ0FBa0M7d0ZBQWxDLGtDQUFrQyxXQUFsQyxrQ0FBa0M7dUZBQWxDLGtDQUFrQztjQUQ5QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RhdGUsIFN0YXRlTWFjaGluZSB9IGZyb20gJ0BlZGl1bS9mc20nO1xuaW1wb3J0IHsgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGFzaywgVGFza1N0YXRlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL3dvcmstYWxsb2NhdGlvbi9UYXNrJztcbmltcG9ydCB7IEV2ZW50Q29tcGxldGlvblBvcnRhbFR5cGVzIH0gZnJvbSAnLi4vZG9tYWluL2V2ZW50LWNvbXBsZXRpb24tcG9ydGFsLXR5cGVzLm1vZGVsJztcbmltcG9ydCB7IEV2ZW50Q29tcGxldGlvblN0YXRlTWFjaGluZUNvbnRleHQgfSBmcm9tICcuLi9kb21haW4vZXZlbnQtY29tcGxldGlvbi1zdGF0ZS1tYWNoaW5lLWNvbnRleHQubW9kZWwnO1xuaW1wb3J0IHsgRXZlbnRDb21wbGV0aW9uU3RhdGVzIH0gZnJvbSAnLi4vZG9tYWluL2V2ZW50LWNvbXBsZXRpb24tc3RhdGVzLmVudW0ubW9kZWwnO1xuaW1wb3J0IHsgRmllbGRzVXRpbHMgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5cbmNvbnN0IEVWRU5UX0NPTVBMRVRJT05fU1RBVEVfTUFDSElORSA9ICdFVkVOVCBDT01QTEVUSU9OIFNUQVRFIE1BQ0hJTkUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRXZlbnRDb21wbGV0aW9uU3RhdGVNYWNoaW5lU2VydmljZSB7XG4gIHB1YmxpYyBzdGF0ZUNoZWNrVGFza3NDYW5CZUNvbXBsZXRlZDogU3RhdGU7XG4gIHB1YmxpYyBzdGF0ZUNvbXBsZXRlRXZlbnRBbmRUYXNrOiBTdGF0ZTtcbiAgcHVibGljIHN0YXRlQ2FuY2VsRXZlbnQ6IFN0YXRlO1xuICBwdWJsaWMgc3RhdGVDb21wbGV0ZUV2ZW50Tm90VGFzazogU3RhdGU7XG4gIHB1YmxpYyBzdGF0ZVRhc2tDb21wbGV0ZWRPckNhbmNlbGxlZDogU3RhdGU7XG4gIHB1YmxpYyBzdGF0ZVRhc2tBc3NpZ25lZFRvQW5vdGhlclVzZXI6IFN0YXRlO1xuICBwdWJsaWMgc3RhdGVUYXNrUmVhc3NpZ25Ub1VzZXI6IFN0YXRlO1xuICBwdWJsaWMgc3RhdGVUYXNrQXNzaWduVG9Vc2VyOiBTdGF0ZTtcbiAgcHVibGljIHN0YXRlVGFza1VuYXNzaWduZWQ6IFN0YXRlO1xuICBwdWJsaWMgc3RhdGVGaW5hbDogU3RhdGU7XG5cbiAgcHVibGljIGluaXRpYWxpc2VTdGF0ZU1hY2hpbmUoY29udGV4dDogRXZlbnRDb21wbGV0aW9uU3RhdGVNYWNoaW5lQ29udGV4dCk6IFN0YXRlTWFjaGluZSB7XG4gICAgcmV0dXJuIG5ldyBTdGF0ZU1hY2hpbmUoRVZFTlRfQ09NUExFVElPTl9TVEFURV9NQUNISU5FLCBjb250ZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGFydFN0YXRlTWFjaGluZShzdGF0ZU1hY2hpbmU6IFN0YXRlTWFjaGluZSk6IHZvaWQge1xuICAgIHN0YXRlTWFjaGluZS5zdGFydCh0aGlzLnN0YXRlQ2hlY2tUYXNrc0NhbkJlQ29tcGxldGVkKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVTdGF0ZXMoc3RhdGVNYWNoaW5lOiBTdGF0ZU1hY2hpbmUpOiB2b2lkIHtcbiAgICAvLyBJbml0aWFsIHN0YXRlXG4gICAgdGhpcy5zdGF0ZUNoZWNrVGFza3NDYW5CZUNvbXBsZXRlZCA9IHN0YXRlTWFjaGluZS5jcmVhdGVTdGF0ZShcbiAgICAgIEV2ZW50Q29tcGxldGlvblN0YXRlcy5DaGVja1Rhc2tzQ2FuQmVDb21wbGV0ZWQsXG4gICAgICBmYWxzZSxcbiAgICAgIHRoaXMuZW50cnlBY3Rpb25Gb3JTdGF0ZUNoZWNrVGFza3NDYW5CZUNvbXBsZXRlZFxuICAgICk7XG5cbiAgICB0aGlzLnN0YXRlQ29tcGxldGVFdmVudEFuZFRhc2sgPSBzdGF0ZU1hY2hpbmUuY3JlYXRlU3RhdGUoXG4gICAgICBFdmVudENvbXBsZXRpb25TdGF0ZXMuQ29tcGxldGVFdmVudEFuZFRhc2ssXG4gICAgICBmYWxzZSxcbiAgICAgIHRoaXMuZW50cnlBY3Rpb25Gb3JTdGF0ZUNvbXBsZXRlRXZlbnRBbmRUYXNrXG4gICAgKTtcblxuICAgIHRoaXMuc3RhdGVUYXNrQ29tcGxldGVkT3JDYW5jZWxsZWQgPSBzdGF0ZU1hY2hpbmUuY3JlYXRlU3RhdGUoXG4gICAgICBFdmVudENvbXBsZXRpb25TdGF0ZXMuVGFza0NvbXBldGVkT3JDYW5jZWxsZWQsXG4gICAgICBmYWxzZSxcbiAgICAgIHRoaXMuZW50cnlBY3Rpb25Gb3JTdGF0ZVRhc2tDb21wbGV0ZWRPckNhbmNlbGxlZFxuICAgICk7XG5cbiAgICB0aGlzLnN0YXRlVGFza0Fzc2lnbmVkVG9Bbm90aGVyVXNlciA9IHN0YXRlTWFjaGluZS5jcmVhdGVTdGF0ZShcbiAgICAgIEV2ZW50Q29tcGxldGlvblN0YXRlcy5UYXNrQXNzaWduZWRUb0Fub3RoZXJVc2VyLFxuICAgICAgZmFsc2UsXG4gICAgICB0aGlzLmVudHJ5QWN0aW9uRm9yU3RhdGVUYXNrQXNzaWduZWRUb0Fub3RoZXJVc2VyXG4gICAgKTtcblxuICAgIHRoaXMuc3RhdGVUYXNrVW5hc3NpZ25lZCA9IHN0YXRlTWFjaGluZS5jcmVhdGVTdGF0ZShcbiAgICAgIEV2ZW50Q29tcGxldGlvblN0YXRlcy5UYXNrVW5hc3NpZ25lZCxcbiAgICAgIGZhbHNlLFxuICAgICAgdGhpcy5lbnRyeUFjdGlvbkZvclN0YXRlVGFza1VuYXNzaWduZWRcbiAgICApO1xuXG4gICAgLy8gQ3JlYXRlIGZpbmFsIHN0YXRlLCB0aGUgc2Vjb25kIHBhcmFtIGlzQ29tcGxldGUgaXMgc2V0IHRvIHRydWUgdG8gbWFrZSBzdXJlIHN0YXRlIG1hY2hpbmUgZmluaXNoZWQgcnVubmluZ1xuICAgIHRoaXMuc3RhdGVGaW5hbCA9IHN0YXRlTWFjaGluZS5jcmVhdGVTdGF0ZShcbiAgICAgIEV2ZW50Q29tcGxldGlvblN0YXRlcy5GaW5hbCxcbiAgICAgIHRydWUsXG4gICAgICB0aGlzLmVudHJ5QWN0aW9uRm9yU3RhdGVGaW5hbFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYWRkVHJhbnNpdGlvbnMoKTogdm9pZCB7XG4gICAgLy8gSW5pdGlhbCB0cmFuc2l0aW9uXG4gICAgdGhpcy5hZGRUcmFuc2l0aW9uc0ZvclN0YXRlQ2hlY2tUYXNrc0NhbkJlQ29tcGxldGVkKCk7XG4gICAgdGhpcy5hZGRUcmFuc2l0aW9uc0ZvclN0YXRlVGFza0NvbXBsZXRlZE9yQ2FuY2VsbGVkKCk7XG4gICAgdGhpcy5hZGRUcmFuc2l0aW9uc0ZvclN0YXRlQ29tcGxldGVFdmVudEFuZFRhc2soKTtcbiAgICB0aGlzLmFkZFRyYW5zaXRpb25zRm9yU3RhdGVUYXNrQXNzaWduZWRUb0Fub3RoZXJVc2VyKCk7XG4gICAgdGhpcy5hZGRUcmFuc2l0aW9uc0ZvclN0YXRlVGFza1VuYXNzaWduZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBlbnRyeUFjdGlvbkZvclN0YXRlQ2hlY2tUYXNrc0NhbkJlQ29tcGxldGVkKHN0YXRlOiBTdGF0ZSwgY29udGV4dDogRXZlbnRDb21wbGV0aW9uU3RhdGVNYWNoaW5lQ29udGV4dCk6IHZvaWQge1xuICAgIGNvbnRleHQud29ya0FsbG9jYXRpb25TZXJ2aWNlLmdldFRhc2soY29udGV4dC50YXNrLmlkKS5zdWJzY3JpYmUoXG4gICAgICB0YXNrUmVzcG9uc2UgPT4ge1xuICAgICAgICBpZiAodGFza1Jlc3BvbnNlICYmIHRhc2tSZXNwb25zZS50YXNrICYmIHRhc2tSZXNwb25zZS50YXNrLnRhc2tfc3RhdGUpIHtcbiAgICAgICAgICBzd2l0Y2ggKHRhc2tSZXNwb25zZS50YXNrLnRhc2tfc3RhdGUudG9VcHBlckNhc2UoKSkge1xuICAgICAgICAgICAgY2FzZSBUYXNrU3RhdGUuVW5hc3NpZ25lZDpcbiAgICAgICAgICAgICAgLy8gVGFzayB1bmFzc2lnbmVkXG4gICAgICAgICAgICAgIHN0YXRlLnRyaWdnZXIoRXZlbnRDb21wbGV0aW9uU3RhdGVzLlRhc2tVbmFzc2lnbmVkKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFRhc2tTdGF0ZS5Db21wbGV0ZWQ6XG4gICAgICAgICAgICBjYXNlIFRhc2tTdGF0ZS5DYW5jZWxsZWQ6XG4gICAgICAgICAgICBjYXNlIFRhc2tTdGF0ZS5UZXJtaW5hdGVkOlxuICAgICAgICAgICAgICAvLyBUYXNrIGNvbXBsZXRlZCBvciBjYW5jZWxsZWRcbiAgICAgICAgICAgICAgc3RhdGUudHJpZ2dlcihFdmVudENvbXBsZXRpb25TdGF0ZXMuVGFza0NvbXBldGVkT3JDYW5jZWxsZWQpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVGFza1N0YXRlLkFzc2lnbmVkOlxuICAgICAgICAgICAgICAvLyBUYXNrIGlzIGluIGFzc2lnbmVkIHN0YXRlXG4gICAgICAgICAgICAgIGlmICh0YXNrUmVzcG9uc2UudGFzay5hc3NpZ25lZSA9PT0gY29udGV4dC50YXNrLmFzc2lnbmVlKSB7XG4gICAgICAgICAgICAgICAgLy8gVGFzayBzdGlsbCBhc3NpZ25lZCB0byBjdXJyZW50IHVzZXIsIGNvbXBsZXRlIGV2ZW50IGFuZCB0YXNrXG4gICAgICAgICAgICAgICAgc3RhdGUudHJpZ2dlcihFdmVudENvbXBsZXRpb25TdGF0ZXMuQ29tcGxldGVFdmVudEFuZFRhc2spO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIFRhc2sgaGFzIGJlZW4gcmVhc3NpZ25lZCB0byBhbm90aGVyIHVzZXIsIGRpc3BsYXkgZXJyb3IgbWVzc2FnZVxuICAgICAgICAgICAgICAgIGNvbnRleHQucmVhc3NpZ25lZFRhc2sgPSB0YXNrUmVzcG9uc2UudGFzaztcbiAgICAgICAgICAgICAgICBzdGF0ZS50cmlnZ2VyKEV2ZW50Q29tcGxldGlvblN0YXRlcy5UYXNrQXNzaWduZWRUb0Fub3RoZXJVc2VyKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIC8vIEFsbG93IHVzZXIgdG8gY29tcGxldGUgdGhlIGV2ZW50XG4gICAgICAgICAgICAgIHN0YXRlLnRyaWdnZXIoRXZlbnRDb21wbGV0aW9uU3RhdGVzLkNvbXBsZXRlRXZlbnRBbmRUYXNrKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICBjb250ZXh0LmFsZXJ0U2VydmljZS5lcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZW50cnlBY3Rpb25Gb3JTdGF0ZVRhc2tDb21wbGV0ZWRPckNhbmNlbGxlZChzdGF0ZTogU3RhdGUsIGNvbnRleHQ6IEV2ZW50Q29tcGxldGlvblN0YXRlTWFjaGluZUNvbnRleHQpOiB2b2lkIHtcbiAgICAvLyBUcmlnZ2VyIGZpbmFsIHN0YXRlIHRvIGNvbXBsZXRlIHByb2Nlc3Npbmcgb2Ygc3RhdGUgbWFjaGluZVxuICAgIHN0YXRlLnRyaWdnZXIoRXZlbnRDb21wbGV0aW9uU3RhdGVzLkZpbmFsKTtcbiAgICAvLyBMb2FkIGNhc2UgZXZlbnQgY29tcGxldGlvbiB0YXNrIGNhbmNlbGxlZCBjb21wb25lbnRcbiAgICBjb250ZXh0LmNvbXBvbmVudC5zaG93UG9ydGFsKEV2ZW50Q29tcGxldGlvblBvcnRhbFR5cGVzLlRhc2tDYW5jZWxsZWQpO1xuICB9XG5cbiAgcHVibGljIGVudHJ5QWN0aW9uRm9yU3RhdGVDb21wbGV0ZUV2ZW50QW5kVGFzayhzdGF0ZTogU3RhdGUsIGNvbnRleHQ6IEV2ZW50Q29tcGxldGlvblN0YXRlTWFjaGluZUNvbnRleHQpOiB2b2lkIHtcbiAgICAvLyBUcmlnZ2VyIGZpbmFsIHN0YXRlIHRvIGNvbXBsZXRlIHByb2Nlc3Npbmcgb2Ygc3RhdGUgbWFjaGluZVxuICAgIHN0YXRlLnRyaWdnZXIoRXZlbnRDb21wbGV0aW9uU3RhdGVzLkZpbmFsKTtcblxuICAgIGlmICh0aGlzLmdldFRhc2tGcm9tQ2xpZW50Q29udGV4dChjb250ZXh0KSkge1xuICAgICAgY29udGV4dC5zZXNzaW9uU3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnYXNzaWduTmVlZGVkJywgJ2ZhbHNlJyk7XG4gICAgICAvLyBqdXN0IHNldCBldmVudCBjYW4gYmUgY29tcGxldGVkXG4gICAgICBjb250ZXh0LmNvbXBvbmVudC5ldmVudENhbkJlQ29tcGxldGVkLmVtaXQodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEVtaXQgZXZlbnQgY2Fubm90IGJlIGNvbXBsZXRlZCBldmVudFxuICAgICAgY29udGV4dC5jb21wb25lbnQuZXZlbnRDYW5CZUNvbXBsZXRlZC5lbWl0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZW50cnlBY3Rpb25Gb3JTdGF0ZVRhc2tBc3NpZ25lZFRvQW5vdGhlclVzZXIoc3RhdGU6IFN0YXRlLCBjb250ZXh0OiBFdmVudENvbXBsZXRpb25TdGF0ZU1hY2hpbmVDb250ZXh0KTogdm9pZCB7XG4gICAgLy8gVHJpZ2dlciBmaW5hbCBzdGF0ZSB0byBjb21wbGV0ZSBwcm9jZXNzaW5nIG9mIHN0YXRlIG1hY2hpbmVcbiAgICBzdGF0ZS50cmlnZ2VyKEV2ZW50Q29tcGxldGlvblN0YXRlcy5GaW5hbCk7XG4gICAgLy8gTG9hZCBjYXNlIGV2ZW50IGNvbXBsZXRpb24gdGFzayByZWFzc2lnbmVkIGNvbXBvbmVudFxuICAgIGNvbnRleHQuY29tcG9uZW50LnNob3dQb3J0YWwoRXZlbnRDb21wbGV0aW9uUG9ydGFsVHlwZXMuVGFza1JlYXNzaWduZWQpO1xuICB9XG5cbiAgcHVibGljIGVudHJ5QWN0aW9uRm9yU3RhdGVUYXNrVW5hc3NpZ25lZChzdGF0ZTogU3RhdGUsIGNvbnRleHQ6IEV2ZW50Q29tcGxldGlvblN0YXRlTWFjaGluZUNvbnRleHQpOiB2b2lkIHtcbiAgICAvLyBUcmlnZ2VyIGZpbmFsIHN0YXRlIHRvIGNvbXBsZXRlIHByb2Nlc3Npbmcgb2Ygc3RhdGUgbWFjaGluZVxuICAgIHN0YXRlLnRyaWdnZXIoRXZlbnRDb21wbGV0aW9uU3RhdGVzLkZpbmFsKTtcblxuICAgIGlmICh0aGlzLmdldFRhc2tGcm9tQ2xpZW50Q29udGV4dChjb250ZXh0KSkge1xuICAgICAgY29udGV4dC5zZXNzaW9uU3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnYXNzaWduTmVlZGVkJywgJ3RydWUnKTtcbiAgICAgIGNvbnRleHQuY29tcG9uZW50LmV2ZW50Q2FuQmVDb21wbGV0ZWQuZW1pdCh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRW1pdCBldmVudCBjYW5ub3QgYmUgY29tcGxldGVkIGV2ZW50XG4gICAgICBjb250ZXh0LmNvbXBvbmVudC5ldmVudENhbkJlQ29tcGxldGVkLmVtaXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBlbnRyeUFjdGlvbkZvclN0YXRlRmluYWwoc3RhdGU6IFN0YXRlLCBjb250ZXh0OiBFdmVudENvbXBsZXRpb25TdGF0ZU1hY2hpbmVDb250ZXh0KTogdm9pZCB7XG4gICAgLy8gRmluYWwgYWN0aW9ucyBjYW4gYmUgcGVyZm9ybWVkIGhlcmUsIHRoZSBzdGF0ZSBtYWNoaW5lIGZpbmlzaGVkIHJ1bm5pbmdcbiAgICBjb25zb2xlLmxvZygnRklOQUwnKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUcmFuc2l0aW9uc0ZvclN0YXRlQ2hlY2tUYXNrc0NhbkJlQ29tcGxldGVkKCk6IHZvaWQge1xuICAgIC8vIENvbXBsZXRlIGV2ZW50IGFuZCB0YXNrXG4gICAgdGhpcy5zdGF0ZUNoZWNrVGFza3NDYW5CZUNvbXBsZXRlZC5hZGRUcmFuc2l0aW9uKFxuICAgICAgRXZlbnRDb21wbGV0aW9uU3RhdGVzLkNvbXBsZXRlRXZlbnRBbmRUYXNrLFxuICAgICAgdGhpcy5zdGF0ZUNvbXBsZXRlRXZlbnRBbmRUYXNrXG4gICAgKTtcbiAgICAvLyBUYXNrIGNvbXBsZXRlZCBvciBjYW5jZWxsZWRcbiAgICB0aGlzLnN0YXRlQ2hlY2tUYXNrc0NhbkJlQ29tcGxldGVkLmFkZFRyYW5zaXRpb24oXG4gICAgICBFdmVudENvbXBsZXRpb25TdGF0ZXMuVGFza0NvbXBldGVkT3JDYW5jZWxsZWQsXG4gICAgICB0aGlzLnN0YXRlVGFza0NvbXBsZXRlZE9yQ2FuY2VsbGVkXG4gICAgKTtcbiAgICAvLyBUYXNrIGFzc2lnbmVkIHRvIGFub3RoZXIgdXNlclxuICAgIHRoaXMuc3RhdGVDaGVja1Rhc2tzQ2FuQmVDb21wbGV0ZWQuYWRkVHJhbnNpdGlvbihcbiAgICAgIEV2ZW50Q29tcGxldGlvblN0YXRlcy5UYXNrQXNzaWduZWRUb0Fub3RoZXJVc2VyLFxuICAgICAgdGhpcy5zdGF0ZVRhc2tBc3NpZ25lZFRvQW5vdGhlclVzZXJcbiAgICApO1xuICAgIC8vIFRhc2sgdW5hc3NpZ25lZFxuICAgIHRoaXMuc3RhdGVDaGVja1Rhc2tzQ2FuQmVDb21wbGV0ZWQuYWRkVHJhbnNpdGlvbihcbiAgICAgIEV2ZW50Q29tcGxldGlvblN0YXRlcy5UYXNrVW5hc3NpZ25lZCxcbiAgICAgIHRoaXMuc3RhdGVUYXNrVW5hc3NpZ25lZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYWRkVHJhbnNpdGlvbnNGb3JTdGF0ZVRhc2tDb21wbGV0ZWRPckNhbmNlbGxlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlVGFza0NvbXBsZXRlZE9yQ2FuY2VsbGVkLmFkZFRyYW5zaXRpb24oXG4gICAgICBFdmVudENvbXBsZXRpb25TdGF0ZXMuRmluYWwsXG4gICAgICB0aGlzLnN0YXRlRmluYWxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFkZFRyYW5zaXRpb25zRm9yU3RhdGVDb21wbGV0ZUV2ZW50QW5kVGFzaygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlQ29tcGxldGVFdmVudEFuZFRhc2suYWRkVHJhbnNpdGlvbihcbiAgICAgIEV2ZW50Q29tcGxldGlvblN0YXRlcy5GaW5hbCxcbiAgICAgIHRoaXMuc3RhdGVGaW5hbFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYWRkVHJhbnNpdGlvbnNGb3JTdGF0ZVRhc2tBc3NpZ25lZFRvQW5vdGhlclVzZXIoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVRhc2tBc3NpZ25lZFRvQW5vdGhlclVzZXIuYWRkVHJhbnNpdGlvbihcbiAgICAgIEV2ZW50Q29tcGxldGlvblN0YXRlcy5GaW5hbCxcbiAgICAgIHRoaXMuc3RhdGVGaW5hbFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYWRkVHJhbnNpdGlvbnNGb3JTdGF0ZVRhc2tVbmFzc2lnbmVkKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVUYXNrVW5hc3NpZ25lZC5hZGRUcmFuc2l0aW9uKFxuICAgICAgRXZlbnRDb21wbGV0aW9uU3RhdGVzLkZpbmFsLFxuICAgICAgdGhpcy5zdGF0ZUZpbmFsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGFza0Zyb21DbGllbnRDb250ZXh0KGNvbnRleHQ6IEV2ZW50Q29tcGxldGlvblN0YXRlTWFjaGluZUNvbnRleHQpOiBUYXNrIHtcbiAgICBjb25zdCBjbGllbnRDb250ZXh0U3RyID0gY29udGV4dC5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnY2xpZW50Q29udGV4dCcpO1xuICAgIGNvbnN0IHVzZXJUYXNrID0gRmllbGRzVXRpbHMuZ2V0VXNlclRhc2tGcm9tQ2xpZW50Q29udGV4dChjbGllbnRDb250ZXh0U3RyKTtcbiAgICByZXR1cm4gdXNlclRhc2sgPyB1c2VyVGFzay50YXNrX2RhdGEgOiBudWxsO1xuICB9XG59XG4iXX0=
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtY29tcGxldGlvbi1zdGF0ZS1tYWNoaW5lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvY2FzZS1lZGl0b3Ivc2VydmljZXMvZXZlbnQtY29tcGxldGlvbi1zdGF0ZS1tYWNoaW5lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVMsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFRLFNBQVMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRTNGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFaEQsTUFBTSw4QkFBOEIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUd4RSxNQUFNLE9BQU8sa0NBQWtDO0lBWXRDLHNCQUFzQixDQUFDLE9BQTJDO1FBQ3ZFLE9BQU8sSUFBSSxZQUFZLENBQUMsOEJBQThCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFlBQTBCO1FBQ2pELFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVNLFlBQVksQ0FBQyxZQUEwQjtRQUM1QyxnQkFBZ0I7UUFDaEIsSUFBSSxDQUFDLDZCQUE2QixHQUFHLFlBQVksQ0FBQyxXQUFXLENBQzNELHFCQUFxQixDQUFDLHdCQUF3QixFQUM5QyxL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Q0FBQyxTQUFTLENBQUM7SUFDOUIsQ0FBQzs7b0hBcE5VLGtDQUFrQzt3RkFBbEMsa0NBQWtDLFdBQWxDLGtDQUFrQzt1RkFBbEMsa0NBQWtDO2NBRDlDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdGF0ZSwgU3RhdGVNYWNoaW5lIH0gZnJvbSAnQGVkaXVtL2ZzbSc7XG5pbXBvcnQgeyB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUYXNrLCBUYXNrU3RhdGUgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vd29yay1hbGxvY2F0aW9uL1Rhc2snO1xuaW1wb3J0IHsgRXZlbnRDb21wbGV0aW9uUG9ydGFsVHlwZXMgfSBmcm9tICcuLi9kb21haW4vZXZlbnQtY29tcGxldGlvbi1wb3J0YWwtdHlwZXMubW9kZWwnO1xuaW1wb3J0IHsgRXZlbnRDb21wbGV0aW9uU3RhdGVNYWNoaW5lQ29udGV4dCB9IGZyb20gJy4uL2RvbWFpbi9ldmVudC1jb21wbGV0aW9uLXN0YXRlLW1hY2hpbmUtY29udGV4dC5tb2RlbCc7XG5pbXBvcnQgeyBFdmVudENvbXBsZXRpb25TdGF0ZXMgfSBmcm9tICcuLi9kb21haW4vZXZlbnQtY29tcGxldGlvbi1zdGF0ZXMuZW51bS5tb2RlbCc7XG5pbXBvcnQgeyBGaWVsZHNVdGlscyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcblxuY29uc3QgRVZFTlRfQ09NUExFVElPTl9TVEFURV9NQUNISU5FID0gJ0VWRU5UIENPTVBMRVRJT04gU1RBVEUgTUFDSElORSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFdmVudENvbXBsZXRpb25TdGF0ZU1hY2hpbmVTZXJ2aWNlIHtcbiAgcHVibGljIHN0YXRlQ2hlY2tUYXNrc0NhbkJlQ29tcGxldGVkOiBTdGF0ZTtcbiAgcHVibGljIHN0YXRlQ29tcGxldGVFdmVudEFuZFRhc2s6IFN0YXRlO1xuICBwdWJsaWMgc3RhdGVDYW5jZWxFdmVudDogU3RhdGU7XG4gIHB1YmxpYyBzdGF0ZUNvbXBsZXRlRXZlbnROb3RUYXNrOiBTdGF0ZTtcbiAgcHVibGljIHN0YXRlVGFza0NvbXBsZXRlZE9yQ2FuY2VsbGVkOiBTdGF0ZTtcbiAgcHVibGljIHN0YXRlVGFza0Fzc2lnbmVkVG9Bbm90aGVyVXNlcjogU3RhdGU7XG4gIHB1YmxpYyBzdGF0ZVRhc2tSZWFzc2lnblRvVXNlcjogU3RhdGU7XG4gIHB1YmxpYyBzdGF0ZVRhc2tBc3NpZ25Ub1VzZXI6IFN0YXRlO1xuICBwdWJsaWMgc3RhdGVUYXNrVW5hc3NpZ25lZDogU3RhdGU7XG4gIHB1YmxpYyBzdGF0ZUZpbmFsOiBTdGF0ZTtcblxuICBwdWJsaWMgaW5pdGlhbGlzZVN0YXRlTWFjaGluZShjb250ZXh0OiBFdmVudENvbXBsZXRpb25TdGF0ZU1hY2hpbmVDb250ZXh0KTogU3RhdGVNYWNoaW5lIHtcbiAgICByZXR1cm4gbmV3IFN0YXRlTWFjaGluZShFVkVOVF9DT01QTEVUSU9OX1NUQVRFX01BQ0hJTkUsIGNvbnRleHQpO1xuICB9XG5cbiAgcHVibGljIHN0YXJ0U3RhdGVNYWNoaW5lKHN0YXRlTWFjaGluZTogU3RhdGVNYWNoaW5lKTogdm9pZCB7XG4gICAgc3RhdGVNYWNoaW5lLnN0YXJ0KHRoaXMuc3RhdGVDaGVja1Rhc2tzQ2FuQmVDb21wbGV0ZWQpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZVN0YXRlcyhzdGF0ZU1hY2hpbmU6IFN0YXRlTWFjaGluZSk6IHZvaWQge1xuICAgIC8vIEluaXRpYWwgc3RhdGVcbiAgICB0aGlzLnN0YXRlQ2hlY2tUYXNrc0NhbkJlQ29tcGxldGVkID0gc3RhdGVNYWNoaW5lLmNyZWF0ZVN0YXRlKFxuICAgICAgRXZlbnRDb21wbGV0aW9uU3RhdGVzLkNoZWNrVGFza3NDYW5CZUNvbXBsZXRlZCxcbiAgICAgIGZhbHNlLFxuICAgICAgdGhpcy5lbnRyeUFjdGlvbkZvclN0YXRlQ2hlY2tUYXNrc0NhbkJlQ29tcGxldGVkXG4gICAgKTtcblxuICAgIHRoaXMuc3RhdGVDb21wbGV0ZUV2ZW50QW5kVGFzayA9IHN0YXRlTWFjaGluZS5jcmVhdGVTdGF0ZShcbiAgICAgIEV2ZW50Q29tcGxldGlvblN0YXRlcy5Db21wbGV0ZUV2ZW50QW5kVGFzayxcbiAgICAgIGZhbHNlLFxuICAgICAgdGhpcy5lbnRyeUFjdGlvbkZvclN0YXRlQ29tcGxldGVFdmVudEFuZFRhc2tcbiAgICApO1xuXG4gICAgdGhpcy5zdGF0ZVRhc2tDb21wbGV0ZWRPckNhbmNlbGxlZCA9IHN0YXRlTWFjaGluZS5jcmVhdGVTdGF0ZShcbiAgICAgIEV2ZW50Q29tcGxldGlvblN0YXRlcy5UYXNrQ29tcGV0ZWRPckNhbmNlbGxlZCxcbiAgICAgIGZhbHNlLFxuICAgICAgdGhpcy5lbnRyeUFjdGlvbkZvclN0YXRlVGFza0NvbXBsZXRlZE9yQ2FuY2VsbGVkXG4gICAgKTtcblxuICAgIHRoaXMuc3RhdGVUYXNrQXNzaWduZWRUb0Fub3RoZXJVc2VyID0gc3RhdGVNYWNoaW5lLmNyZWF0ZVN0YXRlKFxuICAgICAgRXZlbnRDb21wbGV0aW9uU3RhdGVzLlRhc2tBc3NpZ25lZFRvQW5vdGhlclVzZXIsXG4gICAgICBmYWxzZSxcbiAgICAgIHRoaXMuZW50cnlBY3Rpb25Gb3JTdGF0ZVRhc2tBc3NpZ25lZFRvQW5vdGhlclVzZXJcbiAgICApO1xuXG4gICAgdGhpcy5zdGF0ZVRhc2tVbmFzc2lnbmVkID0gc3RhdGVNYWNoaW5lLmNyZWF0ZVN0YXRlKFxuICAgICAgRXZlbnRDb21wbGV0aW9uU3RhdGVzLlRhc2tVbmFzc2lnbmVkLFxuICAgICAgZmFsc2UsXG4gICAgICB0aGlzLmVudHJ5QWN0aW9uRm9yU3RhdGVUYXNrVW5hc3NpZ25lZFxuICAgICk7XG5cbiAgICAvLyBDcmVhdGUgZmluYWwgc3RhdGUsIHRoZSBzZWNvbmQgcGFyYW0gaXNDb21wbGV0ZSBpcyBzZXQgdG8gdHJ1ZSB0byBtYWtlIHN1cmUgc3RhdGUgbWFjaGluZSBmaW5pc2hlZCBydW5uaW5nXG4gICAgdGhpcy5zdGF0ZUZpbmFsID0gc3RhdGVNYWNoaW5lLmNyZWF0ZVN0YXRlKFxuICAgICAgRXZlbnRDb21wbGV0aW9uU3RhdGVzLkZpbmFsLFxuICAgICAgdHJ1ZSxcbiAgICAgIHRoaXMuZW50cnlBY3Rpb25Gb3JTdGF0ZUZpbmFsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUcmFuc2l0aW9ucygpOiB2b2lkIHtcbiAgICAvLyBJbml0aWFsIHRyYW5zaXRpb25cbiAgICB0aGlzLmFkZFRyYW5zaXRpb25zRm9yU3RhdGVDaGVja1Rhc2tzQ2FuQmVDb21wbGV0ZWQoKTtcbiAgICB0aGlzLmFkZFRyYW5zaXRpb25zRm9yU3RhdGVUYXNrQ29tcGxldGVkT3JDYW5jZWxsZWQoKTtcbiAgICB0aGlzLmFkZFRyYW5zaXRpb25zRm9yU3RhdGVDb21wbGV0ZUV2ZW50QW5kVGFzaygpO1xuICAgIHRoaXMuYWRkVHJhbnNpdGlvbnNGb3JTdGF0ZVRhc2tBc3NpZ25lZFRvQW5vdGhlclVzZXIoKTtcbiAgICB0aGlzLmFkZFRyYW5zaXRpb25zRm9yU3RhdGVUYXNrVW5hc3NpZ25lZCgpO1xuICB9XG5cbiAgcHVibGljIGVudHJ5QWN0aW9uRm9yU3RhdGVDaGVja1Rhc2tzQ2FuQmVDb21wbGV0ZWQoc3RhdGU6IFN0YXRlLCBjb250ZXh0OiBFdmVudENvbXBsZXRpb25TdGF0ZU1hY2hpbmVDb250ZXh0KTogdm9pZCB7XG4gICAgY29udGV4dC53b3JrQWxsb2NhdGlvblNlcnZpY2UuZ2V0VGFzayhjb250ZXh0LnRhc2suaWQpLnN1YnNjcmliZShcbiAgICAgIHRhc2tSZXNwb25zZSA9PiB7XG4gICAgICAgIGlmICh0YXNrUmVzcG9uc2UgJiYgdGFza1Jlc3BvbnNlLnRhc2sgJiYgdGFza1Jlc3BvbnNlLnRhc2sudGFza19zdGF0ZSkge1xuICAgICAgICAgIHN3aXRjaCAodGFza1Jlc3BvbnNlLnRhc2sudGFza19zdGF0ZS50b1VwcGVyQ2FzZSgpKSB7XG4gICAgICAgICAgICBjYXNlIFRhc2tTdGF0ZS5VbmFzc2lnbmVkOlxuICAgICAgICAgICAgICAvLyBUYXNrIHVuYXNzaWduZWRcbiAgICAgICAgICAgICAgc3RhdGUudHJpZ2dlcihFdmVudENvbXBsZXRpb25TdGF0ZXMuVGFza1VuYXNzaWduZWQpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVGFza1N0YXRlLkNvbXBsZXRlZDpcbiAgICAgICAgICAgIGNhc2UgVGFza1N0YXRlLkNhbmNlbGxlZDpcbiAgICAgICAgICAgIGNhc2UgVGFza1N0YXRlLlRlcm1pbmF0ZWQ6XG4gICAgICAgICAgICAgIC8vIFRhc2sgY29tcGxldGVkIG9yIGNhbmNlbGxlZFxuICAgICAgICAgICAgICBzdGF0ZS50cmlnZ2VyKEV2ZW50Q29tcGxldGlvblN0YXRlcy5UYXNrQ29tcGV0ZWRPckNhbmNlbGxlZCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBUYXNrU3RhdGUuQXNzaWduZWQ6XG4gICAgICAgICAgICAgIC8vIFRhc2sgaXMgaW4gYXNzaWduZWQgc3RhdGVcbiAgICAgICAgICAgICAgaWYgKHRhc2tSZXNwb25zZS50YXNrLmFzc2lnbmVlID09PSBjb250ZXh0LnRhc2suYXNzaWduZWUpIHtcbiAgICAgICAgICAgICAgICAvLyBUYXNrIHN0aWxsIGFzc2lnbmVkIHRvIGN1cnJlbnQgdXNlciwgY29tcGxldGUgZXZlbnQgYW5kIHRhc2tcbiAgICAgICAgICAgICAgICBzdGF0ZS50cmlnZ2VyKEV2ZW50Q29tcGxldGlvblN0YXRlcy5Db21wbGV0ZUV2ZW50QW5kVGFzayk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gVGFzayBoYXMgYmVlbiByZWFzc2lnbmVkIHRvIGFub3RoZXIgdXNlciwgZGlzcGxheSBlcnJvciBtZXNzYWdlXG4gICAgICAgICAgICAgICAgY29udGV4dC5yZWFzc2lnbmVkVGFzayA9IHRhc2tSZXNwb25zZS50YXNrO1xuICAgICAgICAgICAgICAgIHN0YXRlLnRyaWdnZXIoRXZlbnRDb21wbGV0aW9uU3RhdGVzLlRhc2tBc3NpZ25lZFRvQW5vdGhlclVzZXIpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgLy8gQWxsb3cgdXNlciB0byBjb21wbGV0ZSB0aGUgZXZlbnRcbiAgICAgICAgICAgICAgc3RhdGUudHJpZ2dlcihFdmVudENvbXBsZXRpb25TdGF0ZXMuQ29tcGxldGVFdmVudEFuZFRhc2spO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBlcnJvciA9PiB7XG4gICAgICAgIGNvbnRleHQuYWxlcnRTZXJ2aWNlLmVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBlbnRyeUFjdGlvbkZvclN0YXRlVGFza0NvbXBsZXRlZE9yQ2FuY2VsbGVkKHN0YXRlOiBTdGF0ZSwgY29udGV4dDogRXZlbnRDb21wbGV0aW9uU3RhdGVNYWNoaW5lQ29udGV4dCk6IHZvaWQge1xuICAgIC8vIFRyaWdnZXIgZmluYWwgc3RhdGUgdG8gY29tcGxldGUgcHJvY2Vzc2luZyBvZiBzdGF0ZSBtYWNoaW5lXG4gICAgc3RhdGUudHJpZ2dlcihFdmVudENvbXBsZXRpb25TdGF0ZXMuRmluYWwpO1xuICAgIC8vIExvYWQgY2FzZSBldmVudCBjb21wbGV0aW9uIHRhc2sgY2FuY2VsbGVkIGNvbXBvbmVudFxuICAgIGNvbnRleHQuY29tcG9uZW50LnNob3dQb3J0YWwoRXZlbnRDb21wbGV0aW9uUG9ydGFsVHlwZXMuVGFza0NhbmNlbGxlZCk7XG4gIH1cblxuICBwdWJsaWMgZW50cnlBY3Rpb25Gb3JTdGF0ZUNvbXBsZXRlRXZlbnRBbmRUYXNrKHN0YXRlOiBTdGF0ZSwgY29udGV4dDogRXZlbnRDb21wbGV0aW9uU3RhdGVNYWNoaW5lQ29udGV4dCk6IHZvaWQge1xuICAgIC8vIFRyaWdnZXIgZmluYWwgc3RhdGUgdG8gY29tcGxldGUgcHJvY2Vzc2luZyBvZiBzdGF0ZSBtYWNoaW5lXG4gICAgc3RhdGUudHJpZ2dlcihFdmVudENvbXBsZXRpb25TdGF0ZXMuRmluYWwpO1xuICAgIGNvbnN0IGNsaWVudENvbnRleHRTdHIgPSBjb250ZXh0LnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCdjbGllbnRDb250ZXh0Jyk7XG4gICAgY29uc3QgdXNlclRhc2sgPSBGaWVsZHNVdGlscy5nZXRVc2VyVGFza0Zyb21DbGllbnRDb250ZXh0KGNsaWVudENvbnRleHRTdHIpO1xuICAgIGlmICh1c2VyVGFzaz8udGFza19kYXRhKSB7XG4gICAgICBjb250ZXh0LnNlc3Npb25TdG9yYWdlU2VydmljZS5zZXRJdGVtKCdhc3NpZ25OZWVkZWQnLCAnZmFsc2UnKTtcbiAgICAgIC8vIGp1c3Qgc2V0IGV2ZW50IGNhbiBiZSBjb21wbGV0ZWRcbiAgICAgIGNvbnRleHQuY29tcG9uZW50LmV2ZW50Q2FuQmVDb21wbGV0ZWQuZW1pdCh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRW1pdCBldmVudCBjYW5ub3QgYmUgY29tcGxldGVkIGV2ZW50XG4gICAgICBjb250ZXh0LmNvbXBvbmVudC5ldmVudENhbkJlQ29tcGxldGVkLmVtaXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBlbnRyeUFjdGlvbkZvclN0YXRlVGFza0Fzc2lnbmVkVG9Bbm90aGVyVXNlcihzdGF0ZTogU3RhdGUsIGNvbnRleHQ6IEV2ZW50Q29tcGxldGlvblN0YXRlTWFjaGluZUNvbnRleHQpOiB2b2lkIHtcbiAgICAvLyBUcmlnZ2VyIGZpbmFsIHN0YXRlIHRvIGNvbXBsZXRlIHByb2Nlc3Npbmcgb2Ygc3RhdGUgbWFjaGluZVxuICAgIHN0YXRlLnRyaWdnZXIoRXZlbnRDb21wbGV0aW9uU3RhdGVzLkZpbmFsKTtcbiAgICAvLyBMb2FkIGNhc2UgZXZlbnQgY29tcGxldGlvbiB0YXNrIHJlYXNzaWduZWQgY29tcG9uZW50XG4gICAgY29udGV4dC5jb21wb25lbnQuc2hvd1BvcnRhbChFdmVudENvbXBsZXRpb25Qb3J0YWxUeXBlcy5UYXNrUmVhc3NpZ25lZCk7XG4gIH1cblxuICBwdWJsaWMgZW50cnlBY3Rpb25Gb3JTdGF0ZVRhc2tVbmFzc2lnbmVkKHN0YXRlOiBTdGF0ZSwgY29udGV4dDogRXZlbnRDb21wbGV0aW9uU3RhdGVNYWNoaW5lQ29udGV4dCk6IHZvaWQge1xuICAgIC8vIFRyaWdnZXIgZmluYWwgc3RhdGUgdG8gY29tcGxldGUgcHJvY2Vzc2luZyBvZiBzdGF0ZSBtYWNoaW5lXG4gICAgc3RhdGUudHJpZ2dlcihFdmVudENvbXBsZXRpb25TdGF0ZXMuRmluYWwpO1xuICAgIGNvbnN0IGNsaWVudENvbnRleHRTdHIgPSBjb250ZXh0LnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCdjbGllbnRDb250ZXh0Jyk7XG4gICAgY29uc3QgdXNlclRhc2sgPSBGaWVsZHNVdGlscy5nZXRVc2VyVGFza0Zyb21DbGllbnRDb250ZXh0KGNsaWVudENvbnRleHRTdHIpO1xuICAgIGlmICh1c2VyVGFzaz8udGFza19kYXRhKSB7XG4gICAgICBjb250ZXh0LnNlc3Npb25TdG9yYWdlU2VydmljZS5zZXRJdGVtKCdhc3NpZ25OZWVkZWQnLCAndHJ1ZScpO1xuICAgICAgY29udGV4dC5jb21wb25lbnQuZXZlbnRDYW5CZUNvbXBsZXRlZC5lbWl0KHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBFbWl0IGV2ZW50IGNhbm5vdCBiZSBjb21wbGV0ZWQgZXZlbnRcbiAgICAgIGNvbnRleHQuY29tcG9uZW50LmV2ZW50Q2FuQmVDb21wbGV0ZWQuZW1pdChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGVudHJ5QWN0aW9uRm9yU3RhdGVGaW5hbChzdGF0ZTogU3RhdGUsIGNvbnRleHQ6IEV2ZW50Q29tcGxldGlvblN0YXRlTWFjaGluZUNvbnRleHQpOiB2b2lkIHtcbiAgICAvLyBGaW5hbCBhY3Rpb25zIGNhbiBiZSBwZXJmb3JtZWQgaGVyZSwgdGhlIHN0YXRlIG1hY2hpbmUgZmluaXNoZWQgcnVubmluZ1xuICAgIGNvbnNvbGUubG9nKCdGSU5BTCcpO1xuICB9XG5cbiAgcHVibGljIGFkZFRyYW5zaXRpb25zRm9yU3RhdGVDaGVja1Rhc2tzQ2FuQmVDb21wbGV0ZWQoKTogdm9pZCB7XG4gICAgLy8gQ29tcGxldGUgZXZlbnQgYW5kIHRhc2tcbiAgICB0aGlzLnN0YXRlQ2hlY2tUYXNrc0NhbkJlQ29tcGxldGVkLmFkZFRyYW5zaXRpb24oXG4gICAgICBFdmVudENvbXBsZXRpb25TdGF0ZXMuQ29tcGxldGVFdmVudEFuZFRhc2ssXG4gICAgICB0aGlzLnN0YXRlQ29tcGxldGVFdmVudEFuZFRhc2tcbiAgICApO1xuICAgIC8vIFRhc2sgY29tcGxldGVkIG9yIGNhbmNlbGxlZFxuICAgIHRoaXMuc3RhdGVDaGVja1Rhc2tzQ2FuQmVDb21wbGV0ZWQuYWRkVHJhbnNpdGlvbihcbiAgICAgIEV2ZW50Q29tcGxldGlvblN0YXRlcy5UYXNrQ29tcGV0ZWRPckNhbmNlbGxlZCxcbiAgICAgIHRoaXMuc3RhdGVUYXNrQ29tcGxldGVkT3JDYW5jZWxsZWRcbiAgICApO1xuICAgIC8vIFRhc2sgYXNzaWduZWQgdG8gYW5vdGhlciB1c2VyXG4gICAgdGhpcy5zdGF0ZUNoZWNrVGFza3NDYW5CZUNvbXBsZXRlZC5hZGRUcmFuc2l0aW9uKFxuICAgICAgRXZlbnRDb21wbGV0aW9uU3RhdGVzLlRhc2tBc3NpZ25lZFRvQW5vdGhlclVzZXIsXG4gICAgICB0aGlzLnN0YXRlVGFza0Fzc2lnbmVkVG9Bbm90aGVyVXNlclxuICAgICk7XG4gICAgLy8gVGFzayB1bmFzc2lnbmVkXG4gICAgdGhpcy5zdGF0ZUNoZWNrVGFza3NDYW5CZUNvbXBsZXRlZC5hZGRUcmFuc2l0aW9uKFxuICAgICAgRXZlbnRDb21wbGV0aW9uU3RhdGVzLlRhc2tVbmFzc2lnbmVkLFxuICAgICAgdGhpcy5zdGF0ZVRhc2tVbmFzc2lnbmVkXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUcmFuc2l0aW9uc0ZvclN0YXRlVGFza0NvbXBsZXRlZE9yQ2FuY2VsbGVkKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVUYXNrQ29tcGxldGVkT3JDYW5jZWxsZWQuYWRkVHJhbnNpdGlvbihcbiAgICAgIEV2ZW50Q29tcGxldGlvblN0YXRlcy5GaW5hbCxcbiAgICAgIHRoaXMuc3RhdGVGaW5hbFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYWRkVHJhbnNpdGlvbnNGb3JTdGF0ZUNvbXBsZXRlRXZlbnRBbmRUYXNrKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVDb21wbGV0ZUV2ZW50QW5kVGFzay5hZGRUcmFuc2l0aW9uKFxuICAgICAgRXZlbnRDb21wbGV0aW9uU3RhdGVzLkZpbmFsLFxuICAgICAgdGhpcy5zdGF0ZUZpbmFsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUcmFuc2l0aW9uc0ZvclN0YXRlVGFza0Fzc2lnbmVkVG9Bbm90aGVyVXNlcigpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlVGFza0Fzc2lnbmVkVG9Bbm90aGVyVXNlci5hZGRUcmFuc2l0aW9uKFxuICAgICAgRXZlbnRDb21wbGV0aW9uU3RhdGVzLkZpbmFsLFxuICAgICAgdGhpcy5zdGF0ZUZpbmFsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUcmFuc2l0aW9uc0ZvclN0YXRlVGFza1VuYXNzaWduZWQoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVRhc2tVbmFzc2lnbmVkLmFkZFRyYW5zaXRpb24oXG4gICAgICBFdmVudENvbXBsZXRpb25TdGF0ZXMuRmluYWwsXG4gICAgICB0aGlzLnN0YXRlRmluYWxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHRhc2tQcmVzZW50SW5TZXNzaW9uU3RvcmFnZShjb250ZXh0OiBFdmVudENvbXBsZXRpb25TdGF0ZU1hY2hpbmVDb250ZXh0KTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2xpZW50Q29udGV4dFN0ciA9IGNvbnRleHQuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ2NsaWVudENvbnRleHQnKTtcbiAgICBjb25zb2xlLmxvZygnY2xpZW5odCBjaW50ZWR0ICcsIGNsaWVudENvbnRleHRTdHIpXG4gICAgY29uc3QgdXNlclRhc2sgPSBGaWVsZHNVdGlscy5nZXRVc2VyVGFza0Zyb21DbGllbnRDb250ZXh0KGNsaWVudENvbnRleHRTdHIpO1xuICAgIHJldHVybiAhIXVzZXJUYXNrLnRhc2tfZGF0YTtcbiAgfVxufVxuIl19
|
|
@@ -7982,7 +7982,6 @@ class CasesService {
|
|
|
7982
7982
|
return this.http
|
|
7983
7983
|
.get(url, { headers, observe: 'response' })
|
|
7984
7984
|
.pipe(map((response) => {
|
|
7985
|
-
console.log('response barking mad', response);
|
|
7986
7985
|
this.updateClientContextStorage(response.headers);
|
|
7987
7986
|
return FieldsUtils.handleNestedDynamicLists(response.body);
|
|
7988
7987
|
}), catchError(error => {
|
|
@@ -8668,7 +8667,9 @@ class EventCompletionStateMachineService {
|
|
|
8668
8667
|
entryActionForStateCompleteEventAndTask(state, context) {
|
|
8669
8668
|
// Trigger final state to complete processing of state machine
|
|
8670
8669
|
state.trigger(EventCompletionStates.Final);
|
|
8671
|
-
|
|
8670
|
+
const clientContextStr = context.sessionStorageService.getItem('clientContext');
|
|
8671
|
+
const userTask = FieldsUtils.getUserTaskFromClientContext(clientContextStr);
|
|
8672
|
+
if (userTask === null || userTask === void 0 ? void 0 : userTask.task_data) {
|
|
8672
8673
|
context.sessionStorageService.setItem('assignNeeded', 'false');
|
|
8673
8674
|
// just set event can be completed
|
|
8674
8675
|
context.component.eventCanBeCompleted.emit(true);
|
|
@@ -8687,7 +8688,9 @@ class EventCompletionStateMachineService {
|
|
|
8687
8688
|
entryActionForStateTaskUnassigned(state, context) {
|
|
8688
8689
|
// Trigger final state to complete processing of state machine
|
|
8689
8690
|
state.trigger(EventCompletionStates.Final);
|
|
8690
|
-
|
|
8691
|
+
const clientContextStr = context.sessionStorageService.getItem('clientContext');
|
|
8692
|
+
const userTask = FieldsUtils.getUserTaskFromClientContext(clientContextStr);
|
|
8693
|
+
if (userTask === null || userTask === void 0 ? void 0 : userTask.task_data) {
|
|
8691
8694
|
context.sessionStorageService.setItem('assignNeeded', 'true');
|
|
8692
8695
|
context.component.eventCanBeCompleted.emit(true);
|
|
8693
8696
|
}
|
|
@@ -8722,10 +8725,11 @@ class EventCompletionStateMachineService {
|
|
|
8722
8725
|
addTransitionsForStateTaskUnassigned() {
|
|
8723
8726
|
this.stateTaskUnassigned.addTransition(EventCompletionStates.Final, this.stateFinal);
|
|
8724
8727
|
}
|
|
8725
|
-
|
|
8728
|
+
taskPresentInSessionStorage(context) {
|
|
8726
8729
|
const clientContextStr = context.sessionStorageService.getItem('clientContext');
|
|
8730
|
+
console.log('clienht cintedt ', clientContextStr);
|
|
8727
8731
|
const userTask = FieldsUtils.getUserTaskFromClientContext(clientContextStr);
|
|
8728
|
-
return userTask
|
|
8732
|
+
return !!userTask.task_data;
|
|
8729
8733
|
}
|
|
8730
8734
|
}
|
|
8731
8735
|
EventCompletionStateMachineService.ɵfac = function EventCompletionStateMachineService_Factory(t) { return new (t || EventCompletionStateMachineService)(); };
|