@hmcts/ccd-case-ui-toolkit 5.0.38-case-flags-table-alignment → 5.0.41-case-link-integration-fixes

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 (44) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +116 -29
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/shared/commons/case-edit-data/case-edit-data.module.js +19 -0
  6. package/esm2015/lib/shared/commons/case-edit-data/case-edit-data.service.js +34 -0
  7. package/esm2015/lib/shared/commons/case-edit-data/case-edit-validation.model.js +2 -0
  8. package/esm2015/lib/shared/commons/case-edit-data/index.js +4 -0
  9. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +23 -11
  10. package/esm2015/lib/shared/components/case-editor/case-editor.module.js +7 -1
  11. package/esm2015/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.js +1 -1
  12. package/esm2015/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.js +2 -2
  13. package/esm2015/lib/shared/components/palette/case-link/components/write-linked-cases.component.js +20 -15
  14. package/esm2015/lib/shared/components/palette/case-link/write-case-link-field.component.js +4 -7
  15. package/esm2015/lib/shared/components/palette/palette.module.js +5 -1
  16. package/esm2015/lib/shared/components/palette/utils/is-compound.pipe.js +10 -1
  17. package/esm2015/lib/shared/index.js +2 -1
  18. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +108 -30
  19. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  20. package/lib/shared/commons/case-edit-data/case-edit-data.module.d.ts +9 -0
  21. package/lib/shared/commons/case-edit-data/case-edit-data.module.d.ts.map +1 -0
  22. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts +20 -0
  23. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts.map +1 -0
  24. package/lib/shared/commons/case-edit-data/case-edit-validation.model.d.ts +5 -0
  25. package/lib/shared/commons/case-edit-data/case-edit-validation.model.d.ts.map +1 -0
  26. package/lib/shared/commons/case-edit-data/index.d.ts +4 -0
  27. package/lib/shared/commons/case-edit-data/index.d.ts.map +1 -0
  28. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +4 -1
  29. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  30. package/lib/shared/components/case-editor/case-editor.module.d.ts +10 -9
  31. package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
  32. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +1 -1
  33. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
  34. package/lib/shared/components/palette/case-link/components/write-linked-cases.component.d.ts +4 -4
  35. package/lib/shared/components/palette/case-link/components/write-linked-cases.component.d.ts.map +1 -1
  36. package/lib/shared/components/palette/case-link/write-case-link-field.component.d.ts +1 -3
  37. package/lib/shared/components/palette/case-link/write-case-link-field.component.d.ts.map +1 -1
  38. package/lib/shared/components/palette/palette.module.d.ts +24 -23
  39. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  40. package/lib/shared/components/palette/utils/is-compound.pipe.d.ts +1 -0
  41. package/lib/shared/components/palette/utils/is-compound.pipe.d.ts.map +1 -1
  42. package/lib/shared/index.d.ts +1 -0
  43. package/lib/shared/index.d.ts.map +1 -1
  44. package/package.json +1 -1
@@ -227,4 +227,4 @@ ManageCaseFlagsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ManageCaseFlagsC
227
227
  }], caseFlagStateEmitter: [{
228
228
  type: Output
229
229
  }] }); })();
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvbWFuYWdlLWNhc2UtZmxhZ3MvbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvbWFuYWdlLWNhc2UtZmxhZ3MvbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7SUNJNUYsOEJBQzZDO0lBQzNDLGdDQUFvQztJQUFBLHNCQUFNO0lBQUEsaUJBQU87SUFBQyxZQUNwRDtJQUFBLGlCQUFNOzs7SUFEOEMsZUFDcEQ7SUFEb0QsMEVBQ3BEOzs7SUFFRSwrQkFBeUY7SUFDdkYsNEJBQzhFO0lBQzlFLDRCQUFrSDtJQUNwSCxpQkFBTTs7Ozs7SUFIK0IsZUFBeUI7SUFBekIsNERBQXlCO0lBQUMsaURBQTRCLHlCQUFBLCtDQUFBO0lBRTFDLGVBQTBCO0lBQTFCLDZEQUEwQjtJQUFDLG1FQUErQjs7OztJQUtqSCwrQkFBc0Q7SUFD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Q2YsZUFBMEQ7UUFBMUQsa0ZBQTBEO1FBSWhGLGVBQ0Y7UUFERSx3REFDRjtRQUdDLGVBQXdDO1FBQXhDLDZEQUF3QztRQUllLGVBQXFCO1FBQXJCLDhDQUFxQjtRQVFsRCxlQUFtQjtRQUFuQix3Q0FBbUI7O3VGRFR6Qyx3QkFBd0I7Y0FOcEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLFdBQVcsRUFBRSxvQ0FBb0M7Z0JBQ2pELFNBQVMsRUFBRSxDQUFDLG9DQUFvQyxDQUFDO2dCQUNqRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0QztnQkFLaUIsU0FBUztrQkFBeEIsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBQ1csb0JBQW9CO2tCQUFwQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdTdGF0ZSwgRmxhZ0RldGFpbCwgRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aCwgRmxhZ3MsIEZsYWdzV2l0aEZvcm1Hcm91cFBhdGggfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdGaWVsZFN0YXRlLCBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZSwgU2VsZWN0RmxhZ0Vycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uL2VudW1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLW1hbmFnZS1jYXNlLWZsYWdzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hbmFnZS1jYXNlLWZsYWdzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBNYW5hZ2VDYXNlRmxhZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IENBU0VfTEVWRUxfQ0FTRV9GTEFHU19GSUVMRF9JRCA9ICdjYXNlRmxhZ3MnO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGZsYWdzRGF0YTogRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aFtdO1xuICBASW5wdXQoKSBwdWJsaWMgY2FzZVRpdGxlOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2FzZUZsYWdTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4oKTtcblxuICBwdWJsaWMgbWFuYWdlQ2FzZUZsYWdUaXRsZTogQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGU7XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBFcnJvck1lc3NhZ2VbXSA9IFtdO1xuICBwdWJsaWMgbWFuYWdlQ2FzZUZsYWdTZWxlY3RlZEVycm9yTWVzc2FnZTogU2VsZWN0RmxhZ0Vycm9yTWVzc2FnZSA9IG51bGw7XG4gIHB1YmxpYyBmbGFnc0Rpc3BsYXlEYXRhOiBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoW107XG4gIHB1YmxpYyBmbGFnczogRmxhZ3M7XG4gIHB1YmxpYyBub0ZsYWdzRXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIHNlbGVjdGVkQ29udHJvbE5hbWUgPSAnc2VsZWN0ZWRNYW5hZ2VDYXNlTG9jYXRpb24nO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1hbmFnZUNhc2VGbGFnVGl0bGUgPSBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5NQU5BR0VfQ0FTRV9GTEFHUztcblxuICAgIC8vIE1hcCBmbGFncyBpbnN0YW5jZXMgdG8gb2JqZWN0cyBmb3IgZGlzcGxheVxuICAgIGlmICh0aGlzLmZsYWdzRGF0YSkge1xuICAgICAgdGhpcy5mbGFnc0Rpc3BsYXlEYXRhID0gdGhpcy5mbGFnc0RhdGEucmVkdWNlKChkaXNwbGF5RGF0YSwgZmxhZ3NJbnN0YW5jZSkgPT4ge1xuICAgICAgICBpZiAoZmxhZ3NJbnN0YW5jZS5mbGFncy5kZXRhaWxzICYmIGZsYWdzSW5zdGFuY2UuZmxhZ3MuZGV0YWlscy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZGlzcGxheURhdGEgPSBbXG4gICAgICAgICAgICAuLi5kaXNwbGF5RGF0YSxcbiAgICAgICAgICAgIC4uLmZsYWdzSW5zdGFuY2UuZmxhZ3MuZGV0YWlscy5tYXAoZGV0YWlsID0+XG4gICAgICAgICAgICAgIHRoaXMubWFwRmxhZ0RldGFpbEZvckRpc3BsYXkoZGV0YWlsLCBmbGFnc0luc3RhbmNlKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRpc3BsYXlEYXRhO1xuICAgICAgfSwgW10pO1xuXG4gICAgICB0aGlzLmZsYWdzRGlzcGxheURhdGEuZm9yRWFjaChmbGFnRGlzcGxheURhdGEgPT4ge1xuICAgICAgICBmbGFnRGlzcGxheURhdGEubGFiZWwgPSB0aGlzLnByb2Nlc3NMYWJlbChmbGFnRGlzcGxheURhdGEpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gQWRkIGEgRm9ybUNvbnRyb2wgZm9yIHRoZSBzZWxlY3RlZCBjYXNlIGZsYWcgaWYgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGZsYWdzIGluc3RhbmNlIHJlbWFpbmluZyBhZnRlciBtYXBwaW5nXG4gICAgaWYgKHRoaXMuZmxhZ3NEaXNwbGF5RGF0YSAmJiB0aGlzLmZsYWdzRGlzcGxheURhdGEubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCh0aGlzLnNlbGVjdGVkQ29udHJvbE5hbWUsIG5ldyBGb3JtQ29udHJvbChudWxsKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5vIGZsYWdzIGRpc3BsYXkgZGF0YSBtZWFucyB0aGVyZSBhcmUgbm8gZmxhZ3MgdG8gc2VsZWN0IGZyb20uIFRoZSB1c2VyIGNhbm5vdCBwcm9jZWVkIHdpdGggYSBmbGFnIHVwZGF0ZS5cbiAgICAgIC8vIChXaWxsIG5lZWQgdG8gYmUgZXh0ZW5kZWQgdG8gY2hlY2sgZm9yIGNhc2UtbGV2ZWwgZmxhZ3MgaW4gZnV0dXJlKVxuICAgICAgdGhpcy5vbk5vRmxhZ3NFcnJvcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBtYXBGbGFnRGV0YWlsRm9yRGlzcGxheShmbGFnRGV0YWlsOiBGbGFnRGV0YWlsLCBmbGFnc0luc3RhbmNlOiBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoKTogRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZsYWdEZXRhaWxEaXNwbGF5OiB7XG4gICAgICAgIHBhcnR5TmFtZTogZmxhZ3NJbnN0YW5jZS5mbGFncy5wYXJ0eU5hbWUsXG4gICAgICAgIGZsYWdEZXRhaWwsXG4gICAgICAgIGZsYWdzQ2FzZUZpZWxkSWQ6IGZsYWdzSW5zdGFuY2UuY2FzZUZpZWxkLmlkXG4gICAgICB9LFxuICAgICAgcGF0aFRvRmxhZ3NGb3JtR3JvdXA6IGZsYWdzSW5zdGFuY2UucGF0aFRvRmxhZ3NGb3JtR3JvdXAsXG4gICAgICBjYXNlRmllbGQ6IGZsYWdzSW5zdGFuY2UuY2FzZUZpZWxkLFxuICAgICAgcm9sZU9uQ2FzZTogZmxhZ3NJbnN0YW5jZS5mbGFncy5yb2xlT25DYXNlXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBwcm9jZXNzTGFiZWwoZmxhZ0Rpc3BsYXk6IEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZsYWdEZXRhaWwgPSBmbGFnRGlzcGxheS5mbGFnRGV0YWlsRGlzcGxheS5mbGFnRGV0YWlsO1xuICAgIGNvbnN0IHBhcnR5TmFtZSA9IHRoaXMuZ2V0UGFydHlOYW1lKGZsYWdEaXNwbGF5KTtcbiAgICBjb25zdCBmbGFnTmFtZSA9IHRoaXMuZ2V0RmxhZ05hbWUoZmxhZ0RldGFpbCk7XG4gICAgY29uc3QgZmxhZ0Rlc2NyaXB0aW9uID0gdGhpcy5nZXRGbGFnRGVzY3JpcHRpb24oZmxhZ0RldGFpbCk7XG4gICAgY29uc3Qgcm9sZU9uQ2FzZSA9IHRoaXMuZ2V0Um9sZU9uQ2FzZShmbGFnRGlzcGxheSk7XG4gICAgY29uc3QgZmxhZ0NvbW1lbnQgPSB0aGlzLmdldEZsYWdDb21tZW50cyhmbGFnRGV0YWlsKTtcblxuICAgIHJldHVybiBmbGFnTmFtZSA9PT0gZmxhZ0Rlc2NyaXB0aW9uXG4gICAgICA/IGAke3BhcnR5TmFtZX0ke3JvbGVPbkNhc2V9IC0gPHNwYW4gY2xhc3M9XCJmbGFnLW5hbWUtYW5kLWRlc2NyaXB0aW9uXCI+JHtmbGFnRGVzY3JpcHRpb259PC9zcGFuPiR7ZmxhZ0NvbW1lbnR9YFxuICAgICAgOiBgJHtwYXJ0eU5hbWV9JHtyb2xlT25DYXNlfSAtIDxzcGFuIGNsYXNzPVwiZmxhZy1uYW1lLWFuZC1kZXNjcmlwdGlvblwiPiR7ZmxhZ05hbWV9LCAke2ZsYWdEZXNjcmlwdGlvbn08L3NwYW4+JHtmbGFnQ29tbWVudH1gO1xuICB9XG5cbiAgcHVibGljIGdldFBhcnR5TmFtZShmbGFnRGlzcGxheTogRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aCk6IHN0cmluZyB7XG4gICAgaWYgKGZsYWdEaXNwbGF5LnBhdGhUb0ZsYWdzRm9ybUdyb3VwICYmIGZsYWdEaXNwbGF5LnBhdGhUb0ZsYWdzRm9ybUdyb3VwID09PSBNYW5hZ2VDYXNlRmxhZ3NDb21wb25lbnQuQ0FTRV9MRVZFTF9DQVNFX0ZMQUdTX0ZJRUxEX0lEKSB7XG4gICAgICByZXR1cm4gJ0Nhc2UgbGV2ZWwnO1xuICAgIH1cbiAgICBpZiAoZmxhZ0Rpc3BsYXkuZmxhZ0RldGFpbERpc3BsYXkucGFydHlOYW1lKSB7XG4gICAgICByZXR1cm4gYCR7ZmxhZ0Rpc3BsYXkuZmxhZ0RldGFpbERpc3BsYXkucGFydHlOYW1lfWA7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHB1YmxpYyBnZXRGbGFnTmFtZShmbGFnRGV0YWlsOiBGbGFnRGV0YWlsKTogc3RyaW5nIHtcbiAgICBpZiAoZmxhZ0RldGFpbCAmJiBmbGFnRGV0YWlsLnBhdGggJiYgZmxhZ0RldGFpbC5wYXRoLmxlbmd0aCA+IDEpIHtcbiAgICAgIHJldHVybiBmbGFnRGV0YWlsLnBhdGhbMV0udmFsdWU7XG4gICAgfVxuICAgIGlmIChmbGFnRGV0YWlsLnN1YlR5cGVLZXkgJiYgZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWUpIHtcbiAgICAgIHJldHVybiBmbGFnRGV0YWlsLnN1YlR5cGVWYWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZsYWdEZXRhaWwubmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGbGFnRGVzY3JpcHRpb24oZmxhZ0RldGFpbDogRmxhZ0RldGFpbCk6IHN0cmluZyB7XG4gICAgaWYgKGZsYWdEZXRhaWwgJiYgZmxhZ0RldGFpbC5uYW1lKSB7XG4gICAgICBpZiAoZmxhZ0RldGFpbC5uYW1lID09PSAnT3RoZXInICYmIGZsYWdEZXRhaWwub3RoZXJEZXNjcmlwdGlvbikge1xuICAgICAgICByZXR1cm4gZmxhZ0RldGFpbC5vdGhlckRlc2NyaXB0aW9uO1xuICAgICAgfVxuICAgICAgaWYgKGZsYWdEZXRhaWwuc3ViVHlwZUtleSAmJiBmbGFnRGV0YWlsLnN1YlR5cGVWYWx1ZSkge1xuICAgICAgICByZXR1cm4gZmxhZ0RldGFpbC5zdWJUeXBlVmFsdWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmxhZ0RldGFpbC5uYW1lO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0Um9sZU9uQ2FzZShmbGFnRGlzcGxheTogRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aCk6IHN0cmluZyB7XG4gICAgaWYgKGZsYWdEaXNwbGF5ICYmIGZsYWdEaXNwbGF5LnJvbGVPbkNhc2UpIHtcbiAgICAgIHJldHVybiBgICgke2ZsYWdEaXNwbGF5LnJvbGVPbkNhc2V9KWA7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHB1YmxpYyBnZXRGbGFnQ29tbWVudHMoZmxhZ0RldGFpbDogRmxhZ0RldGFpbCk6IHN0cmluZyB7XG4gICAgaWYgKGZsYWdEZXRhaWwuZmxhZ0NvbW1lbnQpIHtcbiAgICAgIHJldHVybiBgICgke2ZsYWdEZXRhaWwuZmxhZ0NvbW1lbnR9KWA7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgLy8gVmFsaWRhdGUgZmxhZyBzZWxlY3Rpb25cbiAgICB0aGlzLnZhbGlkYXRlU2VsZWN0aW9uKCk7XG4gICAgLy8gUmV0dXJuIGNhc2UgZmxhZyBmaWVsZCBzdGF0ZSwgZXJyb3IgbWVzc2FnZXMsIGFuZCBmbGFnIHNlbGVjdGlvbiB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX01BTkFHRV9DQVNFX0ZMQUdTLFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzLFxuICAgICAgc2VsZWN0ZWRGbGFnOiB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zZWxlY3RlZENvbnRyb2xOYW1lKS52YWx1ZVxuICAgICAgICA/IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNlbGVjdGVkQ29udHJvbE5hbWUpLnZhbHVlIGFzIEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGhcbiAgICAgICAgOiBudWxsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMubWFuYWdlQ2FzZUZsYWdTZWxlY3RlZEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgaWYgKCF0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zZWxlY3RlZENvbnRyb2xOYW1lKS52YWx1ZSkge1xuICAgICAgdGhpcy5tYW5hZ2VDYXNlRmxhZ1NlbGVjdGVkRXJyb3JNZXNzYWdlID0gU2VsZWN0RmxhZ0Vycm9yTWVzc2FnZS5GTEFHX05PVF9TRUxFQ1RFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogU2VsZWN0RmxhZ0Vycm9yTWVzc2FnZS5GTEFHX05PVF9TRUxFQ1RFRCxcbiAgICAgICAgZmllbGRJZDogJ2NvbmRpdGlvbmFsLXJhZGlvcy1saXN0J1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvbk5vRmxhZ3NFcnJvcigpOiB2b2lkIHtcbiAgICAvLyBTZXQgZXJyb3IgZmxhZyBvbiBjb21wb25lbnQgdG8gcmVtb3ZlIHRoZSBcIk5leHRcIiBidXR0b24gKHVzZXIgY2Fubm90IHByb2NlZWQgd2l0aCBmbGFnIGNyZWF0aW9uKVxuICAgIHRoaXMubm9GbGFnc0Vycm9yID0gdHJ1ZTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7dGl0bGU6ICcnLCBkZXNjcmlwdGlvbjogU2VsZWN0RmxhZ0Vycm9yTWVzc2FnZS5OT19GTEFHUywgZmllbGRJZDogJ2NvbmRpdGlvbmFsLXJhZGlvcy1saXN0J30pO1xuICAgIC8vIFJldHVybiBjYXNlIGZsYWcgZmllbGQgc3RhdGUgYW5kIGVycm9yIG1lc3NhZ2VzIHRvIHRoZSBwYXJlbnRcbiAgICB0aGlzLmNhc2VGbGFnU3RhdGVFbWl0dGVyLmVtaXQoe1xuICAgICAgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfTUFOQUdFX0NBU0VfRkxBR1MsXG4gICAgICBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXNcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGVycm9yTWVzc2FnZXMubGVuZ3RoID4gMH1cIj5cbiAgICA8ZmllbGRzZXQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJtYW5hZ2UtY2FzZS1mbGFnLWhlYWRpbmdcIj5cbiAgICAgIDxsZWdlbmQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9fbGVnZW5kIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWxcIj5cbiAgICAgICAgPGgxIGlkPVwibWFuYWdlLWNhc2UtZmxhZy1oZWFkaW5nXCIgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9faGVhZGluZ1wiPlxuICAgICAgICAgIHt7bWFuYWdlQ2FzZUZsYWdUaXRsZX19XG4gICAgICAgIDwvaDE+XG4gICAgICA8L2xlZ2VuZD5cbiAgICAgIDxkaXYgaWQ9XCJtYW5hZ2UtY2FzZS1mbGFnLW5vdC1zZWxlY3RlZC1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgKm5nSWY9XCJtYW5hZ2VDYXNlRmxhZ1NlbGVjdGVkRXJyb3JNZXNzYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+RXJyb3I6PC9zcGFuPiB7e21hbmFnZUNhc2VGbGFnU2VsZWN0ZWRFcnJvck1lc3NhZ2V9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zIGdvdnVrLXJhZGlvcy0tY29uZGl0aW9uYWxcIiBkYXRhLW1vZHVsZT1cImdvdnVrLXJhZGlvc1wiIGlkPVwiY29uZGl0aW9uYWwtcmFkaW9zLWxpc3RcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiICpuZ0Zvcj1cImxldCBmbGFnRGlzcGxheSBvZiBmbGFnc0Rpc3BsYXlEYXRhOyBpbmRleCBhcyBpXCI+XG4gICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIGlkPVwiZmxhZy1zZWxlY3Rpb24te3tpfX1cIiBbbmFtZV09XCJzZWxlY3RlZENvbnRyb2xOYW1lXCJcbiAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiIFt2YWx1ZV09XCJmbGFnRGlzcGxheVwiIFtmb3JtQ29udHJvbE5hbWVdPVwic2VsZWN0ZWRDb250cm9sTmFtZVwiLz5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1yYWRpb3NfX2xhYmVsXCIgZm9yPVwiZmxhZy1zZWxlY3Rpb24te3tpfX1cIiBbaW5uZXJIdG1sXT1cImZsYWdEaXNwbGF5LmxhYmVsXCI+PC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2ZpZWxkc2V0PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiICpuZ0lmPVwiIW5vRmxhZ3NFcnJvclwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gYnV0dG9uLXByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uTmV4dCgpXCI+TmV4dDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvbWFuYWdlLWNhc2UtZmxhZ3MvbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvbWFuYWdlLWNhc2UtZmxhZ3MvbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7SUNJNUYsOEJBQzZDO0lBQzNDLGdDQUFvQztJQUFBLHNCQUFNO0lBQUEsaUJBQU87SUFBQyxZQUNwRDtJQUFBLGlCQUFNOzs7SUFEOEMsZUFDcEQ7SUFEb0QsMEVBQ3BEOzs7SUFFRSwrQkFBeUY7SUFDdkYsNEJBQzhFO0lBQzlFLDRCQUFrSDtJQUNwSCxpQkFBTTs7Ozs7SUFIK0IsZUFBeUI7SUFBekIsNERBQXlCO0lBQUMsaURBQTRCLHlCQUFBLCtDQUFBO0lBRTFDLGVBQTBCO0lBQTFCLDZEQUEwQjtJQUFDLG1FQUErQjs7OztJQUtqSCwrQkFBc0Q7SUFD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ZixlQUEwRDtRQUExRCxrRkFBMEQ7UUFJaEYsZUFDRjtRQURFLHdEQUNGO1FBR0MsZUFBd0M7UUFBeEMsNkRBQXdDO1FBSWUsZUFBcUI7UUFBckIsOENBQXFCO1FBUWxELGVBQW1CO1FBQW5CLHdDQUFtQjs7dUZEVHpDLHdCQUF3QjtjQU5wQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsV0FBVyxFQUFFLG9DQUFvQztnQkFDakQsU0FBUyxFQUFFLENBQUMsb0NBQW9DLENBQUM7Z0JBQ2pELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDO2dCQUtpQixTQUFTO2tCQUF4QixLQUFLO1lBQ1UsU0FBUztrQkFBeEIsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFDVyxvQkFBb0I7a0JBQXBDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmxhZ1N0YXRlLCBGbGFnRGV0YWlsLCBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoLCBGbGFncywgRmxhZ3NXaXRoRm9ybUdyb3VwUGF0aCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmxhZ0ZpZWxkU3RhdGUsIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLCBTZWxlY3RGbGFnRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtbWFuYWdlLWNhc2UtZmxhZ3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFuYWdlLWNhc2UtZmxhZ3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYW5hZ2UtY2FzZS1mbGFncy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIE1hbmFnZUNhc2VGbGFnc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQ0FTRV9MRVZFTF9DQVNFX0ZMQUdTX0ZJRUxEX0lEID0gJ2Nhc2VGbGFncyc7XG5cbiAgQElucHV0KCkgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgZmxhZ3NEYXRhOiBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoW107XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXNlVGl0bGU6IHN0cmluZztcbiAgQE91dHB1dCgpIHB1YmxpYyBjYXNlRmxhZ1N0YXRlRW1pdHRlcjogRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPigpO1xuXG4gIHB1YmxpYyBtYW5hZ2VDYXNlRmxhZ1RpdGxlOiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZTtcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW107XG4gIHB1YmxpYyBtYW5hZ2VDYXNlRmxhZ1NlbGVjdGVkRXJyb3JNZXNzYWdlOiBTZWxlY3RGbGFnRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIGZsYWdzRGlzcGxheURhdGE6IEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGhbXTtcbiAgcHVibGljIGZsYWdzOiBGbGFncztcbiAgcHVibGljIG5vRmxhZ3NFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRDb250cm9sTmFtZSA9ICdzZWxlY3RlZE1hbmFnZUNhc2VMb2NhdGlvbic7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubWFuYWdlQ2FzZUZsYWdUaXRsZSA9IENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLk1BTkFHRV9DQVNFX0ZMQUdTO1xuXG4gICAgLy8gTWFwIGZsYWdzIGluc3RhbmNlcyB0byBvYmplY3RzIGZvciBkaXNwbGF5XG4gICAgaWYgKHRoaXMuZmxhZ3NEYXRhKSB7XG4gICAgICB0aGlzLmZsYWdzRGlzcGxheURhdGEgPSB0aGlzLmZsYWdzRGF0YS5yZWR1Y2UoKGRpc3BsYXlEYXRhLCBmbGFnc0luc3RhbmNlKSA9PiB7XG4gICAgICAgIGlmIChmbGFnc0luc3RhbmNlLmZsYWdzLmRldGFpbHMgJiYgZmxhZ3NJbnN0YW5jZS5mbGFncy5kZXRhaWxzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBkaXNwbGF5RGF0YSA9IFtcbiAgICAgICAgICAgIC4uLmRpc3BsYXlEYXRhLFxuICAgICAgICAgICAgLi4uZmxhZ3NJbnN0YW5jZS5mbGFncy5kZXRhaWxzLm1hcChkZXRhaWwgPT5cbiAgICAgICAgICAgICAgdGhpcy5tYXBGbGFnRGV0YWlsRm9yRGlzcGxheShkZXRhaWwsIGZsYWdzSW5zdGFuY2UpXG4gICAgICAgICAgICApXG4gICAgICAgICAgXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGlzcGxheURhdGE7XG4gICAgICB9LCBbXSk7XG5cbiAgICAgIHRoaXMuZmxhZ3NEaXNwbGF5RGF0YS5mb3JFYWNoKGZsYWdEaXNwbGF5RGF0YSA9PiB7XG4gICAgICAgIGZsYWdEaXNwbGF5RGF0YS5sYWJlbCA9IHRoaXMucHJvY2Vzc0xhYmVsKGZsYWdEaXNwbGF5RGF0YSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBBZGQgYSBGb3JtQ29udHJvbCBmb3IgdGhlIHNlbGVjdGVkIGNhc2UgZmxhZyBpZiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgZmxhZ3MgaW5zdGFuY2UgcmVtYWluaW5nIGFmdGVyIG1hcHBpbmdcbiAgICBpZiAodGhpcy5mbGFnc0Rpc3BsYXlEYXRhICYmIHRoaXMuZmxhZ3NEaXNwbGF5RGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKHRoaXMuc2VsZWN0ZWRDb250cm9sTmFtZSwgbmV3IEZvcm1Db250cm9sKG51bGwpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTm8gZmxhZ3MgZGlzcGxheSBkYXRhIG1lYW5zIHRoZXJlIGFyZSBubyBmbGFncyB0byBzZWxlY3QgZnJvbS4gVGhlIHVzZXIgY2Fubm90IHByb2NlZWQgd2l0aCBhIGZsYWcgdXBkYXRlLlxuICAgICAgLy8gKFdpbGwgbmVlZCB0byBiZSBleHRlbmRlZCB0byBjaGVjayBmb3IgY2FzZS1sZXZlbCBmbGFncyBpbiBmdXR1cmUpXG4gICAgICB0aGlzLm9uTm9GbGFnc0Vycm9yKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG1hcEZsYWdEZXRhaWxGb3JEaXNwbGF5KGZsYWdEZXRhaWw6IEZsYWdEZXRhaWwsIGZsYWdzSW5zdGFuY2U6IEZsYWdzV2l0aEZvcm1Hcm91cFBhdGgpOiBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoIHtcbiAgICByZXR1cm4ge1xuICAgICAgZmxhZ0RldGFpbERpc3BsYXk6IHtcbiAgICAgICAgcGFydHlOYW1lOiBmbGFnc0luc3RhbmNlLmZsYWdzLnBhcnR5TmFtZSxcbiAgICAgICAgZmxhZ0RldGFpbCxcbiAgICAgICAgZmxhZ3NDYXNlRmllbGRJZDogZmxhZ3NJbnN0YW5jZS5jYXNlRmllbGQuaWRcbiAgICAgIH0sXG4gICAgICBwYXRoVG9GbGFnc0Zvcm1Hcm91cDogZmxhZ3NJbnN0YW5jZS5wYXRoVG9GbGFnc0Zvcm1Hcm91cCxcbiAgICAgIGNhc2VGaWVsZDogZmxhZ3NJbnN0YW5jZS5jYXNlRmllbGQsXG4gICAgICByb2xlT25DYXNlOiBmbGFnc0luc3RhbmNlLmZsYWdzLnJvbGVPbkNhc2VcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHByb2Nlc3NMYWJlbChmbGFnRGlzcGxheTogRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aCk6IHN0cmluZyB7XG4gICAgY29uc3QgZmxhZ0RldGFpbCA9IGZsYWdEaXNwbGF5LmZsYWdEZXRhaWxEaXNwbGF5LmZsYWdEZXRhaWw7XG4gICAgY29uc3QgcGFydHlOYW1lID0gdGhpcy5nZXRQYXJ0eU5hbWUoZmxhZ0Rpc3BsYXkpO1xuICAgIGNvbnN0IGZsYWdOYW1lID0gdGhpcy5nZXRGbGFnTmFtZShmbGFnRGV0YWlsKTtcbiAgICBjb25zdCBmbGFnRGVzY3JpcHRpb24gPSB0aGlzLmdldEZsYWdEZXNjcmlwdGlvbihmbGFnRGV0YWlsKTtcbiAgICBjb25zdCByb2xlT25DYXNlID0gdGhpcy5nZXRSb2xlT25DYXNlKGZsYWdEaXNwbGF5KTtcbiAgICBjb25zdCBmbGFnQ29tbWVudCA9IHRoaXMuZ2V0RmxhZ0NvbW1lbnRzKGZsYWdEZXRhaWwpO1xuXG4gICAgcmV0dXJuIGZsYWdOYW1lID09PSBmbGFnRGVzY3JpcHRpb25cbiAgICAgID8gYCR7cGFydHlOYW1lfSR7cm9sZU9uQ2FzZX0gLSA8c3BhbiBjbGFzcz1cImZsYWctbmFtZS1hbmQtZGVzY3JpcHRpb25cIj4ke2ZsYWdEZXNjcmlwdGlvbn08L3NwYW4+JHtmbGFnQ29tbWVudH1gXG4gICAgICA6IGAke3BhcnR5TmFtZX0ke3JvbGVPbkNhc2V9IC0gPHNwYW4gY2xhc3M9XCJmbGFnLW5hbWUtYW5kLWRlc2NyaXB0aW9uXCI+JHtmbGFnTmFtZX0sICR7ZmxhZ0Rlc2NyaXB0aW9ufTwvc3Bhbj4ke2ZsYWdDb21tZW50fWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0UGFydHlOYW1lKGZsYWdEaXNwbGF5OiBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoKTogc3RyaW5nIHtcbiAgICBpZiAoZmxhZ0Rpc3BsYXkucGF0aFRvRmxhZ3NGb3JtR3JvdXAgJiYgZmxhZ0Rpc3BsYXkucGF0aFRvRmxhZ3NGb3JtR3JvdXAgPT09IE1hbmFnZUNhc2VGbGFnc0NvbXBvbmVudC5DQVNFX0xFVkVMX0NBU0VfRkxBR1NfRklFTERfSUQpIHtcbiAgICAgIHJldHVybiAnQ2FzZSBsZXZlbCc7XG4gICAgfVxuICAgIGlmIChmbGFnRGlzcGxheS5mbGFnRGV0YWlsRGlzcGxheS5wYXJ0eU5hbWUpIHtcbiAgICAgIHJldHVybiBgJHtmbGFnRGlzcGxheS5mbGFnRGV0YWlsRGlzcGxheS5wYXJ0eU5hbWV9YDtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHVibGljIGdldEZsYWdOYW1lKGZsYWdEZXRhaWw6IEZsYWdEZXRhaWwpOiBzdHJpbmcge1xuICAgIGlmIChmbGFnRGV0YWlsICYmIGZsYWdEZXRhaWwucGF0aCAmJiBmbGFnRGV0YWlsLnBhdGgubGVuZ3RoID4gMSkge1xuICAgICAgcmV0dXJuIGZsYWdEZXRhaWwucGF0aFsxXS52YWx1ZTtcbiAgICB9XG4gICAgaWYgKGZsYWdEZXRhaWwuc3ViVHlwZUtleSAmJiBmbGFnRGV0YWlsLnN1YlR5cGVWYWx1ZSkge1xuICAgICAgcmV0dXJuIGZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gZmxhZ0RldGFpbC5uYW1lO1xuICB9XG5cbiAgcHVibGljIGdldEZsYWdEZXNjcmlwdGlvbihmbGFnRGV0YWlsOiBGbGFnRGV0YWlsKTogc3RyaW5nIHtcbiAgICBpZiAoZmxhZ0RldGFpbCAmJiBmbGFnRGV0YWlsLm5hbWUpIHtcbiAgICAgIGlmIChmbGFnRGV0YWlsLm5hbWUgPT09ICdPdGhlcicgJiYgZmxhZ0RldGFpbC5vdGhlckRlc2NyaXB0aW9uKSB7XG4gICAgICAgIHJldHVybiBmbGFnRGV0YWlsLm90aGVyRGVzY3JpcHRpb247XG4gICAgICB9XG4gICAgICBpZiAoZmxhZ0RldGFpbC5zdWJUeXBlS2V5ICYmIGZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlKSB7XG4gICAgICAgIHJldHVybiBmbGFnRGV0YWlsLnN1YlR5cGVWYWx1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmbGFnRGV0YWlsLm5hbWU7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHB1YmxpYyBnZXRSb2xlT25DYXNlKGZsYWdEaXNwbGF5OiBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoKTogc3RyaW5nIHtcbiAgICBpZiAoZmxhZ0Rpc3BsYXkgJiYgZmxhZ0Rpc3BsYXkucm9sZU9uQ2FzZSkge1xuICAgICAgcmV0dXJuIGAgKCR7ZmxhZ0Rpc3BsYXkucm9sZU9uQ2FzZX0pYDtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHVibGljIGdldEZsYWdDb21tZW50cyhmbGFnRGV0YWlsOiBGbGFnRGV0YWlsKTogc3RyaW5nIHtcbiAgICBpZiAoZmxhZ0RldGFpbC5mbGFnQ29tbWVudCkge1xuICAgICAgcmV0dXJuIGAgKCR7ZmxhZ0RldGFpbC5mbGFnQ29tbWVudH0pYDtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHVibGljIG9uTmV4dCgpOiB2b2lkIHtcbiAgICAvLyBWYWxpZGF0ZSBmbGFnIHNlbGVjdGlvblxuICAgIHRoaXMudmFsaWRhdGVTZWxlY3Rpb24oKTtcbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlLCBlcnJvciBtZXNzYWdlcywgYW5kIGZsYWcgc2VsZWN0aW9uIHRvIHRoZSBwYXJlbnRcbiAgICB0aGlzLmNhc2VGbGFnU3RhdGVFbWl0dGVyLmVtaXQoe1xuICAgICAgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfTUFOQUdFX0NBU0VfRkxBR1MsXG4gICAgICBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXMsXG4gICAgICBzZWxlY3RlZEZsYWc6IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNlbGVjdGVkQ29udHJvbE5hbWUpLnZhbHVlXG4gICAgICAgID8gdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuc2VsZWN0ZWRDb250cm9sTmFtZSkudmFsdWUgYXMgRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aFxuICAgICAgICA6IG51bGxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5tYW5hZ2VDYXNlRmxhZ1NlbGVjdGVkRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNlbGVjdGVkQ29udHJvbE5hbWUpLnZhbHVlKSB7XG4gICAgICB0aGlzLm1hbmFnZUNhc2VGbGFnU2VsZWN0ZWRFcnJvck1lc3NhZ2UgPSBTZWxlY3RGbGFnRXJyb3JNZXNzYWdlLkZMQUdfTk9UX1NFTEVDVEVEO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBTZWxlY3RGbGFnRXJyb3JNZXNzYWdlLkZMQUdfTk9UX1NFTEVDVEVELFxuICAgICAgICBmaWVsZElkOiAnY29uZGl0aW9uYWwtcmFkaW9zLWxpc3QnXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9uTm9GbGFnc0Vycm9yKCk6IHZvaWQge1xuICAgIC8vIFNldCBlcnJvciBmbGFnIG9uIGNvbXBvbmVudCB0byByZW1vdmUgdGhlIFwiTmV4dFwiIGJ1dHRvbiAodXNlciBjYW5ub3QgcHJvY2VlZCB3aXRoIGZsYWcgY3JlYXRpb24pXG4gICAgdGhpcy5ub0ZsYWdzRXJyb3IgPSB0cnVlO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHt0aXRsZTogJycsIGRlc2NyaXB0aW9uOiBTZWxlY3RGbGFnRXJyb3JNZXNzYWdlLk5PX0ZMQUdTLCBmaWVsZElkOiAnY29uZGl0aW9uYWwtcmFkaW9zLWxpc3QnfSk7XG4gICAgLy8gUmV0dXJuIGNhc2UgZmxhZyBmaWVsZCBzdGF0ZSBhbmQgZXJyb3IgbWVzc2FnZXMgdG8gdGhlIHBhcmVudFxuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19NQU5BR0VfQ0FTRV9GTEFHUyxcbiAgICAgIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlc1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogZXJyb3JNZXNzYWdlcy5sZW5ndGggPiAwfVwiPlxuICAgIDxmaWVsZHNldCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0XCIgYXJpYS1kZXNjcmliZWRieT1cIm1hbmFnZS1jYXNlLWZsYWctaGVhZGluZ1wiPlxuICAgICAgPGxlZ2VuZCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19sZWdlbmQgZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbFwiPlxuICAgICAgICA8aDEgaWQ9XCJtYW5hZ2UtY2FzZS1mbGFnLWhlYWRpbmdcIiBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19oZWFkaW5nXCI+XG4gICAgICAgICAge3ttYW5hZ2VDYXNlRmxhZ1RpdGxlfX1cbiAgICAgICAgPC9oMT5cbiAgICAgIDwvbGVnZW5kPlxuICAgICAgPGRpdiBpZD1cIm1hbmFnZS1jYXNlLWZsYWctbm90LXNlbGVjdGVkLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAqbmdJZj1cIm1hbmFnZUNhc2VGbGFnU2VsZWN0ZWRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7bWFuYWdlQ2FzZUZsYWdTZWxlY3RlZEVycm9yTWVzc2FnZX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3MgZ292dWstcmFkaW9zLS1jb25kaXRpb25hbFwiIGRhdGEtbW9kdWxlPVwiZ292dWstcmFkaW9zXCIgaWQ9XCJjb25kaXRpb25hbC1yYWRpb3MtbGlzdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19pdGVtXCIgKm5nRm9yPVwibGV0IGZsYWdEaXNwbGF5IG9mIGZsYWdzRGlzcGxheURhdGE7IGluZGV4IGFzIGlcIj5cbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2lucHV0XCIgaWQ9XCJmbGFnLXNlbGVjdGlvbi17e2l9fVwiIFtuYW1lXT1cInNlbGVjdGVkQ29udHJvbE5hbWVcIlxuICAgICAgICAgICAgdHlwZT1cInJhZGlvXCIgW3ZhbHVlXT1cImZsYWdEaXNwbGF5XCIgW2Zvcm1Db250cm9sTmFtZV09XCJzZWxlY3RlZENvbnRyb2xOYW1lXCIvPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLXJhZGlvc19fbGFiZWxcIiBmb3I9XCJmbGFnLXNlbGVjdGlvbi17e2l9fVwiIFtpbm5lckh0bWxdPVwiZmxhZ0Rpc3BsYXkubGFiZWxcIj48L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZmllbGRzZXQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZ292dWstYnV0dG9uLWdyb3VwXCIgKm5nSWY9XCIhbm9GbGFnc0Vycm9yXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBidXR0b24tcHJpbWFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25OZXh0KClcIj5OZXh0PC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -210,10 +210,10 @@ export class LinkCasesComponent {
210
210
  this.ISO_FORMAT = 'YYYY-MM-DDTHH:mm:ss.SSS';
211
211
  }
212
212
  ngOnInit() {
213
- this.initForm();
214
213
  this.caseId = this.linkedCasesService.caseId;
215
214
  this.caseName = this.linkedCasesService.caseName;
216
215
  this.linkCaseReasons = this.linkedCasesService.linkCaseReasons;
216
+ this.initForm();
217
217
  if (this.linkedCasesService.editMode) {
218
218
  // this may have includes the currently added one but yet to be submitted.
219
219
  this.selectedCases = this.linkedCasesService.linkedCases;
@@ -494,4 +494,4 @@ LinkCasesComponent.ɵcmp = i0.ɵɵdefineComponent({ type: LinkCasesComponent, se
494
494
  }], function () { return [{ type: i1.CasesService }, { type: i2.FormBuilder }, { type: i3.ValidatorsUtils }, { type: i4.LinkedCasesService }]; }, { linkedCasesStateEmitter: [{
495
495
  type: Output
496
496
  }] }); })();
497
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jYXNlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWxpbmsvY29tcG9uZW50cy9saW5rLWNhc2VzL2xpbmstY2FzZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1saW5rL2NvbXBvbmVudHMvbGluay1jYXNlcy9saW5rLWNhc2VzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWEsV0FBVyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RixPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQVE5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7OztJQ1JyRCxnQ0FBMEQ7SUFDeEQsZ0NBQW9DO0lBQUEsc0JBQU07SUFBQSxpQkFBTztJQUFDLFlBQ3BEO0lBQUEsaUJBQU87OztJQUQ2QyxlQUNwRDtJQURvRCx1REFDcEQ7OztJQVFGLGdD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QVE7UUFDVixpQkFBUTtRQUNWLGlCQUFNO1FBQ04sZ0NBQWdDO1FBQzlCLG1DQUF3RjtRQUFuQixnR0FBUyxZQUFRLElBQUM7UUFBQyxxQkFBSTtRQUFBLGlCQUFTO1FBQ3ZHLGlCQUFNO1FBQ1IsaUJBQU07UUFDUixpQkFBTTtRQUNSLGlCQUFNOztRQWxGOEIsZUFBd0Q7UUFBeEQsZ0dBQXdEO1FBRWxDLGVBQWtCO1FBQWxCLHVDQUFrQjtRQW1DeEIsZUFBOEQ7UUFBOUQsK0VBQThEO1FBQ3ZFLGVBQXlCO1FBQXpCLDhDQUF5QjtRQWdCVixnQkFBa0I7UUFBbEIsMkNBQWtCO1FBZWxDLGVBQTJCO1FBQTNCLGdEQUEyQjs7dUZEakR4RCxrQkFBa0I7Y0FMOUIsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2dCQUMxQyxXQUFXLEVBQUUsNkJBQTZCO2FBQzNDO3dKQUdRLHVCQUF1QjtrQkFEN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2FzZVZpZXcsIEVycm9yTWVzc2FnZSwgSHR0cEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IExvdlJlZkRhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi1kYXRhLXNlcnZpY2UvY29tbW9uLWRhdGEtc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IExpbmtlZENhc2VzU3RhdGUgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgQ2FzZUxpbmssXG4gIENDRENhc2VMaW5rVHlwZSxcbiAgTGlua0Nhc2VSZWFzb24sXG4gIExpbmtSZWFzb25cbn0gZnJvbSAnLi4vLi4vZG9tYWluL2xpbmtlZC1jYXNlcy5tb2RlbCc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMsIExpbmtlZENhc2VzUGFnZXMsIFBhdHRlcm5zIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGlua2VkLWNhc2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmFsaWRhdG9yc1V0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvdmFsaWRhdG9ycy51dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1saW5rLWNhc2VzJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGluay1jYXNlcy5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vbGluay1jYXNlcy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIExpbmtDYXNlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxMaW5rZWRDYXNlc1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8TGlua2VkQ2FzZXNTdGF0ZT4oKTtcblxuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcbiAgcHVibGljIGxpbmtDYXNlRm9ybTogRm9ybUdyb3VwO1xuICBwdWJsaWMgc2VsZWN0ZWRDYXNlczogQ2FzZUxpbmtbXSA9IFtdO1xuICBwdWJsaWMgY2FzZU51bWJlckVycm9yOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlUmVhc29uRXJyb3I6IHN0cmluZztcbiAgcHVibGljIGNhc2VTZWxlY3Rpb25FcnJvcjogc3RyaW5nO1xuICBwdWJsaWMgbm9TZWxlY3RlZENhc2VFcnJvcjogc3RyaW5nO1xuICBwdWJsaWMgY2FzZUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgbGlua0Nhc2VSZWFzb25zOiBMb3ZSZWZEYXRhTW9kZWxbXSA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IElTT19GT1JNQVQgPSAnWVlZWS1NTS1ERFRISDptbTpzcy5TU1MnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSB2YWxpZGF0b3JzVXRpbHM6IFZhbGlkYXRvcnNVdGlscyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIHRoaXMuY2FzZUlkID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUlkO1xuICAgIHRoaXMuY2FzZU5hbWUgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlTmFtZTtcbiAgICB0aGlzLmxpbmtDYXNlUmVhc29ucyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtDYXNlUmVhc29ucztcbiAgICBpZiAodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZWRpdE1vZGUpIHtcbiAgICAgIC8vIHRoaXMgbWF5IGhhdmUgaW5jbHVkZXMgdGhlIGN1cnJlbnRseSBhZGRlZCBvbmUgYnV0IHlldCB0byBiZSBzdWJtaXR0ZWQuXG4gICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcztcbiAgICB9IGVsc2UgaWYgKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmluaXRpYWxDYXNlTGlua3MubGVuZ3RoICE9PSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaW5pdGlhbENhc2VMaW5rcztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5pdEZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5saW5rQ2FzZUZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIGNhc2VOdW1iZXI6IFsnJywgW1ZhbGlkYXRvcnMubWluTGVuZ3RoKDE2KSwgdGhpcy52YWxpZGF0b3JzVXRpbHMucmVnZXhQYXR0ZXJuKFBhdHRlcm5zLkNBU0VfUkVGKV1dLFxuICAgICAgcmVhc29uVHlwZTogdGhpcy5nZXRSZWFzb25UeXBlRm9ybUFycmF5LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBnZXRSZWFzb25UeXBlRm9ybUFycmF5KCk6IEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuZmIuYXJyYXkoXG4gICAgICB0aGlzLmxpbmtDYXNlUmVhc29ucy5tYXAoKHZhbCkgPT5cbiAgICAgICAgdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAga2V5OiBbdmFsLmtleV0sXG4gICAgICAgICAgdmFsdWVfZW46IFt2YWwudmFsdWVfZW5dLFxuICAgICAgICAgIHZhbHVlX2N5OiBbdmFsLnZhbHVlX2N5XSxcbiAgICAgICAgICBoaW50X3RleHRfZW46IFt2YWwuaGludF90ZXh0X2VuXSxcbiAgICAgICAgICBoaW50X3RleHRfY3k6IFt2YWwuaGludF90ZXh0X2N5XSxcbiAgICAgICAgICBsb3Zfb3JkZXI6IFt2YWwubG92X29yZGVyXSxcbiAgICAgICAgICBwYXJlbnRfa2V5OiBbdmFsLnBhcmVudF9rZXldLFxuICAgICAgICAgIHNlbGVjdGVkOiBbISF2YWwuc2VsZWN0ZWRdLFxuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIHRoaXMudmFsaWRhdG9yc1V0aWxzLmZvcm1BcnJheVNlbGVjdGVkVmFsaWRhdG9yKClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdENhc2VJbmZvKCk6IHZvaWQge1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIHRoaXMuY2FzZVJlYXNvbkVycm9yID0gbnVsbDtcbiAgICB0aGlzLmNhc2VOdW1iZXJFcnJvciA9IG51bGw7XG4gICAgdGhpcy5jYXNlU2VsZWN0aW9uRXJyb3IgPSBudWxsO1xuICAgIHRoaXMubm9TZWxlY3RlZENhc2VFcnJvciA9IG51bGw7XG4gICAgaWYgKFxuICAgICAgdGhpcy5saW5rQ2FzZUZvcm0udmFsaWQgJiZcbiAgICAgICF0aGlzLmlzQ2FzZVNlbGVjdGVkKHRoaXMuc2VsZWN0ZWRDYXNlcykgJiZcbiAgICAgICF0aGlzLmlzQ2FzZVNlbGVjdGVkKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzKSAmJlxuICAgICAgIXRoaXMuaXNDYXNlU2VsZWN0ZWRTYW1lQXNDdXJyZW50Q2FzZSgpXG4gICAgKSB7XG4gICAgICB0aGlzLmdldENhc2VJbmZvKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvd0Vycm9ySW5mbygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0Nhc2VTZWxlY3RlZChsaW5rZWRDYXNlczogQ2FzZUxpbmtbXSk6IGJvb2xlYW4ge1xuICAgIGlmIChsaW5rZWRDYXNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgY2FzZU51bWJlciA9IHRoaXMubGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXI7XG4gICAgcmV0dXJuICEhbGlua2VkQ2FzZXMuZmluZChcbiAgICAgIChjYXNlTGluaykgPT4gY2FzZUxpbmsuY2FzZVJlZmVyZW5jZS5zcGxpdCgnLScpLmpvaW4oJycpID09PSBjYXNlTnVtYmVyLnNwbGl0KCctJykuam9pbignJylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0Nhc2VTZWxlY3RlZFNhbWVBc0N1cnJlbnRDYXNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxpbmtDYXNlRm9ybS52YWx1ZS5jYXNlTnVtYmVyLnNwbGl0KCctJykuam9pbignJykgPT09IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VJZC5zcGxpdCgnLScpLmpvaW4oJycpO1xuICB9XG5cbiAgcHVibGljIHNob3dFcnJvckluZm8oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGlua0Nhc2VGb3JtLmNvbnRyb2xzLmNhc2VOdW1iZXIuaW52YWxpZCkge1xuICAgICAgdGhpcy5jYXNlTnVtYmVyRXJyb3IgPSBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZU51bWJlckVycm9yO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJ2R1bW15LWNhc2UtbnVtYmVyJyxcbiAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlTnVtYmVyRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5saW5rQ2FzZUZvcm0uY29udHJvbHMucmVhc29uVHlwZS5pbnZhbGlkKSB7XG4gICAgICB0aGlzLmNhc2VSZWFzb25FcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5SZWFzb25TZWxlY3Rpb25FcnJvcjtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLXJlYXNvbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuUmVhc29uU2VsZWN0aW9uRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlUmVhc29uJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0Nhc2VTZWxlY3RlZCh0aGlzLnNlbGVjdGVkQ2FzZXMpKSB7XG4gICAgICB0aGlzLmNhc2VTZWxlY3Rpb25FcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlUHJvcG9zZWRFcnJvcjtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLW51bWJlcicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZVByb3Bvc2VkRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0Nhc2VTZWxlY3RlZCh0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcykpIHtcbiAgICAgIHRoaXMuY2FzZVNlbGVjdGlvbkVycm9yID0gTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VzTGlua2VkRXJyb3I7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1udW1iZXInLFxuICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VzTGlua2VkRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5saW5rQ2FzZUZvcm0udmFsdWUuY2FzZU51bWJlci5zcGxpdCgnLScpLmpvaW4oJycpID09PSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlSWQuc3BsaXQoJy0nKS5qb2luKCcnKSkge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJ2R1bW15LWNhc2UtbnVtYmVyJyxcbiAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5Qcm9wb3NlZENhc2VXaXRoSW4sXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgdGhpcy5lbWl0TGlua2VkQ2FzZXNTdGF0ZShmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FzZUluZm8oKTogdm9pZCB7XG4gICAgY29uc3QgY2FzZU51bWJlckRhdGEgPSB0aGlzLmxpbmtDYXNlRm9ybS52YWx1ZS5jYXNlTnVtYmVyLnJlcGxhY2UoL1stIF0vZywgJycpO1xuICAgIHRoaXMuY2FzZXNTZXJ2aWNlXG4gICAgICAuZ2V0Q2FzZVZpZXdWMihjYXNlTnVtYmVyRGF0YSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChjYXNlVmlldzogQ2FzZVZpZXcpID0+IHtcbiAgICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRGV0YWlscyA9IGNhc2VWaWV3O1xuICAgICAgICAgIGNvbnN0IGNhc2VMaW5rOiBDYXNlTGluayA9IHtcbiAgICAgICAgICAgIGNhc2VSZWZlcmVuY2U6IGNhc2VWaWV3LmNhc2VfaWQsXG4gICAgICAgICAgICByZWFzb25zOiB0aGlzLmdldFNlbGVjdGVkQ2FzZVJlYXNvbnMoKSxcbiAgICAgICAgICAgIGNyZWF0ZWREYXRlVGltZTogbW9tZW50KG5ldyBEYXRlKCkpLmZvcm1hdCh0aGlzLklTT19GT1JNQVQpLFxuICAgICAgICAgICAgY2FzZVR5cGU6IGNhc2VWaWV3LmNhc2VfdHlwZS5uYW1lIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVR5cGVEZXNjcmlwdGlvbjogY2FzZVZpZXcuY2FzZV90eXBlLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVN0YXRlOiBjYXNlVmlldy5zdGF0ZS5uYW1lIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVN0YXRlRGVzY3JpcHRpb246IGNhc2VWaWV3LnN0YXRlLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVNlcnZpY2U6IGNhc2VWaWV3LmNhc2VfdHlwZSAmJiBjYXNlVmlldy5jYXNlX3R5cGUuanVyaXNkaWN0aW9uICYmIGNhc2VWaWV3LmNhc2VfdHlwZS5qdXJpc2RpY3Rpb24uZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICAgICAgICBjYXNlTmFtZTogdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZ2V0Q2FzZU5hbWUoY2FzZVZpZXcpLFxuICAgICAgICAgIH07XG4gICAgICAgICAgY29uc3QgY2NkQXBpQ2FzZUxpbmtEYXRhOiBDQ0RDYXNlTGlua1R5cGUgPSB7XG4gICAgICAgICAgICBDYXNlUmVmZXJlbmNlOiBjYXNlVmlldy5jYXNlX2lkLFxuICAgICAgICAgICAgQ2FzZVR5cGU6IGNhc2VWaWV3LmNhc2VfdHlwZS5pZCxcbiAgICAgICAgICAgIENyZWF0ZWREYXRlVGltZTogbW9tZW50KG5ldyBEYXRlKCkpLmZvcm1hdCh0aGlzLklTT19GT1JNQVQpLFxuICAgICAgICAgICAgUmVhc29uRm9yTGluazogdGhpcy5nZXRTZWxlY3RlZENDRFR5cGVDYXNlUmVhc29uKClcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCF0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgPSBbXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUucHVzaCh7IGlkOiBjYXNlVmlldy5jYXNlX2lkLnRvU3RyaW5nKCksIHZhbHVlOiBjY2RBcGlDYXNlTGlua0RhdGEgfSk7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VzLnB1c2goY2FzZUxpbmspO1xuICAgICAgICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICAgICAgICB0aGlzLmVtaXRMaW5rZWRDYXNlc1N0YXRlKGZhbHNlKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yOiBIdHRwRXJyb3IpID0+IHtcbiAgICAgICAgICB0aGlzLmNhc2VOdW1iZXJFcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlQ2hlY2tBZ2FpbkVycm9yO1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1udW1iZXInLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlQ2hlY2tBZ2FpbkVycm9yLFxuICAgICAgICAgICAgZmllbGRJZDogJ2Nhc2VOdW1iZXInLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuZW1pdExpbmtlZENhc2VzU3RhdGUoZmFsc2UpO1xuICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICAvLyBSZXR1cm4gbGlua2VkIGNhc2VzIHN0YXRlIGFuZCBlcnJvciBtZXNzYWdlcyB0byB0aGUgcGFyZW50XG4gIHB1YmxpYyBlbWl0TGlua2VkQ2FzZXNTdGF0ZShpc05hdmlnYXRlVG9OZXh0UGFnZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMubGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50TGlua2VkQ2FzZXNQYWdlOiBMaW5rZWRDYXNlc1BhZ2VzLkxJTktfQ0FTRSxcbiAgICAgIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlcyxcbiAgICAgIG5hdmlnYXRlVG9OZXh0UGFnZTogaXNOYXZpZ2F0ZVRvTmV4dFBhZ2UsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VsZWN0ZWRDYXNlUmVhc29ucygpOiBMaW5rUmVhc29uW10ge1xuICAgIGNvbnN0IHNlbGVjdGVkUmVhc29ucyA9IFtdO1xuICAgIHRoaXMubGlua0Nhc2VGb3JtLmNvbnRyb2xzLnJlYXNvblR5cGUudmFsdWUuZm9yRWFjaChcbiAgICAgIChzZWxlY3RlZFJlYXNvbjogTGlua0Nhc2VSZWFzb24pID0+IHtcbiAgICAgICAgaWYgKHNlbGVjdGVkUmVhc29uLnNlbGVjdGVkKSB7XG4gICAgICAgICAgc2VsZWN0ZWRSZWFzb25zLnB1c2goe1xuICAgICAgICAgICAgcmVhc29uQ29kZTogc2VsZWN0ZWRSZWFzb24ua2V5XG4gICAgICAgICAgfSBhcyBMaW5rUmVhc29uKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gICAgcmV0dXJuIHNlbGVjdGVkUmVhc29ucztcbiAgfVxuXG4gIHB1YmxpYyBnZXRTZWxlY3RlZENDRFR5cGVDYXNlUmVhc29uKCk6IExpbmtSZWFzb25bXSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRSZWFzb25zID0gW107XG4gICAgdGhpcy5saW5rQ2FzZUZvcm0uY29udHJvbHMucmVhc29uVHlwZS52YWx1ZS5mb3JFYWNoKFxuICAgICAgKHNlbGVjdGVkUmVhc29uOiBMaW5rQ2FzZVJlYXNvbikgPT4ge1xuICAgICAgICBpZiAoc2VsZWN0ZWRSZWFzb24uc2VsZWN0ZWQpIHtcbiAgICAgICAgICBzZWxlY3RlZFJlYXNvbnMucHVzaCh7XG4gICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICBSZWFzb246IHNlbGVjdGVkUmVhc29uLmtleSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gICAgcmV0dXJuIHNlbGVjdGVkUmVhc29ucztcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdGVkTGlua2VkQ2FzZVJlbW92ZShwb3MsIHNlbGVjdGVkQ2FzZVJlZmVyZW5jZSk6IHZvaWQge1xuICAgIGNvbnN0IGNhc2VGaWVsZFZhbHVlID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgfHwgW107XG4gICAgY29uc3QgdXBkYXRlZEl0ZW1zID0gY2FzZUZpZWxkVmFsdWUuZmlsdGVyKGl0ZW0gPT4gaXRlbS52YWx1ZSAmJiBpdGVtLnZhbHVlLkNhc2VSZWZlcmVuY2UgIT09IHNlbGVjdGVkQ2FzZVJlZmVyZW5jZSk7XG4gICAgaWYgKHVwZGF0ZWRJdGVtcykge1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgPSB1cGRhdGVkSXRlbXM7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRDYXNlcy5zcGxpY2UocG9zLCAxKTtcbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgdGhpcy5jYXNlUmVhc29uRXJyb3IgPSBudWxsO1xuICAgIHRoaXMuY2FzZU51bWJlckVycm9yID0gbnVsbDtcbiAgICB0aGlzLmNhc2VTZWxlY3Rpb25FcnJvciA9IG51bGw7XG4gICAgdGhpcy5ub1NlbGVjdGVkQ2FzZUVycm9yID0gbnVsbDtcbiAgICBsZXQgbmF2aWdhdGVUb05leHRQYWdlID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5zZWxlY3RlZENhc2VzLmxlbmd0aCkge1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMgPSB0aGlzLnNlbGVjdGVkQ2FzZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubm9TZWxlY3RlZENhc2VFcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlU2VsZWN0aW9uRXJyb3I7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1zZWxlY3Rpb24nLFxuICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VTZWxlY3Rpb25FcnJvcixcbiAgICAgICAgZmllbGRJZDogJ2Nhc2VSZWFzb24nLFxuICAgICAgfSk7XG4gICAgICBuYXZpZ2F0ZVRvTmV4dFBhZ2UgPSBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5lbWl0TGlua2VkQ2FzZXNTdGF0ZShuYXZpZ2F0ZVRvTmV4dFBhZ2UpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLWZ1bGxcIj5cbiAgICA8ZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1jYXB0aW9uLWxcIj5MaW5rIGNhc2VzIHRvIHt7Y2FzZU5hbWV9fSB7e2Nhc2VJZCB8IGNjZENhc2VSZWZlcmVuY2V9fTwvc3Bhbj5cbiAgICAgIDxoMSBjbGFzcz1cImdvdnVrLWhlYWRpbmcteGxcIj5TZWxlY3QgYSZuYnNwO2Nhc2UgeW91IHdhbnQgdG8gbGluayB0byB0aGlzIGNhc2U8L2gxPlxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbZm9ybUdyb3VwXT1cImxpbmtDYXNlRm9ybVwiICpuZ0lmPVwibGlua0Nhc2VGb3JtXCI+XG4gICAgICAgIDxoMyBjbGFzcz1cImdvdnVrLWhlYWRpbmctc1wiPkVudGVyIGNhc2UgcmVmZXJlbmNlPC9oMz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBpZD1cImNhc2VOdW1iZXJcIiBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogISFjYXNlTnVtYmVyRXJyb3J9XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJjYXNlTnVtYmVyRXJyb3JcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+RXJyb3I6PC9zcGFuPiB7e2Nhc2VOdW1iZXJFcnJvcn19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLWlucHV0LS13aWR0aC0yMFwiIGZvcm1Db250cm9sTmFtZT1cImNhc2VOdW1iZXJcIiBpZD1cIndpZHRoLTIwXCIgbmFtZT1cIndpZHRoLTIwXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aDMgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLXNcIj5XaHkgc2hvdWxkIHRoZXNlIGNhc2VzIGJlIGxpbmtlZD88L2gzPlxuICAgICAgICA8ZGl2IGlkPVwid2FzdGUtaGludFwiIGNsYXNzPVwiZ292dWstaGludFwiPlxuICAgICAgICAgIFNlbGVjdCBhbGwgdGhhdCBhcHBseS5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiY2FzZVJlYXNvbkVycm9yXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7Y2FzZVJlYXNvbkVycm9yfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc1wiIGRhdGEtbW9kdWxlPVwiZ292dWstY2hlY2tib3hlc1wiIGZvcm1BcnJheU5hbWU9XCJyZWFzb25UeXBlXCIgaWQ9XCJjYXNlUmVhc29uXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogISFjYXNlUmVhc29uRXJyb3J9XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgcmVhc29uIG9mIGxpbmtDYXNlUmVhc29ucztpbmRleCBhcyBwb3NcIiBbZm9ybUdyb3VwTmFtZV09XCJwb3NcIj5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2lucHV0XCIgaWQ9XCJ7e3JlYXNvbi5rZXl9fVwiIGZvcm1Db250cm9sTmFtZT1cInNlbGVjdGVkXCIgbmFtZT1cInBvc1wiXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiIFt2YWx1ZV09XCJyZWFzb24udmFsdWVfZW5cIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCIgZm9yPVwie3tyZWFzb24ua2V5fX1cIj57e3JlYXNvbi52YWx1ZV9lbn19PC9sYWJlbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGJyPjxicj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJjYXNlU2VsZWN0aW9uRXJyb3JcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tjYXNlU2VsZWN0aW9uRXJyb3J9fVxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPGJ1dHRvbiBpZD1cInByb3Bvc2VcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJnb3Z1ay1idXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnlcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInN1Ym1pdENhc2VJbmZvKClcIj5Qcm9wb3NlIGNhc2UgbGluazwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8aHI+XG4gICAgICA8YnI+PGJyPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBpZD1cImNhc2VOdW1iZXJcIiBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogISFub1NlbGVjdGVkQ2FzZUVycm9yfVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cIm5vU2VsZWN0ZWRDYXNlRXJyb3JcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tub1NlbGVjdGVkQ2FzZUVycm9yfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZVwiPlxuICAgICAgICAgIDxjYXB0aW9uIGNsYXNzPVwiZ292dWstdGFibGVfX2NhcHRpb24gZ292dWstdGFibGVfX2NhcHRpb24tLW1cIj5Qcm9wb3NlZCBjYXNlIGxpbmtzIDwvY2FwdGlvbj5cbiAgICAgICAgICA8dGhlYWQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZFwiPlxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiB3aWR0aD1cIjMwMFwiPkNhc2UgbmFtZSBhbmQgbnVtYmVyPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCIxNTBcIj5DYXNlIHR5cGUgPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCIyMDBcIj5TZXJ2aWNlPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCIyMDBcIj5TdGF0ZTwvdGg+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHdpZHRoPVwiNDAwXCI+UmVhc29ucyBmb3IgY2FzZSBsaW5rPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCI1MFwiPjwvdGg+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdGb3I9XCJsZXQgY2FzZSBvZiBzZWxlY3RlZENhc2VzOyBsZXQgcG9zID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cC0tZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyd0YWJsZS1ncm91cC1lcnJvcic6Y2FzZVNlbGVjdGlvbkVycm9yICYmIGNhc2UuY2FzZVJlZmVyZW5jZSA9PT0gbGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXJ9XCI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3tjYXNlLmNhc2VOYW1lfX0gPGJyPiB7e2Nhc2UuY2FzZVJlZmVyZW5jZSB8IGNjZENhc2VSZWZlcmVuY2V9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBbdGl0bGVdPVwiY2FzZS5jYXNlVHlwZURlc2NyaXB0aW9uXCI+e3tjYXNlLmNhc2VUeXBlfX08L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7Y2FzZS5jYXNlU2VydmljZX19PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBbdGl0bGVdPVwiY2FzZS5jYXNlU3RhdGVEZXNjcmlwdGlvblwiPnt7Y2FzZS5jYXNlU3RhdGV9fTwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+PHNwYW5cbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCByZWFzb24gb2YgY2FzZS5yZWFzb25zXCI+e3tyZWFzb24ucmVhc29uQ29kZSB8IGNjZExpbmtDYXNlc1JlYXNvblZhbHVlfX08YnI+PC9zcGFuPjwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+PGEgW2F0dHIuaWRdPVwiY2FzZS5jYXNlUmVmZXJlbmNlXCIgKGNsaWNrKT1cIm9uU2VsZWN0ZWRMaW5rZWRDYXNlUmVtb3ZlKHBvcywgY2FzZS5jYXNlUmVmZXJlbmNlKTtcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJnb3Z1ay1saW5rIG5vLXZpc2l0ZWQtc3RhdGVcIj5SZW1vdmU8L2E+PC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nSWY9XCIhc2VsZWN0ZWRDYXNlcy5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBjb2xzcGFuPVwiNlwiPlxuICAgICAgICAgICAgICAgIE5vbmVcbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgPC90YWJsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIGlkPVwibmV4dC1idXR0b25cIiAoY2xpY2spPVwib25OZXh0KClcIj5OZXh0PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
497
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jYXNlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWxpbmsvY29tcG9uZW50cy9saW5rLWNhc2VzL2xpbmstY2FzZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1saW5rL2NvbXBvbmVudHMvbGluay1jYXNlcy9saW5rLWNhc2VzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWEsV0FBVyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RixPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQVE5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7OztJQ1JyRCxnQ0FBMEQ7SUFDeEQsZ0NBQW9DO0lBQUEsc0JBQU07SUFBQSxpQkFBTztJQUFDLFlBQ3BEO0lBQUEsaUJBQU87OztJQUQ2QyxlQUNwRDtJQURvRCx1REFDcEQ7OztJQVFGLGdD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QVE7UUFDVixpQkFBUTtRQUNWLGlCQUFNO1FBQ04sZ0NBQWdDO1FBQzlCLG1DQUF3RjtRQUFuQixnR0FBUyxZQUFRLElBQUM7UUFBQyxxQkFBSTtRQUFBLGlCQUFTO1FBQ3ZHLGlCQUFNO1FBQ1IsaUJBQU07UUFDUixpQkFBTTtRQUNSLGlCQUFNOztRQWxGOEIsZUFBd0Q7UUFBeEQsZ0dBQXdEO1FBRWxDLGVBQWtCO1FBQWxCLHVDQUFrQjtRQW1DeEIsZUFBOEQ7UUFBOUQsK0VBQThEO1FBQ3ZFLGVBQXlCO1FBQXpCLDhDQUF5QjtRQWdCVixnQkFBa0I7UUFBbEIsMkNBQWtCO1FBZWxDLGVBQTJCO1FBQTNCLGdEQUEyQjs7dUZEakR4RCxrQkFBa0I7Y0FMOUIsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2dCQUMxQyxXQUFXLEVBQUUsNkJBQTZCO2FBQzNDO3dKQUdRLHVCQUF1QjtrQkFEN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2FzZVZpZXcsIEVycm9yTWVzc2FnZSwgSHR0cEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IExvdlJlZkRhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi1kYXRhLXNlcnZpY2UvY29tbW9uLWRhdGEtc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IExpbmtlZENhc2VzU3RhdGUgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgQ2FzZUxpbmssXG4gIENDRENhc2VMaW5rVHlwZSxcbiAgTGlua0Nhc2VSZWFzb24sXG4gIExpbmtSZWFzb25cbn0gZnJvbSAnLi4vLi4vZG9tYWluL2xpbmtlZC1jYXNlcy5tb2RlbCc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMsIExpbmtlZENhc2VzUGFnZXMsIFBhdHRlcm5zIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGlua2VkLWNhc2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmFsaWRhdG9yc1V0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvdmFsaWRhdG9ycy51dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1saW5rLWNhc2VzJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGluay1jYXNlcy5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vbGluay1jYXNlcy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIExpbmtDYXNlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxMaW5rZWRDYXNlc1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8TGlua2VkQ2FzZXNTdGF0ZT4oKTtcblxuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcbiAgcHVibGljIGxpbmtDYXNlRm9ybTogRm9ybUdyb3VwO1xuICBwdWJsaWMgc2VsZWN0ZWRDYXNlczogQ2FzZUxpbmtbXSA9IFtdO1xuICBwdWJsaWMgY2FzZU51bWJlckVycm9yOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlUmVhc29uRXJyb3I6IHN0cmluZztcbiAgcHVibGljIGNhc2VTZWxlY3Rpb25FcnJvcjogc3RyaW5nO1xuICBwdWJsaWMgbm9TZWxlY3RlZENhc2VFcnJvcjogc3RyaW5nO1xuICBwdWJsaWMgY2FzZUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgbGlua0Nhc2VSZWFzb25zOiBMb3ZSZWZEYXRhTW9kZWxbXSA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IElTT19GT1JNQVQgPSAnWVlZWS1NTS1ERFRISDptbTpzcy5TU1MnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSB2YWxpZGF0b3JzVXRpbHM6IFZhbGlkYXRvcnNVdGlscyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jYXNlSWQgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlSWQ7XG4gICAgdGhpcy5jYXNlTmFtZSA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VOYW1lO1xuICAgIHRoaXMubGlua0Nhc2VSZWFzb25zID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua0Nhc2VSZWFzb25zO1xuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICBpZiAodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZWRpdE1vZGUpIHtcbiAgICAgIC8vIHRoaXMgbWF5IGhhdmUgaW5jbHVkZXMgdGhlIGN1cnJlbnRseSBhZGRlZCBvbmUgYnV0IHlldCB0byBiZSBzdWJtaXR0ZWQuXG4gICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcztcbiAgICB9IGVsc2UgaWYgKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmluaXRpYWxDYXNlTGlua3MubGVuZ3RoICE9PSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaW5pdGlhbENhc2VMaW5rcztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5pdEZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5saW5rQ2FzZUZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIGNhc2VOdW1iZXI6IFsnJywgW1ZhbGlkYXRvcnMubWluTGVuZ3RoKDE2KSwgdGhpcy52YWxpZGF0b3JzVXRpbHMucmVnZXhQYXR0ZXJuKFBhdHRlcm5zLkNBU0VfUkVGKV1dLFxuICAgICAgcmVhc29uVHlwZTogdGhpcy5nZXRSZWFzb25UeXBlRm9ybUFycmF5LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBnZXRSZWFzb25UeXBlRm9ybUFycmF5KCk6IEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuZmIuYXJyYXkoXG4gICAgICB0aGlzLmxpbmtDYXNlUmVhc29ucy5tYXAoKHZhbCkgPT5cbiAgICAgICAgdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAga2V5OiBbdmFsLmtleV0sXG4gICAgICAgICAgdmFsdWVfZW46IFt2YWwudmFsdWVfZW5dLFxuICAgICAgICAgIHZhbHVlX2N5OiBbdmFsLnZhbHVlX2N5XSxcbiAgICAgICAgICBoaW50X3RleHRfZW46IFt2YWwuaGludF90ZXh0X2VuXSxcbiAgICAgICAgICBoaW50X3RleHRfY3k6IFt2YWwuaGludF90ZXh0X2N5XSxcbiAgICAgICAgICBsb3Zfb3JkZXI6IFt2YWwubG92X29yZGVyXSxcbiAgICAgICAgICBwYXJlbnRfa2V5OiBbdmFsLnBhcmVudF9rZXldLFxuICAgICAgICAgIHNlbGVjdGVkOiBbISF2YWwuc2VsZWN0ZWRdLFxuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIHRoaXMudmFsaWRhdG9yc1V0aWxzLmZvcm1BcnJheVNlbGVjdGVkVmFsaWRhdG9yKClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdENhc2VJbmZvKCk6IHZvaWQge1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIHRoaXMuY2FzZVJlYXNvbkVycm9yID0gbnVsbDtcbiAgICB0aGlzLmNhc2VOdW1iZXJFcnJvciA9IG51bGw7XG4gICAgdGhpcy5jYXNlU2VsZWN0aW9uRXJyb3IgPSBudWxsO1xuICAgIHRoaXMubm9TZWxlY3RlZENhc2VFcnJvciA9IG51bGw7XG4gICAgaWYgKFxuICAgICAgdGhpcy5saW5rQ2FzZUZvcm0udmFsaWQgJiZcbiAgICAgICF0aGlzLmlzQ2FzZVNlbGVjdGVkKHRoaXMuc2VsZWN0ZWRDYXNlcykgJiZcbiAgICAgICF0aGlzLmlzQ2FzZVNlbGVjdGVkKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzKSAmJlxuICAgICAgIXRoaXMuaXNDYXNlU2VsZWN0ZWRTYW1lQXNDdXJyZW50Q2FzZSgpXG4gICAgKSB7XG4gICAgICB0aGlzLmdldENhc2VJbmZvKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvd0Vycm9ySW5mbygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0Nhc2VTZWxlY3RlZChsaW5rZWRDYXNlczogQ2FzZUxpbmtbXSk6IGJvb2xlYW4ge1xuICAgIGlmIChsaW5rZWRDYXNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgY2FzZU51bWJlciA9IHRoaXMubGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXI7XG4gICAgcmV0dXJuICEhbGlua2VkQ2FzZXMuZmluZChcbiAgICAgIChjYXNlTGluaykgPT4gY2FzZUxpbmsuY2FzZVJlZmVyZW5jZS5zcGxpdCgnLScpLmpvaW4oJycpID09PSBjYXNlTnVtYmVyLnNwbGl0KCctJykuam9pbignJylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0Nhc2VTZWxlY3RlZFNhbWVBc0N1cnJlbnRDYXNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxpbmtDYXNlRm9ybS52YWx1ZS5jYXNlTnVtYmVyLnNwbGl0KCctJykuam9pbignJykgPT09IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VJZC5zcGxpdCgnLScpLmpvaW4oJycpO1xuICB9XG5cbiAgcHVibGljIHNob3dFcnJvckluZm8oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGlua0Nhc2VGb3JtLmNvbnRyb2xzLmNhc2VOdW1iZXIuaW52YWxpZCkge1xuICAgICAgdGhpcy5jYXNlTnVtYmVyRXJyb3IgPSBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZU51bWJlckVycm9yO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJ2R1bW15LWNhc2UtbnVtYmVyJyxcbiAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlTnVtYmVyRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5saW5rQ2FzZUZvcm0uY29udHJvbHMucmVhc29uVHlwZS5pbnZhbGlkKSB7XG4gICAgICB0aGlzLmNhc2VSZWFzb25FcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5SZWFzb25TZWxlY3Rpb25FcnJvcjtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLXJlYXNvbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuUmVhc29uU2VsZWN0aW9uRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlUmVhc29uJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0Nhc2VTZWxlY3RlZCh0aGlzLnNlbGVjdGVkQ2FzZXMpKSB7XG4gICAgICB0aGlzLmNhc2VTZWxlY3Rpb25FcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlUHJvcG9zZWRFcnJvcjtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLW51bWJlcicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZVByb3Bvc2VkRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0Nhc2VTZWxlY3RlZCh0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcykpIHtcbiAgICAgIHRoaXMuY2FzZVNlbGVjdGlvbkVycm9yID0gTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VzTGlua2VkRXJyb3I7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1udW1iZXInLFxuICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VzTGlua2VkRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5saW5rQ2FzZUZvcm0udmFsdWUuY2FzZU51bWJlci5zcGxpdCgnLScpLmpvaW4oJycpID09PSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlSWQuc3BsaXQoJy0nKS5qb2luKCcnKSkge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJ2R1bW15LWNhc2UtbnVtYmVyJyxcbiAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5Qcm9wb3NlZENhc2VXaXRoSW4sXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgdGhpcy5lbWl0TGlua2VkQ2FzZXNTdGF0ZShmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FzZUluZm8oKTogdm9pZCB7XG4gICAgY29uc3QgY2FzZU51bWJlckRhdGEgPSB0aGlzLmxpbmtDYXNlRm9ybS52YWx1ZS5jYXNlTnVtYmVyLnJlcGxhY2UoL1stIF0vZywgJycpO1xuICAgIHRoaXMuY2FzZXNTZXJ2aWNlXG4gICAgICAuZ2V0Q2FzZVZpZXdWMihjYXNlTnVtYmVyRGF0YSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChjYXNlVmlldzogQ2FzZVZpZXcpID0+IHtcbiAgICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRGV0YWlscyA9IGNhc2VWaWV3O1xuICAgICAgICAgIGNvbnN0IGNhc2VMaW5rOiBDYXNlTGluayA9IHtcbiAgICAgICAgICAgIGNhc2VSZWZlcmVuY2U6IGNhc2VWaWV3LmNhc2VfaWQsXG4gICAgICAgICAgICByZWFzb25zOiB0aGlzLmdldFNlbGVjdGVkQ2FzZVJlYXNvbnMoKSxcbiAgICAgICAgICAgIGNyZWF0ZWREYXRlVGltZTogbW9tZW50KG5ldyBEYXRlKCkpLmZvcm1hdCh0aGlzLklTT19GT1JNQVQpLFxuICAgICAgICAgICAgY2FzZVR5cGU6IGNhc2VWaWV3LmNhc2VfdHlwZS5uYW1lIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVR5cGVEZXNjcmlwdGlvbjogY2FzZVZpZXcuY2FzZV90eXBlLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVN0YXRlOiBjYXNlVmlldy5zdGF0ZS5uYW1lIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVN0YXRlRGVzY3JpcHRpb246IGNhc2VWaWV3LnN0YXRlLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVNlcnZpY2U6IGNhc2VWaWV3LmNhc2VfdHlwZSAmJiBjYXNlVmlldy5jYXNlX3R5cGUuanVyaXNkaWN0aW9uICYmIGNhc2VWaWV3LmNhc2VfdHlwZS5qdXJpc2RpY3Rpb24uZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICAgICAgICBjYXNlTmFtZTogdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZ2V0Q2FzZU5hbWUoY2FzZVZpZXcpLFxuICAgICAgICAgIH07XG4gICAgICAgICAgY29uc3QgY2NkQXBpQ2FzZUxpbmtEYXRhOiBDQ0RDYXNlTGlua1R5cGUgPSB7XG4gICAgICAgICAgICBDYXNlUmVmZXJlbmNlOiBjYXNlVmlldy5jYXNlX2lkLFxuICAgICAgICAgICAgQ2FzZVR5cGU6IGNhc2VWaWV3LmNhc2VfdHlwZS5pZCxcbiAgICAgICAgICAgIENyZWF0ZWREYXRlVGltZTogbW9tZW50KG5ldyBEYXRlKCkpLmZvcm1hdCh0aGlzLklTT19GT1JNQVQpLFxuICAgICAgICAgICAgUmVhc29uRm9yTGluazogdGhpcy5nZXRTZWxlY3RlZENDRFR5cGVDYXNlUmVhc29uKClcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCF0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgPSBbXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUucHVzaCh7IGlkOiBjYXNlVmlldy5jYXNlX2lkLnRvU3RyaW5nKCksIHZhbHVlOiBjY2RBcGlDYXNlTGlua0RhdGEgfSk7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VzLnB1c2goY2FzZUxpbmspO1xuICAgICAgICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICAgICAgICB0aGlzLmVtaXRMaW5rZWRDYXNlc1N0YXRlKGZhbHNlKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yOiBIdHRwRXJyb3IpID0+IHtcbiAgICAgICAgICB0aGlzLmNhc2VOdW1iZXJFcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlQ2hlY2tBZ2FpbkVycm9yO1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1udW1iZXInLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlQ2hlY2tBZ2FpbkVycm9yLFxuICAgICAgICAgICAgZmllbGRJZDogJ2Nhc2VOdW1iZXInLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuZW1pdExpbmtlZENhc2VzU3RhdGUoZmFsc2UpO1xuICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICAvLyBSZXR1cm4gbGlua2VkIGNhc2VzIHN0YXRlIGFuZCBlcnJvciBtZXNzYWdlcyB0byB0aGUgcGFyZW50XG4gIHB1YmxpYyBlbWl0TGlua2VkQ2FzZXNTdGF0ZShpc05hdmlnYXRlVG9OZXh0UGFnZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMubGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50TGlua2VkQ2FzZXNQYWdlOiBMaW5rZWRDYXNlc1BhZ2VzLkxJTktfQ0FTRSxcbiAgICAgIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlcyxcbiAgICAgIG5hdmlnYXRlVG9OZXh0UGFnZTogaXNOYXZpZ2F0ZVRvTmV4dFBhZ2UsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VsZWN0ZWRDYXNlUmVhc29ucygpOiBMaW5rUmVhc29uW10ge1xuICAgIGNvbnN0IHNlbGVjdGVkUmVhc29ucyA9IFtdO1xuICAgIHRoaXMubGlua0Nhc2VGb3JtLmNvbnRyb2xzLnJlYXNvblR5cGUudmFsdWUuZm9yRWFjaChcbiAgICAgIChzZWxlY3RlZFJlYXNvbjogTGlua0Nhc2VSZWFzb24pID0+IHtcbiAgICAgICAgaWYgKHNlbGVjdGVkUmVhc29uLnNlbGVjdGVkKSB7XG4gICAgICAgICAgc2VsZWN0ZWRSZWFzb25zLnB1c2goe1xuICAgICAgICAgICAgcmVhc29uQ29kZTogc2VsZWN0ZWRSZWFzb24ua2V5XG4gICAgICAgICAgfSBhcyBMaW5rUmVhc29uKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gICAgcmV0dXJuIHNlbGVjdGVkUmVhc29ucztcbiAgfVxuXG4gIHB1YmxpYyBnZXRTZWxlY3RlZENDRFR5cGVDYXNlUmVhc29uKCk6IExpbmtSZWFzb25bXSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRSZWFzb25zID0gW107XG4gICAgdGhpcy5saW5rQ2FzZUZvcm0uY29udHJvbHMucmVhc29uVHlwZS52YWx1ZS5mb3JFYWNoKFxuICAgICAgKHNlbGVjdGVkUmVhc29uOiBMaW5rQ2FzZVJlYXNvbikgPT4ge1xuICAgICAgICBpZiAoc2VsZWN0ZWRSZWFzb24uc2VsZWN0ZWQpIHtcbiAgICAgICAgICBzZWxlY3RlZFJlYXNvbnMucHVzaCh7XG4gICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICBSZWFzb246IHNlbGVjdGVkUmVhc29uLmtleSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gICAgcmV0dXJuIHNlbGVjdGVkUmVhc29ucztcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdGVkTGlua2VkQ2FzZVJlbW92ZShwb3MsIHNlbGVjdGVkQ2FzZVJlZmVyZW5jZSk6IHZvaWQge1xuICAgIGNvbnN0IGNhc2VGaWVsZFZhbHVlID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgfHwgW107XG4gICAgY29uc3QgdXBkYXRlZEl0ZW1zID0gY2FzZUZpZWxkVmFsdWUuZmlsdGVyKGl0ZW0gPT4gaXRlbS52YWx1ZSAmJiBpdGVtLnZhbHVlLkNhc2VSZWZlcmVuY2UgIT09IHNlbGVjdGVkQ2FzZVJlZmVyZW5jZSk7XG4gICAgaWYgKHVwZGF0ZWRJdGVtcykge1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgPSB1cGRhdGVkSXRlbXM7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRDYXNlcy5zcGxpY2UocG9zLCAxKTtcbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgdGhpcy5jYXNlUmVhc29uRXJyb3IgPSBudWxsO1xuICAgIHRoaXMuY2FzZU51bWJlckVycm9yID0gbnVsbDtcbiAgICB0aGlzLmNhc2VTZWxlY3Rpb25FcnJvciA9IG51bGw7XG4gICAgdGhpcy5ub1NlbGVjdGVkQ2FzZUVycm9yID0gbnVsbDtcbiAgICBsZXQgbmF2aWdhdGVUb05leHRQYWdlID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5zZWxlY3RlZENhc2VzLmxlbmd0aCkge1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMgPSB0aGlzLnNlbGVjdGVkQ2FzZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubm9TZWxlY3RlZENhc2VFcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlU2VsZWN0aW9uRXJyb3I7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1zZWxlY3Rpb24nLFxuICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VTZWxlY3Rpb25FcnJvcixcbiAgICAgICAgZmllbGRJZDogJ2Nhc2VSZWFzb24nLFxuICAgICAgfSk7XG4gICAgICBuYXZpZ2F0ZVRvTmV4dFBhZ2UgPSBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5lbWl0TGlua2VkQ2FzZXNTdGF0ZShuYXZpZ2F0ZVRvTmV4dFBhZ2UpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLWZ1bGxcIj5cbiAgICA8ZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1jYXB0aW9uLWxcIj5MaW5rIGNhc2VzIHRvIHt7Y2FzZU5hbWV9fSB7e2Nhc2VJZCB8IGNjZENhc2VSZWZlcmVuY2V9fTwvc3Bhbj5cbiAgICAgIDxoMSBjbGFzcz1cImdvdnVrLWhlYWRpbmcteGxcIj5TZWxlY3QgYSZuYnNwO2Nhc2UgeW91IHdhbnQgdG8gbGluayB0byB0aGlzIGNhc2U8L2gxPlxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbZm9ybUdyb3VwXT1cImxpbmtDYXNlRm9ybVwiICpuZ0lmPVwibGlua0Nhc2VGb3JtXCI+XG4gICAgICAgIDxoMyBjbGFzcz1cImdvdnVrLWhlYWRpbmctc1wiPkVudGVyIGNhc2UgcmVmZXJlbmNlPC9oMz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBpZD1cImNhc2VOdW1iZXJcIiBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogISFjYXNlTnVtYmVyRXJyb3J9XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJjYXNlTnVtYmVyRXJyb3JcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+RXJyb3I6PC9zcGFuPiB7e2Nhc2VOdW1iZXJFcnJvcn19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLWlucHV0LS13aWR0aC0yMFwiIGZvcm1Db250cm9sTmFtZT1cImNhc2VOdW1iZXJcIiBpZD1cIndpZHRoLTIwXCIgbmFtZT1cIndpZHRoLTIwXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aDMgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLXNcIj5XaHkgc2hvdWxkIHRoZXNlIGNhc2VzIGJlIGxpbmtlZD88L2gzPlxuICAgICAgICA8ZGl2IGlkPVwid2FzdGUtaGludFwiIGNsYXNzPVwiZ292dWstaGludFwiPlxuICAgICAgICAgIFNlbGVjdCBhbGwgdGhhdCBhcHBseS5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiY2FzZVJlYXNvbkVycm9yXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7Y2FzZVJlYXNvbkVycm9yfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc1wiIGRhdGEtbW9kdWxlPVwiZ292dWstY2hlY2tib3hlc1wiIGZvcm1BcnJheU5hbWU9XCJyZWFzb25UeXBlXCIgaWQ9XCJjYXNlUmVhc29uXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogISFjYXNlUmVhc29uRXJyb3J9XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgcmVhc29uIG9mIGxpbmtDYXNlUmVhc29ucztpbmRleCBhcyBwb3NcIiBbZm9ybUdyb3VwTmFtZV09XCJwb3NcIj5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2lucHV0XCIgaWQ9XCJ7e3JlYXNvbi5rZXl9fVwiIGZvcm1Db250cm9sTmFtZT1cInNlbGVjdGVkXCIgbmFtZT1cInBvc1wiXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiIFt2YWx1ZV09XCJyZWFzb24udmFsdWVfZW5cIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCIgZm9yPVwie3tyZWFzb24ua2V5fX1cIj57e3JlYXNvbi52YWx1ZV9lbn19PC9sYWJlbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGJyPjxicj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJjYXNlU2VsZWN0aW9uRXJyb3JcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tjYXNlU2VsZWN0aW9uRXJyb3J9fVxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPGJ1dHRvbiBpZD1cInByb3Bvc2VcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJnb3Z1ay1idXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnlcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInN1Ym1pdENhc2VJbmZvKClcIj5Qcm9wb3NlIGNhc2UgbGluazwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8aHI+XG4gICAgICA8YnI+PGJyPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBpZD1cImNhc2VOdW1iZXJcIiBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogISFub1NlbGVjdGVkQ2FzZUVycm9yfVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cIm5vU2VsZWN0ZWRDYXNlRXJyb3JcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tub1NlbGVjdGVkQ2FzZUVycm9yfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZVwiPlxuICAgICAgICAgIDxjYXB0aW9uIGNsYXNzPVwiZ292dWstdGFibGVfX2NhcHRpb24gZ292dWstdGFibGVfX2NhcHRpb24tLW1cIj5Qcm9wb3NlZCBjYXNlIGxpbmtzIDwvY2FwdGlvbj5cbiAgICAgICAgICA8dGhlYWQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZFwiPlxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiB3aWR0aD1cIjMwMFwiPkNhc2UgbmFtZSBhbmQgbnVtYmVyPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCIxNTBcIj5DYXNlIHR5cGUgPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCIyMDBcIj5TZXJ2aWNlPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCIyMDBcIj5TdGF0ZTwvdGg+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHdpZHRoPVwiNDAwXCI+UmVhc29ucyBmb3IgY2FzZSBsaW5rPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCI1MFwiPjwvdGg+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdGb3I9XCJsZXQgY2FzZSBvZiBzZWxlY3RlZENhc2VzOyBsZXQgcG9zID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cC0tZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyd0YWJsZS1ncm91cC1lcnJvcic6Y2FzZVNlbGVjdGlvbkVycm9yICYmIGNhc2UuY2FzZVJlZmVyZW5jZSA9PT0gbGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXJ9XCI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3tjYXNlLmNhc2VOYW1lfX0gPGJyPiB7e2Nhc2UuY2FzZVJlZmVyZW5jZSB8IGNjZENhc2VSZWZlcmVuY2V9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBbdGl0bGVdPVwiY2FzZS5jYXNlVHlwZURlc2NyaXB0aW9uXCI+e3tjYXNlLmNhc2VUeXBlfX08L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7Y2FzZS5jYXNlU2VydmljZX19PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBbdGl0bGVdPVwiY2FzZS5jYXNlU3RhdGVEZXNjcmlwdGlvblwiPnt7Y2FzZS5jYXNlU3RhdGV9fTwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+PHNwYW5cbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCByZWFzb24gb2YgY2FzZS5yZWFzb25zXCI+e3tyZWFzb24ucmVhc29uQ29kZSB8IGNjZExpbmtDYXNlc1JlYXNvblZhbHVlfX08YnI+PC9zcGFuPjwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+PGEgW2F0dHIuaWRdPVwiY2FzZS5jYXNlUmVmZXJlbmNlXCIgKGNsaWNrKT1cIm9uU2VsZWN0ZWRMaW5rZWRDYXNlUmVtb3ZlKHBvcywgY2FzZS5jYXNlUmVmZXJlbmNlKTtcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJnb3Z1ay1saW5rIG5vLXZpc2l0ZWQtc3RhdGVcIj5SZW1vdmU8L2E+PC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nSWY9XCIhc2VsZWN0ZWRDYXNlcy5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBjb2xzcGFuPVwiNlwiPlxuICAgICAgICAgICAgICAgIE5vbmVcbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgPC90YWJsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIGlkPVwibmV4dC1idXR0b25cIiAoY2xpY2spPVwib25OZXh0KClcIj5OZXh0PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,9 +1,9 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { FormControl, FormGroup } from '@angular/forms';
3
3
  import { AbstractAppConfig } from '../../../../../app.config';
4
+ import { CaseEditDataService } from '../../../../commons/case-edit-data';
4
5
  import { CaseField } from '../../../../domain';
5
6
  import { CommonDataService } from '../../../../services/common-data-service/common-data-service';
6
- import { CaseEditPageComponent } from '../../../case-editor/case-edit-page/case-edit-page.component';
7
7
  import { CaseEditComponent } from '../../../case-editor/case-edit/case-edit.component';
8
8
  import { CasesService } from '../../../case-editor/services/cases.service';
9
9
  import { AbstractFieldWriteComponent } from '../../base-field';
@@ -15,6 +15,7 @@ import * as i2 from "../../../../../app.config";
15
15
  import * as i3 from "../../../../services/common-data-service/common-data-service";
16
16
  import * as i4 from "../../../case-editor/services/cases.service";
17
17
  import * as i5 from "../services";
18
+ import * as i6 from "../../../../commons/case-edit-data";
18
19
  function WriteLinkedCasesComponent_div_0_div_3_Template(rf, ctx) { if (rf & 1) {
19
20
  const _r9 = i0.ɵɵgetCurrentView();
20
21
  i0.ɵɵelementStart(0, "div", 7);
@@ -85,13 +86,14 @@ function WriteLinkedCasesComponent_ng_container_7_Template(rf, ctx) { if (rf & 1
85
86
  i0.ɵɵelementContainerEnd();
86
87
  } }
87
88
  export class WriteLinkedCasesComponent extends AbstractFieldWriteComponent {
88
- constructor(caseEdit, appConfig, commonDataService, casesService, linkedCasesService) {
89
+ constructor(caseEdit, appConfig, commonDataService, casesService, linkedCasesService, caseEditDataService) {
89
90
  super();
90
91
  this.caseEdit = caseEdit;
91
92
  this.appConfig = appConfig;
92
93
  this.commonDataService = commonDataService;
93
94
  this.casesService = casesService;
94
95
  this.linkedCasesService = linkedCasesService;
96
+ this.caseEditDataService = caseEditDataService;
95
97
  this.onLinkedCasesSelected = new EventEmitter();
96
98
  this.isLinkedCasesJourney = false;
97
99
  this.linkedCasesPages = LinkedCasesPages;
@@ -100,6 +102,7 @@ export class WriteLinkedCasesComponent extends AbstractFieldWriteComponent {
100
102
  this.errorMessages = [];
101
103
  }
102
104
  ngOnInit() {
105
+ this.caseEditDataService.clearFormValidationErrors();
103
106
  this.linkedCasesService.caseId = this.caseEdit.caseDetails.case_id;
104
107
  this.linkedCasesService.caseName = this.linkedCasesService.getCaseName(this.caseEdit.caseDetails);
105
108
  this.linkedCasesService.caseDetails = this.caseEdit.caseDetails;
@@ -111,8 +114,12 @@ export class WriteLinkedCasesComponent extends AbstractFieldWriteComponent {
111
114
  }
112
115
  });
113
116
  this.getLinkedCases();
114
- this.linkedCasesService.isLinkedCasesEventTrigger =
115
- this.caseEditPageComponent.eventTrigger.name === LinkedCasesEventTriggers.LINK_CASES;
117
+ this.caseEditDataService.caseEventTriggerName$.subscribe({
118
+ next: name => {
119
+ this.linkedCasesService.isLinkedCasesEventTrigger
120
+ = (name === LinkedCasesEventTriggers.LINK_CASES);
121
+ }
122
+ });
116
123
  }
117
124
  ngAfterViewInit() {
118
125
  let labelField = document.getElementsByClassName('govuk-heading-l');
@@ -126,7 +133,7 @@ export class WriteLinkedCasesComponent extends AbstractFieldWriteComponent {
126
133
  }
127
134
  onLinkedCasesStateEmitted(linkedCasesState) {
128
135
  this.errorMessages = [];
129
- this.caseEditPageComponent.validationErrors = [];
136
+ this.caseEditDataService.clearFormValidationErrors();
130
137
  if (linkedCasesState.navigateToNextPage) {
131
138
  this.linkedCasesPage = this.getNextPage(linkedCasesState);
132
139
  this.setContinueButtonValidationErrorMessage();
@@ -135,7 +142,7 @@ export class WriteLinkedCasesComponent extends AbstractFieldWriteComponent {
135
142
  else {
136
143
  if (linkedCasesState.errorMessages && linkedCasesState.errorMessages.length) {
137
144
  linkedCasesState.errorMessages.forEach((errorMessage, index) => {
138
- this.caseEditPageComponent.validationErrors.push({ id: errorMessage.fieldId, message: errorMessage.description });
145
+ this.caseEditDataService.addFormValidationError({ id: errorMessage.fieldId, message: errorMessage.description });
139
146
  });
140
147
  }
141
148
  }
@@ -150,15 +157,15 @@ export class WriteLinkedCasesComponent extends AbstractFieldWriteComponent {
150
157
  const buttonId = this.linkedCasesService.linkedCases.length === 0
151
158
  ? 'back-button'
152
159
  : 'next-button';
153
- this.caseEditPageComponent.caseLinkError = {
160
+ this.caseEditDataService.setCaseLinkError({
154
161
  componentId: buttonId,
155
162
  errorMessage
156
- };
163
+ });
157
164
  }
158
165
  proceedToNextPage() {
159
166
  if (this.isAtFinalPage()) {
160
167
  // Continue button event must be allowed in final page
161
- this.caseEditPageComponent.caseLinkError = null;
168
+ this.caseEditDataService.clearCaseLinkError();
162
169
  // Trigger validation to clear the "notAtFinalPage" error if now at the final state
163
170
  this.formGroup.updateValueAndValidity();
164
171
  // update form value
@@ -209,8 +216,8 @@ export class WriteLinkedCasesComponent extends AbstractFieldWriteComponent {
209
216
  }
210
217
  }
211
218
  }
212
- WriteLinkedCasesComponent.ɵfac = function WriteLinkedCasesComponent_Factory(t) { return new (t || WriteLinkedCasesComponent)(i0.ɵɵdirectiveInject(i1.CaseEditComponent), i0.ɵɵdirectiveInject(i2.AbstractAppConfig), i0.ɵɵdirectiveInject(i3.CommonDataService), i0.ɵɵdirectiveInject(i4.CasesService), i0.ɵɵdirectiveInject(i5.LinkedCasesService)); };
213
- WriteLinkedCasesComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteLinkedCasesComponent, selectors: [["ccd-write-linked-cases"]], inputs: { caseFields: "caseFields", caseField: "caseField", caseEditPageComponent: "caseEditPageComponent", isLinkedCasesJourney: "isLinkedCasesJourney", formGroup: "formGroup" }, outputs: { onLinkedCasesSelected: "onLinkedCasesSelected" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 8, vars: 8, consts: [["class", "govuk-error-summary", "aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 4, "ngIf"], [1, "form-group", "govuk-!-margin-bottom-2", 3, "formGroup"], [1, "govuk-form-group", 3, "ngSwitch"], [4, "ngSwitchCase"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], ["class", "govuk-error-summary__body", 4, "ngFor", "ngForOf"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], [1, "validation-error", 3, "click"], [3, "linkedCasesStateEmitter"]], template: function WriteLinkedCasesComponent_Template(rf, ctx) { if (rf & 1) {
219
+ WriteLinkedCasesComponent.ɵfac = function WriteLinkedCasesComponent_Factory(t) { return new (t || WriteLinkedCasesComponent)(i0.ɵɵdirectiveInject(i1.CaseEditComponent), i0.ɵɵdirectiveInject(i2.AbstractAppConfig), i0.ɵɵdirectiveInject(i3.CommonDataService), i0.ɵɵdirectiveInject(i4.CasesService), i0.ɵɵdirectiveInject(i5.LinkedCasesService), i0.ɵɵdirectiveInject(i6.CaseEditDataService)); };
220
+ WriteLinkedCasesComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteLinkedCasesComponent, selectors: [["ccd-write-linked-cases"]], inputs: { caseFields: "caseFields", caseField: "caseField", isLinkedCasesJourney: "isLinkedCasesJourney", formGroup: "formGroup" }, outputs: { onLinkedCasesSelected: "onLinkedCasesSelected" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 8, vars: 8, consts: [["class", "govuk-error-summary", "aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 4, "ngIf"], [1, "form-group", "govuk-!-margin-bottom-2", 3, "formGroup"], [1, "govuk-form-group", 3, "ngSwitch"], [4, "ngSwitchCase"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], ["class", "govuk-error-summary__body", 4, "ngFor", "ngForOf"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], [1, "validation-error", 3, "click"], [3, "linkedCasesStateEmitter"]], template: function WriteLinkedCasesComponent_Template(rf, ctx) { if (rf & 1) {
214
221
  i0.ɵɵtemplate(0, WriteLinkedCasesComponent_div_0_Template, 4, 1, "div", 0);
215
222
  i0.ɵɵelementStart(1, "div", 1);
216
223
  i0.ɵɵelementStart(2, "div", 2);
@@ -244,12 +251,10 @@ WriteLinkedCasesComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteLinkedCase
244
251
  selector: 'ccd-write-linked-cases',
245
252
  templateUrl: './write-linked-cases.component.html'
246
253
  }]
247
- }], function () { return [{ type: i1.CaseEditComponent }, { type: i2.AbstractAppConfig }, { type: i3.CommonDataService }, { type: i4.CasesService }, { type: i5.LinkedCasesService }]; }, { caseFields: [{
254
+ }], function () { return [{ type: i1.CaseEditComponent }, { type: i2.AbstractAppConfig }, { type: i3.CommonDataService }, { type: i4.CasesService }, { type: i5.LinkedCasesService }, { type: i6.CaseEditDataService }]; }, { caseFields: [{
248
255
  type: Input
249
256
  }], caseField: [{
250
257
  type: Input
251
- }], caseEditPageComponent: [{
252
- type: Input
253
258
  }], onLinkedCasesSelected: [{
254
259
  type: Output
255
260
  }], isLinkedCasesJourney: [{
@@ -257,4 +262,4 @@ WriteLinkedCasesComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteLinkedCase
257
262
  }], formGroup: [{
258
263
  type: Input
259
264
  }] }); })();
260
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtbGlua2VkLWNhc2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtbGluay9jb21wb25lbnRzL3dyaXRlLWxpbmtlZC1jYXNlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWxpbmsvY29tcG9uZW50cy93cml0ZS1saW5rZWQtY2FzZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLG9CQUFvQixDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7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RSxDQUFDO2FBQ3JCO1NBQ0Y7SUFDSCxDQUFDOztrR0ExSlUseUJBQXlCOzhEQUF6Qix5QkFBeUI7UUNqQnRDLDBFQVdNO1FBQ04sOEJBQXdFO1FBQ3RFLDhCQUEyRDtRQUN6RCw0RkFHZTtRQUNmLDRGQUdlO1FBQ2YsNEZBR2U7UUFDZiw0RkFHZTtRQUNmLDRGQUdlO1FBQ2pCLGlCQUFNO1FBQ1IsaUJBQU07O1FBbkNBLG1EQUE4QjtRQVlZLGVBQXVCO1FBQXZCLHlDQUF1QjtRQUN2QyxlQUE0QjtRQUE1Qiw4Q0FBNEI7UUFDekMsZUFBK0M7UUFBL0Msb0VBQStDO1FBSS9DLGVBQThDO1FBQTlDLG1FQUE4QztRQUk5QyxlQUF3QztRQUF4Qyw2REFBd0M7UUFJeEMsZUFBMEM7UUFBMUMsK0RBQTBDO1FBSTFDLGVBQWlEO1FBQWpELHNFQUFpRDs7dUZEYnZELHlCQUF5QjtjQUpyQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsV0FBVyxFQUFFLHFDQUFxQzthQUNuRDtnTUFJUSxVQUFVO2tCQURoQixLQUFLO1lBSUMsU0FBUztrQkFEZixLQUFLO1lBSUMscUJBQXFCO2tCQUQzQixLQUFLO1lBSUMscUJBQXFCO2tCQUQzQixNQUFNO1lBR0Esb0JBQW9CO2tCQUQxQixLQUFLO1lBSUMsU0FBUztrQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBDYXNlRmllbGQsIEVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlVmlldyB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbi9jYXNlLXZpZXcnO1xuaW1wb3J0IHsgQ29tbW9uRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9jb21tb24tZGF0YS1zZXJ2aWNlL2NvbW1vbi1kYXRhLXNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FzZUVkaXRQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY2FzZS1lZGl0b3IvY2FzZS1lZGl0LXBhZ2UvY2FzZS1lZGl0LXBhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IENhc2VFZGl0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY2FzZS1lZGl0b3IvY2FzZS1lZGl0L2Nhc2UtZWRpdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMvY2FzZXMuc2VydmljZSc7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iYXNlLWZpZWxkJztcbmltcG9ydCB7IENhc2VMaW5rLCBMaW5rZWRDYXNlc1N0YXRlIH0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcywgTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJzLCBMaW5rZWRDYXNlc1BhZ2VzIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtd3JpdGUtbGlua2VkLWNhc2VzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dyaXRlLWxpbmtlZC1jYXNlcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgV3JpdGVMaW5rZWRDYXNlc0NvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlRmllbGQ6IENhc2VGaWVsZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FzZUVkaXRQYWdlQ29tcG9uZW50OiBDYXNlRWRpdFBhZ2VDb21wb25lbnQ7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkxpbmtlZENhc2VzU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KClcbiAgcHVibGljIGlzTGlua2VkQ2FzZXNKb3VybmV5ID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBsaW5rZWRDYXNlc1BhZ2U6IG51bWJlcjtcbiAgcHVibGljIGxpbmtlZENhc2VzUGFnZXMgPSBMaW5rZWRDYXNlc1BhZ2VzO1xuICBwdWJsaWMgbGlua2VkQ2FzZXNFdmVudFRyaWdnZXJzID0gTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJzO1xuICBwdWJsaWMgbGlua2VkQ2FzZXM6IENhc2VMaW5rW10gPSBbXTtcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlRWRpdDogQ2FzZUVkaXRDb21wb25lbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbW9uRGF0YVNlcnZpY2U6IENvbW1vbkRhdGFTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaW5rZWRDYXNlc1NlcnZpY2U6IExpbmtlZENhc2VzU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlSWQgPSB0aGlzLmNhc2VFZGl0LmNhc2VEZXRhaWxzLmNhc2VfaWQ7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlTmFtZSA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmdldENhc2VOYW1lKHRoaXMuY2FzZUVkaXQuY2FzZURldGFpbHMpO1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZURldGFpbHMgPSB0aGlzLmNhc2VFZGl0LmNhc2VEZXRhaWxzO1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZWRpdE1vZGUgPSBmYWxzZTtcbiAgICAgIGNvbnN0IHJlYXNvbkNvZGVBUEl1cmwgPSB0aGlzLmFwcENvbmZpZy5nZXRSRENvbW1vbkRhdGFBcGlVcmwoKSArICcvbG92L2NhdGVnb3JpZXMvQ2FzZUxpbmtpbmdSZWFzb25Db2RlJztcbiAgICAgIHRoaXMuY29tbW9uRGF0YVNlcnZpY2UuZ2V0UmVmRGF0YShyZWFzb25Db2RlQVBJdXJsKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiByZWFzb25zID0+IHtcbiAgICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rQ2FzZVJlYXNvbnMgPSByZWFzb25zLmxpc3Rfb2ZfdmFsdWVzLnNvcnQoKGEsIGIpID0+IChhLnZhbHVlX2VuID4gYi52YWx1ZV9lbikgPyAxIDogLTEpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgdGhpcy5nZXRMaW5rZWRDYXNlcygpO1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaXNMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlciA9XG4gICAgICB0aGlzLmNhc2VFZGl0UGFnZUNvbXBvbmVudC5ldmVudFRyaWdnZXIubmFtZSA9PT0gTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJzLkxJTktfQ0FTRVM7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGxldCBsYWJlbEZpZWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnZ292dWstaGVhZGluZy1sJyk7XG4gICAgaWYgKGxhYmVsRmllbGQgJiYgbGFiZWxGaWVsZC5sZW5ndGgpIHtcbiAgICAgIGxhYmVsRmllbGRbMF0ucmVwbGFjZVdpdGgoJycpXG4gICAgfVxuICAgIGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoZWFkaW5nLWgyJyk7XG4gICAgaWYgKGxhYmVsRmllbGQgJiYgbGFiZWxGaWVsZC5sZW5ndGgpIHtcbiAgICAgIGxhYmVsRmllbGRbMF0ucmVwbGFjZVdpdGgoJycpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQobGlua2VkQ2FzZXNTdGF0ZTogTGlua2VkQ2FzZXNTdGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIHRoaXMuY2FzZUVkaXRQYWdlQ29tcG9uZW50LnZhbGlkYXRpb25FcnJvcnMgPSBbXTtcbiAgICBpZiAobGlua2VkQ2FzZXNTdGF0ZS5uYXZpZ2F0ZVRvTmV4dFBhZ2UpIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNQYWdlID0gdGhpcy5nZXROZXh0UGFnZShsaW5rZWRDYXNlc1N0YXRlKTtcbiAgICAgIHRoaXMuc2V0Q29udGludWVCdXR0b25WYWxpZGF0aW9uRXJyb3JNZXNzYWdlKCk7XG4gICAgICB0aGlzLnByb2NlZWRUb05leHRQYWdlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChsaW5rZWRDYXNlc1N0YXRlLmVycm9yTWVzc2FnZXMgJiYgbGlua2VkQ2FzZXNTdGF0ZS5lcnJvck1lc3NhZ2VzLmxlbmd0aCkge1xuICAgICAgICBsaW5rZWRDYXNlc1N0YXRlLmVycm9yTWVzc2FnZXMuZm9yRWFjaCgoZXJyb3JNZXNzYWdlLCBpbmRleCkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FzZUVkaXRQYWdlQ29tcG9uZW50LnZhbGlkYXRpb25FcnJvcnMucHVzaCh7IGlkOiBlcnJvck1lc3NhZ2UuZmllbGRJZCwgbWVzc2FnZTogZXJyb3JNZXNzYWdlLmRlc2NyaXB0aW9ufSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0F0RmluYWxTdGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5saW5rZWRDYXNlc1BhZ2UgPT09IHRoaXMubGlua2VkQ2FzZXNQYWdlcy5DSEVDS19ZT1VSX0FOU1dFUlM7XG4gIH1cblxuICBwdWJsaWMgc2V0Q29udGludWVCdXR0b25WYWxpZGF0aW9uRXJyb3JNZXNzYWdlKCk6IHZvaWQge1xuICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJcbiAgICAgICAgPyBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuTGlua0Nhc2VzTmF2aWdhdGlvbkVycm9yXG4gICAgICAgIDogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLlVubGlua0Nhc2VzTmF2aWdhdGlvbkVycm9yO1xuXG4gICAgY29uc3QgYnV0dG9uSWQgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcy5sZW5ndGggPT09IDBcbiAgICAgID8gJ2JhY2stYnV0dG9uJ1xuICAgICAgOiAnbmV4dC1idXR0b24nO1xuXG4gICAgdGhpcy5jYXNlRWRpdFBhZ2VDb21wb25lbnQuY2FzZUxpbmtFcnJvciA9IHtcbiAgICAgIGNvbXBvbmVudElkOiBidXR0b25JZCxcbiAgICAgIGVycm9yTWVzc2FnZVxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgcHJvY2VlZFRvTmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNBdEZpbmFsUGFnZSgpKSB7XG4gICAgICAvLyBDb250aW51ZSBidXR0b24gZXZlbnQgbXVzdCBiZSBhbGxvd2VkIGluIGZpbmFsIHBhZ2VcbiAgICAgIHRoaXMuY2FzZUVkaXRQYWdlQ29tcG9uZW50LmNhc2VMaW5rRXJyb3IgPSBudWxsO1xuICAgICAgLy8gVHJpZ2dlciB2YWxpZGF0aW9uIHRvIGNsZWFyIHRoZSBcIm5vdEF0RmluYWxQYWdlXCIgZXJyb3IgaWYgbm93IGF0IHRoZSBmaW5hbCBzdGF0ZVxuICAgICAgdGhpcy5mb3JtR3JvdXAudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgLy8gdXBkYXRlIGZvcm0gdmFsdWVcbiAgICAgIHRoaXMub25MaW5rZWRDYXNlc1NlbGVjdGVkLmVtaXQoKTtcbiAgICAgICh0aGlzLmNhc2VFZGl0LmZvcm0uY29udHJvbHNbJ2RhdGEnXSBhcyBhbnkpID0gIG5ldyBGb3JtR3JvdXAoe2Nhc2VMaW5rczogbmV3IEZvcm1Db250cm9sKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlKX0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0F0RmluYWxQYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxpbmtlZENhc2VzUGFnZSA9PT0gdGhpcy5saW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSUztcbiAgfVxuXG4gIHB1YmxpYyBnZXROZXh0UGFnZShsaW5rZWRDYXNlc1N0YXRlOiBMaW5rZWRDYXNlc1N0YXRlKTogbnVtYmVyIHtcbiAgICBpZiAoKHRoaXMubGlua2VkQ2FzZXNQYWdlID09PSBMaW5rZWRDYXNlc1BhZ2VzLkJFRk9SRV9ZT1VfU1RBUlQpIHx8XG4gICAgICAgIChsaW5rZWRDYXNlc1N0YXRlLmN1cnJlbnRMaW5rZWRDYXNlc1BhZ2UgPT09IExpbmtlZENhc2VzUGFnZXMuQ0hFQ0tfWU9VUl9BTlNXRVJTICYmIGxpbmtlZENhc2VzU3RhdGUubmF2aWdhdGVUb1ByZXZpb3VzUGFnZSkpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5pc0xpbmtlZENhc2VzSm91cm5leVxuICAgICAgICAgICAgPyBMaW5rZWRDYXNlc1BhZ2VzLkxJTktfQ0FTRVxuICAgICAgICAgICAgOiBMaW5rZWRDYXNlc1BhZ2VzLlVOTElOS19DQVNFO1xuICAgIH1cbiAgICByZXR1cm4gTGlua2VkQ2FzZXNQYWdlcy5DSEVDS19ZT1VSX0FOU1dFUlM7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGlua2VkQ2FzZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jYXNlc1NlcnZpY2UuZ2V0Q2FzZVZpZXdWMih0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlSWQpLnN1YnNjcmliZSgoY2FzZVZpZXc6IENhc2VWaWV3KSA9PiB7XG4gICAgICBjb25zdCBjYXNlVmlld0ZpbHRlcmVkID0gY2FzZVZpZXcudGFicy5maWx0ZXIodGFiID0+IHtcbiAgICAgICAgY29uc3QgbGlua0ZpZWxkID0gdGFiLmZpZWxkcy5zb21lKFxuICAgICAgICAgICh7ZmllbGRfdHlwZX0pID0+IGZpZWxkX3R5cGUgJiYgZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUgJiYgZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUuaWQgPT09ICdDYXNlTGluaydcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGxpbmtGaWVsZDtcbiAgICAgIH0pO1xuICAgICAgaWYgKGNhc2VWaWV3RmlsdGVyZWQpIHtcbiAgICAgICAgY29uc3QgY2FzZUxpbmtGaWVsZFZhbHVlID0gY2FzZVZpZXdGaWx0ZXJlZC5tYXAoZmlsdGVyZWQgPT4gZmlsdGVyZWQuZmllbGRzLmxlbmd0aCAmJiBmaWx0ZXJlZC5maWVsZHNbMF0udmFsdWUpXG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlID0gY2FzZUxpbmtGaWVsZFZhbHVlLmxlbmd0aCA/IGNhc2VMaW5rRmllbGRWYWx1ZVswXSA6IFtdO1xuICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5nZXRBbGxMaW5rZWRDYXNlSW5mb3JtYXRpb24oKTtcbiAgICAgIH1cbiAgICAgIC8vIEluaXRpYWxpc2UgdGhlIGZpcnN0IHBhZ2UgdG8gZGlzcGxheVxuICAgICAgdGhpcy5saW5rZWRDYXNlc1BhZ2UgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc0xpbmtlZENhc2VzRXZlbnRUcmlnZ2VyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgJiYgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAmJiAhdGhpcy5saW5rZWRDYXNlc1NlcnZpY2Uuc2VydmVyTGlua2VkQXBpRXJyb3IpXG4gICAgICAgID8gTGlua2VkQ2FzZXNQYWdlcy5CRUZPUkVfWU9VX1NUQVJUXG4gICAgICAgIDogTGlua2VkQ2FzZXNQYWdlcy5OT19MSU5LRURfQ0FTRVM7XG4gICAgICAvLyBJbml0aWFsaXNlIHRoZSBlcnJvciB0byBiZSBkaXNwbGF5ZWQgd2hlbiBjbGlja2VkIG9uIENvbnRpbnVlIGJ1dHRvblxuICAgICAgdGhpcy5zZXRDb250aW51ZUJ1dHRvblZhbGlkYXRpb25FcnJvck1lc3NhZ2UoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuYXZpZ2F0ZVRvRXJyb3JFbGVtZW50KGVsZW1lbnRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGVsZW1lbnRJZCkge1xuICAgICAgY29uc3QgaHRtbEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpO1xuICAgICAgaWYgKGh0bWxFbGVtZW50KSB7XG4gICAgICAgIGh0bWxFbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ2NlbnRlcicgfSk7XG4gICAgICAgIGh0bWxFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8IS0tIEVycm9yIG1lc3NhZ2Ugc3VtbWFyeSAtLT5cbjxkaXYgKm5nSWY9XCJlcnJvck1lc3NhZ2VzLmxlbmd0aCA+IDBcIiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlcIiBhcmlhLWxhYmVsbGVkYnk9XCJlcnJvci1zdW1tYXJ5LXRpdGxlXCIgcm9sZT1cImFsZXJ0XCIgdGFiaW5kZXg9XCItMVwiIGRhdGEtbW9kdWxlPVwiZ292dWstZXJyb3Itc3VtbWFyeVwiPlxuICA8aDIgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZVwiIGlkPVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiPlxuICAgIFRoZXJlIGlzIGEgcHJvYmxlbVxuICA8L2gyPlxuICA8ZGl2ICpuZ0Zvcj1cImxldCBlcnJvck1lc3NhZ2Ugb2YgZXJyb3JNZXNzYWdlc1wiIGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keVwiPlxuICAgIDx1bCBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdFwiPlxuICAgICAgPGxpPlxuICAgICAgICA8YSAoY2xpY2spPVwibmF2aWdhdGVUb0Vycm9yRWxlbWVudChlcnJvck1lc3NhZ2UuZmllbGRJZClcIiBjbGFzcz1cInZhbGlkYXRpb24tZXJyb3JcIj57e2Vycm9yTWVzc2FnZS5kZXNjcmlwdGlvbn19PC9hPlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgZ292dWstIS1tYXJnaW4tYm90dG9tLTJcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ1N3aXRjaF09XCJsaW5rZWRDYXNlc1BhZ2VcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJsaW5rZWRDYXNlc1BhZ2VzLkJFRk9SRV9ZT1VfU1RBUlRcIj5cbiAgICAgIDxjY2QtbGlua2VkLWNhc2VzLWJlZm9yZS15b3Utc3RhcnRcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLWxpbmtlZC1jYXNlcy1iZWZvcmUteW91LXN0YXJ0PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImxpbmtlZENhc2VzUGFnZXMuTk9fTElOS0VEX0NBU0VTXCI+XG4gICAgICA8Y2NkLW5vLWxpbmtlZC1jYXNlc1xuICAgICAgICAobGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXIpPVwib25MaW5rZWRDYXNlc1N0YXRlRW1pdHRlZCgkZXZlbnQpXCI+PC9jY2Qtbm8tbGlua2VkLWNhc2VzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImxpbmtlZENhc2VzUGFnZXMuTElOS19DQVNFXCI+XG4gICAgICA8Y2NkLWxpbmstY2FzZXNcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLWxpbmstY2FzZXM+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwibGlua2VkQ2FzZXNQYWdlcy5VTkxJTktfQ0FTRVwiPlxuICAgICAgPGNjZC11bmxpbmstY2FzZXNcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLXVubGluay1jYXNlcz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJsaW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSU1wiPlxuICAgICAgPGNjZC1saW5rZWQtY2FzZXMtY2hlY2steW91ci1hbnN3ZXJzXG4gICAgICAgIChsaW5rZWRDYXNlc1N0YXRlRW1pdHRlcik9XCJvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKCRldmVudClcIj48L2NjZC1saW5rZWQtY2FzZXMtY2hlY2steW91ci1hbnN3ZXJzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
265
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtbGlua2VkLWNhc2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtbGluay9jb21wb25lbnRzL3dyaXRlLWxpbmtlZC1jYXNlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWxpbmsvY29tcG9uZW50cy93cml0ZS1saW5rZWQtY2FzZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLG9CQUFvQixDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7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QUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2RCxJQUFJLFdBQVcsRUFBRTtnQkFDZixXQUFXLENBQUMsY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDcEUsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3JCO1NBQ0Y7SUFDSCxDQUFDOztrR0E5SlUseUJBQXlCOzhEQUF6Qix5QkFBeUI7UUNqQnRDLDBFQVdNO1FBQ04sOEJBQXdFO1FBQ3RFLDhCQUEyRDtRQUN6RCw0RkFHZTtRQUNmLDRGQUdlO1FBQ2YsNEZBR2U7UUFDZiw0RkFHZTtRQUNmLDRGQUdlO1FBQ2pCLGlCQUFNO1FBQ1IsaUJBQU07O1FBbkNBLG1EQUE4QjtRQVlZLGVBQXVCO1FBQXZCLHlDQUF1QjtRQUN2QyxlQUE0QjtRQUE1Qiw4Q0FBNEI7UUFDekMsZUFBK0M7UUFBL0Msb0VBQStDO1FBSS9DLGVBQThDO1FBQTlDLG1FQUE4QztRQUk5QyxlQUF3QztRQUF4Qyw2REFBd0M7UUFJeEMsZUFBMEM7UUFBMUMsK0RBQTBDO1FBSTFDLGVBQWlEO1FBQWpELHNFQUFpRDs7dUZEYnZELHlCQUF5QjtjQUpyQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsV0FBVyxFQUFFLHFDQUFxQzthQUNuRDtrT0FJUSxVQUFVO2tCQURoQixLQUFLO1lBSUMsU0FBUztrQkFEZixLQUFLO1lBSUMscUJBQXFCO2tCQUQzQixNQUFNO1lBR0Esb0JBQW9CO2tCQUQxQixLQUFLO1lBSUMsU0FBUztrQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBDYXNlRWRpdERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9ucy9jYXNlLWVkaXQtZGF0YSc7XG5pbXBvcnQgeyBDYXNlRmllbGQsIEVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlVmlldyB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbi9jYXNlLXZpZXcnO1xuaW1wb3J0IHsgQ29tbW9uRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9jb21tb24tZGF0YS1zZXJ2aWNlL2NvbW1vbi1kYXRhLXNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FzZUVkaXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jYXNlLWVkaXRvci9jYXNlLWVkaXQvY2FzZS1lZGl0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UtZmllbGQnO1xuaW1wb3J0IHsgQ2FzZUxpbmssIExpbmtlZENhc2VzU3RhdGUgfSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLCBMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlcnMsIExpbmtlZENhc2VzUGFnZXMgfSBmcm9tICcuLi9lbnVtcyc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13cml0ZS1saW5rZWQtY2FzZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vd3JpdGUtbGlua2VkLWNhc2VzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXcml0ZUxpbmtlZENhc2VzQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FzZUZpZWxkczogQ2FzZUZpZWxkW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZDogQ2FzZUZpZWxkO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25MaW5rZWRDYXNlc1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc0xpbmtlZENhc2VzSm91cm5leSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICBwdWJsaWMgbGlua2VkQ2FzZXNQYWdlOiBudW1iZXI7XG4gIHB1YmxpYyBsaW5rZWRDYXNlc1BhZ2VzID0gTGlua2VkQ2FzZXNQYWdlcztcbiAgcHVibGljIGxpbmtlZENhc2VzRXZlbnRUcmlnZ2VycyA9IExpbmtlZENhc2VzRXZlbnRUcmlnZ2VycztcbiAgcHVibGljIGxpbmtlZENhc2VzOiBDYXNlTGlua1tdID0gW107XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBFcnJvck1lc3NhZ2VbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZUVkaXQ6IENhc2VFZGl0Q29tcG9uZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwQ29uZmlnOiBBYnN0cmFjdEFwcENvbmZpZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1vbkRhdGFTZXJ2aWNlOiBDb21tb25EYXRhU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VzU2VydmljZTogQ2FzZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlua2VkQ2FzZXNTZXJ2aWNlOiBMaW5rZWRDYXNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlRWRpdERhdGFTZXJ2aWNlOiBDYXNlRWRpdERhdGFTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMuY2FzZUVkaXREYXRhU2VydmljZS5jbGVhckZvcm1WYWxpZGF0aW9uRXJyb3JzKCk7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlSWQgPSB0aGlzLmNhc2VFZGl0LmNhc2VEZXRhaWxzLmNhc2VfaWQ7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlTmFtZSA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmdldENhc2VOYW1lKHRoaXMuY2FzZUVkaXQuY2FzZURldGFpbHMpO1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZURldGFpbHMgPSB0aGlzLmNhc2VFZGl0LmNhc2VEZXRhaWxzO1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZWRpdE1vZGUgPSBmYWxzZTtcbiAgICAgIGNvbnN0IHJlYXNvbkNvZGVBUEl1cmwgPSB0aGlzLmFwcENvbmZpZy5nZXRSRENvbW1vbkRhdGFBcGlVcmwoKSArICcvbG92L2NhdGVnb3JpZXMvQ2FzZUxpbmtpbmdSZWFzb25Db2RlJztcbiAgICAgIHRoaXMuY29tbW9uRGF0YVNlcnZpY2UuZ2V0UmVmRGF0YShyZWFzb25Db2RlQVBJdXJsKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiByZWFzb25zID0+IHtcbiAgICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rQ2FzZVJlYXNvbnMgPSByZWFzb25zLmxpc3Rfb2ZfdmFsdWVzLnNvcnQoKGEsIGIpID0+IChhLnZhbHVlX2VuID4gYi52YWx1ZV9lbikgPyAxIDogLTEpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuZ2V0TGlua2VkQ2FzZXMoKTtcbiAgICAgIHRoaXMuY2FzZUVkaXREYXRhU2VydmljZS5jYXNlRXZlbnRUcmlnZ2VyTmFtZSQuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogbmFtZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaXNMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlclxuICAgICAgICAgICAgICAgICAgPSAobmFtZSA9PT0gTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJzLkxJTktfQ0FTRVMpO1xuICAgICAgICB9XG4gICAgICB9KVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBsZXQgbGFiZWxGaWVsZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2dvdnVrLWhlYWRpbmctbCcpO1xuICAgIGlmIChsYWJlbEZpZWxkICYmIGxhYmVsRmllbGQubGVuZ3RoKSB7XG4gICAgICBsYWJlbEZpZWxkWzBdLnJlcGxhY2VXaXRoKCcnKVxuICAgIH1cbiAgICBsYWJlbEZpZWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaGVhZGluZy1oMicpO1xuICAgIGlmIChsYWJlbEZpZWxkICYmIGxhYmVsRmllbGQubGVuZ3RoKSB7XG4gICAgICBsYWJlbEZpZWxkWzBdLnJlcGxhY2VXaXRoKCcnKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKGxpbmtlZENhc2VzU3RhdGU6IExpbmtlZENhc2VzU3RhdGUpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2xlYXJGb3JtVmFsaWRhdGlvbkVycm9ycygpO1xuXG4gICAgaWYgKGxpbmtlZENhc2VzU3RhdGUubmF2aWdhdGVUb05leHRQYWdlKSB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzUGFnZSA9IHRoaXMuZ2V0TmV4dFBhZ2UobGlua2VkQ2FzZXNTdGF0ZSk7XG4gICAgICB0aGlzLnNldENvbnRpbnVlQnV0dG9uVmFsaWRhdGlvbkVycm9yTWVzc2FnZSgpO1xuICAgICAgdGhpcy5wcm9jZWVkVG9OZXh0UGFnZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobGlua2VkQ2FzZXNTdGF0ZS5lcnJvck1lc3NhZ2VzICYmIGxpbmtlZENhc2VzU3RhdGUuZXJyb3JNZXNzYWdlcy5sZW5ndGgpIHtcbiAgICAgICAgbGlua2VkQ2FzZXNTdGF0ZS5lcnJvck1lc3NhZ2VzLmZvckVhY2goKGVycm9yTWVzc2FnZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuYWRkRm9ybVZhbGlkYXRpb25FcnJvcih7IGlkOiBlcnJvck1lc3NhZ2UuZmllbGRJZCwgbWVzc2FnZTogZXJyb3JNZXNzYWdlLmRlc2NyaXB0aW9ufSlcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzQXRGaW5hbFN0YXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxpbmtlZENhc2VzUGFnZSA9PT0gdGhpcy5saW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSUztcbiAgfVxuXG4gIHB1YmxpYyBzZXRDb250aW51ZUJ1dHRvblZhbGlkYXRpb25FcnJvck1lc3NhZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgZXJyb3JNZXNzYWdlID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaXNMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlclxuICAgICAgICA/IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5MaW5rQ2FzZXNOYXZpZ2F0aW9uRXJyb3JcbiAgICAgICAgOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuVW5saW5rQ2FzZXNOYXZpZ2F0aW9uRXJyb3I7XG5cbiAgICBjb25zdCBidXR0b25JZCA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzLmxlbmd0aCA9PT0gMFxuICAgICAgPyAnYmFjay1idXR0b24nXG4gICAgICA6ICduZXh0LWJ1dHRvbic7XG5cbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2Uuc2V0Q2FzZUxpbmtFcnJvcih7XG4gICAgICAgIGNvbXBvbmVudElkOiBidXR0b25JZCxcbiAgICAgICAgZXJyb3JNZXNzYWdlXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcHJvY2VlZFRvTmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNBdEZpbmFsUGFnZSgpKSB7XG4gICAgICAvLyBDb250aW51ZSBidXR0b24gZXZlbnQgbXVzdCBiZSBhbGxvd2VkIGluIGZpbmFsIHBhZ2VcbiAgICAgIHRoaXMuY2FzZUVkaXREYXRhU2VydmljZS5jbGVhckNhc2VMaW5rRXJyb3IoKTtcbiAgICAgIC8vIFRyaWdnZXIgdmFsaWRhdGlvbiB0byBjbGVhciB0aGUgXCJub3RBdEZpbmFsUGFnZVwiIGVycm9yIGlmIG5vdyBhdCB0aGUgZmluYWwgc3RhdGVcbiAgICAgIHRoaXMuZm9ybUdyb3VwLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgIC8vIHVwZGF0ZSBmb3JtIHZhbHVlXG4gICAgICB0aGlzLm9uTGlua2VkQ2FzZXNTZWxlY3RlZC5lbWl0KCk7XG4gICAgICAodGhpcy5jYXNlRWRpdC5mb3JtLmNvbnRyb2xzWydkYXRhJ10gYXMgYW55KSA9ICBuZXcgRm9ybUdyb3VwKHtjYXNlTGlua3M6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZSl9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNBdEZpbmFsUGFnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5saW5rZWRDYXNlc1BhZ2UgPT09IHRoaXMubGlua2VkQ2FzZXNQYWdlcy5DSEVDS19ZT1VSX0FOU1dFUlM7XG4gIH1cblxuICBwdWJsaWMgZ2V0TmV4dFBhZ2UobGlua2VkQ2FzZXNTdGF0ZTogTGlua2VkQ2FzZXNTdGF0ZSk6IG51bWJlciB7XG4gICAgaWYgKCh0aGlzLmxpbmtlZENhc2VzUGFnZSA9PT0gTGlua2VkQ2FzZXNQYWdlcy5CRUZPUkVfWU9VX1NUQVJUKSB8fFxuICAgICAgICAobGlua2VkQ2FzZXNTdGF0ZS5jdXJyZW50TGlua2VkQ2FzZXNQYWdlID09PSBMaW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSUyAmJiBsaW5rZWRDYXNlc1N0YXRlLm5hdmlnYXRlVG9QcmV2aW91c1BhZ2UpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaXNMaW5rZWRDYXNlc0pvdXJuZXlcbiAgICAgICAgICAgID8gTGlua2VkQ2FzZXNQYWdlcy5MSU5LX0NBU0VcbiAgICAgICAgICAgIDogTGlua2VkQ2FzZXNQYWdlcy5VTkxJTktfQ0FTRTtcbiAgICB9XG4gICAgcmV0dXJuIExpbmtlZENhc2VzUGFnZXMuQ0hFQ0tfWU9VUl9BTlNXRVJTO1xuICB9XG5cbiAgcHVibGljIGdldExpbmtlZENhc2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY2FzZXNTZXJ2aWNlLmdldENhc2VWaWV3VjIodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUlkKS5zdWJzY3JpYmUoKGNhc2VWaWV3OiBDYXNlVmlldykgPT4ge1xuICAgICAgY29uc3QgY2FzZVZpZXdGaWx0ZXJlZCA9IGNhc2VWaWV3LnRhYnMuZmlsdGVyKHRhYiA9PiB7XG4gICAgICAgIGNvbnN0IGxpbmtGaWVsZCA9IHRhYi5maWVsZHMuc29tZShcbiAgICAgICAgICAoe2ZpZWxkX3R5cGV9KSA9PiBmaWVsZF90eXBlICYmIGZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlICYmIGZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLmlkID09PSAnQ2FzZUxpbmsnXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBsaW5rRmllbGQ7XG4gICAgICB9KTtcbiAgICAgIGlmIChjYXNlVmlld0ZpbHRlcmVkKSB7XG4gICAgICAgIGNvbnN0IGNhc2VMaW5rRmllbGRWYWx1ZSA9IGNhc2VWaWV3RmlsdGVyZWQubWFwKGZpbHRlcmVkID0+IGZpbHRlcmVkLmZpZWxkcy5sZW5ndGggJiYgZmlsdGVyZWQuZmllbGRzWzBdLnZhbHVlKVxuICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZSA9IGNhc2VMaW5rRmllbGRWYWx1ZS5sZW5ndGggPyBjYXNlTGlua0ZpZWxkVmFsdWVbMF0gOiBbXTtcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZ2V0QWxsTGlua2VkQ2FzZUluZm9ybWF0aW9uKCk7XG4gICAgICB9XG4gICAgICAvLyBJbml0aWFsaXNlIHRoZSBmaXJzdCBwYWdlIHRvIGRpc3BsYXlcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNQYWdlID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaXNMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlICYmIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgIXRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLnNlcnZlckxpbmtlZEFwaUVycm9yKVxuICAgICAgICA/IExpbmtlZENhc2VzUGFnZXMuQkVGT1JFX1lPVV9TVEFSVFxuICAgICAgICA6IExpbmtlZENhc2VzUGFnZXMuTk9fTElOS0VEX0NBU0VTO1xuICAgICAgLy8gSW5pdGlhbGlzZSB0aGUgZXJyb3IgdG8gYmUgZGlzcGxheWVkIHdoZW4gY2xpY2tlZCBvbiBDb250aW51ZSBidXR0b25cbiAgICAgIHRoaXMuc2V0Q29udGludWVCdXR0b25WYWxpZGF0aW9uRXJyb3JNZXNzYWdlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmF2aWdhdGVUb0Vycm9yRWxlbWVudChlbGVtZW50SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChlbGVtZW50SWQpIHtcbiAgICAgIGNvbnN0IGh0bWxFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTtcbiAgICAgIGlmIChodG1sRWxlbWVudCkge1xuICAgICAgICBodG1sRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdjZW50ZXInIH0pO1xuICAgICAgICBodG1sRWxlbWVudC5mb2N1cygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPCEtLSBFcnJvciBtZXNzYWdlIHN1bW1hcnkgLS0+XG48ZGl2ICpuZ0lmPVwiZXJyb3JNZXNzYWdlcy5sZW5ndGggPiAwXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5XCIgYXJpYS1sYWJlbGxlZGJ5PVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiIHJvbGU9XCJhbGVydFwiIHRhYmluZGV4PVwiLTFcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWVycm9yLXN1bW1hcnlcIj5cbiAgPGgyIGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fdGl0bGVcIiBpZD1cImVycm9yLXN1bW1hcnktdGl0bGVcIj5cbiAgICBUaGVyZSBpcyBhIHByb2JsZW1cbiAgPC9oMj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgZXJyb3JNZXNzYWdlIG9mIGVycm9yTWVzc2FnZXNcIiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX2JvZHlcIj5cbiAgICA8dWwgY2xhc3M9XCJnb3Z1ay1saXN0IGdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3RcIj5cbiAgICAgIDxsaT5cbiAgICAgICAgPGEgKGNsaWNrKT1cIm5hdmlnYXRlVG9FcnJvckVsZW1lbnQoZXJyb3JNZXNzYWdlLmZpZWxkSWQpXCIgY2xhc3M9XCJ2YWxpZGF0aW9uLWVycm9yXCI+e3tlcnJvck1lc3NhZ2UuZGVzY3JpcHRpb259fTwvYT5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0yXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdTd2l0Y2hdPVwibGlua2VkQ2FzZXNQYWdlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwibGlua2VkQ2FzZXNQYWdlcy5CRUZPUkVfWU9VX1NUQVJUXCI+XG4gICAgICA8Y2NkLWxpbmtlZC1jYXNlcy1iZWZvcmUteW91LXN0YXJ0XG4gICAgICAgIChsaW5rZWRDYXNlc1N0YXRlRW1pdHRlcik9XCJvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKCRldmVudClcIj48L2NjZC1saW5rZWQtY2FzZXMtYmVmb3JlLXlvdS1zdGFydD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJsaW5rZWRDYXNlc1BhZ2VzLk5PX0xJTktFRF9DQVNFU1wiPlxuICAgICAgPGNjZC1uby1saW5rZWQtY2FzZXNcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLW5vLWxpbmtlZC1jYXNlcz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJsaW5rZWRDYXNlc1BhZ2VzLkxJTktfQ0FTRVwiPlxuICAgICAgPGNjZC1saW5rLWNhc2VzXG4gICAgICAgIChsaW5rZWRDYXNlc1N0YXRlRW1pdHRlcik9XCJvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKCRldmVudClcIj48L2NjZC1saW5rLWNhc2VzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImxpbmtlZENhc2VzUGFnZXMuVU5MSU5LX0NBU0VcIj5cbiAgICAgIDxjY2QtdW5saW5rLWNhc2VzXG4gICAgICAgIChsaW5rZWRDYXNlc1N0YXRlRW1pdHRlcik9XCJvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKCRldmVudClcIj48L2NjZC11bmxpbmstY2FzZXM+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwibGlua2VkQ2FzZXNQYWdlcy5DSEVDS19ZT1VSX0FOU1dFUlNcIj5cbiAgICAgIDxjY2QtbGlua2VkLWNhc2VzLWNoZWNrLXlvdXItYW5zd2Vyc1xuICAgICAgICAobGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXIpPVwib25MaW5rZWRDYXNlc1N0YXRlRW1pdHRlZCgkZXZlbnQpXCI+PC9jY2QtbGlua2VkLWNhc2VzLWNoZWNrLXlvdXItYW5zd2Vycz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,6 +1,5 @@
1
1
  import { Component, Input, ViewChild } from '@angular/core';
2
2
  import { FormArray, FormControl, FormGroup, Validators } from '@angular/forms';
3
- import { CaseEditPageComponent } from '../../case-editor/case-edit-page/case-edit-page.component';
4
3
  import { AbstractFieldWriteComponent } from '../base-field/abstract-field-write.component';
5
4
  import { WriteComplexFieldComponent } from '../complex/write-complex-field.component';
6
5
  import { LinkedCasesService } from './services';
@@ -55,7 +54,7 @@ function WriteCaseLinkFieldComponent_div_2_Template(rf, ctx) { if (rf & 1) {
55
54
  } if (rf & 2) {
56
55
  const ctx_r1 = i0.ɵɵnextContext();
57
56
  i0.ɵɵadvance(1);
58
- i0.ɵɵproperty("caseFields", ctx_r1.caseFields)("caseField", ctx_r1.caseField)("formGroup", ctx_r1.formGroup)("caseEditPageComponent", ctx_r1.caseEditPageComponent)("isLinkedCasesJourney", ctx_r1.linkedCasesService.isLinkedCasesEventTrigger);
57
+ i0.ɵɵproperty("caseFields", ctx_r1.caseFields)("caseField", ctx_r1.caseField)("formGroup", ctx_r1.formGroup)("isLinkedCasesJourney", ctx_r1.linkedCasesService.isLinkedCasesEventTrigger);
59
58
  } }
60
59
  export class WriteCaseLinkFieldComponent extends AbstractFieldWriteComponent {
61
60
  constructor(linkedCasesService) {
@@ -109,10 +108,10 @@ WriteCaseLinkFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteCaseLink
109
108
  } if (rf & 2) {
110
109
  let _t;
111
110
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.writeComplexFieldComponent = _t.first);
112
- } }, inputs: { caseFields: "caseFields", formGroup: "formGroup", caseEditPageComponent: "caseEditPageComponent" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [["class", "form-group", 4, "ngIf"], [1, "form-group"], [3, "for"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["type", "text", 1, "form-control", "bottom-30", 3, "id", "formControl"], [1, "form-label"], [1, "form-hint"], [3, "caseFields", "caseField", "formGroup", "caseEditPageComponent", "isLinkedCasesJourney", "onLinkedCasesSelected"]], template: function WriteCaseLinkFieldComponent_Template(rf, ctx) { if (rf & 1) {
111
+ } }, inputs: { caseFields: "caseFields", formGroup: "formGroup" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [["class", "form-group", 4, "ngIf"], [1, "form-group"], [3, "for"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["type", "text", 1, "form-control", "bottom-30", 3, "id", "formControl"], [1, "form-label"], [1, "form-hint"], [3, "caseFields", "caseField", "formGroup", "isLinkedCasesJourney", "onLinkedCasesSelected"]], template: function WriteCaseLinkFieldComponent_Template(rf, ctx) { if (rf & 1) {
113
112
  i0.ɵɵelementContainerStart(0);
114
113
  i0.ɵɵtemplate(1, WriteCaseLinkFieldComponent_div_1_Template, 5, 5, "div", 0);
115
- i0.ɵɵtemplate(2, WriteCaseLinkFieldComponent_div_2_Template, 2, 5, "div", 0);
114
+ i0.ɵɵtemplate(2, WriteCaseLinkFieldComponent_div_2_Template, 2, 4, "div", 0);
116
115
  i0.ɵɵelementContainerEnd();
117
116
  } if (rf & 2) {
118
117
  i0.ɵɵadvance(1);
@@ -130,10 +129,8 @@ WriteCaseLinkFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteCaseLink
130
129
  type: Input
131
130
  }], formGroup: [{
132
131
  type: Input
133
- }], caseEditPageComponent: [{
134
- type: Input
135
132
  }], writeComplexFieldComponent: [{
136
133
  type: ViewChild,
137
134
  args: ['writeComplexFieldComponent', /* TODO: add static flag */ {}]
138
135
  }] }); })();
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtY2FzZS1saW5rLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtbGluay93cml0ZS1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1saW5rL3dyaXRlLWNhc2UtbGluay1maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQW1CLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7SUNIMUMsK0JBQWlEO0lBQUEsWUFBNkI7O0lBQUEsaUJBQU87OztJQUFwQyxlQUE2QjtJQUE3Qiw0REFBNkI7OztJQUVoRiwrQkFBb0Q7SUFBQSxZQUF1QjtJQUFBLGlCQUFPOzs7SUFBOUIsZUFBdUI7SUFBdkIsZ0RBQXVCOzs7SUFKN0UsOEJBQTREO0lBQzFELGdDQUFvQjtJQUNsQixvRkFBcUY7SUFDdkYsaUJBQVE7SUFDUixvRkFBa0Y7SUFDbEYsMkJBQW1HO0lBQ3JHLGlCQUFN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LE1BQU0sQ0FBQyxpREFBaUQsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRU0scUJBQXFCO1FBQzFCLE9BQU8sQ0FDTCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVU7WUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLFlBQVk7WUFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsRUFBRSxLQUFLLFVBQVUsQ0FDbEUsQ0FBQztJQUNKLENBQUM7O3NHQW5FVSwyQkFBMkI7Z0VBQTNCLDJCQUEyQjs7Ozs7O1FDYnhDLDZCQUFjO1FBQ1osNEVBTU07UUFDUCw0RUFHTTtRQUNQLDBCQUFlOztRQVhQLGVBQWlDO1FBQWpDLHNEQUFpQztRQU9mLGVBQWdDO1FBQWhDLHFEQUFnQzs7dUZESzdDLDJCQUEyQjtjQUx2QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsV0FBVyxFQUFFLDRCQUE0QjthQUMxQztxRUFLUSxVQUFVO2tCQURoQixLQUFLO1lBSUMsU0FBUztrQkFEZixLQUFLO1lBTUMscUJBQXFCO2tCQUQzQixLQUFLO1lBUUMsMEJBQTBCO2tCQURoQyxTQUFTO21CQUFDLDRCQUE0QixFQUFFLDJCQUEyQixDQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDYXNlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbi9jYXNlLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IENhc2VFZGl0UGFnZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Nhc2UtZWRpdG9yL2Nhc2UtZWRpdC1wYWdlL2Nhc2UtZWRpdC1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZpZWxkLXdyaXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBsZXgvd3JpdGUtY29tcGxleC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13cml0ZS1jYXNlLWxpbmstZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJ3dyaXRlLWNhc2UtbGluay1maWVsZC5odG1sJ1xufSlcblxuZXhwb3J0IGNsYXNzIFdyaXRlQ2FzZUxpbmtGaWVsZENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBmb3JtQXJyYXk6IEZvcm1BcnJheTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FzZUVkaXRQYWdlQ29tcG9uZW50OiBDYXNlRWRpdFBhZ2VDb21wb25lbnQ7XG5cbiAgcHVibGljIGNhc2VSZWZlcmVuY2VDb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG4gIHB1YmxpYyBjYXNlTGlua0dyb3VwOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBjb250YWluc0Nhc2VMaW5rQ29sbGVjdGlvbjogYm9vbGVhbjtcblxuICBAVmlld0NoaWxkKCd3cml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudCcsIC8qIFRPRE86IGFkZCBzdGF0aWMgZmxhZyAqLyB7fSlcbiAgcHVibGljIHdyaXRlQ29tcGxleEZpZWxkQ29tcG9uZW50OiBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgbGlua2VkQ2FzZXNTZXJ2aWNlOiBMaW5rZWRDYXNlc1NlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybUFycmF5ID0gdGhpcy5yZWdpc3RlckNvbnRyb2wobmV3IEZvcm1BcnJheShbXSksIHRydWUpIGFzIEZvcm1BcnJheTtcbiAgICB0aGlzLmZvcm1BcnJheVsnY2FzZUZpZWxkJ10gPSB0aGlzLmNhc2VGaWVsZDtcblxuICAgIGlmICghdGhpcy5oYXNDYXNlTGlua0NvbGxlY3Rpb24oKSkge1xuICAgICAgdGhpcy5jYXNlTGlua0dyb3VwID0gdGhpcy5yZWdpc3RlckNvbnRyb2wobmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIENhc2VSZWZlcmVuY2U6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmNhc2VGaWVsZC52YWx1ZS5DYXNlUmVmZXJlbmNlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIH0pLCB0cnVlKSBhcyBGb3JtR3JvdXA7XG4gICAgfVxuICAgIC8vIEVuc3VyZSB0aGF0IGFsbCBzdWItZmllbGRzIGluaGVyaXQgdGhlIHNhbWUgdmFsdWUgZm9yIHJldGFpbl9oaWRkZW5fdmFsdWUgYXMgdGhpcyBwYXJlbnQ7IGFsdGhvdWdoIGEgQ2FzZUxpbmtcbiAgICAvLyBmaWVsZCB1c2VzIHRoZSBDb21wbGV4IHR5cGUsIGl0IGlzIG1lYW50IHRvIGJlIHRyZWF0ZWQgYXMgb25lIGZpZWxkXG4gICAgaWYgKHRoaXMuY2FzZUZpZWxkICYmIHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0NvbXBsZXgnKSB7XG4gICAgICBmb3IgKGNvbnN0IGNhc2VMaW5rU3ViRmllbGQgb2YgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcykge1xuICAgICAgICBjYXNlTGlua1N1YkZpZWxkLnJldGFpbl9oaWRkZW5fdmFsdWUgPSB0aGlzLmNhc2VGaWVsZC5yZXRhaW5faGlkZGVuX3ZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNvbnRhaW5zQ2FzZUxpbmtDb2xsZWN0aW9uID0gdGhpcy5oYXNDYXNlTGlua0NvbGxlY3Rpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXRMaW5rZWRDYXNlcygpOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtR3JvdXAgPSB0aGlzLmZvcm1Hcm91cDtcbiAgICBpZiAoIXRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXIpIHtcbiAgICAgIGNvbnN0IHVubGlua2VkQ2FzZVJlZmVyZW5lSWRzID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS51bmxpbmspLm1hcChpdGVtID0+IGl0ZW0uY2FzZVJlZmVyZW5jZSk7XG4gICAgICB0aGlzLmZvcm1Hcm91cC52YWx1ZS5jYXNlTGlua3MgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoaXRlbSA9PiB1bmxpbmtlZENhc2VSZWZlcmVuZUlkcy5pbmRleE9mKGl0ZW0uaWQpID09PSAtMSk7XG4gICAgfSBlbHNlIGlmIChmb3JtR3JvdXAudmFsdWUgJiYgZm9ybUdyb3VwLnZhbHVlLmNhc2VMaW5rcyAmJiB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcykge1xuICAgICAgdGhpcy5mb3JtR3JvdXAudmFsdWUuY2FzZUxpbmtzID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHZhbGlkQ2FzZVJlZmVyZW5jZSh2YWx1ZVN0cmluZzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKCF2YWx1ZVN0cmluZykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFJlZ0V4cCgnXlxcXFxiXFxcXGR7NH1bIC1dP1xcXFxkezR9WyAtXT9cXFxcZHs0fVsgLV0/XFxcXGR7NH1cXFxcYiQnKS50ZXN0KHZhbHVlU3RyaW5nLnRyaW0oKSk7XG4gIH1cblxuICBwdWJsaWMgaGFzQ2FzZUxpbmtDb2xsZWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlICYmXG4gICAgICB0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlLnR5cGUgPT09ICdDb2xsZWN0aW9uJyAmJlxuICAgICAgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUuaWQgPT09ICdDYXNlTGluaydcbiAgICApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyPlxuICA8ZGl2ICpuZ0lmPVwiIWNvbnRhaW5zQ2FzZUxpbmtDb2xsZWN0aW9uXCIgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgPGxhYmVsIFtmb3JdPVwiaWQoKVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWxhYmVsXCIgKm5nSWY9XCJjYXNlRmllbGQubGFiZWxcIj57e2Nhc2VGaWVsZCB8IGNjZEZpZWxkTGFiZWx9fTwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1oaW50XCIgKm5nSWY9XCJjYXNlRmllbGQuaGludF90ZXh0XCI+e3tjYXNlRmllbGQuaGludF90ZXh0fX08L3NwYW4+XG4gICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sIGJvdHRvbS0zMFwiIFtpZF09XCJpZCgpXCIgdHlwZT1cInRleHRcIiBbZm9ybUNvbnRyb2xdPVwiY2FzZVJlZmVyZW5jZUNvbnRyb2xcIj5cbiAgPC9kaXY+XG5cdDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgKm5nSWY9XCJjb250YWluc0Nhc2VMaW5rQ29sbGVjdGlvblwiPlxuXHRcdDxjY2Qtd3JpdGUtbGlua2VkLWNhc2VzIFtjYXNlRmllbGRzXT1cImNhc2VGaWVsZHNcIiBbY2FzZUZpZWxkXT1cImNhc2VGaWVsZFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgW2Nhc2VFZGl0UGFnZUNvbXBvbmVudF09XCJjYXNlRWRpdFBhZ2VDb21wb25lbnRcIiBcbiAgICAgICAgICAgIChvbkxpbmtlZENhc2VzU2VsZWN0ZWQpPVwic3VibWl0TGlua2VkQ2FzZXMoKTtcIiBbaXNMaW5rZWRDYXNlc0pvdXJuZXldPVwibGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJcIj48L2NjZC13cml0ZS1saW5rZWQtY2FzZXM+XG5cdDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtY2FzZS1saW5rLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtbGluay93cml0ZS1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1saW5rL3dyaXRlLWNhc2UtbGluay1maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQW1CLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7SUNGMUMsK0JBQWlEO0lBQUEsWUFBNkI7O0lBQUEsaUJBQU87OztJQUFwQyxlQUE2QjtJQUE3Qiw0REFBNkI7OztJQUVoRiwrQkFBb0Q7SUFBQSxZQUF1QjtJQUFBLGlCQUFPOzs7SUFBOUIsZUFBdUI7SUFBdkIsZ0RBQXVCOzs7SUFKN0UsOEJBQTREO0lBQzFELGdDQUFvQjtJQUNsQixvRkFBcUY7SUFDdkYsaUJBQVE7SUFDUixvRkFBa0Y7SUFDbEYsMkJBQW1HO0lBQ3JHLGlCQUFNOzs7SUFMRyxlQUFZO0lBQVosaUNBQVk7SUFDUyxlQUFxQjtJQUFyQiw2Q0FBcUI7SUFFeEIsZUFBeUI7SUFBekIsaURBQXlCO0lBQ1osZUFBVztJQUFYLGdDQUFXLDRDQUFBOzs7O0lBRXBELDhCQUEyRDtJQUMxRCxpREFDK0g7SUFBckgsc1BBQThDO0lBQXVFLGlCQUF5QjtJQUN6SixpQkFBTTs7O0lBRm1CLGVBQXlCO0lBQXpCLDhDQUF5QiwrQkFBQSwrQkFBQSw2RUFBQTs7QURHbkQsTUFBTSxPQUFPLDJCQUE0QixTQUFRLDJCQUEyQjtJQWlCMUUsWUFBNEIsa0JBQXNDO1FBQ2hFLEtBQUssRUFBRSxDQUFDO1FBRGtCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFkM0QsZUFBVSxHQUFnQixFQUFFLENBQUM7SUFnQnBDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBYyxDQUFDO1FBQzVFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUU3QyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLEVBQUU7WUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksU0FBUyxDQUFDO2dCQUN0RCxhQUFhLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7YUFDeEYsQ0FBQyxFQUFFLElBQUksQ0FBYyxDQUFDO1NBQ3hCO1FBQ0QsZ0hBQWdIO1FBQ2hILHNFQUFzRTtRQUN0RSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUNsRSxLQUFLLE1BQU0sZ0JBQWdCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFO2dCQUN2RSxnQkFBZ0IsQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDO2FBQzNFO1NBQ0Y7UUFDRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMseUJBQXlCLEVBQUU7WUFDdEQsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDaEksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjO2lCQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDcEc7YUFBTSxJQUFJLFNBQVMsQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRTtZQUM5RixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQztTQUN6RTtJQUNILENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxXQUFtQjtRQUMzQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxPQUFPLElBQUksTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFTSxxQkFBcUI7UUFDMUIsT0FBTyxDQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVTtZQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssWUFBWTtZQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUNsRSxDQUFDO0lBQ0osQ0FBQzs7c0dBaEVVLDJCQUEyQjtnRUFBM0IsMkJBQTJCOzs7Ozs7UUNaeEMsNkJBQWM7UUFDWiw0RUFNTTtRQUNQLDRFQUdNO1FBQ1AsMEJBQWU7O1FBWFAsZUFBaUM7UUFBakMsc0RBQWlDO1FBT2YsZUFBZ0M7UUFBaEMscURBQWdDOzt1RkRJN0MsMkJBQTJCO2NBTHZDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxXQUFXLEVBQUUsNEJBQTRCO2FBQzFDO3FFQUtRLFVBQVU7a0JBRGhCLEtBQUs7WUFJQyxTQUFTO2tCQURmLEtBQUs7WUFVQywwQkFBMEI7a0JBRGhDLFNBQVM7bUJBQUMsNEJBQTRCLEVBQUUsMkJBQTJCLENBQUMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1BcnJheSwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1maWVsZC13cml0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgV3JpdGVDb21wbGV4RmllbGRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wbGV4L3dyaXRlLWNvbXBsZXgtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IExpbmtlZENhc2VzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtd3JpdGUtY2FzZS1saW5rLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICd3cml0ZS1jYXNlLWxpbmstZmllbGQuaHRtbCdcbn0pXG5cbmV4cG9ydCBjbGFzcyBXcml0ZUNhc2VMaW5rRmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlRmllbGRzOiBDYXNlRmllbGRbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICBwdWJsaWMgZm9ybUFycmF5OiBGb3JtQXJyYXk7XG5cbiAgcHVibGljIGNhc2VSZWZlcmVuY2VDb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG4gIHB1YmxpYyBjYXNlTGlua0dyb3VwOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBjb250YWluc0Nhc2VMaW5rQ29sbGVjdGlvbjogYm9vbGVhbjtcblxuICBAVmlld0NoaWxkKCd3cml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudCcsIC8qIFRPRE86IGFkZCBzdGF0aWMgZmxhZyAqLyB7fSlcbiAgcHVibGljIHdyaXRlQ29tcGxleEZpZWxkQ29tcG9uZW50OiBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgbGlua2VkQ2FzZXNTZXJ2aWNlOiBMaW5rZWRDYXNlc1NlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybUFycmF5ID0gdGhpcy5yZWdpc3RlckNvbnRyb2wobmV3IEZvcm1BcnJheShbXSksIHRydWUpIGFzIEZvcm1BcnJheTtcbiAgICB0aGlzLmZvcm1BcnJheVsnY2FzZUZpZWxkJ10gPSB0aGlzLmNhc2VGaWVsZDtcblxuICAgIGlmICghdGhpcy5oYXNDYXNlTGlua0NvbGxlY3Rpb24oKSkge1xuICAgICAgdGhpcy5jYXNlTGlua0dyb3VwID0gdGhpcy5yZWdpc3RlckNvbnRyb2wobmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIENhc2VSZWZlcmVuY2U6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmNhc2VGaWVsZC52YWx1ZS5DYXNlUmVmZXJlbmNlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIH0pLCB0cnVlKSBhcyBGb3JtR3JvdXA7XG4gICAgfVxuICAgIC8vIEVuc3VyZSB0aGF0IGFsbCBzdWItZmllbGRzIGluaGVyaXQgdGhlIHNhbWUgdmFsdWUgZm9yIHJldGFpbl9oaWRkZW5fdmFsdWUgYXMgdGhpcyBwYXJlbnQ7IGFsdGhvdWdoIGEgQ2FzZUxpbmtcbiAgICAvLyBmaWVsZCB1c2VzIHRoZSBDb21wbGV4IHR5cGUsIGl0IGlzIG1lYW50IHRvIGJlIHRyZWF0ZWQgYXMgb25lIGZpZWxkXG4gICAgaWYgKHRoaXMuY2FzZUZpZWxkICYmIHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0NvbXBsZXgnKSB7XG4gICAgICBmb3IgKGNvbnN0IGNhc2VMaW5rU3ViRmllbGQgb2YgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcykge1xuICAgICAgICBjYXNlTGlua1N1YkZpZWxkLnJldGFpbl9oaWRkZW5fdmFsdWUgPSB0aGlzLmNhc2VGaWVsZC5yZXRhaW5faGlkZGVuX3ZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNvbnRhaW5zQ2FzZUxpbmtDb2xsZWN0aW9uID0gdGhpcy5oYXNDYXNlTGlua0NvbGxlY3Rpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXRMaW5rZWRDYXNlcygpOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtR3JvdXAgPSB0aGlzLmZvcm1Hcm91cDtcbiAgICBpZiAoIXRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXIpIHtcbiAgICAgIGNvbnN0IHVubGlua2VkQ2FzZVJlZmVyZW5lSWRzID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS51bmxpbmspLm1hcChpdGVtID0+IGl0ZW0uY2FzZVJlZmVyZW5jZSk7XG4gICAgICB0aGlzLmZvcm1Hcm91cC52YWx1ZS5jYXNlTGlua3MgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoaXRlbSA9PiB1bmxpbmtlZENhc2VSZWZlcmVuZUlkcy5pbmRleE9mKGl0ZW0uaWQpID09PSAtMSk7XG4gICAgfSBlbHNlIGlmIChmb3JtR3JvdXAudmFsdWUgJiYgZm9ybUdyb3VwLnZhbHVlLmNhc2VMaW5rcyAmJiB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcykge1xuICAgICAgdGhpcy5mb3JtR3JvdXAudmFsdWUuY2FzZUxpbmtzID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHZhbGlkQ2FzZVJlZmVyZW5jZSh2YWx1ZVN0cmluZzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKCF2YWx1ZVN0cmluZykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFJlZ0V4cCgnXlxcXFxiXFxcXGR7NH1bIC1dP1xcXFxkezR9WyAtXT9cXFxcZHs0fVsgLV0/XFxcXGR7NH1cXFxcYiQnKS50ZXN0KHZhbHVlU3RyaW5nLnRyaW0oKSk7XG4gIH1cblxuICBwdWJsaWMgaGFzQ2FzZUxpbmtDb2xsZWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlICYmXG4gICAgICB0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlLnR5cGUgPT09ICdDb2xsZWN0aW9uJyAmJlxuICAgICAgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUuaWQgPT09ICdDYXNlTGluaydcbiAgICApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyPlxuICA8ZGl2ICpuZ0lmPVwiIWNvbnRhaW5zQ2FzZUxpbmtDb2xsZWN0aW9uXCIgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgPGxhYmVsIFtmb3JdPVwiaWQoKVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWxhYmVsXCIgKm5nSWY9XCJjYXNlRmllbGQubGFiZWxcIj57e2Nhc2VGaWVsZCB8IGNjZEZpZWxkTGFiZWx9fTwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1oaW50XCIgKm5nSWY9XCJjYXNlRmllbGQuaGludF90ZXh0XCI+e3tjYXNlRmllbGQuaGludF90ZXh0fX08L3NwYW4+XG4gICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sIGJvdHRvbS0zMFwiIFtpZF09XCJpZCgpXCIgdHlwZT1cInRleHRcIiBbZm9ybUNvbnRyb2xdPVwiY2FzZVJlZmVyZW5jZUNvbnRyb2xcIj5cbiAgPC9kaXY+XG5cdDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgKm5nSWY9XCJjb250YWluc0Nhc2VMaW5rQ29sbGVjdGlvblwiPlxuXHRcdDxjY2Qtd3JpdGUtbGlua2VkLWNhc2VzIFtjYXNlRmllbGRzXT1cImNhc2VGaWVsZHNcIiBbY2FzZUZpZWxkXT1cImNhc2VGaWVsZFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgICAgICAgICAgIChvbkxpbmtlZENhc2VzU2VsZWN0ZWQpPVwic3VibWl0TGlua2VkQ2FzZXMoKTtcIiBbaXNMaW5rZWRDYXNlc0pvdXJuZXldPVwibGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJcIj48L2NjZC13cml0ZS1saW5rZWQtY2FzZXM+XG5cdDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=