@eo-sdk/client 11.4.0-rc.2 → 11.4.0-rc.3

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 (54) hide show
  1. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.d.ts.map +1 -1
  2. package/app/eo-client/dashboard/widgets/search-widget/search-widget.component.d.ts.map +1 -1
  3. package/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.d.ts +1 -0
  4. package/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.d.ts.map +1 -1
  5. package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts.map +1 -1
  6. package/assets/_default/i18n/de.json +1 -34
  7. package/assets/_default/i18n/en.json +1 -34
  8. package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
  9. package/esm2022/app/eo-client/dashboard/dashboard.component.mjs +3 -3
  10. package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.mjs +2 -2
  11. package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.mjs +2 -2
  12. package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +2 -2
  13. package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created-setup/last-edited-and-created-setup.component.mjs +2 -2
  14. package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +3 -3
  15. package/esm2022/app/eo-client/dashboard/widgets/picture-widget/picture-widget-setup/picture-widget-setup.component.mjs +3 -3
  16. package/esm2022/app/eo-client/dashboard/widgets/search-widget/search-widget.component.mjs +5 -3
  17. package/esm2022/app/eo-client/login/login.component.mjs +3 -3
  18. package/esm2022/app/eo-client/settings/settings.component.mjs +3 -3
  19. package/esm2022/app/eo-framework/accordion/simple-accordion/simple-accordion.component.mjs +2 -2
  20. package/esm2022/app/eo-framework/actions/action-menu/action-menu.component.mjs +3 -3
  21. package/esm2022/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +3 -3
  22. package/esm2022/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +3 -3
  23. package/esm2022/app/eo-framework/actions/actions/cancel-signing-action/cancel-signing/cancel-signing.component.mjs +3 -3
  24. package/esm2022/app/eo-framework/actions/actions/clipboard/clipboard-object-action/clipboard-object-action.component.mjs +3 -3
  25. package/esm2022/app/eo-framework/actions/actions/delete-action/delete/delete.component.mjs +4 -4
  26. package/esm2022/app/eo-framework/actions/actions/delete-action/delete-action.mjs +2 -2
  27. package/esm2022/app/eo-framework/actions/actions/delete-action/delete-prepared-action.mjs +2 -2
  28. package/esm2022/app/eo-framework/actions/actions/delete-content-action/delete-content/delete-content.component.mjs +3 -3
  29. package/esm2022/app/eo-framework/actions/actions/download-action/download-object-action/download-object-action.component.mjs +3 -3
  30. package/esm2022/app/eo-framework/actions/actions/email/email/email.component.mjs +3 -3
  31. package/esm2022/app/eo-framework/actions/actions/finalize/finalize-object-action/finalize-object-action.component.mjs +3 -3
  32. package/esm2022/app/eo-framework/actions/actions/open-context-action/open-context-action.mjs +2 -2
  33. package/esm2022/app/eo-framework/actions/actions/open-document-action/open-document-action.component.mjs +3 -3
  34. package/esm2022/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.mjs +3 -3
  35. package/esm2022/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.mjs +3 -3
  36. package/esm2022/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +3 -3
  37. package/esm2022/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.mjs +3 -3
  38. package/esm2022/app/eo-framework/form-elements/date/date.component.mjs +2 -2
  39. package/esm2022/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +7 -1
  40. package/esm2022/app/eo-framework/grid/column-configurator/column-configurator.component.mjs +3 -3
  41. package/esm2022/app/eo-framework/object-details/favorite-icon/favorite-icon.component.mjs +3 -3
  42. package/esm2022/app/eo-framework/object-details/object-details.component.mjs +3 -3
  43. package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +3 -3
  44. package/esm2022/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +3 -3
  45. package/esm2022/app/eo-framework/object-form/object-form-edit/object-form-edit.component.mjs +3 -3
  46. package/esm2022/app/eo-framework/prepare-details/prepare-details.component.mjs +3 -3
  47. package/esm2022/app/eo-framework/process-form/process-form.component.mjs +3 -3
  48. package/esm2022/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +3 -3
  49. package/esm2022/app/eo-framework/result-list/result-list.component.mjs +4 -4
  50. package/esm2022/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.mjs +7 -4
  51. package/esm2022/app/eo-framework/upload-overlay/upload-overlay.component.mjs +3 -3
  52. package/fesm2022/eo-sdk-client.mjs +94 -83
  53. package/fesm2022/eo-sdk-client.mjs.map +1 -1
  54. package/package.json +2 -2
@@ -58,6 +58,7 @@ export class DynamicListComponent {
58
58
  constructor() {
59
59
  this.valueField = 'value';
60
60
  this.subEntriesField = 'entries';
61
+ this.projectsEntriesField = 'projects';
61
62
  this.descriptionField = 'description';
62
63
  this.display = false;
63
64
  this.dirty = false;
@@ -170,6 +171,11 @@ export class DynamicListComponent {
170
171
  this.addTreeNode(node.children, listEntry[this.subEntriesField][i]);
171
172
  }
172
173
  }
174
+ if (listEntry[this.projectsEntriesField]) {
175
+ for (let i = 0; i < listEntry[this.projectsEntriesField].length; i++) {
176
+ this.addTreeNode(node.children, listEntry[this.projectsEntriesField][i]);
177
+ }
178
+ }
173
179
  this.checkSelected(node);
174
180
  parentNode.push(node);
175
181
  }
@@ -308,4 +314,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
308
314
  type: Input,
309
315
  args: ['listObject']
310
316
  }] } });
311
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvZHluYW1pYy1saXN0L2R5bmFtaWMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2R5bmFtaWMtbGlzdC9keW5hbWljLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQVUsS0FBSyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBSUwsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDZCxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFzQnhCLE1BQU0sT0FBTyxvQkFBb0I7SUFZL0IsSUFDSSxjQUFjLENBQUMsSUFBYztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUlELElBQ0ksVUFBVSxDQUFDLEVBQU87UUFDcEIsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNQLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLElBQUksRUFBRSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN0QyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7d0JBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFD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QUFDOzhHQTlSVSxvQkFBb0I7a0dBQXBCLG9CQUFvQix3TkFicEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2dCQUNuRCxLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7Z0JBQ25ELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiw0T0MzQkgsdzdEQXNDTTs7MkZEVE8sb0JBQW9CO2tCQWpCaEMsU0FBUzsrQkFDRSxpQkFBaUIsYUFHaEI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzs0QkFDbkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7d0RBSTBCLGlCQUFpQjtzQkFBM0MsU0FBUzt1QkFBQyxjQUFjO2dCQUNKLGtCQUFrQjtzQkFBdEMsU0FBUzt1QkFBQyxRQUFRO2dCQUVWLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0YsY0FBYztzQkFEakIsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBV25CLFVBQVU7c0JBRGIsS0FBSzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIGZvcndhcmRSZWYsIE9uSW5pdCwgSW5wdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBVbnR5cGVkRm9ybUNvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBWYWxpZGF0b3IsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBOR19WQUxJREFUT1JTXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QXV0b0NvbXBsZXRlfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7VHJlZU5vZGV9IGZyb20gJy4uLy4uL3RyZWUvdHJlZS5jb21wb25lbnQuaW50ZXJmYWNlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1keW5hbWljLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRHluYW1pY0xpc3RDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEeW5hbWljTGlzdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yLCBPbkluaXQge1xuXG4gIEBWaWV3Q2hpbGQoJ2F1dG9jb21wbGV0ZScpIGF1dG9Db21wbGV0ZUlucHV0OiBBdXRvQ29tcGxldGU7XG4gIEBWaWV3Q2hpbGQoJ2J1dHRvbicpIGF1dG9Db21wbGV0ZUJ1dHRvbjtcblxuICBASW5wdXQoKSBzaXR1YXRpb246IHN0cmluZztcbiAgQElucHV0KCkgbXVsdGlzZWxlY3Q6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHBpY2tlclRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xuXG4gIHByaXZhdGUgX2ZpbHRlckZ1bmM6IEZ1bmN0aW9uO1xuXG4gIEBJbnB1dCgnZmlsdGVyRnVuY3Rpb24nKVxuICBzZXQgZmlsdGVyRnVuY3Rpb24oZnVuYzogRnVuY3Rpb24pIHtcbiAgICB0aGlzLl9maWx0ZXJGdW5jID0gZnVuYztcbiAgICBpZiAodGhpcy5fbGlzdCkge1xuICAgICAgdGhpcy5idWlsZFRyZWUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9saXN0OiBhbnk7XG5cbiAgQElucHV0KCdsaXN0T2JqZWN0JylcbiAgc2V0IGxpc3RPYmplY3QobG86IGFueSkge1xuICAgIGlmIChsbykge1xuICAgICAgdGhpcy5fbGlzdCA9IGxvO1xuICAgICAgaWYgKGxvLmNvbmZpZyAmJiBsby5jb25maWcudmFsdWVGaWVsZCkge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE5vZGVzKSB7XG4gICAgICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IHRoaXMuc2VsZWN0ZWROb2Rlcy5tYXAoc24gPT4ge1xuICAgICAgICAgICAgICBzbltsby5jb25maWcudmFsdWVGaWVsZF0gPSBzblt0aGlzLnZhbHVlRmllbGRdO1xuICAgICAgICAgICAgICBzblsndmFsdWUnXSA9IHNuW3RoaXMudmFsdWVGaWVsZF07XG4gICAgICAgICAgICAgIHJldHVybiBzbjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXNbbG8uY29uZmlnLnZhbHVlRmllbGRdID0gdGhpcy5zZWxlY3RlZE5vZGVzW3RoaXMudmFsdWVGaWVsZF07XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXNbJ3ZhbHVlJ10gPSB0aGlzLnNlbGVjdGVkTm9kZXNbdGhpcy52YWx1ZUZpZWxkXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy52YWx1ZUZpZWxkID0gbG8uY29uZmlnLnZhbHVlRmllbGQ7XG4gICAgICB9XG4gICAgICBpZiAobG8uY29uZmlnICYmIGxvLmNvbmZpZy5kZXNjcmlwdGlvbkZpZWxkKSB7XG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb25GaWVsZCA9IGxvLmNvbmZpZy5kZXNjcmlwdGlvbkZpZWxkO1xuICAgICAgfVxuICAgICAgaWYgKGxvLmNvbmZpZyAmJiBsby5jb25maWcuc3ViRW50cmllc0ZpZWxkKSB7XG4gICAgICAgIHRoaXMuc3ViRW50cmllc0ZpZWxkID0gbG8uY29uZmlnLnN1YkVudHJpZXNGaWVsZDtcbiAgICAgIH1cbiAgICAgIHRoaXMuYnVpbGRUcmVlKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGxpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xpc3Q7XG4gIH1cblxuICB2YWx1ZUZpZWxkID0gJ3ZhbHVlJztcbiAgc3ViRW50cmllc0ZpZWxkID0gJ2VudHJpZXMnO1xuICBkZXNjcmlwdGlvbkZpZWxkID0gJ2Rlc2NyaXB0aW9uJztcbiAgZGlzcGxheSA9IGZhbHNlO1xuICBwcml2YXRlIGRpcnR5ID0gZmFsc2U7XG4gIHByaXZhdGUgaXNWYWxpZCA9IHRydWU7XG4gIHZhbHVlO1xuICB0cmVlOiBUcmVlTm9kZVtdO1xuICBwcml2YXRlIF9zZWxlY3RlZE5vZGVzOiBhbnk7XG4gIHNldCBzZWxlY3RlZE5vZGVzKG46IGFueSkge1xuICAgIGlmIChuICYmICFBcnJheS5pc0FycmF5KG4pKSB7XG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZUZuKG5bdGhpcy5fbGlzdD8uY29uZmlnPy52YWx1ZUZpZWxkIHx8ICd2YWx1ZSddIHx8IG4ubmFtZSk7XG4gICAgfVxuICAgIHRoaXMuX3NlbGVjdGVkTm9kZXMgPSBzdHJ1Y3R1cmVkQ2xvbmUobik7XG4gIH1cbiAgZ2V0IHNlbGVjdGVkTm9kZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkTm9kZXM7XG4gIH1cbiAgYXV0b2NvbXBsZXRlUmVzO1xuICBhdXRvY29tcGxldGVWYWx1ZXM6IFRyZWVOb2RlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZGlydHkgPSBmYWxzZTtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWUgfHwgbnVsbDtcbiAgICBjb25zdCB2YWx1ZXMgPSAhdGhpcy52YWx1ZSB8fCBBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpID8gdGhpcy52YWx1ZSB8fCBbXSA6IFt0aGlzLnZhbHVlXTtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gW107XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBudWxsO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSB2YWx1ZXMubWFwKHYgPT4ge1xuICAgICAgICAgIGxldCBub2RlID0ge307XG4gICAgICAgICAgbm9kZVt0aGlzLnZhbHVlRmllbGRdID0gdjtcbiAgICAgICAgICBub2RlWyd2YWx1ZSddID0gdjtcbiAgICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgbm9kZSA9IHt9O1xuICAgICAgICBub2RlW3RoaXMudmFsdWVGaWVsZF0gPSB2YWx1ZTtcbiAgICAgICAgbm9kZVsndmFsdWUnXSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBub2RlO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBub2RlcyA9ICF0aGlzLnNlbGVjdGVkTm9kZXMgfHwgQXJyYXkuaXNBcnJheSh0aGlzLnNlbGVjdGVkTm9kZXMpID8gdGhpcy5zZWxlY3RlZE5vZGVzIHx8IFtdIDogW3RoaXMuc2VsZWN0ZWROb2Rlc107XG5cbiAgICBpZiAodGhpcy5fbGlzdCAmJiAobm9kZXMubGVuZ3RoICE9PSB2YWx1ZXMubGVuZ3RoIHx8IG5vZGVzLnNvbWUoKG4sIGkpID0+IG5bdGhpcy52YWx1ZUZpZWxkXSAhPT0gdmFsdWVzW2ldKSkpIHtcbiAgICAgIHRoaXMuYnVpbGRUcmVlKCk7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgfVxuXG4gIG9uQXV0b0NvbXBsZXRlU2VsZWN0KG5vZGU/KSB7XG4gICAgY29uc3Qgd2FzSW52YWxpZCA9ICF0aGlzLmlzVmFsaWQ7XG4gICAgdGhpcy5pc1ZhbGlkID0gdHJ1ZTtcbiAgICB0aGlzLnNldEZvcm1Db250cm9sVmFsdWUod2FzSW52YWxpZCk7XG4gIH1cblxuICBvbkF1dG9Db21wbGV0ZVVuc2VsZWN0KG5vZGU/KSB7XG4gICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gdGhpcy5zZWxlY3RlZE5vZGVzLmZpbHRlcigoc05vZGUpID0+IHNOb2RlLnZhbHVlICE9PSBub2RlLnZhbHVlKTtcbiAgICB0aGlzLnNldEZvcm1Db250cm9sVmFsdWUoKTtcbiAgfVxuXG4gIG9uVHJlZVNlbGVjdGlvbkNoYW5nZWQoZXZ0KSB7XG4gICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICB0aGlzLmRpc3BsYXkgPSBmYWxzZTtcbiAgICB9XG4gICAgY29uc3Qgd2FzSW52YWxpZCA9ICF0aGlzLmlzVmFsaWQ7XG4gICAgdGhpcy5pc1ZhbGlkID0gdHJ1ZTtcbiAgICB0aGlzLnNldEZvcm1Db250cm9sVmFsdWUod2FzSW52YWxpZCk7XG4gIH1cblxuICBvbkNsZWFyKCkge1xuICAgIGlmICghdGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5zZXRGb3JtQ29udHJvbFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBhbmQgcHJvcGFnYXRlcyB0aGUgZm9ybSBjb250cm9scyB2YWx1ZSBiYXNlZCBvbiB0aGUgY29tcG9uZW50cyBpbm5lciB2YWx1ZXMuIFByb3BhZ2F0ZXMgb25seVxuICAgKiB3aGVuIHRoZSB2YWx1ZSBoYXMgY2hhbmdlZC5cbiAgICogQHBhcmFtIGZvcmNlUHJvcGFnYXRpb24gLSBmb3JjZXMgcHJvcGFnYXRpb24gZXZlbiBpZiB0aGUgdmFsdWUgaGFzbid0IGJlZW4gY2hhbmdlZFxuICAgKi9cbiAgcHJpdmF0ZSBzZXRGb3JtQ29udHJvbFZhbHVlKGZvcmNlUHJvcGFnYXRpb24/OiBib29sZWFuKSB7XG4gICAgbGV0IHY7XG4gICAgbGV0IGNoYW5nZWQ6IGJvb2xlYW47XG4gICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgIHYgPSB0aGlzLnNlbGVjdGVkTm9kZXMgPyB0aGlzLnNlbGVjdGVkTm9kZXMubWFwKChub2RlKSA9PiBub2RlW3RoaXMudmFsdWVGaWVsZF0pIDogW107XG4gICAgICBjaGFuZ2VkID0gIXRoaXMudmFsdWUgfHwgISh2Lmxlbmd0aCA9PT0gdGhpcy52YWx1ZS5sZW5ndGggJiYgdi5ldmVyeSgodmFsKSA9PiB0aGlzLnZhbHVlLnNvbWUoKGN1clZhbCkgPT4gY3VyVmFsID09PSB2YWwpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHYgPSB0aGlzLnNlbGVjdGVkTm9kZXMgPyB0aGlzLnNlbGVjdGVkTm9kZXMuZGF0YVt0aGlzLnZhbHVlRmllbGRdIDogbnVsbDtcbiAgICAgIGNoYW5nZWQgPSB2ICE9PSB0aGlzLnZhbHVlO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlZCB8fCBmb3JjZVByb3BhZ2F0aW9uKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdjtcbiAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRUcmVlKCkge1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlVmFsdWVzID0gW107XG4gICAgbGV0IHRyZWU6IFRyZWVOb2RlW10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuX2xpc3QuZW50cmllcy5sZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy5hZGRUcmVlTm9kZSh0cmVlLCB0aGlzLl9saXN0LmVudHJpZXNbaV0pO1xuICAgIH1cbiAgICB0aGlzLnRyZWUgPSB0cmVlO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRUcmVlTm9kZShwYXJlbnROb2RlOiBUcmVlTm9kZVtdLCBsaXN0RW50cnkpIHtcbiAgICBpZiAodGhpcy5maWx0ZXJGdW5jdGlvbiAmJiAhdGhpcy5maWx0ZXJGdW5jdGlvbihsaXN0RW50cnkpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBub2RlOiBUcmVlTm9kZSA9IHRoaXMubGlzdEVudHJ5VG9UcmVlTm9kZShsaXN0RW50cnkpO1xuICAgIGlmIChub2RlLnNlbGVjdGFibGUpIHtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlVmFsdWVzLnB1c2gobm9kZSk7XG4gICAgfVxuICAgIGlmIChsaXN0RW50cnlbdGhpcy5zdWJFbnRyaWVzRmllbGRdKSB7XG4gICAgICBub2RlLmNoaWxkcmVuID0gW107XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3RFbnRyeVt0aGlzLnN1YkVudHJpZXNGaWVsZF0ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGhpcy5hZGRUcmVlTm9kZShub2RlLmNoaWxkcmVuLCBsaXN0RW50cnlbdGhpcy5zdWJFbnRyaWVzRmllbGRdW2ldKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jaGVja1NlbGVjdGVkKG5vZGUpO1xuICAgIHBhcmVudE5vZGUucHVzaChub2RlKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tTZWxlY3RlZChub2RlOiBUcmVlTm9kZSkge1xuICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGlzVHJlZU5vZGVWYWx1ZUluVmFsdWUgPSBub2RlLmRhdGFbdGhpcy52YWx1ZUZpZWxkXSA9PT0gdGhpcy52YWx1ZVtpXTtcbiAgICAgICAgaWYgKGlzVHJlZU5vZGVWYWx1ZUluVmFsdWUpIHtcbiAgICAgICAgICBjb25zdCBzZWxlY3RlZE5vZGVUaGF0SGFzVmFsdWUgPSB0aGlzLnNlbGVjdGVkTm9kZXMuZmluZChzTiA9PiBzTlt0aGlzLnZhbHVlRmllbGRdID09PSB0aGlzLnZhbHVlW2ldKTtcbiAgICAgICAgICBpZiAoIXNlbGVjdGVkTm9kZVRoYXRIYXNWYWx1ZSkge1xuICAgICAgICAgICAgbm9kZS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMucHVzaChub2RlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2VsZWN0ZWROb2RlVGhhdEhhc1ZhbHVlLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKG5vZGUuZGF0YVt0aGlzLnZhbHVlRmllbGRdID09PSB0aGlzLnZhbHVlKSB7XG4gICAgICAgIG5vZGUuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBub2RlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGF1dG9jb21wbGV0ZUZuKHRlcm06IHN0cmluZykge1xuXG4gICAgdGhpcy5hdXRvY29tcGxldGVSZXMgPSB0aGlzLmF1dG9jb21wbGV0ZVZhbHVlcy5maWx0ZXIoKGFjTm9kZSkgPT4ge1xuICAgICAgaWYgKHRoaXMuZmlsdGVyRnVuY3Rpb24gJiYgIXRoaXMuZmlsdGVyRnVuY3Rpb24oYWNOb2RlLmRhdGEpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTm9kZXMuZmluZCgobm9kZSkgPT4gYWNOb2RlLmRhdGFbdGhpcy52YWx1ZUZpZWxkXSA9PT0gbm9kZS5kYXRhW3RoaXMudmFsdWVGaWVsZF0pKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNOb2RlLmRhdGFbdGhpcy52YWx1ZUZpZWxkXS50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGVybS50b0xvd2VyQ2FzZSgpKSAhPT0gLTEgfHxcbiAgICAgICAgKGFjTm9kZS5kYXRhW3RoaXMuZGVzY3JpcHRpb25GaWVsZF0gJiYgYWNOb2RlLmRhdGFbdGhpcy5kZXNjcmlwdGlvbkZpZWxkXS50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGVybS50b0xvd2VyQ2FzZSgpKSAhPT0gLTEpO1xuICAgIH0pLnNsaWNlKDAsIDEwKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdEVudHJ5VG9UcmVlTm9kZShsaXN0RW50cnkpOiBUcmVlTm9kZSB7XG4gICAgbGV0IHNlbGVjdGFibGUgPSBmYWxzZTtcbiAgICBpZiAodGhpcy5fbGlzdCAmJiB0aGlzLl9saXN0LmNvbmZpZyAmJiB0aGlzLl9saXN0LmNvbmZpZy5hbGxlbGVtZW50c3NlbGVjdGFibGUpIHtcbiAgICAgIHNlbGVjdGFibGUgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZWxlY3RhYmxlID0gIShsaXN0RW50cnlbdGhpcy5zdWJFbnRyaWVzRmllbGRdICYmIGxpc3RFbnRyeVt0aGlzLnN1YkVudHJpZXNGaWVsZF0ubGVuZ3RoID4gMCk7XG4gICAgfVxuXG4gICAgbGV0IHRyZWVOb2RlID0ge1xuICAgICAgaWQ6IGxpc3RFbnRyeS5pZCA/IGxpc3RFbnRyeS5pZCA6IGxpc3RFbnRyeVt0aGlzLnZhbHVlRmllbGRdLFxuICAgICAgbmFtZTogbGlzdEVudHJ5W3RoaXMuZGVzY3JpcHRpb25GaWVsZF0gPyBsaXN0RW50cnlbdGhpcy52YWx1ZUZpZWxkXSArICcgKCcgKyBsaXN0RW50cnlbdGhpcy5kZXNjcmlwdGlvbkZpZWxkXSArICcpJyA6IGxpc3RFbnRyeVt0aGlzLnZhbHVlRmllbGRdLFxuICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgZXhwYW5kZWQ6IGZhbHNlLFxuICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgc2VsZWN0YWJsZTogc2VsZWN0YWJsZSxcbiAgICAgIGRhdGE6IGxpc3RFbnRyeVxuICAgIH07XG4gICAgdHJlZU5vZGVbdGhpcy52YWx1ZUZpZWxkXSA9IGxpc3RFbnRyeVt0aGlzLnZhbHVlRmllbGRdO1xuICAgIHRyZWVOb2RlLmRhdGFbJ3ZhbHVlJ10gPSBsaXN0RW50cnlbdGhpcy52YWx1ZUZpZWxkXTtcbiAgICB0cmVlTm9kZVt0aGlzLmRlc2NyaXB0aW9uRmllbGRdID0gbGlzdEVudHJ5W3RoaXMuZGVzY3JpcHRpb25GaWVsZF07XG4gICAgdHJlZU5vZGVbdGhpcy5zdWJFbnRyaWVzRmllbGRdID0gbGlzdEVudHJ5W3RoaXMuc3ViRW50cmllc0ZpZWxkXTtcblxuICAgIHJldHVybiB0cmVlTm9kZTtcbiAgfVxuXG4gIHNob3dEaWFsb2coZXZlbnQ/LCBkaXNwbGF5ID0gdHJ1ZSkge1xuICAgIGlmIChldmVudCkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgLy9pZ25vcmUgc3ludGhldGl6ZWQgZXZlbnRzIG9uIGVudGVyXG4gICAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2NsaWNrJyAmJiBldmVudC5kZXRhaWwgPT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmRpc3BsYXkgPSAhIWRpc3BsYXk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5zaXR1YXRpb24gPT09ICdTRUFSQ0gnKSB7XG4gICAgICB0aGlzLm11bHRpc2VsZWN0ID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoYzogVW50eXBlZEZvcm1Db250cm9sKSB7XG4gICAgcmV0dXJuICh0aGlzLmlzVmFsaWQpID8gbnVsbCA6IHtcbiAgICAgIGR5bmFtaWNsaXN0OiB7XG4gICAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIiwiPGVvLWRpYWxvZyAjbGlzdERpYWxvZyBbdGl0bGVdPVwicGlja2VyVGl0bGVcIiBbdmlzaWJsZV09XCJkaXNwbGF5XCIgW25nQ2xhc3NdPVwie2VtcHR5OiAhKGxpc3Q/LmVudHJpZXM/Lmxlbmd0aCl9XCJcbiAgW3N0eWxlQ2xhc3NdPVwiJ2R5bmxpc3QtZGlhbG9nJ1wiIChoaWRlKT1cImRpc3BsYXkgPSBmYWxzZVwiPlxuXG4gIDxlby10cmVlIFt0cmVlXT1cInRyZWVcIiAqbmdJZj1cImRpc3BsYXkgJiYgdHJlZVwiIFtpc0Rpc3BsYXllZF09XCJkaXNwbGF5XCIgW29wdGlvbnNdPVwie211bHRpc2VsZWN0OiBtdWx0aXNlbGVjdH1cIlxuICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWROb2Rlc1wiIChrZXl1cC5lbnRlcik9XCJzaG93RGlhbG9nKCRldmVudCwgZmFsc2UpXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJvblRyZWVTZWxlY3Rpb25DaGFuZ2VkKCRldmVudClcIj5cbiAgPC9lby10cmVlPlxuXG4gIDxkaXYgY2xhc3M9XCJlbXB0eVwiICpuZ0lmPVwiIShsaXN0Py5lbnRyaWVzPy5sZW5ndGgpXCI+XG4gICAgPGRpdiB0cmFuc2xhdGU+ZW8uZm9ybS5wcm9wZXJ0eS5keW5hbWljLmxpc3QuZW1wdHk8L2Rpdj5cbiAgPC9kaXY+XG48L2VvLWRpYWxvZz5cblxuPGRpdiBjbGFzcz1cImVvLWR5bmFtaWMtbGlzdFwiIFtuZ0NsYXNzXT1cIntmdWxsOiBzZWxlY3RlZE5vZGVzICYmIHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSBhdXRvY29tcGxldGVWYWx1ZXMubGVuZ3RofVwiPlxuXG4gIDx5dmMtYXV0b2NvbXBsZXRlIFsobmdNb2RlbCldPVwic2VsZWN0ZWROb2Rlc1wiICNhdXRvY29tcGxldGUgKHN1Z2dlc3Rpb25TZWxlY3QpPVwib25BdXRvQ29tcGxldGVTZWxlY3QoJGV2ZW50KVwiXG4gICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCIgKHN1Z2dlc3Rpb25VbnNlbGVjdCk9XCJvbkF1dG9Db21wbGV0ZVVuc2VsZWN0KCRldmVudClcIiBbZm9yY2VTZWxlY3Rpb25dPVwidHJ1ZVwiXG4gICAgW2F1dG9jb21wbGV0ZVZhbHVlc109XCJhdXRvY29tcGxldGVSZXNcIiAobmdNb2RlbENoYW5nZSk9XCJvblRyZWVTZWxlY3Rpb25DaGFuZ2VkKCRldmVudClcIiBmaWVsZD1cInt7dmFsdWVGaWVsZH19XCIgKGF1dG9jb21wbGV0ZUZuYyk9XCJhdXRvY29tcGxldGVGbigkZXZlbnQpXCJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlzZWxlY3RcIj5cblxuICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSAjY2hpcFRlbXBsYXRlPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+e3tpdGVtW3ZhbHVlRmllbGRdfX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI2F1dG9jb21wbGV0ZU9wdGlvblRlbXBsYXRlIGxldC1pdGVtPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+e3tpdGVtW3ZhbHVlRmllbGRdfX08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCIgc3R5bGU9XCJmb250LXN0eWxlOiBpdGFsaWM7IGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWNhcHRpb24pXCI+e3tpdGVtW2Rlc2NyaXB0aW9uRmllbGRdfX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwveXZjLWF1dG9jb21wbGV0ZT5cblxuICA8YnV0dG9uICNidXR0b24gY2xhc3M9XCJ1aS1idXR0b25cIiAqbmdJZj1cIiFyZWFkb25seVwiIFtkaXNhYmxlZF09XCJyZWFkb25seVwiIChjbGljayk9XCJzaG93RGlhbG9nKCRldmVudCwgJGV2ZW50LmRldGFpbClcIlxuICAgIChrZXl1cC5hcnJvd0Rvd24pPVwic2hvd0RpYWxvZygkZXZlbnQpXCIgKGtleXVwLmVudGVyKT1cInNob3dEaWFsb2coJGV2ZW50KVwiIChrZXl1cC5zcGFjZSk9XCJzaG93RGlhbG9nKCRldmVudClcIj5cbiAgICA8ZW8taWNvbiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19hcnJvd19kb3duLnN2ZydcIj48L2VvLWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+Il19
317
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvZHluYW1pYy1saXN0L2R5bmFtaWMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2R5bmFtaWMtbGlzdC9keW5hbWljLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQVUsS0FBSyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBSUwsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDZCxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFzQnhCLE1BQU0sT0FBTyxvQkFBb0I7SUFZL0IsSUFDSSxjQUFjLENBQUMsSUFBYztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUlELElBQ0ksVUFBVSxDQUFDLEVBQU87UUFDcEIsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNQLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLElBQUksRUFBRSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN0QyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7d0JBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFD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QUFrQjtzQkFBdEMsU0FBUzt1QkFBQyxRQUFRO2dCQUVWLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0YsY0FBYztzQkFEakIsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBV25CLFVBQVU7c0JBRGIsS0FBSzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIGZvcndhcmRSZWYsIE9uSW5pdCwgSW5wdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBVbnR5cGVkRm9ybUNvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBWYWxpZGF0b3IsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBOR19WQUxJREFUT1JTXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QXV0b0NvbXBsZXRlfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7VHJlZU5vZGV9IGZyb20gJy4uLy4uL3RyZWUvdHJlZS5jb21wb25lbnQuaW50ZXJmYWNlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1keW5hbWljLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRHluYW1pY0xpc3RDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEeW5hbWljTGlzdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yLCBPbkluaXQge1xuXG4gIEBWaWV3Q2hpbGQoJ2F1dG9jb21wbGV0ZScpIGF1dG9Db21wbGV0ZUlucHV0OiBBdXRvQ29tcGxldGU7XG4gIEBWaWV3Q2hpbGQoJ2J1dHRvbicpIGF1dG9Db21wbGV0ZUJ1dHRvbjtcblxuICBASW5wdXQoKSBzaXR1YXRpb246IHN0cmluZztcbiAgQElucHV0KCkgbXVsdGlzZWxlY3Q6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHBpY2tlclRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xuXG4gIHByaXZhdGUgX2ZpbHRlckZ1bmM6IEZ1bmN0aW9uO1xuXG4gIEBJbnB1dCgnZmlsdGVyRnVuY3Rpb24nKVxuICBzZXQgZmlsdGVyRnVuY3Rpb24oZnVuYzogRnVuY3Rpb24pIHtcbiAgICB0aGlzLl9maWx0ZXJGdW5jID0gZnVuYztcbiAgICBpZiAodGhpcy5fbGlzdCkge1xuICAgICAgdGhpcy5idWlsZFRyZWUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9saXN0OiBhbnk7XG5cbiAgQElucHV0KCdsaXN0T2JqZWN0JylcbiAgc2V0IGxpc3RPYmplY3QobG86IGFueSkge1xuICAgIGlmIChsbykge1xuICAgICAgdGhpcy5fbGlzdCA9IGxvO1xuICAgICAgaWYgKGxvLmNvbmZpZyAmJiBsby5jb25maWcudmFsdWVGaWVsZCkge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE5vZGVzKSB7XG4gICAgICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IHRoaXMuc2VsZWN0ZWROb2Rlcy5tYXAoc24gPT4ge1xuICAgICAgICAgICAgICBzbltsby5jb25maWcudmFsdWVGaWVsZF0gPSBzblt0aGlzLnZhbHVlRmllbGRdO1xuICAgICAgICAgICAgICBzblsndmFsdWUnXSA9IHNuW3RoaXMudmFsdWVGaWVsZF07XG4gICAgICAgICAgICAgIHJldHVybiBzbjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXNbbG8uY29uZmlnLnZhbHVlRmllbGRdID0gdGhpcy5zZWxlY3RlZE5vZGVzW3RoaXMudmFsdWVGaWVsZF07XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXNbJ3ZhbHVlJ10gPSB0aGlzLnNlbGVjdGVkTm9kZXNbdGhpcy52YWx1ZUZpZWxkXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy52YWx1ZUZpZWxkID0gbG8uY29uZmlnLnZhbHVlRmllbGQ7XG4gICAgICB9XG4gICAgICBpZiAobG8uY29uZmlnICYmIGxvLmNvbmZpZy5kZXNjcmlwdGlvbkZpZWxkKSB7XG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb25GaWVsZCA9IGxvLmNvbmZpZy5kZXNjcmlwdGlvbkZpZWxkO1xuICAgICAgfVxuICAgICAgaWYgKGxvLmNvbmZpZyAmJiBsby5jb25maWcuc3ViRW50cmllc0ZpZWxkKSB7XG4gICAgICAgIHRoaXMuc3ViRW50cmllc0ZpZWxkID0gbG8uY29uZmlnLnN1YkVudHJpZXNGaWVsZDtcbiAgICAgIH1cbiAgICAgIHRoaXMuYnVpbGRUcmVlKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGxpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xpc3Q7XG4gIH1cblxuICB2YWx1ZUZpZWxkID0gJ3ZhbHVlJztcbiAgc3ViRW50cmllc0ZpZWxkID0gJ2VudHJpZXMnO1xuICBwcm9qZWN0c0VudHJpZXNGaWVsZCA9ICdwcm9qZWN0cyc7XG4gIGRlc2NyaXB0aW9uRmllbGQgPSAnZGVzY3JpcHRpb24nO1xuICBkaXNwbGF5ID0gZmFsc2U7XG4gIHByaXZhdGUgZGlydHkgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc1ZhbGlkID0gdHJ1ZTtcbiAgdmFsdWU7XG4gIHRyZWU6IFRyZWVOb2RlW107XG4gIHByaXZhdGUgX3NlbGVjdGVkTm9kZXM6IGFueTtcbiAgc2V0IHNlbGVjdGVkTm9kZXMobjogYW55KSB7XG4gICAgaWYgKG4gJiYgIUFycmF5LmlzQXJyYXkobikpIHtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlRm4oblt0aGlzLl9saXN0Py5jb25maWc/LnZhbHVlRmllbGQgfHwgJ3ZhbHVlJ10gfHwgbi5uYW1lKTtcbiAgICB9XG4gICAgdGhpcy5fc2VsZWN0ZWROb2RlcyA9IHN0cnVjdHVyZWRDbG9uZShuKTtcbiAgfVxuICBnZXQgc2VsZWN0ZWROb2RlcygpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWROb2RlcztcbiAgfVxuICBhdXRvY29tcGxldGVSZXM7XG4gIGF1dG9jb21wbGV0ZVZhbHVlczogVHJlZU5vZGVbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4ge1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZSB8fCBudWxsO1xuICAgIGNvbnN0IHZhbHVlcyA9ICF0aGlzLnZhbHVlIHx8IEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkgPyB0aGlzLnZhbHVlIHx8IFtdIDogW3RoaXMudmFsdWVdO1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBbXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IG51bGw7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IHZhbHVlcy5tYXAodiA9PiB7XG4gICAgICAgICAgbGV0IG5vZGUgPSB7fTtcbiAgICAgICAgICBub2RlW3RoaXMudmFsdWVGaWVsZF0gPSB2O1xuICAgICAgICAgIG5vZGVbJ3ZhbHVlJ10gPSB2O1xuICAgICAgICAgIHJldHVybiBub2RlO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBub2RlID0ge307XG4gICAgICAgIG5vZGVbdGhpcy52YWx1ZUZpZWxkXSA9IHZhbHVlO1xuICAgICAgICBub2RlWyd2YWx1ZSddID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IG5vZGU7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IG5vZGVzID0gIXRoaXMuc2VsZWN0ZWROb2RlcyB8fCBBcnJheS5pc0FycmF5KHRoaXMuc2VsZWN0ZWROb2RlcykgPyB0aGlzLnNlbGVjdGVkTm9kZXMgfHwgW10gOiBbdGhpcy5zZWxlY3RlZE5vZGVzXTtcblxuICAgIGlmICh0aGlzLl9saXN0ICYmIChub2Rlcy5sZW5ndGggIT09IHZhbHVlcy5sZW5ndGggfHwgbm9kZXMuc29tZSgobiwgaSkgPT4gblt0aGlzLnZhbHVlRmllbGRdICE9PSB2YWx1ZXNbaV0pKSkge1xuICAgICAgdGhpcy5idWlsZFRyZWUoKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICB9XG5cbiAgb25BdXRvQ29tcGxldGVTZWxlY3Qobm9kZT8pIHtcbiAgICBjb25zdCB3YXNJbnZhbGlkID0gIXRoaXMuaXNWYWxpZDtcbiAgICB0aGlzLmlzVmFsaWQgPSB0cnVlO1xuICAgIHRoaXMuc2V0Rm9ybUNvbnRyb2xWYWx1ZSh3YXNJbnZhbGlkKTtcbiAgfVxuXG4gIG9uQXV0b0NvbXBsZXRlVW5zZWxlY3Qobm9kZT8pIHtcbiAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSB0aGlzLnNlbGVjdGVkTm9kZXMuZmlsdGVyKChzTm9kZSkgPT4gc05vZGUudmFsdWUgIT09IG5vZGUudmFsdWUpO1xuICAgIHRoaXMuc2V0Rm9ybUNvbnRyb2xWYWx1ZSgpO1xuICB9XG5cbiAgb25UcmVlU2VsZWN0aW9uQ2hhbmdlZChldnQpIHtcbiAgICBpZiAoIXRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgIHRoaXMuZGlzcGxheSA9IGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCB3YXNJbnZhbGlkID0gIXRoaXMuaXNWYWxpZDtcbiAgICB0aGlzLmlzVmFsaWQgPSB0cnVlO1xuICAgIHRoaXMuc2V0Rm9ybUNvbnRyb2xWYWx1ZSh3YXNJbnZhbGlkKTtcbiAgfVxuXG4gIG9uQ2xlYXIoKSB7XG4gICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLnNldEZvcm1Db250cm9sVmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGFuZCBwcm9wYWdhdGVzIHRoZSBmb3JtIGNvbnRyb2xzIHZhbHVlIGJhc2VkIG9uIHRoZSBjb21wb25lbnRzIGlubmVyIHZhbHVlcy4gUHJvcGFnYXRlcyBvbmx5XG4gICAqIHdoZW4gdGhlIHZhbHVlIGhhcyBjaGFuZ2VkLlxuICAgKiBAcGFyYW0gZm9yY2VQcm9wYWdhdGlvbiAtIGZvcmNlcyBwcm9wYWdhdGlvbiBldmVuIGlmIHRoZSB2YWx1ZSBoYXNuJ3QgYmVlbiBjaGFuZ2VkXG4gICAqL1xuICBwcml2YXRlIHNldEZvcm1Db250cm9sVmFsdWUoZm9yY2VQcm9wYWdhdGlvbj86IGJvb2xlYW4pIHtcbiAgICBsZXQgdjtcbiAgICBsZXQgY2hhbmdlZDogYm9vbGVhbjtcbiAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgdiA9IHRoaXMuc2VsZWN0ZWROb2RlcyA/IHRoaXMuc2VsZWN0ZWROb2Rlcy5tYXAoKG5vZGUpID0+IG5vZGVbdGhpcy52YWx1ZUZpZWxkXSkgOiBbXTtcbiAgICAgIGNoYW5nZWQgPSAhdGhpcy52YWx1ZSB8fCAhKHYubGVuZ3RoID09PSB0aGlzLnZhbHVlLmxlbmd0aCAmJiB2LmV2ZXJ5KCh2YWwpID0+IHRoaXMudmFsdWUuc29tZSgoY3VyVmFsKSA9PiBjdXJWYWwgPT09IHZhbCkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdiA9IHRoaXMuc2VsZWN0ZWROb2RlcyA/IHRoaXMuc2VsZWN0ZWROb2Rlcy5kYXRhW3RoaXMudmFsdWVGaWVsZF0gOiBudWxsO1xuICAgICAgY2hhbmdlZCA9IHYgIT09IHRoaXMudmFsdWU7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VkIHx8IGZvcmNlUHJvcGFnYXRpb24pIHtcbiAgICAgIHRoaXMudmFsdWUgPSB2O1xuICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFRyZWUoKSB7XG4gICAgdGhpcy5hdXRvY29tcGxldGVWYWx1ZXMgPSBbXTtcbiAgICBsZXQgdHJlZTogVHJlZU5vZGVbXSA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5fbGlzdC5lbnRyaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0aGlzLmFkZFRyZWVOb2RlKHRyZWUsIHRoaXMuX2xpc3QuZW50cmllc1tpXSk7XG4gICAgfVxuICAgIHRoaXMudHJlZSA9IHRyZWU7XG4gIH1cblxuICBwcml2YXRlIGFkZFRyZWVOb2RlKHBhcmVudE5vZGU6IFRyZWVOb2RlW10sIGxpc3RFbnRyeSkge1xuICAgIGlmICh0aGlzLmZpbHRlckZ1bmN0aW9uICYmICF0aGlzLmZpbHRlckZ1bmN0aW9uKGxpc3RFbnRyeSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IG5vZGU6IFRyZWVOb2RlID0gdGhpcy5saXN0RW50cnlUb1RyZWVOb2RlKGxpc3RFbnRyeSk7XG4gICAgaWYgKG5vZGUuc2VsZWN0YWJsZSkge1xuICAgICAgdGhpcy5hdXRvY29tcGxldGVWYWx1ZXMucHVzaChub2RlKTtcbiAgICB9XG4gICAgaWYgKGxpc3RFbnRyeVt0aGlzLnN1YkVudHJpZXNGaWVsZF0pIHtcbiAgICAgIG5vZGUuY2hpbGRyZW4gPSBbXTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdEVudHJ5W3RoaXMuc3ViRW50cmllc0ZpZWxkXS5sZW5ndGg7IGkrKykge1xuICAgICAgICB0aGlzLmFkZFRyZWVOb2RlKG5vZGUuY2hpbGRyZW4sIGxpc3RFbnRyeVt0aGlzLnN1YkVudHJpZXNGaWVsZF1baV0pO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAobGlzdEVudHJ5W3RoaXMucHJvamVjdHNFbnRyaWVzRmllbGRdKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3RFbnRyeVt0aGlzLnByb2plY3RzRW50cmllc0ZpZWxkXS5sZW5ndGg7IGkrKykge1xuICAgICAgICB0aGlzLmFkZFRyZWVOb2RlKG5vZGUuY2hpbGRyZW4sIGxpc3RFbnRyeVt0aGlzLnByb2plY3RzRW50cmllc0ZpZWxkXVtpXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2hlY2tTZWxlY3RlZChub2RlKTtcbiAgICBwYXJlbnROb2RlLnB1c2gobm9kZSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrU2VsZWN0ZWQobm9kZTogVHJlZU5vZGUpIHtcbiAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy52YWx1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBpc1RyZWVOb2RlVmFsdWVJblZhbHVlID0gbm9kZS5kYXRhW3RoaXMudmFsdWVGaWVsZF0gPT09IHRoaXMudmFsdWVbaV07XG4gICAgICAgIGlmIChpc1RyZWVOb2RlVmFsdWVJblZhbHVlKSB7XG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlVGhhdEhhc1ZhbHVlID0gdGhpcy5zZWxlY3RlZE5vZGVzLmZpbmQoc04gPT4gc05bdGhpcy52YWx1ZUZpZWxkXSA9PT0gdGhpcy52YWx1ZVtpXSk7XG4gICAgICAgICAgaWYgKCFzZWxlY3RlZE5vZGVUaGF0SGFzVmFsdWUpIHtcbiAgICAgICAgICAgIG5vZGUuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzLnB1c2gobm9kZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNlbGVjdGVkTm9kZVRoYXRIYXNWYWx1ZS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChub2RlLmRhdGFbdGhpcy52YWx1ZUZpZWxkXSA9PT0gdGhpcy52YWx1ZSkge1xuICAgICAgICBub2RlLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gbm9kZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhdXRvY29tcGxldGVGbih0ZXJtOiBzdHJpbmcpIHtcblxuICAgIHRoaXMuYXV0b2NvbXBsZXRlUmVzID0gdGhpcy5hdXRvY29tcGxldGVWYWx1ZXMuZmlsdGVyKChhY05vZGUpID0+IHtcbiAgICAgIGlmICh0aGlzLmZpbHRlckZ1bmN0aW9uICYmICF0aGlzLmZpbHRlckZ1bmN0aW9uKGFjTm9kZS5kYXRhKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE5vZGVzLmZpbmQoKG5vZGUpID0+IGFjTm9kZS5kYXRhW3RoaXMudmFsdWVGaWVsZF0gPT09IG5vZGUuZGF0YVt0aGlzLnZhbHVlRmllbGRdKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGFjTm9kZS5kYXRhW3RoaXMudmFsdWVGaWVsZF0udG9Mb3dlckNhc2UoKS5pbmRleE9mKHRlcm0udG9Mb3dlckNhc2UoKSkgIT09IC0xIHx8XG4gICAgICAgIChhY05vZGUuZGF0YVt0aGlzLmRlc2NyaXB0aW9uRmllbGRdICYmIGFjTm9kZS5kYXRhW3RoaXMuZGVzY3JpcHRpb25GaWVsZF0udG9Mb3dlckNhc2UoKS5pbmRleE9mKHRlcm0udG9Mb3dlckNhc2UoKSkgIT09IC0xKTtcbiAgICB9KS5zbGljZSgwLCAxMCk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RFbnRyeVRvVHJlZU5vZGUobGlzdEVudHJ5KTogVHJlZU5vZGUge1xuICAgIGxldCBzZWxlY3RhYmxlID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuX2xpc3QgJiYgdGhpcy5fbGlzdC5jb25maWcgJiYgdGhpcy5fbGlzdC5jb25maWcuYWxsZWxlbWVudHNzZWxlY3RhYmxlKSB7XG4gICAgICBzZWxlY3RhYmxlID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2VsZWN0YWJsZSA9ICEobGlzdEVudHJ5W3RoaXMuc3ViRW50cmllc0ZpZWxkXSAmJiBsaXN0RW50cnlbdGhpcy5zdWJFbnRyaWVzRmllbGRdLmxlbmd0aCA+IDApO1xuICAgIH1cblxuICAgIGxldCB0cmVlTm9kZSA9IHtcbiAgICAgIGlkOiBsaXN0RW50cnkuaWQgPyBsaXN0RW50cnkuaWQgOiBsaXN0RW50cnlbdGhpcy52YWx1ZUZpZWxkXSxcbiAgICAgIG5hbWU6IGxpc3RFbnRyeVt0aGlzLmRlc2NyaXB0aW9uRmllbGRdID8gbGlzdEVudHJ5W3RoaXMudmFsdWVGaWVsZF0gKyAnICgnICsgbGlzdEVudHJ5W3RoaXMuZGVzY3JpcHRpb25GaWVsZF0gKyAnKScgOiBsaXN0RW50cnlbdGhpcy52YWx1ZUZpZWxkXSxcbiAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgIGV4cGFuZGVkOiBmYWxzZSxcbiAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgIHNlbGVjdGFibGU6IHNlbGVjdGFibGUsXG4gICAgICBkYXRhOiBsaXN0RW50cnlcbiAgICB9O1xuICAgIHRyZWVOb2RlW3RoaXMudmFsdWVGaWVsZF0gPSBsaXN0RW50cnlbdGhpcy52YWx1ZUZpZWxkXTtcbiAgICB0cmVlTm9kZS5kYXRhWyd2YWx1ZSddID0gbGlzdEVudHJ5W3RoaXMudmFsdWVGaWVsZF07XG4gICAgdHJlZU5vZGVbdGhpcy5kZXNjcmlwdGlvbkZpZWxkXSA9IGxpc3RFbnRyeVt0aGlzLmRlc2NyaXB0aW9uRmllbGRdO1xuICAgIHRyZWVOb2RlW3RoaXMuc3ViRW50cmllc0ZpZWxkXSA9IGxpc3RFbnRyeVt0aGlzLnN1YkVudHJpZXNGaWVsZF07XG5cbiAgICByZXR1cm4gdHJlZU5vZGU7XG4gIH1cblxuICBzaG93RGlhbG9nKGV2ZW50PywgZGlzcGxheSA9IHRydWUpIHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIC8vaWdub3JlIHN5bnRoZXRpemVkIGV2ZW50cyBvbiBlbnRlclxuICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICdjbGljaycgJiYgZXZlbnQuZGV0YWlsID09PSAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5kaXNwbGF5ID0gISFkaXNwbGF5O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuc2l0dWF0aW9uID09PSAnU0VBUkNIJykge1xuICAgICAgdGhpcy5tdWx0aXNlbGVjdCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGM6IFVudHlwZWRGb3JtQ29udHJvbCkge1xuICAgIHJldHVybiAodGhpcy5pc1ZhbGlkKSA/IG51bGwgOiB7XG4gICAgICBkeW5hbWljbGlzdDoge1xuICAgICAgICB2YWxpZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiIsIjxlby1kaWFsb2cgI2xpc3REaWFsb2cgW3RpdGxlXT1cInBpY2tlclRpdGxlXCIgW3Zpc2libGVdPVwiZGlzcGxheVwiIFtuZ0NsYXNzXT1cIntlbXB0eTogIShsaXN0Py5lbnRyaWVzPy5sZW5ndGgpfVwiXG4gIFtzdHlsZUNsYXNzXT1cIidkeW5saXN0LWRpYWxvZydcIiAoaGlkZSk9XCJkaXNwbGF5ID0gZmFsc2VcIj5cblxuICA8ZW8tdHJlZSBbdHJlZV09XCJ0cmVlXCIgKm5nSWY9XCJkaXNwbGF5ICYmIHRyZWVcIiBbaXNEaXNwbGF5ZWRdPVwiZGlzcGxheVwiIFtvcHRpb25zXT1cInttdWx0aXNlbGVjdDogbXVsdGlzZWxlY3R9XCJcbiAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkTm9kZXNcIiAoa2V5dXAuZW50ZXIpPVwic2hvd0RpYWxvZygkZXZlbnQsIGZhbHNlKVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25UcmVlU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCI+XG4gIDwvZW8tdHJlZT5cblxuICA8ZGl2IGNsYXNzPVwiZW1wdHlcIiAqbmdJZj1cIiEobGlzdD8uZW50cmllcz8ubGVuZ3RoKVwiPlxuICAgIDxkaXYgdHJhbnNsYXRlPmVvLmZvcm0ucHJvcGVydHkuZHluYW1pYy5saXN0LmVtcHR5PC9kaXY+XG4gIDwvZGl2PlxuPC9lby1kaWFsb2c+XG5cbjxkaXYgY2xhc3M9XCJlby1keW5hbWljLWxpc3RcIiBbbmdDbGFzc109XCJ7ZnVsbDogc2VsZWN0ZWROb2RlcyAmJiBzZWxlY3RlZE5vZGVzLmxlbmd0aCA9PT0gYXV0b2NvbXBsZXRlVmFsdWVzLmxlbmd0aH1cIj5cblxuICA8eXZjLWF1dG9jb21wbGV0ZSBbKG5nTW9kZWwpXT1cInNlbGVjdGVkTm9kZXNcIiAjYXV0b2NvbXBsZXRlIChzdWdnZXN0aW9uU2VsZWN0KT1cIm9uQXV0b0NvbXBsZXRlU2VsZWN0KCRldmVudClcIlxuICAgIFtkaXNhYmxlZF09XCJyZWFkb25seVwiIChzdWdnZXN0aW9uVW5zZWxlY3QpPVwib25BdXRvQ29tcGxldGVVbnNlbGVjdCgkZXZlbnQpXCIgW2ZvcmNlU2VsZWN0aW9uXT1cInRydWVcIlxuICAgIFthdXRvY29tcGxldGVWYWx1ZXNdPVwiYXV0b2NvbXBsZXRlUmVzXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25UcmVlU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCIgZmllbGQ9XCJ7e3ZhbHVlRmllbGR9fVwiIChhdXRvY29tcGxldGVGbmMpPVwiYXV0b2NvbXBsZXRlRm4oJGV2ZW50KVwiXG4gICAgW211bHRpcGxlXT1cIm11bHRpc2VsZWN0XCI+XG5cbiAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0gI2NoaXBUZW1wbGF0ZT5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPnt7aXRlbVt2YWx1ZUZpZWxkXX19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNhdXRvY29tcGxldGVPcHRpb25UZW1wbGF0ZSBsZXQtaXRlbT5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPnt7aXRlbVt2YWx1ZUZpZWxkXX19PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiIHN0eWxlPVwiZm9udC1zdHlsZTogaXRhbGljOyBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1jYXB0aW9uKVwiPnt7aXRlbVtkZXNjcmlwdGlvbkZpZWxkXX19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L3l2Yy1hdXRvY29tcGxldGU+XG5cbiAgPGJ1dHRvbiAjYnV0dG9uIGNsYXNzPVwidWktYnV0dG9uXCIgKm5nSWY9XCIhcmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwicmVhZG9ubHlcIiAoY2xpY2spPVwic2hvd0RpYWxvZygkZXZlbnQsICRldmVudC5kZXRhaWwpXCJcbiAgICAoa2V5dXAuYXJyb3dEb3duKT1cInNob3dEaWFsb2coJGV2ZW50KVwiIChrZXl1cC5lbnRlcik9XCJzaG93RGlhbG9nKCRldmVudClcIiAoa2V5dXAuc3BhY2UpPVwic2hvd0RpYWxvZygkZXZlbnQpXCI+XG4gICAgPGVvLWljb24gW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYXJyb3dfZG93bi5zdmcnXCI+PC9lby1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PiJdfQ==
@@ -192,11 +192,11 @@ export class ColumnConfiguratorComponent {
192
192
  }
193
193
  }
194
194
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ColumnConfiguratorComponent, deps: [{ token: i1.SearchService }, { token: i1.UserService }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
195
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ColumnConfiguratorComponent, selector: "eo-column-configurator", inputs: { configType: "configType", configContext: "configContext", visible: "visible", eoGrid: "eoGrid" }, outputs: { onConfigChanged: "onConfigChanged" }, host: { properties: { "class.visible": "this.visible" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"configurator\">\n\n <div class=\"bar\">\n <div class=\"title\" translate>eo.column.config.title</div>\n <button (click)=\"resetDefault()\" *ngIf=\"!isDefaultConfig\" translate>eo.column.config.action.resetdefault</button>\n <button (click)=\"toggleConfigMode()\" translate>eo.column.config.action.close</button>\n <button (click)=\"saveConfig(true)\" class=\"primary\" [disabled]=\"!currentFields?.length\" *ngIf=\"hasPrivilege\" translate>eo.column.config.action.save.default</button>\n <button (click)=\"saveConfig()\" class=\"primary\" [disabled]=\"!currentFields?.length\" translate>eo.column.config.action.save</button>\n </div>\n\n <div class=\"info\" *ngIf=\"info\">{{info}}</div>\n\n <div class=\"column-config\" cdkDropListGroup>\n\n <div class=\"scroller current\">\n <div class=\"headline\" translate>eo.column.config.headline.current</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'current')\" [cdkDropListData]=\"currentFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of currentFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n <div class=\"group\" [ngClass]=\"{on: field.confmeta.pinned}\" (click)=\"togglePinned(field, $event)\" translate>\n <span class=\"config-label\" translate>eo.column.config.pinned</span>\n </div>\n <!--<div class=\"group\" [ngClass]=\"{on: field.confmeta.group}\" (click)=\"toggleGroup(field, $event)\" translate>eo.column.config.group</div>-->\n <div class=\"sort\" [ngClass]=\"{on: field.confmeta.sort, asc: field.confmeta.sort === 'asc', desc: field.confmeta.sort === 'desc', disabled: !field.sortable}\"\n (click)=\"field.sortable && toggleSort(field, $event)\"><span class=\"config-label\" translate>eo.column.config.sort</span></div>\n <div class=\"alignment\" [ngClass]=\"{on: field.confmeta.alignmentx, left: field.confmeta.alignmentx === 'left',\n right: field.confmeta.alignmentx === 'right', center: field.confmeta.alignmentx === 'center'}\"\n (click)=\"toggleAlignment(field, $event)\"><span class=\"config-label\" translate>eo.column.config.alignment</span>\n <img *ngIf=\"field.confmeta.alignmentx === 'center'\" class=\"center-second\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=\">\n </div>\n </div>\n </div>\n\n </div>\n </div>\n\n <div class=\"scroller available\">\n <div class=\"headline\" translate>eo.column.config.headline.available</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'available')\" [cdkDropListData]=\"availableFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of availableFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n</div>\n", styles: [".cdk-drag-preview{display:none}.cdk-drag-placeholder .entry{border-style:dashed!important;opacity:.9}.cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-animating{transition:transform .3s cubic-bezier(0,0,.2,1)}:host{position:absolute;height:100%;width:100%;inset:0;background:var(--color-white);z-index:10;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;animation:eoFadeIn var(--app-default-transition-duration) 1 ease-in-out;display:none}:host.visible{display:block;overflow-x:auto}:host .configurator{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;height:100%}:host .bar{background:var(--color-accent);color:var(--color-white);display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;align-items:center;min-width:560px;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding)}:host .bar .title{flex:1 1 auto;font-size:var(--font-subhead)}:host .bar button{color:rgba(var(--color-white-rgb),.87);margin:4px}:host .bar button:hover{background:rgba(var(--color-white-rgb),.1)}:host .bar button.primary{border:1px solid var(--color-white);color:var(--color-white);background:rgba(var(--color-white-rgb),.1);white-space:nowrap}:host .bar button.primary:hover{background:rgba(var(--color-white-rgb),.3)}:host .info{font-size:var(--font-title);color:var(--color-accent);line-height:1em;margin:var(--app-pane-padding);font-weight:var(--font-weight-light)}:host .column-config{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;margin:var(--app-pane-padding);--cc-border-color: rgba(var(--color-black-rgb), .15)}:host .column-config .scroller{display:flex;flex:2;flex-direction:column;min-height:0;min-width:0;border:1px solid var(--cc-border-color);background:var(--panel-background-lightgrey);min-width:300px}:host .column-config .scroller:last-child{flex:1;min-width:200px}[dir=ltr] :host .column-config .scroller:last-child{margin-left:var(--app-pane-padding)}[dir=rtl] :host .column-config .scroller:last-child{margin-right:var(--app-pane-padding)}:host .column-config .scroller .headline{padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid var(--cc-border-color);color:var(--text-color-caption)}:host .column-config .scroller .items{overflow-y:auto;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry{background:var(--color-white);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:default;border:1px solid var(--cc-border-color);margin:4px 0;cursor:move;overflow:hidden;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry:before{content:\" \";height:1.5em;width:calc(var(--app-pane-padding) / 2);background:rgba(var(--color-black-rgb),.06)}[dir=ltr] :host .column-config .scroller .items .entry:before{margin-right:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .column-config .scroller .items .entry:before{margin-left:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry.sfe:before{content:\"*\";background:rgba(var(--color-black-rgb),.26);text-align:center;color:var(--color-white)}:host .column-config .scroller .items .entry.modified:before{background:var(--color-accent)}:host .column-config .scroller .items .entry .label{flex:1 1 auto}:host .column-config .scroller .items .entry .label.baseparam{font-style:italic}:host .column-config .scroller .items .entry .sort:after{content:\"\";transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);width:8px;height:8px;opacity:0;display:inline-block;position:relative;top:2px}[dir=ltr] :host .column-config .scroller .items .entry .sort:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .sort:after{margin-right:4px}:host .column-config .scroller .items .entry .sort.asc:after{opacity:1}:host .column-config .scroller .items .entry .sort.desc:after{opacity:1;transform:rotate(180deg)}:host .column-config .scroller .items .entry .alignment:after{content:\"\";transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);width:8px;height:8px;opacity:0;display:inline-block;transform:rotate(270deg);position:relative;top:2px}[dir=ltr] :host .column-config .scroller .items .entry .alignment:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .alignment:after{margin-right:4px}:host .column-config .scroller .items .entry .alignment.left:after,:host .column-config .scroller .items .entry .alignment.center:after{opacity:1}:host .column-config .scroller .items .entry .alignment.right:after{opacity:1;transform:rotate(90deg)}:host .column-config .scroller .items .entry .alignment .center-second{position:relative;top:2px;margin-left:2px;transform:rotate(90deg)}:host .column-config .scroller .items .entry .sort,:host .column-config .scroller .items .entry .group,:host .column-config .scroller .items .entry .alignment{background:rgba(var(--color-black-rgb),.06);color:rgba(var(--color-black-rgb),.33);border-radius:2px;border:1px solid rgba(var(--color-black-rgb),0);margin:0 4px;padding:0 4px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;font-size:var(--font-hint);white-space:nowrap;cursor:pointer}:host .column-config .scroller .items .entry .sort:hover,:host .column-config .scroller .items .entry .group:hover,:host .column-config .scroller .items .entry .alignment:hover{color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),.22)}:host .column-config .scroller .items .entry .sort.on,:host .column-config .scroller .items .entry .group.on,:host .column-config .scroller .items .entry .alignment.on{color:var(--color-accent-light);border-color:var(--color-accent-light)}:host .column-config .scroller .items .entry .sort.disabled,:host .column-config .scroller .items .entry .group.disabled,:host .column-config .scroller .items .entry .alignment.disabled{cursor:default;color:rgba(var(--color-black-rgb),.33);border:1px solid rgba(var(--color-black-rgb),0);text-decoration:line-through}:host .column-config .scroller .items .entry .sort .config-label,:host .column-config .scroller .items .entry .group .config-label,:host .column-config .scroller .items .entry .alignment .config-label{position:relative;top:2px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i4.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i4.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }] }); }
195
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ColumnConfiguratorComponent, selector: "eo-column-configurator", inputs: { configType: "configType", configContext: "configContext", visible: "visible", eoGrid: "eoGrid" }, outputs: { onConfigChanged: "onConfigChanged" }, host: { properties: { "class.visible": "this.visible" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"configurator\">\n\n <div class=\"bar\">\n <div class=\"title\" translate>eo.column.config.title</div>\n <button (click)=\"resetDefault()\" *ngIf=\"!isDefaultConfig\" translate>eo.column.config.action.resetdefault</button>\n <button (click)=\"toggleConfigMode()\" translate>eo.cta.button.cancel</button>\n <button (click)=\"saveConfig(true)\" class=\"primary\" [disabled]=\"!currentFields?.length\" *ngIf=\"hasPrivilege\" translate>eo.column.config.action.save.default</button>\n <button (click)=\"saveConfig()\" class=\"primary\" [disabled]=\"!currentFields?.length\" translate>eo.column.config.action.save</button>\n </div>\n\n <div class=\"info\" *ngIf=\"info\">{{info}}</div>\n\n <div class=\"column-config\" cdkDropListGroup>\n\n <div class=\"scroller current\">\n <div class=\"headline\" translate>eo.column.config.headline.current</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'current')\" [cdkDropListData]=\"currentFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of currentFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n <div class=\"group\" [ngClass]=\"{on: field.confmeta.pinned}\" (click)=\"togglePinned(field, $event)\" translate>\n <span class=\"config-label\" translate>eo.column.config.pinned</span>\n </div>\n <!--<div class=\"group\" [ngClass]=\"{on: field.confmeta.group}\" (click)=\"toggleGroup(field, $event)\" translate>eo.column.config.group</div>-->\n <div class=\"sort\" [ngClass]=\"{on: field.confmeta.sort, asc: field.confmeta.sort === 'asc', desc: field.confmeta.sort === 'desc', disabled: !field.sortable}\"\n (click)=\"field.sortable && toggleSort(field, $event)\"><span class=\"config-label\" translate>eo.column.config.sort</span></div>\n <div class=\"alignment\" [ngClass]=\"{on: field.confmeta.alignmentx, left: field.confmeta.alignmentx === 'left',\n right: field.confmeta.alignmentx === 'right', center: field.confmeta.alignmentx === 'center'}\"\n (click)=\"toggleAlignment(field, $event)\"><span class=\"config-label\" translate>eo.column.config.alignment</span>\n <img *ngIf=\"field.confmeta.alignmentx === 'center'\" class=\"center-second\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=\">\n </div>\n </div>\n </div>\n\n </div>\n </div>\n\n <div class=\"scroller available\">\n <div class=\"headline\" translate>eo.column.config.headline.available</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'available')\" [cdkDropListData]=\"availableFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of availableFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n</div>\n", styles: [".cdk-drag-preview{display:none}.cdk-drag-placeholder .entry{border-style:dashed!important;opacity:.9}.cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-animating{transition:transform .3s cubic-bezier(0,0,.2,1)}:host{position:absolute;height:100%;width:100%;inset:0;background:var(--color-white);z-index:10;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;animation:eoFadeIn var(--app-default-transition-duration) 1 ease-in-out;display:none}:host.visible{display:block;overflow-x:auto}:host .configurator{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;height:100%}:host .bar{background:var(--color-accent);color:var(--color-white);display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;align-items:center;min-width:560px;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding)}:host .bar .title{flex:1 1 auto;font-size:var(--font-subhead)}:host .bar button{color:rgba(var(--color-white-rgb),.87);margin:4px}:host .bar button:hover{background:rgba(var(--color-white-rgb),.1)}:host .bar button.primary{border:1px solid var(--color-white);color:var(--color-white);background:rgba(var(--color-white-rgb),.1);white-space:nowrap}:host .bar button.primary:hover{background:rgba(var(--color-white-rgb),.3)}:host .info{font-size:var(--font-title);color:var(--color-accent);line-height:1em;margin:var(--app-pane-padding);font-weight:var(--font-weight-light)}:host .column-config{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;margin:var(--app-pane-padding);--cc-border-color: rgba(var(--color-black-rgb), .15)}:host .column-config .scroller{display:flex;flex:2;flex-direction:column;min-height:0;min-width:0;border:1px solid var(--cc-border-color);background:var(--panel-background-lightgrey);min-width:300px}:host .column-config .scroller:last-child{flex:1;min-width:200px}[dir=ltr] :host .column-config .scroller:last-child{margin-left:var(--app-pane-padding)}[dir=rtl] :host .column-config .scroller:last-child{margin-right:var(--app-pane-padding)}:host .column-config .scroller .headline{padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid var(--cc-border-color);color:var(--text-color-caption)}:host .column-config .scroller .items{overflow-y:auto;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry{background:var(--color-white);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:default;border:1px solid var(--cc-border-color);margin:4px 0;cursor:move;overflow:hidden;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry:before{content:\" \";height:1.5em;width:calc(var(--app-pane-padding) / 2);background:rgba(var(--color-black-rgb),.06)}[dir=ltr] :host .column-config .scroller .items .entry:before{margin-right:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .column-config .scroller .items .entry:before{margin-left:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry.sfe:before{content:\"*\";background:rgba(var(--color-black-rgb),.26);text-align:center;color:var(--color-white)}:host .column-config .scroller .items .entry.modified:before{background:var(--color-accent)}:host .column-config .scroller .items .entry .label{flex:1 1 auto}:host .column-config .scroller .items .entry .label.baseparam{font-style:italic}:host .column-config .scroller .items .entry .sort:after{content:\"\";transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);width:8px;height:8px;opacity:0;display:inline-block;position:relative;top:2px}[dir=ltr] :host .column-config .scroller .items .entry .sort:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .sort:after{margin-right:4px}:host .column-config .scroller .items .entry .sort.asc:after{opacity:1}:host .column-config .scroller .items .entry .sort.desc:after{opacity:1;transform:rotate(180deg)}:host .column-config .scroller .items .entry .alignment:after{content:\"\";transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);width:8px;height:8px;opacity:0;display:inline-block;transform:rotate(270deg);position:relative;top:2px}[dir=ltr] :host .column-config .scroller .items .entry .alignment:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .alignment:after{margin-right:4px}:host .column-config .scroller .items .entry .alignment.left:after,:host .column-config .scroller .items .entry .alignment.center:after{opacity:1}:host .column-config .scroller .items .entry .alignment.right:after{opacity:1;transform:rotate(90deg)}:host .column-config .scroller .items .entry .alignment .center-second{position:relative;top:2px;margin-left:2px;transform:rotate(90deg)}:host .column-config .scroller .items .entry .sort,:host .column-config .scroller .items .entry .group,:host .column-config .scroller .items .entry .alignment{background:rgba(var(--color-black-rgb),.06);color:rgba(var(--color-black-rgb),.33);border-radius:2px;border:1px solid rgba(var(--color-black-rgb),0);margin:0 4px;padding:0 4px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;font-size:var(--font-hint);white-space:nowrap;cursor:pointer}:host .column-config .scroller .items .entry .sort:hover,:host .column-config .scroller .items .entry .group:hover,:host .column-config .scroller .items .entry .alignment:hover{color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),.22)}:host .column-config .scroller .items .entry .sort.on,:host .column-config .scroller .items .entry .group.on,:host .column-config .scroller .items .entry .alignment.on{color:var(--color-accent-light);border-color:var(--color-accent-light)}:host .column-config .scroller .items .entry .sort.disabled,:host .column-config .scroller .items .entry .group.disabled,:host .column-config .scroller .items .entry .alignment.disabled{cursor:default;color:rgba(var(--color-black-rgb),.33);border:1px solid rgba(var(--color-black-rgb),0);text-decoration:line-through}:host .column-config .scroller .items .entry .sort .config-label,:host .column-config .scroller .items .entry .group .config-label,:host .column-config .scroller .items .entry .alignment .config-label{position:relative;top:2px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i4.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i4.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }] }); }
196
196
  }
197
197
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ColumnConfiguratorComponent, decorators: [{
198
198
  type: Component,
199
- args: [{ selector: 'eo-column-configurator', template: "<div class=\"configurator\">\n\n <div class=\"bar\">\n <div class=\"title\" translate>eo.column.config.title</div>\n <button (click)=\"resetDefault()\" *ngIf=\"!isDefaultConfig\" translate>eo.column.config.action.resetdefault</button>\n <button (click)=\"toggleConfigMode()\" translate>eo.column.config.action.close</button>\n <button (click)=\"saveConfig(true)\" class=\"primary\" [disabled]=\"!currentFields?.length\" *ngIf=\"hasPrivilege\" translate>eo.column.config.action.save.default</button>\n <button (click)=\"saveConfig()\" class=\"primary\" [disabled]=\"!currentFields?.length\" translate>eo.column.config.action.save</button>\n </div>\n\n <div class=\"info\" *ngIf=\"info\">{{info}}</div>\n\n <div class=\"column-config\" cdkDropListGroup>\n\n <div class=\"scroller current\">\n <div class=\"headline\" translate>eo.column.config.headline.current</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'current')\" [cdkDropListData]=\"currentFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of currentFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n <div class=\"group\" [ngClass]=\"{on: field.confmeta.pinned}\" (click)=\"togglePinned(field, $event)\" translate>\n <span class=\"config-label\" translate>eo.column.config.pinned</span>\n </div>\n <!--<div class=\"group\" [ngClass]=\"{on: field.confmeta.group}\" (click)=\"toggleGroup(field, $event)\" translate>eo.column.config.group</div>-->\n <div class=\"sort\" [ngClass]=\"{on: field.confmeta.sort, asc: field.confmeta.sort === 'asc', desc: field.confmeta.sort === 'desc', disabled: !field.sortable}\"\n (click)=\"field.sortable && toggleSort(field, $event)\"><span class=\"config-label\" translate>eo.column.config.sort</span></div>\n <div class=\"alignment\" [ngClass]=\"{on: field.confmeta.alignmentx, left: field.confmeta.alignmentx === 'left',\n right: field.confmeta.alignmentx === 'right', center: field.confmeta.alignmentx === 'center'}\"\n (click)=\"toggleAlignment(field, $event)\"><span class=\"config-label\" translate>eo.column.config.alignment</span>\n <img *ngIf=\"field.confmeta.alignmentx === 'center'\" class=\"center-second\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=\">\n </div>\n </div>\n </div>\n\n </div>\n </div>\n\n <div class=\"scroller available\">\n <div class=\"headline\" translate>eo.column.config.headline.available</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'available')\" [cdkDropListData]=\"availableFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of availableFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n</div>\n", styles: [".cdk-drag-preview{display:none}.cdk-drag-placeholder .entry{border-style:dashed!important;opacity:.9}.cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-animating{transition:transform .3s cubic-bezier(0,0,.2,1)}:host{position:absolute;height:100%;width:100%;inset:0;background:var(--color-white);z-index:10;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;animation:eoFadeIn var(--app-default-transition-duration) 1 ease-in-out;display:none}:host.visible{display:block;overflow-x:auto}:host .configurator{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;height:100%}:host .bar{background:var(--color-accent);color:var(--color-white);display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;align-items:center;min-width:560px;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding)}:host .bar .title{flex:1 1 auto;font-size:var(--font-subhead)}:host .bar button{color:rgba(var(--color-white-rgb),.87);margin:4px}:host .bar button:hover{background:rgba(var(--color-white-rgb),.1)}:host .bar button.primary{border:1px solid var(--color-white);color:var(--color-white);background:rgba(var(--color-white-rgb),.1);white-space:nowrap}:host .bar button.primary:hover{background:rgba(var(--color-white-rgb),.3)}:host .info{font-size:var(--font-title);color:var(--color-accent);line-height:1em;margin:var(--app-pane-padding);font-weight:var(--font-weight-light)}:host .column-config{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;margin:var(--app-pane-padding);--cc-border-color: rgba(var(--color-black-rgb), .15)}:host .column-config .scroller{display:flex;flex:2;flex-direction:column;min-height:0;min-width:0;border:1px solid var(--cc-border-color);background:var(--panel-background-lightgrey);min-width:300px}:host .column-config .scroller:last-child{flex:1;min-width:200px}[dir=ltr] :host .column-config .scroller:last-child{margin-left:var(--app-pane-padding)}[dir=rtl] :host .column-config .scroller:last-child{margin-right:var(--app-pane-padding)}:host .column-config .scroller .headline{padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid var(--cc-border-color);color:var(--text-color-caption)}:host .column-config .scroller .items{overflow-y:auto;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry{background:var(--color-white);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:default;border:1px solid var(--cc-border-color);margin:4px 0;cursor:move;overflow:hidden;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry:before{content:\" \";height:1.5em;width:calc(var(--app-pane-padding) / 2);background:rgba(var(--color-black-rgb),.06)}[dir=ltr] :host .column-config .scroller .items .entry:before{margin-right:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .column-config .scroller .items .entry:before{margin-left:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry.sfe:before{content:\"*\";background:rgba(var(--color-black-rgb),.26);text-align:center;color:var(--color-white)}:host .column-config .scroller .items .entry.modified:before{background:var(--color-accent)}:host .column-config .scroller .items .entry .label{flex:1 1 auto}:host .column-config .scroller .items .entry .label.baseparam{font-style:italic}:host .column-config .scroller .items .entry .sort:after{content:\"\";transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);width:8px;height:8px;opacity:0;display:inline-block;position:relative;top:2px}[dir=ltr] :host .column-config .scroller .items .entry .sort:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .sort:after{margin-right:4px}:host .column-config .scroller .items .entry .sort.asc:after{opacity:1}:host .column-config .scroller .items .entry .sort.desc:after{opacity:1;transform:rotate(180deg)}:host .column-config .scroller .items .entry .alignment:after{content:\"\";transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);width:8px;height:8px;opacity:0;display:inline-block;transform:rotate(270deg);position:relative;top:2px}[dir=ltr] :host .column-config .scroller .items .entry .alignment:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .alignment:after{margin-right:4px}:host .column-config .scroller .items .entry .alignment.left:after,:host .column-config .scroller .items .entry .alignment.center:after{opacity:1}:host .column-config .scroller .items .entry .alignment.right:after{opacity:1;transform:rotate(90deg)}:host .column-config .scroller .items .entry .alignment .center-second{position:relative;top:2px;margin-left:2px;transform:rotate(90deg)}:host .column-config .scroller .items .entry .sort,:host .column-config .scroller .items .entry .group,:host .column-config .scroller .items .entry .alignment{background:rgba(var(--color-black-rgb),.06);color:rgba(var(--color-black-rgb),.33);border-radius:2px;border:1px solid rgba(var(--color-black-rgb),0);margin:0 4px;padding:0 4px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;font-size:var(--font-hint);white-space:nowrap;cursor:pointer}:host .column-config .scroller .items .entry .sort:hover,:host .column-config .scroller .items .entry .group:hover,:host .column-config .scroller .items .entry .alignment:hover{color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),.22)}:host .column-config .scroller .items .entry .sort.on,:host .column-config .scroller .items .entry .group.on,:host .column-config .scroller .items .entry .alignment.on{color:var(--color-accent-light);border-color:var(--color-accent-light)}:host .column-config .scroller .items .entry .sort.disabled,:host .column-config .scroller .items .entry .group.disabled,:host .column-config .scroller .items .entry .alignment.disabled{cursor:default;color:rgba(var(--color-black-rgb),.33);border:1px solid rgba(var(--color-black-rgb),0);text-decoration:line-through}:host .column-config .scroller .items .entry .sort .config-label,:host .column-config .scroller .items .entry .group .config-label,:host .column-config .scroller .items .entry .alignment .config-label{position:relative;top:2px}\n"] }]
199
+ args: [{ selector: 'eo-column-configurator', template: "<div class=\"configurator\">\n\n <div class=\"bar\">\n <div class=\"title\" translate>eo.column.config.title</div>\n <button (click)=\"resetDefault()\" *ngIf=\"!isDefaultConfig\" translate>eo.column.config.action.resetdefault</button>\n <button (click)=\"toggleConfigMode()\" translate>eo.cta.button.cancel</button>\n <button (click)=\"saveConfig(true)\" class=\"primary\" [disabled]=\"!currentFields?.length\" *ngIf=\"hasPrivilege\" translate>eo.column.config.action.save.default</button>\n <button (click)=\"saveConfig()\" class=\"primary\" [disabled]=\"!currentFields?.length\" translate>eo.column.config.action.save</button>\n </div>\n\n <div class=\"info\" *ngIf=\"info\">{{info}}</div>\n\n <div class=\"column-config\" cdkDropListGroup>\n\n <div class=\"scroller current\">\n <div class=\"headline\" translate>eo.column.config.headline.current</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'current')\" [cdkDropListData]=\"currentFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of currentFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n <div class=\"group\" [ngClass]=\"{on: field.confmeta.pinned}\" (click)=\"togglePinned(field, $event)\" translate>\n <span class=\"config-label\" translate>eo.column.config.pinned</span>\n </div>\n <!--<div class=\"group\" [ngClass]=\"{on: field.confmeta.group}\" (click)=\"toggleGroup(field, $event)\" translate>eo.column.config.group</div>-->\n <div class=\"sort\" [ngClass]=\"{on: field.confmeta.sort, asc: field.confmeta.sort === 'asc', desc: field.confmeta.sort === 'desc', disabled: !field.sortable}\"\n (click)=\"field.sortable && toggleSort(field, $event)\"><span class=\"config-label\" translate>eo.column.config.sort</span></div>\n <div class=\"alignment\" [ngClass]=\"{on: field.confmeta.alignmentx, left: field.confmeta.alignmentx === 'left',\n right: field.confmeta.alignmentx === 'right', center: field.confmeta.alignmentx === 'center'}\"\n (click)=\"toggleAlignment(field, $event)\"><span class=\"config-label\" translate>eo.column.config.alignment</span>\n <img *ngIf=\"field.confmeta.alignmentx === 'center'\" class=\"center-second\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=\">\n </div>\n </div>\n </div>\n\n </div>\n </div>\n\n <div class=\"scroller available\">\n <div class=\"headline\" translate>eo.column.config.headline.available</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'available')\" [cdkDropListData]=\"availableFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of availableFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n</div>\n", styles: [".cdk-drag-preview{display:none}.cdk-drag-placeholder .entry{border-style:dashed!important;opacity:.9}.cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-animating{transition:transform .3s cubic-bezier(0,0,.2,1)}:host{position:absolute;height:100%;width:100%;inset:0;background:var(--color-white);z-index:10;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;animation:eoFadeIn var(--app-default-transition-duration) 1 ease-in-out;display:none}:host.visible{display:block;overflow-x:auto}:host .configurator{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;height:100%}:host .bar{background:var(--color-accent);color:var(--color-white);display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;align-items:center;min-width:560px;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding)}:host .bar .title{flex:1 1 auto;font-size:var(--font-subhead)}:host .bar button{color:rgba(var(--color-white-rgb),.87);margin:4px}:host .bar button:hover{background:rgba(var(--color-white-rgb),.1)}:host .bar button.primary{border:1px solid var(--color-white);color:var(--color-white);background:rgba(var(--color-white-rgb),.1);white-space:nowrap}:host .bar button.primary:hover{background:rgba(var(--color-white-rgb),.3)}:host .info{font-size:var(--font-title);color:var(--color-accent);line-height:1em;margin:var(--app-pane-padding);font-weight:var(--font-weight-light)}:host .column-config{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;margin:var(--app-pane-padding);--cc-border-color: rgba(var(--color-black-rgb), .15)}:host .column-config .scroller{display:flex;flex:2;flex-direction:column;min-height:0;min-width:0;border:1px solid var(--cc-border-color);background:var(--panel-background-lightgrey);min-width:300px}:host .column-config .scroller:last-child{flex:1;min-width:200px}[dir=ltr] :host .column-config .scroller:last-child{margin-left:var(--app-pane-padding)}[dir=rtl] :host .column-config .scroller:last-child{margin-right:var(--app-pane-padding)}:host .column-config .scroller .headline{padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid var(--cc-border-color);color:var(--text-color-caption)}:host .column-config .scroller .items{overflow-y:auto;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry{background:var(--color-white);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:default;border:1px solid var(--cc-border-color);margin:4px 0;cursor:move;overflow:hidden;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry:before{content:\" \";height:1.5em;width:calc(var(--app-pane-padding) / 2);background:rgba(var(--color-black-rgb),.06)}[dir=ltr] :host .column-config .scroller .items .entry:before{margin-right:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .column-config .scroller .items .entry:before{margin-left:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry.sfe:before{content:\"*\";background:rgba(var(--color-black-rgb),.26);text-align:center;color:var(--color-white)}:host .column-config .scroller .items .entry.modified:before{background:var(--color-accent)}:host .column-config .scroller .items .entry .label{flex:1 1 auto}:host .column-config .scroller .items .entry .label.baseparam{font-style:italic}:host .column-config .scroller .items .entry .sort:after{content:\"\";transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);width:8px;height:8px;opacity:0;display:inline-block;position:relative;top:2px}[dir=ltr] :host .column-config .scroller .items .entry .sort:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .sort:after{margin-right:4px}:host .column-config .scroller .items .entry .sort.asc:after{opacity:1}:host .column-config .scroller .items .entry .sort.desc:after{opacity:1;transform:rotate(180deg)}:host .column-config .scroller .items .entry .alignment:after{content:\"\";transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);width:8px;height:8px;opacity:0;display:inline-block;transform:rotate(270deg);position:relative;top:2px}[dir=ltr] :host .column-config .scroller .items .entry .alignment:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .alignment:after{margin-right:4px}:host .column-config .scroller .items .entry .alignment.left:after,:host .column-config .scroller .items .entry .alignment.center:after{opacity:1}:host .column-config .scroller .items .entry .alignment.right:after{opacity:1;transform:rotate(90deg)}:host .column-config .scroller .items .entry .alignment .center-second{position:relative;top:2px;margin-left:2px;transform:rotate(90deg)}:host .column-config .scroller .items .entry .sort,:host .column-config .scroller .items .entry .group,:host .column-config .scroller .items .entry .alignment{background:rgba(var(--color-black-rgb),.06);color:rgba(var(--color-black-rgb),.33);border-radius:2px;border:1px solid rgba(var(--color-black-rgb),0);margin:0 4px;padding:0 4px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;font-size:var(--font-hint);white-space:nowrap;cursor:pointer}:host .column-config .scroller .items .entry .sort:hover,:host .column-config .scroller .items .entry .group:hover,:host .column-config .scroller .items .entry .alignment:hover{color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),.22)}:host .column-config .scroller .items .entry .sort.on,:host .column-config .scroller .items .entry .group.on,:host .column-config .scroller .items .entry .alignment.on{color:var(--color-accent-light);border-color:var(--color-accent-light)}:host .column-config .scroller .items .entry .sort.disabled,:host .column-config .scroller .items .entry .group.disabled,:host .column-config .scroller .items .entry .alignment.disabled{cursor:default;color:rgba(var(--color-black-rgb),.33);border:1px solid rgba(var(--color-black-rgb),0);text-decoration:line-through}:host .column-config .scroller .items .entry .sort .config-label,:host .column-config .scroller .items .entry .group .config-label,:host .column-config .scroller .items .entry .alignment .config-label{position:relative;top:2px}\n"] }]
200
200
  }], ctorParameters: () => [{ type: i1.SearchService }, { type: i1.UserService }, { type: i1.TranslateService }], propDecorators: { configType: [{
201
201
  type: Input
202
202
  }], configContext: [{
@@ -211,4 +211,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
211
211
  }], eoGrid: [{
212
212
  type: Input
213
213
  }] } });
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9ncmlkL2NvbHVtbi1jb25maWd1cmF0b3IvY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9ncmlkL2NvbHVtbi1jb25maWd1cmF0b3IvY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdDLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUVwSCxPQUFPLEVBQXFDLGVBQWUsRUFBMkIsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ2pILE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7O0FBT3hFLE1BQU0sT0FBTywyQkFBMkI7SUFrQnRDLFlBQ1UsYUFBNEIsRUFDNUIsV0FBd0IsRUFDekIsU0FBMkI7UUFGMUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDekIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFwQnBDLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBT1gsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3RDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJekIsbUJBQWMsR0FBRyxXQUFXLENBQUM7UUFPM0IsSUFBSSxDQUFDLFdBQVc7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TSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVELDhCQUE4QjtJQUM5QixzQ0FBc0M7SUFDdEMsZ0RBQWdEO0lBQ2hELElBQUk7SUFFSixZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU07UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMvQyxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNsRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDOzhHQXROVSwyQkFBMkI7a0dBQTNCLDJCQUEyQiwyU0NieEMsaTlHQW1EQTs7MkZEdENhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSx3QkFBd0I7MklBUXpCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFJSSxlQUFlO3NCQUF4QixNQUFNO2dCQUdFLE9BQU87c0JBRGYsV0FBVzt1QkFBQyxlQUFlOztzQkFDM0IsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5LCB0cmFuc2ZlckFycmF5SXRlbSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHtHcmlkQ29tcG9uZW50fSBmcm9tICcuLy4uL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB7Y29tYmluZUxhdGVzdH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7VXNlclNlcnZpY2UsIFNlYXJjaFNlcnZpY2UsIEVvVXNlciwgRmllbGREZWZpbml0aW9uLCBTZWFyY2hRdWVyeSwgT2JqZWN0VHlwZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0dyaWRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9hcGkvZ3JpZC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tY29sdW1uLWNvbmZpZ3VyYXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW4tY29uZmlndXJhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtbkNvbmZpZ3VyYXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgaXNEZWZhdWx0Q29uZmlnID0gdHJ1ZTtcbiAgaGFzUHJpdmlsZWdlID0gZmFsc2U7XG4gIGluZm86IHN0cmluZztcbiAgQElucHV0KCkgY29uZmlnVHlwZTogT2JqZWN0VHlwZSB8IG51bGw7XG4gIEBJbnB1dCgpIGNvbmZpZ0NvbnRleHQ6IE9iamVjdFR5cGUgfCBudWxsO1xuICBjdXJyZW50RmllbGRzOiBhbnlbXTtcbiAgYXZhaWxhYmxlRmllbGRzOiBhbnlbXTtcblxuICBAT3V0cHV0KCkgb25Db25maWdDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudmlzaWJsZScpXG4gIEBJbnB1dCgpIHZpc2libGUgPSBmYWxzZTtcblxuICBASW5wdXQoKSBlb0dyaWQ6IEdyaWRDb21wb25lbnQ7XG4gIHByaXZhdGUgb3JpZ2luYWxGaWVsZHM6IGFueVtdO1xuICBhbGlnbm1lbnRWYWx1ZSA9ICdBdXRvbWF0aWMnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG5cbiAgICB0aGlzLnVzZXJTZXJ2aWNlXG4gICAgICAudXNlciRcbiAgICAgIC5zdWJzY3JpYmUoKHVzZXI6IEVvVXNlcikgPT4ge1xuICAgICAgICB0aGlzLmhhc1ByaXZpbGVnZSA9IHVzZXIuaGFzUHJpdmlsZWdlKCdFRElUX1BST0ZJTEVfU0VUJyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8vIHJlc2V0IGEgY29sdW1uIGNvbmZpZ3VyYXRpb24gdG8gaXRzIGRlZmF1bHRcbiAgcmVzZXREZWZhdWx0KCkge1xuICAgIC8vdGhpcy5pbml0Q29uZmlnKHRydWUpO1xuICAgIHRoaXMuc2VhcmNoU2VydmljZS5yZW1vdmVSZXN1bHRGaWVsZERlZmluaXRpb24odGhpcy5jb25maWdUeXBlLCB0aGlzLmNvbmZpZ0NvbnRleHQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZUNvbmZpZ01vZGUodHJ1ZSkpO1xuXG4gIH1cblxuXG4gIC8qKlxuICAgKiBzYXZlIHRoZSBjdXJyZW50RmllbGRzIGNvbmZpZ3VyYXRpb25cbiAgICpcbiAgICogQHBhcmFtIGJvb2xlYW4gYXNEZWZhdWx0XG4gICAqL1xuICBzYXZlQ29uZmlnKGFzRGVmYXVsdCA9IGZhbHNlKTogdm9pZCB7XG4gICAgbGV0IGRhdGEgPSBuZXcgRmllbGREZWZpbml0aW9uKFtdLCBbXSwgW10sIFtdLCBbXSk7XG4gICAgZGF0YS5lbGVtZW50cyA9IHRoaXMuY3VycmVudEZpZWxkcy5tYXAoY29sID0+IHtcbiAgICAgIGlmIChjb2wuY29uZm1ldGEuc29ydCkge1xuICAgICAgICBkYXRhLnNvcnRvcmRlci5wdXNoKHtcbiAgICAgICAgICBxbmFtZTogY29sLnFuYW1lLFxuICAgICAgICAgIGRpcmVjdGlvbjogY29sLmNvbmZtZXRhLnNvcnRcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAoY29sLmNvbmZtZXRhLmdyb3VwKSB7XG4gICAgICAgIGRhdGEuZ3JvdXBvcmRlci5wdXNoKHtcbiAgICAgICAgICBxbmFtZTogY29sLnFuYW1lXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKGNvbC5jb25mbWV0YS5waW5uZWQpIHtcbiAgICAgICAgZGF0YS5waW5uZWQucHVzaCh7XG4gICAgICAgICAgcW5hbWU6IGNvbC5xbmFtZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChjb2wuY29uZm1ldGEuYWxpZ25tZW50eCkge1xuICAgICAgICBkYXRhLmFsaWdubWVudHgucHVzaCh7XG4gICAgICAgICAgcW5hbWU6IGNvbC5xbmFtZSxcbiAgICAgICAgICB2YWx1ZTogY29sLmNvbmZtZXRhLmFsaWdubWVudHhcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHFuYW1lOiBjb2wucW5hbWVcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICB0aGlzLnNlYXJjaFNlcnZpY2VcbiAgICAgIC5zYXZlUmVzdWx0RmllbGREZWZpbml0aW9uKHRoaXMuY29uZmlnVHlwZSwgdGhpcy5jb25maWdDb250ZXh0LCBkYXRhLCBhc0RlZmF1bHQgJiYgdGhpcy5oYXNQcml2aWxlZ2UpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudG9nZ2xlQ29uZmlnTW9kZSh0cnVlKSk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgbGlzdHMgY29sdW1ucyBmb3IgdGhlIGN1cnJlbnRGaWVsZHMgY29uZmlnLlxuICAgKlxuICAgKiBAcGFyYW0gbG9hZERlZmF1bHRzIC0gaWYgc2V0IHRvIHRydWUsIHRoZSBjb25maWdzIGRlZmF1bHQgY29uZmlndXJhdGlvbiB3aWxsIGJlIGxvYWRlZFxuICAgKiBpbnN0ZWFkIG9mIHRoZSBvbmUgdGhhdCB3YXMgY29uZmlndXJlZCBieSB0aGUgdXNlci5cbiAgICovXG4gIGluaXRDb25maWcobG9hZERlZmF1bHRzKSB7XG5cbiAgICB0aGlzLmNyZWF0ZUNvbmZpZ0luZm8odGhpcy5jb25maWdUeXBlLCB0aGlzLmNvbmZpZ0NvbnRleHQpO1xuXG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlLmZldGNoUmVzdWx0RmllbGREZWZpbml0aW9uKHRoaXMuY29uZmlnVHlwZSwgdGhpcy5jb25maWdDb250ZXh0LCBsb2FkRGVmYXVsdHMgPyAnREVGQVVMVCcgOiBudWxsKS5waXBlKGNvbWJpbmVMYXRlc3QoXG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2UuZmV0Y2hSZXN1bHRGaWVsZERlZmluaXRpb24odGhpcy5jb25maWdUeXBlLCB0aGlzLmNvbmZpZ0NvbnRleHQsICdBTEwnKSxcbiAgICAgIChjdXJyZW50OiBGaWVsZERlZmluaXRpb24sIGF2YWlsYWJsZTogRmllbGREZWZpbml0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiB7Y3VycmVudCwgYXZhaWxhYmxlfTtcbiAgICAgIH0pKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHJlcy5jdXJyZW50LmVsZW1lbnRzLmZvckVhY2goKGVsOiBhbnkpID0+IHtcbiAgICAgICAgICBsZXQgc29ydEVudHJ5ID0gcmVzLmN1cnJlbnQuc29ydG9yZGVyLmZpbmQoKGE6IGFueSkgPT4gZWwucW5hbWUgPT09IGEucW5hbWUpO1xuICAgICAgICAgIC8vIGxldCBncm91cEVudHJ5ID0gcmVzLmN1cnJlbnQuZ3JvdXBvcmRlci5maW5kKChhOiBhbnkpID0+IGVsLnFuYW1lID09PSBhLnFuYW1lKTtcbiAgICAgICAgICBsZXQgcGlubmVkRW50cnkgPSByZXMuY3VycmVudC5waW5uZWQuZmluZCgoYTogYW55KSA9PiBlbC5xbmFtZSA9PT0gYS5xbmFtZSk7XG4gICAgICAgICAgbGV0IGFsaWdubWVudEVudHJ5ID0gcmVzLmN1cnJlbnQuYWxpZ25tZW50eC5maW5kKChhOiBhbnkpID0+IGVsLnFuYW1lID09PSBhLnFuYW1lKTtcbiAgICAgICAgICBlbC5jb25mbWV0YSA9IHtcbiAgICAgICAgICAgIHNvcnQ6IHNvcnRFbnRyeSA/IChzb3J0RW50cnkuZGlyZWN0aW9uIHx8ICcnKS50b0xvd2VyQ2FzZSgpIDogbnVsbCxcbiAgICAgICAgICAgIC8vIGdyb3VwOiAhIWdyb3VwRW50cnksXG4gICAgICAgICAgICBwaW5uZWQ6ICEhcGlubmVkRW50cnksXG4gICAgICAgICAgICBtb2RpZmllZDogZmFsc2UsXG4gICAgICAgICAgICBhbGlnbm1lbnR4OiBhbGlnbm1lbnRFbnRyeSA/IGFsaWdubWVudEVudHJ5LnZhbHVlIDogbnVsbFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaXNEZWZhdWx0Q29uZmlnID0gcmVzLmN1cnJlbnQubW9kZSAhPT0gJ1VTRVInO1xuICAgICAgICB0aGlzLm9yaWdpbmFsRmllbGRzID0gcmVzLmN1cnJlbnQuZWxlbWVudHM7XG5cbiAgICAgICAgdGhpcy5jdXJyZW50RmllbGRzID0gdGhpcy5lb0dyaWQuY29sdW1ucy5maWx0ZXIoY29sdW1uID0+IGNvbHVtbi5pc1Zpc2libGUoKSkubWFwKCh7Y29sRGVmLCBzb3J0LCBwaW5uZWR9OiBhbnksIGluZGV4KSA9PiB7XG4gICAgICAgICAgY29uc3QgaSA9IHRoaXMub3JpZ2luYWxGaWVsZHMuZmluZEluZGV4KGYgPT4gR3JpZFNlcnZpY2UucW5hbWVNYXRjaChmLnFuYW1lLCBjb2xEZWYucmVmRGF0YS5xbmFtZSkpLCBmaWVsZCA9IHRoaXMub3JpZ2luYWxGaWVsZHNbaV07XG4gICAgICAgICAgcmV0dXJuIHsuLi5maWVsZCwgY29uZm1ldGE6IHtzb3J0LCBwaW5uZWQsIGFsaWdubWVudHg6IGZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHgsXG4gICAgICAgICAgICAgIG1vZGlmaWVkOiBpICE9PSBpbmRleCB8fCAoZmllbGQuY29uZm1ldGEuc29ydCB8fCAnJykgIT09IChzb3J0IHx8ICcnKSB8fCAhIWZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHh9fTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hdmFpbGFibGVGaWVsZHMgPSByZXMuYXZhaWxhYmxlLmVsZW1lbnRzLmZpbHRlcigoY29sOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMuY29uZmlnVHlwZT8ubWF4RmlsZXMgJiYgY29sLnFuYW1lLnN0YXJ0c1dpdGgoJ3N5c2RvY3VtZW50JykpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuICF0aGlzLmN1cnJlbnRGaWVsZHMuZmluZCgoYzogYW55KSA9PiBjLnFuYW1lID09PSBjb2wucW5hbWUpO1xuICAgICAgICB9KS5tYXAoZWwgPT4ge1xuICAgICAgICAgIGVsLmNvbmZtZXRhID0ge21vZGlmaWVkOiAhIXRoaXMub3JpZ2luYWxGaWVsZHMuZmluZCgoYzogYW55KSA9PiBjLnFuYW1lID09PSBlbC5xbmFtZSl9O1xuICAgICAgICAgIHJldHVybiBlbDtcbiAgICAgICAgfSkuc29ydChVdGlscy5zb3J0VmFsdWVzKCdsYWJlbCcpKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgdGhlIGluZm8gb2JqZWN0IHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIgaW5kaWNhdGluZyB3aGF0IHBhcnRpY3VsYXIgcmVzdWx0IGxpc3RcbiAgICogaXMgZ29pbmcgdG8gYmUgY29uZmlndXJlZC4gSWYgbm9uZSBvZiB0aGUgcGFyYW1zIGlzIHByb3ZpZGVkLCB3ZSBnb3QgYSBnZW5lcmFsIGZ1bGx0ZXh0IHJlc3VsdC5cbiAgICpcbiAgICogQHBhcmFtIFt0eXBlXSAtIHRoZSBjb25maWd1cmF0aW9ucyB0YXJnZXQgb2JqZWN0IHR5cGVcbiAgICogQHBhcmFtIFtjb250ZXh0XSAtIHRoZSBjb250ZXh0IG9iamVjdCB0eXBlXG4gICAqL1xuICBjcmVhdGVDb25maWdJbmZvKHR5cGUsIGNvbnRleHQpIHtcbiAgICBpZiAodHlwZSAmJiB0eXBlLmxhYmVsICYmIGNvbnRleHQpIHtcbiAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnZW8uY29sdW1uLmNvbmZpZy5pbmZvLnR5cGUuY29udGV4dCcsIHtcbiAgICAgICAgdHlwZTogdHlwZS5sYWJlbCxcbiAgICAgICAgY29udGV4dDogY29udGV4dC5sYWJlbFxuICAgICAgfSkuc3Vic2NyaWJlKHRleHQgPT4gdGhpcy5pbmZvID0gdGV4dCk7XG4gICAgfSBlbHNlIGlmICh0eXBlICYmIHR5cGUubGFiZWwpIHtcbiAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnZW8uY29sdW1uLmNvbmZpZy5pbmZvLnR5cGUnLCB7XG4gICAgICAgIHR5cGU6IHR5cGUubGFiZWxcbiAgICAgIH0pLnN1YnNjcmliZSh0ZXh0ID0+IHRoaXMuaW5mbyA9IHRleHQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2VvLmNvbHVtbi5jb25maWcuaW5mby5mdWxsdGV4dCcpLnN1YnNjcmliZSh0ZXh0ID0+IHRoaXMuaW5mbyA9IHRleHQpO1xuICAgIH1cbiAgfVxuXG4gIG1hcmtJdGVtKGZpZWxkLCBncm91cCkge1xuICAgIGlmIChmaWVsZCAmJiBncm91cCkge1xuICAgICAgZmllbGQuY29uZm1ldGEubW9kaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPGFueT4sIGdyb3VwOiAnY3VycmVudCcgfCAnYXZhaWxhYmxlJykge1xuICAgIHRyYW5zZmVyQXJyYXlJdGVtKGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGEsIGV2ZW50LmNvbnRhaW5lci5kYXRhLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIHRoaXMubWFya0l0ZW0oZXZlbnQuaXRlbS5kYXRhLCBncm91cCk7XG4gIH1cblxuICB0b2dnbGVDb25maWdNb2RlKHJlZnJlc2ggPSBmYWxzZSkge1xuICAgIHRoaXMub25Db25maWdDaGFuZ2VkLmVtaXQocmVmcmVzaCk7XG4gIH1cblxuICB0b2dnbGVQcmV2ZW50KGl0ZW0sICRldmVudCkge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm1hcmtJdGVtKGl0ZW0sICdjdXJyZW50Jyk7XG4gIH1cblxuICB0b2dnbGVTb3J0KGl0ZW0sICRldmVudCkge1xuICAgIHRoaXMudG9nZ2xlUHJldmVudChpdGVtLCAkZXZlbnQpO1xuICAgIGlmICghaXRlbS5jb25mbWV0YS5zb3J0KSB7XG4gICAgICBpdGVtLmNvbmZtZXRhLnNvcnQgPSAnYXNjJztcbiAgICB9IGVsc2UgaWYgKGl0ZW0uY29uZm1ldGEuc29ydCA9PT0gJ2FzYycpIHtcbiAgICAgIGl0ZW0uY29uZm1ldGEuc29ydCA9ICdkZXNjJztcbiAgICB9IGVsc2UgaWYgKGl0ZW0uY29uZm1ldGEuc29ydCA9PT0gJ2Rlc2MnKSB7XG4gICAgICBpdGVtLmNvbmZtZXRhLnNvcnQgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUFsaWdubWVudChpdGVtLCAkZXZlbnQpIHtcbiAgICB0aGlzLnRvZ2dsZVByZXZlbnQoaXRlbSwgJGV2ZW50KTtcbiAgICBpZiAoIWl0ZW0uY29uZm1ldGEuYWxpZ25tZW50eCkge1xuICAgICAgaXRlbS5jb25mbWV0YS5hbGlnbm1lbnR4ID0gJ3JpZ2h0JztcbiAgICB9IGVsc2UgaWYgKGl0ZW0uY29uZm1ldGEuYWxpZ25tZW50eCA9PT0gJ3JpZ2h0Jykge1xuICAgICAgaXRlbS5jb25mbWV0YS5hbGlnbm1lbnR4ID0gJ2NlbnRlcic7XG4gICAgfSBlbHNlIGlmIChpdGVtLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdjZW50ZXInKSB7XG4gICAgICBpdGVtLmNvbmZtZXRhLmFsaWdubWVudHggPSAnbGVmdCc7XG4gICAgfSBlbHNlIGlmIChpdGVtLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdsZWZ0Jykge1xuICAgICAgaXRlbS5jb25mbWV0YS5hbGlnbm1lbnR4ID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvLyB0b2dnbGVHcm91cChpdGVtLCAkZXZlbnQpIHtcbiAgLy8gICB0aGlzLnRvZ2dsZVByZXZlbnQoaXRlbSwgJGV2ZW50KTtcbiAgLy8gICBpdGVtLmNvbmZtZXRhLmdyb3VwID0gIWl0ZW0uY29uZm1ldGEuZ3JvdXA7XG4gIC8vIH1cblxuICB0b2dnbGVQaW5uZWQoaXRlbSwgJGV2ZW50KSB7XG4gICAgdGhpcy50b2dnbGVQcmV2ZW50KGl0ZW0sICRldmVudCk7XG4gICAgaXRlbS5jb25mbWV0YS5waW5uZWQgPSAhaXRlbS5jb25mbWV0YS5waW5uZWQ7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAodGhpcy52aXNpYmxlICYmIChjaGFuZ2VzLmNvbmZpZ1R5cGUgfHwgY2hhbmdlcy5jb25maWdDb250ZXh0KSkge1xuICAgICAgdGhpcy5pbml0Q29uZmlnKGZhbHNlKTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImNvbmZpZ3VyYXRvclwiPlxuXG4gIDxkaXYgY2xhc3M9XCJiYXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy50aXRsZTwvZGl2PlxuICAgIDxidXR0b24gKGNsaWNrKT1cInJlc2V0RGVmYXVsdCgpXCIgKm5nSWY9XCIhaXNEZWZhdWx0Q29uZmlnXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuYWN0aW9uLnJlc2V0ZGVmYXVsdDwvYnV0dG9uPlxuICAgIDxidXR0b24gKGNsaWNrKT1cInRvZ2dsZUNvbmZpZ01vZGUoKVwiIHRyYW5zbGF0ZT5lby5jb2x1bW4uY29uZmlnLmFjdGlvbi5jbG9zZTwvYnV0dG9uPlxuICAgIDxidXR0b24gKGNsaWNrKT1cInNhdmVDb25maWcodHJ1ZSlcIiBjbGFzcz1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwiIWN1cnJlbnRGaWVsZHM/Lmxlbmd0aFwiICpuZ0lmPVwiaGFzUHJpdmlsZWdlXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuYWN0aW9uLnNhdmUuZGVmYXVsdDwvYnV0dG9uPlxuICAgIDxidXR0b24gKGNsaWNrKT1cInNhdmVDb25maWcoKVwiIGNsYXNzPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhY3VycmVudEZpZWxkcz8ubGVuZ3RoXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuYWN0aW9uLnNhdmU8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImluZm9cIiAqbmdJZj1cImluZm9cIj57e2luZm99fTwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjb2x1bW4tY29uZmlnXCIgY2RrRHJvcExpc3RHcm91cD5cblxuICAgIDxkaXYgY2xhc3M9XCJzY3JvbGxlciBjdXJyZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaGVhZGxpbmVcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy5oZWFkbGluZS5jdXJyZW50PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiaXRlbXNcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50LCAnY3VycmVudCcpXCIgW2Nka0Ryb3BMaXN0RGF0YV09XCJjdXJyZW50RmllbGRzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgY2RrRHJhZ0hhbmRsZSBjZGtEcmFnIFtjZGtEcmFnRGF0YV09XCJmaWVsZFwiICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBjdXJyZW50RmllbGRzOyBpbmRleCBhcyBpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVudHJ5XCIgW25nQ2xhc3NdPVwie21vZGlmaWVkOiBmaWVsZC5jb25mbWV0YS5tb2RpZmllZCwgc2ZlOiBmaWVsZC5zZWxlY3RlZGZvcmVucmljaG1lbnR9XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIiBbbmdDbGFzc109XCJ7YmFzZXBhcmFtOiBmaWVsZC5iYXNlcGFyYW1ldGVyfVwiPnt7ZmllbGQubGFiZWx9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyb3VwXCIgW25nQ2xhc3NdPVwie29uOiBmaWVsZC5jb25mbWV0YS5waW5uZWR9XCIgKGNsaWNrKT1cInRvZ2dsZVBpbm5lZChmaWVsZCwgJGV2ZW50KVwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb25maWctbGFiZWxcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy5waW5uZWQ8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwhLS08ZGl2IGNsYXNzPVwiZ3JvdXBcIiBbbmdDbGFzc109XCJ7b246IGZpZWxkLmNvbmZtZXRhLmdyb3VwfVwiIChjbGljayk9XCJ0b2dnbGVHcm91cChmaWVsZCwgJGV2ZW50KVwiIHRyYW5zbGF0ZT5lby5jb2x1bW4uY29uZmlnLmdyb3VwPC9kaXY+LS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic29ydFwiIFtuZ0NsYXNzXT1cIntvbjogZmllbGQuY29uZm1ldGEuc29ydCwgYXNjOiBmaWVsZC5jb25mbWV0YS5zb3J0ID09PSAnYXNjJywgZGVzYzogZmllbGQuY29uZm1ldGEuc29ydCA9PT0gJ2Rlc2MnLCBkaXNhYmxlZDogIWZpZWxkLnNvcnRhYmxlfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZmllbGQuc29ydGFibGUgJiYgdG9nZ2xlU29ydChmaWVsZCwgJGV2ZW50KVwiPjxzcGFuIGNsYXNzPVwiY29uZmlnLWxhYmVsXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuc29ydDwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbm1lbnRcIiBbbmdDbGFzc109XCJ7b246IGZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHgsIGxlZnQ6IGZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdsZWZ0JyxcbiAgICAgICAgICAgIHJpZ2h0OiBmaWVsZC5jb25mbWV0YS5hbGlnbm1lbnR4ID09PSAncmlnaHQnLCBjZW50ZXI6IGZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdjZW50ZXInfVwiXG4gICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVBbGlnbm1lbnQoZmllbGQsICRldmVudClcIj48c3BhbiBjbGFzcz1cImNvbmZpZy1sYWJlbFwiIHRyYW5zbGF0ZT5lby5jb2x1bW4uY29uZmlnLmFsaWdubWVudDwvc3Bhbj5cbiAgICAgICAgICAgICAgPGltZyAqbmdJZj1cImZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdjZW50ZXInXCIgY2xhc3M9XCJjZW50ZXItc2Vjb25kXCIgc3JjPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFJQ0FNQUFBRHowVTY1QUFBQUdGQk1WRVVBQUFELy8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQjVzUEQvQUFBQUNIUlNUbE1BQUFFbksyeHdpaHYyZTZNQUFBQWtTVVJCVkFnZEJjR0JBUUFnRE1NZ212bi96Y0lHTU82eFVCSFhJcUxrWWttUURmQUJDSEFBT0N0L3hTWUFBQUFBU1VWT1JLNUNZSUk9XCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInNjcm9sbGVyIGF2YWlsYWJsZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImhlYWRsaW5lXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuaGVhZGxpbmUuYXZhaWxhYmxlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiaXRlbXNcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50LCAnYXZhaWxhYmxlJylcIiBbY2RrRHJvcExpc3REYXRhXT1cImF2YWlsYWJsZUZpZWxkc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiIGNka0RyYWdIYW5kbGUgY2RrRHJhZyBbY2RrRHJhZ0RhdGFdPVwiZmllbGRcIiAqbmdGb3I9XCJsZXQgZmllbGQgb2YgYXZhaWxhYmxlRmllbGRzOyBpbmRleCBhcyBpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVudHJ5XCIgW25nQ2xhc3NdPVwie21vZGlmaWVkOiBmaWVsZC5jb25mbWV0YS5tb2RpZmllZCwgc2ZlOiBmaWVsZC5zZWxlY3RlZGZvcmVucmljaG1lbnR9XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIiBbbmdDbGFzc109XCJ7YmFzZXBhcmFtOiBmaWVsZC5iYXNlcGFyYW1ldGVyfVwiPnt7ZmllbGQubGFiZWx9fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9ncmlkL2NvbHVtbi1jb25maWd1cmF0b3IvY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9ncmlkL2NvbHVtbi1jb25maWd1cmF0b3IvY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdDLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUVwSCxPQUFPLEVBQXFDLGVBQWUsRUFBMkIsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ2pILE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7O0FBT3hFLE1BQU0sT0FBTywyQkFBMkI7SUFrQnRDLFlBQ1UsYUFBNEIsRUFDNUIsV0FBd0IsRUFDekIsU0FBMkI7UUFGMUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDekIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFwQnBDLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBT1gsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3RDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJekIsbUJBQWMsR0FBRyxXQUFXLENBQUM7UUFPM0IsSUFBSSxDQUFDLFdBQVc7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TSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVELDhCQUE4QjtJQUM5QixzQ0FBc0M7SUFDdEMsZ0RBQWdEO0lBQ2hELElBQUk7SUFFSixZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU07UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMvQyxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNsRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDOzhHQXROVSwyQkFBMkI7a0dBQTNCLDJCQUEyQiwyU0NieEMsdzhHQW1EQTs7MkZEdENhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSx3QkFBd0I7MklBUXpCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFJSSxlQUFlO3NCQUF4QixNQUFNO2dCQUdFLE9BQU87c0JBRGYsV0FBVzt1QkFBQyxlQUFlOztzQkFDM0IsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5LCB0cmFuc2ZlckFycmF5SXRlbSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHtHcmlkQ29tcG9uZW50fSBmcm9tICcuLy4uL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB7Y29tYmluZUxhdGVzdH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7VXNlclNlcnZpY2UsIFNlYXJjaFNlcnZpY2UsIEVvVXNlciwgRmllbGREZWZpbml0aW9uLCBTZWFyY2hRdWVyeSwgT2JqZWN0VHlwZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0dyaWRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9hcGkvZ3JpZC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tY29sdW1uLWNvbmZpZ3VyYXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW4tY29uZmlndXJhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sdW1uLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtbkNvbmZpZ3VyYXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgaXNEZWZhdWx0Q29uZmlnID0gdHJ1ZTtcbiAgaGFzUHJpdmlsZWdlID0gZmFsc2U7XG4gIGluZm86IHN0cmluZztcbiAgQElucHV0KCkgY29uZmlnVHlwZTogT2JqZWN0VHlwZSB8IG51bGw7XG4gIEBJbnB1dCgpIGNvbmZpZ0NvbnRleHQ6IE9iamVjdFR5cGUgfCBudWxsO1xuICBjdXJyZW50RmllbGRzOiBhbnlbXTtcbiAgYXZhaWxhYmxlRmllbGRzOiBhbnlbXTtcblxuICBAT3V0cHV0KCkgb25Db25maWdDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudmlzaWJsZScpXG4gIEBJbnB1dCgpIHZpc2libGUgPSBmYWxzZTtcblxuICBASW5wdXQoKSBlb0dyaWQ6IEdyaWRDb21wb25lbnQ7XG4gIHByaXZhdGUgb3JpZ2luYWxGaWVsZHM6IGFueVtdO1xuICBhbGlnbm1lbnRWYWx1ZSA9ICdBdXRvbWF0aWMnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG5cbiAgICB0aGlzLnVzZXJTZXJ2aWNlXG4gICAgICAudXNlciRcbiAgICAgIC5zdWJzY3JpYmUoKHVzZXI6IEVvVXNlcikgPT4ge1xuICAgICAgICB0aGlzLmhhc1ByaXZpbGVnZSA9IHVzZXIuaGFzUHJpdmlsZWdlKCdFRElUX1BST0ZJTEVfU0VUJyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8vIHJlc2V0IGEgY29sdW1uIGNvbmZpZ3VyYXRpb24gdG8gaXRzIGRlZmF1bHRcbiAgcmVzZXREZWZhdWx0KCkge1xuICAgIC8vdGhpcy5pbml0Q29uZmlnKHRydWUpO1xuICAgIHRoaXMuc2VhcmNoU2VydmljZS5yZW1vdmVSZXN1bHRGaWVsZERlZmluaXRpb24odGhpcy5jb25maWdUeXBlLCB0aGlzLmNvbmZpZ0NvbnRleHQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZUNvbmZpZ01vZGUodHJ1ZSkpO1xuXG4gIH1cblxuXG4gIC8qKlxuICAgKiBzYXZlIHRoZSBjdXJyZW50RmllbGRzIGNvbmZpZ3VyYXRpb25cbiAgICpcbiAgICogQHBhcmFtIGJvb2xlYW4gYXNEZWZhdWx0XG4gICAqL1xuICBzYXZlQ29uZmlnKGFzRGVmYXVsdCA9IGZhbHNlKTogdm9pZCB7XG4gICAgbGV0IGRhdGEgPSBuZXcgRmllbGREZWZpbml0aW9uKFtdLCBbXSwgW10sIFtdLCBbXSk7XG4gICAgZGF0YS5lbGVtZW50cyA9IHRoaXMuY3VycmVudEZpZWxkcy5tYXAoY29sID0+IHtcbiAgICAgIGlmIChjb2wuY29uZm1ldGEuc29ydCkge1xuICAgICAgICBkYXRhLnNvcnRvcmRlci5wdXNoKHtcbiAgICAgICAgICBxbmFtZTogY29sLnFuYW1lLFxuICAgICAgICAgIGRpcmVjdGlvbjogY29sLmNvbmZtZXRhLnNvcnRcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAoY29sLmNvbmZtZXRhLmdyb3VwKSB7XG4gICAgICAgIGRhdGEuZ3JvdXBvcmRlci5wdXNoKHtcbiAgICAgICAgICBxbmFtZTogY29sLnFuYW1lXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKGNvbC5jb25mbWV0YS5waW5uZWQpIHtcbiAgICAgICAgZGF0YS5waW5uZWQucHVzaCh7XG4gICAgICAgICAgcW5hbWU6IGNvbC5xbmFtZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChjb2wuY29uZm1ldGEuYWxpZ25tZW50eCkge1xuICAgICAgICBkYXRhLmFsaWdubWVudHgucHVzaCh7XG4gICAgICAgICAgcW5hbWU6IGNvbC5xbmFtZSxcbiAgICAgICAgICB2YWx1ZTogY29sLmNvbmZtZXRhLmFsaWdubWVudHhcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHFuYW1lOiBjb2wucW5hbWVcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICB0aGlzLnNlYXJjaFNlcnZpY2VcbiAgICAgIC5zYXZlUmVzdWx0RmllbGREZWZpbml0aW9uKHRoaXMuY29uZmlnVHlwZSwgdGhpcy5jb25maWdDb250ZXh0LCBkYXRhLCBhc0RlZmF1bHQgJiYgdGhpcy5oYXNQcml2aWxlZ2UpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudG9nZ2xlQ29uZmlnTW9kZSh0cnVlKSk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgbGlzdHMgY29sdW1ucyBmb3IgdGhlIGN1cnJlbnRGaWVsZHMgY29uZmlnLlxuICAgKlxuICAgKiBAcGFyYW0gbG9hZERlZmF1bHRzIC0gaWYgc2V0IHRvIHRydWUsIHRoZSBjb25maWdzIGRlZmF1bHQgY29uZmlndXJhdGlvbiB3aWxsIGJlIGxvYWRlZFxuICAgKiBpbnN0ZWFkIG9mIHRoZSBvbmUgdGhhdCB3YXMgY29uZmlndXJlZCBieSB0aGUgdXNlci5cbiAgICovXG4gIGluaXRDb25maWcobG9hZERlZmF1bHRzKSB7XG5cbiAgICB0aGlzLmNyZWF0ZUNvbmZpZ0luZm8odGhpcy5jb25maWdUeXBlLCB0aGlzLmNvbmZpZ0NvbnRleHQpO1xuXG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlLmZldGNoUmVzdWx0RmllbGREZWZpbml0aW9uKHRoaXMuY29uZmlnVHlwZSwgdGhpcy5jb25maWdDb250ZXh0LCBsb2FkRGVmYXVsdHMgPyAnREVGQVVMVCcgOiBudWxsKS5waXBlKGNvbWJpbmVMYXRlc3QoXG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2UuZmV0Y2hSZXN1bHRGaWVsZERlZmluaXRpb24odGhpcy5jb25maWdUeXBlLCB0aGlzLmNvbmZpZ0NvbnRleHQsICdBTEwnKSxcbiAgICAgIChjdXJyZW50OiBGaWVsZERlZmluaXRpb24sIGF2YWlsYWJsZTogRmllbGREZWZpbml0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiB7Y3VycmVudCwgYXZhaWxhYmxlfTtcbiAgICAgIH0pKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHJlcy5jdXJyZW50LmVsZW1lbnRzLmZvckVhY2goKGVsOiBhbnkpID0+IHtcbiAgICAgICAgICBsZXQgc29ydEVudHJ5ID0gcmVzLmN1cnJlbnQuc29ydG9yZGVyLmZpbmQoKGE6IGFueSkgPT4gZWwucW5hbWUgPT09IGEucW5hbWUpO1xuICAgICAgICAgIC8vIGxldCBncm91cEVudHJ5ID0gcmVzLmN1cnJlbnQuZ3JvdXBvcmRlci5maW5kKChhOiBhbnkpID0+IGVsLnFuYW1lID09PSBhLnFuYW1lKTtcbiAgICAgICAgICBsZXQgcGlubmVkRW50cnkgPSByZXMuY3VycmVudC5waW5uZWQuZmluZCgoYTogYW55KSA9PiBlbC5xbmFtZSA9PT0gYS5xbmFtZSk7XG4gICAgICAgICAgbGV0IGFsaWdubWVudEVudHJ5ID0gcmVzLmN1cnJlbnQuYWxpZ25tZW50eC5maW5kKChhOiBhbnkpID0+IGVsLnFuYW1lID09PSBhLnFuYW1lKTtcbiAgICAgICAgICBlbC5jb25mbWV0YSA9IHtcbiAgICAgICAgICAgIHNvcnQ6IHNvcnRFbnRyeSA/IChzb3J0RW50cnkuZGlyZWN0aW9uIHx8ICcnKS50b0xvd2VyQ2FzZSgpIDogbnVsbCxcbiAgICAgICAgICAgIC8vIGdyb3VwOiAhIWdyb3VwRW50cnksXG4gICAgICAgICAgICBwaW5uZWQ6ICEhcGlubmVkRW50cnksXG4gICAgICAgICAgICBtb2RpZmllZDogZmFsc2UsXG4gICAgICAgICAgICBhbGlnbm1lbnR4OiBhbGlnbm1lbnRFbnRyeSA/IGFsaWdubWVudEVudHJ5LnZhbHVlIDogbnVsbFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaXNEZWZhdWx0Q29uZmlnID0gcmVzLmN1cnJlbnQubW9kZSAhPT0gJ1VTRVInO1xuICAgICAgICB0aGlzLm9yaWdpbmFsRmllbGRzID0gcmVzLmN1cnJlbnQuZWxlbWVudHM7XG5cbiAgICAgICAgdGhpcy5jdXJyZW50RmllbGRzID0gdGhpcy5lb0dyaWQuY29sdW1ucy5maWx0ZXIoY29sdW1uID0+IGNvbHVtbi5pc1Zpc2libGUoKSkubWFwKCh7Y29sRGVmLCBzb3J0LCBwaW5uZWR9OiBhbnksIGluZGV4KSA9PiB7XG4gICAgICAgICAgY29uc3QgaSA9IHRoaXMub3JpZ2luYWxGaWVsZHMuZmluZEluZGV4KGYgPT4gR3JpZFNlcnZpY2UucW5hbWVNYXRjaChmLnFuYW1lLCBjb2xEZWYucmVmRGF0YS5xbmFtZSkpLCBmaWVsZCA9IHRoaXMub3JpZ2luYWxGaWVsZHNbaV07XG4gICAgICAgICAgcmV0dXJuIHsuLi5maWVsZCwgY29uZm1ldGE6IHtzb3J0LCBwaW5uZWQsIGFsaWdubWVudHg6IGZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHgsXG4gICAgICAgICAgICAgIG1vZGlmaWVkOiBpICE9PSBpbmRleCB8fCAoZmllbGQuY29uZm1ldGEuc29ydCB8fCAnJykgIT09IChzb3J0IHx8ICcnKSB8fCAhIWZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHh9fTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hdmFpbGFibGVGaWVsZHMgPSByZXMuYXZhaWxhYmxlLmVsZW1lbnRzLmZpbHRlcigoY29sOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMuY29uZmlnVHlwZT8ubWF4RmlsZXMgJiYgY29sLnFuYW1lLnN0YXJ0c1dpdGgoJ3N5c2RvY3VtZW50JykpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuICF0aGlzLmN1cnJlbnRGaWVsZHMuZmluZCgoYzogYW55KSA9PiBjLnFuYW1lID09PSBjb2wucW5hbWUpO1xuICAgICAgICB9KS5tYXAoZWwgPT4ge1xuICAgICAgICAgIGVsLmNvbmZtZXRhID0ge21vZGlmaWVkOiAhIXRoaXMub3JpZ2luYWxGaWVsZHMuZmluZCgoYzogYW55KSA9PiBjLnFuYW1lID09PSBlbC5xbmFtZSl9O1xuICAgICAgICAgIHJldHVybiBlbDtcbiAgICAgICAgfSkuc29ydChVdGlscy5zb3J0VmFsdWVzKCdsYWJlbCcpKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgdGhlIGluZm8gb2JqZWN0IHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIgaW5kaWNhdGluZyB3aGF0IHBhcnRpY3VsYXIgcmVzdWx0IGxpc3RcbiAgICogaXMgZ29pbmcgdG8gYmUgY29uZmlndXJlZC4gSWYgbm9uZSBvZiB0aGUgcGFyYW1zIGlzIHByb3ZpZGVkLCB3ZSBnb3QgYSBnZW5lcmFsIGZ1bGx0ZXh0IHJlc3VsdC5cbiAgICpcbiAgICogQHBhcmFtIFt0eXBlXSAtIHRoZSBjb25maWd1cmF0aW9ucyB0YXJnZXQgb2JqZWN0IHR5cGVcbiAgICogQHBhcmFtIFtjb250ZXh0XSAtIHRoZSBjb250ZXh0IG9iamVjdCB0eXBlXG4gICAqL1xuICBjcmVhdGVDb25maWdJbmZvKHR5cGUsIGNvbnRleHQpIHtcbiAgICBpZiAodHlwZSAmJiB0eXBlLmxhYmVsICYmIGNvbnRleHQpIHtcbiAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnZW8uY29sdW1uLmNvbmZpZy5pbmZvLnR5cGUuY29udGV4dCcsIHtcbiAgICAgICAgdHlwZTogdHlwZS5sYWJlbCxcbiAgICAgICAgY29udGV4dDogY29udGV4dC5sYWJlbFxuICAgICAgfSkuc3Vic2NyaWJlKHRleHQgPT4gdGhpcy5pbmZvID0gdGV4dCk7XG4gICAgfSBlbHNlIGlmICh0eXBlICYmIHR5cGUubGFiZWwpIHtcbiAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnZW8uY29sdW1uLmNvbmZpZy5pbmZvLnR5cGUnLCB7XG4gICAgICAgIHR5cGU6IHR5cGUubGFiZWxcbiAgICAgIH0pLnN1YnNjcmliZSh0ZXh0ID0+IHRoaXMuaW5mbyA9IHRleHQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2VvLmNvbHVtbi5jb25maWcuaW5mby5mdWxsdGV4dCcpLnN1YnNjcmliZSh0ZXh0ID0+IHRoaXMuaW5mbyA9IHRleHQpO1xuICAgIH1cbiAgfVxuXG4gIG1hcmtJdGVtKGZpZWxkLCBncm91cCkge1xuICAgIGlmIChmaWVsZCAmJiBncm91cCkge1xuICAgICAgZmllbGQuY29uZm1ldGEubW9kaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPGFueT4sIGdyb3VwOiAnY3VycmVudCcgfCAnYXZhaWxhYmxlJykge1xuICAgIHRyYW5zZmVyQXJyYXlJdGVtKGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGEsIGV2ZW50LmNvbnRhaW5lci5kYXRhLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIHRoaXMubWFya0l0ZW0oZXZlbnQuaXRlbS5kYXRhLCBncm91cCk7XG4gIH1cblxuICB0b2dnbGVDb25maWdNb2RlKHJlZnJlc2ggPSBmYWxzZSkge1xuICAgIHRoaXMub25Db25maWdDaGFuZ2VkLmVtaXQocmVmcmVzaCk7XG4gIH1cblxuICB0b2dnbGVQcmV2ZW50KGl0ZW0sICRldmVudCkge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm1hcmtJdGVtKGl0ZW0sICdjdXJyZW50Jyk7XG4gIH1cblxuICB0b2dnbGVTb3J0KGl0ZW0sICRldmVudCkge1xuICAgIHRoaXMudG9nZ2xlUHJldmVudChpdGVtLCAkZXZlbnQpO1xuICAgIGlmICghaXRlbS5jb25mbWV0YS5zb3J0KSB7XG4gICAgICBpdGVtLmNvbmZtZXRhLnNvcnQgPSAnYXNjJztcbiAgICB9IGVsc2UgaWYgKGl0ZW0uY29uZm1ldGEuc29ydCA9PT0gJ2FzYycpIHtcbiAgICAgIGl0ZW0uY29uZm1ldGEuc29ydCA9ICdkZXNjJztcbiAgICB9IGVsc2UgaWYgKGl0ZW0uY29uZm1ldGEuc29ydCA9PT0gJ2Rlc2MnKSB7XG4gICAgICBpdGVtLmNvbmZtZXRhLnNvcnQgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUFsaWdubWVudChpdGVtLCAkZXZlbnQpIHtcbiAgICB0aGlzLnRvZ2dsZVByZXZlbnQoaXRlbSwgJGV2ZW50KTtcbiAgICBpZiAoIWl0ZW0uY29uZm1ldGEuYWxpZ25tZW50eCkge1xuICAgICAgaXRlbS5jb25mbWV0YS5hbGlnbm1lbnR4ID0gJ3JpZ2h0JztcbiAgICB9IGVsc2UgaWYgKGl0ZW0uY29uZm1ldGEuYWxpZ25tZW50eCA9PT0gJ3JpZ2h0Jykge1xuICAgICAgaXRlbS5jb25mbWV0YS5hbGlnbm1lbnR4ID0gJ2NlbnRlcic7XG4gICAgfSBlbHNlIGlmIChpdGVtLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdjZW50ZXInKSB7XG4gICAgICBpdGVtLmNvbmZtZXRhLmFsaWdubWVudHggPSAnbGVmdCc7XG4gICAgfSBlbHNlIGlmIChpdGVtLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdsZWZ0Jykge1xuICAgICAgaXRlbS5jb25mbWV0YS5hbGlnbm1lbnR4ID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvLyB0b2dnbGVHcm91cChpdGVtLCAkZXZlbnQpIHtcbiAgLy8gICB0aGlzLnRvZ2dsZVByZXZlbnQoaXRlbSwgJGV2ZW50KTtcbiAgLy8gICBpdGVtLmNvbmZtZXRhLmdyb3VwID0gIWl0ZW0uY29uZm1ldGEuZ3JvdXA7XG4gIC8vIH1cblxuICB0b2dnbGVQaW5uZWQoaXRlbSwgJGV2ZW50KSB7XG4gICAgdGhpcy50b2dnbGVQcmV2ZW50KGl0ZW0sICRldmVudCk7XG4gICAgaXRlbS5jb25mbWV0YS5waW5uZWQgPSAhaXRlbS5jb25mbWV0YS5waW5uZWQ7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAodGhpcy52aXNpYmxlICYmIChjaGFuZ2VzLmNvbmZpZ1R5cGUgfHwgY2hhbmdlcy5jb25maWdDb250ZXh0KSkge1xuICAgICAgdGhpcy5pbml0Q29uZmlnKGZhbHNlKTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImNvbmZpZ3VyYXRvclwiPlxuXG4gIDxkaXYgY2xhc3M9XCJiYXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy50aXRsZTwvZGl2PlxuICAgIDxidXR0b24gKGNsaWNrKT1cInJlc2V0RGVmYXVsdCgpXCIgKm5nSWY9XCIhaXNEZWZhdWx0Q29uZmlnXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuYWN0aW9uLnJlc2V0ZGVmYXVsdDwvYnV0dG9uPlxuICAgIDxidXR0b24gKGNsaWNrKT1cInRvZ2dsZUNvbmZpZ01vZGUoKVwiIHRyYW5zbGF0ZT5lby5jdGEuYnV0dG9uLmNhbmNlbDwvYnV0dG9uPlxuICAgIDxidXR0b24gKGNsaWNrKT1cInNhdmVDb25maWcodHJ1ZSlcIiBjbGFzcz1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwiIWN1cnJlbnRGaWVsZHM/Lmxlbmd0aFwiICpuZ0lmPVwiaGFzUHJpdmlsZWdlXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuYWN0aW9uLnNhdmUuZGVmYXVsdDwvYnV0dG9uPlxuICAgIDxidXR0b24gKGNsaWNrKT1cInNhdmVDb25maWcoKVwiIGNsYXNzPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhY3VycmVudEZpZWxkcz8ubGVuZ3RoXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuYWN0aW9uLnNhdmU8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImluZm9cIiAqbmdJZj1cImluZm9cIj57e2luZm99fTwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjb2x1bW4tY29uZmlnXCIgY2RrRHJvcExpc3RHcm91cD5cblxuICAgIDxkaXYgY2xhc3M9XCJzY3JvbGxlciBjdXJyZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaGVhZGxpbmVcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy5oZWFkbGluZS5jdXJyZW50PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiaXRlbXNcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50LCAnY3VycmVudCcpXCIgW2Nka0Ryb3BMaXN0RGF0YV09XCJjdXJyZW50RmllbGRzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgY2RrRHJhZ0hhbmRsZSBjZGtEcmFnIFtjZGtEcmFnRGF0YV09XCJmaWVsZFwiICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBjdXJyZW50RmllbGRzOyBpbmRleCBhcyBpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVudHJ5XCIgW25nQ2xhc3NdPVwie21vZGlmaWVkOiBmaWVsZC5jb25mbWV0YS5tb2RpZmllZCwgc2ZlOiBmaWVsZC5zZWxlY3RlZGZvcmVucmljaG1lbnR9XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIiBbbmdDbGFzc109XCJ7YmFzZXBhcmFtOiBmaWVsZC5iYXNlcGFyYW1ldGVyfVwiPnt7ZmllbGQubGFiZWx9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyb3VwXCIgW25nQ2xhc3NdPVwie29uOiBmaWVsZC5jb25mbWV0YS5waW5uZWR9XCIgKGNsaWNrKT1cInRvZ2dsZVBpbm5lZChmaWVsZCwgJGV2ZW50KVwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb25maWctbGFiZWxcIiB0cmFuc2xhdGU+ZW8uY29sdW1uLmNvbmZpZy5waW5uZWQ8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwhLS08ZGl2IGNsYXNzPVwiZ3JvdXBcIiBbbmdDbGFzc109XCJ7b246IGZpZWxkLmNvbmZtZXRhLmdyb3VwfVwiIChjbGljayk9XCJ0b2dnbGVHcm91cChmaWVsZCwgJGV2ZW50KVwiIHRyYW5zbGF0ZT5lby5jb2x1bW4uY29uZmlnLmdyb3VwPC9kaXY+LS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic29ydFwiIFtuZ0NsYXNzXT1cIntvbjogZmllbGQuY29uZm1ldGEuc29ydCwgYXNjOiBmaWVsZC5jb25mbWV0YS5zb3J0ID09PSAnYXNjJywgZGVzYzogZmllbGQuY29uZm1ldGEuc29ydCA9PT0gJ2Rlc2MnLCBkaXNhYmxlZDogIWZpZWxkLnNvcnRhYmxlfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZmllbGQuc29ydGFibGUgJiYgdG9nZ2xlU29ydChmaWVsZCwgJGV2ZW50KVwiPjxzcGFuIGNsYXNzPVwiY29uZmlnLWxhYmVsXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuc29ydDwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbm1lbnRcIiBbbmdDbGFzc109XCJ7b246IGZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHgsIGxlZnQ6IGZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdsZWZ0JyxcbiAgICAgICAgICAgIHJpZ2h0OiBmaWVsZC5jb25mbWV0YS5hbGlnbm1lbnR4ID09PSAncmlnaHQnLCBjZW50ZXI6IGZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdjZW50ZXInfVwiXG4gICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVBbGlnbm1lbnQoZmllbGQsICRldmVudClcIj48c3BhbiBjbGFzcz1cImNvbmZpZy1sYWJlbFwiIHRyYW5zbGF0ZT5lby5jb2x1bW4uY29uZmlnLmFsaWdubWVudDwvc3Bhbj5cbiAgICAgICAgICAgICAgPGltZyAqbmdJZj1cImZpZWxkLmNvbmZtZXRhLmFsaWdubWVudHggPT09ICdjZW50ZXInXCIgY2xhc3M9XCJjZW50ZXItc2Vjb25kXCIgc3JjPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFJQ0FNQUFBRHowVTY1QUFBQUdGQk1WRVVBQUFELy8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQjVzUEQvQUFBQUNIUlNUbE1BQUFFbksyeHdpaHYyZTZNQUFBQWtTVVJCVkFnZEJjR0JBUUFnRE1NZ212bi96Y0lHTU82eFVCSFhJcUxrWWttUURmQUJDSEFBT0N0L3hTWUFBQUFBU1VWT1JLNUNZSUk9XCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInNjcm9sbGVyIGF2YWlsYWJsZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImhlYWRsaW5lXCIgdHJhbnNsYXRlPmVvLmNvbHVtbi5jb25maWcuaGVhZGxpbmUuYXZhaWxhYmxlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiaXRlbXNcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50LCAnYXZhaWxhYmxlJylcIiBbY2RrRHJvcExpc3REYXRhXT1cImF2YWlsYWJsZUZpZWxkc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiIGNka0RyYWdIYW5kbGUgY2RrRHJhZyBbY2RrRHJhZ0RhdGFdPVwiZmllbGRcIiAqbmdGb3I9XCJsZXQgZmllbGQgb2YgYXZhaWxhYmxlRmllbGRzOyBpbmRleCBhcyBpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVudHJ5XCIgW25nQ2xhc3NdPVwie21vZGlmaWVkOiBmaWVsZC5jb25mbWV0YS5tb2RpZmllZCwgc2ZlOiBmaWVsZC5zZWxlY3RlZGZvcmVucmljaG1lbnR9XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIiBbbmdDbGFzc109XCJ7YmFzZXBhcmFtOiBmaWVsZC5iYXNlcGFyYW1ldGVyfVwiPnt7ZmllbGQubGFiZWx9fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
@@ -86,7 +86,7 @@ let FavoriteIconComponent = class FavoriteIconComponent {
86
86
  this.tooltip = this.translate.instant('eo.favorite.icon.tooltip.remove');
87
87
  }
88
88
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: FavoriteIconComponent, deps: [{ token: i1.UserService }, { token: i1.EventService }, { token: i1.NotificationsService }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
89
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: FavoriteIconComponent, selector: "eo-favorite-icon", inputs: { item: "item" }, viewQueries: [{ propertyName: "favNameInputElement", first: true, predicate: ["favName"], descendants: true }], ngImport: i0, template: "<eo-icon class=\"button favorite\"\n [ngClass]=\"{active: item.isFavorite}\"\n [iconTitle]=\"tooltip\"\n [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"\n (click)=\"toggle($event)\">\n</eo-icon>\n\n<eo-dialog\n [title]=\"('eo.favorite.icon.dialog.title' | translate)\"\n [(visible)]=\"display\"\n [minWidth]=\"400\"\n [styleClass]=\"'favorite-form__dialog'\">\n\n <form name=\"favoriteForm\" (ngSubmit)=\"save()\">\n <eo-form-input [label]=\" 'eo.favorite.icon.dialog.input.label' | translate\">\n <input [(ngModel)]=\"value\" maxlength=\"250\" [ngModelOptions]=\"{standalone: true}\" #favName />\n </eo-form-input>\n <div class=\"action-buttons favorite-form__dialog--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"toggle($event, true)\" translate>eo.favorite.icon.dialog.cancel</button>\n <button type=\"submit\" [disabled]=\"!value\" class=\"button primary\" translate>eo.favorite.icon.dialog.save</button>\n </div>\n </form>\n</eo-dialog>\n", styles: [":host eo-icon.active{color:var(--color-favorite)}::ng-deep .favorite-form__dialog{padding:8px;min-height:unset!important}::ng-deep .favorite-form__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}::ng-deep .favorite-form__dialog .eo-dialog-content{overflow:hidden}::ng-deep .favorite-form__dialog .eo-dialog-content input{border:0;width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i7.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
89
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: FavoriteIconComponent, selector: "eo-favorite-icon", inputs: { item: "item" }, viewQueries: [{ propertyName: "favNameInputElement", first: true, predicate: ["favName"], descendants: true }], ngImport: i0, template: "<eo-icon class=\"button favorite\"\n [ngClass]=\"{active: item.isFavorite}\"\n [iconTitle]=\"tooltip\"\n [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"\n (click)=\"toggle($event)\">\n</eo-icon>\n\n<eo-dialog\n [title]=\"('eo.favorite.icon.dialog.title' | translate)\"\n [(visible)]=\"display\"\n [minWidth]=\"400\"\n [styleClass]=\"'favorite-form__dialog'\">\n\n <form name=\"favoriteForm\" (ngSubmit)=\"save()\">\n <eo-form-input [label]=\" 'eo.favorite.icon.dialog.input.label' | translate\">\n <input [(ngModel)]=\"value\" maxlength=\"250\" [ngModelOptions]=\"{standalone: true}\" #favName />\n </eo-form-input>\n <div class=\"action-buttons favorite-form__dialog--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"toggle($event, true)\" translate>eo.cta.button.cancel</button>\n <button type=\"submit\" [disabled]=\"!value\" class=\"button primary\" translate>eo.favorite.icon.dialog.save</button>\n </div>\n </form>\n</eo-dialog>\n", styles: [":host eo-icon.active{color:var(--color-favorite)}::ng-deep .favorite-form__dialog{padding:8px;min-height:unset!important}::ng-deep .favorite-form__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}::ng-deep .favorite-form__dialog .eo-dialog-content{overflow:hidden}::ng-deep .favorite-form__dialog .eo-dialog-content input{border:0;width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i7.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
90
90
  };
91
91
  FavoriteIconComponent = __decorate([
92
92
  UntilDestroy()
@@ -94,11 +94,11 @@ FavoriteIconComponent = __decorate([
94
94
  export { FavoriteIconComponent };
95
95
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: FavoriteIconComponent, decorators: [{
96
96
  type: Component,
97
- args: [{ selector: 'eo-favorite-icon', template: "<eo-icon class=\"button favorite\"\n [ngClass]=\"{active: item.isFavorite}\"\n [iconTitle]=\"tooltip\"\n [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"\n (click)=\"toggle($event)\">\n</eo-icon>\n\n<eo-dialog\n [title]=\"('eo.favorite.icon.dialog.title' | translate)\"\n [(visible)]=\"display\"\n [minWidth]=\"400\"\n [styleClass]=\"'favorite-form__dialog'\">\n\n <form name=\"favoriteForm\" (ngSubmit)=\"save()\">\n <eo-form-input [label]=\" 'eo.favorite.icon.dialog.input.label' | translate\">\n <input [(ngModel)]=\"value\" maxlength=\"250\" [ngModelOptions]=\"{standalone: true}\" #favName />\n </eo-form-input>\n <div class=\"action-buttons favorite-form__dialog--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"toggle($event, true)\" translate>eo.favorite.icon.dialog.cancel</button>\n <button type=\"submit\" [disabled]=\"!value\" class=\"button primary\" translate>eo.favorite.icon.dialog.save</button>\n </div>\n </form>\n</eo-dialog>\n", styles: [":host eo-icon.active{color:var(--color-favorite)}::ng-deep .favorite-form__dialog{padding:8px;min-height:unset!important}::ng-deep .favorite-form__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}::ng-deep .favorite-form__dialog .eo-dialog-content{overflow:hidden}::ng-deep .favorite-form__dialog .eo-dialog-content input{border:0;width:100%}\n"] }]
97
+ args: [{ selector: 'eo-favorite-icon', template: "<eo-icon class=\"button favorite\"\n [ngClass]=\"{active: item.isFavorite}\"\n [iconTitle]=\"tooltip\"\n [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"\n (click)=\"toggle($event)\">\n</eo-icon>\n\n<eo-dialog\n [title]=\"('eo.favorite.icon.dialog.title' | translate)\"\n [(visible)]=\"display\"\n [minWidth]=\"400\"\n [styleClass]=\"'favorite-form__dialog'\">\n\n <form name=\"favoriteForm\" (ngSubmit)=\"save()\">\n <eo-form-input [label]=\" 'eo.favorite.icon.dialog.input.label' | translate\">\n <input [(ngModel)]=\"value\" maxlength=\"250\" [ngModelOptions]=\"{standalone: true}\" #favName />\n </eo-form-input>\n <div class=\"action-buttons favorite-form__dialog--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"toggle($event, true)\" translate>eo.cta.button.cancel</button>\n <button type=\"submit\" [disabled]=\"!value\" class=\"button primary\" translate>eo.favorite.icon.dialog.save</button>\n </div>\n </form>\n</eo-dialog>\n", styles: [":host eo-icon.active{color:var(--color-favorite)}::ng-deep .favorite-form__dialog{padding:8px;min-height:unset!important}::ng-deep .favorite-form__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}::ng-deep .favorite-form__dialog .eo-dialog-content{overflow:hidden}::ng-deep .favorite-form__dialog .eo-dialog-content input{border:0;width:100%}\n"] }]
98
98
  }], ctorParameters: () => [{ type: i1.UserService }, { type: i1.EventService }, { type: i1.NotificationsService }, { type: i1.TranslateService }], propDecorators: { item: [{
99
99
  type: Input
100
100
  }], favNameInputElement: [{
101
101
  type: ViewChild,
102
102
  args: ['favName']
103
103
  }] } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmF2b3JpdGUtaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9vYmplY3QtZGV0YWlscy9mYXZvcml0ZS1pY29uL2Zhdm9yaXRlLWljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvZmF2b3JpdGUtaWNvbi9mYXZvcml0ZS1pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFZLFVBQVUsRUFBa0QsTUFBTSxjQUFjLENBQUM7QUFDcEcsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBR25GLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7OztBQU81RCxJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtJQU1oQyxJQUNJLElBQUksQ0FBQyxJQUFlO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQ25DLDJCQUEyQixHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FDbkUsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUlELFlBQW9CLFdBQXdCLEVBQ2xDLFlBQTBCLEVBQzFCLE1BQTRCLEVBQzdCLFNBQTJCO1FBSGhCLGdCQUFXLEdBQVgsV0FBVyxD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Q0FBQztJQUMzRSxDQUFDOzhHQWhHVSxxQkFBcUI7a0dBQXJCLHFCQUFxQixrTUNibEMsK2hDQXVCQTs7QURWYSxxQkFBcUI7SUFOakMsWUFBWSxFQUFFO0dBTUYscUJBQXFCLENBaUdqQzs7MkZBakdZLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxrQkFBa0I7NktBV3hCLElBQUk7c0JBRFAsS0FBSztnQkFZZ0IsbUJBQW1CO3NCQUF4QyxTQUFTO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RG1zT2JqZWN0LCBFbmFpb0V2ZW50LCBFdmVudFNlcnZpY2UsIE5vdGlmaWNhdGlvbnNTZXJ2aWNlLCBVc2VyU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7RW5haW9FcnJvcktleXN9IGZyb20gJy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2Vycm9yLWhhbmRsZXIvZXJyb3Ita2V5cyc7XG5cbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7VW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tZmF2b3JpdGUtaWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mYXZvcml0ZS1pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmF2b3JpdGUtaWNvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZhdm9yaXRlSWNvbkNvbXBvbmVudCB7XG4gIGRpc3BsYXkgPSBmYWxzZTtcbiAgdmFsdWUgPSAnJztcbiAgdG9vbHRpcDogJyc7XG4gIHByaXZhdGUgX2l0ZW06IERtc09iamVjdDtcblxuICBASW5wdXQoKVxuICBzZXQgaXRlbShpdGVtOiBEbXNPYmplY3QpIHtcbiAgICB0aGlzLl9pdGVtID0gaXRlbTtcbiAgICB0aGlzLnRvb2x0aXAgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgJ2VvLmZhdm9yaXRlLmljb24udG9vbHRpcC4nICsgKGl0ZW0uaXNGYXZvcml0ZSA/ICdyZW1vdmUnIDogJ2FkZCcpXG4gICAgKTtcbiAgfVxuXG4gIGdldCBpdGVtKCkge1xuICAgIHJldHVybiB0aGlzLl9pdGVtO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnZmF2TmFtZScpIGZhdk5hbWVJbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIHRvYXN0eTogTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xuXG4gICAgdGhpcy5ldmVudFNlcnZpY2VcbiAgICAgIC5vbihFbmFpb0V2ZW50LkRNU19PQkpFQ1RfRkFWT1JJVEVfT04pLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiBldmVudC5kYXRhID09PSB0aGlzLml0ZW0uaWQgJiYgdGhpcy5vblNhdmUoKSk7XG5cbiAgICB0aGlzLmV2ZW50U2VydmljZVxuICAgICAgLm9uKEVuYWlvRXZlbnQuRE1TX09CSkVDVF9GQVZPUklURV9PRkYpLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiBldmVudC5kYXRhID09PSB0aGlzLml0ZW0uaWQgJiYgdGhpcy5vblJlbW92ZSgpKTtcbiAgfVxuXG4gIHRvZ2dsZShldmVudCwgaGlkZT86IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc3BsYXkgPSBoaWRlIHx8IHRoaXMuaXRlbS5pc0Zhdm9yaXRlID8gZmFsc2UgOiAhdGhpcy5kaXNwbGF5O1xuXG4gICAgaWYgKCFoaWRlICYmIHRoaXMuaXRlbS5pc0Zhdm9yaXRlKSB7XG4gICAgICB0aGlzLnJlbW92ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5nZW5lcmF0ZVN1Z2dlc3RlZE5hbWUodGhpcy5pdGVtKTtcbiAgICB9XG5cbiAgICBpZiAoaGlkZSAmJiB0aGlzLnZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kaXNwbGF5KSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5mYXZOYW1lSW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0KCk7XG4gICAgICB9KVxuICAgIH1cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgZ2VuZXJhdGVTdWdnZXN0ZWROYW1lKGl0ZW0pIHtcbiAgICBjb25zdCBwcmUgPSAoIWl0ZW0uaXNDb250ZXh0Rm9sZGVyICYmIGl0ZW0uY29udGV4dEZvbGRlcikgPyBpdGVtLmNvbnRleHRGb2xkZXIudGl0bGUgKyAnID4gJyA6ICcnO1xuICAgIGNvbnN0IHRpdGxlID0gcHJlICsgaXRlbS50aXRsZTtcbiAgICByZXR1cm4gdGl0bGUvLy5zdWJzdHJpbmcoMCwgMjUwKTtcbiAgfVxuXG5cbiAgb25FcnJvcihlcnJvcikge1xuICAgIGxldCB7a2V5LCBjYWxsZXJpbnB1dH0gPSBlcnJvci5lcnJvcjtcbiAgICBjYWxsZXJpbnB1dCA9IGNhbGxlcmlucHV0Lm1hdGNoKC9cXGQrLylbMF07XG5cbiAgICBpZiAoa2V5ID09PSBFbmFpb0Vycm9yS2V5cy5GQVZPUklURV9USVRMRV9UT09fTE9ORykge1xuICAgICAgdGhpcy50b2FzdHlcbiAgICAgICAgLmVycm9yKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmZhdm9yaXRlLmRpYWxvZy5pbnB1dC5lcnJvci50aXRsZScpLFxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmZhdm9yaXRlLmRpYWxvZy5pbnB1dC5lcnJvci5tZXNzYWdlJywge3ZhbDE6IGNhbGxlcmlucHV0fSkpXG4gICAgfVxuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICBjb25zdCB0aXRsZSA9IHRoaXMudmFsdWUgfHwgdGhpcy5nZW5lcmF0ZVN1Z2dlc3RlZE5hbWUodGhpcy5pdGVtLnRpdGxlKTtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlXG4gICAgICAuY3JlYXRlRmF2b3JpdGUodGhpcy5pdGVtLmlkLCB0aGlzLml0ZW0udHlwZU5hbWUsIHRpdGxlKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uU2F2ZSgpLCAoZXJyb3IpID0+IHRoaXMub25FcnJvcihlcnJvcikpO1xuICB9XG5cbiAgcmVtb3ZlKCkge1xuICAgIHRoaXMudXNlclNlcnZpY2VcbiAgICAgIC5yZW1vdmVGYXZvcml0ZXNGb3JUYXJnZXQodGhpcy5pdGVtLmlkKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uUmVtb3ZlKCkpO1xuICB9XG5cbiAgb25SZW1vdmUoKSB7XG4gICAgdGhpcy5pdGVtLmlzRmF2b3JpdGUgPSBmYWxzZTtcbiAgICB0aGlzLnRvb2x0aXAgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5mYXZvcml0ZS5pY29uLnRvb2x0aXAuYWRkJyk7XG4gIH1cblxuICBvblNhdmUoKSB7XG4gICAgdGhpcy5pdGVtLmlzRmF2b3JpdGUgPSB0cnVlO1xuICAgIHRoaXMuZGlzcGxheSA9IGZhbHNlO1xuICAgIHRoaXMudG9vbHRpcCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmZhdm9yaXRlLmljb24udG9vbHRpcC5yZW1vdmUnKTtcbiAgfVxufVxuIiwiPGVvLWljb24gY2xhc3M9XCJidXR0b24gZmF2b3JpdGVcIlxuICAgICAgICAgW25nQ2xhc3NdPVwie2FjdGl2ZTogaXRlbS5pc0Zhdm9yaXRlfVwiXG4gICAgICAgICBbaWNvblRpdGxlXT1cInRvb2x0aXBcIlxuICAgICAgICAgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfZmF2b3JpdGUuc3ZnJ1wiXG4gICAgICAgICAoY2xpY2spPVwidG9nZ2xlKCRldmVudClcIj5cbjwvZW8taWNvbj5cblxuPGVvLWRpYWxvZ1xuICBbdGl0bGVdPVwiKCdlby5mYXZvcml0ZS5pY29uLmRpYWxvZy50aXRsZScgfCB0cmFuc2xhdGUpXCJcbiAgWyh2aXNpYmxlKV09XCJkaXNwbGF5XCJcbiAgW21pbldpZHRoXT1cIjQwMFwiXG4gIFtzdHlsZUNsYXNzXT1cIidmYXZvcml0ZS1mb3JtX19kaWFsb2cnXCI+XG5cbiAgPGZvcm0gbmFtZT1cImZhdm9yaXRlRm9ybVwiIChuZ1N1Ym1pdCk9XCJzYXZlKClcIj5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiICdlby5mYXZvcml0ZS5pY29uLmRpYWxvZy5pbnB1dC5sYWJlbCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT1cInZhbHVlXCIgbWF4bGVuZ3RoPVwiMjUwXCIgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiICNmYXZOYW1lIC8+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tYnV0dG9ucyBmYXZvcml0ZS1mb3JtX19kaWFsb2ctLWFjdGlvbi1idXR0b25zIGZsZXgtcm93XCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiBjYW5jZWxcIiAoY2xpY2spPVwidG9nZ2xlKCRldmVudCwgdHJ1ZSlcIiB0cmFuc2xhdGU+ZW8uZmF2b3JpdGUuaWNvbi5kaWFsb2cuY2FuY2VsPC9idXR0b24+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBbZGlzYWJsZWRdPVwiIXZhbHVlXCIgY2xhc3M9XCJidXR0b24gcHJpbWFyeVwiIHRyYW5zbGF0ZT5lby5mYXZvcml0ZS5pY29uLmRpYWxvZy5zYXZlPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvZW8tZGlhbG9nPlxuIl19
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmF2b3JpdGUtaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9vYmplY3QtZGV0YWlscy9mYXZvcml0ZS1pY29uL2Zhdm9yaXRlLWljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvZmF2b3JpdGUtaWNvbi9mYXZvcml0ZS1pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFZLFVBQVUsRUFBa0QsTUFBTSxjQUFjLENBQUM7QUFDcEcsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBR25GLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7OztBQU81RCxJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtJQU1oQyxJQUNJLElBQUksQ0FBQyxJQUFlO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQ25DLDJCQUEyQixHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FDbkUsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUlELFlBQW9CLFdBQXdCLEVBQ2xDLFlBQTBCLEVBQzFCLE1BQTRCLEVBQzdCLFNBQTJCO1FBSGhCLGdCQUFXLEdBQVgsV0FBVyxD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Q0FBQztJQUMzRSxDQUFDOzhHQWhHVSxxQkFBcUI7a0dBQXJCLHFCQUFxQixrTUNibEMscWhDQXVCQTs7QURWYSxxQkFBcUI7SUFOakMsWUFBWSxFQUFFO0dBTUYscUJBQXFCLENBaUdqQzs7MkZBakdZLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxrQkFBa0I7NktBV3hCLElBQUk7c0JBRFAsS0FBSztnQkFZZ0IsbUJBQW1CO3NCQUF4QyxTQUFTO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RG1zT2JqZWN0LCBFbmFpb0V2ZW50LCBFdmVudFNlcnZpY2UsIE5vdGlmaWNhdGlvbnNTZXJ2aWNlLCBVc2VyU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7RW5haW9FcnJvcktleXN9IGZyb20gJy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2Vycm9yLWhhbmRsZXIvZXJyb3Ita2V5cyc7XG5cbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7VW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tZmF2b3JpdGUtaWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mYXZvcml0ZS1pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmF2b3JpdGUtaWNvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZhdm9yaXRlSWNvbkNvbXBvbmVudCB7XG4gIGRpc3BsYXkgPSBmYWxzZTtcbiAgdmFsdWUgPSAnJztcbiAgdG9vbHRpcDogJyc7XG4gIHByaXZhdGUgX2l0ZW06IERtc09iamVjdDtcblxuICBASW5wdXQoKVxuICBzZXQgaXRlbShpdGVtOiBEbXNPYmplY3QpIHtcbiAgICB0aGlzLl9pdGVtID0gaXRlbTtcbiAgICB0aGlzLnRvb2x0aXAgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgJ2VvLmZhdm9yaXRlLmljb24udG9vbHRpcC4nICsgKGl0ZW0uaXNGYXZvcml0ZSA/ICdyZW1vdmUnIDogJ2FkZCcpXG4gICAgKTtcbiAgfVxuXG4gIGdldCBpdGVtKCkge1xuICAgIHJldHVybiB0aGlzLl9pdGVtO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnZmF2TmFtZScpIGZhdk5hbWVJbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIHRvYXN0eTogTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xuXG4gICAgdGhpcy5ldmVudFNlcnZpY2VcbiAgICAgIC5vbihFbmFpb0V2ZW50LkRNU19PQkpFQ1RfRkFWT1JJVEVfT04pLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiBldmVudC5kYXRhID09PSB0aGlzLml0ZW0uaWQgJiYgdGhpcy5vblNhdmUoKSk7XG5cbiAgICB0aGlzLmV2ZW50U2VydmljZVxuICAgICAgLm9uKEVuYWlvRXZlbnQuRE1TX09CSkVDVF9GQVZPUklURV9PRkYpLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiBldmVudC5kYXRhID09PSB0aGlzLml0ZW0uaWQgJiYgdGhpcy5vblJlbW92ZSgpKTtcbiAgfVxuXG4gIHRvZ2dsZShldmVudCwgaGlkZT86IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc3BsYXkgPSBoaWRlIHx8IHRoaXMuaXRlbS5pc0Zhdm9yaXRlID8gZmFsc2UgOiAhdGhpcy5kaXNwbGF5O1xuXG4gICAgaWYgKCFoaWRlICYmIHRoaXMuaXRlbS5pc0Zhdm9yaXRlKSB7XG4gICAgICB0aGlzLnJlbW92ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5nZW5lcmF0ZVN1Z2dlc3RlZE5hbWUodGhpcy5pdGVtKTtcbiAgICB9XG5cbiAgICBpZiAoaGlkZSAmJiB0aGlzLnZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kaXNwbGF5KSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5mYXZOYW1lSW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0KCk7XG4gICAgICB9KVxuICAgIH1cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgZ2VuZXJhdGVTdWdnZXN0ZWROYW1lKGl0ZW0pIHtcbiAgICBjb25zdCBwcmUgPSAoIWl0ZW0uaXNDb250ZXh0Rm9sZGVyICYmIGl0ZW0uY29udGV4dEZvbGRlcikgPyBpdGVtLmNvbnRleHRGb2xkZXIudGl0bGUgKyAnID4gJyA6ICcnO1xuICAgIGNvbnN0IHRpdGxlID0gcHJlICsgaXRlbS50aXRsZTtcbiAgICByZXR1cm4gdGl0bGUvLy5zdWJzdHJpbmcoMCwgMjUwKTtcbiAgfVxuXG5cbiAgb25FcnJvcihlcnJvcikge1xuICAgIGxldCB7a2V5LCBjYWxsZXJpbnB1dH0gPSBlcnJvci5lcnJvcjtcbiAgICBjYWxsZXJpbnB1dCA9IGNhbGxlcmlucHV0Lm1hdGNoKC9cXGQrLylbMF07XG5cbiAgICBpZiAoa2V5ID09PSBFbmFpb0Vycm9yS2V5cy5GQVZPUklURV9USVRMRV9UT09fTE9ORykge1xuICAgICAgdGhpcy50b2FzdHlcbiAgICAgICAgLmVycm9yKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmZhdm9yaXRlLmRpYWxvZy5pbnB1dC5lcnJvci50aXRsZScpLFxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmZhdm9yaXRlLmRpYWxvZy5pbnB1dC5lcnJvci5tZXNzYWdlJywge3ZhbDE6IGNhbGxlcmlucHV0fSkpXG4gICAgfVxuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICBjb25zdCB0aXRsZSA9IHRoaXMudmFsdWUgfHwgdGhpcy5nZW5lcmF0ZVN1Z2dlc3RlZE5hbWUodGhpcy5pdGVtLnRpdGxlKTtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlXG4gICAgICAuY3JlYXRlRmF2b3JpdGUodGhpcy5pdGVtLmlkLCB0aGlzLml0ZW0udHlwZU5hbWUsIHRpdGxlKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uU2F2ZSgpLCAoZXJyb3IpID0+IHRoaXMub25FcnJvcihlcnJvcikpO1xuICB9XG5cbiAgcmVtb3ZlKCkge1xuICAgIHRoaXMudXNlclNlcnZpY2VcbiAgICAgIC5yZW1vdmVGYXZvcml0ZXNGb3JUYXJnZXQodGhpcy5pdGVtLmlkKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uUmVtb3ZlKCkpO1xuICB9XG5cbiAgb25SZW1vdmUoKSB7XG4gICAgdGhpcy5pdGVtLmlzRmF2b3JpdGUgPSBmYWxzZTtcbiAgICB0aGlzLnRvb2x0aXAgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5mYXZvcml0ZS5pY29uLnRvb2x0aXAuYWRkJyk7XG4gIH1cblxuICBvblNhdmUoKSB7XG4gICAgdGhpcy5pdGVtLmlzRmF2b3JpdGUgPSB0cnVlO1xuICAgIHRoaXMuZGlzcGxheSA9IGZhbHNlO1xuICAgIHRoaXMudG9vbHRpcCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmZhdm9yaXRlLmljb24udG9vbHRpcC5yZW1vdmUnKTtcbiAgfVxufVxuIiwiPGVvLWljb24gY2xhc3M9XCJidXR0b24gZmF2b3JpdGVcIlxuICAgICAgICAgW25nQ2xhc3NdPVwie2FjdGl2ZTogaXRlbS5pc0Zhdm9yaXRlfVwiXG4gICAgICAgICBbaWNvblRpdGxlXT1cInRvb2x0aXBcIlxuICAgICAgICAgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfZmF2b3JpdGUuc3ZnJ1wiXG4gICAgICAgICAoY2xpY2spPVwidG9nZ2xlKCRldmVudClcIj5cbjwvZW8taWNvbj5cblxuPGVvLWRpYWxvZ1xuICBbdGl0bGVdPVwiKCdlby5mYXZvcml0ZS5pY29uLmRpYWxvZy50aXRsZScgfCB0cmFuc2xhdGUpXCJcbiAgWyh2aXNpYmxlKV09XCJkaXNwbGF5XCJcbiAgW21pbldpZHRoXT1cIjQwMFwiXG4gIFtzdHlsZUNsYXNzXT1cIidmYXZvcml0ZS1mb3JtX19kaWFsb2cnXCI+XG5cbiAgPGZvcm0gbmFtZT1cImZhdm9yaXRlRm9ybVwiIChuZ1N1Ym1pdCk9XCJzYXZlKClcIj5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiICdlby5mYXZvcml0ZS5pY29uLmRpYWxvZy5pbnB1dC5sYWJlbCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT1cInZhbHVlXCIgbWF4bGVuZ3RoPVwiMjUwXCIgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiICNmYXZOYW1lIC8+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tYnV0dG9ucyBmYXZvcml0ZS1mb3JtX19kaWFsb2ctLWFjdGlvbi1idXR0b25zIGZsZXgtcm93XCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiBjYW5jZWxcIiAoY2xpY2spPVwidG9nZ2xlKCRldmVudCwgdHJ1ZSlcIiB0cmFuc2xhdGU+ZW8uY3RhLmJ1dHRvbi5jYW5jZWw8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIFtkaXNhYmxlZF09XCIhdmFsdWVcIiBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5XCIgdHJhbnNsYXRlPmVvLmZhdm9yaXRlLmljb24uZGlhbG9nLnNhdmU8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9lby1kaWFsb2c+XG4iXX0=