vcomply-workflow-engine 6.0.90 → 6.0.92

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 (107) hide show
  1. package/esm2022/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.mjs +7 -30
  2. package/esm2022/lib/constants/api.constants.mjs +6 -1
  3. package/esm2022/lib/constants/mock.mjs +152 -0
  4. package/esm2022/lib/interfaces/frequency.interface.mjs +2 -0
  5. package/esm2022/lib/interfaces/iframe-type.mjs +7 -0
  6. package/esm2022/lib/interfaces/responsibilty.interface.mjs +1 -1
  7. package/esm2022/lib/more-option/more-option.component.mjs +17 -183
  8. package/esm2022/lib/report-a-case/services/report-a-case.service.mjs +3 -2
  9. package/esm2022/lib/report-a-case/workflow-case/workflow-case.component.mjs +4 -7
  10. package/esm2022/lib/services/common.service.mjs +40 -1
  11. package/esm2022/lib/services/iframe.service.mjs +14 -1
  12. package/esm2022/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.mjs +3 -6
  13. package/esm2022/lib/sharedComponents/format-and-evidence/format-and-evidence.component.mjs +10 -21
  14. package/esm2022/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.mjs +5 -1
  15. package/esm2022/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.mjs +5 -1
  16. package/esm2022/lib/sharedComponents/frequency/frequency-container/frequency-container.component.mjs +5 -5
  17. package/esm2022/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.mjs +2 -1
  18. package/esm2022/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.mjs +6 -2
  19. package/esm2022/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.mjs +3 -2
  20. package/esm2022/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.mjs +3 -1
  21. package/esm2022/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.mjs +5 -1
  22. package/esm2022/lib/sharedComponents/frequency/frequency-random/frequency-random.component.mjs +9 -2
  23. package/esm2022/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs +4 -2
  24. package/esm2022/lib/sharedComponents/frequency/frequency.service.mjs +267 -5
  25. package/esm2022/lib/sharedComponents/link-responsibility/link-responsibility.component.mjs +48 -16
  26. package/esm2022/lib/sharedComponents/link-responsibility/link-responsibility.module.mjs +8 -4
  27. package/esm2022/lib/sharedComponents/list-container/list-container.component.mjs +52 -0
  28. package/esm2022/lib/sharedComponents/program-list/constant.mjs +22 -0
  29. package/esm2022/lib/sharedComponents/program-list/interfaces/data-source.interface.mjs +2 -0
  30. package/esm2022/lib/sharedComponents/program-list/interfaces/list-item.interface.mjs +2 -0
  31. package/esm2022/lib/sharedComponents/program-list/pipes/check-selected-items.pipes.mjs +23 -0
  32. package/esm2022/lib/sharedComponents/program-list/program-list/program-list.component.mjs +175 -0
  33. package/esm2022/lib/sharedComponents/program-list/program-list.module.mjs +47 -0
  34. package/esm2022/lib/sharedComponents/program-list/services/list-utils.service.mjs +27 -0
  35. package/esm2022/lib/sharedComponents/program-list/services/program-list-api.service.mjs +32 -0
  36. package/esm2022/lib/ui-kit/loaders/loaders.module.mjs +24 -0
  37. package/esm2022/lib/ui-kit/loaders/table-loader/table-loader.component.mjs +19 -0
  38. package/esm2022/lib/workflow/grc-object/grc-object-container/grc-object-container.component.mjs +45 -17
  39. package/esm2022/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.mjs +13 -10
  40. package/esm2022/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.mjs +62 -35
  41. package/esm2022/lib/workflow/shared/services/grc.service.mjs +15 -2
  42. package/esm2022/lib/workflow/shared/workflow-pipes/get-user-details.pipe.mjs +26 -0
  43. package/esm2022/lib/workflow/shared/workflow-pipes/workflow-pipes.module.mjs +8 -3
  44. package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +294 -453
  45. package/esm2022/lib/workflow-engine-container/api-constants.mjs +3 -2
  46. package/esm2022/lib/workflow-engine-container/workflow-engine-container.component.mjs +32 -53
  47. package/esm2022/lib/workflow-engine.module.mjs +11 -7
  48. package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +46 -29
  49. package/esm2022/lib/workflow-program/constants.mjs +3 -3
  50. package/esm2022/lib/workflow-program/workflow-program.component.mjs +125 -338
  51. package/esm2022/lib/workflow-services/policy.service.mjs +8 -9
  52. package/esm2022/lib/workflow-services/programs.service.mjs +26 -113
  53. package/esm2022/lib/workflow-services/responsibility.service.mjs +60 -55
  54. package/fesm2022/vcomply-workflow-engine.mjs +5118 -4952
  55. package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
  56. package/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.d.ts +0 -3
  57. package/lib/constants/api.constants.d.ts +5 -0
  58. package/lib/constants/mock.d.ts +15 -0
  59. package/lib/interfaces/frequency.interface.d.ts +37 -0
  60. package/lib/interfaces/iframe-type.d.ts +5 -0
  61. package/lib/interfaces/responsibilty.interface.d.ts +13 -13
  62. package/lib/services/common.service.d.ts +28 -0
  63. package/lib/services/iframe.service.d.ts +6 -0
  64. package/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.d.ts +0 -6
  65. package/lib/sharedComponents/format-and-evidence/format-and-evidence.component.d.ts +1 -4
  66. package/lib/sharedComponents/frequency/frequency-random/frequency-random.component.d.ts +1 -0
  67. package/lib/sharedComponents/frequency/frequency.service.d.ts +92 -2
  68. package/lib/sharedComponents/link-responsibility/link-responsibility.component.d.ts +2 -1
  69. package/lib/sharedComponents/link-responsibility/link-responsibility.module.d.ts +2 -1
  70. package/lib/sharedComponents/list-container/list-container.component.d.ts +9 -0
  71. package/lib/sharedComponents/program-list/constant.d.ts +15 -0
  72. package/lib/sharedComponents/program-list/interfaces/data-source.interface.d.ts +4 -0
  73. package/lib/sharedComponents/program-list/interfaces/list-item.interface.d.ts +5 -0
  74. package/lib/sharedComponents/program-list/pipes/check-selected-items.pipes.d.ts +7 -0
  75. package/lib/sharedComponents/program-list/program-list/program-list.component.d.ts +45 -0
  76. package/lib/sharedComponents/program-list/program-list.module.d.ts +14 -0
  77. package/lib/sharedComponents/program-list/services/list-utils.service.d.ts +7 -0
  78. package/lib/sharedComponents/program-list/services/program-list-api.service.d.ts +14 -0
  79. package/lib/ui-kit/loaders/loaders.module.d.ts +8 -0
  80. package/lib/ui-kit/loaders/table-loader/table-loader.component.d.ts +9 -0
  81. package/lib/workflow/grc-object/grc-object-container/grc-object-container.component.d.ts +5 -1
  82. package/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.d.ts +3 -1
  83. package/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.d.ts +6 -2
  84. package/lib/workflow/shared/services/grc.service.d.ts +1 -0
  85. package/lib/workflow/shared/workflow-pipes/get-user-details.pipe.d.ts +7 -0
  86. package/lib/workflow/shared/workflow-pipes/workflow-pipes.module.d.ts +3 -2
  87. package/lib/workflow-compliance/workflow-compliance.component.d.ts +32 -10
  88. package/lib/workflow-engine-container/api-constants.d.ts +1 -0
  89. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +5 -2
  90. package/lib/workflow-engine.module.d.ts +3 -2
  91. package/lib/workflow-policy/workflow-policy.component.d.ts +9 -0
  92. package/lib/workflow-program/workflow-program.component.d.ts +8 -4
  93. package/lib/workflow-risk/workflow-risk.component.d.ts +1 -1
  94. package/lib/workflow-services/policy.service.d.ts +1 -1
  95. package/lib/workflow-services/programs.service.d.ts +13 -53
  96. package/lib/workflow-services/responsibility.service.d.ts +17 -4
  97. package/package.json +1 -1
  98. package/esm2022/lib/constants/policy.constant.mjs +0 -6
  99. package/esm2022/lib/constants/regix.constants.mjs +0 -4
  100. package/esm2022/lib/constants/responsibility.mjs +0 -8
  101. package/esm2022/lib/interfaces/policy.interface.mjs +0 -2
  102. package/esm2022/lib/sharedComponents/pipes/risk-class.pipe.mjs +0 -19
  103. package/lib/constants/policy.constant.d.ts +0 -2
  104. package/lib/constants/regix.constants.d.ts +0 -3
  105. package/lib/constants/responsibility.d.ts +0 -7
  106. package/lib/interfaces/policy.interface.d.ts +0 -5
  107. package/lib/sharedComponents/pipes/risk-class.pipe.d.ts +0 -7
@@ -77,7 +77,8 @@ export class ReportACaseService {
77
77
  }
78
78
  reportACase(payload) {
79
79
  const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
80
- return this.http.post(this.env.case, payload, {
80
+ const caseEndpoint = this.env.case + '?serviceType=1';
81
+ return this.http.post(caseEndpoint, payload, {
81
82
  headers,
82
83
  });
83
84
  }
@@ -130,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
130
131
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.AuthService }, { type: i3.Configurations, decorators: [{
131
132
  type: Optional
132
133
  }] }]; } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWEtY2FzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvcmVwb3J0LWEtY2FzZS9zZXJ2aWNlcy9yZXBvcnQtYS1jYXNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7QUFNdEQsTUFBTSxPQUFPLGtCQUFrQjtJQWdCN0IsWUFDVSxJQUFnQixFQUNoQixXQUF3QixFQUNwQixNQUF1QjtRQUYzQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBakIxQixpQkFBWSxHQUF5QixJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztRQUNwRSxzQkFBaUIsR0FBeUIsSUFBSSxlQUFlLENBQ25FLElBQUksQ0FDTCxDQUFDO1FBQ00sc0JBQWlCLEdBQXlCLElBQUksZUFBZSxDQUNuRSxJQUFJLENBQ0wsQ0FBQztRQUNNLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUM7UUFDekQsY0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekMsaUJBQVksR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUN0RCxvQkFBZSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQzNE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QUMsQ0FBQztJQUNMLENBQUM7K0dBeEtVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQW9CSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnMgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9ucyc7XG5pbXBvcnQgeyBBUElfVVJMUyB9IGZyb20gJy4uL2NvbnN0YW50cy9hcGkuY29uc3RhbnRzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFJlcG9ydEFDYXNlU2VydmljZSB7XG4gIHByaXZhdGUgZ2V0QWxsVHlwZXMkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcbiAgcHJpdmF0ZSBnZXRBbGxQcmlvcml0aWVzJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oXG4gICAgbnVsbFxuICApO1xuICBwcml2YXRlIGdldEFsbENhdGVnb3JpZXMkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihcbiAgICBudWxsXG4gICk7XG4gIHByaXZhdGUgd29ya2Zsb3dTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xuICB3b3JrZmxvdyQgPSB0aGlzLndvcmtmbG93U3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgcHVibGljIHdvcmtmbG93Q29kZTogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBwdWJsaWMgcmVzZXRNb3JlT3B0aW9uOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHVibGljIGNhc2VUeXBlTG9hZGVyOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBlbnY6IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnNcbiAgKSB7XG4gICAgdGhpcy5lbnYgPSBjb25maWc/LmVudkNvbmZpZztcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hBbGxUeXBlcygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZT8uZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQodGhpcy5lbnYuY2FzZSArIEFQSV9VUkxTLkdFVF9BTExfVFlQRVMsIHtcbiAgICAgICAgaGVhZGVycyxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuZ2V0QWxsVHlwZXMkLm5leHQocmVzKTtcbiAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hBbGxQcmlvcml0aWVzKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICd0b2tlbicsXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlPy5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh0aGlzLmVudi5jYXNlICsgQVBJX1VSTFMuR0VUX0FMTF9QUklPUklUSUVTLCB7XG4gICAgICAgIGhlYWRlcnMsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmdldEFsbFByaW9yaXRpZXMkLm5leHQocmVzKTtcbiAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaEFsbENhdGVnb3JpZXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2U/LmdldEF1dGhvcml6YXRpb25Ub2tlbigpXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KHRoaXMuZW52LmNhc2UgKyBBUElfVVJMUy5HRVRfQUxMX0NBVEVHT1JJRVMsIHtcbiAgICAgICAgaGVhZGVycyxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuZ2V0QWxsQ2F0ZWdvcmllcyQubmV4dChyZXMpO1xuICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldEFsbENhdGVnb3JpZXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAodGhpcy5nZXRBbGxDYXRlZ29yaWVzJD8uZ2V0VmFsdWUoKSkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMuZ2V0QWxsQ2F0ZWdvcmllcyQ/LnZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hBbGxDYXRlZ29yaWVzKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QWxsVHlwZXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAodGhpcy5nZXRBbGxUeXBlcyQ/LmdldFZhbHVlKCkpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLmdldEFsbFR5cGVzJD8udmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5mZXRjaEFsbFR5cGVzKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QWxsUHJpb3JpdGllcygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICh0aGlzLmdldEFsbFByaW9yaXRpZXMkPy5nZXRWYWx1ZSgpKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5nZXRBbGxQcmlvcml0aWVzJD8udmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5mZXRjaEFsbFByaW9yaXRpZXMoKTtcbiAgfVxuXG4gIHJlcG9ydEFDYXNlKHBheWxvYWQ6IGFueSkge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odGhpcy5lbnYuY2FzZSwgcGF5bG9hZCwge1xuICAgICAgaGVhZGVycyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRDYXNlVG9Xb3JrZmxvdyhwYXlsb2FkOiBhbnkpIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHRoaXMuZW52LmNhc2UgKyBBUElfVVJMUy5BRERfQ0FTRV9UT19XT1JLRkxPVywgcGF5bG9hZCwge1xuICAgICAgaGVhZGVycyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVDYXNlKHBheWxvYWQ6IGFueSwgY2FzZUlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PGFueT4odGhpcy5lbnYuY2FzZSArICcvJyArIGNhc2VJZCwgcGF5bG9hZCwge1xuICAgICAgaGVhZGVycyxcbiAgICB9KTtcbiAgfVxuXG4gIGdldFdvcmtmbG93RGV0YWlscyhwYXJhbXM6IGFueSkge1xuICAgIGNvbnN0IHBheWxvYWQgPSBKU09OLnN0cmluZ2lmeShwYXJhbXMpO1xuXG4gICAgLy8gU2V0IHRoZSByZXF1aXJlZCBoZWFkZXJzLCBpbmNsdWRpbmcgdGhlIGN1c3RvbSBcIlBheWxvYWQtT2JqZWN0XCJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKClcbiAgICAgIC5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSlcbiAgICAgIC5zZXQoJ1BheWxvYWQtT2JqZWN0JywgcGF5bG9hZCk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KHRoaXMuZW52LmNhc2UgKyBBUElfVVJMUy5HRVRfU1RBR0VfREVUQUlMUywge1xuICAgICAgICBoZWFkZXJzLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMud29ya2Zsb3dTdWJqZWN0Lm5leHQocmVzKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0Q2FzZU93bmVycyh3b3JrZmxvd19pZDogc3RyaW5nKSB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICd0b2tlbicsXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcbiAgICAgIHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArIEFQSV9VUkxTLkdFVF9DQVNFX09XTkVSUyArIHdvcmtmbG93X2lkLFxuICAgICAge1xuICAgICAgICBoZWFkZXJzLFxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBnZXRDYXNlRGV0YWlscyhjYXNlSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5lbnYuY2FzZSArICcvJyArIGNhc2VJZCwge1xuICAgICAgaGVhZGVycyxcbiAgICB9KTtcbiAgfVxufVxuIl19
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWEtY2FzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvcmVwb3J0LWEtY2FzZS9zZXJ2aWNlcy9yZXBvcnQtYS1jYXNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7QUFNdEQsTUFBTSxPQUFPLGtCQUFrQjtJQWdCN0IsWUFDVSxJQUFnQixFQUNoQixXQUF3QixFQUNwQixNQUF1QjtRQUYzQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBakIxQixpQkFBWSxHQUF5QixJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztRQUNwRSxzQkFBaUIsR0FBeUIsSUFBSSxlQUFlLENBQ25FLElBQUksQ0FDTCxDQUFDO1FBQ00sc0JBQWlCLEdBQXlCLElBQUksZUFBZSxDQUNuRSxJQUFJLENBQ0wsQ0FBQztRQUNNLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUM7UUFDekQsY0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekMsaUJBQVksR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUN0RCxvQkFBZSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQzNE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R0FBRyxHQUFHLEdBQUcsTUFBTSxFQUFFO1lBQ2pELE9BQU87U0FDUixDQUFDLENBQUM7SUFDTCxDQUFDOytHQXpLVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFvQkksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbnMnO1xuaW1wb3J0IHsgQVBJX1VSTFMgfSBmcm9tICcuLi9jb25zdGFudHMvYXBpLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3dvcmtmbG93LXNlcnZpY2VzL2F1dGguc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBSZXBvcnRBQ2FzZVNlcnZpY2Uge1xuICBwcml2YXRlIGdldEFsbFR5cGVzJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XG4gIHByaXZhdGUgZ2V0QWxsUHJpb3JpdGllcyQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KFxuICAgIG51bGxcbiAgKTtcbiAgcHJpdmF0ZSBnZXRBbGxDYXRlZ29yaWVzJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oXG4gICAgbnVsbFxuICApO1xuICBwcml2YXRlIHdvcmtmbG93U3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcbiAgd29ya2Zsb3ckID0gdGhpcy53b3JrZmxvd1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIHB1YmxpYyB3b3JrZmxvd0NvZGU6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHVibGljIHJlc2V0TW9yZU9wdGlvbjogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHB1YmxpYyBjYXNlVHlwZUxvYWRlcjogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgZW52OiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zXG4gICkge1xuICAgIHRoaXMuZW52ID0gY29uZmlnPy5lbnZDb25maWc7XG4gIH1cblxuICBwcml2YXRlIGZldGNoQWxsVHlwZXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2U/LmdldEF1dGhvcml6YXRpb25Ub2tlbigpXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KHRoaXMuZW52LmNhc2UgKyBBUElfVVJMUy5HRVRfQUxMX1RZUEVTLCB7XG4gICAgICAgIGhlYWRlcnMsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmdldEFsbFR5cGVzJC5uZXh0KHJlcyk7XG4gICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZldGNoQWxsUHJpb3JpdGllcygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZT8uZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQodGhpcy5lbnYuY2FzZSArIEFQSV9VUkxTLkdFVF9BTExfUFJJT1JJVElFUywge1xuICAgICAgICBoZWFkZXJzLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5nZXRBbGxQcmlvcml0aWVzJC5uZXh0KHJlcyk7XG4gICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hBbGxDYXRlZ29yaWVzKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICd0b2tlbicsXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlPy5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldCh0aGlzLmVudi5jYXNlICsgQVBJX1VSTFMuR0VUX0FMTF9DQVRFR09SSUVTLCB7XG4gICAgICAgIGhlYWRlcnMsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmdldEFsbENhdGVnb3JpZXMkLm5leHQocmVzKTtcbiAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbGxDYXRlZ29yaWVzKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKHRoaXMuZ2V0QWxsQ2F0ZWdvcmllcyQ/LmdldFZhbHVlKCkpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLmdldEFsbENhdGVnb3JpZXMkPy52YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmZldGNoQWxsQ2F0ZWdvcmllcygpO1xuICB9XG5cbiAgcHVibGljIGdldEFsbFR5cGVzKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKHRoaXMuZ2V0QWxsVHlwZXMkPy5nZXRWYWx1ZSgpKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5nZXRBbGxUeXBlcyQ/LnZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hBbGxUeXBlcygpO1xuICB9XG5cbiAgcHVibGljIGdldEFsbFByaW9yaXRpZXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAodGhpcy5nZXRBbGxQcmlvcml0aWVzJD8uZ2V0VmFsdWUoKSkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMuZ2V0QWxsUHJpb3JpdGllcyQ/LnZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hBbGxQcmlvcml0aWVzKCk7XG4gIH1cblxuICByZXBvcnRBQ2FzZShwYXlsb2FkOiBhbnkpIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIGNvbnN0IGNhc2VFbmRwb2ludCA9IHRoaXMuZW52LmNhc2UgKyAnP3NlcnZpY2VUeXBlPTEnO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGNhc2VFbmRwb2ludCwgcGF5bG9hZCwge1xuICAgICAgaGVhZGVycyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRDYXNlVG9Xb3JrZmxvdyhwYXlsb2FkOiBhbnkpIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHRoaXMuZW52LmNhc2UgKyBBUElfVVJMUy5BRERfQ0FTRV9UT19XT1JLRkxPVywgcGF5bG9hZCwge1xuICAgICAgaGVhZGVycyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVDYXNlKHBheWxvYWQ6IGFueSwgY2FzZUlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgJ3Rva2VuJyxcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PGFueT4odGhpcy5lbnYuY2FzZSArICcvJyArIGNhc2VJZCwgcGF5bG9hZCwge1xuICAgICAgaGVhZGVycyxcbiAgICB9KTtcbiAgfVxuXG4gIGdldFdvcmtmbG93RGV0YWlscyhwYXJhbXM6IGFueSkge1xuICAgIGNvbnN0IHBheWxvYWQgPSBKU09OLnN0cmluZ2lmeShwYXJhbXMpO1xuXG4gICAgLy8gU2V0IHRoZSByZXF1aXJlZCBoZWFkZXJzLCBpbmNsdWRpbmcgdGhlIGN1c3RvbSBcIlBheWxvYWQtT2JqZWN0XCJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKClcbiAgICAgIC5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSlcbiAgICAgIC5zZXQoJ1BheWxvYWQtT2JqZWN0JywgcGF5bG9hZCk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KHRoaXMuZW52LmNhc2UgKyBBUElfVVJMUy5HRVRfU1RBR0VfREVUQUlMUywge1xuICAgICAgICBoZWFkZXJzLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMud29ya2Zsb3dTdWJqZWN0Lm5leHQocmVzKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0Q2FzZU93bmVycyh3b3JrZmxvd19pZDogc3RyaW5nKSB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICd0b2tlbicsXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcbiAgICAgIHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArIEFQSV9VUkxTLkdFVF9DQVNFX09XTkVSUyArIHdvcmtmbG93X2lkLFxuICAgICAge1xuICAgICAgICBoZWFkZXJzLFxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBnZXRDYXNlRGV0YWlscyhjYXNlSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAndG9rZW4nLFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5lbnYuY2FzZSArICcvJyArIGNhc2VJZCwge1xuICAgICAgaGVhZGVycyxcbiAgICB9KTtcbiAgfVxufVxuIl19