@netgrif/components-core 6.3.0-rc.8 → 6.3.0

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 (83) hide show
  1. package/esm2020/lib/allowed-nets/services/factory/allowed-nets-service-factory.mjs +13 -1
  2. package/esm2020/lib/dashboard/cards/model/custom-dashboard-model/custom-card.mjs +1 -1
  3. package/esm2020/lib/dashboard/cards/model/custom-dashboard-model/custom-iframe-card.mjs +2 -0
  4. package/esm2020/lib/dashboard/cards/model/dashboard-card-types.mjs +2 -1
  5. package/esm2020/lib/dashboard/cards/model/dashboard-card.mjs +1 -1
  6. package/esm2020/lib/data-fields/filter-field/abstract-filter-field-tab-view-content.component.mjs +60 -0
  7. package/esm2020/lib/data-fields/filter-field/abstract-filter-field-tab-view.component.mjs +53 -0
  8. package/esm2020/lib/data-fields/filter-field/abstract-filter-field.component.mjs +4 -1
  9. package/esm2020/lib/data-fields/public-api.mjs +17 -1
  10. package/esm2020/lib/data-fields/task-ref-field/abstract-task-ref-field.component.mjs +133 -0
  11. package/esm2020/lib/data-fields/task-ref-field/model/task-ref-components.mjs +8 -0
  12. package/esm2020/lib/data-fields/task-ref-field/model/task-ref-dashboard-constants.mjs +10 -0
  13. package/esm2020/lib/data-fields/task-ref-field/model/task-ref-dashboard-tile-constants.mjs +13 -0
  14. package/esm2020/lib/data-fields/task-ref-field/model/task-ref-dashboard-tile.mjs +2 -0
  15. package/esm2020/lib/data-fields/task-ref-field/model/task-ref-field.mjs +19 -1
  16. package/esm2020/lib/data-fields/task-ref-field/task-ref-dashboard-field/task-ref-dashboard-tile/abstract-task-ref-dashboard-tile.component.mjs +140 -0
  17. package/esm2020/lib/data-fields/text-field/abstract-dashboard-text-field.component.mjs +42 -0
  18. package/esm2020/lib/data-fields/text-field/dashboard-bar-chart-text-field/abstract-dashboard-bar-chart-text-field.component.mjs +33 -0
  19. package/esm2020/lib/data-fields/text-field/dashboard-iframe-text-field/abstract-dashboard-iframe-text-field.component.mjs +27 -0
  20. package/esm2020/lib/data-fields/text-field/dashboard-line-chart-text-field/abstract-dashboard-line-chart-text-field.component.mjs +33 -0
  21. package/esm2020/lib/data-fields/text-field/dashboard-pie-chart-text-field/abstract-dashboard-pie-chart-text-field.component.mjs +31 -0
  22. package/esm2020/lib/data-fields/text-field/dashboard-portal-text-field/abstract-dashboard-portal-text-field.component.mjs +27 -0
  23. package/esm2020/lib/data-fields/text-field/dashboard-portal-text-field/dashboard-portal-component-registry.service.mjs +35 -0
  24. package/esm2020/lib/data-fields/text-field/dashboard-portal-text-field/dashboard-view-constants.mjs +10 -0
  25. package/esm2020/lib/data-fields/text-field/models/text-field.mjs +24 -2
  26. package/esm2020/lib/data-fields/user-list-field/abstract-user-list-field.component.mjs +2 -2
  27. package/esm2020/lib/data-fields/user-list-field/models/user-list-field.mjs +6 -2
  28. package/esm2020/lib/filter/models/user-filter-constants.mjs +5 -1
  29. package/esm2020/lib/filter/user-filters.service.mjs +3 -1
  30. package/esm2020/lib/navigation/group-navigation-component-resolver/group-navigation-component-resolver.service.mjs +13 -2
  31. package/esm2020/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs +2 -1
  32. package/esm2020/lib/panel/task-panel/abstract-task-panel.component.mjs +29 -9
  33. package/esm2020/lib/resources/interface/data-groups.mjs +1 -1
  34. package/esm2020/lib/search/models/operator/substring.mjs +2 -2
  35. package/esm2020/lib/search/search-service/search.service.mjs +2 -2
  36. package/esm2020/lib/task-content/model/preprocessed-data-groups.mjs +2 -0
  37. package/esm2020/lib/task-content/services/field-converter.service.mjs +2 -2
  38. package/esm2020/lib/task-content/task-content/abstract-task-content.component.mjs +146 -4
  39. package/esm2020/lib/utility/public-api.mjs +2 -1
  40. package/esm2020/lib/utility/tests/mocks/mock-user.service.mjs +44 -0
  41. package/esm2020/lib/view/public-api.mjs +2 -1
  42. package/esm2020/lib/view/task-view/models/injection-token-task-force-open.mjs +3 -0
  43. package/fesm2015/netgrif-components-core.mjs +4142 -3272
  44. package/fesm2015/netgrif-components-core.mjs.map +1 -1
  45. package/fesm2020/netgrif-components-core.mjs +4158 -3299
  46. package/fesm2020/netgrif-components-core.mjs.map +1 -1
  47. package/lib/dashboard/cards/model/custom-dashboard-model/custom-card.d.ts +8 -7
  48. package/lib/dashboard/cards/model/custom-dashboard-model/custom-iframe-card.d.ts +4 -0
  49. package/lib/dashboard/cards/model/dashboard-card-types.d.ts +1 -0
  50. package/lib/dashboard/cards/model/dashboard-card.d.ts +1 -1
  51. package/lib/data-fields/filter-field/abstract-filter-field-tab-view-content.component.d.ts +17 -0
  52. package/lib/data-fields/filter-field/abstract-filter-field-tab-view.component.d.ts +17 -0
  53. package/lib/data-fields/filter-field/abstract-filter-field.component.d.ts +1 -0
  54. package/lib/data-fields/public-api.d.ts +16 -0
  55. package/lib/data-fields/task-ref-field/abstract-task-ref-field.component.d.ts +20 -0
  56. package/lib/data-fields/task-ref-field/model/task-ref-components.d.ts +6 -0
  57. package/lib/data-fields/task-ref-field/model/task-ref-dashboard-constants.d.ts +8 -0
  58. package/lib/data-fields/task-ref-field/model/task-ref-dashboard-tile-constants.d.ts +11 -0
  59. package/lib/data-fields/task-ref-field/model/task-ref-dashboard-tile.d.ts +9 -0
  60. package/lib/data-fields/task-ref-field/model/task-ref-field.d.ts +10 -0
  61. package/lib/data-fields/task-ref-field/task-ref-dashboard-field/task-ref-dashboard-tile/abstract-task-ref-dashboard-tile.component.d.ts +36 -0
  62. package/lib/data-fields/text-field/abstract-dashboard-text-field.component.d.ts +23 -0
  63. package/lib/data-fields/text-field/dashboard-bar-chart-text-field/abstract-dashboard-bar-chart-text-field.component.d.ts +10 -0
  64. package/lib/data-fields/text-field/dashboard-iframe-text-field/abstract-dashboard-iframe-text-field.component.d.ts +11 -0
  65. package/lib/data-fields/text-field/dashboard-line-chart-text-field/abstract-dashboard-line-chart-text-field.component.d.ts +10 -0
  66. package/lib/data-fields/text-field/dashboard-pie-chart-text-field/abstract-dashboard-pie-chart-text-field.component.d.ts +10 -0
  67. package/lib/data-fields/text-field/dashboard-portal-text-field/abstract-dashboard-portal-text-field.component.d.ts +10 -0
  68. package/lib/data-fields/text-field/dashboard-portal-text-field/dashboard-portal-component-registry.service.d.ts +14 -0
  69. package/lib/data-fields/text-field/dashboard-portal-text-field/dashboard-view-constants.d.ts +8 -0
  70. package/lib/data-fields/text-field/models/text-field.d.ts +20 -0
  71. package/lib/data-fields/user-list-field/models/user-list-field.d.ts +4 -1
  72. package/lib/filter/models/user-filter-constants.d.ts +5 -1
  73. package/lib/navigation/group-navigation-component-resolver/group-navigation-component-resolver.service.d.ts +1 -0
  74. package/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.d.ts +1 -0
  75. package/lib/panel/task-panel/abstract-task-panel.component.d.ts +9 -3
  76. package/lib/resources/interface/data-groups.d.ts +10 -5
  77. package/lib/task-content/model/preprocessed-data-groups.d.ts +5 -0
  78. package/lib/task-content/task-content/abstract-task-content.component.d.ts +42 -1
  79. package/lib/utility/public-api.d.ts +1 -0
  80. package/lib/utility/tests/mocks/mock-user.service.d.ts +18 -0
  81. package/lib/view/public-api.d.ts +1 -0
  82. package/lib/view/task-view/models/injection-token-task-force-open.d.ts +2 -0
  83. package/package.json +1 -1
@@ -34,7 +34,7 @@ export class AbstractUserListFieldComponent extends AbstractDataFieldComponent {
34
34
  */
35
35
  selectAbstractUser(component) {
36
36
  let valueReturned = false;
37
- this._sideMenuService.open(component, SideMenuSize.MEDIUM, { value: this.dataField.value }).onClose.subscribe($event => {
37
+ this._sideMenuService.open(component, SideMenuSize.MEDIUM, { roles: this.dataField.roles, value: this.dataField.value }).onClose.subscribe($event => {
38
38
  if ($event.data) {
39
39
  this.dataField.value = new UserListValue(new Map($event.data.map(v => [v.id, v])));
40
40
  this._snackbar.openGenericSnackBar(this._translate.instant('dataField.snackBar.userListAssigned', { userNames: this.dataField.value.toString() }), 'how_to_reg');
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
67
67
  }] }]; }, propDecorators: { dataField: [{
68
68
  type: Input
69
69
  }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdXNlci1saXN0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvZGF0YS1maWVsZHMvdXNlci1saXN0LWZpZWxkL2Fic3RyYWN0LXVzZXItbGlzdC1maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUluRixPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFJbkUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7OztBQU12RCxNQUFNLE9BQWdCLDhCQUFnQyxTQUFRLDBCQUEwQjtJQU1wRjs7Ozs7OztPQU9HO0lBQ0gsWUFBZ0MsZ0JBQWlDLEVBQ2pDLFNBQTBCLEVBQzFCLFVBQTRCLEVBQ2Esc0JBQXNDO1FBQzNHLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBSkYscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyxjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUMxQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtJQUc1RCxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksa0JBQWtCLENBQUMsU0FBUztRQUMvQixJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLE1BQU0sRUFDckQsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQXlCLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2xGLElBQUksTUFBTSxDQUFDLElBQUksRUFBRTtnQkFDYixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLEdBQUcsQ0FBcUIsTUFBTSxDQUFDLElBQXlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM1SCxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxxQ0FBcUMsRUFDN0QsRUFBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUMsQ0FBQyxFQUM3QyxZQUFZLENBQ2YsQ0FBQztnQkFDRixhQUFhLEdBQUcsSUFBSSxDQUFDO2FBQ3hCO2lCQUFNLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxDQUFDO2FBQ3JHO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsTUFBYztRQUNwQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLEdBQUcsQ0FBb0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNyRyxhQUFhLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLGFBQWEsQ0FBQztJQUN6QyxDQUFDOzs0SEF0RGlCLDhCQUE4QixnSEFpQk4sNkJBQTZCO2dIQWpCckQsOEJBQThCLCtIQUZ4QyxFQUFFOzRGQUVRLDhCQUE4QjtrQkFKbkQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxRQUFRLEVBQUUsRUFBRTtpQkFDYjs7MEJBa0IwQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLDZCQUE2Qjs0Q0FidkQsU0FBUztzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3REYXRhRmllbGRDb21wb25lbnR9IGZyb20gJy4uL21vZGVscy9hYnN0cmFjdC1kYXRhLWZpZWxkLWNvbXBvbmVudCc7XG5pbXBvcnQge1NpZGVNZW51U2VydmljZX0gZnJvbSAnLi4vLi4vc2lkZS1tZW51L3NlcnZpY2VzL3NpZGUtbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7U25hY2tCYXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9zbmFjay1iYXIvc2VydmljZXMvc25hY2stYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7TkFFX0lORk9STV9BQk9VVF9JTlZBTElEX0RBVEF9IGZyb20gJy4uL21vZGVscy9pbnZhbGlkLWRhdGEtcG9saWN5LXRva2VuJztcbmltcG9ydCB7U2lkZU1lbnVTaXplfSBmcm9tICcuLi8uLi9zaWRlLW1lbnUvbW9kZWxzL3NpZGUtbWVudS1zaXplJztcbmltcG9ydCB7VXNlckxpc3RJbmplY3RlZERhdGF9IGZyb20gJy4uLy4uL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvdXNlci1hc3NpZ24vbW9kZWwvdXNlci1saXN0LWluamVjdGVkLWRhdGEnO1xuaW1wb3J0IHtVc2VyVmFsdWV9IGZyb20gJy4uL3VzZXItZmllbGQvbW9kZWxzL3VzZXItdmFsdWUnO1xuaW1wb3J0IHtVc2VyTGlzdEZpZWxkfSBmcm9tICcuL21vZGVscy91c2VyLWxpc3QtZmllbGQnO1xuaW1wb3J0IHtVc2VyTGlzdFZhbHVlfSBmcm9tICcuL21vZGVscy91c2VyLWxpc3QtdmFsdWUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduY2MtYWJzdHJhY3QtdXNlci1saXN0LWZpZWxkJyxcbiAgdGVtcGxhdGU6ICcnLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFVzZXJMaXN0RmllbGRDb21wb25lbnQgIGV4dGVuZHMgQWJzdHJhY3REYXRhRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgaW5mbyBhYm91dCB1c2VyIGZyb20gYmFja2VuZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgZGF0YUZpZWxkOiBVc2VyTGlzdEZpZWxkO1xuXG4gICAgLyoqXG4gICAgICogSW5qZWN0IHNlcnZpY2VzLlxuICAgICAqIEBwYXJhbSBfc2lkZU1lbnVTZXJ2aWNlIFNlcnZpY2UgdG8gb3BlbiBhbmQgY2xvc2UgW1VzZXJBc3NpZ25Db21wb25lbnRde0BsaW5rIEFic3RyYWN0VXNlckFzc2lnbkNvbXBvbmVudH0gd2l0aCB1c2VyIGRhdGEuXG4gICAgICogQHBhcmFtIF9zbmFja2JhciBTZXJ2aWNlIHRvIGRpc3BsYXlpbmcgaW5mb3JtYXRpb24gdG8gdGhlIHVzZXIuXG4gICAgICogQHBhcmFtIF90cmFuc2xhdGUgU2VydmljZSB0byB0cmFuc2xhdGUgdGV4dC5cbiAgICAgKiBAcGFyYW0gaW5mb3JtQWJvdXRJbnZhbGlkRGF0YSB3aGV0aGVyIHRoZSBiYWNrZW5kIHNob3VsZCBiZSBub3RpZmllZCBhYm91dCBpbnZhbGlkIHZhbHVlcy5cbiAgICAgKiBPcHRpb24gaW5qZWN0ZWQgdHJvdWdoIGBOQUVfSU5GT1JNX0FCT1VUX0lOVkFMSURfREFUQWAgSW5qZWN0aW9uVG9rZW5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJvdGVjdGVkIF9zaWRlTWVudVNlcnZpY2U6IFNpZGVNZW51U2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zbmFja2JhcjogU25hY2tCYXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfSU5GT1JNX0FCT1VUX0lOVkFMSURfREFUQSkgaW5mb3JtQWJvdXRJbnZhbGlkRGF0YTogYm9vbGVhbiB8IG51bGwpIHtcbiAgICAgICAgc3VwZXIoaW5mb3JtQWJvdXRJbnZhbGlkRGF0YSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbCBhZnRlciBjbGljayBvbiB1c2VyIGZpZWxkIGJ1dHRvbi5cbiAgICAgKlxuICAgICAqIE9wZW4gW1VzZXJBc3NpZ25Db21wb25lbnRde0BsaW5rIEFic3RyYWN0VXNlckFzc2lnbkNvbXBvbmVudH0gaW4gc2lkZSBtZW51IHdpdGggZGF0YSByZXByZXNlbnRzIHByZXNlbGVjdGVkIHVzZXIgZnJvbSBiYWNrZW5kLlxuICAgICAqXG4gICAgICogQWZ0ZXIgY2xvc2Ugc2lkZSBtZW51LCB0aGUgc25hY2tiYXIgaW5mbyB3aWxsIGJlIGRpc3BsYXllZCBlaXRoZXIgZm9yIHRoZSB1bnNlbGVjdGVkIHVzZXIgb3IgdGhlIHNlbGVjdGVkIG9uZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0QWJzdHJhY3RVc2VyKGNvbXBvbmVudCkge1xuICAgICAgICBsZXQgdmFsdWVSZXR1cm5lZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9zaWRlTWVudVNlcnZpY2Uub3Blbihjb21wb25lbnQsIFNpZGVNZW51U2l6ZS5NRURJVU0sXG4gICAgICAgICAgICB7dmFsdWU6IHRoaXMuZGF0YUZpZWxkLnZhbHVlfSBhcyBVc2VyTGlzdEluamVjdGVkRGF0YSkub25DbG9zZS5zdWJzY3JpYmUoJGV2ZW50ID0+IHtcbiAgICAgICAgICAgIGlmICgkZXZlbnQuZGF0YSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YUZpZWxkLnZhbHVlID0gbmV3IFVzZXJMaXN0VmFsdWUobmV3IE1hcDxzdHJpbmcsIFVzZXJWYWx1ZT4oKCRldmVudC5kYXRhIGFzIEFycmF5PFVzZXJWYWx1ZT4pLm1hcCh2ID0+IFt2LmlkLCB2XSkpKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9zbmFja2Jhci5vcGVuR2VuZXJpY1NuYWNrQmFyKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgnZGF0YUZpZWxkLnNuYWNrQmFyLnVzZXJMaXN0QXNzaWduZWQnLFxuICAgICAgICAgICAgICAgICAgICB7dXNlck5hbWVzOiB0aGlzLmRhdGFGaWVsZC52YWx1ZS50b1N0cmluZygpfSksXG4gICAgICAgICAgICAgICAgICAgICdob3dfdG9fcmVnJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgdmFsdWVSZXR1cm5lZCA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCF2YWx1ZVJldHVybmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc25hY2tiYXIub3Blbldhcm5pbmdTbmFja0Jhcih0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgnZGF0YUZpZWxkLnNuYWNrQmFyLm5vdFNlbGVjdGVkVXNlcicpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZUFic3RyYWN0VXNlcih1c2VySWQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCBleGlzdGluZ1VzZXJzID0gbmV3IFVzZXJMaXN0VmFsdWUobmV3IE1hcDxzdHJpbmcsIFVzZXJWYWx1ZT4odGhpcy5kYXRhRmllbGQudmFsdWUudXNlclZhbHVlcykpO1xuICAgICAgICBleGlzdGluZ1VzZXJzLnJlbW92ZVVzZXJWYWx1ZSh1c2VySWQpO1xuICAgICAgICB0aGlzLmRhdGFGaWVsZC52YWx1ZSA9IGV4aXN0aW5nVXNlcnM7XG4gICAgfVxuXG59XG4iXX0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdXNlci1saXN0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvZGF0YS1maWVsZHMvdXNlci1saXN0LWZpZWxkL2Fic3RyYWN0LXVzZXItbGlzdC1maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUluRixPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFJbkUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7OztBQU12RCxNQUFNLE9BQWdCLDhCQUErQixTQUFRLDBCQUEwQjtJQU1uRjs7Ozs7OztPQU9HO0lBQ0gsWUFBZ0MsZ0JBQWlDLEVBQ2pDLFNBQTBCLEVBQzFCLFVBQTRCLEVBQ2Esc0JBQXNDO1FBQzNHLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBSkYscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyxjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUMxQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtJQUc1RCxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksa0JBQWtCLENBQUMsU0FBUztRQUMvQixJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLE1BQU0sRUFDckQsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUF5QixDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMvRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxHQUFHLENBQXFCLE1BQU0sQ0FBQyxJQUF5QixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDNUgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMscUNBQXFDLEVBQzdELEVBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFDLENBQUMsRUFDN0MsWUFBWSxDQUNmLENBQUM7Z0JBQ0YsYUFBYSxHQUFHLElBQUksQ0FBQzthQUN4QjtpQkFBTSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQzthQUNyRztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLGtCQUFrQixDQUFDLE1BQWM7UUFDcEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxHQUFHLENBQW9CLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDckcsYUFBYSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUM7SUFDekMsQ0FBQzs7NEhBdERpQiw4QkFBOEIsZ0hBaUJOLDZCQUE2QjtnSEFqQnJELDhCQUE4QiwrSEFGeEMsRUFBRTs0RkFFUSw4QkFBOEI7a0JBSm5ELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDhCQUE4QjtvQkFDeEMsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7OzBCQWtCMEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyw2QkFBNkI7NENBYnZELFNBQVM7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0RGF0YUZpZWxkQ29tcG9uZW50fSBmcm9tICcuLi9tb2RlbHMvYWJzdHJhY3QtZGF0YS1maWVsZC1jb21wb25lbnQnO1xuaW1wb3J0IHtTaWRlTWVudVNlcnZpY2V9IGZyb20gJy4uLy4uL3NpZGUtbWVudS9zZXJ2aWNlcy9zaWRlLW1lbnUuc2VydmljZSc7XG5pbXBvcnQge1NuYWNrQmFyU2VydmljZX0gZnJvbSAnLi4vLi4vc25hY2stYmFyL3NlcnZpY2VzL3NuYWNrLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge05BRV9JTkZPUk1fQUJPVVRfSU5WQUxJRF9EQVRBfSBmcm9tICcuLi9tb2RlbHMvaW52YWxpZC1kYXRhLXBvbGljeS10b2tlbic7XG5pbXBvcnQge1NpZGVNZW51U2l6ZX0gZnJvbSAnLi4vLi4vc2lkZS1tZW51L21vZGVscy9zaWRlLW1lbnUtc2l6ZSc7XG5pbXBvcnQge1VzZXJMaXN0SW5qZWN0ZWREYXRhfSBmcm9tICcuLi8uLi9zaWRlLW1lbnUvY29udGVudC1jb21wb25lbnRzL3VzZXItYXNzaWduL21vZGVsL3VzZXItbGlzdC1pbmplY3RlZC1kYXRhJztcbmltcG9ydCB7VXNlclZhbHVlfSBmcm9tICcuLi91c2VyLWZpZWxkL21vZGVscy91c2VyLXZhbHVlJztcbmltcG9ydCB7VXNlckxpc3RGaWVsZH0gZnJvbSAnLi9tb2RlbHMvdXNlci1saXN0LWZpZWxkJztcbmltcG9ydCB7VXNlckxpc3RWYWx1ZX0gZnJvbSAnLi9tb2RlbHMvdXNlci1saXN0LXZhbHVlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LXVzZXItbGlzdC1maWVsZCcsXG4gIHRlbXBsYXRlOiAnJyxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RVc2VyTGlzdEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3REYXRhRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgaW5mbyBhYm91dCB1c2VyIGZyb20gYmFja2VuZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgZGF0YUZpZWxkOiBVc2VyTGlzdEZpZWxkO1xuXG4gICAgLyoqXG4gICAgICogSW5qZWN0IHNlcnZpY2VzLlxuICAgICAqIEBwYXJhbSBfc2lkZU1lbnVTZXJ2aWNlIFNlcnZpY2UgdG8gb3BlbiBhbmQgY2xvc2UgW1VzZXJBc3NpZ25Db21wb25lbnRde0BsaW5rIEFic3RyYWN0VXNlckFzc2lnbkNvbXBvbmVudH0gd2l0aCB1c2VyIGRhdGEuXG4gICAgICogQHBhcmFtIF9zbmFja2JhciBTZXJ2aWNlIHRvIGRpc3BsYXlpbmcgaW5mb3JtYXRpb24gdG8gdGhlIHVzZXIuXG4gICAgICogQHBhcmFtIF90cmFuc2xhdGUgU2VydmljZSB0byB0cmFuc2xhdGUgdGV4dC5cbiAgICAgKiBAcGFyYW0gaW5mb3JtQWJvdXRJbnZhbGlkRGF0YSB3aGV0aGVyIHRoZSBiYWNrZW5kIHNob3VsZCBiZSBub3RpZmllZCBhYm91dCBpbnZhbGlkIHZhbHVlcy5cbiAgICAgKiBPcHRpb24gaW5qZWN0ZWQgdHJvdWdoIGBOQUVfSU5GT1JNX0FCT1VUX0lOVkFMSURfREFUQWAgSW5qZWN0aW9uVG9rZW5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJvdGVjdGVkIF9zaWRlTWVudVNlcnZpY2U6IFNpZGVNZW51U2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zbmFja2JhcjogU25hY2tCYXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfSU5GT1JNX0FCT1VUX0lOVkFMSURfREFUQSkgaW5mb3JtQWJvdXRJbnZhbGlkRGF0YTogYm9vbGVhbiB8IG51bGwpIHtcbiAgICAgICAgc3VwZXIoaW5mb3JtQWJvdXRJbnZhbGlkRGF0YSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbCBhZnRlciBjbGljayBvbiB1c2VyIGZpZWxkIGJ1dHRvbi5cbiAgICAgKlxuICAgICAqIE9wZW4gW1VzZXJBc3NpZ25Db21wb25lbnRde0BsaW5rIEFic3RyYWN0VXNlckFzc2lnbkNvbXBvbmVudH0gaW4gc2lkZSBtZW51IHdpdGggZGF0YSByZXByZXNlbnRzIHByZXNlbGVjdGVkIHVzZXIgZnJvbSBiYWNrZW5kLlxuICAgICAqXG4gICAgICogQWZ0ZXIgY2xvc2Ugc2lkZSBtZW51LCB0aGUgc25hY2tiYXIgaW5mbyB3aWxsIGJlIGRpc3BsYXllZCBlaXRoZXIgZm9yIHRoZSB1bnNlbGVjdGVkIHVzZXIgb3IgdGhlIHNlbGVjdGVkIG9uZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0QWJzdHJhY3RVc2VyKGNvbXBvbmVudCkge1xuICAgICAgICBsZXQgdmFsdWVSZXR1cm5lZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9zaWRlTWVudVNlcnZpY2Uub3Blbihjb21wb25lbnQsIFNpZGVNZW51U2l6ZS5NRURJVU0sXG4gICAgICAgICAgICB7cm9sZXM6IHRoaXMuZGF0YUZpZWxkLnJvbGVzLCB2YWx1ZTogdGhpcy5kYXRhRmllbGQudmFsdWV9IGFzIFVzZXJMaXN0SW5qZWN0ZWREYXRhKS5vbkNsb3NlLnN1YnNjcmliZSgkZXZlbnQgPT4ge1xuICAgICAgICAgICAgaWYgKCRldmVudC5kYXRhKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhRmllbGQudmFsdWUgPSBuZXcgVXNlckxpc3RWYWx1ZShuZXcgTWFwPHN0cmluZywgVXNlclZhbHVlPigoJGV2ZW50LmRhdGEgYXMgQXJyYXk8VXNlclZhbHVlPikubWFwKHYgPT4gW3YuaWQsIHZdKSkpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3NuYWNrYmFyLm9wZW5HZW5lcmljU25hY2tCYXIoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdkYXRhRmllbGQuc25hY2tCYXIudXNlckxpc3RBc3NpZ25lZCcsXG4gICAgICAgICAgICAgICAgICAgIHt1c2VyTmFtZXM6IHRoaXMuZGF0YUZpZWxkLnZhbHVlLnRvU3RyaW5nKCl9KSxcbiAgICAgICAgICAgICAgICAgICAgJ2hvd190b19yZWcnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB2YWx1ZVJldHVybmVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXZhbHVlUmV0dXJuZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zbmFja2Jhci5vcGVuV2FybmluZ1NuYWNrQmFyKHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdkYXRhRmllbGQuc25hY2tCYXIubm90U2VsZWN0ZWRVc2VyJykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlQWJzdHJhY3RVc2VyKHVzZXJJZDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nVXNlcnMgPSBuZXcgVXNlckxpc3RWYWx1ZShuZXcgTWFwPHN0cmluZywgVXNlclZhbHVlPih0aGlzLmRhdGFGaWVsZC52YWx1ZS51c2VyVmFsdWVzKSk7XG4gICAgICAgIGV4aXN0aW5nVXNlcnMucmVtb3ZlVXNlclZhbHVlKHVzZXJJZCk7XG4gICAgICAgIHRoaXMuZGF0YUZpZWxkLnZhbHVlID0gZXhpc3RpbmdVc2VycztcbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,7 +1,11 @@
1
1
  import { DataField } from '../../models/abstract-data-field';
2
2
  export class UserListField extends DataField {
3
- constructor(stringId, title, behavior, value, placeholder, description, layout, validations, component, parentTaskId) {
3
+ constructor(stringId, title, behavior, value, _roles, placeholder, description, layout, validations, component, parentTaskId) {
4
4
  super(stringId, title, value, behavior, placeholder, description, layout, validations, component, parentTaskId);
5
+ this._roles = _roles;
6
+ }
7
+ get roles() {
8
+ return this._roles;
5
9
  }
6
10
  valueEquality(a, b) {
7
11
  return (!a && !b) ||
@@ -44,4 +48,4 @@ export class UserListField extends DataField {
44
48
  return !!control.value && !!control.value._userValues && control.value._userValues.size > 0 ? null : { requiredUserList: true };
45
49
  }
46
50
  }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1saXN0LWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9kYXRhLWZpZWxkcy91c2VyLWxpc3QtZmllbGQvbW9kZWxzL3VzZXItbGlzdC1maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFRN0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxTQUF3QjtJQUV2RCxZQUFZLFFBQWdCLEVBQUUsS0FBYSxFQUFFLFFBQWtCLEVBQUUsS0FBb0IsRUFDekUsV0FBb0IsRUFBRSxXQUFvQixFQUFFLE1BQWUsRUFBRSxXQUErQixFQUFFLFNBQXFCLEVBQ25ILFlBQXFCO1FBQzdCLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNwSCxDQUFDO0lBRVMsYUFBYSxDQUFDLENBQWdCLEVBQUUsQ0FBZ0I7UUFDdEQsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRVMsaUJBQWlCLENBQUMsZ0JBQXlCLEVBQUUsV0FBd0I7UUFDM0UsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQztRQUN4QyxJQUFJLGdCQUFnQixFQUFFO1lBQ2xCLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUN4QjtRQUNELFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM5QixJQUFJLGdCQUFnQixFQUFFO1lBQ2xCLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNoRjthQUFNO1lBQ0gsV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQyxDQUFDO1NBQ2xFO1FBQ0QsV0FBVyxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDckMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pFLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDMUQsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUdTLDRCQUE0QjtRQUNsQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFFbEIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtZQUN4QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNsQztRQUVELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ2xCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDcEM7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDN0MsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNwQztTQUNKO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVPLFlBQVksQ0FBQyxPQUF3QjtRQUN6QyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFDLENBQUM7SUFDbEksQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YUZpZWxkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Fic3RyYWN0LWRhdGEtZmllbGQnO1xuaW1wb3J0IHsgQmVoYXZpb3IgfSBmcm9tICcuLi8uLi9tb2RlbHMvYmVoYXZpb3InO1xuaW1wb3J0IHsgTGF5b3V0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xheW91dCc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3ZhbGlkYXRpb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyTGlzdFZhbHVlIH0gZnJvbSAnLi91c2VyLWxpc3QtdmFsdWUnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JGbn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmV4cG9ydCBjbGFzcyBVc2VyTGlzdEZpZWxkIGV4dGVuZHMgRGF0YUZpZWxkPFVzZXJMaXN0VmFsdWU+IHtcblxuICAgIGNvbnN0cnVjdG9yKHN0cmluZ0lkOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIGJlaGF2aW9yOiBCZWhhdmlvciwgdmFsdWU6IFVzZXJMaXN0VmFsdWUsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI/OiBzdHJpbmcsIGRlc2NyaXB0aW9uPzogc3RyaW5nLCBsYXlvdXQ/OiBMYXlvdXQsIHZhbGlkYXRpb25zPzogQXJyYXk8VmFsaWRhdGlvbj4sIGNvbXBvbmVudD86IENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBwYXJlbnRUYXNrSWQ/OiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIoc3RyaW5nSWQsIHRpdGxlLCB2YWx1ZSwgYmVoYXZpb3IsIHBsYWNlaG9sZGVyLCBkZXNjcmlwdGlvbiwgbGF5b3V0LCB2YWxpZGF0aW9ucywgY29tcG9uZW50LCBwYXJlbnRUYXNrSWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB2YWx1ZUVxdWFsaXR5KGE6IFVzZXJMaXN0VmFsdWUsIGI6IFVzZXJMaXN0VmFsdWUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICghYSAmJiAhYikgfHxcbiAgICAgICAgICAgICghIWEgJiYgISFiICYmIGEudXNlclZhbHVlcy5zaXplID09PSBiLnVzZXJWYWx1ZXMuc2l6ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNhbGN1bGF0ZVZhbGlkaXR5KGZvclZhbGlkUmVxdWlyZWQ6IGJvb2xlYW4sIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBpc0Rpc2FibGVkID0gZm9ybUNvbnRyb2wuZGlzYWJsZWQ7XG4gICAgICAgIGlmIChmb3JWYWxpZFJlcXVpcmVkKSB7XG4gICAgICAgICAgICBmb3JtQ29udHJvbC5lbmFibGUoKTtcbiAgICAgICAgfVxuICAgICAgICBmb3JtQ29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgaWYgKGZvclZhbGlkUmVxdWlyZWQpIHtcbiAgICAgICAgICAgIGZvcm1Db250cm9sLnNldFZhbGlkYXRvcnModGhpcy5iZWhhdmlvci5yZXF1aXJlZCA/IFt0aGlzLnJlcXVpcmVkVHJ1ZV0gOiBbXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKHRoaXMucmVzb2x2ZUZvcm1Db250cm9sVmFsaWRhdG9ycygpKTtcbiAgICAgICAgfVxuICAgICAgICBmb3JtQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgIGNvbnN0IHZhbGlkaXR5ID0gdGhpcy5fZGV0ZXJtaW5lRm9ybUNvbnRyb2xWYWxpZGl0eShmb3JtQ29udHJvbCk7XG4gICAgICAgIGlzRGlzYWJsZWQgPyBmb3JtQ29udHJvbC5kaXNhYmxlKCkgOiBmb3JtQ29udHJvbC5lbmFibGUoKTtcbiAgICAgICAgcmV0dXJuIHZhbGlkaXR5O1xuICAgIH1cblxuXG4gICAgcHJvdGVjdGVkIHJlc29sdmVGb3JtQ29udHJvbFZhbGlkYXRvcnMoKTogQXJyYXk8VmFsaWRhdG9yRm4+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG5cbiAgICAgICAgaWYgKHRoaXMuYmVoYXZpb3IucmVxdWlyZWQpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHRoaXMucmVxdWlyZWRUcnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnZhbGlkYXRpb25zKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fdmFsaWRhdG9ycykge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuX3ZhbGlkYXRvcnMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl92YWxpZGF0b3JzID0gdGhpcy5yZXNvbHZlVmFsaWRhdGlvbnMoKTtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaCguLi50aGlzLl92YWxpZGF0b3JzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXF1aXJlZFRydWUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBbazogc3RyaW5nXTogYm9vbGVhbiB9IHtcbiAgICAgICAgcmV0dXJuICEhY29udHJvbC52YWx1ZSAmJiAhIWNvbnRyb2wudmFsdWUuX3VzZXJWYWx1ZXMgJiYgY29udHJvbC52YWx1ZS5fdXNlclZhbHVlcy5zaXplID4gMCA/IG51bGwgOiB7cmVxdWlyZWRVc2VyTGlzdDogdHJ1ZX07XG4gICAgfVxuXG59XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1saXN0LWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9kYXRhLWZpZWxkcy91c2VyLWxpc3QtZmllbGQvbW9kZWxzL3VzZXItbGlzdC1maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFTN0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxTQUF3QjtJQUV2RCxZQUFZLFFBQWdCLEVBQUUsS0FBYSxFQUFFLFFBQWtCLEVBQUUsS0FBb0IsRUFBVSxNQUEwQixFQUM3RyxXQUFvQixFQUFFLFdBQW9CLEVBQUUsTUFBZSxFQUFFLFdBQStCLEVBQUUsU0FBcUIsRUFDbkgsWUFBcUI7UUFDN0IsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBSHJCLFdBQU0sR0FBTixNQUFNLENBQW9CO0lBSXpILENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVTLGFBQWEsQ0FBQyxDQUFnQixFQUFFLENBQWdCO1FBQ3RELE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVTLGlCQUFpQixDQUFDLGdCQUF5QixFQUFFLFdBQXdCO1FBQzNFLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUM7UUFDeEMsSUFBSSxnQkFBZ0IsRUFBRTtZQUNsQixXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDeEI7UUFDRCxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDOUIsSUFBSSxnQkFBZ0IsRUFBRTtZQUNsQixXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDaEY7YUFBTTtZQUNILFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUMsQ0FBQztTQUNsRTtRQUNELFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRSxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFHUyw0QkFBNEI7UUFDbEMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWxCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7WUFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDbEM7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNsQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3BDO2lCQUFNO2dCQUNILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzdDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDcEM7U0FDSjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxZQUFZLENBQUMsT0FBd0I7UUFDekMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLGdCQUFnQixFQUFFLElBQUksRUFBQyxDQUFDO0lBQ2xJLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFGaWVsZCB9IGZyb20gJy4uLy4uL21vZGVscy9hYnN0cmFjdC1kYXRhLWZpZWxkJztcbmltcG9ydCB7IEJlaGF2aW9yIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2JlaGF2aW9yJztcbmltcG9ydCB7IExheW91dCB9IGZyb20gJy4uLy4uL21vZGVscy9sYXlvdXQnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy92YWxpZGF0aW9uJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9jb21wb25lbnQnO1xuaW1wb3J0IHsgVXNlckxpc3RWYWx1ZSB9IGZyb20gJy4vdXNlci1saXN0LXZhbHVlJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9yRm59IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHtQcm9jZXNzUm9sZX0gZnJvbSBcIi4uLy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvcHJvY2Vzcy1yb2xlXCI7XG5cbmV4cG9ydCBjbGFzcyBVc2VyTGlzdEZpZWxkIGV4dGVuZHMgRGF0YUZpZWxkPFVzZXJMaXN0VmFsdWU+IHtcblxuICAgIGNvbnN0cnVjdG9yKHN0cmluZ0lkOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIGJlaGF2aW9yOiBCZWhhdmlvciwgdmFsdWU6IFVzZXJMaXN0VmFsdWUsIHByaXZhdGUgX3JvbGVzOiBBcnJheTxQcm9jZXNzUm9sZT4sXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI/OiBzdHJpbmcsIGRlc2NyaXB0aW9uPzogc3RyaW5nLCBsYXlvdXQ/OiBMYXlvdXQsIHZhbGlkYXRpb25zPzogQXJyYXk8VmFsaWRhdGlvbj4sIGNvbXBvbmVudD86IENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBwYXJlbnRUYXNrSWQ/OiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIoc3RyaW5nSWQsIHRpdGxlLCB2YWx1ZSwgYmVoYXZpb3IsIHBsYWNlaG9sZGVyLCBkZXNjcmlwdGlvbiwgbGF5b3V0LCB2YWxpZGF0aW9ucywgY29tcG9uZW50LCBwYXJlbnRUYXNrSWQpO1xuICAgIH1cblxuICAgIGdldCByb2xlcygpOiBBcnJheTxQcm9jZXNzUm9sZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm9sZXM7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHZhbHVlRXF1YWxpdHkoYTogVXNlckxpc3RWYWx1ZSwgYjogVXNlckxpc3RWYWx1ZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKCFhICYmICFiKSB8fFxuICAgICAgICAgICAgKCEhYSAmJiAhIWIgJiYgYS51c2VyVmFsdWVzLnNpemUgPT09IGIudXNlclZhbHVlcy5zaXplKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2FsY3VsYXRlVmFsaWRpdHkoZm9yVmFsaWRSZXF1aXJlZDogYm9vbGVhbiwgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGlzRGlzYWJsZWQgPSBmb3JtQ29udHJvbC5kaXNhYmxlZDtcbiAgICAgICAgaWYgKGZvclZhbGlkUmVxdWlyZWQpIHtcbiAgICAgICAgICAgIGZvcm1Db250cm9sLmVuYWJsZSgpO1xuICAgICAgICB9XG4gICAgICAgIGZvcm1Db250cm9sLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICBpZiAoZm9yVmFsaWRSZXF1aXJlZCkge1xuICAgICAgICAgICAgZm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyh0aGlzLmJlaGF2aW9yLnJlcXVpcmVkID8gW3RoaXMucmVxdWlyZWRUcnVlXSA6IFtdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZvcm1Db250cm9sLnNldFZhbGlkYXRvcnModGhpcy5yZXNvbHZlRm9ybUNvbnRyb2xWYWxpZGF0b3JzKCkpO1xuICAgICAgICB9XG4gICAgICAgIGZvcm1Db250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgY29uc3QgdmFsaWRpdHkgPSB0aGlzLl9kZXRlcm1pbmVGb3JtQ29udHJvbFZhbGlkaXR5KGZvcm1Db250cm9sKTtcbiAgICAgICAgaXNEaXNhYmxlZCA/IGZvcm1Db250cm9sLmRpc2FibGUoKSA6IGZvcm1Db250cm9sLmVuYWJsZSgpO1xuICAgICAgICByZXR1cm4gdmFsaWRpdHk7XG4gICAgfVxuXG5cbiAgICBwcm90ZWN0ZWQgcmVzb2x2ZUZvcm1Db250cm9sVmFsaWRhdG9ycygpOiBBcnJheTxWYWxpZGF0b3JGbj4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBbXTtcblxuICAgICAgICBpZiAodGhpcy5iZWhhdmlvci5yZXF1aXJlZCkge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2godGhpcy5yZXF1aXJlZFRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudmFsaWRhdGlvbnMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl92YWxpZGF0b3JzKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5fdmFsaWRhdG9ycyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZhbGlkYXRvcnMgPSB0aGlzLnJlc29sdmVWYWxpZGF0aW9ucygpO1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuX3ZhbGlkYXRvcnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlcXVpcmVkVHJ1ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrOiBzdHJpbmddOiBib29sZWFuIH0ge1xuICAgICAgICByZXR1cm4gISFjb250cm9sLnZhbHVlICYmICEhY29udHJvbC52YWx1ZS5fdXNlclZhbHVlcyAmJiBjb250cm9sLnZhbHVlLl91c2VyVmFsdWVzLnNpemUgPiAwID8gbnVsbCA6IHtyZXF1aXJlZFVzZXJMaXN0OiB0cnVlfTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -35,5 +35,9 @@ export var UserFilterConstants;
35
35
  * ID of the field containing the filter case ID of the parent filter (if the filter has a filter parent)
36
36
  */
37
37
  UserFilterConstants["PARENT_FILTER_CASE_ID_FIELD_ID"] = "parent_filter_id";
38
+ /**
39
+ * ID of allowed net field in filter and filter_preference_item processes
40
+ * */
41
+ UserFilterConstants["ALLOWED_NETS_FIELD_ID"] = "allowed_nets";
38
42
  })(UserFilterConstants || (UserFilterConstants = {}));
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1maWx0ZXItY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9maWx0ZXIvbW9kZWxzL3VzZXItZmlsdGVyLWNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLG1CQWlDWDtBQWpDRCxXQUFZLG1CQUFtQjtJQUMzQjs7T0FFRztJQUNILHVEQUFnQyxDQUFBO0lBQ2hDOztPQUVHO0lBQ0gsNEVBQXFELENBQUE7SUFDckQ7O09BRUc7SUFDSCw2REFBc0MsQ0FBQTtJQUN0Qzs7T0FFRztJQUNILGlEQUEwQixDQUFBO0lBQzFCOztPQUVHO0lBQ0gsMkRBQW9DLENBQUE7SUFDcEM7O09BRUc7SUFDSCxpRUFBMEMsQ0FBQTtJQUMxQzs7T0FFRztJQUNILGlFQUEwQyxDQUFBO0lBQzFDOztPQUVHO0lBQ0gsMEVBQW1ELENBQUE7QUFDdkQsQ0FBQyxFQWpDVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBaUM5QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSG9sZHMgYWxsIGlkZW50aWZpZXJzIG9mIHRoZSBGaWx0ZXIgcHJvY2VzcyBpbiBhbiBhY2Nlc3NpYmxlIG1hbm5lclxuICovXG5leHBvcnQgZW51bSBVc2VyRmlsdGVyQ29uc3RhbnRzIHtcbiAgICAvKipcbiAgICAgKiBJZGVudGlmaWVyIG9mIHRoZSBmaWx0ZXIgcHJvY2Vzc1xuICAgICAqL1xuICAgIEZJTFRFUl9ORVRfSURFTlRJRklFUiA9ICdmaWx0ZXInLFxuICAgIC8qKlxuICAgICAqIFRyYW5zaXRpb24gSUQgb2YgdGhlIFwiU2V0IGZpbHRlciBtZXRhZGF0YVwiIHRyYW5zaXRpb24gdXNlZCBmb3Igc2V0dGluZyBmaWx0ZXIgbWV0YWRhdGEgdG8gbmV3IGZpbHRlciBjYXNlc1xuICAgICAqL1xuICAgIFNFVF9GSUxURVJfTUVUQURBVEFfVFJBTlNJVElPTl9JRCA9ICdmcm9udGVuZF9jcmVhdGUnLFxuICAgIC8qKlxuICAgICAqIFRyYW5zaXRpb24gSUQgb2YgdGhlIFwiTmV3IEZpbHRlclwiIHRyYW5zaXRpb24gZGlzcGxheWVkIGluIHRoZSBzaWRlIG1lbnVcbiAgICAgKi9cbiAgICBORVdfRklMVEVSX1RSQU5TSVRJT05fSUQgPSAnbmV3RmlsdGVyJyxcbiAgICAvKipcbiAgICAgKiBJRCBvZiB0aGUgZmllbGQgY29udGFpbmluZyB0aGUgc2F2ZWQgZmlsdGVyXG4gICAgICovXG4gICAgRklMVEVSX0ZJRUxEX0lEID0gJ2ZpbHRlcicsXG4gICAgLyoqXG4gICAgICogSUQgb2YgdGhlIGZpZWxkIGNvbnRhaW5pbmcgdGhlIHNhdmVkIGZpbHRlciB0eXBlXG4gICAgICovXG4gICAgRklMVEVSX1RZUEVfRklFTERfSUQgPSAnZmlsdGVyX3R5cGUnLFxuICAgIC8qKlxuICAgICAqIElEIG9mIHRoZSBmaWVsZCBjb250YWluaW5nIHRoZSB2aWV3SWQgb2YgdGhlIGZpbHRlcnMgb3JpZ2luIChpZiB0aGUgZmlsdGVyIG9yaWdpbmF0ZXMgZnJvbSBhbiBhcHAgdmlldylcbiAgICAgKi9cbiAgICBPUklHSU5fVklFV19JRF9GSUVMRF9JRCA9ICdvcmlnaW5fdmlld19pZCcsXG4gICAgLyoqXG4gICAgICogSUQgb2YgdGhlIGZpZWxkIGNvbnRhaW5pbmcgdGhlIGZpbHRlciBjYXNlIElEXG4gICAgICovXG4gICAgRklMVEVSX0NBU0VfSURfRklFTERfSUQgPSAnZmlsdGVyX2Nhc2VfaWQnLFxuICAgIC8qKlxuICAgICAqIElEIG9mIHRoZSBmaWVsZCBjb250YWluaW5nIHRoZSBmaWx0ZXIgY2FzZSBJRCBvZiB0aGUgcGFyZW50IGZpbHRlciAoaWYgdGhlIGZpbHRlciBoYXMgYSBmaWx0ZXIgcGFyZW50KVxuICAgICAqL1xuICAgIFBBUkVOVF9GSUxURVJfQ0FTRV9JRF9GSUVMRF9JRCA9ICdwYXJlbnRfZmlsdGVyX2lkJyxcbn1cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1maWx0ZXItY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9maWx0ZXIvbW9kZWxzL3VzZXItZmlsdGVyLWNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLG1CQXNDWDtBQXRDRCxXQUFZLG1CQUFtQjtJQUMzQjs7T0FFRztJQUNILHVEQUFnQyxDQUFBO0lBQ2hDOztPQUVHO0lBQ0gsNEVBQXFELENBQUE7SUFDckQ7O09BRUc7SUFDSCw2REFBc0MsQ0FBQTtJQUN0Qzs7T0FFRztJQUNILGlEQUEwQixDQUFBO0lBQzFCOztPQUVHO0lBQ0gsMkRBQW9DLENBQUE7SUFDcEM7O09BRUc7SUFDSCxpRUFBMEMsQ0FBQTtJQUMxQzs7T0FFRztJQUNILGlFQUEwQyxDQUFBO0lBQzFDOztPQUVHO0lBQ0gsMEVBQW1ELENBQUE7SUFFbkQ7O1NBRUs7SUFDTCw2REFBc0MsQ0FBQTtBQUMxQyxDQUFDLEVBdENXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFzQzlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBIb2xkcyBhbGwgaWRlbnRpZmllcnMgb2YgdGhlIEZpbHRlciBwcm9jZXNzIGluIGFuIGFjY2Vzc2libGUgbWFubmVyXG4gKi9cbmV4cG9ydCBlbnVtIFVzZXJGaWx0ZXJDb25zdGFudHMge1xuICAgIC8qKlxuICAgICAqIElkZW50aWZpZXIgb2YgdGhlIGZpbHRlciBwcm9jZXNzXG4gICAgICovXG4gICAgRklMVEVSX05FVF9JREVOVElGSUVSID0gJ2ZpbHRlcicsXG4gICAgLyoqXG4gICAgICogVHJhbnNpdGlvbiBJRCBvZiB0aGUgXCJTZXQgZmlsdGVyIG1ldGFkYXRhXCIgdHJhbnNpdGlvbiB1c2VkIGZvciBzZXR0aW5nIGZpbHRlciBtZXRhZGF0YSB0byBuZXcgZmlsdGVyIGNhc2VzXG4gICAgICovXG4gICAgU0VUX0ZJTFRFUl9NRVRBREFUQV9UUkFOU0lUSU9OX0lEID0gJ2Zyb250ZW5kX2NyZWF0ZScsXG4gICAgLyoqXG4gICAgICogVHJhbnNpdGlvbiBJRCBvZiB0aGUgXCJOZXcgRmlsdGVyXCIgdHJhbnNpdGlvbiBkaXNwbGF5ZWQgaW4gdGhlIHNpZGUgbWVudVxuICAgICAqL1xuICAgIE5FV19GSUxURVJfVFJBTlNJVElPTl9JRCA9ICduZXdGaWx0ZXInLFxuICAgIC8qKlxuICAgICAqIElEIG9mIHRoZSBmaWVsZCBjb250YWluaW5nIHRoZSBzYXZlZCBmaWx0ZXJcbiAgICAgKi9cbiAgICBGSUxURVJfRklFTERfSUQgPSAnZmlsdGVyJyxcbiAgICAvKipcbiAgICAgKiBJRCBvZiB0aGUgZmllbGQgY29udGFpbmluZyB0aGUgc2F2ZWQgZmlsdGVyIHR5cGVcbiAgICAgKi9cbiAgICBGSUxURVJfVFlQRV9GSUVMRF9JRCA9ICdmaWx0ZXJfdHlwZScsXG4gICAgLyoqXG4gICAgICogSUQgb2YgdGhlIGZpZWxkIGNvbnRhaW5pbmcgdGhlIHZpZXdJZCBvZiB0aGUgZmlsdGVycyBvcmlnaW4gKGlmIHRoZSBmaWx0ZXIgb3JpZ2luYXRlcyBmcm9tIGFuIGFwcCB2aWV3KVxuICAgICAqL1xuICAgIE9SSUdJTl9WSUVXX0lEX0ZJRUxEX0lEID0gJ29yaWdpbl92aWV3X2lkJyxcbiAgICAvKipcbiAgICAgKiBJRCBvZiB0aGUgZmllbGQgY29udGFpbmluZyB0aGUgZmlsdGVyIGNhc2UgSURcbiAgICAgKi9cbiAgICBGSUxURVJfQ0FTRV9JRF9GSUVMRF9JRCA9ICdmaWx0ZXJfY2FzZV9pZCcsXG4gICAgLyoqXG4gICAgICogSUQgb2YgdGhlIGZpZWxkIGNvbnRhaW5pbmcgdGhlIGZpbHRlciBjYXNlIElEIG9mIHRoZSBwYXJlbnQgZmlsdGVyIChpZiB0aGUgZmlsdGVyIGhhcyBhIGZpbHRlciBwYXJlbnQpXG4gICAgICovXG4gICAgUEFSRU5UX0ZJTFRFUl9DQVNFX0lEX0ZJRUxEX0lEID0gJ3BhcmVudF9maWx0ZXJfaWQnLFxuXG4gICAgLyoqXG4gICAgICogSUQgb2YgYWxsb3dlZCBuZXQgZmllbGQgaW4gZmlsdGVyIGFuZCBmaWx0ZXJfcHJlZmVyZW5jZV9pdGVtIHByb2Nlc3Nlc1xuICAgICAqICovXG4gICAgQUxMT1dFRF9ORVRTX0ZJRUxEX0lEID0gJ2FsbG93ZWRfbmV0cydcbn1cbiJdfQ==
@@ -270,12 +270,14 @@ export class UserFiltersService {
270
270
  if (assignOutcome.error) {
271
271
  this._log.error(`Could not assign task '${task.title}'`, task, assignOutcome.error);
272
272
  callChain.next(false);
273
+ return;
273
274
  }
274
275
  this._taskService.setData(task.stringId, data).subscribe(() => {
275
276
  this._taskService.finishTask(task.stringId).subscribe(finishOutcome => {
276
277
  if (finishOutcome.error) {
277
278
  this._log.error(`Could not finish task '${task.title}'`, task, finishOutcome.error);
278
279
  callChain.next(false);
280
+ return;
279
281
  }
280
282
  callChain.next(true);
281
283
  }, error => {
@@ -319,4 +321,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
319
321
  type: Inject,
320
322
  args: [NAE_LOAD_FILTER_COMPONENT]
321
323
  }] }]; } });
322
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1maWx0ZXJzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL2ZpbHRlci91c2VyLWZpbHRlcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBYSxRQUFRLEVBQU8sTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFhLEVBQUUsRUFBRSxhQUFhLEVBQVUsTUFBTSxNQUFNLENBQUM7QUFNNUQsT0FBTyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBSWxFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBRzVFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUdoRSxPQUFPLEVBQUMseUJBQXlCLEVBQUUseUJBQXlCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUd0SCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFaEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBTXRELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7QUFHNUQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sa0JBQWtCO0lBSzNCLFlBQXNCLFlBQWlDLEVBQ2pDLFlBQWlDLEVBQ2pDLGVBQStCLEVBQy9CLGlCQUFtQyxFQUNuQyxnQkFBaUMsRUFDakMsSUFBbUIsRUFDbkIsd0JBQWlELEVBQ0Ysb0JB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Q0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2Rix1QkFBdUIsRUFBRSxxQkFBcUI7WUFDOUMsa0JBQWtCO1NBQ3JCLENBQUM7SUFDTixDQUFDOztnSEFsVlEsa0JBQWtCLHlQQVlLLHlCQUF5Qiw2QkFDekIseUJBQXlCO29IQWJoRCxrQkFBa0IsY0FGZixNQUFNOzRGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQWFnQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHlCQUF5Qjs7MEJBQzVDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgT3B0aW9uYWwsIFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdCwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Nhc2VSZXNvdXJjZVNlcnZpY2V9IGZyb20gJy4uL3Jlc291cmNlcy9lbmdpbmUtZW5kcG9pbnQvY2FzZS1yZXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7VGFza1Jlc291cmNlU2VydmljZX0gZnJvbSAnLi4vcmVzb3VyY2VzL2VuZ2luZS1lbmRwb2ludC90YXNrLXJlc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHtTZWFyY2hTZXJ2aWNlfSBmcm9tICcuLi9zZWFyY2gvc2VhcmNoLXNlcnZpY2Uvc2VhcmNoLnNlcnZpY2UnO1xuaW1wb3J0IHtQcm9jZXNzU2VydmljZX0gZnJvbSAnLi4vcHJvY2Vzcy9wcm9jZXNzLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuLi9sb2dnZXIvc2VydmljZXMvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtmaWx0ZXIsIHRha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7U2ltcGxlRmlsdGVyfSBmcm9tICcuL21vZGVscy9zaW1wbGUtZmlsdGVyJztcbmltcG9ydCB7aGFzQ29udGVudH0gZnJvbSAnLi4vdXRpbGl0eS9wYWdpbmF0aW9uL3BhZ2UtaGFzLWNvbnRlbnQnO1xuaW1wb3J0IHtUYXNrfSBmcm9tICcuLi9yZXNvdXJjZXMvaW50ZXJmYWNlL3Rhc2snO1xuaW1wb3J0IHtDYWxsQ2hhaW5TZXJ2aWNlfSBmcm9tICcuLi91dGlsaXR5L2NhbGwtY2hhaW4vY2FsbC1jaGFpbi5zZXJ2aWNlJztcbmltcG9ydCB7VGFza1NldERhdGFSZXF1ZXN0Qm9keSwgVGFza1NldERhdGFSZXF1ZXN0RmllbGRzfSBmcm9tICcuLi9yZXNvdXJjZXMvaW50ZXJmYWNlL3Rhc2stc2V0LWRhdGEtcmVxdWVzdC1ib2R5JztcbmltcG9ydCB7RmllbGRUeXBlUmVzb3VyY2V9IGZyb20gJy4uL3Rhc2stY29udGVudC9tb2RlbC9maWVsZC10eXBlLXJlc291cmNlJztcbmltcG9ydCB7Q2F0ZWdvcnl9IGZyb20gJy4uL3NlYXJjaC9tb2RlbHMvY2F0ZWdvcnkvY2F0ZWdvcnknO1xuaW1wb3J0IHtOZXR9IGZyb20gJy4uL3Byb2Nlc3MvbmV0JztcbmltcG9ydCB7VXNlckZpbHRlckNvbnN0YW50c30gZnJvbSAnLi9tb2RlbHMvdXNlci1maWx0ZXItY29uc3RhbnRzJztcbmltcG9ydCB7U2lkZU1lbnVTaXplfSBmcm9tICcuLi9zaWRlLW1lbnUvbW9kZWxzL3NpZGUtbWVudS1zaXplJztcbmltcG9ydCB7U2F2ZUZpbHRlckluamVjdGlvbkRhdGF9IGZyb20gJy4uL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvc2F2ZS1maWx0ZXIvbW9kZWwvc2F2ZS1maWx0ZXItaW5qZWN0aW9uLWRhdGEnO1xuaW1wb3J0IHtTaWRlTWVudVNlcnZpY2V9IGZyb20gJy4uL3NpZGUtbWVudS9zZXJ2aWNlcy9zaWRlLW1lbnUuc2VydmljZSc7XG5pbXBvcnQge05BRV9MT0FEX0ZJTFRFUl9DT01QT05FTlQsIE5BRV9TQVZFX0ZJTFRFUl9DT01QT05FTlR9IGZyb20gJy4uL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQge0NvbXBvbmVudFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtMb2FkRmlsdGVySW5qZWN0aW9uRGF0YX0gZnJvbSAnLi4vc2lkZS1tZW51L2NvbnRlbnQtY29tcG9uZW50cy9sb2FkLWZpbHRlci9tb2RlbC9sb2FkLWZpbHRlci1pbmplY3Rpb24tZGF0YSc7XG5pbXBvcnQge0ZpbHRlclR5cGV9IGZyb20gJy4vbW9kZWxzL2ZpbHRlci10eXBlJztcbmltcG9ydCB7RmlsdGVyfSBmcm9tICcuL21vZGVscy9maWx0ZXInO1xuaW1wb3J0IHtNZXJnZU9wZXJhdG9yfSBmcm9tICcuL21vZGVscy9tZXJnZS1vcGVyYXRvcic7XG5pbXBvcnQge1NhdmVkRmlsdGVyTWV0YWRhdGF9IGZyb20gJy4uL3NlYXJjaC9tb2RlbHMvcGVyc2lzdGFuY2Uvc2F2ZWQtZmlsdGVyLW1ldGFkYXRhJztcbmltcG9ydCB7RmlsdGVyTWV0YWRhdGF9IGZyb20gJy4uL3NlYXJjaC9tb2RlbHMvcGVyc2lzdGFuY2UvZmlsdGVyLW1ldGFkYXRhJztcbmltcG9ydCB7Q3JlYXRlQ2FzZUV2ZW50T3V0Y29tZX0gZnJvbSAnLi4vZXZlbnQvbW9kZWwvZXZlbnQtb3V0Y29tZXMvY2FzZS1vdXRjb21lcy9jcmVhdGUtY2FzZS1ldmVudC1vdXRjb21lJztcbmltcG9ydCB7Q2F0ZWdvcnlSZXNvbHZlclNlcnZpY2V9IGZyb20gJy4uL3NlYXJjaC9jYXRlZ29yeS1mYWN0b3J5L2NhdGVnb3J5LXJlc29sdmVyLnNlcnZpY2UnO1xuaW1wb3J0IHtEYXRhR3JvdXB9IGZyb20gJy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvZGF0YS1ncm91cHMnO1xuaW1wb3J0IHtnZXRGaWVsZEZyb21EYXRhR3JvdXBzfSBmcm9tICcuLi91dGlsaXR5L2dldC1maWVsZCc7XG5pbXBvcnQge0V2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZX0gZnJvbSAnLi4vcmVzb3VyY2VzL2ludGVyZmFjZS9tZXNzYWdlLXJlc291cmNlJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgbWFuYWdlcyBmaWx0ZXJzIGNyZWF0ZWQgYnkgdXNlcnMgb2YgdGhlIGFwcGxpY2F0aW9uLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJGaWx0ZXJzU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgICBwcm90ZWN0ZWQgX2luaXRpYWxpemVkJDogUmVwbGF5U3ViamVjdDxib29sZWFuPjtcbiAgICBwcm90ZWN0ZWQgX2ZpbHRlck5ldDogTmV0O1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jYXNlU2VydmljZTogQ2FzZVJlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Rhc2tTZXJ2aWNlOiBUYXNrUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfcHJvY2Vzc1NlcnZpY2U6IFByb2Nlc3NTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY2FsbENoYWluU2VydmljZTogQ2FsbENoYWluU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3NpZGVNZW51U2VydmljZTogU2lkZU1lbnVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY2F0ZWdvcnlSZXNvbHZlclNlcnZpY2U6IENhdGVnb3J5UmVzb2x2ZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkFFX1NBVkVfRklMVEVSX0NPTVBPTkVOVCkgcHJvdGVjdGVkIF9zYXZlRmlsdGVyQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPHVua25vd24+LFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkFFX0xPQURfRklMVEVSX0NPTVBPTkVOVCkgcHJvdGVjdGVkIF9sb2FkRmlsdGVyQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPHVua25vd24+KSB7XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemVkJCA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KDEpO1xuICAgICAgICB0aGlzLl9wcm9jZXNzU2VydmljZS5nZXROZXQoVXNlckZpbHRlckNvbnN0YW50cy5GSUxURVJfTkVUX0lERU5USUZJRVIpLnN1YnNjcmliZShuZXQgPT4ge1xuICAgICAgICAgICAgdGhpcy5fZmlsdGVyTmV0ID0gbmV0O1xuICAgICAgICAgICAgdGhpcy5faW5pdGlhbGl6ZWQkLm5leHQodHJ1ZSk7XG4gICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2xvZy5lcnJvcihgRmlsdGVyIG5ldCBjb3VsZCBub3QgYmUgbG9hZGVkIHdpdGggZXJyb3JgLCBlcnJvcik7XG4gICAgICAgICAgICB0aGlzLl9pbml0aWFsaXplZCQubmV4dChmYWxzZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplZCQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIHRoZSBzcGVjaWZpZWQgZmlsdGVyIGNhc2UgYnkgaXRzIGNhc2UgaWQuXG4gICAgICogQHBhcmFtIGZpbHRlckNhc2VJZCBTdHJpbmdJZCBvZiB0aGUgZmlsdGVyIGNhc2UgdGhhdCBzaG91bGQgYmUgZGVsZXRlZFxuICAgICAqIEByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBgdHJ1ZWAgaWYgdGhlIGNhc2Ugd2FzIHN1Y2Nlc3NmdWxseSBkZWxldGVkIGFuZCBgZmFsc2VgIG90aGVyd2lzZVxuICAgICAqL1xuICAgIHB1YmxpYyBkZWxldGUoZmlsdGVyQ2FzZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0JCA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KDEpO1xuICAgICAgICB0aGlzLl9jYXNlU2VydmljZS5kZWxldGVDYXNlKGZpbHRlckNhc2VJZCkuc3Vic2NyaWJlKChyZXNwb25zZTogRXZlbnRPdXRjb21lTWVzc2FnZVJlc291cmNlKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzcG9uc2Uuc3VjY2Vzcykge1xuICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5kZWJ1ZygnRmlsdGVyIGNhc2UgZGVsZXRlIHN1Y2Nlc3MnLCByZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgcmVzdWx0JC5uZXh0KHRydWUpO1xuICAgICAgICAgICAgICAgIHJlc3VsdCQuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbG9nLmVycm9yKCdGaWx0ZXIgY2FzZSBkZWxldGUgZmFpbHVyZScsIHJlc3BvbnNlKTtcbiAgICAgICAgICAgICAgICByZXN1bHQkLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHJlc3VsdCQuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgZSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9sb2cuZXJyb3IoJ0ZpbHRlciBjYXNlIGRlbGV0ZSBlcnJvcicsIGUpO1xuICAgICAgICAgICAgcmVzdWx0JC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgIHJlc3VsdCQuY29tcGxldGUoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9wZW5zIGEgc2lkZSBtZW51IHdpdGggZmlsdGVyIGNhc2VzIGFuZCBhbGxvd3MgdGhlIHVzZXIgdG8gc2VsZWN0IG9uZSBvZiB0aGVtLlxuICAgICAqXG4gICAgICogVGhlIGRlZmF1bHQgZmlsdGVyIGNvbnN0cmFpbnMgdGhlIGNhc2VzIHRvIGJlIGluc3RhbmNlcyBvZiB0aGUgZmlsdGVyIHByb2Nlc3MgYW5kIHRvIGJlIGZpbHRlcnMgb2YgdGhlIHNwZWNpZmllZCB0eXBlXG4gICAgICogKGBDYXNlYCBvciBgVGFza2ApLlxuICAgICAqXG4gICAgICogQHBhcmFtIGZpbHRlclR5cGUgd2hldGhlciBgQ2FzZWAgb3IgYFRhc2tgIHVzZXIgZmlsdGVycyBzaG91bGQgYmUgbG9hZGVkXG4gICAgICogQHBhcmFtIGFkZGl0aW9uYWxGaWx0ZXIgYWRkaXRpb25hbCBjb25zdHJhaW5zIG9uIHRoZSBkaXNwbGF5ZWQgdXNlciBmaWx0ZXIgY2FzZXMuIE11c3QgYmUgb2YgdHlwZSBgQ2FzZWBcbiAgICAgKiBvdGhlcndpc2UgdGhlIG1ldGhvZCB0aHJvd3MgYW4gZXJyb3IuIElmIGl0IGlzIGEge0BsaW5rIE1lcmdlZEZpbHRlcn0gbXVzdCB1c2UgdGhlIGBBTkRgIHtAbGluayBNZXJnZU9wZXJhdG9yfSBvdGhlcndpc2UgYW4gZXJyb3JcbiAgICAgKiB3aWxsIGJlIHRocm93blxuICAgICAqIEByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgZGF0YSBuZWNlc3NhcnkgdG8gcmVjb25zdHJ1Y3QgdGhlIHNlbGVjdGVkIGZpbHRlciwgb3IgYHVuZGVmaW5lZGAgaWYgbm8gZmlsdGVyIHdhcyBzZWxlY3RlZFxuICAgICAqL1xuICAgIHB1YmxpYyBsb2FkKGZpbHRlclR5cGU6IEZpbHRlclR5cGUsIGFkZGl0aW9uYWxGaWx0ZXI/OiBGaWx0ZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBpZiAoYWRkaXRpb25hbEZpbHRlcj8udHlwZSA9PT0gRmlsdGVyVHlwZS5UQVNLKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2cuZXJyb3IoJ1RoZSBhZGRpdGlvbmFsIGZpbHRlciBhcHBsaWVkIHRvIFVzZXJGaWx0ZXJzU2VydmljZS5sb2FkKCkgbXVzdCBiZSBvZiB0eXBlIENhc2UnLCBhZGRpdGlvbmFsRmlsdGVyKTtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdUaGUgYWRkaXRpb25hbCBmaWx0ZXIgYXBwbGllZCB0byBVc2VyRmlsdGVyc1NlcnZpY2UubG9hZCgpIG11c3QgYmUgb2YgdHlwZSBDYXNlJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZmlsdGVyQ2FzZXNGaWx0ZXIgPSBTaW1wbGVGaWx0ZXIuZnJvbUNhc2VRdWVyeSh7XG4gICAgICAgICAgICBwcm9jZXNzOiB7XG4gICAgICAgICAgICAgICAgaWRlbnRpZmllcjogVXNlckZpbHRlckNvbnN0YW50cy5GSUxURVJfTkVUX0lERU5USUZJRVJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBxdWVyeTogYGRhdGFTZXQuJHtVc2VyRmlsdGVyQ29uc3RhbnRzLkZJTFRFUl9UWVBFX0ZJRUxEX0lEfS5rZXlWYWx1ZToke2ZpbHRlclR5cGV9YFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKCEhYWRkaXRpb25hbEZpbHRlcikge1xuICAgICAgICAgICAgZmlsdGVyQ2FzZXNGaWx0ZXIgPSBmaWx0ZXJDYXNlc0ZpbHRlci5tZXJnZShhZGRpdGlvbmFsRmlsdGVyLCBNZXJnZU9wZXJhdG9yLkFORCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgUmVwbGF5U3ViamVjdDxhbnk+KDEpO1xuICAgICAgICBjb25zdCByZWYgPSB0aGlzLl9zaWRlTWVudVNlcnZpY2Uub3Blbih0aGlzLl9sb2FkRmlsdGVyQ29tcG9uZW50LCBTaWRlTWVudVNpemUuTEFSR0UsIHtcbiAgICAgICAgICAgIGZpbHRlcjogZmlsdGVyQ2FzZXNGaWx0ZXJcbiAgICAgICAgfSBhcyBMb2FkRmlsdGVySW5qZWN0aW9uRGF0YSk7XG4gICAgICAgIHJlZi5vbkNsb3NlLnBpcGUoZmlsdGVyKGUgPT4gIWUub3BlbmVkKSwgdGFrZSgxKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudC5tZXNzYWdlID09PSAnU2lkZSBtZW51IGNsb3NlZCB1bmV4cGVjdGVkbHknKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0Lm5leHQoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0Lm5leHQoZXZlbnQuZGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXN1bHQuY29tcGxldGUoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2F2ZXMgdGhlIHByZWRpY2F0ZSBmaWx0ZXIgY29udGFpbmVkIGluIHRoZSBwcm92aWRlZCB7QGxpbmsgU2VhcmNoU2VydmljZX0gaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBUaGUgYmFzZSBmaWx0ZXIgb2YgdGhlIHNlYXJjaCBzZXJ2aWNlIGlzIG5vdCBzYXZlZC5cbiAgICAgKlxuICAgICAqIEEgbmV3IGZpbHRlciBjYXNlIGlzIGNyZWF0ZWQgYW5kIHRoZSBuZWNlc3NhcnkgZmlsdGVyIGluZm9ybWF0aW9uIGlzIHNldCBpbnRvIGl0LlxuICAgICAqXG4gICAgICogVGhlbiBhIHNpZGUgbWVudSB3aXRoIHRoZSBmaWx0ZXIgaXMgb3BlbmVkIGZvciB0aGUgdXNlciB0byBlbnRlciB0aGUgbmFtZSBhbmQgb3RoZXIgcHJvcGVydGllcy5cbiAgICAgKiBUaGUgdXNlciBjYW4gY29uZmlybSBvciBjYW5jZWwgdGhlIHNhdmUgYnkgZmluaXNoaW5nIHRoZSB0YXNrIGluIHRoZSBzaWRlIG1lbnUsIG9yIGJ5IGNhbmNlbGluZy9jbG9zaW5nLlxuICAgICAqXG4gICAgICogQHBhcmFtIHNlYXJjaFNlcnZpY2Ugc2VhcmNoIHNlcnZpY2UgY29udGFpbmluZyBhIHByZWRpY2F0ZSBmaWx0ZXIsIHdlIHdhbnQgdG8gc2F2ZVxuICAgICAqIEBwYXJhbSBhbGxvd2VkTmV0cyBhbGxvd2VkIG5ldHMgb2YgdGhlIHZpZXcsIHRoYXQgY29udGFpbnMgdGhlIHNlYXJjaCBzZXJ2aWNlXG4gICAgICogQHBhcmFtIHNlYXJjaENhdGVnb3JpZXMgc2VhcmNoIGNhdGVnb3JpZXMgYXZhaWxhYmxlIGluIHRoZSBzYXZlZCBhZHZhbmNlZCBzZWFyY2ggY29tcG9uZW50XG4gICAgICogQHBhcmFtIHZpZXdJZCB0aGUgdmlld0lkIG9mIHRoZSB2aWV3IHdoaWNoIGNvbnRhaW5lZCB0aGUgZmlsdGVyLlxuICAgICAqIElmIG5laXRoZXIgdGhlIGB2aWV3SWRgIG5vciB0aGUgYG5hdmlnYXRpb25JdGVtVGFza0RhdGFgIGF0dHJpYnV0ZSBpcyBzZXQgdGhlIGZpbHRlciB3aWxsIGJlIGNyZWF0ZWQgYXMgYSBuZXcgcm9vdCBmaWx0ZXJcbiAgICAgKiB3aXRob3V0IGFueSBwYXJlbnQgZmlsdGVyIGxpbmsuIFRoaXMgd2lsbCBtb3N0IGxpa2VseSByZXN1bHQgaW4gdGhlIGZpbHRlciBiZWluZyBsZXNzIHJlc3RyaWN0aXZlIHRoYW4gd2hhdFxuICAgICAqIHRoZSB1c2VyIHNlZXMgaW4gdGhlIGN1cnJlbnQgdmlldywgc2luY2UgdGhlIGJhc2UgZmlsdGVyIG9mIHRoZSB2aWV3IHdpbGwgTk9UIGJlIHNhdmVkIGFsb25nc2lkZSB0aGUgc2F2ZWQgZmlsdGVyLlxuICAgICAqIEBwYXJhbSBhZGRpdGlvbmFsRGF0YSBzZXQgZGF0YSByZXF1ZXN0IGJvZHksIHRoYXQgaXMgc2VudCB0byB0aGUgZmlsdGVyIGluIGFkZGl0aW9uIHRvIHRoZSBkZWZhdWx0IGJvZHkuXG4gICAgICogVGhlIGRlZmF1bHQgYm9keSBpcyBhcHBsaWVkIGZpcnN0IGFuZCBjYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGlzIGFyZ3VtZW50LlxuICAgICAqIEBwYXJhbSB3aXRoRGVmYXVsdENhdGVnb3JpZXMgV2hldGhlciB0aGUgc2F2ZWQgZmlsdGVyIHNob3VsZCBiZSBzYXZlZCB3aXRoXG4gICAgICogdGhlIFtkZWZhdWx0U2VhcmNoQ2F0ZWdvcmllc117QGxpbmsgRmlsdGVyTWV0YWRhdGEjZGVmYXVsdFNlYXJjaENhdGVnb3JpZXN9IGZsYWcgc2V0IHRvIGB0cnVlYCwgb3IgYGZhbHNlYC5cbiAgICAgKiBAcGFyYW0gaW5oZXJpdEFsbG93ZWROZXRzIFdoZXRoZXIgdGhlIHNhdmVkIGZpbHRlciBzaG91bGQgbWVyZ2UgaXRzIGFsbG93ZWQgbmV0cyB3aXRoIHRoZSBhbGxvd2VkIG5ldHMgcHJvdmlkZWQgYnlcbiAgICAgKiB0aGUge0BsaW5rIEJhc2VBbGxvd2VkTmV0c1NlcnZpY2V9LlxuICAgICAqIEBwYXJhbSBuYXZpZ2F0aW9uSXRlbVRhc2tEYXRhIGlmIHByb3ZpZGVkIHRoZW4gaXQgaW1wbGllcyB0aGUgZmlsdGVyIGhhcyBhIHBhcmVudCBmaWx0ZXIgdGhhdCBjcmVhdGVkIGl0cyBob3N0IGR5bmFtaWMgdmlldy5cbiAgICAgKiBJZiB0aGlzIGlzIHRoZSBjYXNlIHRoZSBjYXNlIElEIG9mIHRoZSBwYXJlbnQgZmlsdGVyIHdpbGwgYmUgc2V0IGludG8gdGhlIG5ld2x5IGNyZWF0ZWQgZmlsdGVyIGNhc2UuXG4gICAgICogSWYgbm90IHNldCBpdCBpbXBsaWVzIHRoaXMgaXMgYSBmaWx0ZXIgb3JpZ2luYXRpbmcgaW4gYW4gaW4tYXBwIHZpZXcgYW5kIGl0cyB2aWV3IGlkIHdpbGwgYmUgc2V0IGludG8gdGhlIGNyZWF0ZWQgZmlsdGVyLlxuICAgICAqIEByZXR1cm5zIGFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgaWQgb2YgdGhlIGNyZWF0ZWQgRmlsdGVyIGNhc2UgaW5zdGFuY2Ugb3IgYHVuZGVmaW5lZGAgaWYgdGhlIHVzZXIgY2FuY2VsZWQgdGhlIHNhdmUgcHJvY2VzcyxcbiAgICAgKiBvciB0aGUgZmlsdGVyIGNvdWxkIG5vdCBiZSBzYXZlZFxuICAgICAqL1xuICAgIHB1YmxpYyBzYXZlKHNlYXJjaFNlcnZpY2U6IFNlYXJjaFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgYWxsb3dlZE5ldHM6IFJlYWRvbmx5QXJyYXk8c3RyaW5nPixcbiAgICAgICAgICAgICAgICBzZWFyY2hDYXRlZ29yaWVzOiBSZWFkb25seUFycmF5PFR5cGU8Q2F0ZWdvcnk8YW55Pj4+LFxuICAgICAgICAgICAgICAgIHZpZXdJZD86IHN0cmluZyxcbiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsRGF0YTogVGFza1NldERhdGFSZXF1ZXN0RmllbGRzID0ge30sXG4gICAgICAgICAgICAgICAgd2l0aERlZmF1bHRDYXRlZ29yaWVzID0gdHJ1ZSxcbiAgICAgICAgICAgICAgICBpbmhlcml0QWxsb3dlZE5ldHMgPSB0cnVlLFxuICAgICAgICAgICAgICAgIG5hdmlnYXRpb25JdGVtVGFza0RhdGE6IEFycmF5PERhdGFHcm91cD4gPSBudWxsKTogT2JzZXJ2YWJsZTxTYXZlZEZpbHRlck1ldGFkYXRhPiB7XG4gICAgICAgIGlmICghc2VhcmNoU2VydmljZS5hZGRpdGlvbmFsRmlsdGVyc0FwcGxpZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2xvZy53YXJuKCdUaGUgcHJvdmlkZWQgU2VhcmNoU2VydmljZSBjb250YWlucyBubyBmaWx0ZXIgYmVzaWRlcyB0aGUgYmFzZSBmaWx0ZXIuIE5vdGhpbmcgdG8gc2F2ZS4nKTtcbiAgICAgICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3IFJlcGxheVN1YmplY3Q8U2F2ZWRGaWx0ZXJNZXRhZGF0YT4oMSk7XG4gICAgICAgIHRoaXMuY3JlYXRlRmlsdGVyQ2FzZUFuZFNldERhdGEoXG4gICAgICAgICAgICBzZWFyY2hTZXJ2aWNlLFxuICAgICAgICAgICAgYWxsb3dlZE5ldHMsXG4gICAgICAgICAgICBzZWFyY2hDYXRlZ29yaWVzLFxuICAgICAgICAgICAgdmlld0lkLFxuICAgICAgICAgICAgYWRkaXRpb25hbERhdGEsXG4gICAgICAgICAgICB3aXRoRGVmYXVsdENhdGVnb3JpZXMsXG4gICAgICAgICAgICBpbmhlcml0QWxsb3dlZE5ldHMsXG4gICAgICAgICAgICBuYXZpZ2F0aW9uSXRlbVRhc2tEYXRhXG4gICAgICAgICkuc3Vic2NyaWJlKGZpbHRlckNhc2VJZCA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWYgPSB0aGlzLl9zaWRlTWVudVNlcnZpY2Uub3Blbih0aGlzLl9zYXZlRmlsdGVyQ29tcG9uZW50LCBTaWRlTWVudVNpemUuTEFSR0UsIHtcbiAgICAgICAgICAgICAgICBuZXdGaWx0ZXJDYXNlSWQ6IGZpbHRlckNhc2VJZFxuICAgICAgICAgICAgfSBhcyBTYXZlRmlsdGVySW5qZWN0aW9uRGF0YSk7XG4gICAgICAgICAgICByZWYub25DbG9zZS5waXBlKGZpbHRlcihlID0+ICFlLm9wZW5lZCksIHRha2UoMSkpLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50Lm1lc3NhZ2UgPT09ICdTaWRlIG1lbnUgY2xvc2VkIHVuZXhwZWN0ZWRseScpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWxldGUoZmlsdGVyQ2FzZUlkKTtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0Lm5leHQoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQubmV4dCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJDYXNlSWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGxvd2VkTmV0czogWy4uLmFsbG93ZWROZXRzXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpblZpZXdJZDogdmlld0lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyTWV0YWRhdGE6IHRoaXMuZmlsdGVyTWV0YWRhdGFGcm9tU2VhcmNoU2VydmljZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaENhdGVnb3JpZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aERlZmF1bHRDYXRlZ29yaWVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaGVyaXRBbGxvd2VkTmV0c1xuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjogU2ltcGxlRmlsdGVyLmZyb21RdWVyeSh7cXVlcnk6IHNlYXJjaFNlcnZpY2Uucm9vdFByZWRpY2F0ZS5xdWVyeS52YWx1ZX0sIHNlYXJjaFNlcnZpY2UuZmlsdGVyVHlwZSlcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlc3VsdC5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNhdmVzIHRoZSBwcmVkaWNhdGUgZmlsdGVyIGNvbnRhaW5lZCBpbiB0aGUgcHJvdmlkZWQge0BsaW5rIFNlYXJjaFNlcnZpY2V9IGluc3RhbmNlLlxuICAgICAqXG4gICAgICogVGhlIGJhc2UgZmlsdGVyIG9mIHRoZSBzZWFyY2ggc2VydmljZSBpcyBub3Qgc2F2ZWQuXG4gICAgICpcbiAgICAgKiBBIG5ldyBmaWx0ZXIgY2FzZSBpcyBjcmVhdGVkIGFuZCB0aGUgbmVjZXNzYXJ5IGZpbHRlciBpbmZvcm1hdGlvbiBpcyBzZXQgaW50byBpdC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzZWFyY2hTZXJ2aWNlIHNlYXJjaCBzZXJ2aWNlIGNvbnRhaW5pbmcgYSBwcmVkaWNhdGUgZmlsdGVyLCB3ZSB3YW50IHRvIHNhdmVcbiAgICAgKiBAcGFyYW0gYWxsb3dlZE5ldHMgYWxsb3dlZCBuZXRzIG9mIHRoZSB2aWV3LCB0aGF0IGNvbnRhaW5zIHRoZSBzZWFyY2ggc2VydmljZVxuICAgICAqIEBwYXJhbSBzZWFyY2hDYXRlZ29yaWVzIHNlYXJjaCBjYXRlZ29yaWVzIGF2YWlsYWJsZSBpbiB0aGUgc2F2ZWQgYWR2YW5jZWQgc2VhcmNoIGNvbXBvbmVudFxuICAgICAqIEBwYXJhbSB2aWV3SWQgdGhlIHZpZXdJZCBvZiB0aGUgdmlldyB3aGljaCBjb250YWluZWQgdGhlIGZpbHRlci5cbiAgICAgKiBJZiBuZWl0aGVyIHRoZSBgdmlld0lkYCBub3IgdGhlIGBuYXZpZ2F0aW9uSXRlbVRhc2tEYXRhYCBhdHRyaWJ1dGUgaXMgc2V0IHRoZSBmaWx0ZXIgd2lsbCBiZSBjcmVhdGVkIGFzIGEgbmV3IHJvb3QgZmlsdGVyXG4gICAgICogd2l0aG91dCBhbnkgcGFyZW50IGZpbHRlciBsaW5rLiBUaGlzIHdpbGwgbW9zdCBsaWtlbHkgcmVzdWx0IGluIHRoZSBmaWx0ZXIgYmVpbmcgbGVzcyByZXN0cmljdGl2ZSB0aGFuIHdoYXRcbiAgICAgKiB0aGUgdXNlciBzZWVzIGluIHRoZSBjdXJyZW50IHZpZXcsIHNpbmNlIHRoZSBiYXNlIGZpbHRlciBvZiB0aGUgdmlldyB3aWxsIE5PVCBiZSBzYXZlZCBhbG9uZ3NpZGUgdGhlIHNhdmVkIGZpbHRlci5cbiAgICAgKiBAcGFyYW0gYWRkaXRpb25hbERhdGEgc2V0IGRhdGEgcmVxdWVzdCBib2R5LCB0aGF0IGlzIHNlbnQgdG8gdGhlIGZpbHRlciBpbiBhZGRpdGlvbiB0byB0aGUgZGVmYXVsdCBib2R5LlxuICAgICAqIFRoZSBkZWZhdWx0IGJvZHkgaXMgYXBwbGllZCBmaXJzdCBhbmQgY2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhpcyBhcmd1bWVudC5cbiAgICAgKiBAcGFyYW0gd2l0aERlZmF1bHRDYXRlZ29yaWVzIFdoZXRoZXIgdGhlIHNhdmVkIGZpbHRlciBzaG91bGQgYmUgc2F2ZWQgd2l0aFxuICAgICAqIHRoZSBbZGVmYXVsdFNlYXJjaENhdGVnb3JpZXNde0BsaW5rIEZpbHRlck1ldGFkYXRhI2RlZmF1bHRTZWFyY2hDYXRlZ29yaWVzfSBmbGFnIHNldCB0byBgdHJ1ZWAsIG9yIGBmYWxzZWAuXG4gICAgICogQHBhcmFtIGluaGVyaXRBbGxvd2VkTmV0cyBXaGV0aGVyIHRoZSBzYXZlZCBmaWx0ZXIgc2hvdWxkIG1lcmdlIGl0cyBhbGxvd2VkIG5ldHMgd2l0aCB0aGUgYWxsb3dlZCBuZXRzIHByb3ZpZGVkIGJ5XG4gICAgICogdGhlIHtAbGluayBCYXNlQWxsb3dlZE5ldHNTZXJ2aWNlfS5cbiAgICAgKiBAcGFyYW0gbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YSBpZiBwcm92aWRlZCB0aGVuIGl0IGltcGxpZXMgdGhlIGZpbHRlciBoYXMgYSBwYXJlbnQgZmlsdGVyIHRoYXQgY3JlYXRlZCBpdHMgaG9zdCBkeW5hbWljIHZpZXcuXG4gICAgICogSWYgdGhpcyBpcyB0aGUgY2FzZSB0aGUgY2FzZSBJRCBvZiB0aGUgcGFyZW50IGZpbHRlciB3aWxsIGJlIHNldCBpbnRvIHRoZSBuZXdseSBjcmVhdGVkIGZpbHRlciBjYXNlLlxuICAgICAqIElmIG5vdCBzZXQgaXQgaW1wbGllcyB0aGlzIGlzIGEgZmlsdGVyIG9yaWdpbmF0aW5nIGluIGFuIGluLWFwcCB2aWV3IGFuZCBpdHMgdmlldyBpZCB3aWxsIGJlIHNldCBpbnRvIHRoZSBjcmVhdGVkIGZpbHRlci5cbiAgICAgKiBAcmV0dXJucyBhbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGlkIG9mIHRoZSBjcmVhdGVkIEZpbHRlciBjYXNlIGluc3RhbmNlXG4gICAgICovXG4gICAgcHVibGljIGNyZWF0ZUZpbHRlckNhc2VBbmRTZXREYXRhKHNlYXJjaFNlcnZpY2U6IFNlYXJjaFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93ZWROZXRzOiBSZWFkb25seUFycmF5PHN0cmluZz4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaENhdGVnb3JpZXM6IFJlYWRvbmx5QXJyYXk8VHlwZTxDYXRlZ29yeTxhbnk+Pj4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD86IHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbERhdGE6IFRhc2tTZXREYXRhUmVxdWVzdEZpZWxkcyA9IHt9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoRGVmYXVsdENhdGVnb3JpZXMgPSB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmhlcml0QWxsb3dlZE5ldHMgPSB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXZpZ2F0aW9uSXRlbVRhc2tEYXRhOiBBcnJheTxEYXRhR3JvdXA+ID0gbnVsbCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBSZXBsYXlTdWJqZWN0PHN0cmluZz4oMSk7XG4gICAgICAgIHRoaXMud2hlbkluaXRpYWxpemVkKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Nhc2VTZXJ2aWNlLmNyZWF0ZUNhc2Uoe1xuICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLl9maWx0ZXJOZXQuZGVmYXVsdENhc2VOYW1lLFxuICAgICAgICAgICAgICAgIG5ldElkOiB0aGlzLl9maWx0ZXJOZXQuc3RyaW5nSWRcbiAgICAgICAgICAgIH0pLnN1YnNjcmliZShmaWx0ZXJDYXNlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl90YXNrU2VydmljZS5nZXRUYXNrcyhTaW1wbGVGaWx0ZXIuZnJvbVRhc2tRdWVyeSh7XG4gICAgICAgICAgICAgICAgICAgIGNhc2U6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAoZmlsdGVyQ2FzZS5vdXRjb21lIGFzIENyZWF0ZUNhc2VFdmVudE91dGNvbWUpLmFDYXNlLnN0cmluZ0lkXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSkuc3Vic2NyaWJlKHBhZ2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWhhc0NvbnRlbnQocGFnZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgZmlsdGVyIHByb2Nlc3MgdG8gY29udGFpbiB0YXNrcywgYnV0IG5vbmUgd2VyZSBmb3VuZCEnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluaXRUYXNrID0gcGFnZS5jb250ZW50LmZpbmQodGFzayA9PiB0YXNrLnRyYW5zaXRpb25JZCA9PT0gVXNlckZpbHRlckNvbnN0YW50cy5TRVRfRklMVEVSX01FVEFEQVRBX1RSQU5TSVRJT05fSUQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaW5pdFRhc2sgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBmaWx0ZXIgcHJvY2VzcyB0byBjb250YWluIHRhc2sgJyR7VXNlckZpbHRlckNvbnN0YW50cy5TRVRfRklMVEVSX01FVEFEQVRBX1RSQU5TSVRJT05fSURcbiAgICAgICAgICAgICAgICAgICAgICAgIH0nLCBidXQgbm9uZSB3YXMgZm91bmQhYCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXF1ZXN0Qm9keSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFtVc2VyRmlsdGVyQ29uc3RhbnRzLkZJTFRFUl9UWVBFX0ZJRUxEX0lEXToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZVJlc291cmNlLkVOVU1FUkFUSU9OX01BUCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogc2VhcmNoU2VydmljZS5maWx0ZXJUeXBlXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgW1VzZXJGaWx0ZXJDb25zdGFudHMuRklMVEVSX0ZJRUxEX0lEXToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZVJlc291cmNlLkZJTFRFUixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogc2VhcmNoU2VydmljZS5yb290UHJlZGljYXRlLnF1ZXJ5LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93ZWROZXRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlck1ldGFkYXRhOiB0aGlzLmZpbHRlck1ldGFkYXRhRnJvbVNlYXJjaFNlcnZpY2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaENhdGVnb3JpZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhEZWZhdWx0Q2F0ZWdvcmllcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5oZXJpdEFsbG93ZWROZXRzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICBsZXQgcGFyZW50RmlsdGVyQ2FzZUlkRmllbGQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChuYXZpZ2F0aW9uSXRlbVRhc2tEYXRhICE9PSBudWxsICYmIG5hdmlnYXRpb25JdGVtVGFza0RhdGEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50RmlsdGVyQ2FzZUlkRmllbGQgPSBnZXRGaWVsZEZyb21EYXRhR3JvdXBzKG5hdmlnYXRpb25JdGVtVGFza0RhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVXNlckZpbHRlckNvbnN0YW50cy5GSUxURVJfQ0FTRV9JRF9GSUVMRF9JRCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAocGFyZW50RmlsdGVyQ2FzZUlkRmllbGQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdEJvZHlbVXNlckZpbHRlckNvbnN0YW50cy5QQVJFTlRfRklMVEVSX0NBU0VfSURfRklFTERfSURdID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZVJlc291cmNlLlRFWFQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHBhcmVudEZpbHRlckNhc2VJZEZpZWxkLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHZpZXdJZCAhPT0gdW5kZWZpbmVkIHx8IHZpZXdJZCAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RCb2R5W1VzZXJGaWx0ZXJDb25zdGFudHMuT1JJR0lOX1ZJRVdfSURfRklFTERfSURdID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZVJlc291cmNlLlRFWFQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHZpZXdJZFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXNzaWduU2V0RGF0YUZpbmlzaChpbml0VGFzaywge1xuICAgICAgICAgICAgICAgICAgICAgICAgW2luaXRUYXNrLnN0cmluZ0lkXToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnJlcXVlc3RCb2R5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmFkZGl0aW9uYWxEYXRhXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sIHRoaXMuX2NhbGxDaGFpblNlcnZpY2UuY3JlYXRlKHN1Y2Nlc3MgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGaWx0ZXIgaW5zdGFuY2UgY291bGQgbm90IGJlIGluaXRpYWxpemVkJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5uZXh0KChmaWx0ZXJDYXNlLm91dGNvbWUgYXMgQ3JlYXRlQ2FzZUV2ZW50T3V0Y29tZSkuYUNhc2Uuc3RyaW5nSWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCAnc2F2ZVdpdGhTaWRlTWVudScpO1xuICAgICAgICByZXR1cm4gcmVzdWx0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB3aGVuSW5pdGlhbGl6ZWQob25TdWNjZXNzOiAoKSA9PiB2b2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kPzogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25GYWlsdXJlOiAoKSA9PiB2b2lkID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5lcnJvcihgVXNlckZpbHRlclNlcnZpY2UgZmFpbGVkIHRvIGluaXRpYWxpemUgYW5kIHRoZSBjYWxsZWQgbWV0aG9kJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kID8gJyAoJyArIG1ldGhvZCArICcpJyA6ICcnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBjYW5ub3QgYmUgcGVyZm9ybWVkYCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSB7XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemVkJC5hc09ic2VydmFibGUoKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZShpbml0aWFsaXplZCA9PiB7XG4gICAgICAgICAgICBpbml0aWFsaXplZCA/IG9uU3VjY2VzcygpIDogb25GYWlsdXJlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIFRPRE8gNi40LjIwMjEgSU1QUk9WRU1FTlQgLSBleHRyYWN0IHNpbWlsYXIgbWV0aG9kIGludG8gc29tZSB1dGlsaXR5IHNlcnZpY2VcbiAgICBwcm90ZWN0ZWQgYXNzaWduU2V0RGF0YUZpbmlzaCh0YXNrOiBUYXNrLCBkYXRhOiBUYXNrU2V0RGF0YVJlcXVlc3RCb2R5LCBjYWxsQ2hhaW46IFN1YmplY3Q8Ym9vbGVhbj4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFza1NlcnZpY2UuYXNzaWduVGFzayh0YXNrLnN0cmluZ0lkKS5zdWJzY3JpYmUoYXNzaWduT3V0Y29tZSA9PiB7XG4gICAgICAgICAgICBpZiAoYXNzaWduT3V0Y29tZS5lcnJvcikge1xuICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5lcnJvcihgQ291bGQgbm90IGFzc2lnbiB0YXNrICcke3Rhc2sudGl0bGV9J2AsIHRhc2ssIGFzc2lnbk91dGNvbWUuZXJyb3IpO1xuICAgICAgICAgICAgICAgIGNhbGxDaGFpbi5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fdGFza1NlcnZpY2Uuc2V0RGF0YSh0YXNrLnN0cmluZ0lkLCBkYXRhKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Rhc2tTZXJ2aWNlLmZpbmlzaFRhc2sodGFzay5zdHJpbmdJZCkuc3Vic2NyaWJlKGZpbmlzaE91dGNvbWUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZmluaXNoT3V0Y29tZS5lcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG9nLmVycm9yKGBDb3VsZCBub3QgZmluaXNoIHRhc2sgJyR7dGFzay50aXRsZX0nYCwgdGFzaywgZmluaXNoT3V0Y29tZS5lcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxsQ2hhaW4ubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjYWxsQ2hhaW4ubmV4dCh0cnVlKTtcbiAgICAgICAgICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5lcnJvcihgQ291bGQgbm90IGZpbmlzaCB0YXNrICcke3Rhc2sudGl0bGV9J2AsIHRhc2ssIGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgY2FsbENoYWluLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5lcnJvcihgQ291bGQgbm90IHNldCBkYXRhIG9mIHRhc2sgJyR7dGFzay50aXRsZX0nYCwgdGFzaywgZGF0YSwgZXJyb3IpO1xuICAgICAgICAgICAgICAgIGNhbGxDaGFpbi5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICB0aGlzLl9sb2cuZXJyb3IoYENvdWxkIG5vdCBhc3NpZ24gdGFzayAnJHt0YXNrLnRpdGxlfSdgLCB0YXNrLCBlcnJvcik7XG4gICAgICAgICAgICBjYWxsQ2hhaW4ubmV4dChmYWxzZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBmaWx0ZXJNZXRhZGF0YUZyb21TZWFyY2hTZXJ2aWNlKHNlYXJjaFNlcnZpY2U6IFNlYXJjaFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoQ2F0ZWdvcmllczogUmVhZG9ubHlBcnJheTxUeXBlPENhdGVnb3J5PGFueT4+PixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoRGVmYXVsdENhdGVnb3JpZXM6IGJvb2xlYW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5oZXJpdEFsbG93ZWROZXRzOiBib29sZWFuKTogRmlsdGVyTWV0YWRhdGEge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZmlsdGVyVHlwZTogc2VhcmNoU2VydmljZS5maWx0ZXJUeXBlLFxuICAgICAgICAgICAgcHJlZGljYXRlTWV0YWRhdGE6IHNlYXJjaFNlcnZpY2UuY3JlYXRlUHJlZGljYXRlTWV0YWRhdGEoKSxcbiAgICAgICAgICAgIHNlYXJjaENhdGVnb3JpZXM6IHNlYXJjaENhdGVnb3JpZXMubWFwKGMgPT4gdGhpcy5fY2F0ZWdvcnlSZXNvbHZlclNlcnZpY2Uuc2VyaWFsaXplKGMpKSxcbiAgICAgICAgICAgIGRlZmF1bHRTZWFyY2hDYXRlZ29yaWVzOiB3aXRoRGVmYXVsdENhdGVnb3JpZXMsXG4gICAgICAgICAgICBpbmhlcml0QWxsb3dlZE5ldHNcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
324
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1maWx0ZXJzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL2ZpbHRlci91c2VyLWZpbHRlcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBYSxRQUFRLEVBQU8sTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFhLEVBQUUsRUFBRSxhQUFhLEVBQVUsTUFBTSxNQUFNLENBQUM7QUFNNUQsT0FBTyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBSWxFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBRzVFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUdoRSxPQUFPLEVBQUMseUJBQXlCLEVBQUUseUJBQXlCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUd0SCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFaEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBTXRELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7QUFHNUQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sa0JBQWtCO0lBSzNCLFlBQXNCLFlBQWlDLEVBQ2pDLFlBQWlDLEVBQ2pDLGVBQStCLEVBQy9CLGlCQUFtQyxFQUNuQyxnQkFBaUMsRUFDakMsSUFBbUIsRUFDbkIsd0JBQWlELEVBQ0Ysb0JB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QixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkYsdUJBQXVCLEVBQUUscUJBQXFCO1lBQzlDLGtCQUFrQjtTQUNyQixDQUFDO0lBQ04sQ0FBQzs7Z0hBcFZRLGtCQUFrQix5UEFZSyx5QkFBeUIsNkJBQ3pCLHlCQUF5QjtvSEFiaEQsa0JBQWtCLGNBRmYsTUFBTTs0RkFFVCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFhZ0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx5QkFBeUI7OzBCQUM1QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2YsIFJlcGxheVN1YmplY3QsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDYXNlUmVzb3VyY2VTZXJ2aWNlfSBmcm9tICcuLi9yZXNvdXJjZXMvZW5naW5lLWVuZHBvaW50L2Nhc2UtcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge1Rhc2tSZXNvdXJjZVNlcnZpY2V9IGZyb20gJy4uL3Jlc291cmNlcy9lbmdpbmUtZW5kcG9pbnQvdGFzay1yZXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7U2VhcmNoU2VydmljZX0gZnJvbSAnLi4vc2VhcmNoL3NlYXJjaC1zZXJ2aWNlL3NlYXJjaC5zZXJ2aWNlJztcbmltcG9ydCB7UHJvY2Vzc1NlcnZpY2V9IGZyb20gJy4uL3Byb2Nlc3MvcHJvY2Vzcy5zZXJ2aWNlJztcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vbG9nZ2VyL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7ZmlsdGVyLCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1NpbXBsZUZpbHRlcn0gZnJvbSAnLi9tb2RlbHMvc2ltcGxlLWZpbHRlcic7XG5pbXBvcnQge2hhc0NvbnRlbnR9IGZyb20gJy4uL3V0aWxpdHkvcGFnaW5hdGlvbi9wYWdlLWhhcy1jb250ZW50JztcbmltcG9ydCB7VGFza30gZnJvbSAnLi4vcmVzb3VyY2VzL2ludGVyZmFjZS90YXNrJztcbmltcG9ydCB7Q2FsbENoYWluU2VydmljZX0gZnJvbSAnLi4vdXRpbGl0eS9jYWxsLWNoYWluL2NhbGwtY2hhaW4uc2VydmljZSc7XG5pbXBvcnQge1Rhc2tTZXREYXRhUmVxdWVzdEJvZHksIFRhc2tTZXREYXRhUmVxdWVzdEZpZWxkc30gZnJvbSAnLi4vcmVzb3VyY2VzL2ludGVyZmFjZS90YXNrLXNldC1kYXRhLXJlcXVlc3QtYm9keSc7XG5pbXBvcnQge0ZpZWxkVHlwZVJlc291cmNlfSBmcm9tICcuLi90YXNrLWNvbnRlbnQvbW9kZWwvZmllbGQtdHlwZS1yZXNvdXJjZSc7XG5pbXBvcnQge0NhdGVnb3J5fSBmcm9tICcuLi9zZWFyY2gvbW9kZWxzL2NhdGVnb3J5L2NhdGVnb3J5JztcbmltcG9ydCB7TmV0fSBmcm9tICcuLi9wcm9jZXNzL25ldCc7XG5pbXBvcnQge1VzZXJGaWx0ZXJDb25zdGFudHN9IGZyb20gJy4vbW9kZWxzL3VzZXItZmlsdGVyLWNvbnN0YW50cyc7XG5pbXBvcnQge1NpZGVNZW51U2l6ZX0gZnJvbSAnLi4vc2lkZS1tZW51L21vZGVscy9zaWRlLW1lbnUtc2l6ZSc7XG5pbXBvcnQge1NhdmVGaWx0ZXJJbmplY3Rpb25EYXRhfSBmcm9tICcuLi9zaWRlLW1lbnUvY29udGVudC1jb21wb25lbnRzL3NhdmUtZmlsdGVyL21vZGVsL3NhdmUtZmlsdGVyLWluamVjdGlvbi1kYXRhJztcbmltcG9ydCB7U2lkZU1lbnVTZXJ2aWNlfSBmcm9tICcuLi9zaWRlLW1lbnUvc2VydmljZXMvc2lkZS1tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHtOQUVfTE9BRF9GSUxURVJfQ09NUE9ORU5ULCBOQUVfU0FWRV9GSUxURVJfQ09NUE9ORU5UfSBmcm9tICcuLi9zaWRlLW1lbnUvY29udGVudC1jb21wb25lbnRzL2luamVjdGlvbi10b2tlbnMnO1xuaW1wb3J0IHtDb21wb25lbnRUeXBlfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7TG9hZEZpbHRlckluamVjdGlvbkRhdGF9IGZyb20gJy4uL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvbG9hZC1maWx0ZXIvbW9kZWwvbG9hZC1maWx0ZXItaW5qZWN0aW9uLWRhdGEnO1xuaW1wb3J0IHtGaWx0ZXJUeXBlfSBmcm9tICcuL21vZGVscy9maWx0ZXItdHlwZSc7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi9tb2RlbHMvZmlsdGVyJztcbmltcG9ydCB7TWVyZ2VPcGVyYXRvcn0gZnJvbSAnLi9tb2RlbHMvbWVyZ2Utb3BlcmF0b3InO1xuaW1wb3J0IHtTYXZlZEZpbHRlck1ldGFkYXRhfSBmcm9tICcuLi9zZWFyY2gvbW9kZWxzL3BlcnNpc3RhbmNlL3NhdmVkLWZpbHRlci1tZXRhZGF0YSc7XG5pbXBvcnQge0ZpbHRlck1ldGFkYXRhfSBmcm9tICcuLi9zZWFyY2gvbW9kZWxzL3BlcnNpc3RhbmNlL2ZpbHRlci1tZXRhZGF0YSc7XG5pbXBvcnQge0NyZWF0ZUNhc2VFdmVudE91dGNvbWV9IGZyb20gJy4uL2V2ZW50L21vZGVsL2V2ZW50LW91dGNvbWVzL2Nhc2Utb3V0Y29tZXMvY3JlYXRlLWNhc2UtZXZlbnQtb3V0Y29tZSc7XG5pbXBvcnQge0NhdGVnb3J5UmVzb2x2ZXJTZXJ2aWNlfSBmcm9tICcuLi9zZWFyY2gvY2F0ZWdvcnktZmFjdG9yeS9jYXRlZ29yeS1yZXNvbHZlci5zZXJ2aWNlJztcbmltcG9ydCB7RGF0YUdyb3VwfSBmcm9tICcuLi9yZXNvdXJjZXMvaW50ZXJmYWNlL2RhdGEtZ3JvdXBzJztcbmltcG9ydCB7Z2V0RmllbGRGcm9tRGF0YUdyb3Vwc30gZnJvbSAnLi4vdXRpbGl0eS9nZXQtZmllbGQnO1xuaW1wb3J0IHtFdmVudE91dGNvbWVNZXNzYWdlUmVzb3VyY2V9IGZyb20gJy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvbWVzc2FnZS1yZXNvdXJjZSc7XG5cbi8qKlxuICogU2VydmljZSB0aGF0IG1hbmFnZXMgZmlsdGVycyBjcmVhdGVkIGJ5IHVzZXJzIG9mIHRoZSBhcHBsaWNhdGlvbi5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBVc2VyRmlsdGVyc1NlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgcHJvdGVjdGVkIF9pbml0aWFsaXplZCQ6IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj47XG4gICAgcHJvdGVjdGVkIF9maWx0ZXJOZXQ6IE5ldDtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfY2FzZVNlcnZpY2U6IENhc2VSZXNvdXJjZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF90YXNrU2VydmljZTogVGFza1Jlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Byb2Nlc3NTZXJ2aWNlOiBQcm9jZXNzU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2NhbGxDaGFpblNlcnZpY2U6IENhbGxDaGFpblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zaWRlTWVudVNlcnZpY2U6IFNpZGVNZW51U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2NhdGVnb3J5UmVzb2x2ZXJTZXJ2aWNlOiBDYXRlZ29yeVJlc29sdmVyU2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9TQVZFX0ZJTFRFUl9DT01QT05FTlQpIHByb3RlY3RlZCBfc2F2ZUZpbHRlckNvbXBvbmVudDogQ29tcG9uZW50VHlwZTx1bmtub3duPixcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9MT0FEX0ZJTFRFUl9DT01QT05FTlQpIHByb3RlY3RlZCBfbG9hZEZpbHRlckNvbXBvbmVudDogQ29tcG9uZW50VHlwZTx1bmtub3duPikge1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplZCQgPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigxKTtcbiAgICAgICAgdGhpcy5fcHJvY2Vzc1NlcnZpY2UuZ2V0TmV0KFVzZXJGaWx0ZXJDb25zdGFudHMuRklMVEVSX05FVF9JREVOVElGSUVSKS5zdWJzY3JpYmUobmV0ID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2ZpbHRlck5ldCA9IG5ldDtcbiAgICAgICAgICAgIHRoaXMuX2luaXRpYWxpemVkJC5uZXh0KHRydWUpO1xuICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICB0aGlzLl9sb2cuZXJyb3IoYEZpbHRlciBuZXQgY291bGQgbm90IGJlIGxvYWRlZCB3aXRoIGVycm9yYCwgZXJyb3IpO1xuICAgICAgICAgICAgdGhpcy5faW5pdGlhbGl6ZWQkLm5leHQoZmFsc2UpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faW5pdGlhbGl6ZWQkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVsZXRlcyB0aGUgc3BlY2lmaWVkIGZpbHRlciBjYXNlIGJ5IGl0cyBjYXNlIGlkLlxuICAgICAqIEBwYXJhbSBmaWx0ZXJDYXNlSWQgU3RyaW5nSWQgb2YgdGhlIGZpbHRlciBjYXNlIHRoYXQgc2hvdWxkIGJlIGRlbGV0ZWRcbiAgICAgKiBAcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYHRydWVgIGlmIHRoZSBjYXNlIHdhcyBzdWNjZXNzZnVsbHkgZGVsZXRlZCBhbmQgYGZhbHNlYCBvdGhlcndpc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsZXRlKGZpbHRlckNhc2VJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCQgPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigxKTtcbiAgICAgICAgdGhpcy5fY2FzZVNlcnZpY2UuZGVsZXRlQ2FzZShmaWx0ZXJDYXNlSWQpLnN1YnNjcmliZSgocmVzcG9uc2U6IEV2ZW50T3V0Y29tZU1lc3NhZ2VSZXNvdXJjZSkgPT4ge1xuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2cuZGVidWcoJ0ZpbHRlciBjYXNlIGRlbGV0ZSBzdWNjZXNzJywgcmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgIHJlc3VsdCQubmV4dCh0cnVlKTtcbiAgICAgICAgICAgICAgICByZXN1bHQkLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5lcnJvcignRmlsdGVyIGNhc2UgZGVsZXRlIGZhaWx1cmUnLCByZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgcmVzdWx0JC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICByZXN1bHQkLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIGUgPT4ge1xuICAgICAgICAgICAgdGhpcy5fbG9nLmVycm9yKCdGaWx0ZXIgY2FzZSBkZWxldGUgZXJyb3InLCBlKTtcbiAgICAgICAgICAgIHJlc3VsdCQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICByZXN1bHQkLmNvbXBsZXRlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0JC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPcGVucyBhIHNpZGUgbWVudSB3aXRoIGZpbHRlciBjYXNlcyBhbmQgYWxsb3dzIHRoZSB1c2VyIHRvIHNlbGVjdCBvbmUgb2YgdGhlbS5cbiAgICAgKlxuICAgICAqIFRoZSBkZWZhdWx0IGZpbHRlciBjb25zdHJhaW5zIHRoZSBjYXNlcyB0byBiZSBpbnN0YW5jZXMgb2YgdGhlIGZpbHRlciBwcm9jZXNzIGFuZCB0byBiZSBmaWx0ZXJzIG9mIHRoZSBzcGVjaWZpZWQgdHlwZVxuICAgICAqIChgQ2FzZWAgb3IgYFRhc2tgKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWx0ZXJUeXBlIHdoZXRoZXIgYENhc2VgIG9yIGBUYXNrYCB1c2VyIGZpbHRlcnMgc2hvdWxkIGJlIGxvYWRlZFxuICAgICAqIEBwYXJhbSBhZGRpdGlvbmFsRmlsdGVyIGFkZGl0aW9uYWwgY29uc3RyYWlucyBvbiB0aGUgZGlzcGxheWVkIHVzZXIgZmlsdGVyIGNhc2VzLiBNdXN0IGJlIG9mIHR5cGUgYENhc2VgXG4gICAgICogb3RoZXJ3aXNlIHRoZSBtZXRob2QgdGhyb3dzIGFuIGVycm9yLiBJZiBpdCBpcyBhIHtAbGluayBNZXJnZWRGaWx0ZXJ9IG11c3QgdXNlIHRoZSBgQU5EYCB7QGxpbmsgTWVyZ2VPcGVyYXRvcn0gb3RoZXJ3aXNlIGFuIGVycm9yXG4gICAgICogd2lsbCBiZSB0aHJvd25cbiAgICAgKiBAcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGRhdGEgbmVjZXNzYXJ5IHRvIHJlY29uc3RydWN0IHRoZSBzZWxlY3RlZCBmaWx0ZXIsIG9yIGB1bmRlZmluZWRgIGlmIG5vIGZpbHRlciB3YXMgc2VsZWN0ZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgbG9hZChmaWx0ZXJUeXBlOiBGaWx0ZXJUeXBlLCBhZGRpdGlvbmFsRmlsdGVyPzogRmlsdGVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgaWYgKGFkZGl0aW9uYWxGaWx0ZXI/LnR5cGUgPT09IEZpbHRlclR5cGUuVEFTSykge1xuICAgICAgICAgICAgdGhpcy5fbG9nLmVycm9yKCdUaGUgYWRkaXRpb25hbCBmaWx0ZXIgYXBwbGllZCB0byBVc2VyRmlsdGVyc1NlcnZpY2UubG9hZCgpIG11c3QgYmUgb2YgdHlwZSBDYXNlJywgYWRkaXRpb25hbEZpbHRlcik7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignVGhlIGFkZGl0aW9uYWwgZmlsdGVyIGFwcGxpZWQgdG8gVXNlckZpbHRlcnNTZXJ2aWNlLmxvYWQoKSBtdXN0IGJlIG9mIHR5cGUgQ2FzZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGZpbHRlckNhc2VzRmlsdGVyID0gU2ltcGxlRmlsdGVyLmZyb21DYXNlUXVlcnkoe1xuICAgICAgICAgICAgcHJvY2Vzczoge1xuICAgICAgICAgICAgICAgIGlkZW50aWZpZXI6IFVzZXJGaWx0ZXJDb25zdGFudHMuRklMVEVSX05FVF9JREVOVElGSUVSXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcXVlcnk6IGBkYXRhU2V0LiR7VXNlckZpbHRlckNvbnN0YW50cy5GSUxURVJfVFlQRV9GSUVMRF9JRH0ua2V5VmFsdWU6JHtmaWx0ZXJUeXBlfWBcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghIWFkZGl0aW9uYWxGaWx0ZXIpIHtcbiAgICAgICAgICAgIGZpbHRlckNhc2VzRmlsdGVyID0gZmlsdGVyQ2FzZXNGaWx0ZXIubWVyZ2UoYWRkaXRpb25hbEZpbHRlciwgTWVyZ2VPcGVyYXRvci5BTkQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3IFJlcGxheVN1YmplY3Q8YW55PigxKTtcbiAgICAgICAgY29uc3QgcmVmID0gdGhpcy5fc2lkZU1lbnVTZXJ2aWNlLm9wZW4odGhpcy5fbG9hZEZpbHRlckNvbXBvbmVudCwgU2lkZU1lbnVTaXplLkxBUkdFLCB7XG4gICAgICAgICAgICBmaWx0ZXI6IGZpbHRlckNhc2VzRmlsdGVyXG4gICAgICAgIH0gYXMgTG9hZEZpbHRlckluamVjdGlvbkRhdGEpO1xuICAgICAgICByZWYub25DbG9zZS5waXBlKGZpbHRlcihlID0+ICFlLm9wZW5lZCksIHRha2UoMSkpLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgICBpZiAoZXZlbnQubWVzc2FnZSA9PT0gJ1NpZGUgbWVudSBjbG9zZWQgdW5leHBlY3RlZGx5Jykge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5uZXh0KCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5uZXh0KGV2ZW50LmRhdGEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzdWx0LmNvbXBsZXRlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNhdmVzIHRoZSBwcmVkaWNhdGUgZmlsdGVyIGNvbnRhaW5lZCBpbiB0aGUgcHJvdmlkZWQge0BsaW5rIFNlYXJjaFNlcnZpY2V9IGluc3RhbmNlLlxuICAgICAqXG4gICAgICogVGhlIGJhc2UgZmlsdGVyIG9mIHRoZSBzZWFyY2ggc2VydmljZSBpcyBub3Qgc2F2ZWQuXG4gICAgICpcbiAgICAgKiBBIG5ldyBmaWx0ZXIgY2FzZSBpcyBjcmVhdGVkIGFuZCB0aGUgbmVjZXNzYXJ5IGZpbHRlciBpbmZvcm1hdGlvbiBpcyBzZXQgaW50byBpdC5cbiAgICAgKlxuICAgICAqIFRoZW4gYSBzaWRlIG1lbnUgd2l0aCB0aGUgZmlsdGVyIGlzIG9wZW5lZCBmb3IgdGhlIHVzZXIgdG8gZW50ZXIgdGhlIG5hbWUgYW5kIG90aGVyIHByb3BlcnRpZXMuXG4gICAgICogVGhlIHVzZXIgY2FuIGNvbmZpcm0gb3IgY2FuY2VsIHRoZSBzYXZlIGJ5IGZpbmlzaGluZyB0aGUgdGFzayBpbiB0aGUgc2lkZSBtZW51LCBvciBieSBjYW5jZWxpbmcvY2xvc2luZy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzZWFyY2hTZXJ2aWNlIHNlYXJjaCBzZXJ2aWNlIGNvbnRhaW5pbmcgYSBwcmVkaWNhdGUgZmlsdGVyLCB3ZSB3YW50IHRvIHNhdmVcbiAgICAgKiBAcGFyYW0gYWxsb3dlZE5ldHMgYWxsb3dlZCBuZXRzIG9mIHRoZSB2aWV3LCB0aGF0IGNvbnRhaW5zIHRoZSBzZWFyY2ggc2VydmljZVxuICAgICAqIEBwYXJhbSBzZWFyY2hDYXRlZ29yaWVzIHNlYXJjaCBjYXRlZ29yaWVzIGF2YWlsYWJsZSBpbiB0aGUgc2F2ZWQgYWR2YW5jZWQgc2VhcmNoIGNvbXBvbmVudFxuICAgICAqIEBwYXJhbSB2aWV3SWQgdGhlIHZpZXdJZCBvZiB0aGUgdmlldyB3aGljaCBjb250YWluZWQgdGhlIGZpbHRlci5cbiAgICAgKiBJZiBuZWl0aGVyIHRoZSBgdmlld0lkYCBub3IgdGhlIGBuYXZpZ2F0aW9uSXRlbVRhc2tEYXRhYCBhdHRyaWJ1dGUgaXMgc2V0IHRoZSBmaWx0ZXIgd2lsbCBiZSBjcmVhdGVkIGFzIGEgbmV3IHJvb3QgZmlsdGVyXG4gICAgICogd2l0aG91dCBhbnkgcGFyZW50IGZpbHRlciBsaW5rLiBUaGlzIHdpbGwgbW9zdCBsaWtlbHkgcmVzdWx0IGluIHRoZSBmaWx0ZXIgYmVpbmcgbGVzcyByZXN0cmljdGl2ZSB0aGFuIHdoYXRcbiAgICAgKiB0aGUgdXNlciBzZWVzIGluIHRoZSBjdXJyZW50IHZpZXcsIHNpbmNlIHRoZSBiYXNlIGZpbHRlciBvZiB0aGUgdmlldyB3aWxsIE5PVCBiZSBzYXZlZCBhbG9uZ3NpZGUgdGhlIHNhdmVkIGZpbHRlci5cbiAgICAgKiBAcGFyYW0gYWRkaXRpb25hbERhdGEgc2V0IGRhdGEgcmVxdWVzdCBib2R5LCB0aGF0IGlzIHNlbnQgdG8gdGhlIGZpbHRlciBpbiBhZGRpdGlvbiB0byB0aGUgZGVmYXVsdCBib2R5LlxuICAgICAqIFRoZSBkZWZhdWx0IGJvZHkgaXMgYXBwbGllZCBmaXJzdCBhbmQgY2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhpcyBhcmd1bWVudC5cbiAgICAgKiBAcGFyYW0gd2l0aERlZmF1bHRDYXRlZ29yaWVzIFdoZXRoZXIgdGhlIHNhdmVkIGZpbHRlciBzaG91bGQgYmUgc2F2ZWQgd2l0aFxuICAgICAqIHRoZSBbZGVmYXVsdFNlYXJjaENhdGVnb3JpZXNde0BsaW5rIEZpbHRlck1ldGFkYXRhI2RlZmF1bHRTZWFyY2hDYXRlZ29yaWVzfSBmbGFnIHNldCB0byBgdHJ1ZWAsIG9yIGBmYWxzZWAuXG4gICAgICogQHBhcmFtIGluaGVyaXRBbGxvd2VkTmV0cyBXaGV0aGVyIHRoZSBzYXZlZCBmaWx0ZXIgc2hvdWxkIG1lcmdlIGl0cyBhbGxvd2VkIG5ldHMgd2l0aCB0aGUgYWxsb3dlZCBuZXRzIHByb3ZpZGVkIGJ5XG4gICAgICogdGhlIHtAbGluayBCYXNlQWxsb3dlZE5ldHNTZXJ2aWNlfS5cbiAgICAgKiBAcGFyYW0gbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YSBpZiBwcm92aWRlZCB0aGVuIGl0IGltcGxpZXMgdGhlIGZpbHRlciBoYXMgYSBwYXJlbnQgZmlsdGVyIHRoYXQgY3JlYXRlZCBpdHMgaG9zdCBkeW5hbWljIHZpZXcuXG4gICAgICogSWYgdGhpcyBpcyB0aGUgY2FzZSB0aGUgY2FzZSBJRCBvZiB0aGUgcGFyZW50IGZpbHRlciB3aWxsIGJlIHNldCBpbnRvIHRoZSBuZXdseSBjcmVhdGVkIGZpbHRlciBjYXNlLlxuICAgICAqIElmIG5vdCBzZXQgaXQgaW1wbGllcyB0aGlzIGlzIGEgZmlsdGVyIG9yaWdpbmF0aW5nIGluIGFuIGluLWFwcCB2aWV3IGFuZCBpdHMgdmlldyBpZCB3aWxsIGJlIHNldCBpbnRvIHRoZSBjcmVhdGVkIGZpbHRlci5cbiAgICAgKiBAcmV0dXJucyBhbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGlkIG9mIHRoZSBjcmVhdGVkIEZpbHRlciBjYXNlIGluc3RhbmNlIG9yIGB1bmRlZmluZWRgIGlmIHRoZSB1c2VyIGNhbmNlbGVkIHRoZSBzYXZlIHByb2Nlc3MsXG4gICAgICogb3IgdGhlIGZpbHRlciBjb3VsZCBub3QgYmUgc2F2ZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgc2F2ZShzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIGFsbG93ZWROZXRzOiBSZWFkb25seUFycmF5PHN0cmluZz4sXG4gICAgICAgICAgICAgICAgc2VhcmNoQ2F0ZWdvcmllczogUmVhZG9ubHlBcnJheTxUeXBlPENhdGVnb3J5PGFueT4+PixcbiAgICAgICAgICAgICAgICB2aWV3SWQ/OiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgYWRkaXRpb25hbERhdGE6IFRhc2tTZXREYXRhUmVxdWVzdEZpZWxkcyA9IHt9LFxuICAgICAgICAgICAgICAgIHdpdGhEZWZhdWx0Q2F0ZWdvcmllcyA9IHRydWUsXG4gICAgICAgICAgICAgICAgaW5oZXJpdEFsbG93ZWROZXRzID0gdHJ1ZSxcbiAgICAgICAgICAgICAgICBuYXZpZ2F0aW9uSXRlbVRhc2tEYXRhOiBBcnJheTxEYXRhR3JvdXA+ID0gbnVsbCk6IE9ic2VydmFibGU8U2F2ZWRGaWx0ZXJNZXRhZGF0YT4ge1xuICAgICAgICBpZiAoIXNlYXJjaFNlcnZpY2UuYWRkaXRpb25hbEZpbHRlcnNBcHBsaWVkKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2cud2FybignVGhlIHByb3ZpZGVkIFNlYXJjaFNlcnZpY2UgY29udGFpbnMgbm8gZmlsdGVyIGJlc2lkZXMgdGhlIGJhc2UgZmlsdGVyLiBOb3RoaW5nIHRvIHNhdmUuJyk7XG4gICAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBSZXBsYXlTdWJqZWN0PFNhdmVkRmlsdGVyTWV0YWRhdGE+KDEpO1xuICAgICAgICB0aGlzLmNyZWF0ZUZpbHRlckNhc2VBbmRTZXREYXRhKFxuICAgICAgICAgICAgc2VhcmNoU2VydmljZSxcbiAgICAgICAgICAgIGFsbG93ZWROZXRzLFxuICAgICAgICAgICAgc2VhcmNoQ2F0ZWdvcmllcyxcbiAgICAgICAgICAgIHZpZXdJZCxcbiAgICAgICAgICAgIGFkZGl0aW9uYWxEYXRhLFxuICAgICAgICAgICAgd2l0aERlZmF1bHRDYXRlZ29yaWVzLFxuICAgICAgICAgICAgaW5oZXJpdEFsbG93ZWROZXRzLFxuICAgICAgICAgICAgbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YVxuICAgICAgICApLnN1YnNjcmliZShmaWx0ZXJDYXNlSWQgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVmID0gdGhpcy5fc2lkZU1lbnVTZXJ2aWNlLm9wZW4odGhpcy5fc2F2ZUZpbHRlckNvbXBvbmVudCwgU2lkZU1lbnVTaXplLkxBUkdFLCB7XG4gICAgICAgICAgICAgICAgbmV3RmlsdGVyQ2FzZUlkOiBmaWx0ZXJDYXNlSWRcbiAgICAgICAgICAgIH0gYXMgU2F2ZUZpbHRlckluamVjdGlvbkRhdGEpO1xuICAgICAgICAgICAgcmVmLm9uQ2xvc2UucGlwZShmaWx0ZXIoZSA9PiAhZS5vcGVuZWQpLCB0YWtlKDEpKS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChldmVudC5tZXNzYWdlID09PSAnU2lkZSBtZW51IGNsb3NlZCB1bmV4cGVjdGVkbHknKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVsZXRlKGZpbHRlckNhc2VJZCk7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5uZXh0KCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0Lm5leHQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyQ2FzZUlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3dlZE5ldHM6IFsuLi5hbGxvd2VkTmV0c10sXG4gICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5WaWV3SWQ6IHZpZXdJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlck1ldGFkYXRhOiB0aGlzLmZpbHRlck1ldGFkYXRhRnJvbVNlYXJjaFNlcnZpY2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hDYXRlZ29yaWVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhEZWZhdWx0Q2F0ZWdvcmllcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmhlcml0QWxsb3dlZE5ldHNcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IFNpbXBsZUZpbHRlci5mcm9tUXVlcnkoe3F1ZXJ5OiBzZWFyY2hTZXJ2aWNlLnJvb3RQcmVkaWNhdGUucXVlcnkudmFsdWV9LCBzZWFyY2hTZXJ2aWNlLmZpbHRlclR5cGUpXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXN1bHQuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTYXZlcyB0aGUgcHJlZGljYXRlIGZpbHRlciBjb250YWluZWQgaW4gdGhlIHByb3ZpZGVkIHtAbGluayBTZWFyY2hTZXJ2aWNlfSBpbnN0YW5jZS5cbiAgICAgKlxuICAgICAqIFRoZSBiYXNlIGZpbHRlciBvZiB0aGUgc2VhcmNoIHNlcnZpY2UgaXMgbm90IHNhdmVkLlxuICAgICAqXG4gICAgICogQSBuZXcgZmlsdGVyIGNhc2UgaXMgY3JlYXRlZCBhbmQgdGhlIG5lY2Vzc2FyeSBmaWx0ZXIgaW5mb3JtYXRpb24gaXMgc2V0IGludG8gaXQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc2VhcmNoU2VydmljZSBzZWFyY2ggc2VydmljZSBjb250YWluaW5nIGEgcHJlZGljYXRlIGZpbHRlciwgd2Ugd2FudCB0byBzYXZlXG4gICAgICogQHBhcmFtIGFsbG93ZWROZXRzIGFsbG93ZWQgbmV0cyBvZiB0aGUgdmlldywgdGhhdCBjb250YWlucyB0aGUgc2VhcmNoIHNlcnZpY2VcbiAgICAgKiBAcGFyYW0gc2VhcmNoQ2F0ZWdvcmllcyBzZWFyY2ggY2F0ZWdvcmllcyBhdmFpbGFibGUgaW4gdGhlIHNhdmVkIGFkdmFuY2VkIHNlYXJjaCBjb21wb25lbnRcbiAgICAgKiBAcGFyYW0gdmlld0lkIHRoZSB2aWV3SWQgb2YgdGhlIHZpZXcgd2hpY2ggY29udGFpbmVkIHRoZSBmaWx0ZXIuXG4gICAgICogSWYgbmVpdGhlciB0aGUgYHZpZXdJZGAgbm9yIHRoZSBgbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YWAgYXR0cmlidXRlIGlzIHNldCB0aGUgZmlsdGVyIHdpbGwgYmUgY3JlYXRlZCBhcyBhIG5ldyByb290IGZpbHRlclxuICAgICAqIHdpdGhvdXQgYW55IHBhcmVudCBmaWx0ZXIgbGluay4gVGhpcyB3aWxsIG1vc3QgbGlrZWx5IHJlc3VsdCBpbiB0aGUgZmlsdGVyIGJlaW5nIGxlc3MgcmVzdHJpY3RpdmUgdGhhbiB3aGF0XG4gICAgICogdGhlIHVzZXIgc2VlcyBpbiB0aGUgY3VycmVudCB2aWV3LCBzaW5jZSB0aGUgYmFzZSBmaWx0ZXIgb2YgdGhlIHZpZXcgd2lsbCBOT1QgYmUgc2F2ZWQgYWxvbmdzaWRlIHRoZSBzYXZlZCBmaWx0ZXIuXG4gICAgICogQHBhcmFtIGFkZGl0aW9uYWxEYXRhIHNldCBkYXRhIHJlcXVlc3QgYm9keSwgdGhhdCBpcyBzZW50IHRvIHRoZSBmaWx0ZXIgaW4gYWRkaXRpb24gdG8gdGhlIGRlZmF1bHQgYm9keS5cbiAgICAgKiBUaGUgZGVmYXVsdCBib2R5IGlzIGFwcGxpZWQgZmlyc3QgYW5kIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHRoaXMgYXJndW1lbnQuXG4gICAgICogQHBhcmFtIHdpdGhEZWZhdWx0Q2F0ZWdvcmllcyBXaGV0aGVyIHRoZSBzYXZlZCBmaWx0ZXIgc2hvdWxkIGJlIHNhdmVkIHdpdGhcbiAgICAgKiB0aGUgW2RlZmF1bHRTZWFyY2hDYXRlZ29yaWVzXXtAbGluayBGaWx0ZXJNZXRhZGF0YSNkZWZhdWx0U2VhcmNoQ2F0ZWdvcmllc30gZmxhZyBzZXQgdG8gYHRydWVgLCBvciBgZmFsc2VgLlxuICAgICAqIEBwYXJhbSBpbmhlcml0QWxsb3dlZE5ldHMgV2hldGhlciB0aGUgc2F2ZWQgZmlsdGVyIHNob3VsZCBtZXJnZSBpdHMgYWxsb3dlZCBuZXRzIHdpdGggdGhlIGFsbG93ZWQgbmV0cyBwcm92aWRlZCBieVxuICAgICAqIHRoZSB7QGxpbmsgQmFzZUFsbG93ZWROZXRzU2VydmljZX0uXG4gICAgICogQHBhcmFtIG5hdmlnYXRpb25JdGVtVGFza0RhdGEgaWYgcHJvdmlkZWQgdGhlbiBpdCBpbXBsaWVzIHRoZSBmaWx0ZXIgaGFzIGEgcGFyZW50IGZpbHRlciB0aGF0IGNyZWF0ZWQgaXRzIGhvc3QgZHluYW1pYyB2aWV3LlxuICAgICAqIElmIHRoaXMgaXMgdGhlIGNhc2UgdGhlIGNhc2UgSUQgb2YgdGhlIHBhcmVudCBmaWx0ZXIgd2lsbCBiZSBzZXQgaW50byB0aGUgbmV3bHkgY3JlYXRlZCBmaWx0ZXIgY2FzZS5cbiAgICAgKiBJZiBub3Qgc2V0IGl0IGltcGxpZXMgdGhpcyBpcyBhIGZpbHRlciBvcmlnaW5hdGluZyBpbiBhbiBpbi1hcHAgdmlldyBhbmQgaXRzIHZpZXcgaWQgd2lsbCBiZSBzZXQgaW50byB0aGUgY3JlYXRlZCBmaWx0ZXIuXG4gICAgICogQHJldHVybnMgYW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBpZCBvZiB0aGUgY3JlYXRlZCBGaWx0ZXIgY2FzZSBpbnN0YW5jZVxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVGaWx0ZXJDYXNlQW5kU2V0RGF0YShzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvd2VkTmV0czogUmVhZG9ubHlBcnJheTxzdHJpbmc+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hDYXRlZ29yaWVzOiBSZWFkb25seUFycmF5PFR5cGU8Q2F0ZWdvcnk8YW55Pj4+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ/OiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxEYXRhOiBUYXNrU2V0RGF0YVJlcXVlc3RGaWVsZHMgPSB7fSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aERlZmF1bHRDYXRlZ29yaWVzID0gdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5oZXJpdEFsbG93ZWROZXRzID0gdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YTogQXJyYXk8RGF0YUdyb3VwPiA9IG51bGwpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgUmVwbGF5U3ViamVjdDxzdHJpbmc+KDEpO1xuICAgICAgICB0aGlzLndoZW5Jbml0aWFsaXplZCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jYXNlU2VydmljZS5jcmVhdGVDYXNlKHtcbiAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy5fZmlsdGVyTmV0LmRlZmF1bHRDYXNlTmFtZSxcbiAgICAgICAgICAgICAgICBuZXRJZDogdGhpcy5fZmlsdGVyTmV0LnN0cmluZ0lkXG4gICAgICAgICAgICB9KS5zdWJzY3JpYmUoZmlsdGVyQ2FzZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdGFza1NlcnZpY2UuZ2V0VGFza3MoU2ltcGxlRmlsdGVyLmZyb21UYXNrUXVlcnkoe1xuICAgICAgICAgICAgICAgICAgICBjYXNlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogKGZpbHRlckNhc2Uub3V0Y29tZSBhcyBDcmVhdGVDYXNlRXZlbnRPdXRjb21lKS5hQ2FzZS5zdHJpbmdJZFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSkpLnN1YnNjcmliZShwYWdlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFoYXNDb250ZW50KHBhZ2UpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIGZpbHRlciBwcm9jZXNzIHRvIGNvbnRhaW4gdGFza3MsIGJ1dCBub25lIHdlcmUgZm91bmQhJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbml0VGFzayA9IHBhZ2UuY29udGVudC5maW5kKHRhc2sgPT4gdGFzay50cmFuc2l0aW9uSWQgPT09IFVzZXJGaWx0ZXJDb25zdGFudHMuU0VUX0ZJTFRFUl9NRVRBREFUQV9UUkFOU0lUSU9OX0lEKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGluaXRUYXNrID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgZmlsdGVyIHByb2Nlc3MgdG8gY29udGFpbiB0YXNrICcke1VzZXJGaWx0ZXJDb25zdGFudHMuU0VUX0ZJTFRFUl9NRVRBREFUQV9UUkFOU0lUSU9OX0lEXG4gICAgICAgICAgICAgICAgICAgICAgICB9JywgYnV0IG5vbmUgd2FzIGZvdW5kIWApO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVxdWVzdEJvZHkgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBbVXNlckZpbHRlckNvbnN0YW50cy5GSUxURVJfVFlQRV9GSUVMRF9JRF06IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGVSZXNvdXJjZS5FTlVNRVJBVElPTl9NQVAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHNlYXJjaFNlcnZpY2UuZmlsdGVyVHlwZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtVc2VyRmlsdGVyQ29uc3RhbnRzLkZJTFRFUl9GSUVMRF9JRF06IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGVSZXNvdXJjZS5GSUxURVIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHNlYXJjaFNlcnZpY2Uucm9vdFByZWRpY2F0ZS5xdWVyeS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvd2VkTmV0cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJNZXRhZGF0YTogdGhpcy5maWx0ZXJNZXRhZGF0YUZyb21TZWFyY2hTZXJ2aWNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hDYXRlZ29yaWVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoRGVmYXVsdENhdGVnb3JpZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaGVyaXRBbGxvd2VkTmV0c1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgbGV0IHBhcmVudEZpbHRlckNhc2VJZEZpZWxkO1xuICAgICAgICAgICAgICAgICAgICBpZiAobmF2aWdhdGlvbkl0ZW1UYXNrRGF0YSAhPT0gbnVsbCAmJiBuYXZpZ2F0aW9uSXRlbVRhc2tEYXRhICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudEZpbHRlckNhc2VJZEZpZWxkID0gZ2V0RmllbGRGcm9tRGF0YUdyb3VwcyhuYXZpZ2F0aW9uSXRlbVRhc2tEYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzZXJGaWx0ZXJDb25zdGFudHMuRklMVEVSX0NBU0VfSURfRklFTERfSUQpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHBhcmVudEZpbHRlckNhc2VJZEZpZWxkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RCb2R5W1VzZXJGaWx0ZXJDb25zdGFudHMuUEFSRU5UX0ZJTFRFUl9DQVNFX0lEX0ZJRUxEX0lEXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGVSZXNvdXJjZS5URVhULFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwYXJlbnRGaWx0ZXJDYXNlSWRGaWVsZC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh2aWV3SWQgIT09IHVuZGVmaW5lZCB8fCB2aWV3SWQgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Qm9keVtVc2VyRmlsdGVyQ29uc3RhbnRzLk9SSUdJTl9WSUVXX0lEX0ZJRUxEX0lEXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGVSZXNvdXJjZS5URVhULFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB2aWV3SWRcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFzc2lnblNldERhdGFGaW5pc2goaW5pdFRhc2ssIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbml0VGFzay5zdHJpbmdJZF06IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5yZXF1ZXN0Qm9keSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5hZGRpdGlvbmFsRGF0YVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LCB0aGlzLl9jYWxsQ2hhaW5TZXJ2aWNlLmNyZWF0ZShzdWNjZXNzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc3VjY2Vzcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmlsdGVyIGluc3RhbmNlIGNvdWxkIG5vdCBiZSBpbml0aWFsaXplZCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQubmV4dCgoZmlsdGVyQ2FzZS5vdXRjb21lIGFzIENyZWF0ZUNhc2VFdmVudE91dGNvbWUpLmFDYXNlLnN0cmluZ0lkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgJ3NhdmVXaXRoU2lkZU1lbnUnKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgd2hlbkluaXRpYWxpemVkKG9uU3VjY2VzczogKCkgPT4gdm9pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZD86IHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRmFpbHVyZTogKCkgPT4gdm9pZCA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9sb2cuZXJyb3IoYFVzZXJGaWx0ZXJTZXJ2aWNlIGZhaWxlZCB0byBpbml0aWFsaXplIGFuZCB0aGUgY2FsbGVkIG1ldGhvZCR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZCA/ICcgKCcgKyBtZXRob2QgKyAnKScgOiAnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gY2Fubm90IGJlIHBlcmZvcm1lZGApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkge1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplZCQuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoaW5pdGlhbGl6ZWQgPT4ge1xuICAgICAgICAgICAgaW5pdGlhbGl6ZWQgPyBvblN1Y2Nlc3MoKSA6IG9uRmFpbHVyZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBUT0RPIDYuNC4yMDIxIElNUFJPVkVNRU5UIC0gZXh0cmFjdCBzaW1pbGFyIG1ldGhvZCBpbnRvIHNvbWUgdXRpbGl0eSBzZXJ2aWNlXG4gICAgcHJvdGVjdGVkIGFzc2lnblNldERhdGFGaW5pc2godGFzazogVGFzaywgZGF0YTogVGFza1NldERhdGFSZXF1ZXN0Qm9keSwgY2FsbENoYWluOiBTdWJqZWN0PGJvb2xlYW4+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Rhc2tTZXJ2aWNlLmFzc2lnblRhc2sodGFzay5zdHJpbmdJZCkuc3Vic2NyaWJlKGFzc2lnbk91dGNvbWUgPT4ge1xuICAgICAgICAgICAgaWYgKGFzc2lnbk91dGNvbWUuZXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2cuZXJyb3IoYENvdWxkIG5vdCBhc3NpZ24gdGFzayAnJHt0YXNrLnRpdGxlfSdgLCB0YXNrLCBhc3NpZ25PdXRjb21lLmVycm9yKTtcbiAgICAgICAgICAgICAgICBjYWxsQ2hhaW4ubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLl90YXNrU2VydmljZS5zZXREYXRhKHRhc2suc3RyaW5nSWQsIGRhdGEpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdGFza1NlcnZpY2UuZmluaXNoVGFzayh0YXNrLnN0cmluZ0lkKS5zdWJzY3JpYmUoZmluaXNoT3V0Y29tZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaW5pc2hPdXRjb21lLmVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9sb2cuZXJyb3IoYENvdWxkIG5vdCBmaW5pc2ggdGFzayAnJHt0YXNrLnRpdGxlfSdgLCB0YXNrLCBmaW5pc2hPdXRjb21lLmVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxDaGFpbi5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNhbGxDaGFpbi5uZXh0KHRydWUpO1xuICAgICAgICAgICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG9nLmVycm9yKGBDb3VsZCBub3QgZmluaXNoIHRhc2sgJyR7dGFzay50aXRsZX0nYCwgdGFzaywgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICBjYWxsQ2hhaW4ubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbG9nLmVycm9yKGBDb3VsZCBub3Qgc2V0IGRhdGEgb2YgdGFzayAnJHt0YXNrLnRpdGxlfSdgLCB0YXNrLCBkYXRhLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgY2FsbENoYWluLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2xvZy5lcnJvcihgQ291bGQgbm90IGFzc2lnbiB0YXNrICcke3Rhc2sudGl0bGV9J2AsIHRhc2ssIGVycm9yKTtcbiAgICAgICAgICAgIGNhbGxDaGFpbi5uZXh0KGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGZpbHRlck1ldGFkYXRhRnJvbVNlYXJjaFNlcnZpY2Uoc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hDYXRlZ29yaWVzOiBSZWFkb25seUFycmF5PFR5cGU8Q2F0ZWdvcnk8YW55Pj4+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhEZWZhdWx0Q2F0ZWdvcmllczogYm9vbGVhbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmhlcml0QWxsb3dlZE5ldHM6IGJvb2xlYW4pOiBGaWx0ZXJNZXRhZGF0YSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBmaWx0ZXJUeXBlOiBzZWFyY2hTZXJ2aWNlLmZpbHRlclR5cGUsXG4gICAgICAgICAgICBwcmVkaWNhdGVNZXRhZGF0YTogc2VhcmNoU2VydmljZS5jcmVhdGVQcmVkaWNhdGVNZXRhZGF0YSgpLFxuICAgICAgICAgICAgc2VhcmNoQ2F0ZWdvcmllczogc2VhcmNoQ2F0ZWdvcmllcy5tYXAoYyA9PiB0aGlzLl9jYXRlZ29yeVJlc29sdmVyU2VydmljZS5zZXJpYWxpemUoYykpLFxuICAgICAgICAgICAgZGVmYXVsdFNlYXJjaENhdGVnb3JpZXM6IHdpdGhEZWZhdWx0Q2F0ZWdvcmllcyxcbiAgICAgICAgICAgIGluaGVyaXRBbGxvd2VkTmV0c1xuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
@@ -3,6 +3,8 @@ import { ComponentPortal } from '@angular/cdk/portal';
3
3
  import { ReplaySubject } from 'rxjs';
4
4
  import { NAE_NAVIGATION_ITEM_TASK_DATA } from '../model/filter-case-injection-token';
5
5
  import { HttpErrorResponse } from '@angular/common/http';
6
+ import { FILTER_DEFAULT_HEADERS_ID } from "../navigation-double-drawer/abstract-navigation-double-drawer";
7
+ import { NAE_DEFAULT_HEADERS } from "../../header/models/default-headers-token";
6
8
  export class GroupNavigationComponentResolverService {
7
9
  constructor(_taskResourceService, _log) {
8
10
  this._taskResourceService = _taskResourceService;
@@ -13,7 +15,10 @@ export class GroupNavigationComponentResolverService {
13
15
  this._taskResourceService.getData(taskId).subscribe(taskData => {
14
16
  try {
15
17
  result.next(new ComponentPortal(this.resolveViewComponent(taskData), null, Injector.create({
16
- providers: [{ provide: NAE_NAVIGATION_ITEM_TASK_DATA, useValue: taskData }],
18
+ providers: [
19
+ { provide: NAE_NAVIGATION_ITEM_TASK_DATA, useValue: taskData },
20
+ { provide: NAE_DEFAULT_HEADERS, useValue: this.resolveDefaultHeaders(taskData) },
21
+ ],
17
22
  parent: parentInjector
18
23
  })));
19
24
  result.complete();
@@ -26,9 +31,15 @@ export class GroupNavigationComponentResolverService {
26
31
  });
27
32
  return result.asObservable();
28
33
  }
34
+ resolveDefaultHeaders(caze) {
35
+ const defaultHeadersResponse = [].concat(...caze.map(dataGroup => dataGroup.fields)).find(field => field.stringId === FILTER_DEFAULT_HEADERS_ID)?.value; //ES2019
36
+ if (!defaultHeadersResponse || Object.keys(defaultHeadersResponse).length === 0)
37
+ return undefined;
38
+ return defaultHeadersResponse.split(",");
39
+ }
29
40
  forwardError(result, error) {
30
41
  result.error(error instanceof HttpErrorResponse ? error.error.message : error.message);
31
42
  result.complete();
32
43
  }
33
44
  }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtbmF2aWdhdGlvbi1jb21wb25lbnQtcmVzb2x2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvbmF2aWdhdGlvbi9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQU8sTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBYSxhQUFhLEVBQVUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFJbkYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFdkQsTUFBTSxPQUFnQix1Q0FBdUM7SUFFekQsWUFBZ0Msb0JBQXlDLEVBQ3pDLElBQW1CO1FBRG5CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFDekMsU0FBSSxHQUFKLElBQUksQ0FBZTtJQUNuRCxDQUFDO0lBSU0saUNBQWlDLENBQUMsTUFBYyxFQUFFLGNBQXdCO1FBQzdFLE1BQU0sTUFBTSxHQUFHLElBQUksYUFBYSxDQUF1QixDQUFDLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMzRCxJQUFJO2dCQUNBLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxlQUFlLENBQzNCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsRUFDbkMsSUFBSSxFQUNKLFFBQVEsQ0FBQyxNQUFNLENBQUM7b0JBQ1osU0FBUyxFQUFFLENBQUMsRUFBQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxDQUFDO29CQUN6RSxNQUFNLEVBQUUsY0FBYztpQkFDekIsQ0FBQyxDQUNMLENBQUMsQ0FBQztnQkFDSCxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDckI7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDUixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNoQztRQUNMLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtZQUNILElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUFvQixFQUFFLEtBQVk7UUFDbkQsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLFlBQVksaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkYsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3RCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0b3IsIFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21wb25lbnRQb3J0YWx9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7TkFFX05BVklHQVRJT05fSVRFTV9UQVNLX0RBVEF9IGZyb20gJy4uL21vZGVsL2ZpbHRlci1jYXNlLWluamVjdGlvbi10b2tlbic7XG5pbXBvcnQge1Rhc2tSZXNvdXJjZVNlcnZpY2V9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9lbmdpbmUtZW5kcG9pbnQvdGFzay1yZXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vLi4vbG9nZ2VyL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7RGF0YUdyb3VwfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL2RhdGEtZ3JvdXBzJztcbmltcG9ydCB7SHR0cEVycm9yUmVzcG9uc2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEdyb3VwTmF2aWdhdGlvbkNvbXBvbmVudFJlc29sdmVyU2VydmljZSB7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJvdGVjdGVkIF90YXNrUmVzb3VyY2VTZXJ2aWNlOiBUYXNrUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSkge1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCByZXNvbHZlVmlld0NvbXBvbmVudChuYXZpZ2F0aW9uSXRlbVRhc2tEYXRhOiBBcnJheTxEYXRhR3JvdXA+KTogVHlwZTxhbnk+O1xuXG4gICAgcHVibGljIGNyZWF0ZVJlc29sdmVkVmlld0NvbXBvbmVudFBvcnRhbCh0YXNrSWQ6IHN0cmluZywgcGFyZW50SW5qZWN0b3I6IEluamVjdG9yKTogT2JzZXJ2YWJsZTxDb21wb25lbnRQb3J0YWw8YW55Pj4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgUmVwbGF5U3ViamVjdDxDb21wb25lbnRQb3J0YWw8YW55Pj4oMSk7XG4gICAgICAgIHRoaXMuX3Rhc2tSZXNvdXJjZVNlcnZpY2UuZ2V0RGF0YSh0YXNrSWQpLnN1YnNjcmliZSh0YXNrRGF0YSA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5uZXh0KG5ldyBDb21wb25lbnRQb3J0YWwoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzb2x2ZVZpZXdDb21wb25lbnQodGFza0RhdGEpLFxuICAgICAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgICAgICBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6IE5BRV9OQVZJR0FUSU9OX0lURU1fVEFTS19EQVRBLCB1c2VWYWx1ZTogdGFza0RhdGF9XSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudDogcGFyZW50SW5qZWN0b3JcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApKTtcbiAgICAgICAgICAgICAgICByZXN1bHQuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcndhcmRFcnJvcihyZXN1bHQsIGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBlID0+IHtcbiAgICAgICAgICAgIHRoaXMuZm9yd2FyZEVycm9yKHJlc3VsdCwgZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiByZXN1bHQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3J3YXJkRXJyb3IocmVzdWx0OiBTdWJqZWN0PGFueT4sIGVycm9yOiBFcnJvcik6IHZvaWQge1xuICAgICAgICByZXN1bHQuZXJyb3IoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSA/IGVycm9yLmVycm9yLm1lc3NhZ2UgOiBlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgcmVzdWx0LmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtbmF2aWdhdGlvbi1jb21wb25lbnQtcmVzb2x2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvbmF2aWdhdGlvbi9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQU8sTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBYSxhQUFhLEVBQVUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFJbkYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDeEcsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFFOUUsTUFBTSxPQUFnQix1Q0FBdUM7SUFFekQsWUFBZ0Msb0JBQXlDLEVBQ3pDLElBQW1CO1FBRG5CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFDekMsU0FBSSxHQUFKLElBQUksQ0FBZTtJQUNuRCxDQUFDO0lBSU0saUNBQWlDLENBQUMsTUFBYyxFQUFFLGNBQXdCO1FBQzdFLE1BQU0sTUFBTSxHQUFHLElBQUksYUFBYSxDQUF1QixDQUFDLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMzRCxJQUFJO2dCQUNBLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxlQUFlLENBQzNCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsRUFDbkMsSUFBSSxFQUNKLFFBQVEsQ0FBQyxNQUFNLENBQUM7b0JBQ1osU0FBUyxFQUFFO3dCQUNQLEVBQUMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUM7d0JBQzVELEVBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLEVBQUM7cUJBQ2pGO29CQUNELE1BQU0sRUFBRSxjQUFjO2lCQUN6QixDQUFDLENBQ0wsQ0FBQyxDQUFDO2dCQUNILE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNyQjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ2hDO1FBQ0wsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRVMscUJBQXFCLENBQUMsSUFBc0I7UUFDbEQsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUsseUJBQXlCLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBRSxRQUFRO1FBQ2xLLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUNsRyxPQUFPLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM1QyxDQUFDO0lBRU8sWUFBWSxDQUFDLE1BQW9CLEVBQUUsS0FBWTtRQUNuRCxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssWUFBWSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RixNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RvciwgVHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbXBvbmVudFBvcnRhbH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge09ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtOQUVfTkFWSUdBVElPTl9JVEVNX1RBU0tfREFUQX0gZnJvbSAnLi4vbW9kZWwvZmlsdGVyLWNhc2UtaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7VGFza1Jlc291cmNlU2VydmljZX0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2VuZ2luZS1lbmRwb2ludC90YXNrLXJlc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9sb2dnZXIvc2VydmljZXMvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtEYXRhR3JvdXB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvZGF0YS1ncm91cHMnO1xuaW1wb3J0IHtIdHRwRXJyb3JSZXNwb25zZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtGSUxURVJfREVGQVVMVF9IRUFERVJTX0lEfSBmcm9tIFwiLi4vbmF2aWdhdGlvbi1kb3VibGUtZHJhd2VyL2Fic3RyYWN0LW5hdmlnYXRpb24tZG91YmxlLWRyYXdlclwiO1xuaW1wb3J0IHtOQUVfREVGQVVMVF9IRUFERVJTfSBmcm9tIFwiLi4vLi4vaGVhZGVyL21vZGVscy9kZWZhdWx0LWhlYWRlcnMtdG9rZW5cIjtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEdyb3VwTmF2aWdhdGlvbkNvbXBvbmVudFJlc29sdmVyU2VydmljZSB7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJvdGVjdGVkIF90YXNrUmVzb3VyY2VTZXJ2aWNlOiBUYXNrUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSkge1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCByZXNvbHZlVmlld0NvbXBvbmVudChuYXZpZ2F0aW9uSXRlbVRhc2tEYXRhOiBBcnJheTxEYXRhR3JvdXA+KTogVHlwZTxhbnk+O1xuXG4gICAgcHVibGljIGNyZWF0ZVJlc29sdmVkVmlld0NvbXBvbmVudFBvcnRhbCh0YXNrSWQ6IHN0cmluZywgcGFyZW50SW5qZWN0b3I6IEluamVjdG9yKTogT2JzZXJ2YWJsZTxDb21wb25lbnRQb3J0YWw8YW55Pj4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgUmVwbGF5U3ViamVjdDxDb21wb25lbnRQb3J0YWw8YW55Pj4oMSk7XG4gICAgICAgIHRoaXMuX3Rhc2tSZXNvdXJjZVNlcnZpY2UuZ2V0RGF0YSh0YXNrSWQpLnN1YnNjcmliZSh0YXNrRGF0YSA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5uZXh0KG5ldyBDb21wb25lbnRQb3J0YWwoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzb2x2ZVZpZXdDb21wb25lbnQodGFza0RhdGEpLFxuICAgICAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgICAgICBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3Byb3ZpZGU6IE5BRV9OQVZJR0FUSU9OX0lURU1fVEFTS19EQVRBLCB1c2VWYWx1ZTogdGFza0RhdGF9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwcm92aWRlOiBOQUVfREVGQVVMVF9IRUFERVJTLCB1c2VWYWx1ZTogdGhpcy5yZXNvbHZlRGVmYXVsdEhlYWRlcnModGFza0RhdGEpfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IHBhcmVudEluamVjdG9yXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKSk7XG4gICAgICAgICAgICAgICAgcmVzdWx0LmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3J3YXJkRXJyb3IocmVzdWx0LCBlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZvcndhcmRFcnJvcihyZXN1bHQsIGUpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNvbHZlRGVmYXVsdEhlYWRlcnMoY2F6ZTogQXJyYXk8RGF0YUdyb3VwPik6IEFycmF5PHN0cmluZz4gfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBkZWZhdWx0SGVhZGVyc1Jlc3BvbnNlID0gW10uY29uY2F0KC4uLmNhemUubWFwKGRhdGFHcm91cCA9PiBkYXRhR3JvdXAuZmllbGRzKSkuZmluZChmaWVsZCA9PiBmaWVsZC5zdHJpbmdJZCA9PT0gRklMVEVSX0RFRkFVTFRfSEVBREVSU19JRCk/LnZhbHVlOyAgLy9FUzIwMTlcbiAgICAgICAgaWYgKCFkZWZhdWx0SGVhZGVyc1Jlc3BvbnNlIHx8IE9iamVjdC5rZXlzKGRlZmF1bHRIZWFkZXJzUmVzcG9uc2UpLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRIZWFkZXJzUmVzcG9uc2Uuc3BsaXQoXCIsXCIpXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3J3YXJkRXJyb3IocmVzdWx0OiBTdWJqZWN0PGFueT4sIGVycm9yOiBFcnJvcik6IHZvaWQge1xuICAgICAgICByZXN1bHQuZXJyb3IoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSA/IGVycm9yLmVycm9yLm1lc3NhZ2UgOiBlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgcmVzdWx0LmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19