@igo2/common 16.1.1 → 16.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/esm2022/lib/action/actionbar/actionbar-item.component.mjs +3 -3
  2. package/esm2022/lib/action/actionbar/actionbar.component.mjs +3 -3
  3. package/esm2022/lib/action/shared/action.interfaces.mjs +1 -1
  4. package/esm2022/lib/action/shared/store.mjs +1 -1
  5. package/esm2022/lib/backdrop/backdrop.component.mjs +3 -3
  6. package/esm2022/lib/clickout/clickout.directive.mjs +1 -1
  7. package/esm2022/lib/collapsible/collapsible.component.mjs +3 -3
  8. package/esm2022/lib/collapsible/index.mjs +1 -1
  9. package/esm2022/lib/color-picker-form-field/color-picker-form-field.component.mjs +3 -3
  10. package/esm2022/lib/color-picker-form-field/index.mjs +1 -1
  11. package/esm2022/lib/confirm-dialog/confirm-dialog.component.mjs +3 -3
  12. package/esm2022/lib/confirm-dialog/confirm-dialog.interface.mjs +1 -1
  13. package/esm2022/lib/confirm-dialog/index.mjs +1 -1
  14. package/esm2022/lib/context-menu/index.mjs +1 -1
  15. package/esm2022/lib/custom-html/custom-html.component.mjs +1 -1
  16. package/esm2022/lib/custom-html/index.mjs +1 -1
  17. package/esm2022/lib/dom/dom.service.mjs +1 -1
  18. package/esm2022/lib/dynamic-component/shared/dynamic-component.mjs +1 -1
  19. package/esm2022/lib/dynamic-component/shared/dynamic-component.service.mjs +1 -1
  20. package/esm2022/lib/entity/entity-selector/entity-selector.component.mjs +3 -3
  21. package/esm2022/lib/entity/entity-table/entity-table.component.mjs +3 -3
  22. package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +3 -3
  23. package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.interface.mjs +1 -1
  24. package/esm2022/lib/entity/index.mjs +1 -1
  25. package/esm2022/lib/entity/shared/entity.interfaces.mjs +1 -1
  26. package/esm2022/lib/entity/shared/entity.utils.mjs +1 -1
  27. package/esm2022/lib/entity/shared/index.mjs +1 -2
  28. package/esm2022/lib/entity/shared/state.mjs +1 -1
  29. package/esm2022/lib/entity/shared/store.mjs +67 -1
  30. package/esm2022/lib/entity/shared/strategies/filter-custom-function.mjs +1 -1
  31. package/esm2022/lib/entity/shared/strategies/filter-selection.mjs +1 -1
  32. package/esm2022/lib/entity/shared/strategies/strategy.mjs +1 -1
  33. package/esm2022/lib/entity/shared/transaction.mjs +1 -1
  34. package/esm2022/lib/entity/shared/view.mjs +1 -1
  35. package/esm2022/lib/entity/shared/watcher.mjs +1 -1
  36. package/esm2022/lib/environment/environment.interface.mjs +1 -1
  37. package/esm2022/lib/environment/index.mjs +1 -1
  38. package/esm2022/lib/flexible/flexible.component.mjs +3 -3
  39. package/esm2022/lib/form/form/form.component.mjs +3 -3
  40. package/esm2022/lib/form/form-field/form-field-select.component.mjs +3 -3
  41. package/esm2022/lib/form/form-field/form-field-text.component.mjs +3 -3
  42. package/esm2022/lib/form/form-field/form-field-textarea.component.mjs +3 -3
  43. package/esm2022/lib/form/form-field/form-field.component.mjs +3 -3
  44. package/esm2022/lib/form/form-field/index.mjs +1 -1
  45. package/esm2022/lib/form/form-group/form-group.component.mjs +3 -3
  46. package/esm2022/lib/form/index.mjs +1 -1
  47. package/esm2022/lib/form/shared/form-field.service.mjs +1 -1
  48. package/esm2022/lib/form/shared/form.interfaces.mjs +1 -1
  49. package/esm2022/lib/form/shared/form.service.mjs +1 -1
  50. package/esm2022/lib/form/shared/form.utils.mjs +1 -1
  51. package/esm2022/lib/form-dialog/form-dialog.component.mjs +3 -3
  52. package/esm2022/lib/form-dialog/form-dialog.interface.mjs +1 -1
  53. package/esm2022/lib/form-dialog/form-dialog.service.mjs +1 -1
  54. package/esm2022/lib/form-dialog/index.mjs +1 -1
  55. package/esm2022/lib/home-button/home-button.component.mjs +3 -3
  56. package/esm2022/lib/image/index.mjs +1 -1
  57. package/esm2022/lib/interactive-tour/interactive-tour.component.mjs +3 -3
  58. package/esm2022/lib/interactive-tour/interactive-tour.interface.mjs +1 -1
  59. package/esm2022/lib/interactive-tour/interactive-tour.loader.mjs +1 -1
  60. package/esm2022/lib/json-dialog/json-dialog.component.mjs +3 -3
  61. package/esm2022/lib/json-dialog/json-dialog.service.mjs +1 -1
  62. package/esm2022/lib/keyvalue/keyvalue.pipe.mjs +1 -1
  63. package/esm2022/lib/list/index.mjs +1 -1
  64. package/esm2022/lib/list/list.component.mjs +3 -3
  65. package/esm2022/lib/panel/panel.component.mjs +3 -3
  66. package/esm2022/lib/select-value-dialog/index.mjs +1 -1
  67. package/esm2022/lib/select-value-dialog/select-value-check-radio-dialog.component.mjs +3 -3
  68. package/esm2022/lib/select-value-dialog/select-value-dialog.enums.mjs +1 -1
  69. package/esm2022/lib/select-value-dialog/select-value-dialog.interface.mjs +1 -1
  70. package/esm2022/lib/select-value-dialog/select-value-dialog.service.mjs +1 -1
  71. package/esm2022/lib/spinner/index.mjs +1 -1
  72. package/esm2022/lib/spinner/spinner.component.mjs +3 -3
  73. package/esm2022/lib/stop-propagation/index.mjs +1 -1
  74. package/esm2022/lib/stop-propagation/stop-drop-propagation.directive.mjs +1 -1
  75. package/esm2022/lib/stop-propagation/stop-propagation.directive.mjs +1 -1
  76. package/esm2022/lib/table/table-datasource.mjs +1 -1
  77. package/esm2022/lib/table/table-model.interface.mjs +1 -1
  78. package/esm2022/lib/table/table.component.mjs +3 -3
  79. package/esm2022/lib/tool/shared/tool-component.mjs +1 -1
  80. package/esm2022/lib/tool/shared/toolbox.mjs +1 -1
  81. package/esm2022/lib/tool/toolbox/toolbox.animation.mjs +1 -1
  82. package/esm2022/lib/tool/toolbox/toolbox.component.mjs +3 -3
  83. package/esm2022/lib/widget/shared/widget.service.mjs +1 -1
  84. package/esm2022/lib/widget/widget-outlet/widget-outlet.component.mjs +3 -3
  85. package/esm2022/lib/workspace/index.mjs +1 -1
  86. package/esm2022/lib/workspace/shared/store.mjs +1 -1
  87. package/esm2022/lib/workspace/shared/workspace.interfaces.mjs +1 -1
  88. package/esm2022/lib/workspace/shared/workspace.mjs +1 -1
  89. package/esm2022/lib/workspace/workspace-selector/workspace-selector.component.mjs +3 -3
  90. package/esm2022/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +3 -3
  91. package/fesm2022/igo2-common.mjs +125 -131
  92. package/fesm2022/igo2-common.mjs.map +1 -1
  93. package/lib/entity/shared/index.d.ts +0 -1
  94. package/lib/entity/shared/store.d.ts +33 -0
  95. package/lib/entity/shared/strategies/strategy.d.ts +1 -1
  96. package/lib/workspace/shared/workspace.d.ts +2 -2
  97. package/locale/en.common.json +59 -59
  98. package/locale/fr.common.json +59 -59
  99. package/package.json +3 -3
  100. package/src/common-theme.scss +19 -19
  101. package/src/lib/action/action.theming.scss +5 -5
  102. package/src/lib/action/actionbar/actionbar-item.theming.scss +32 -32
  103. package/src/lib/action/actionbar/actionbar.theming.scss +22 -22
  104. package/src/lib/collapsible/collapsible.theming.scss +22 -22
  105. package/src/lib/entity/entity-selector/entity-selector.theming.scss +21 -21
  106. package/src/lib/entity/entity-table/entity-table.theming.scss +37 -37
  107. package/src/lib/entity/entity.theming.scss +7 -7
  108. package/src/lib/home-button/home-button.theming.scss +18 -18
  109. package/src/lib/interactive-tour/interactive-tour.theming.scss +32 -32
  110. package/src/lib/list/list.theming.scss +58 -58
  111. package/src/lib/panel/panel.theming.scss +30 -30
  112. package/src/lib/tool/tool.theming.scss +5 -5
  113. package/src/lib/tool/toolbox/toolbox.theming.scss +105 -105
  114. package/src/style/partial/common-utils.scss +9 -9
  115. package/src/style/partial/common.variables.scss +8 -8
  116. package/src/style/style.scss +1 -1
  117. package/esm2022/lib/entity/shared/store-strategy.mjs +0 -73
  118. package/lib/entity/shared/store-strategy.d.ts +0 -38
@@ -134,11 +134,11 @@ export class EntityTablePaginatorComponent {
134
134
  this.paginatorChange.emit(this.paginator);
135
135
  }
136
136
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntityTablePaginatorComponent, deps: [{ token: i1.LanguageService }, { token: i1.MediaService }], target: i0.ɵɵFactoryTarget.Component });
137
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EntityTablePaginatorComponent, selector: "igo-entity-table-paginator", inputs: { entitySortChange$: "entitySortChange$", store: "store", paginatorOptions: "paginatorOptions" }, outputs: { page: "page", paginatorChange: "paginatorChange" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<mat-paginator\r\n [disabled]=\"disabled\"\r\n [hidePageSize]=\"hidePageSize\"\r\n [length]=\"length\"\r\n [pageIndex]=\"pageIndex\"\r\n [pageSize]=\"pageSize\"\r\n [pageSizeOptions]=\"pageSizeOptions\"\r\n [showFirstLastButtons]=\"showFirstLastButtons\"\r\n (page)=\"emitPaginator()\"\r\n>\r\n</mat-paginator>\r\n", styles: [":host ::ng-deep .mat-mdc-paginator-container{min-height:unset}\n"], dependencies: [{ kind: "component", type: i2.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
137
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EntityTablePaginatorComponent, selector: "igo-entity-table-paginator", inputs: { entitySortChange$: "entitySortChange$", store: "store", paginatorOptions: "paginatorOptions" }, outputs: { page: "page", paginatorChange: "paginatorChange" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<mat-paginator\n [disabled]=\"disabled\"\n [hidePageSize]=\"hidePageSize\"\n [length]=\"length\"\n [pageIndex]=\"pageIndex\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [showFirstLastButtons]=\"showFirstLastButtons\"\n (page)=\"emitPaginator()\"\n>\n</mat-paginator>\n", styles: [":host ::ng-deep .mat-mdc-paginator-container{min-height:unset}\n"], dependencies: [{ kind: "component", type: i2.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
138
138
  }
139
139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntityTablePaginatorComponent, decorators: [{
140
140
  type: Component,
141
- args: [{ selector: 'igo-entity-table-paginator', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-paginator\r\n [disabled]=\"disabled\"\r\n [hidePageSize]=\"hidePageSize\"\r\n [length]=\"length\"\r\n [pageIndex]=\"pageIndex\"\r\n [pageSize]=\"pageSize\"\r\n [pageSizeOptions]=\"pageSizeOptions\"\r\n [showFirstLastButtons]=\"showFirstLastButtons\"\r\n (page)=\"emitPaginator()\"\r\n>\r\n</mat-paginator>\r\n", styles: [":host ::ng-deep .mat-mdc-paginator-container{min-height:unset}\n"] }]
141
+ args: [{ selector: 'igo-entity-table-paginator', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-paginator\n [disabled]=\"disabled\"\n [hidePageSize]=\"hidePageSize\"\n [length]=\"length\"\n [pageIndex]=\"pageIndex\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [showFirstLastButtons]=\"showFirstLastButtons\"\n (page)=\"emitPaginator()\"\n>\n</mat-paginator>\n", styles: [":host ::ng-deep .mat-mdc-paginator-container{min-height:unset}\n"] }]
142
142
  }], ctorParameters: function () { return [{ type: i1.LanguageService }, { type: i1.MediaService }]; }, propDecorators: { entitySortChange$: [{
143
143
  type: Input
144
144
  }], store: [{
@@ -153,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
153
153
  type: ViewChild,
154
154
  args: [MatPaginator, { static: true }]
155
155
  }] } });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXRhYmxlLXBhZ2luYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvZW50aXR5LXRhYmxlLXBhZ2luYXRvci9lbnRpdHktdGFibGUtcGFnaW5hdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9lbnRpdHktdGFibGUtcGFnaW5hdG9yL2VudGl0eS10YWJsZS1wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQWEsTUFBTSw2QkFBNkIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzRCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUVyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7O0FBU3hDLE1BQU0sT0FBTyw2QkFBNkI7SUF1QzlCO0lBQ0E7SUF2Q0gsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixZQUFZLEdBQVksS0FBSyxDQUFDO0lBQzlCLFNBQVMsR0FBVyxDQUFDLENBQUM7SUFDdEIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixlQUFlLEdBQWEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3RELG9CQUFvQixHQUFZLElBQUksQ0FBQztJQUNwQyxPQUFPLENBQWU7SUFDdEIsa0JBQWtCLENBQWU7SUFDakMsNEJB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QUVELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUMsQ0FBQzt3R0E3SlUsNkJBQTZCOzRGQUE3Qiw2QkFBNkIsc1JBMkM3QixZQUFZLG1GQ3BFekIsb1VBV0E7OzRGRGNhLDZCQUE2QjtrQkFOekMsU0FBUzsrQkFDRSw0QkFBNEIsbUJBR3JCLHVCQUF1QixDQUFDLE1BQU07aUlBYXRDLGlCQUFpQjtzQkFBekIsS0FBSztnQkFNRyxLQUFLO3NCQUFiLEtBQUs7Z0JBTU4sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBTUksSUFBSTtzQkFBYixNQUFNO2dCQU9HLGVBQWU7c0JBQXhCLE1BQU07Z0JBUW9DLFNBQVM7c0JBQW5ELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yLCBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5cclxuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlLCBNZWRpYVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJy4uL3NoYXJlZCc7XHJcbmltcG9ydCB7IEVudGl0eVRhYmxlUGFnaW5hdG9yT3B0aW9ucyB9IGZyb20gJy4vZW50aXR5LXRhYmxlLXBhZ2luYXRvci5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tZW50aXR5LXRhYmxlLXBhZ2luYXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VudGl0eS10YWJsZS1wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2VudGl0eS10YWJsZS1wYWdpbmF0b3IuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRW50aXR5VGFibGVQYWdpbmF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGhpZGVQYWdlU2l6ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBwYWdlSW5kZXg6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIHBhZ2VTaXplOiBudW1iZXIgPSA1MDtcclxuICBwdWJsaWMgcGFnZVNpemVPcHRpb25zOiBudW1iZXJbXSA9IFs1LCAxMCwgMjAsIDUwLCAxMDAsIDIwMF07XHJcbiAgcHVibGljIHNob3dGaXJzdExhc3RCdXR0b25zOiBib29sZWFuID0gdHJ1ZTtcclxuICBwcml2YXRlIGNvdW50JCQ6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIGVudGl0eVNvcnRDaGFuZ2UkJDogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgcGFnaW5hdGlvbkxhYmVsVHJhbnNsYXRpb24kJDogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgZW50aXR5U29ydENoYW5nZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXHJcbiAgICBmYWxzZVxyXG4gICk7XHJcbiAgLyoqXHJcbiAgICogRW50aXR5IHN0b3JlXHJcbiAgICovXHJcbiAgQElucHV0KCkgc3RvcmU6IEVudGl0eVN0b3JlPG9iamVjdD47XHJcblxyXG4gIC8qKlxyXG4gICAqIFBhZ2luYXRvciBvcHRpb25zXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwYWdpbmF0b3JPcHRpb25zOiBFbnRpdHlUYWJsZVBhZ2luYXRvck9wdGlvbnM7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgcGFnaW5hdG9yIGNoYW5nZXMgdGhlIHBhZ2Ugc2l6ZSBvciBwYWdlIGluZGV4LlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwYWdlOiBFdmVudEVtaXR0ZXI8UGFnZUV2ZW50PjtcclxuXHJcbiAgcHVibGljIGxlbmd0aDogbnVtYmVyID0gMDtcclxuXHJcbiAgLyoqXHJcbiAgICogUGFnaW5hdG9yIGVtaXR0ZWQuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHBhZ2luYXRvckNoYW5nZTogRXZlbnRFbWl0dGVyPE1hdFBhZ2luYXRvcj4gPVxyXG4gICAgbmV3IEV2ZW50RW1pdHRlcjxNYXRQYWdpbmF0b3I+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVkaWFTZXJ2aWNlOiBNZWRpYVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yLCB7IHN0YXRpYzogdHJ1ZSB9KSBwYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlQWxsKCk7XHJcbiAgICB0aGlzLmNvdW50JCQgPSB0aGlzLnN0b3JlLnN0YXRlVmlldy5jb3VudCQuc3Vic2NyaWJlKChjb3VudCkgPT4ge1xyXG4gICAgICB0aGlzLmxlbmd0aCA9IGNvdW50O1xyXG4gICAgICB0aGlzLmVtaXRQYWdpbmF0b3IoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5lbnRpdHlTb3J0Q2hhbmdlJCQgPSB0aGlzLmVudGl0eVNvcnRDaGFuZ2UkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnBhZ2luYXRvcikge1xyXG4gICAgICAgIHRoaXMucGFnaW5hdG9yLmZpcnN0UGFnZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuaW5pdFBhZ2luYXRvck9wdGlvbnMoKTtcclxuICAgIHRoaXMudHJhbnNsYXRlTGFiZWxzKCk7XHJcbiAgfVxyXG5cclxuICBpbml0UGFnaW5hdG9yT3B0aW9ucygpIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLnBhZ2luYXRvck9wdGlvbnM/LmRpc2FibGVkIHx8IHRoaXMuZGlzYWJsZWQ7XHJcbiAgICB0aGlzLnBhZ2VJbmRleCA9IHRoaXMucGFnaW5hdG9yT3B0aW9ucz8ucGFnZUluZGV4IHx8IHRoaXMucGFnZUluZGV4O1xyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IHRoaXMucGFnaW5hdG9yT3B0aW9ucz8ucGFnZVNpemUgfHwgdGhpcy5wYWdlU2l6ZTtcclxuICAgIHRoaXMucGFnZVNpemVPcHRpb25zID1cclxuICAgICAgdGhpcy5wYWdpbmF0b3JPcHRpb25zPy5wYWdlU2l6ZU9wdGlvbnMgfHwgdGhpcy5wYWdlU2l6ZU9wdGlvbnM7XHJcbiAgICBpZiAodGhpcy5tZWRpYVNlcnZpY2UuaXNNb2JpbGUoKSkge1xyXG4gICAgICB0aGlzLnNob3dGaXJzdExhc3RCdXR0b25zID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaGlkZVBhZ2VTaXplID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd0ZpcnN0TGFzdEJ1dHRvbnMgPVxyXG4gICAgICAgIHRoaXMucGFnaW5hdG9yT3B0aW9ucz8uc2hvd0ZpcnN0TGFzdEJ1dHRvbnMgfHxcclxuICAgICAgICB0aGlzLnNob3dGaXJzdExhc3RCdXR0b25zO1xyXG4gICAgICB0aGlzLmhpZGVQYWdlU2l6ZSA9XHJcbiAgICAgICAgdGhpcy5wYWdpbmF0b3JPcHRpb25zPy5oaWRlUGFnZVNpemUgfHwgdGhpcy5oaWRlUGFnZVNpemU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0cmFuc2xhdGVMYWJlbHMoKSB7XHJcbiAgICB0aGlzLnBhZ2luYXRpb25MYWJlbFRyYW5zbGF0aW9uJCQucHVzaChcclxuICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlXHJcbiAgICAgICAgLmdldCgnaWdvLmNvbW1vbi5wYWdpbmF0b3IuZmlyc3RQYWdlTGFiZWwnKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGxhYmVsOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgIHRoaXMucGFnaW5hdG9yLl9pbnRsLmZpcnN0UGFnZUxhYmVsID0gbGFiZWw7XHJcbiAgICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5wYWdpbmF0b3IuX2ludGwuZ2V0UmFuZ2VMYWJlbCA9IHRoaXMucmFuZ2VMYWJlbDtcclxuXHJcbiAgICB0aGlzLnBhZ2luYXRpb25MYWJlbFRyYW5zbGF0aW9uJCQucHVzaChcclxuICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlXHJcbiAgICAgICAgLmdldCgnaWdvLmNvbW1vbi5wYWdpbmF0b3IuaXRlbXNQZXJQYWdlTGFiZWwnKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGxhYmVsOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgIHRoaXMucGFnaW5hdG9yLl9pbnRsLml0ZW1zUGVyUGFnZUxhYmVsID0gbGFiZWw7XHJcbiAgICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLnBhZ2luYXRpb25MYWJlbFRyYW5zbGF0aW9uJCQucHVzaChcclxuICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlXHJcbiAgICAgICAgLmdldCgnaWdvLmNvbW1vbi5wYWdpbmF0b3IubGFzdFBhZ2VMYWJlbCcpXHJcbiAgICAgICAgLnN1YnNjcmliZSgobGFiZWw6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5wYWdpbmF0b3IuX2ludGwubGFzdFBhZ2VMYWJlbCA9IGxhYmVsO1xyXG4gICAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uTGFiZWxUcmFuc2xhdGlvbiQkLnB1c2goXHJcbiAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZVxyXG4gICAgICAgIC5nZXQoJ2lnby5jb21tb24ucGFnaW5hdG9yLm5leHRQYWdlTGFiZWwnKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGxhYmVsOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgIHRoaXMucGFnaW5hdG9yLl9pbnRsLm5leHRQYWdlTGFiZWwgPSBsYWJlbDtcclxuICAgICAgICB9KVxyXG4gICAgKTtcclxuICAgIHRoaXMucGFnaW5hdGlvbkxhYmVsVHJhbnNsYXRpb24kJC5wdXNoKFxyXG4gICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGVcclxuICAgICAgICAuZ2V0KCdpZ28uY29tbW9uLnBhZ2luYXRvci5wcmV2aW91c1BhZ2VMYWJlbCcpXHJcbiAgICAgICAgLnN1YnNjcmliZSgobGFiZWw6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5wYWdpbmF0b3IuX2ludGwucHJldmlvdXNQYWdlTGFiZWwgPSBsYWJlbDtcclxuICAgICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJhbmdlTGFiZWwgPSAocGFnZTogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyLCBsZW5ndGg6IG51bWJlcikgPT4ge1xyXG4gICAgY29uc3Qgb2Y6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnJyk7XHJcblxyXG4gICAgdGhpcy5wYWdpbmF0aW9uTGFiZWxUcmFuc2xhdGlvbiQkLnB1c2goXHJcbiAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZVxyXG4gICAgICAgIC5nZXQoJ2lnby5jb21tb24ucGFnaW5hdG9yLm9mJylcclxuICAgICAgICAuc3Vic2NyaWJlKChsYWJlbDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICBvZi5uZXh0KGxhYmVsKTtcclxuICAgICAgICB9KVxyXG4gICAgKTtcclxuICAgIGlmIChsZW5ndGggPT09IDAgfHwgcGFnZVNpemUgPT09IDApIHtcclxuICAgICAgcmV0dXJuIGAwICR7b2YudmFsdWV9ICR7bGVuZ3RofWA7XHJcbiAgICB9XHJcbiAgICBsZW5ndGggPSBNYXRoLm1heChsZW5ndGgsIDApO1xyXG4gICAgY29uc3Qgc3RhcnRJbmRleCA9IHBhZ2UgKiBwYWdlU2l6ZTtcclxuICAgIGNvbnN0IGVuZEluZGV4ID1cclxuICAgICAgc3RhcnRJbmRleCA8IGxlbmd0aFxyXG4gICAgICAgID8gTWF0aC5taW4oc3RhcnRJbmRleCArIHBhZ2VTaXplLCBsZW5ndGgpXHJcbiAgICAgICAgOiBzdGFydEluZGV4ICsgcGFnZVNpemU7XHJcbiAgICByZXR1cm4gYCR7c3RhcnRJbmRleCArIDF9IC0gJHtlbmRJbmRleH0gJHtvZi52YWx1ZX0gJHtsZW5ndGh9YDtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIHVuc3Vic2NyaWJlQWxsKCkge1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uTGFiZWxUcmFuc2xhdGlvbiQkLm1hcCgoc3ViKSA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XHJcbiAgICBpZiAodGhpcy5jb3VudCQkKSB7XHJcbiAgICAgIHRoaXMuY291bnQkJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZW50aXR5U29ydENoYW5nZSQkKSB7XHJcbiAgICAgIHRoaXMuZW50aXR5U29ydENoYW5nZSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMudW5zdWJzY3JpYmVBbGwoKTtcclxuICB9XHJcblxyXG4gIGVtaXRQYWdpbmF0b3IoKSB7XHJcbiAgICB0aGlzLnBhZ2luYXRvckNoYW5nZS5lbWl0KHRoaXMucGFnaW5hdG9yKTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1wYWdpbmF0b3JcclxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gIFtoaWRlUGFnZVNpemVdPVwiaGlkZVBhZ2VTaXplXCJcclxuICBbbGVuZ3RoXT1cImxlbmd0aFwiXHJcbiAgW3BhZ2VJbmRleF09XCJwYWdlSW5kZXhcIlxyXG4gIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXHJcbiAgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnNcIlxyXG4gIFtzaG93Rmlyc3RMYXN0QnV0dG9uc109XCJzaG93Rmlyc3RMYXN0QnV0dG9uc1wiXHJcbiAgKHBhZ2UpPVwiZW1pdFBhZ2luYXRvcigpXCJcclxuPlxyXG48L21hdC1wYWdpbmF0b3I+XHJcbiJdfQ==
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXRhYmxlLXBhZ2luYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvZW50aXR5LXRhYmxlLXBhZ2luYXRvci9lbnRpdHktdGFibGUtcGFnaW5hdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9lbnRpdHktdGFibGUtcGFnaW5hdG9yL2VudGl0eS10YWJsZS1wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQWEsTUFBTSw2QkFBNkIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzRCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUVyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7O0FBU3hDLE1BQU0sT0FBTyw2QkFBNkI7SUF1QzlCO0lBQ0E7SUF2Q0gsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixZQUFZLEdBQVksS0FBSyxDQUFDO0lBQzlCLFNBQVMsR0FBVyxDQUFDLENBQUM7SUFDdEIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixlQUFlLEdBQWEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3RELG9CQUFvQixHQUFZLElBQUksQ0FBQztJQUNwQyxPQUFPLENBQWU7SUFDdEIsa0JBQWtCLENBQWU7SUFDakMsNEJB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QUVELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUMsQ0FBQzt3R0E3SlUsNkJBQTZCOzRGQUE3Qiw2QkFBNkIsc1JBMkM3QixZQUFZLG1GQ3BFekIsOFNBV0E7OzRGRGNhLDZCQUE2QjtrQkFOekMsU0FBUzsrQkFDRSw0QkFBNEIsbUJBR3JCLHVCQUF1QixDQUFDLE1BQU07aUlBYXRDLGlCQUFpQjtzQkFBekIsS0FBSztnQkFNRyxLQUFLO3NCQUFiLEtBQUs7Z0JBTU4sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBTUksSUFBSTtzQkFBYixNQUFNO2dCQU9HLGVBQWU7c0JBQXhCLE1BQU07Z0JBUW9DLFNBQVM7c0JBQW5ELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yLCBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5cclxuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlLCBNZWRpYVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJy4uL3NoYXJlZCc7XHJcbmltcG9ydCB7IEVudGl0eVRhYmxlUGFnaW5hdG9yT3B0aW9ucyB9IGZyb20gJy4vZW50aXR5LXRhYmxlLXBhZ2luYXRvci5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tZW50aXR5LXRhYmxlLXBhZ2luYXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VudGl0eS10YWJsZS1wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2VudGl0eS10YWJsZS1wYWdpbmF0b3IuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRW50aXR5VGFibGVQYWdpbmF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGhpZGVQYWdlU2l6ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBwYWdlSW5kZXg6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIHBhZ2VTaXplOiBudW1iZXIgPSA1MDtcclxuICBwdWJsaWMgcGFnZVNpemVPcHRpb25zOiBudW1iZXJbXSA9IFs1LCAxMCwgMjAsIDUwLCAxMDAsIDIwMF07XHJcbiAgcHVibGljIHNob3dGaXJzdExhc3RCdXR0b25zOiBib29sZWFuID0gdHJ1ZTtcclxuICBwcml2YXRlIGNvdW50JCQ6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIGVudGl0eVNvcnRDaGFuZ2UkJDogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgcGFnaW5hdGlvbkxhYmVsVHJhbnNsYXRpb24kJDogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgZW50aXR5U29ydENoYW5nZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXHJcbiAgICBmYWxzZVxyXG4gICk7XHJcbiAgLyoqXHJcbiAgICogRW50aXR5IHN0b3JlXHJcbiAgICovXHJcbiAgQElucHV0KCkgc3RvcmU6IEVudGl0eVN0b3JlPG9iamVjdD47XHJcblxyXG4gIC8qKlxyXG4gICAqIFBhZ2luYXRvciBvcHRpb25zXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwYWdpbmF0b3JPcHRpb25zOiBFbnRpdHlUYWJsZVBhZ2luYXRvck9wdGlvbnM7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgcGFnaW5hdG9yIGNoYW5nZXMgdGhlIHBhZ2Ugc2l6ZSBvciBwYWdlIGluZGV4LlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwYWdlOiBFdmVudEVtaXR0ZXI8UGFnZUV2ZW50PjtcclxuXHJcbiAgcHVibGljIGxlbmd0aDogbnVtYmVyID0gMDtcclxuXHJcbiAgLyoqXHJcbiAgICogUGFnaW5hdG9yIGVtaXR0ZWQuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHBhZ2luYXRvckNoYW5nZTogRXZlbnRFbWl0dGVyPE1hdFBhZ2luYXRvcj4gPVxyXG4gICAgbmV3IEV2ZW50RW1pdHRlcjxNYXRQYWdpbmF0b3I+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVkaWFTZXJ2aWNlOiBNZWRpYVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yLCB7IHN0YXRpYzogdHJ1ZSB9KSBwYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlQWxsKCk7XHJcbiAgICB0aGlzLmNvdW50JCQgPSB0aGlzLnN0b3JlLnN0YXRlVmlldy5jb3VudCQuc3Vic2NyaWJlKChjb3VudCkgPT4ge1xyXG4gICAgICB0aGlzLmxlbmd0aCA9IGNvdW50O1xyXG4gICAgICB0aGlzLmVtaXRQYWdpbmF0b3IoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5lbnRpdHlTb3J0Q2hhbmdlJCQgPSB0aGlzLmVudGl0eVNvcnRDaGFuZ2UkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnBhZ2luYXRvcikge1xyXG4gICAgICAgIHRoaXMucGFnaW5hdG9yLmZpcnN0UGFnZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuaW5pdFBhZ2luYXRvck9wdGlvbnMoKTtcclxuICAgIHRoaXMudHJhbnNsYXRlTGFiZWxzKCk7XHJcbiAgfVxyXG5cclxuICBpbml0UGFnaW5hdG9yT3B0aW9ucygpIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLnBhZ2luYXRvck9wdGlvbnM/LmRpc2FibGVkIHx8IHRoaXMuZGlzYWJsZWQ7XHJcbiAgICB0aGlzLnBhZ2VJbmRleCA9IHRoaXMucGFnaW5hdG9yT3B0aW9ucz8ucGFnZUluZGV4IHx8IHRoaXMucGFnZUluZGV4O1xyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IHRoaXMucGFnaW5hdG9yT3B0aW9ucz8ucGFnZVNpemUgfHwgdGhpcy5wYWdlU2l6ZTtcclxuICAgIHRoaXMucGFnZVNpemVPcHRpb25zID1cclxuICAgICAgdGhpcy5wYWdpbmF0b3JPcHRpb25zPy5wYWdlU2l6ZU9wdGlvbnMgfHwgdGhpcy5wYWdlU2l6ZU9wdGlvbnM7XHJcbiAgICBpZiAodGhpcy5tZWRpYVNlcnZpY2UuaXNNb2JpbGUoKSkge1xyXG4gICAgICB0aGlzLnNob3dGaXJzdExhc3RCdXR0b25zID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaGlkZVBhZ2VTaXplID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd0ZpcnN0TGFzdEJ1dHRvbnMgPVxyXG4gICAgICAgIHRoaXMucGFnaW5hdG9yT3B0aW9ucz8uc2hvd0ZpcnN0TGFzdEJ1dHRvbnMgfHxcclxuICAgICAgICB0aGlzLnNob3dGaXJzdExhc3RCdXR0b25zO1xyXG4gICAgICB0aGlzLmhpZGVQYWdlU2l6ZSA9XHJcbiAgICAgICAgdGhpcy5wYWdpbmF0b3JPcHRpb25zPy5oaWRlUGFnZVNpemUgfHwgdGhpcy5oaWRlUGFnZVNpemU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0cmFuc2xhdGVMYWJlbHMoKSB7XHJcbiAgICB0aGlzLnBhZ2luYXRpb25MYWJlbFRyYW5zbGF0aW9uJCQucHVzaChcclxuICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlXHJcbiAgICAgICAgLmdldCgnaWdvLmNvbW1vbi5wYWdpbmF0b3IuZmlyc3RQYWdlTGFiZWwnKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGxhYmVsOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgIHRoaXMucGFnaW5hdG9yLl9pbnRsLmZpcnN0UGFnZUxhYmVsID0gbGFiZWw7XHJcbiAgICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5wYWdpbmF0b3IuX2ludGwuZ2V0UmFuZ2VMYWJlbCA9IHRoaXMucmFuZ2VMYWJlbDtcclxuXHJcbiAgICB0aGlzLnBhZ2luYXRpb25MYWJlbFRyYW5zbGF0aW9uJCQucHVzaChcclxuICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlXHJcbiAgICAgICAgLmdldCgnaWdvLmNvbW1vbi5wYWdpbmF0b3IuaXRlbXNQZXJQYWdlTGFiZWwnKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGxhYmVsOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgIHRoaXMucGFnaW5hdG9yLl9pbnRsLml0ZW1zUGVyUGFnZUxhYmVsID0gbGFiZWw7XHJcbiAgICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLnBhZ2luYXRpb25MYWJlbFRyYW5zbGF0aW9uJCQucHVzaChcclxuICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlXHJcbiAgICAgICAgLmdldCgnaWdvLmNvbW1vbi5wYWdpbmF0b3IubGFzdFBhZ2VMYWJlbCcpXHJcbiAgICAgICAgLnN1YnNjcmliZSgobGFiZWw6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5wYWdpbmF0b3IuX2ludGwubGFzdFBhZ2VMYWJlbCA9IGxhYmVsO1xyXG4gICAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uTGFiZWxUcmFuc2xhdGlvbiQkLnB1c2goXHJcbiAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZVxyXG4gICAgICAgIC5nZXQoJ2lnby5jb21tb24ucGFnaW5hdG9yLm5leHRQYWdlTGFiZWwnKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGxhYmVsOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgIHRoaXMucGFnaW5hdG9yLl9pbnRsLm5leHRQYWdlTGFiZWwgPSBsYWJlbDtcclxuICAgICAgICB9KVxyXG4gICAgKTtcclxuICAgIHRoaXMucGFnaW5hdGlvbkxhYmVsVHJhbnNsYXRpb24kJC5wdXNoKFxyXG4gICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGVcclxuICAgICAgICAuZ2V0KCdpZ28uY29tbW9uLnBhZ2luYXRvci5wcmV2aW91c1BhZ2VMYWJlbCcpXHJcbiAgICAgICAgLnN1YnNjcmliZSgobGFiZWw6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5wYWdpbmF0b3IuX2ludGwucHJldmlvdXNQYWdlTGFiZWwgPSBsYWJlbDtcclxuICAgICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJhbmdlTGFiZWwgPSAocGFnZTogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyLCBsZW5ndGg6IG51bWJlcikgPT4ge1xyXG4gICAgY29uc3Qgb2Y6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnJyk7XHJcblxyXG4gICAgdGhpcy5wYWdpbmF0aW9uTGFiZWxUcmFuc2xhdGlvbiQkLnB1c2goXHJcbiAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZVxyXG4gICAgICAgIC5nZXQoJ2lnby5jb21tb24ucGFnaW5hdG9yLm9mJylcclxuICAgICAgICAuc3Vic2NyaWJlKChsYWJlbDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICBvZi5uZXh0KGxhYmVsKTtcclxuICAgICAgICB9KVxyXG4gICAgKTtcclxuICAgIGlmIChsZW5ndGggPT09IDAgfHwgcGFnZVNpemUgPT09IDApIHtcclxuICAgICAgcmV0dXJuIGAwICR7b2YudmFsdWV9ICR7bGVuZ3RofWA7XHJcbiAgICB9XHJcbiAgICBsZW5ndGggPSBNYXRoLm1heChsZW5ndGgsIDApO1xyXG4gICAgY29uc3Qgc3RhcnRJbmRleCA9IHBhZ2UgKiBwYWdlU2l6ZTtcclxuICAgIGNvbnN0IGVuZEluZGV4ID1cclxuICAgICAgc3RhcnRJbmRleCA8IGxlbmd0aFxyXG4gICAgICAgID8gTWF0aC5taW4oc3RhcnRJbmRleCArIHBhZ2VTaXplLCBsZW5ndGgpXHJcbiAgICAgICAgOiBzdGFydEluZGV4ICsgcGFnZVNpemU7XHJcbiAgICByZXR1cm4gYCR7c3RhcnRJbmRleCArIDF9IC0gJHtlbmRJbmRleH0gJHtvZi52YWx1ZX0gJHtsZW5ndGh9YDtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIHVuc3Vic2NyaWJlQWxsKCkge1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uTGFiZWxUcmFuc2xhdGlvbiQkLm1hcCgoc3ViKSA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XHJcbiAgICBpZiAodGhpcy5jb3VudCQkKSB7XHJcbiAgICAgIHRoaXMuY291bnQkJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZW50aXR5U29ydENoYW5nZSQkKSB7XHJcbiAgICAgIHRoaXMuZW50aXR5U29ydENoYW5nZSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMudW5zdWJzY3JpYmVBbGwoKTtcclxuICB9XHJcblxyXG4gIGVtaXRQYWdpbmF0b3IoKSB7XHJcbiAgICB0aGlzLnBhZ2luYXRvckNoYW5nZS5lbWl0KHRoaXMucGFnaW5hdG9yKTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1wYWdpbmF0b3JcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2hpZGVQYWdlU2l6ZV09XCJoaWRlUGFnZVNpemVcIlxuICBbbGVuZ3RoXT1cImxlbmd0aFwiXG4gIFtwYWdlSW5kZXhdPVwicGFnZUluZGV4XCJcbiAgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCJcbiAgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnNcIlxuICBbc2hvd0ZpcnN0TGFzdEJ1dHRvbnNdPVwic2hvd0ZpcnN0TGFzdEJ1dHRvbnNcIlxuICAocGFnZSk9XCJlbWl0UGFnaW5hdG9yKClcIlxuPlxuPC9tYXQtcGFnaW5hdG9yPlxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXRhYmxlLXBhZ2luYXRvci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvZW50aXR5LXRhYmxlLXBhZ2luYXRvci9lbnRpdHktdGFibGUtcGFnaW5hdG9yLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBFbnRpdHlUYWJsZVBhZ2luYXRvck9wdGlvbnMge1xyXG4gIGRpc2FibGVkPzogYm9vbGVhbjsgLy8gV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkLlxyXG4gIGhpZGVQYWdlU2l6ZT86IGJvb2xlYW47IC8vIFdoZXRoZXIgdG8gaGlkZSB0aGUgcGFnZSBzaXplIHNlbGVjdGlvbiBVSSBmcm9tIHRoZSB1c2VyLlxyXG4gIHBhZ2VJbmRleD86IG51bWJlcjsgLy8gVGhlIHplcm8tYmFzZWQgcGFnZSBpbmRleCBvZiB0aGUgZGlzcGxheWVkIGxpc3Qgb2YgaXRlbXMuXHJcbiAgcGFnZVNpemU/OiBudW1iZXI7IC8vIE51bWJlciBvZiBpdGVtcyB0byBkaXNwbGF5IG9uIGEgcGFnZS5cclxuICBwYWdlU2l6ZU9wdGlvbnM/OiBudW1iZXJbXTsgLy8gVGhlIHNldCBvZiBwcm92aWRlZCBwYWdlIHNpemUgb3B0aW9ucyB0byBkaXNwbGF5IHRvIHRoZSB1c2VyLlxyXG4gIHNob3dGaXJzdExhc3RCdXR0b25zPzogYm9vbGVhbjsgLy8gV2hldGhlciB0byBzaG93IHRoZSBmaXJzdC9sYXN0IGJ1dHRvbnMgVUkgdG8gdGhlIHVzZXIuXHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXRhYmxlLXBhZ2luYXRvci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvZW50aXR5LXRhYmxlLXBhZ2luYXRvci9lbnRpdHktdGFibGUtcGFnaW5hdG9yLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBFbnRpdHlUYWJsZVBhZ2luYXRvck9wdGlvbnMge1xuICBkaXNhYmxlZD86IGJvb2xlYW47IC8vIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZC5cbiAgaGlkZVBhZ2VTaXplPzogYm9vbGVhbjsgLy8gV2hldGhlciB0byBoaWRlIHRoZSBwYWdlIHNpemUgc2VsZWN0aW9uIFVJIGZyb20gdGhlIHVzZXIuXG4gIHBhZ2VJbmRleD86IG51bWJlcjsgLy8gVGhlIHplcm8tYmFzZWQgcGFnZSBpbmRleCBvZiB0aGUgZGlzcGxheWVkIGxpc3Qgb2YgaXRlbXMuXG4gIHBhZ2VTaXplPzogbnVtYmVyOyAvLyBOdW1iZXIgb2YgaXRlbXMgdG8gZGlzcGxheSBvbiBhIHBhZ2UuXG4gIHBhZ2VTaXplT3B0aW9ucz86IG51bWJlcltdOyAvLyBUaGUgc2V0IG9mIHByb3ZpZGVkIHBhZ2Ugc2l6ZSBvcHRpb25zIHRvIGRpc3BsYXkgdG8gdGhlIHVzZXIuXG4gIHNob3dGaXJzdExhc3RCdXR0b25zPzogYm9vbGVhbjsgLy8gV2hldGhlciB0byBzaG93IHRoZSBmaXJzdC9sYXN0IGJ1dHRvbnMgVUkgdG8gdGhlIHVzZXIuXG59XG4iXX0=
@@ -3,4 +3,4 @@ export * from './entity-selector/entity-selector.component';
3
3
  export * from './entity-table/entity-table.component';
4
4
  export * from './entity-table-paginator/entity-table-paginator.component';
5
5
  export * from './entity-table-paginator/entity-table-paginator.interface';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYywyREFBMkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcbmV4cG9ydCAqIGZyb20gJy4vZW50aXR5LXNlbGVjdG9yL2VudGl0eS1zZWxlY3Rvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHktdGFibGUvZW50aXR5LXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VudGl0eS10YWJsZS1wYWdpbmF0b3IvZW50aXR5LXRhYmxlLXBhZ2luYXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHktdGFibGUtcGFnaW5hdG9yL2VudGl0eS10YWJsZS1wYWdpbmF0b3IuaW50ZXJmYWNlJztcbiJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYywyREFBMkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcclxuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHktc2VsZWN0b3IvZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZW50aXR5LXRhYmxlL2VudGl0eS10YWJsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2VudGl0eS10YWJsZS1wYWdpbmF0b3IvZW50aXR5LXRhYmxlLXBhZ2luYXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2VudGl0eS10YWJsZS1wYWdpbmF0b3IvZW50aXR5LXRhYmxlLXBhZ2luYXRvci5pbnRlcmZhY2UnO1xyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL2VudGl0eS5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBFbnRpdHlUYWJsZUNvbHVtblJlbmRlcmVyIH0gZnJvbSAnLi9lbnRpdHkuZW51bXMnO1xyXG5cclxuZXhwb3J0IHR5cGUgRW50aXR5S2V5ID0gc3RyaW5nIHwgbnVtYmVyO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlTdGF0ZSB7XHJcbiAgW2tleTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVJlY29yZDxcclxuICBFIGV4dGVuZHMgb2JqZWN0LFxyXG4gIFMgZXh0ZW5kcyBFbnRpdHlTdGF0ZSA9IEVudGl0eVN0YXRlXHJcbj4ge1xyXG4gIGVudGl0eTogRTtcclxuICBzdGF0ZTogUztcclxuICByZXZpc2lvbjogbnVtYmVyO1xyXG4gIHJlZjogc3RyaW5nO1xyXG4gIGVkaXRpb24/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVN0b3JlU3RyYXRlZ3lPcHRpb25zIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVN0b3JlU3RyYXRlZ3lGdW5jT3B0aW9uc1xyXG4gIGV4dGVuZHMgRW50aXR5U3RvcmVTdHJhdGVneU9wdGlvbnMge1xyXG4gIGZpbHRlckNsYXVzZUZ1bmM6IEVudGl0eUZpbHRlckNsYXVzZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlUcmFuc2FjdGlvbk9wdGlvbnMge1xyXG4gIGdldEtleT86IChlbnRpdHk6IG9iamVjdCkgPT4gRW50aXR5S2V5O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBFbnRpdHlGaWx0ZXJDbGF1c2U8RSA9IG9iamVjdD4gPSAoZW50aXR5OiBFKSA9PiBib29sZWFuO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlTb3J0Q2xhdXNlPEUgPSBvYmplY3Q+IHtcclxuICB2YWx1ZUFjY2Vzc29yOiAoZW50aXR5OiBFKSA9PiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgZGlyZWN0aW9uOiBzdHJpbmc7XHJcblxyXG4gIC8vIElmIHRydWUsIG51bGwgYW5kIHVuZGVmaW5lZCB2YWx1ZXMgd2lsbCBiZSBmaXJzdFxyXG4gIC8vIElmIGZhbHNlLCBudWxsIGFuZCB1bmRlZmluZWQgdmFsdWVzIHdpbGwgYmUgbGFzdFxyXG4gIC8vIElmIHVuZGVmaW5lZCwgZGVmYXVsdCB0byB0cnVlIGFuZCBmYWxzZSB3aGVuIHNvcnRpbmcgaW4gZGVzY2VuZGluZyBhbmRcclxuICAvLyBhc2NlbmRpbmcgb3JkZXIsIHJlc3BlY3RpdmVseVxyXG4gIG51bGxzRmlyc3Q/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eUpvaW5DbGF1c2Uge1xyXG4gIHNvdXJjZTogT2JzZXJ2YWJsZTxhbnkgfCB2b2lkPjtcclxuICByZWR1Y2U6IChwYXJhbTE6IG9iamVjdCwgcGFyYW0yOiBhbnkpID0+IG9iamVjdDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlPcGVyYXRpb25TdGF0ZSB7XHJcbiAgYWRkZWQ6IGJvb2xlYW47XHJcbiAgY2FuY2VsZWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5VGFibGVUZW1wbGF0ZSB7XHJcbiAgY29sdW1uczogRW50aXR5VGFibGVDb2x1bW5bXTtcclxuICBzZWxlY3Rpb24/OiBib29sZWFuO1xyXG4gIHNlbGVjdGlvbkNoZWNrYm94PzogYm9vbGVhbjtcclxuICBzZWxlY3RNYW55PzogYm9vbGVhbjtcclxuICBzb3J0PzogYm9vbGVhbjtcclxuICBmaXhlZEhlYWRlcj86IGJvb2xlYW47XHJcbiAgdGFibGVIZWlnaHQ/OiBzdHJpbmc7XHJcbiAgdmFsdWVBY2Nlc3Nvcj86IChcclxuICAgIGVudGl0eTogb2JqZWN0LFxyXG4gICAgcHJvcGVydHk6IHN0cmluZyxcclxuICAgIHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD5cclxuICApID0+IGFueTtcclxuICBoZWFkZXJDbGFzc0Z1bmM/OiAoKSA9PiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBib29sZWFuO1xyXG4gIH07XHJcbiAgcm93Q2xhc3NGdW5jPzogKFxyXG4gICAgZW50aXR5OiBvYmplY3QsXHJcbiAgICByZWNvcmQ6IEVudGl0eVJlY29yZDxvYmplY3Q+XHJcbiAgKSA9PiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBib29sZWFuO1xyXG4gIH07XHJcbiAgY2VsbENsYXNzRnVuYz86IChcclxuICAgIGVudGl0eTogb2JqZWN0LFxyXG4gICAgY29sdW1uOiBFbnRpdHlUYWJsZUNvbHVtbixcclxuICAgIHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD5cclxuICApID0+IHtcclxuICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlUYWJsZUNvbHVtblZhbGlkYXRpb24ge1xyXG4gIHJlYWRvbmx5PzogYm9vbGVhbjtcclxuICBtYW5kYXRvcnk/OiBib29sZWFuO1xyXG4gIG1heGxlbmd0aD86IG51bWJlcjtcclxuICBtaW5sZW5ndGg/OiBudW1iZXI7XHJcbiAgbWluVmFsdWU/OiBudW1iZXI7XHJcbiAgbWF4VmFsdWU/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVSZWxhdGlvbiB7XHJcbiAgdGFibGU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlUYWJsZUNvbHVtbiB7XHJcbiAgdmFsaWRhdGlvbj86IEVudGl0eVRhYmxlQ29sdW1uVmFsaWRhdGlvbjtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICByZW5kZXJlcj86IEVudGl0eVRhYmxlQ29sdW1uUmVuZGVyZXI7XHJcbiAgdmFsdWVBY2Nlc3Nvcj86IChlbnRpdHk6IG9iamVjdCwgcmVjb3JkOiBFbnRpdHlSZWNvcmQ8b2JqZWN0PikgPT4gYW55O1xyXG4gIHZpc2libGU/OiBib29sZWFuO1xyXG4gIGxpbmtDb2x1bW5Gb3JjZT86IHN0cmluZztcclxuICBzb3J0PzogYm9vbGVhbjtcclxuICB0eXBlPzogc3RyaW5nO1xyXG4gIG11bHRpcGxlPzogYm9vbGVhbjtcclxuICBkb21haW5WYWx1ZXM/OiBBcnJheTxTZWxlY3RPcHRpb24+O1xyXG4gIHJlbGF0aW9uPzogVGFibGVSZWxhdGlvbjtcclxuICB0b29sdGlwPzogc3RyaW5nO1xyXG4gIGNlbGxDbGFzc0Z1bmM/OiAoXHJcbiAgICBlbnRpdHk6IG9iamVjdCxcclxuICAgIHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD5cclxuICApID0+IHtcclxuICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RPcHRpb24ge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgdmFsdWU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlUYWJsZUJ1dHRvbiB7XHJcbiAgaWNvbjogc3RyaW5nO1xyXG4gIGNsaWNrOiAoZW50aXR5OiBvYmplY3QsIHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD4pID0+IHZvaWQ7XHJcbiAgY29sb3I/OiAncHJpbWFyeScgfCAnYWNjZW50JyB8ICd3YXJuJztcclxuICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgc3R5bGU/OiAnbWF0LW1pbmktZmFiJyB8ICdtYXQtaWNvbi1idXR0b24nO1xyXG4gIGVkaXRNb2RlPzogYm9vbGVhbjtcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL2VudGl0eS5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEVudGl0eVRhYmxlQ29sdW1uUmVuZGVyZXIgfSBmcm9tICcuL2VudGl0eS5lbnVtcyc7XG5cbmV4cG9ydCB0eXBlIEVudGl0eUtleSA9IHN0cmluZyB8IG51bWJlcjtcblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlTdGF0ZSB7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlSZWNvcmQ8XG4gIEUgZXh0ZW5kcyBvYmplY3QsXG4gIFMgZXh0ZW5kcyBFbnRpdHlTdGF0ZSA9IEVudGl0eVN0YXRlXG4+IHtcbiAgZW50aXR5OiBFO1xuICBzdGF0ZTogUztcbiAgcmV2aXNpb246IG51bWJlcjtcbiAgcmVmOiBzdHJpbmc7XG4gIGVkaXRpb24/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVN0b3JlU3RyYXRlZ3lPcHRpb25zIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5U3RvcmVTdHJhdGVneUZ1bmNPcHRpb25zXG4gIGV4dGVuZHMgRW50aXR5U3RvcmVTdHJhdGVneU9wdGlvbnMge1xuICBmaWx0ZXJDbGF1c2VGdW5jOiBFbnRpdHlGaWx0ZXJDbGF1c2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5VHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgZ2V0S2V5PzogKGVudGl0eTogb2JqZWN0KSA9PiBFbnRpdHlLZXk7XG59XG5cbmV4cG9ydCB0eXBlIEVudGl0eUZpbHRlckNsYXVzZTxFID0gb2JqZWN0PiA9IChlbnRpdHk6IEUpID0+IGJvb2xlYW47XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5U29ydENsYXVzZTxFID0gb2JqZWN0PiB7XG4gIHZhbHVlQWNjZXNzb3I6IChlbnRpdHk6IEUpID0+IHN0cmluZyB8IG51bWJlcjtcbiAgZGlyZWN0aW9uOiBzdHJpbmc7XG5cbiAgLy8gSWYgdHJ1ZSwgbnVsbCBhbmQgdW5kZWZpbmVkIHZhbHVlcyB3aWxsIGJlIGZpcnN0XG4gIC8vIElmIGZhbHNlLCBudWxsIGFuZCB1bmRlZmluZWQgdmFsdWVzIHdpbGwgYmUgbGFzdFxuICAvLyBJZiB1bmRlZmluZWQsIGRlZmF1bHQgdG8gdHJ1ZSBhbmQgZmFsc2Ugd2hlbiBzb3J0aW5nIGluIGRlc2NlbmRpbmcgYW5kXG4gIC8vIGFzY2VuZGluZyBvcmRlciwgcmVzcGVjdGl2ZWx5XG4gIG51bGxzRmlyc3Q/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eUpvaW5DbGF1c2Uge1xuICBzb3VyY2U6IE9ic2VydmFibGU8YW55IHwgdm9pZD47XG4gIHJlZHVjZTogKHBhcmFtMTogb2JqZWN0LCBwYXJhbTI6IGFueSkgPT4gb2JqZWN0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eU9wZXJhdGlvblN0YXRlIHtcbiAgYWRkZWQ6IGJvb2xlYW47XG4gIGNhbmNlbGVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVRhYmxlVGVtcGxhdGUge1xuICBjb2x1bW5zOiBFbnRpdHlUYWJsZUNvbHVtbltdO1xuICBzZWxlY3Rpb24/OiBib29sZWFuO1xuICBzZWxlY3Rpb25DaGVja2JveD86IGJvb2xlYW47XG4gIHNlbGVjdE1hbnk/OiBib29sZWFuO1xuICBzb3J0PzogYm9vbGVhbjtcbiAgZml4ZWRIZWFkZXI/OiBib29sZWFuO1xuICB0YWJsZUhlaWdodD86IHN0cmluZztcbiAgdmFsdWVBY2Nlc3Nvcj86IChcbiAgICBlbnRpdHk6IG9iamVjdCxcbiAgICBwcm9wZXJ0eTogc3RyaW5nLFxuICAgIHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD5cbiAgKSA9PiBhbnk7XG4gIGhlYWRlckNsYXNzRnVuYz86ICgpID0+IHtcbiAgICBba2V5OiBzdHJpbmddOiBib29sZWFuO1xuICB9O1xuICByb3dDbGFzc0Z1bmM/OiAoXG4gICAgZW50aXR5OiBvYmplY3QsXG4gICAgcmVjb3JkOiBFbnRpdHlSZWNvcmQ8b2JqZWN0PlxuICApID0+IHtcbiAgICBba2V5OiBzdHJpbmddOiBib29sZWFuO1xuICB9O1xuICBjZWxsQ2xhc3NGdW5jPzogKFxuICAgIGVudGl0eTogb2JqZWN0LFxuICAgIGNvbHVtbjogRW50aXR5VGFibGVDb2x1bW4sXG4gICAgcmVjb3JkOiBFbnRpdHlSZWNvcmQ8b2JqZWN0PlxuICApID0+IHtcbiAgICBba2V5OiBzdHJpbmddOiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVRhYmxlQ29sdW1uVmFsaWRhdGlvbiB7XG4gIHJlYWRvbmx5PzogYm9vbGVhbjtcbiAgbWFuZGF0b3J5PzogYm9vbGVhbjtcbiAgbWF4bGVuZ3RoPzogbnVtYmVyO1xuICBtaW5sZW5ndGg/OiBudW1iZXI7XG4gIG1pblZhbHVlPzogbnVtYmVyO1xuICBtYXhWYWx1ZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZVJlbGF0aW9uIHtcbiAgdGFibGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlUYWJsZUNvbHVtbiB7XG4gIHZhbGlkYXRpb24/OiBFbnRpdHlUYWJsZUNvbHVtblZhbGlkYXRpb247XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgcmVuZGVyZXI/OiBFbnRpdHlUYWJsZUNvbHVtblJlbmRlcmVyO1xuICB2YWx1ZUFjY2Vzc29yPzogKGVudGl0eTogb2JqZWN0LCByZWNvcmQ6IEVudGl0eVJlY29yZDxvYmplY3Q+KSA9PiBhbnk7XG4gIHZpc2libGU/OiBib29sZWFuO1xuICBsaW5rQ29sdW1uRm9yY2U/OiBzdHJpbmc7XG4gIHNvcnQ/OiBib29sZWFuO1xuICB0eXBlPzogc3RyaW5nO1xuICBtdWx0aXBsZT86IGJvb2xlYW47XG4gIGRvbWFpblZhbHVlcz86IEFycmF5PFNlbGVjdE9wdGlvbj47XG4gIHJlbGF0aW9uPzogVGFibGVSZWxhdGlvbjtcbiAgdG9vbHRpcD86IHN0cmluZztcbiAgY2VsbENsYXNzRnVuYz86IChcbiAgICBlbnRpdHk6IG9iamVjdCxcbiAgICByZWNvcmQ6IEVudGl0eVJlY29yZDxvYmplY3Q+XG4gICkgPT4ge1xuICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0T3B0aW9uIHtcbiAgaWQ6IG51bWJlcjtcbiAgdmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlUYWJsZUJ1dHRvbiB7XG4gIGljb246IHN0cmluZztcbiAgY2xpY2s6IChlbnRpdHk6IG9iamVjdCwgcmVjb3JkOiBFbnRpdHlSZWNvcmQ8b2JqZWN0PikgPT4gdm9pZDtcbiAgY29sb3I/OiAncHJpbWFyeScgfCAnYWNjZW50JyB8ICd3YXJuJztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBzdHlsZT86ICdtYXQtbWluaS1mYWInIHwgJ21hdC1pY29uLWJ1dHRvbic7XG4gIGVkaXRNb2RlPzogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -70,4 +70,4 @@ export function getEntityRevision(entity) {
70
70
  const meta = entity.meta || {};
71
71
  return meta.revision || 0;
72
72
  }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvZW50aXR5L3NoYXJlZC9lbnRpdHkudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl6Qjs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE1BQWMsRUFBRSxRQUFnQjtJQUNoRSxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFDO0FBQ3hDLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxNQUFjO0lBQ3hDLE1BQU0sSUFBSSxHQUFJLE1BQWMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3hDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLENBQUM7QUFDaEYsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFjO0lBQzNDLE1BQU0sSUFBSSxHQUFJLE1BQWMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3hDLE9BQU8sSUFBSSxDQUFDLEtBQUs7UUFDZixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUs7UUFDWixDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLENBQUM7QUFDL0QsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE1BQWM7SUFDL0MsTUFBTSxJQUFJLEdBQUksTUFBYyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7SUFDeEMsT0FBTyxJQUFJLENBQUMsU0FBUztRQUNuQixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVM7UUFDaEIsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLElBQUksV0FBVyxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUFjO0lBQzFDLE1BQU0sSUFBSSxHQUFJLE1BQWMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUk7UUFDZCxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUk7UUFDWCxDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLENBQUM7QUFDN0QsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBYztJQUM5QyxNQUFNLElBQUksR0FBSSxNQUFjLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUN4QyxPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDO0FBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0IH0gZnJvbSAndHlweSc7XHJcblxyXG5pbXBvcnQgeyBFbnRpdHlLZXkgfSBmcm9tICcuL2VudGl0eS5pbnRlcmZhY2VzJztcclxuXHJcbi8qKlxyXG4gKiBHZXQgYW4gZW50aXR5J3MgbmFtZWQgcHJvcGVydHkuIE5lc3RlZCBwcm9wZXJ0aWVzIGFyZSBzdXBwb3J0ZWRcclxuICogd2l0aCB0aGUgZG90dGVkIG5vdGF0aW9uLiAoaS5lICdhdXRob3IubmFtZScpXHJcbiAqXHJcbiAqIE5vdGU6IHRoaXMgbWV0aG9kIGlzIGEgJ2Jlc3QgYXR0ZW1wdCcgYXQgZ2V0dGluZyBhbiBlbnRpdHkncyBwcm9wZXJ0eS5cclxuICogSXQgZml0cyB0aGUgbW9zdCBjb21tb24gY2FzZXMgYnV0IHlvdSBtaWdodCBuZWVkIHRvIGV4cGxpY2l0ZWx5IGRlZmluZVxyXG4gKiBhIHByb3BlcnR5IGdldHRlciB3aGVuIHVzaW5nIGFuIEVudGl0eVN0b3JlLCBmb3IgZXhhbXBsZS5cclxuICogQHBhcmFtIGVudGl0eSBFbnRpdHlcclxuICogQHBhcmFtIHByb3BlcnR5IFByb3BlcnR5IG5hbWVcclxuICogQHJldHVybnMgUHJvcGVydHkgdmFsdWVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRFbnRpdHlQcm9wZXJ0eShlbnRpdHk6IG9iamVjdCwgcHJvcGVydHk6IHN0cmluZyk6IGFueSB7XHJcbiAgcmV0dXJuIHQoZW50aXR5LCBwcm9wZXJ0eSkuc2FmZU9iamVjdDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCBhbiBlbnRpdHkncyBpZC4gQW4gZW50aXR5J3MgaWQgY2FuIGJlIG9uZSBvZjpcclxuICogJ2VudGl0eS5tZXRhLmlkJywgJ2VudGl0eS5tZXRhLmlkUHJvcGVydHknIG9yICdlbnRpdHkuaWQnLlxyXG4gKlxyXG4gKiBOb3RlOiBTZWUgdGhlIG5vdGUgaW4gdGhlICdnZXRFbnRpdHlQcm9wZXJ0eScgZG9jdW1lbnRhdGlvbi5cclxuICogQHBhcmFtIGVudGl0eSBFbnRpdHlcclxuICogQHJldHVybnMgRW50aXR5IGlkXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW50aXR5SWQoZW50aXR5OiBvYmplY3QpOiBFbnRpdHlLZXkge1xyXG4gIGNvbnN0IG1ldGEgPSAoZW50aXR5IGFzIGFueSkubWV0YSB8fCB7fTtcclxuICByZXR1cm4gbWV0YS5pZCA/IG1ldGEuaWQgOiBnZXRFbnRpdHlQcm9wZXJ0eShlbnRpdHksIG1ldGEuaWRQcm9wZXJ0eSB8fCAnaWQnKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCBhbiBlbnRpdHkncyB0aXRsZS4gQW4gZW50aXR5J3MgdGl0bGUgY2FuIGJlIG9uZSBvZjpcclxuICogJ2VudGl0eS5tZXRhLnRpdGxlJywgJ2VudGl0eS5tZXRhLnRpdGxlUHJvcGVydHknIG9yICdlbnRpdHkudGl0bGUnLlxyXG4gKiBAcGFyYW0gZW50aXR5IEVudGl0eVxyXG4gKiBAcmV0dXJucyBFbnRpdHkgdGl0bGVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRFbnRpdHlUaXRsZShlbnRpdHk6IG9iamVjdCk6IHN0cmluZyB7XHJcbiAgY29uc3QgbWV0YSA9IChlbnRpdHkgYXMgYW55KS5tZXRhIHx8IHt9O1xyXG4gIHJldHVybiBtZXRhLnRpdGxlXHJcbiAgICA/IG1ldGEudGl0bGVcclxuICAgIDogZ2V0RW50aXR5UHJvcGVydHkoZW50aXR5LCBtZXRhLnRpdGxlUHJvcGVydHkgfHwgJ3RpdGxlJyk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgYW4gZW50aXR5J3MgSFRNTCB0aXRsZS4gQW4gZW50aXR5J3MgSFRNTCB0aXRsZSBjYW4gYmUgb25lIG9mOlxyXG4gKiAnZW50aXR5Lm1ldGEudGl0bGVIdG1sJywgJ2VudGl0eS5tZXRhLnRpdGxlSHRtbFByb3BlcnR5JyBvciAnZW50aXR5LnRpdGxlSHRtbCcuXHJcbiAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XHJcbiAqIEByZXR1cm5zIEVudGl0eSBIVE1MIHRpdGxlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW50aXR5VGl0bGVIdG1sKGVudGl0eTogb2JqZWN0KTogc3RyaW5nIHtcclxuICBjb25zdCBtZXRhID0gKGVudGl0eSBhcyBhbnkpLm1ldGEgfHwge307XHJcbiAgcmV0dXJuIG1ldGEudGl0bGVIdG1sXHJcbiAgICA/IG1ldGEudGl0bGVIdG1sXHJcbiAgICA6IGdldEVudGl0eVByb3BlcnR5KGVudGl0eSwgbWV0YS50aXRsZUh0bWxQcm9wZXJ0eSB8fCAndGl0bGVIdG1sJyk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgYW4gZW50aXR5J3MgaWNvbi4gQW4gZW50aXR5J3MgaWNvbiBjYW4gYmUgb25lIG9mOlxyXG4gKiAnZW50aXR5Lm1ldGEuaWNvbicsICdlbnRpdHkubWV0YS5pY29uUHJvcGVydHknIG9yICdlbnRpdHkuaWNvbicuXHJcbiAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XHJcbiAqIEByZXR1cm5zIEVudGl0eSBpY29uXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW50aXR5SWNvbihlbnRpdHk6IG9iamVjdCk6IHN0cmluZyB7XHJcbiAgY29uc3QgbWV0YSA9IChlbnRpdHkgYXMgYW55KS5tZXRhIHx8IHt9O1xyXG4gIHJldHVybiBtZXRhLmljb25cclxuICAgID8gbWV0YS5pY29uXHJcbiAgICA6IGdldEVudGl0eVByb3BlcnR5KGVudGl0eSwgbWV0YS5pY29uUHJvcGVydHkgfHwgJ2ljb24nKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCBhbiBlbnRpdHkncyByZXZpc2lvbi5cclxuICogQHBhcmFtIGVudGl0eSBFbnRpdHlcclxuICogQHJldHVybnMgRW50aXR5IHJldmlzaW9uXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW50aXR5UmV2aXNpb24oZW50aXR5OiBvYmplY3QpOiBudW1iZXIge1xyXG4gIGNvbnN0IG1ldGEgPSAoZW50aXR5IGFzIGFueSkubWV0YSB8fCB7fTtcclxuICByZXR1cm4gbWV0YS5yZXZpc2lvbiB8fCAwO1xyXG59XHJcbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvZW50aXR5L3NoYXJlZC9lbnRpdHkudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl6Qjs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE1BQWMsRUFBRSxRQUFnQjtJQUNoRSxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFDO0FBQ3hDLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxNQUFjO0lBQ3hDLE1BQU0sSUFBSSxHQUFJLE1BQWMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3hDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLENBQUM7QUFDaEYsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFjO0lBQzNDLE1BQU0sSUFBSSxHQUFJLE1BQWMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3hDLE9BQU8sSUFBSSxDQUFDLEtBQUs7UUFDZixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUs7UUFDWixDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLENBQUM7QUFDL0QsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE1BQWM7SUFDL0MsTUFBTSxJQUFJLEdBQUksTUFBYyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7SUFDeEMsT0FBTyxJQUFJLENBQUMsU0FBUztRQUNuQixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVM7UUFDaEIsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLElBQUksV0FBVyxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUFjO0lBQzFDLE1BQU0sSUFBSSxHQUFJLE1BQWMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUk7UUFDZCxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUk7UUFDWCxDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLENBQUM7QUFDN0QsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBYztJQUM5QyxNQUFNLElBQUksR0FBSSxNQUFjLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUN4QyxPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDO0FBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0IH0gZnJvbSAndHlweSc7XG5cbmltcG9ydCB7IEVudGl0eUtleSB9IGZyb20gJy4vZW50aXR5LmludGVyZmFjZXMnO1xuXG4vKipcbiAqIEdldCBhbiBlbnRpdHkncyBuYW1lZCBwcm9wZXJ0eS4gTmVzdGVkIHByb3BlcnRpZXMgYXJlIHN1cHBvcnRlZFxuICogd2l0aCB0aGUgZG90dGVkIG5vdGF0aW9uLiAoaS5lICdhdXRob3IubmFtZScpXG4gKlxuICogTm90ZTogdGhpcyBtZXRob2QgaXMgYSAnYmVzdCBhdHRlbXB0JyBhdCBnZXR0aW5nIGFuIGVudGl0eSdzIHByb3BlcnR5LlxuICogSXQgZml0cyB0aGUgbW9zdCBjb21tb24gY2FzZXMgYnV0IHlvdSBtaWdodCBuZWVkIHRvIGV4cGxpY2l0ZWx5IGRlZmluZVxuICogYSBwcm9wZXJ0eSBnZXR0ZXIgd2hlbiB1c2luZyBhbiBFbnRpdHlTdG9yZSwgZm9yIGV4YW1wbGUuXG4gKiBAcGFyYW0gZW50aXR5IEVudGl0eVxuICogQHBhcmFtIHByb3BlcnR5IFByb3BlcnR5IG5hbWVcbiAqIEByZXR1cm5zIFByb3BlcnR5IHZhbHVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbnRpdHlQcm9wZXJ0eShlbnRpdHk6IG9iamVjdCwgcHJvcGVydHk6IHN0cmluZyk6IGFueSB7XG4gIHJldHVybiB0KGVudGl0eSwgcHJvcGVydHkpLnNhZmVPYmplY3Q7XG59XG5cbi8qKlxuICogR2V0IGFuIGVudGl0eSdzIGlkLiBBbiBlbnRpdHkncyBpZCBjYW4gYmUgb25lIG9mOlxuICogJ2VudGl0eS5tZXRhLmlkJywgJ2VudGl0eS5tZXRhLmlkUHJvcGVydHknIG9yICdlbnRpdHkuaWQnLlxuICpcbiAqIE5vdGU6IFNlZSB0aGUgbm90ZSBpbiB0aGUgJ2dldEVudGl0eVByb3BlcnR5JyBkb2N1bWVudGF0aW9uLlxuICogQHBhcmFtIGVudGl0eSBFbnRpdHlcbiAqIEByZXR1cm5zIEVudGl0eSBpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW50aXR5SWQoZW50aXR5OiBvYmplY3QpOiBFbnRpdHlLZXkge1xuICBjb25zdCBtZXRhID0gKGVudGl0eSBhcyBhbnkpLm1ldGEgfHwge307XG4gIHJldHVybiBtZXRhLmlkID8gbWV0YS5pZCA6IGdldEVudGl0eVByb3BlcnR5KGVudGl0eSwgbWV0YS5pZFByb3BlcnR5IHx8ICdpZCcpO1xufVxuXG4vKipcbiAqIEdldCBhbiBlbnRpdHkncyB0aXRsZS4gQW4gZW50aXR5J3MgdGl0bGUgY2FuIGJlIG9uZSBvZjpcbiAqICdlbnRpdHkubWV0YS50aXRsZScsICdlbnRpdHkubWV0YS50aXRsZVByb3BlcnR5JyBvciAnZW50aXR5LnRpdGxlJy5cbiAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XG4gKiBAcmV0dXJucyBFbnRpdHkgdGl0bGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVudGl0eVRpdGxlKGVudGl0eTogb2JqZWN0KTogc3RyaW5nIHtcbiAgY29uc3QgbWV0YSA9IChlbnRpdHkgYXMgYW55KS5tZXRhIHx8IHt9O1xuICByZXR1cm4gbWV0YS50aXRsZVxuICAgID8gbWV0YS50aXRsZVxuICAgIDogZ2V0RW50aXR5UHJvcGVydHkoZW50aXR5LCBtZXRhLnRpdGxlUHJvcGVydHkgfHwgJ3RpdGxlJyk7XG59XG5cbi8qKlxuICogR2V0IGFuIGVudGl0eSdzIEhUTUwgdGl0bGUuIEFuIGVudGl0eSdzIEhUTUwgdGl0bGUgY2FuIGJlIG9uZSBvZjpcbiAqICdlbnRpdHkubWV0YS50aXRsZUh0bWwnLCAnZW50aXR5Lm1ldGEudGl0bGVIdG1sUHJvcGVydHknIG9yICdlbnRpdHkudGl0bGVIdG1sJy5cbiAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XG4gKiBAcmV0dXJucyBFbnRpdHkgSFRNTCB0aXRsZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW50aXR5VGl0bGVIdG1sKGVudGl0eTogb2JqZWN0KTogc3RyaW5nIHtcbiAgY29uc3QgbWV0YSA9IChlbnRpdHkgYXMgYW55KS5tZXRhIHx8IHt9O1xuICByZXR1cm4gbWV0YS50aXRsZUh0bWxcbiAgICA/IG1ldGEudGl0bGVIdG1sXG4gICAgOiBnZXRFbnRpdHlQcm9wZXJ0eShlbnRpdHksIG1ldGEudGl0bGVIdG1sUHJvcGVydHkgfHwgJ3RpdGxlSHRtbCcpO1xufVxuXG4vKipcbiAqIEdldCBhbiBlbnRpdHkncyBpY29uLiBBbiBlbnRpdHkncyBpY29uIGNhbiBiZSBvbmUgb2Y6XG4gKiAnZW50aXR5Lm1ldGEuaWNvbicsICdlbnRpdHkubWV0YS5pY29uUHJvcGVydHknIG9yICdlbnRpdHkuaWNvbicuXG4gKiBAcGFyYW0gZW50aXR5IEVudGl0eVxuICogQHJldHVybnMgRW50aXR5IGljb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVudGl0eUljb24oZW50aXR5OiBvYmplY3QpOiBzdHJpbmcge1xuICBjb25zdCBtZXRhID0gKGVudGl0eSBhcyBhbnkpLm1ldGEgfHwge307XG4gIHJldHVybiBtZXRhLmljb25cbiAgICA/IG1ldGEuaWNvblxuICAgIDogZ2V0RW50aXR5UHJvcGVydHkoZW50aXR5LCBtZXRhLmljb25Qcm9wZXJ0eSB8fCAnaWNvbicpO1xufVxuXG4vKipcbiAqIEdldCBhbiBlbnRpdHkncyByZXZpc2lvbi5cbiAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XG4gKiBAcmV0dXJucyBFbnRpdHkgcmV2aXNpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVudGl0eVJldmlzaW9uKGVudGl0eTogb2JqZWN0KTogbnVtYmVyIHtcbiAgY29uc3QgbWV0YSA9IChlbnRpdHkgYXMgYW55KS5tZXRhIHx8IHt9O1xuICByZXR1cm4gbWV0YS5yZXZpc2lvbiB8fCAwO1xufVxuIl19
@@ -2,10 +2,9 @@ export * from './entity.enums';
2
2
  export * from './entity.interfaces';
3
3
  export * from './entity.utils';
4
4
  export * from './store';
5
- export * from './store-strategy';
6
5
  export * from './state';
7
6
  export * from './watcher';
8
7
  export * from './transaction';
9
8
  export * from './view';
10
9
  export * from './strategies';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxRQUFRLENBQUM7QUFFdkIsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VudGl0eS5lbnVtcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZW50aXR5LmludGVyZmFjZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2VudGl0eS51dGlscyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0b3JlLXN0cmF0ZWd5JztcclxuZXhwb3J0ICogZnJvbSAnLi9zdGF0ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vd2F0Y2hlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL3ZpZXcnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9zdHJhdGVnaWVzJztcclxuIl19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsUUFBUSxDQUFDO0FBRXZCLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbnRpdHkuZW51bXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2VudGl0eS5pbnRlcmZhY2VzJztcclxuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHkudXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0b3JlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zdGF0ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vd2F0Y2hlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL3ZpZXcnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9zdHJhdGVnaWVzJztcclxuIl19
@@ -191,4 +191,4 @@ export class EntityStateManager {
191
191
  this.change$.next();
192
192
  }
193
193
  }
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL3N0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTzdDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQW1CVDtJQWZwQjs7T0FFRztJQUNNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBZ0IsQ0FBQztJQUV6Qzs7T0FFRztJQUNNLE9BQU8sR0FBRyxJQUFJLGFBQWEsQ0FBTyxDQUFDLENBQUMsQ0FBQztJQUU5Qzs7T0FFRztJQUNNLE1BQU0sQ0FBbUI7SUFFbEMsWUFBb0IsVUFBd0MsRUFBRTtRQUExQyxZQUFPLEdBQVAsT0FBTyxDQUFtQztRQUM1RCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUU1RCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDYjtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsR0FBRyxDQUFDLE1BQVM7UUFDWCxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBTSxDQUFDO0lBQzFELENBQUM7SUFFRDs7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QVMsRUFBRSxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDakMsSUFBSSxPQUFPLEtBQUssS0FBSyxPQUFPLElBQUksRUFBRTtnQkFDL0IsY0FBeUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQzthQUNoRDtZQUNELE9BQU8sY0FBYyxDQUFDO1FBQ3hCLENBQUMsRUFDRCxFQUFFLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSyxVQUFVO1FBQ2hCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDaEUsT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7O09BRUc7SUFDSyxJQUFJO1FBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBFbnRpdHlLZXksIEVudGl0eVN0YXRlIH0gZnJvbSAnLi9lbnRpdHkuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IGdldEVudGl0eUlkIH0gZnJvbSAnLi9lbnRpdHkudXRpbHMnO1xyXG5cclxuaW50ZXJmYWNlIEVudGl0eVN0YXRlTWFuYWdlck9wdGlvbnM8RSBleHRlbmRzIG9iamVjdD4ge1xyXG4gIGdldEtleT86IChlbnRpdHk6IG9iamVjdCkgPT4gRW50aXR5S2V5O1xyXG4gIGluZGV4PzogTWFwPEVudGl0eUtleSwgRT47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNsYXNzIGlzIHVzZWQgdG8gdHJhY2sgYSBzdG9yZSdzIGVudGl0aWVzIHN0YXRlXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRW50aXR5U3RhdGVNYW5hZ2VyPFxyXG4gIEUgZXh0ZW5kcyBvYmplY3QsXHJcbiAgUyBleHRlbmRzIEVudGl0eVN0YXRlID0gRW50aXR5U3RhdGVcclxuPiB7XHJcbiAgLyoqXHJcbiAgICogU3RhdGUgaW5kZXhcclxuICAgKi9cclxuICByZWFkb25seSBpbmRleCA9IG5ldyBNYXA8RW50aXR5S2V5LCBTPigpO1xyXG5cclxuICAvKipcclxuICAgKiBDaGFuZ2UgZW1pdHRlclxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGNoYW5nZSQgPSBuZXcgUmVwbGF5U3ViamVjdDx2b2lkPigxKTtcclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kIHRvIGdldCBhbiBlbnRpdHkncyBpZFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGdldEtleTogKEUpID0+IEVudGl0eUtleTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvcHRpb25zOiBFbnRpdHlTdGF0ZU1hbmFnZXJPcHRpb25zPEU+ID0ge30pIHtcclxuICAgIHRoaXMuZ2V0S2V5ID0gb3B0aW9ucy5nZXRLZXkgPyBvcHRpb25zLmdldEtleSA6IGdldEVudGl0eUlkO1xyXG5cclxuICAgIHRoaXMubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgc3RhdGVcclxuICAgKi9cclxuICBjbGVhcigpIHtcclxuICAgIGlmICh0aGlzLmluZGV4LnNpemUgPiAwKSB7XHJcbiAgICAgIHRoaXMuaW5kZXguY2xlYXIoKTtcclxuICAgICAgdGhpcy5uZXh0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgYW4gZW50aXR5J3Mgc3RhdGVcclxuICAgKiBAcGFyYW0gZW50aXR5IEVudGl0eVxyXG4gICAqIEByZXR1cm5zIFN0YXRlXHJcbiAgICovXHJcbiAgZ2V0KGVudGl0eTogRSk6IFMge1xyXG4gICAgcmV0dXJuICh0aGlzLmluZGV4LmdldCh0aGlzLmdldEtleShlbnRpdHkpKSB8fCB7fSkgYXMgUztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBhbiBlbnRpdHkncyBzdGF0ZVxyXG4gICAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XHJcbiAgICogQHBhcmFtIHN0YXRlIFN0YXRlXHJcbiAgICovXHJcbiAgc2V0KGVudGl0eTogRSwgc3RhdGU6IFMpIHtcclxuICAgIHRoaXMuc2V0TWFueShbZW50aXR5XSwgc3RhdGUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IG1hbnkgZW50aXRpZSdzIHN0YXRlXHJcbiAgICogQHBhcmFtIGVudGl0aWUgRW50aXRpZXNcclxuICAgKiBAcGFyYW0gc3RhdGUgU3RhdGVcclxuICAgKi9cclxuICBzZXRNYW55KGVudGl0aWVzOiBFW10sIHN0YXRlOiBTKSB7XHJcbiAgICBlbnRpdGllcy5mb3JFYWNoKChlbnRpdHk6IEUpID0+IHtcclxuICAgICAgdGhpcy5pbmRleC5zZXQodGhpcy5nZXRLZXkoZW50aXR5KSwgT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUpKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgc3RhdGUgb2YgYWxsIGVudGl0aWVzIHRoYXQgYWxyZWFkeSBoYXZlIGEgc3RhdGUuIFRoaXMgaXMgbm90XHJcbiAgICogdGhlIHNhbWUgYXMgc2V0dGluZyB0aGUgc3RhdGUgb2YgYWxsIHRoZSBzdG9yZSdzIGVudGl0aWVzLlxyXG4gICAqIEBwYXJhbSBzdGF0ZSBTdGF0ZVxyXG4gICAqL1xyXG4gIHNldEFsbChzdGF0ZTogUykge1xyXG4gICAgQXJyYXkuZnJvbSh0aGlzLmluZGV4LmtleXMoKSkuZm9yRWFjaCgoa2V5OiBFbnRpdHlLZXkpID0+IHtcclxuICAgICAgdGhpcy5pbmRleC5zZXQoa2V5LCBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSkpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLm5leHQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSBhbiBlbnRpdHkncyBzdGF0ZVxyXG4gICAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XHJcbiAgICogQHBhcmFtIGNoYW5nZXMgU3RhdGUgY2hhbmdlc1xyXG4gICAqL1xyXG4gIHVwZGF0ZShlbnRpdHk6IEUsIGNoYW5nZXM6IFBhcnRpYWw8Uz4sIGV4Y2x1c2l2ZSA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLnVwZGF0ZU1hbnkoW2VudGl0eV0sIGNoYW5nZXMsIGV4Y2x1c2l2ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgbWFueSBlbnRpdGllJ3Mgc3RhdGVcclxuICAgKiBAcGFyYW0gZW50aXRpZSBFbnRpdGllc1xyXG4gICAqIEBwYXJhbSBjaGFuZ2VzIFN0YXRlIGNoYW5nZXNcclxuICAgKi9cclxuICB1cGRhdGVNYW55KGVudGl0aWVzOiBFW10sIGNoYW5nZXM6IFBhcnRpYWw8Uz4sIGV4Y2x1c2l2ZSA9IGZhbHNlKSB7XHJcbiAgICBpZiAoZXhjbHVzaXZlID09PSB0cnVlKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnVwZGF0ZU1hbnlFeGNsdXNpdmUoZW50aXRpZXMsIGNoYW5nZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGVudGl0aWVzLmZvckVhY2goKGVudGl0eTogRSkgPT4ge1xyXG4gICAgICBjb25zdCBzdGF0ZSA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuZ2V0KGVudGl0eSksIGNoYW5nZXMpO1xyXG4gICAgICB0aGlzLmluZGV4LnNldCh0aGlzLmdldEtleShlbnRpdHkpLCBzdGF0ZSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV2ZXJzZWUgYW4gZW50aXR5J3Mgc3RhdGVcclxuICAgKiBAcGFyYW0gZW50aXR5IEVudGl0eVxyXG4gICAqIEBwYXJhbSBrZXlzIFN0YXRlIGtleXMgdG8gcmV2ZXJzZVxyXG4gICAqL1xyXG4gIHJldmVyc2UoZW50aXR5OiBFLCBrZXlzOiBzdHJpbmdbXSkge1xyXG4gICAgdGhpcy5yZXZlcnNlTWFueShbZW50aXR5XSwga2V5cyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXZlcnNlIG1hbnkgZW50aXRpZSdzIHN0YXRlXHJcbiAgICogQHBhcmFtIGVudGl0aWUgRW50aXRpZXNcclxuICAgKiBAcGFyYW0ga2V5cyBTdGF0ZSBrZXlzIHRvIHJldmVyc2VcclxuICAgKi9cclxuICByZXZlcnNlTWFueShlbnRpdGllczogRVtdLCBrZXlzOiBzdHJpbmdbXSkge1xyXG4gICAgZW50aXRpZXMuZm9yRWFjaCgoZW50aXR5OiBFKSA9PiB7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMuZ2V0KGVudGl0eSk7XHJcbiAgICAgIGNvbnN0IGNoYW5nZXMgPSBrZXlzLnJlZHVjZShcclxuICAgICAgICAoYWNjOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSwga2V5OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgIGFjY1trZXldID0gY3VycmVudFN0YXRlW2tleV0gfHwgZmFsc2U7XHJcbiAgICAgICAgICByZXR1cm4gYWNjO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge31cclxuICAgICAgKSBhcyBQYXJ0aWFsPFM+O1xyXG4gICAgICBjb25zdCByZXZlcnNlZENoYW5nZXMgPSB0aGlzLnJldmVyc2VDaGFuZ2VzKGNoYW5nZXMpO1xyXG4gICAgICBjb25zdCBzdGF0ZSA9IE9iamVjdC5hc3NpZ24oe30sIGN1cnJlbnRTdGF0ZSwgcmV2ZXJzZWRDaGFuZ2VzKTtcclxuICAgICAgdGhpcy5pbmRleC5zZXQodGhpcy5nZXRLZXkoZW50aXR5KSwgc3RhdGUpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLm5leHQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSBzdGF0ZSBvZiBhbGwgZW50aXRpZXMgdGhhdCBhbHJlYWR5IGhhdmUgYSBzdGF0ZS4gVGhpcyBpcyBub3RcclxuICAgKiB0aGUgc2FtZSBhcyB1cGRhdGluZyB0aGUgc3RhdGUgb2YgYWxsIHRoZSBzdG9yZSdzIGVudGl0aWVzLlxyXG4gICAqIEBwYXJhbSBjaGFuZ2VzIFN0YXRlXHJcbiAgICovXHJcbiAgdXBkYXRlQWxsKGNoYW5nZXM6IFBhcnRpYWw8Uz4pIHtcclxuICAgIGNvbnN0IGFsbEtleXMgPSB0aGlzLmdldEFsbEtleXMoKTtcclxuICAgIEFycmF5LmZyb20oYWxsS2V5cykuZm9yRWFjaCgoa2V5OiBFbnRpdHlLZXkpID0+IHtcclxuICAgICAgY29uc3Qgc3RhdGUgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmluZGV4LmdldChrZXkpLCBjaGFuZ2VzKTtcclxuICAgICAgdGhpcy5pbmRleC5zZXQoa2V5LCBzdGF0ZSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiBzb21lIHN0YXRlIGNoYW5nZXMgYXJlIGZsYWdnZWQgYXMgJ2V4Y2x1c2l2ZScsIHJldmVyc2VcclxuICAgKiB0aGUgc3RhdGUgb2YgYWxsIG90aGVyIGVudGl0aWVzLiBDaGFuZ2VzIGFyZSByZXZlcnNhYmxlIHdoZW5cclxuICAgKiB0aGV5IGFyZSBib29sZWFuLlxyXG4gICAqIEBwYXJhbSBlbnRpdGllIEVudGl0aWVzXHJcbiAgICogQHBhcmFtIGNoYW5nZXMgU3RhdGUgY2hhbmdlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgdXBkYXRlTWFueUV4Y2x1c2l2ZShlbnRpdGllczogRVtdLCBjaGFuZ2VzOiBQYXJ0aWFsPFM+KSB7XHJcbiAgICBjb25zdCByZXZlcnNlQ2hhbmdlcyA9IHRoaXMucmV2ZXJzZUNoYW5nZXMoY2hhbmdlcyk7XHJcblxyXG4gICAgY29uc3Qga2V5cyA9IGVudGl0aWVzLm1hcCgoZW50aXR5OiBFKSA9PiB0aGlzLmdldEtleShlbnRpdHkpKTtcclxuICAgIGNvbnN0IGFsbEtleXMgPSBuZXcgU2V0KGtleXMuY29uY2F0KEFycmF5LmZyb20odGhpcy5nZXRBbGxLZXlzKCkpKSk7XHJcbiAgICBhbGxLZXlzLmZvckVhY2goKGtleTogRW50aXR5S2V5KSA9PiB7XHJcbiAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5pbmRleC5nZXQoa2V5KSB8fCAoe30gYXMgUyk7XHJcblxyXG4gICAgICBpZiAoa2V5cy5pbmRleE9mKGtleSkgPj0gMCkge1xyXG4gICAgICAgIHRoaXMuaW5kZXguc2V0KGtleSwgT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIGNoYW5nZXMpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBVcGRhdGUgb25seSBpZiB0aGUgcmV2ZXJzZSBjaGFuZ2VzIHdvdWxkIG1vZGlmeVxyXG4gICAgICAgIC8vIGEga2V5IGFscmVhZHkgcHJlc2VudCBpbiB0aGUgY3VycmVudCBzdGF0ZVxyXG4gICAgICAgIGNvbnN0IHNob3VsZFVwZGF0ZSA9IE9iamVjdC5rZXlzKHJldmVyc2VDaGFuZ2VzKS5zb21lKFxyXG4gICAgICAgICAgKGNoYW5nZUtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgc3RhdGVbY2hhbmdlS2V5XSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgICAgICAgICAgc3RhdGVbY2hhbmdlS2V5XSAhPT0gcmV2ZXJzZUNoYW5nZXNbY2hhbmdlS2V5XVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgaWYgKHNob3VsZFVwZGF0ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgdGhpcy5pbmRleC5zZXQoa2V5LCBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwgcmV2ZXJzZUNoYW5nZXMpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29tcHV0ZSBhICdyZXZlcnNlZCcgdmVyc2lvbiBvZiBzb21lIHN0YXRlIGNoYW5nZXMuXHJcbiAgICogQ2hhbmdlcyBhcmUgcmV2ZXJzYWJsZSB3aGVuIHRoZXkgYXJlIGJvb2xlYW4uXHJcbiAgICogQHBhcmFtIGNoYW5nZXMgU3RhdGUgY2hhbmdlc1xyXG4gICAqIEByZXR1cm5zIFJldmVyc2VkIHN0YXRlIGNoYW5nZXNcclxuICAgKi9cclxuICBwcml2YXRlIHJldmVyc2VDaGFuZ2VzKGNoYW5nZXM6IFBhcnRpYWw8Uz4pOiBQYXJ0aWFsPFM+IHtcclxuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhjaGFuZ2VzKS5yZWR1Y2UoXHJcbiAgICAgIChyZXZlcnNlQ2hhbmdlczogUGFydGlhbDxTPiwgYnVuY2g6IFtzdHJpbmcsIGFueV0pID0+IHtcclxuICAgICAgICBjb25zdCBbY2hhbmdlS2V5LCB2YWx1ZV0gPSBidW5jaDtcclxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSB0eXBlb2YgdHJ1ZSkge1xyXG4gICAgICAgICAgKHJldmVyc2VDaGFuZ2VzIGFzIG9iamVjdClbY2hhbmdlS2V5XSA9ICF2YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJldmVyc2VDaGFuZ2VzO1xyXG4gICAgICB9LFxyXG4gICAgICB7fVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybiBhbGwgdGhlIGtleXMgaW4gdGhhdCBzdGF0ZSBhbmQgaW4gdGhlIHN0b3JlIGl0J3MgYm91bmQgdG8sIGlmIGFueS5cclxuICAgKiBAcmV0dXJucyBTZXQgb2Yga2V5c1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0QWxsS2V5cygpOiBTZXQ8RW50aXR5S2V5PiB7XHJcbiAgICBjb25zdCBzdG9yZUtleXMgPSBBcnJheS5mcm9tKHRoaXMub3B0aW9ucz8uaW5kZXg/LmtleXMoKSA/PyBbXSk7XHJcbiAgICByZXR1cm4gbmV3IFNldChBcnJheS5mcm9tKHRoaXMuaW5kZXgua2V5cygpKS5jb25jYXQoc3RvcmVLZXlzKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbWl0ICdjaGFuZ2UnIGV2ZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBuZXh0KCkge1xyXG4gICAgdGhpcy5jaGFuZ2UkLm5leHQoKTtcclxuICB9XHJcbn1cclxuIl19
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL3N0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTzdDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQW1CVDtJQWZwQjs7T0FFRztJQUNNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBZ0IsQ0FBQztJQUV6Qzs7T0FFRztJQUNNLE9BQU8sR0FBRyxJQUFJLGFBQWEsQ0FBTyxDQUFDLENBQUMsQ0FBQztJQUU5Qzs7T0FFRztJQUNNLE1BQU0sQ0FBbUI7SUFFbEMsWUFBb0IsVUFBd0MsRUFBRTtRQUExQyxZQUFPLEdBQVAsT0FBTyxDQUFtQztRQUM1RCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUU1RCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDYjtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsR0FBRyxDQUFDLE1BQVM7UUFDWCxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBTSxDQUFDO0lBQzFELENBQUM7SUFFRDs7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QVMsRUFBRSxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDakMsSUFBSSxPQUFPLEtBQUssS0FBSyxPQUFPLElBQUksRUFBRTtnQkFDL0IsY0FBeUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQzthQUNoRDtZQUNELE9BQU8sY0FBYyxDQUFDO1FBQ3hCLENBQUMsRUFDRCxFQUFFLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSyxVQUFVO1FBQ2hCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDaEUsT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7O09BRUc7SUFDSyxJQUFJO1FBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEVudGl0eUtleSwgRW50aXR5U3RhdGUgfSBmcm9tICcuL2VudGl0eS5pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldEVudGl0eUlkIH0gZnJvbSAnLi9lbnRpdHkudXRpbHMnO1xuXG5pbnRlcmZhY2UgRW50aXR5U3RhdGVNYW5hZ2VyT3B0aW9uczxFIGV4dGVuZHMgb2JqZWN0PiB7XG4gIGdldEtleT86IChlbnRpdHk6IG9iamVjdCkgPT4gRW50aXR5S2V5O1xuICBpbmRleD86IE1hcDxFbnRpdHlLZXksIEU+O1xufVxuXG4vKipcbiAqIFRoaXMgY2xhc3MgaXMgdXNlZCB0byB0cmFjayBhIHN0b3JlJ3MgZW50aXRpZXMgc3RhdGVcbiAqL1xuZXhwb3J0IGNsYXNzIEVudGl0eVN0YXRlTWFuYWdlcjxcbiAgRSBleHRlbmRzIG9iamVjdCxcbiAgUyBleHRlbmRzIEVudGl0eVN0YXRlID0gRW50aXR5U3RhdGVcbj4ge1xuICAvKipcbiAgICogU3RhdGUgaW5kZXhcbiAgICovXG4gIHJlYWRvbmx5IGluZGV4ID0gbmV3IE1hcDxFbnRpdHlLZXksIFM+KCk7XG5cbiAgLyoqXG4gICAqIENoYW5nZSBlbWl0dGVyXG4gICAqL1xuICByZWFkb25seSBjaGFuZ2UkID0gbmV3IFJlcGxheVN1YmplY3Q8dm9pZD4oMSk7XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB0byBnZXQgYW4gZW50aXR5J3MgaWRcbiAgICovXG4gIHJlYWRvbmx5IGdldEtleTogKEUpID0+IEVudGl0eUtleTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG9wdGlvbnM6IEVudGl0eVN0YXRlTWFuYWdlck9wdGlvbnM8RT4gPSB7fSkge1xuICAgIHRoaXMuZ2V0S2V5ID0gb3B0aW9ucy5nZXRLZXkgPyBvcHRpb25zLmdldEtleSA6IGdldEVudGl0eUlkO1xuXG4gICAgdGhpcy5uZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgc3RhdGVcbiAgICovXG4gIGNsZWFyKCkge1xuICAgIGlmICh0aGlzLmluZGV4LnNpemUgPiAwKSB7XG4gICAgICB0aGlzLmluZGV4LmNsZWFyKCk7XG4gICAgICB0aGlzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFuIGVudGl0eSdzIHN0YXRlXG4gICAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XG4gICAqIEByZXR1cm5zIFN0YXRlXG4gICAqL1xuICBnZXQoZW50aXR5OiBFKTogUyB7XG4gICAgcmV0dXJuICh0aGlzLmluZGV4LmdldCh0aGlzLmdldEtleShlbnRpdHkpKSB8fCB7fSkgYXMgUztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgYW4gZW50aXR5J3Mgc3RhdGVcbiAgICogQHBhcmFtIGVudGl0eSBFbnRpdHlcbiAgICogQHBhcmFtIHN0YXRlIFN0YXRlXG4gICAqL1xuICBzZXQoZW50aXR5OiBFLCBzdGF0ZTogUykge1xuICAgIHRoaXMuc2V0TWFueShbZW50aXR5XSwgc3RhdGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBtYW55IGVudGl0aWUncyBzdGF0ZVxuICAgKiBAcGFyYW0gZW50aXRpZSBFbnRpdGllc1xuICAgKiBAcGFyYW0gc3RhdGUgU3RhdGVcbiAgICovXG4gIHNldE1hbnkoZW50aXRpZXM6IEVbXSwgc3RhdGU6IFMpIHtcbiAgICBlbnRpdGllcy5mb3JFYWNoKChlbnRpdHk6IEUpID0+IHtcbiAgICAgIHRoaXMuaW5kZXguc2V0KHRoaXMuZ2V0S2V5KGVudGl0eSksIE9iamVjdC5hc3NpZ24oe30sIHN0YXRlKSk7XG4gICAgfSk7XG4gICAgdGhpcy5uZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHN0YXRlIG9mIGFsbCBlbnRpdGllcyB0aGF0IGFscmVhZHkgaGF2ZSBhIHN0YXRlLiBUaGlzIGlzIG5vdFxuICAgKiB0aGUgc2FtZSBhcyBzZXR0aW5nIHRoZSBzdGF0ZSBvZiBhbGwgdGhlIHN0b3JlJ3MgZW50aXRpZXMuXG4gICAqIEBwYXJhbSBzdGF0ZSBTdGF0ZVxuICAgKi9cbiAgc2V0QWxsKHN0YXRlOiBTKSB7XG4gICAgQXJyYXkuZnJvbSh0aGlzLmluZGV4LmtleXMoKSkuZm9yRWFjaCgoa2V5OiBFbnRpdHlLZXkpID0+IHtcbiAgICAgIHRoaXMuaW5kZXguc2V0KGtleSwgT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUpKTtcbiAgICB9KTtcbiAgICB0aGlzLm5leHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgYW4gZW50aXR5J3Mgc3RhdGVcbiAgICogQHBhcmFtIGVudGl0eSBFbnRpdHlcbiAgICogQHBhcmFtIGNoYW5nZXMgU3RhdGUgY2hhbmdlc1xuICAgKi9cbiAgdXBkYXRlKGVudGl0eTogRSwgY2hhbmdlczogUGFydGlhbDxTPiwgZXhjbHVzaXZlID0gZmFsc2UpIHtcbiAgICB0aGlzLnVwZGF0ZU1hbnkoW2VudGl0eV0sIGNoYW5nZXMsIGV4Y2x1c2l2ZSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIG1hbnkgZW50aXRpZSdzIHN0YXRlXG4gICAqIEBwYXJhbSBlbnRpdGllIEVudGl0aWVzXG4gICAqIEBwYXJhbSBjaGFuZ2VzIFN0YXRlIGNoYW5nZXNcbiAgICovXG4gIHVwZGF0ZU1hbnkoZW50aXRpZXM6IEVbXSwgY2hhbmdlczogUGFydGlhbDxTPiwgZXhjbHVzaXZlID0gZmFsc2UpIHtcbiAgICBpZiAoZXhjbHVzaXZlID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gdGhpcy51cGRhdGVNYW55RXhjbHVzaXZlKGVudGl0aWVzLCBjaGFuZ2VzKTtcbiAgICB9XG5cbiAgICBlbnRpdGllcy5mb3JFYWNoKChlbnRpdHk6IEUpID0+IHtcbiAgICAgIGNvbnN0IHN0YXRlID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5nZXQoZW50aXR5KSwgY2hhbmdlcyk7XG4gICAgICB0aGlzLmluZGV4LnNldCh0aGlzLmdldEtleShlbnRpdHkpLCBzdGF0ZSk7XG4gICAgfSk7XG4gICAgdGhpcy5uZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogUmV2ZXJzZWUgYW4gZW50aXR5J3Mgc3RhdGVcbiAgICogQHBhcmFtIGVudGl0eSBFbnRpdHlcbiAgICogQHBhcmFtIGtleXMgU3RhdGUga2V5cyB0byByZXZlcnNlXG4gICAqL1xuICByZXZlcnNlKGVudGl0eTogRSwga2V5czogc3RyaW5nW10pIHtcbiAgICB0aGlzLnJldmVyc2VNYW55KFtlbnRpdHldLCBrZXlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXZlcnNlIG1hbnkgZW50aXRpZSdzIHN0YXRlXG4gICAqIEBwYXJhbSBlbnRpdGllIEVudGl0aWVzXG4gICAqIEBwYXJhbSBrZXlzIFN0YXRlIGtleXMgdG8gcmV2ZXJzZVxuICAgKi9cbiAgcmV2ZXJzZU1hbnkoZW50aXRpZXM6IEVbXSwga2V5czogc3RyaW5nW10pIHtcbiAgICBlbnRpdGllcy5mb3JFYWNoKChlbnRpdHk6IEUpID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMuZ2V0KGVudGl0eSk7XG4gICAgICBjb25zdCBjaGFuZ2VzID0ga2V5cy5yZWR1Y2UoXG4gICAgICAgIChhY2M6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9LCBrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICAgIGFjY1trZXldID0gY3VycmVudFN0YXRlW2tleV0gfHwgZmFsc2U7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSxcbiAgICAgICAge31cbiAgICAgICkgYXMgUGFydGlhbDxTPjtcbiAgICAgIGNvbnN0IHJldmVyc2VkQ2hhbmdlcyA9IHRoaXMucmV2ZXJzZUNoYW5nZXMoY2hhbmdlcyk7XG4gICAgICBjb25zdCBzdGF0ZSA9IE9iamVjdC5hc3NpZ24oe30sIGN1cnJlbnRTdGF0ZSwgcmV2ZXJzZWRDaGFuZ2VzKTtcbiAgICAgIHRoaXMuaW5kZXguc2V0KHRoaXMuZ2V0S2V5KGVudGl0eSksIHN0YXRlKTtcbiAgICB9KTtcbiAgICB0aGlzLm5leHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgc3RhdGUgb2YgYWxsIGVudGl0aWVzIHRoYXQgYWxyZWFkeSBoYXZlIGEgc3RhdGUuIFRoaXMgaXMgbm90XG4gICAqIHRoZSBzYW1lIGFzIHVwZGF0aW5nIHRoZSBzdGF0ZSBvZiBhbGwgdGhlIHN0b3JlJ3MgZW50aXRpZXMuXG4gICAqIEBwYXJhbSBjaGFuZ2VzIFN0YXRlXG4gICAqL1xuICB1cGRhdGVBbGwoY2hhbmdlczogUGFydGlhbDxTPikge1xuICAgIGNvbnN0IGFsbEtleXMgPSB0aGlzLmdldEFsbEtleXMoKTtcbiAgICBBcnJheS5mcm9tKGFsbEtleXMpLmZvckVhY2goKGtleTogRW50aXR5S2V5KSA9PiB7XG4gICAgICBjb25zdCBzdGF0ZSA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuaW5kZXguZ2V0KGtleSksIGNoYW5nZXMpO1xuICAgICAgdGhpcy5pbmRleC5zZXQoa2V5LCBzdGF0ZSk7XG4gICAgfSk7XG4gICAgdGhpcy5uZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiBzb21lIHN0YXRlIGNoYW5nZXMgYXJlIGZsYWdnZWQgYXMgJ2V4Y2x1c2l2ZScsIHJldmVyc2VcbiAgICogdGhlIHN0YXRlIG9mIGFsbCBvdGhlciBlbnRpdGllcy4gQ2hhbmdlcyBhcmUgcmV2ZXJzYWJsZSB3aGVuXG4gICAqIHRoZXkgYXJlIGJvb2xlYW4uXG4gICAqIEBwYXJhbSBlbnRpdGllIEVudGl0aWVzXG4gICAqIEBwYXJhbSBjaGFuZ2VzIFN0YXRlIGNoYW5nZXNcbiAgICovXG4gIHByaXZhdGUgdXBkYXRlTWFueUV4Y2x1c2l2ZShlbnRpdGllczogRVtdLCBjaGFuZ2VzOiBQYXJ0aWFsPFM+KSB7XG4gICAgY29uc3QgcmV2ZXJzZUNoYW5nZXMgPSB0aGlzLnJldmVyc2VDaGFuZ2VzKGNoYW5nZXMpO1xuXG4gICAgY29uc3Qga2V5cyA9IGVudGl0aWVzLm1hcCgoZW50aXR5OiBFKSA9PiB0aGlzLmdldEtleShlbnRpdHkpKTtcbiAgICBjb25zdCBhbGxLZXlzID0gbmV3IFNldChrZXlzLmNvbmNhdChBcnJheS5mcm9tKHRoaXMuZ2V0QWxsS2V5cygpKSkpO1xuICAgIGFsbEtleXMuZm9yRWFjaCgoa2V5OiBFbnRpdHlLZXkpID0+IHtcbiAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5pbmRleC5nZXQoa2V5KSB8fCAoe30gYXMgUyk7XG5cbiAgICAgIGlmIChrZXlzLmluZGV4T2Yoa2V5KSA+PSAwKSB7XG4gICAgICAgIHRoaXMuaW5kZXguc2V0KGtleSwgT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIGNoYW5nZXMpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFVwZGF0ZSBvbmx5IGlmIHRoZSByZXZlcnNlIGNoYW5nZXMgd291bGQgbW9kaWZ5XG4gICAgICAgIC8vIGEga2V5IGFscmVhZHkgcHJlc2VudCBpbiB0aGUgY3VycmVudCBzdGF0ZVxuICAgICAgICBjb25zdCBzaG91bGRVcGRhdGUgPSBPYmplY3Qua2V5cyhyZXZlcnNlQ2hhbmdlcykuc29tZShcbiAgICAgICAgICAoY2hhbmdlS2V5OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIHN0YXRlW2NoYW5nZUtleV0gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICBzdGF0ZVtjaGFuZ2VLZXldICE9PSByZXZlcnNlQ2hhbmdlc1tjaGFuZ2VLZXldXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHNob3VsZFVwZGF0ZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgIHRoaXMuaW5kZXguc2V0KGtleSwgT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIHJldmVyc2VDaGFuZ2VzKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMubmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGUgYSAncmV2ZXJzZWQnIHZlcnNpb24gb2Ygc29tZSBzdGF0ZSBjaGFuZ2VzLlxuICAgKiBDaGFuZ2VzIGFyZSByZXZlcnNhYmxlIHdoZW4gdGhleSBhcmUgYm9vbGVhbi5cbiAgICogQHBhcmFtIGNoYW5nZXMgU3RhdGUgY2hhbmdlc1xuICAgKiBAcmV0dXJucyBSZXZlcnNlZCBzdGF0ZSBjaGFuZ2VzXG4gICAqL1xuICBwcml2YXRlIHJldmVyc2VDaGFuZ2VzKGNoYW5nZXM6IFBhcnRpYWw8Uz4pOiBQYXJ0aWFsPFM+IHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoY2hhbmdlcykucmVkdWNlKFxuICAgICAgKHJldmVyc2VDaGFuZ2VzOiBQYXJ0aWFsPFM+LCBidW5jaDogW3N0cmluZywgYW55XSkgPT4ge1xuICAgICAgICBjb25zdCBbY2hhbmdlS2V5LCB2YWx1ZV0gPSBidW5jaDtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gdHlwZW9mIHRydWUpIHtcbiAgICAgICAgICAocmV2ZXJzZUNoYW5nZXMgYXMgb2JqZWN0KVtjaGFuZ2VLZXldID0gIXZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXZlcnNlQ2hhbmdlcztcbiAgICAgIH0sXG4gICAgICB7fVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFsbCB0aGUga2V5cyBpbiB0aGF0IHN0YXRlIGFuZCBpbiB0aGUgc3RvcmUgaXQncyBib3VuZCB0bywgaWYgYW55LlxuICAgKiBAcmV0dXJucyBTZXQgb2Yga2V5c1xuICAgKi9cbiAgcHJpdmF0ZSBnZXRBbGxLZXlzKCk6IFNldDxFbnRpdHlLZXk+IHtcbiAgICBjb25zdCBzdG9yZUtleXMgPSBBcnJheS5mcm9tKHRoaXMub3B0aW9ucz8uaW5kZXg/LmtleXMoKSA/PyBbXSk7XG4gICAgcmV0dXJuIG5ldyBTZXQoQXJyYXkuZnJvbSh0aGlzLmluZGV4LmtleXMoKSkuY29uY2F0KHN0b3JlS2V5cykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXQgJ2NoYW5nZScgZXZlbnRcbiAgICovXG4gIHByaXZhdGUgbmV4dCgpIHtcbiAgICB0aGlzLmNoYW5nZSQubmV4dCgpO1xuICB9XG59XG4iXX0=
@@ -60,6 +60,10 @@ export class EntityStore {
60
60
  return this._pristine;
61
61
  }
62
62
  _pristine = true;
63
+ /**
64
+ * Strategies
65
+ */
66
+ strategies = [];
63
67
  constructor(entities, options = {}) {
64
68
  this.getKey = options.getKey ? options.getKey : getEntityId;
65
69
  this.getProperty = options.getProperty
@@ -162,6 +166,68 @@ export class EntityStore {
162
166
  this._pristine = false;
163
167
  this.next();
164
168
  }
169
+ /**
170
+ * Add a strategy to this store
171
+ * @param strategy Entity store strategy
172
+ * @returns Entity store
173
+ */
174
+ addStrategy(strategy, activate = false) {
175
+ const existingStrategy = this.strategies.find((_strategy) => {
176
+ return strategy.constructor === _strategy.constructor;
177
+ });
178
+ if (existingStrategy !== undefined) {
179
+ throw new Error('A strategy of this type already exists on that EntityStore.');
180
+ }
181
+ this.strategies.push(strategy);
182
+ strategy.bindStore(this);
183
+ if (activate === true) {
184
+ strategy.activate();
185
+ }
186
+ return this;
187
+ }
188
+ /**
189
+ * Remove a strategy from this store
190
+ * @param strategy Entity store strategy
191
+ * @returns Entity store
192
+ */
193
+ removeStrategy(strategy) {
194
+ const index = this.strategies.indexOf(strategy);
195
+ if (index >= 0) {
196
+ this.strategies.splice(index, 1);
197
+ strategy.unbindStore(this);
198
+ }
199
+ return this;
200
+ }
201
+ /**
202
+ * Return strategies of a given type
203
+ * @param type Entity store strategy class
204
+ * @returns Strategies
205
+ */
206
+ getStrategyOfType(type) {
207
+ return this.strategies.find((strategy) => {
208
+ return strategy instanceof type;
209
+ });
210
+ }
211
+ /**
212
+ * Activate strategies of a given type
213
+ * @param type Entity store strategy class
214
+ */
215
+ activateStrategyOfType(type) {
216
+ const strategy = this.getStrategyOfType(type);
217
+ if (strategy !== undefined) {
218
+ strategy.activate();
219
+ }
220
+ }
221
+ /**
222
+ * Deactivate strategies of a given type
223
+ * @param type Entity store strategy class
224
+ */
225
+ deactivateStrategyOfType(type) {
226
+ const strategy = this.getStrategyOfType(type);
227
+ if (strategy !== undefined) {
228
+ strategy.deactivate();
229
+ }
230
+ }
165
231
  /**
166
232
  * Delete an entity from the store
167
233
  * @param entity Entity
@@ -253,4 +319,4 @@ export class EntityStore {
253
319
  return currentStateIsEmpty && newStateIsEmpty;
254
320
  }
255
321
  }
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBT3BDOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sV0FBVztJQUl0Qjs7T0FFRztJQUNNLFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztJQUVsRDs7T0FFRztJQUNNLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztJQUNqRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNNLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztJQUNyRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNNLEtBQUssQ0FBMkI7SUFFekM7O09BRUc7SUFDTSxJQUFJLENBQWdCO0lBRTdCOztPQUVHO0lBQ00sU0FBUyxDQUFvQztJQUV0RDs7T0FFRztJQUNNLE1BQU0sQ0FBbUI7SUFFbEM7O09BRUc7SUFDTSxXQUFXLENBQTJCO0lBRS9DOztPQUVHO0lBQ0gsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDTyxNQUFNLENBQW9CO0lBRWxDOztPQUVH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TUFBTSxLQUFLLENBQUMsQ0FBQztRQUNuRSxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7UUFDM0QsT0FBTyxtQkFBbUIsSUFBSSxlQUFlLENBQUM7SUFDaEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBFbnRpdHlLZXksIEVudGl0eVJlY29yZCwgRW50aXR5U3RhdGUgfSBmcm9tICcuL2VudGl0eS5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgZ2V0RW50aXR5SWQsIGdldEVudGl0eVByb3BlcnR5IH0gZnJvbSAnLi9lbnRpdHkudXRpbHMnO1xyXG5pbXBvcnQgeyBFbnRpdHlTdGF0ZU1hbmFnZXIgfSBmcm9tICcuL3N0YXRlJztcclxuaW1wb3J0IHsgRW50aXR5VmlldyB9IGZyb20gJy4vdmlldyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVN0b3JlT3B0aW9ucyB7XHJcbiAgZ2V0S2V5PzogKGVudGl0eTogb2JqZWN0KSA9PiBFbnRpdHlLZXk7XHJcbiAgZ2V0UHJvcGVydHk/OiAoZW50aXR5OiBvYmplY3QsIHByb3BlcnR5OiBzdHJpbmcpID0+IGFueTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFuIGVudGl0eSBzdG9yZSBjbGFzcyBob2xkcyBhbnkgbnVtYmVyIG9mIGVudGl0aWVzXHJcbiAqIGFzIHdlbGwgYXMgdGhlaXIgc3RhdGUuIEl0IGNhbiBiZSBvYnNlcnZlZCwgZmlsdGVyZWQgYW5kIHNvcnRlZCBhbmRcclxuICogcHJvdmlkZXMgbWV0aG9kcyB0byBpbnNlcnQsIHVwZGF0ZSBvciBkZWxldGUgZW50aXRpZXMuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRW50aXR5U3RvcmU8XHJcbiAgRSBleHRlbmRzIG9iamVjdCA9IG9iamVjdCxcclxuICBTIGV4dGVuZHMgRW50aXR5U3RhdGUgPSBFbnRpdHlTdGF0ZVxyXG4+IHtcclxuICAvKipcclxuICAgKiBPYnNlcnZhYmxlIG9mIHRoZSByYXcgZW50aXRpZXNcclxuICAgKi9cclxuICByZWFkb25seSBlbnRpdGllcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEVbXT4oW10pO1xyXG5cclxuICAvKipcclxuICAgKiBOdW1iZXIgb2YgZW50aXRpZXNcclxuICAgKi9cclxuICByZWFkb25seSBjb3VudCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XHJcbiAgZ2V0IGNvdW50KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5jb3VudCQudmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoZSBzdG9yZSBpcyBlbXB0eVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGVtcHR5JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XHJcbiAgZ2V0IGVtcHR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZW1wdHkkLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW50aXR5IHN0b3JlIHN0YXRlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc3RhdGU6IEVudGl0eVN0YXRlTWFuYWdlcjxFLCBTPjtcclxuXHJcbiAgLyoqXHJcbiAgICogVmlldyBvZiBhbGwgdGhlIGVudGl0aWVzXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgdmlldzogRW50aXR5VmlldzxFPjtcclxuXHJcbiAgLyoqXHJcbiAgICogVmlldyBvZiBhbGwgdGhlIGVudGl0aWVzIGFuZCB0aGVpciBzdGF0ZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHN0YXRlVmlldzogRW50aXR5VmlldzxFLCBFbnRpdHlSZWNvcmQ8RSwgUz4+O1xyXG5cclxuICAvKipcclxuICAgKiBNZXRob2QgdG8gZ2V0IGFuIGVudGl0eSdzIGlkXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZ2V0S2V5OiAoRSkgPT4gRW50aXR5S2V5O1xyXG5cclxuICAvKipcclxuICAgKiBNZXRob2QgdG8gZ2V0IGFuIGVudGl0eSdzIG5hbWVkIHByb3BlcnR5XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZ2V0UHJvcGVydHk6IChFLCBwcm9wOiBzdHJpbmcpID0+IGFueTtcclxuXHJcbiAgLyoqXHJcbiAgICogU3RvcmUgaW5kZXhcclxuICAgKi9cclxuICBnZXQgaW5kZXgoKTogTWFwPEVudGl0eUtleSwgRT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2luZGV4O1xyXG4gIH1cclxuICBwcml2YXRlIF9pbmRleDogTWFwPEVudGl0eUtleSwgRT47XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3JlIGluZGV4XHJcbiAgICovXHJcbiAgZ2V0IHByaXN0aW5lKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ByaXN0aW5lO1xyXG4gIH1cclxuICBwcml2YXRlIF9wcmlzdGluZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGVudGl0aWVzOiBFW10sIG9wdGlvbnM6IEVudGl0eVN0b3JlT3B0aW9ucyA9IHt9KSB7XHJcbiAgICB0aGlzLmdldEtleSA9IG9wdGlvbnMuZ2V0S2V5ID8gb3B0aW9ucy5nZXRLZXkgOiBnZXRFbnRpdHlJZDtcclxuICAgIHRoaXMuZ2V0UHJvcGVydHkgPSBvcHRpb25zLmdldFByb3BlcnR5XHJcbiAgICAgID8gb3B0aW9ucy5nZXRQcm9wZXJ0eVxyXG4gICAgICA6IGdldEVudGl0eVByb3BlcnR5O1xyXG5cclxuICAgIHRoaXMuc3RhdGUgPSB0aGlzLmNyZWF0ZVN0YXRlTWFuYWdlcigpO1xyXG4gICAgdGhpcy52aWV3ID0gdGhpcy5jcmVhdGVEYXRhVmlldygpO1xyXG4gICAgdGhpcy5zdGF0ZVZpZXcgPSB0aGlzLmNyZWF0ZVN0YXRlVmlldygpO1xyXG5cclxuICAgIHRoaXMudmlldy5saWZ0KCk7XHJcbiAgICB0aGlzLnN0YXRlVmlldy5saWZ0KCk7XHJcblxyXG4gICAgaWYgKGVudGl0aWVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5sb2FkKGVudGl0aWVzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2luZGV4ID0gdGhpcy5nZW5lcmF0ZUluZGV4KGVudGl0aWVzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBhbiBlbnRpdHkgZnJvbSB0aGUgc3RvcmUgYnkga2V5XHJcbiAgICogQHBhcmFtIGtleSBLZXlcclxuICAgKiBAcmV0dXJucyBFbnRpdHlcclxuICAgKi9cclxuICBnZXQoa2V5OiBFbnRpdHlLZXkpOiBFIHtcclxuICAgIHJldHVybiB0aGlzLmluZGV4LmdldChrZXkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGFsbCBlbnRpdGllcyBpbiB0aGUgc3RvcmVcclxuICAgKiBAcmV0dXJucyBBcnJheSBvZiBlbnRpdGllc1xyXG4gICAqL1xyXG4gIGFsbCgpOiBFW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZW50aXRpZXMkLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRoaXMgc3RvcmUncyBlbnRpdGllc1xyXG4gICAqIEBwYXJhbSBlbnRpdGllcyBFbnRpdGllc1xyXG4gICAqL1xyXG4gIGxvYWQoZW50aXRpZXM6IEVbXSwgcHJpc3RpbmU6IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICB0aGlzLl9pbmRleCA9IHRoaXMuZ2VuZXJhdGVJbmRleChlbnRpdGllcyk7XHJcbiAgICB0aGlzLl9wcmlzdGluZSA9IHByaXN0aW5lO1xyXG4gICAgdGhpcy5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhciB0aGUgc3RvcmUncyBlbnRpdGllcyBidXQga2VlcCB0aGUgc3RhdGUgYW5kIHZpZXdzIGludGFjdC5cclxuICAgKiBWaWV3cyB3b24ndCByZXR1cm4gYW55IGRhdGEgYnV0IGZ1dHVyZSBkYXRhIHdpbGwgYmUgc3ViamVjdCB0byB0aGVcclxuICAgKiBjdXJyZW50IHZpZXdzIGZpbHRlciBhbmQgc29ydFxyXG4gICAqL1xyXG4gIHNvZnRDbGVhcigpIHtcclxuICAgIGlmICh0aGlzLmluZGV4ICYmIHRoaXMuaW5kZXguc2l6ZSA+IDApIHtcclxuICAgICAgdGhpcy5pbmRleC5jbGVhcigpO1xyXG4gICAgICB0aGlzLl9wcmlzdGluZSA9IHRydWU7XHJcbiAgICAgIHRoaXMubmV4dCgpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmluZGV4KSB7XHJcbiAgICAgIHRoaXMudXBkYXRlQ291bnQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFyIHRoZSBzdG9yZSdzIGVudGl0aWVzLCBzdGF0ZSBhbmQgdmlld3NcclxuICAgKi9cclxuICBjbGVhcigpIHtcclxuICAgIHRoaXMuc3RhdGVWaWV3LmNsZWFyKCk7XHJcbiAgICB0aGlzLnZpZXcuY2xlYXIoKTtcclxuICAgIHRoaXMuc3RhdGUuY2xlYXIoKTtcclxuICAgIHRoaXMuc29mdENsZWFyKCk7XHJcbiAgfVxyXG5cclxuICBkZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdGF0ZVZpZXcuZGVzdHJveSgpO1xyXG4gICAgdGhpcy52aWV3LmRlc3Ryb3koKTtcclxuICAgIHRoaXMuY2xlYXIoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluc2VydCBhbiBlbnRpdHkgaW50byB0aGUgc3RvcmVcclxuICAgKiBAcGFyYW0gZW50aXR5IEVudGl0eVxyXG4gICAqL1xyXG4gIGluc2VydChlbnRpdHk6IEUpIHtcclxuICAgIHRoaXMuaW5zZXJ0TWFueShbZW50aXR5XSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnNlcnQgbWFueSBlbnRpdGllcyBpbnRvIHRoZSBzdG9yZVxyXG4gICAqIEBwYXJhbSBlbnRpdGllcyBFbnRpdGllc1xyXG4gICAqL1xyXG4gIGluc2VydE1hbnkoZW50aXRpZXM6IEVbXSkge1xyXG4gICAgZW50aXRpZXMuZm9yRWFjaCgoZW50aXR5OiBFKSA9PlxyXG4gICAgICB0aGlzLmluZGV4LnNldCh0aGlzLmdldEtleShlbnRpdHkpLCBlbnRpdHkpXHJcbiAgICApO1xyXG4gICAgdGhpcy5fcHJpc3RpbmUgPSBmYWxzZTtcclxuICAgIHRoaXMubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIG9yIGluc2VydCBhbiBlbnRpdHkgaW50byB0aGUgc3RvcmVcclxuICAgKiBAcGFyYW0gZW50aXR5IEVudGl0eVxyXG4gICAqL1xyXG4gIHVwZGF0ZShlbnRpdHk6IEUpIHtcclxuICAgIHRoaXMudXBkYXRlTWFueShbZW50aXR5XSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgb3IgaW5zZXJ0IG1hbnkgZW50aXRpZXMgaW50byB0aGUgc3RvcmVcclxuICAgKiBAcGFyYW0gZW50aXRpZXMgRW50aXRpZXNcclxuICAgKi9cclxuICB1cGRhdGVNYW55KGVudGl0aWVzOiBFW10pIHtcclxuICAgIGVudGl0aWVzLmZvckVhY2goKGVudGl0eTogRSkgPT5cclxuICAgICAgdGhpcy5pbmRleC5zZXQodGhpcy5nZXRLZXkoZW50aXR5KSwgZW50aXR5KVxyXG4gICAgKTtcclxuICAgIHRoaXMuX3ByaXN0aW5lID0gZmFsc2U7XHJcbiAgICB0aGlzLm5leHQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZSBhbiBlbnRpdHkgZnJvbSB0aGUgc3RvcmVcclxuICAgKiBAcGFyYW0gZW50aXR5IEVudGl0eVxyXG4gICAqL1xyXG4gIGRlbGV0ZShlbnRpdHk6IEUpIHtcclxuICAgIHRoaXMuZGVsZXRlTWFueShbZW50aXR5XSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWxldGUgbWFueSBlbnRpdGllcyBmcm9tIHRoZSBzdG9yZVxyXG4gICAqIEBwYXJhbSBlbnRpdGllcyBFbnRpdGllc1xyXG4gICAqL1xyXG4gIGRlbGV0ZU1hbnkoZW50aXRpZXM6IEVbXSkge1xyXG4gICAgZW50aXRpZXMuZm9yRWFjaCgoZW50aXR5OiBFKSA9PiB0aGlzLmluZGV4LmRlbGV0ZSh0aGlzLmdldEtleShlbnRpdHkpKSk7XHJcbiAgICB0aGlzLl9wcmlzdGluZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZW5lcmF0ZSBhIGNvbXBsZXRlIGluZGV4IG9mIGFsbCB0aGUgZW50aXRpZXNcclxuICAgKiBAcGFyYW0gZW50aXRpZXMgRW50aXRpZXNcclxuICAgKiBAcmV0dXJucyBJbmRleFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2VuZXJhdGVJbmRleChlbnRpdGllczogRVtdKTogTWFwPEVudGl0eUtleSwgRT4ge1xyXG4gICAgY29uc3QgZW50cmllcyA9IGVudGl0aWVzLm1hcCgoZW50aXR5OiBFKSA9PiBbdGhpcy5nZXRLZXkoZW50aXR5KSwgZW50aXR5XSk7XHJcbiAgICByZXR1cm4gbmV3IE1hcChlbnRyaWVzIGFzIFtFbnRpdHlLZXksIEVdW10pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHVzaCB0aGUgaW5kZXgncyBlbnRpdGllcyBpbnRvIHRoZSBlbnRpdGllcyQgb2JzZXJ2YWJsZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgbmV4dCgpIHtcclxuICAgIHRoaXMuZW50aXRpZXMkLm5leHQoQXJyYXkuZnJvbSh0aGlzLmluZGV4LnZhbHVlcygpKSk7XHJcbiAgICB0aGlzLnVwZGF0ZUNvdW50KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgdGhlIHN0b3JlJ3MgY291bnQgYW5kIGVtcHR5XHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1cGRhdGVDb3VudCgpIHtcclxuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5pbmRleC5zaXplO1xyXG4gICAgY29uc3QgZW1wdHkgPSBjb3VudCA9PT0gMDtcclxuICAgIHRoaXMuY291bnQkLm5leHQoY291bnQpO1xyXG4gICAgdGhpcy5lbXB0eSQubmV4dChlbXB0eSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgdGhlIGVudGl0eSBzdGF0ZSBtYW5hZ2VyXHJcbiAgICogQHJldHVybnMgRW50aXR5U3RhdGVNYW5hZ2VyXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVTdGF0ZU1hbmFnZXIoKSB7XHJcbiAgICByZXR1cm4gbmV3IEVudGl0eVN0YXRlTWFuYWdlcjxFLCBTPih7XHJcbiAgICAgIGdldEtleTogdGhpcy5nZXRLZXksXHJcbiAgICAgIGluZGV4OiB0aGlzLmluZGV4XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSB0aGUgZGF0YSB2aWV3XHJcbiAgICogQHJldHVybnMgRW50aXR5VmlldzxFPlxyXG4gICAqL1xyXG4gIHByaXZhdGUgY3JlYXRlRGF0YVZpZXcoKSB7XHJcbiAgICByZXR1cm4gbmV3IEVudGl0eVZpZXc8RT4odGhpcy5lbnRpdGllcyQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIHRoZSBzdGF0ZSB2aWV3XHJcbiAgICogQHJldHVybnMgRW50aXR5VmlldzxFbnRpdHlSZWNvcmQ8RT4+XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVTdGF0ZVZpZXcoKSB7XHJcbiAgICByZXR1cm4gbmV3IEVudGl0eVZpZXc8RSwgRW50aXR5UmVjb3JkPEUsIFM+Pih0aGlzLnZpZXcuYWxsJCgpKVxyXG4gICAgICAuam9pbih7XHJcbiAgICAgICAgc291cmNlOiB0aGlzLnN0YXRlLmNoYW5nZSQsXHJcbiAgICAgICAgcmVkdWNlOiAoZW50aXR5OiBFKTogRW50aXR5UmVjb3JkPEUsIFM+ID0+IHtcclxuICAgICAgICAgIGNvbnN0IGtleSA9IHRoaXMuZ2V0S2V5KGVudGl0eSk7XHJcbiAgICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGUuZ2V0KGVudGl0eSk7XHJcbiAgICAgICAgICBjb25zdCBjdXJyZW50UmVjb3JkID0gdGhpcy5zdGF0ZVZpZXcuZ2V0KGtleSk7XHJcblxyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICBjdXJyZW50UmVjb3JkICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgICAgICAgY3VycmVudFJlY29yZC5lbnRpdHkgPT09IGVudGl0eSAmJlxyXG4gICAgICAgICAgICB0aGlzLnN0YXRlc0FyZVRoZVNhbWUoY3VycmVudFJlY29yZC5zdGF0ZSwgc3RhdGUpXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRSZWNvcmQ7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgY29uc3QgcmV2aXNpb24gPSBjdXJyZW50UmVjb3JkID8gY3VycmVudFJlY29yZC5yZXZpc2lvbiArIDEgOiAxO1xyXG4gICAgICAgICAgY29uc3QgcmVmID0gYCR7a2V5fS0ke3JldmlzaW9ufWA7XHJcbiAgICAgICAgICByZXR1cm4geyBlbnRpdHksIHN0YXRlLCByZXZpc2lvbiwgcmVmIH07XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgICAuY3JlYXRlSW5kZXgoKHJlY29yZDogRW50aXR5UmVjb3JkPEUsIFM+KSA9PiB0aGlzLmdldEtleShyZWNvcmQuZW50aXR5KSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRlc0FyZVRoZVNhbWUoY3VycmVudFN0YXRlOiBTLCBuZXdTdGF0ZTogUyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGN1cnJlbnRTdGF0ZSA9PT0gbmV3U3RhdGUpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY3VycmVudFN0YXRlSXNFbXB0eSA9IE9iamVjdC5rZXlzKGN1cnJlbnRTdGF0ZSkubGVuZ3RoID09PSAwO1xyXG4gICAgY29uc3QgbmV3U3RhdGVJc0VtcHR5ID0gT2JqZWN0LmtleXMobmV3U3RhdGUpLmxlbmd0aCA9PT0gMDtcclxuICAgIHJldHVybiBjdXJyZW50U3RhdGVJc0VtcHR5ICYmIG5ld1N0YXRlSXNFbXB0eTtcclxuICB9XHJcbn1cclxuIl19
322
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUU3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBT3BDOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sV0FBVztJQUl0Qjs7T0FFRztJQUNNLFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztJQUVsRDs7T0FFRztJQUNNLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztJQUNqRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNNLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztJQUNyRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNNLEtBQUssQ0FBMkI7SUFFekM7O09BRUc7SUFDTSxJQUFJLENBQWdCO0lBRTdCOztPQUVHO0lBQ00sU0FBUyxDQUFvQztJQUV0RDs7T0FFRztJQUNNLE1BQU0sQ0FBbUI7SUFFbEM7O09BRUc7SUFDTSxXQUFXLENBQTJCO0lBRS9DOztPQUVHO0lBQ0gsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDTyxNQUFNLENBQW9CO0lBRWxDOztPQUVH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TUFBTSxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ2pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUMxQyxDQUFDO1NBQ0YsQ0FBQzthQUNELFdBQVcsQ0FBQyxDQUFDLE1BQTBCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVPLGdCQUFnQixDQUFDLFlBQWUsRUFBRSxRQUFXO1FBQ25ELElBQUksWUFBWSxLQUFLLFFBQVEsRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7UUFDbkUsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1FBQzNELE9BQU8sbUJBQW1CLElBQUksZUFBZSxDQUFDO0lBQ2hELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5S2V5LCBFbnRpdHlSZWNvcmQsIEVudGl0eVN0YXRlIH0gZnJvbSAnLi9lbnRpdHkuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IGdldEVudGl0eUlkLCBnZXRFbnRpdHlQcm9wZXJ0eSB9IGZyb20gJy4vZW50aXR5LnV0aWxzJztcclxuaW1wb3J0IHsgRW50aXR5U3RhdGVNYW5hZ2VyIH0gZnJvbSAnLi9zdGF0ZSc7XHJcbmltcG9ydCB0eXBlIHsgRW50aXR5U3RvcmVTdHJhdGVneSB9IGZyb20gJy4vc3RyYXRlZ2llcy9zdHJhdGVneSc7XHJcbmltcG9ydCB7IEVudGl0eVZpZXcgfSBmcm9tICcuL3ZpZXcnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlTdG9yZU9wdGlvbnMge1xyXG4gIGdldEtleT86IChlbnRpdHk6IG9iamVjdCkgPT4gRW50aXR5S2V5O1xyXG4gIGdldFByb3BlcnR5PzogKGVudGl0eTogb2JqZWN0LCBwcm9wZXJ0eTogc3RyaW5nKSA9PiBhbnk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBbiBlbnRpdHkgc3RvcmUgY2xhc3MgaG9sZHMgYW55IG51bWJlciBvZiBlbnRpdGllc1xyXG4gKiBhcyB3ZWxsIGFzIHRoZWlyIHN0YXRlLiBJdCBjYW4gYmUgb2JzZXJ2ZWQsIGZpbHRlcmVkIGFuZCBzb3J0ZWQgYW5kXHJcbiAqIHByb3ZpZGVzIG1ldGhvZHMgdG8gaW5zZXJ0LCB1cGRhdGUgb3IgZGVsZXRlIGVudGl0aWVzLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEVudGl0eVN0b3JlPFxyXG4gIEUgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3QsXHJcbiAgUyBleHRlbmRzIEVudGl0eVN0YXRlID0gRW50aXR5U3RhdGVcclxuPiB7XHJcbiAgLyoqXHJcbiAgICogT2JzZXJ2YWJsZSBvZiB0aGUgcmF3IGVudGl0aWVzXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZW50aXRpZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxFW10+KFtdKTtcclxuXHJcbiAgLyoqXHJcbiAgICogTnVtYmVyIG9mIGVudGl0aWVzXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgY291bnQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xyXG4gIGdldCBjb3VudCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuY291bnQkLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgc3RvcmUgaXMgZW1wdHlcclxuICAgKi9cclxuICByZWFkb25seSBlbXB0eSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xyXG4gIGdldCBlbXB0eSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmVtcHR5JC52YWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVudGl0eSBzdG9yZSBzdGF0ZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHN0YXRlOiBFbnRpdHlTdGF0ZU1hbmFnZXI8RSwgUz47XHJcblxyXG4gIC8qKlxyXG4gICAqIFZpZXcgb2YgYWxsIHRoZSBlbnRpdGllc1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHZpZXc6IEVudGl0eVZpZXc8RT47XHJcblxyXG4gIC8qKlxyXG4gICAqIFZpZXcgb2YgYWxsIHRoZSBlbnRpdGllcyBhbmQgdGhlaXIgc3RhdGVcclxuICAgKi9cclxuICByZWFkb25seSBzdGF0ZVZpZXc6IEVudGl0eVZpZXc8RSwgRW50aXR5UmVjb3JkPEUsIFM+PjtcclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kIHRvIGdldCBhbiBlbnRpdHkncyBpZFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGdldEtleTogKEUpID0+IEVudGl0eUtleTtcclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kIHRvIGdldCBhbiBlbnRpdHkncyBuYW1lZCBwcm9wZXJ0eVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGdldFByb3BlcnR5OiAoRSwgcHJvcDogc3RyaW5nKSA9PiBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3JlIGluZGV4XHJcbiAgICovXHJcbiAgZ2V0IGluZGV4KCk6IE1hcDxFbnRpdHlLZXksIEU+IHtcclxuICAgIHJldHVybiB0aGlzLl9pbmRleDtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaW5kZXg6IE1hcDxFbnRpdHlLZXksIEU+O1xyXG5cclxuICAvKipcclxuICAgKiBTdG9yZSBpbmRleFxyXG4gICAqL1xyXG4gIGdldCBwcmlzdGluZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9wcmlzdGluZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcHJpc3RpbmU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBTdHJhdGVnaWVzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdHJhdGVnaWVzOiBFbnRpdHlTdG9yZVN0cmF0ZWd5W10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoZW50aXRpZXM6IEVbXSwgb3B0aW9uczogRW50aXR5U3RvcmVPcHRpb25zID0ge30pIHtcclxuICAgIHRoaXMuZ2V0S2V5ID0gb3B0aW9ucy5nZXRLZXkgPyBvcHRpb25zLmdldEtleSA6IGdldEVudGl0eUlkO1xyXG4gICAgdGhpcy5nZXRQcm9wZXJ0eSA9IG9wdGlvbnMuZ2V0UHJvcGVydHlcclxuICAgICAgPyBvcHRpb25zLmdldFByb3BlcnR5XHJcbiAgICAgIDogZ2V0RW50aXR5UHJvcGVydHk7XHJcblxyXG4gICAgdGhpcy5zdGF0ZSA9IHRoaXMuY3JlYXRlU3RhdGVNYW5hZ2VyKCk7XHJcbiAgICB0aGlzLnZpZXcgPSB0aGlzLmNyZWF0ZURhdGFWaWV3KCk7XHJcbiAgICB0aGlzLnN0YXRlVmlldyA9IHRoaXMuY3JlYXRlU3RhdGVWaWV3KCk7XHJcblxyXG4gICAgdGhpcy52aWV3LmxpZnQoKTtcclxuICAgIHRoaXMuc3RhdGVWaWV3LmxpZnQoKTtcclxuXHJcbiAgICBpZiAoZW50aXRpZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmxvYWQoZW50aXRpZXMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faW5kZXggPSB0aGlzLmdlbmVyYXRlSW5kZXgoZW50aXRpZXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGFuIGVudGl0eSBmcm9tIHRoZSBzdG9yZSBieSBrZXlcclxuICAgKiBAcGFyYW0ga2V5IEtleVxyXG4gICAqIEByZXR1cm5zIEVudGl0eVxyXG4gICAqL1xyXG4gIGdldChrZXk6IEVudGl0eUtleSk6IEUge1xyXG4gICAgcmV0dXJuIHRoaXMuaW5kZXguZ2V0KGtleSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgYWxsIGVudGl0aWVzIGluIHRoZSBzdG9yZVxyXG4gICAqIEByZXR1cm5zIEFycmF5IG9mIGVudGl0aWVzXHJcbiAgICovXHJcbiAgYWxsKCk6IEVbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5lbnRpdGllcyQudmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgdGhpcyBzdG9yZSdzIGVudGl0aWVzXHJcbiAgICogQHBhcmFtIGVudGl0aWVzIEVudGl0aWVzXHJcbiAgICovXHJcbiAgbG9hZChlbnRpdGllczogRVtdLCBwcmlzdGluZTogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIHRoaXMuX2luZGV4ID0gdGhpcy5nZW5lcmF0ZUluZGV4KGVudGl0aWVzKTtcclxuICAgIHRoaXMuX3ByaXN0aW5lID0gcHJpc3RpbmU7XHJcbiAgICB0aGlzLm5leHQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFyIHRoZSBzdG9yZSdzIGVudGl0aWVzIGJ1dCBrZWVwIHRoZSBzdGF0ZSBhbmQgdmlld3MgaW50YWN0LlxyXG4gICAqIFZpZXdzIHdvbid0IHJldHVybiBhbnkgZGF0YSBidXQgZnV0dXJlIGRhdGEgd2lsbCBiZSBzdWJqZWN0IHRvIHRoZVxyXG4gICAqIGN1cnJlbnQgdmlld3MgZmlsdGVyIGFuZCBzb3J0XHJcbiAgICovXHJcbiAgc29mdENsZWFyKCkge1xyXG4gICAgaWYgKHRoaXMuaW5kZXggJiYgdGhpcy5pbmRleC5zaXplID4gMCkge1xyXG4gICAgICB0aGlzLmluZGV4LmNsZWFyKCk7XHJcbiAgICAgIHRoaXMuX3ByaXN0aW5lID0gdHJ1ZTtcclxuICAgICAgdGhpcy5uZXh0KCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaW5kZXgpIHtcclxuICAgICAgdGhpcy51cGRhdGVDb3VudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgdGhlIHN0b3JlJ3MgZW50aXRpZXMsIHN0YXRlIGFuZCB2aWV3c1xyXG4gICAqL1xyXG4gIGNsZWFyKCkge1xyXG4gICAgdGhpcy5zdGF0ZVZpZXcuY2xlYXIoKTtcclxuICAgIHRoaXMudmlldy5jbGVhcigpO1xyXG4gICAgdGhpcy5zdGF0ZS5jbGVhcigpO1xyXG4gICAgdGhpcy5zb2Z0Q2xlYXIoKTtcclxuICB9XHJcblxyXG4gIGRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnN0YXRlVmlldy5kZXN0cm95KCk7XHJcbiAgICB0aGlzLnZpZXcuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5jbGVhcigpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5zZXJ0IGFuIGVudGl0eSBpbnRvIHRoZSBzdG9yZVxyXG4gICAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XHJcbiAgICovXHJcbiAgaW5zZXJ0KGVudGl0eTogRSkge1xyXG4gICAgdGhpcy5pbnNlcnRNYW55KFtlbnRpdHldKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluc2VydCBtYW55IGVudGl0aWVzIGludG8gdGhlIHN0b3JlXHJcbiAgICogQHBhcmFtIGVudGl0aWVzIEVudGl0aWVzXHJcbiAgICovXHJcbiAgaW5zZXJ0TWFueShlbnRpdGllczogRVtdKSB7XHJcbiAgICBlbnRpdGllcy5mb3JFYWNoKChlbnRpdHk6IEUpID0+XHJcbiAgICAgIHRoaXMuaW5kZXguc2V0KHRoaXMuZ2V0S2V5KGVudGl0eSksIGVudGl0eSlcclxuICAgICk7XHJcbiAgICB0aGlzLl9wcmlzdGluZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgb3IgaW5zZXJ0IGFuIGVudGl0eSBpbnRvIHRoZSBzdG9yZVxyXG4gICAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XHJcbiAgICovXHJcbiAgdXBkYXRlKGVudGl0eTogRSkge1xyXG4gICAgdGhpcy51cGRhdGVNYW55KFtlbnRpdHldKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSBvciBpbnNlcnQgbWFueSBlbnRpdGllcyBpbnRvIHRoZSBzdG9yZVxyXG4gICAqIEBwYXJhbSBlbnRpdGllcyBFbnRpdGllc1xyXG4gICAqL1xyXG4gIHVwZGF0ZU1hbnkoZW50aXRpZXM6IEVbXSkge1xyXG4gICAgZW50aXRpZXMuZm9yRWFjaCgoZW50aXR5OiBFKSA9PlxyXG4gICAgICB0aGlzLmluZGV4LnNldCh0aGlzLmdldEtleShlbnRpdHkpLCBlbnRpdHkpXHJcbiAgICApO1xyXG4gICAgdGhpcy5fcHJpc3RpbmUgPSBmYWxzZTtcclxuICAgIHRoaXMubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIGEgc3RyYXRlZ3kgdG8gdGhpcyBzdG9yZVxyXG4gICAqIEBwYXJhbSBzdHJhdGVneSBFbnRpdHkgc3RvcmUgc3RyYXRlZ3lcclxuICAgKiBAcmV0dXJucyBFbnRpdHkgc3RvcmVcclxuICAgKi9cclxuICBhZGRTdHJhdGVneShcclxuICAgIHN0cmF0ZWd5OiBFbnRpdHlTdG9yZVN0cmF0ZWd5LFxyXG4gICAgYWN0aXZhdGU6IGJvb2xlYW4gPSBmYWxzZVxyXG4gICk6IEVudGl0eVN0b3JlIHtcclxuICAgIGNvbnN0IGV4aXN0aW5nU3RyYXRlZ3kgPSB0aGlzLnN0cmF0ZWdpZXMuZmluZChcclxuICAgICAgKF9zdHJhdGVneTogRW50aXR5U3RvcmVTdHJhdGVneSkgPT4ge1xyXG4gICAgICAgIHJldHVybiBzdHJhdGVneS5jb25zdHJ1Y3RvciA9PT0gX3N0cmF0ZWd5LmNvbnN0cnVjdG9yO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgaWYgKGV4aXN0aW5nU3RyYXRlZ3kgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgJ0Egc3RyYXRlZ3kgb2YgdGhpcyB0eXBlIGFscmVhZHkgZXhpc3RzIG9uIHRoYXQgRW50aXR5U3RvcmUuJ1xyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3RyYXRlZ2llcy5wdXNoKHN0cmF0ZWd5KTtcclxuICAgIHN0cmF0ZWd5LmJpbmRTdG9yZSh0aGlzKTtcclxuXHJcbiAgICBpZiAoYWN0aXZhdGUgPT09IHRydWUpIHtcclxuICAgICAgc3RyYXRlZ3kuYWN0aXZhdGUoKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBhIHN0cmF0ZWd5IGZyb20gdGhpcyBzdG9yZVxyXG4gICAqIEBwYXJhbSBzdHJhdGVneSBFbnRpdHkgc3RvcmUgc3RyYXRlZ3lcclxuICAgKiBAcmV0dXJucyBFbnRpdHkgc3RvcmVcclxuICAgKi9cclxuICByZW1vdmVTdHJhdGVneShzdHJhdGVneTogRW50aXR5U3RvcmVTdHJhdGVneSk6IEVudGl0eVN0b3JlIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zdHJhdGVnaWVzLmluZGV4T2Yoc3RyYXRlZ3kpO1xyXG4gICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgdGhpcy5zdHJhdGVnaWVzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgIHN0cmF0ZWd5LnVuYmluZFN0b3JlKHRoaXMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gc3RyYXRlZ2llcyBvZiBhIGdpdmVuIHR5cGVcclxuICAgKiBAcGFyYW0gdHlwZSBFbnRpdHkgc3RvcmUgc3RyYXRlZ3kgY2xhc3NcclxuICAgKiBAcmV0dXJucyBTdHJhdGVnaWVzXHJcbiAgICovXHJcbiAgZ2V0U3RyYXRlZ3lPZlR5cGUodHlwZTogdHlwZW9mIEVudGl0eVN0b3JlU3RyYXRlZ3kpOiBFbnRpdHlTdG9yZVN0cmF0ZWd5IHtcclxuICAgIHJldHVybiB0aGlzLnN0cmF0ZWdpZXMuZmluZCgoc3RyYXRlZ3k6IEVudGl0eVN0b3JlU3RyYXRlZ3kpID0+IHtcclxuICAgICAgcmV0dXJuIHN0cmF0ZWd5IGluc3RhbmNlb2YgdHlwZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWN0aXZhdGUgc3RyYXRlZ2llcyBvZiBhIGdpdmVuIHR5cGVcclxuICAgKiBAcGFyYW0gdHlwZSBFbnRpdHkgc3RvcmUgc3RyYXRlZ3kgY2xhc3NcclxuICAgKi9cclxuICBhY3RpdmF0ZVN0cmF0ZWd5T2ZUeXBlKHR5cGU6IHR5cGVvZiBFbnRpdHlTdG9yZVN0cmF0ZWd5KSB7XHJcbiAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuZ2V0U3RyYXRlZ3lPZlR5cGUodHlwZSk7XHJcbiAgICBpZiAoc3RyYXRlZ3kgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBzdHJhdGVneS5hY3RpdmF0ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVhY3RpdmF0ZSBzdHJhdGVnaWVzIG9mIGEgZ2l2ZW4gdHlwZVxyXG4gICAqIEBwYXJhbSB0eXBlIEVudGl0eSBzdG9yZSBzdHJhdGVneSBjbGFzc1xyXG4gICAqL1xyXG4gIGRlYWN0aXZhdGVTdHJhdGVneU9mVHlwZSh0eXBlOiB0eXBlb2YgRW50aXR5U3RvcmVTdHJhdGVneSkge1xyXG4gICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLmdldFN0cmF0ZWd5T2ZUeXBlKHR5cGUpO1xyXG4gICAgaWYgKHN0cmF0ZWd5ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgc3RyYXRlZ3kuZGVhY3RpdmF0ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVsZXRlIGFuIGVudGl0eSBmcm9tIHRoZSBzdG9yZVxyXG4gICAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XHJcbiAgICovXHJcbiAgZGVsZXRlKGVudGl0eTogRSkge1xyXG4gICAgdGhpcy5kZWxldGVNYW55KFtlbnRpdHldKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZSBtYW55IGVudGl0aWVzIGZyb20gdGhlIHN0b3JlXHJcbiAgICogQHBhcmFtIGVudGl0aWVzIEVudGl0aWVzXHJcbiAgICovXHJcbiAgZGVsZXRlTWFueShlbnRpdGllczogRVtdKSB7XHJcbiAgICBlbnRpdGllcy5mb3JFYWNoKChlbnRpdHk6IEUpID0+IHRoaXMuaW5kZXguZGVsZXRlKHRoaXMuZ2V0S2V5KGVudGl0eSkpKTtcclxuICAgIHRoaXMuX3ByaXN0aW5lID0gZmFsc2U7XHJcbiAgICB0aGlzLm5leHQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdlbmVyYXRlIGEgY29tcGxldGUgaW5kZXggb2YgYWxsIHRoZSBlbnRpdGllc1xyXG4gICAqIEBwYXJhbSBlbnRpdGllcyBFbnRpdGllc1xyXG4gICAqIEByZXR1cm5zIEluZGV4XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZUluZGV4KGVudGl0aWVzOiBFW10pOiBNYXA8RW50aXR5S2V5LCBFPiB7XHJcbiAgICBjb25zdCBlbnRyaWVzID0gZW50aXRpZXMubWFwKChlbnRpdHk6IEUpID0+IFt0aGlzLmdldEtleShlbnRpdHkpLCBlbnRpdHldKTtcclxuICAgIHJldHVybiBuZXcgTWFwKGVudHJpZXMgYXMgW0VudGl0eUtleSwgRV1bXSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQdXNoIHRoZSBpbmRleCdzIGVudGl0aWVzIGludG8gdGhlIGVudGl0aWVzJCBvYnNlcnZhYmxlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBuZXh0KCkge1xyXG4gICAgdGhpcy5lbnRpdGllcyQubmV4dChBcnJheS5mcm9tKHRoaXMuaW5kZXgudmFsdWVzKCkpKTtcclxuICAgIHRoaXMudXBkYXRlQ291bnQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSB0aGUgc3RvcmUncyBjb3VudCBhbmQgZW1wdHlcclxuICAgKi9cclxuICBwcml2YXRlIHVwZGF0ZUNvdW50KCkge1xyXG4gICAgY29uc3QgY291bnQgPSB0aGlzLmluZGV4LnNpemU7XHJcbiAgICBjb25zdCBlbXB0eSA9IGNvdW50ID09PSAwO1xyXG4gICAgdGhpcy5jb3VudCQubmV4dChjb3VudCk7XHJcbiAgICB0aGlzLmVtcHR5JC5uZXh0KGVtcHR5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSB0aGUgZW50aXR5IHN0YXRlIG1hbmFnZXJcclxuICAgKiBAcmV0dXJucyBFbnRpdHlTdGF0ZU1hbmFnZXJcclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZVN0YXRlTWFuYWdlcigpIHtcclxuICAgIHJldHVybiBuZXcgRW50aXR5U3RhdGVNYW5hZ2VyPEUsIFM+KHtcclxuICAgICAgZ2V0S2V5OiB0aGlzLmdldEtleSxcclxuICAgICAgaW5kZXg6IHRoaXMuaW5kZXhcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIHRoZSBkYXRhIHZpZXdcclxuICAgKiBAcmV0dXJucyBFbnRpdHlWaWV3PEU+XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVEYXRhVmlldygpIHtcclxuICAgIHJldHVybiBuZXcgRW50aXR5VmlldzxFPih0aGlzLmVudGl0aWVzJCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgdGhlIHN0YXRlIHZpZXdcclxuICAgKiBAcmV0dXJucyBFbnRpdHlWaWV3PEVudGl0eVJlY29yZDxFPj5cclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZVN0YXRlVmlldygpIHtcclxuICAgIHJldHVybiBuZXcgRW50aXR5VmlldzxFLCBFbnRpdHlSZWNvcmQ8RSwgUz4+KHRoaXMudmlldy5hbGwkKCkpXHJcbiAgICAgIC5qb2luKHtcclxuICAgICAgICBzb3VyY2U6IHRoaXMuc3RhdGUuY2hhbmdlJCxcclxuICAgICAgICByZWR1Y2U6IChlbnRpdHk6IEUpOiBFbnRpdHlSZWNvcmQ8RSwgUz4gPT4ge1xyXG4gICAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5nZXRLZXkoZW50aXR5KTtcclxuICAgICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdGF0ZS5nZXQoZW50aXR5KTtcclxuICAgICAgICAgIGNvbnN0IGN1cnJlbnRSZWNvcmQgPSB0aGlzLnN0YXRlVmlldy5nZXQoa2V5KTtcclxuXHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIGN1cnJlbnRSZWNvcmQgIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICAgICAgICBjdXJyZW50UmVjb3JkLmVudGl0eSA9PT0gZW50aXR5ICYmXHJcbiAgICAgICAgICAgIHRoaXMuc3RhdGVzQXJlVGhlU2FtZShjdXJyZW50UmVjb3JkLnN0YXRlLCBzdGF0ZSlcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICByZXR1cm4gY3VycmVudFJlY29yZDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBjb25zdCByZXZpc2lvbiA9IGN1cnJlbnRSZWNvcmQgPyBjdXJyZW50UmVjb3JkLnJldmlzaW9uICsgMSA6IDE7XHJcbiAgICAgICAgICBjb25zdCByZWYgPSBgJHtrZXl9LSR7cmV2aXNpb259YDtcclxuICAgICAgICAgIHJldHVybiB7IGVudGl0eSwgc3RhdGUsIHJldmlzaW9uLCByZWYgfTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICAgIC5jcmVhdGVJbmRleCgocmVjb3JkOiBFbnRpdHlSZWNvcmQ8RSwgUz4pID0+IHRoaXMuZ2V0S2V5KHJlY29yZC5lbnRpdHkpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGVzQXJlVGhlU2FtZShjdXJyZW50U3RhdGU6IFMsIG5ld1N0YXRlOiBTKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoY3VycmVudFN0YXRlID09PSBuZXdTdGF0ZSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjdXJyZW50U3RhdGVJc0VtcHR5ID0gT2JqZWN0LmtleXMoY3VycmVudFN0YXRlKS5sZW5ndGggPT09IDA7XHJcbiAgICBjb25zdCBuZXdTdGF0ZUlzRW1wdHkgPSBPYmplY3Qua2V5cyhuZXdTdGF0ZSkubGVuZ3RoID09PSAwO1xyXG4gICAgcmV0dXJuIGN1cnJlbnRTdGF0ZUlzRW1wdHkgJiYgbmV3U3RhdGVJc0VtcHR5O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -77,4 +77,4 @@ export class EntityStoreFilterCustomFuncStrategy extends EntityStoreStrategy {
77
77
  this.filters.delete(store);
78
78
  }
79
79
  }
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWN1c3RvbS1mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9zaGFyZWQvc3RyYXRlZ2llcy9maWx0ZXItY3VzdG9tLWZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVqRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sbUNBQW9DLFNBQVEsbUJBQW1CO0lBQ3BEO0lBQXRCLFlBQXNCLE9BQXVDO1FBQzNELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURLLFlBQU8sR0FBUCxPQUFPLENBQWdDO0lBRTdELENBQUM7SUFFRDs7T0FFRztJQUNLLE9BQU8sR0FBNkIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUV0RDs7O09BR0c7SUFDSCxTQUFTLENBQUMsS0FBa0I7UUFDMUIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxDQUFDLEtBQWtCO1FBQzVCLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRTtZQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNPLFVBQVU7UUFDbEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRDs7O09BR0c7SUFDTyxZQUFZO1FBQ3BCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxTQUFTO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVEOztPQUVHO0lBQ0ssV0FBVztRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSyxXQUFXLENBQUMsS0FBa0I7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQ2QsS0FBSyxFQUNMLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FDekQsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNLLGFBQWEsQ0FBQyxLQUFrQjtRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUU7WUFDMUIsT0FBTztTQUNSO1FBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5U3RvcmVTdHJhdGVneUZ1bmNPcHRpb25zIH0gZnJvbSAnLi4vZW50aXR5LmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJy4uL3N0b3JlJztcclxuaW1wb3J0IHsgRW50aXR5U3RvcmVTdHJhdGVneSB9IGZyb20gJy4vc3RyYXRlZ3knO1xyXG5cclxuLyoqXHJcbiAqIFdoZW4gYWN0aXZlLCB0aGlzIHN0cmF0ZWd5IGZpbHRlcnMgYSBzdG9yZSdzIHN0YXRlVmlldyB0byByZXR1cm5cclxuICogc2VsZWN0ZWQgZW50aXRpZXMgb25seS5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSBleHRlbmRzIEVudGl0eVN0b3JlU3RyYXRlZ3kge1xyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBvcHRpb25zOiBFbnRpdHlTdG9yZVN0cmF0ZWd5RnVuY09wdGlvbnMpIHtcclxuICAgIHN1cGVyKG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3RvcmUgLyBmaWx0ZXIgaWRzIG1hcFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZmlsdGVyczogTWFwPEVudGl0eVN0b3JlLCBzdHJpbmc+ID0gbmV3IE1hcCgpO1xyXG5cclxuICAvKipcclxuICAgKiBCaW5kIHRoaXMgc3RyYXRlZ3kgdG8gYSBzdG9yZSBhbmQgc3RhcnQgZmlsdGVyaW5nIGl0XHJcbiAgICogQHBhcmFtIHN0b3JlIEVudGl0eSBzdG9yZVxyXG4gICAqL1xyXG4gIGJpbmRTdG9yZShzdG9yZTogRW50aXR5U3RvcmUpIHtcclxuICAgIHN1cGVyLmJpbmRTdG9yZShzdG9yZSk7XHJcbiAgICBpZiAodGhpcy5hY3RpdmUgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy5maWx0ZXJTdG9yZShzdG9yZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVbmJpbmQgdGhpcyBzdHJhdGVneSBmcm9tIGEgc3RvcmUgYW5kIHN0b3AgZmlsdGVyaW5nIGl0XHJcbiAgICogQHBhcmFtIHN0b3JlIEVudGl0eSBzdG9yZVxyXG4gICAqL1xyXG4gIHVuYmluZFN0b3JlKHN0b3JlOiBFbnRpdHlTdG9yZSkge1xyXG4gICAgc3VwZXIudW5iaW5kU3RvcmUoc3RvcmUpO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlID09PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMudW5maWx0ZXJTdG9yZShzdG9yZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdGFydCBmaWx0ZXJpbmcgYWxsIHN0b3Jlc1xyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBkb0FjdGl2YXRlKCkge1xyXG4gICAgdGhpcy5maWx0ZXJBbGwoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3AgZmlsdGVyaW5nIGFsbCBzdG9yZXNcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZG9EZWFjdGl2YXRlKCkge1xyXG4gICAgdGhpcy51bmZpbHRlckFsbCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmlsdGVyIGFsbCBzdG9yZXNcclxuICAgKi9cclxuICBwcml2YXRlIGZpbHRlckFsbCgpIHtcclxuICAgIHRoaXMuc3RvcmVzLmZvckVhY2goKHN0b3JlOiBFbnRpdHlTdG9yZSkgPT4gdGhpcy5maWx0ZXJTdG9yZShzdG9yZSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVW5maWx0ZXIgYWxsIHN0b3Jlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgdW5maWx0ZXJBbGwoKSB7XHJcbiAgICB0aGlzLnN0b3Jlcy5mb3JFYWNoKChzdG9yZTogRW50aXR5U3RvcmUpID0+IHRoaXMudW5maWx0ZXJTdG9yZShzdG9yZSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmlsdGVyIGEgc3RvcmUgYW5kIGFkZCBpdCB0byB0aGUgZmlsdGVycyBtYXBcclxuICAgKi9cclxuICBwcml2YXRlIGZpbHRlclN0b3JlKHN0b3JlOiBFbnRpdHlTdG9yZSkge1xyXG4gICAgdGhpcy5maWx0ZXJzLnNldChcclxuICAgICAgc3RvcmUsXHJcbiAgICAgIHN0b3JlLnN0YXRlVmlldy5hZGRGaWx0ZXIodGhpcy5vcHRpb25zLmZpbHRlckNsYXVzZUZ1bmMpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVW5maWx0ZXIgYSBzdG9yZSBhbmQgZGVsZXRlIGl0IGZyb20gdGhlIGZpbHRlcnMgbWFwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1bmZpbHRlclN0b3JlKHN0b3JlOiBFbnRpdHlTdG9yZSkge1xyXG4gICAgY29uc3QgZmlsdGVySWQgPSB0aGlzLmZpbHRlcnMuZ2V0KHN0b3JlKTtcclxuICAgIGlmIChmaWx0ZXJJZCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBzdG9yZS5zdGF0ZVZpZXcucmVtb3ZlRmlsdGVyKGZpbHRlcklkKTtcclxuICAgIHRoaXMuZmlsdGVycy5kZWxldGUoc3RvcmUpO1xyXG4gIH1cclxufVxyXG4iXX0=
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWN1c3RvbS1mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9zaGFyZWQvc3RyYXRlZ2llcy9maWx0ZXItY3VzdG9tLWZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVqRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sbUNBQW9DLFNBQVEsbUJBQW1CO0lBQ3BEO0lBQXRCLFlBQXNCLE9BQXVDO1FBQzNELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURLLFlBQU8sR0FBUCxPQUFPLENBQWdDO0lBRTdELENBQUM7SUFFRDs7T0FFRztJQUNLLE9BQU8sR0FBNkIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUV0RDs7O09BR0c7SUFDSCxTQUFTLENBQUMsS0FBa0I7UUFDMUIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxDQUFDLEtBQWtCO1FBQzVCLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRTtZQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNPLFVBQVU7UUFDbEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRDs7O09BR0c7SUFDTyxZQUFZO1FBQ3BCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxTQUFTO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVEOztPQUVHO0lBQ0ssV0FBVztRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSyxXQUFXLENBQUMsS0FBa0I7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQ2QsS0FBSyxFQUNMLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FDekQsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNLLGFBQWEsQ0FBQyxLQUFrQjtRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUU7WUFDMUIsT0FBTztTQUNSO1FBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5U3RvcmVTdHJhdGVneUZ1bmNPcHRpb25zIH0gZnJvbSAnLi4vZW50aXR5LmludGVyZmFjZXMnO1xuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICcuLi9zdG9yZSc7XG5pbXBvcnQgeyBFbnRpdHlTdG9yZVN0cmF0ZWd5IH0gZnJvbSAnLi9zdHJhdGVneSc7XG5cbi8qKlxuICogV2hlbiBhY3RpdmUsIHRoaXMgc3RyYXRlZ3kgZmlsdGVycyBhIHN0b3JlJ3Mgc3RhdGVWaWV3IHRvIHJldHVyblxuICogc2VsZWN0ZWQgZW50aXRpZXMgb25seS5cbiAqL1xuZXhwb3J0IGNsYXNzIEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5IGV4dGVuZHMgRW50aXR5U3RvcmVTdHJhdGVneSB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBvcHRpb25zOiBFbnRpdHlTdG9yZVN0cmF0ZWd5RnVuY09wdGlvbnMpIHtcbiAgICBzdXBlcihvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9yZSAvIGZpbHRlciBpZHMgbWFwXG4gICAqL1xuICBwcml2YXRlIGZpbHRlcnM6IE1hcDxFbnRpdHlTdG9yZSwgc3RyaW5nPiA9IG5ldyBNYXAoKTtcblxuICAvKipcbiAgICogQmluZCB0aGlzIHN0cmF0ZWd5IHRvIGEgc3RvcmUgYW5kIHN0YXJ0IGZpbHRlcmluZyBpdFxuICAgKiBAcGFyYW0gc3RvcmUgRW50aXR5IHN0b3JlXG4gICAqL1xuICBiaW5kU3RvcmUoc3RvcmU6IEVudGl0eVN0b3JlKSB7XG4gICAgc3VwZXIuYmluZFN0b3JlKHN0b3JlKTtcbiAgICBpZiAodGhpcy5hY3RpdmUgPT09IHRydWUpIHtcbiAgICAgIHRoaXMuZmlsdGVyU3RvcmUoc3RvcmUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVbmJpbmQgdGhpcyBzdHJhdGVneSBmcm9tIGEgc3RvcmUgYW5kIHN0b3AgZmlsdGVyaW5nIGl0XG4gICAqIEBwYXJhbSBzdG9yZSBFbnRpdHkgc3RvcmVcbiAgICovXG4gIHVuYmluZFN0b3JlKHN0b3JlOiBFbnRpdHlTdG9yZSkge1xuICAgIHN1cGVyLnVuYmluZFN0b3JlKHN0b3JlKTtcbiAgICBpZiAodGhpcy5hY3RpdmUgPT09IHRydWUpIHtcbiAgICAgIHRoaXMudW5maWx0ZXJTdG9yZShzdG9yZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0IGZpbHRlcmluZyBhbGwgc3RvcmVzXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJvdGVjdGVkIGRvQWN0aXZhdGUoKSB7XG4gICAgdGhpcy5maWx0ZXJBbGwoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIGZpbHRlcmluZyBhbGwgc3RvcmVzXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJvdGVjdGVkIGRvRGVhY3RpdmF0ZSgpIHtcbiAgICB0aGlzLnVuZmlsdGVyQWxsKCk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVyIGFsbCBzdG9yZXNcbiAgICovXG4gIHByaXZhdGUgZmlsdGVyQWxsKCkge1xuICAgIHRoaXMuc3RvcmVzLmZvckVhY2goKHN0b3JlOiBFbnRpdHlTdG9yZSkgPT4gdGhpcy5maWx0ZXJTdG9yZShzdG9yZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuZmlsdGVyIGFsbCBzdG9yZXNcbiAgICovXG4gIHByaXZhdGUgdW5maWx0ZXJBbGwoKSB7XG4gICAgdGhpcy5zdG9yZXMuZm9yRWFjaCgoc3RvcmU6IEVudGl0eVN0b3JlKSA9PiB0aGlzLnVuZmlsdGVyU3RvcmUoc3RvcmUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXIgYSBzdG9yZSBhbmQgYWRkIGl0IHRvIHRoZSBmaWx0ZXJzIG1hcFxuICAgKi9cbiAgcHJpdmF0ZSBmaWx0ZXJTdG9yZShzdG9yZTogRW50aXR5U3RvcmUpIHtcbiAgICB0aGlzLmZpbHRlcnMuc2V0KFxuICAgICAgc3RvcmUsXG4gICAgICBzdG9yZS5zdGF0ZVZpZXcuYWRkRmlsdGVyKHRoaXMub3B0aW9ucy5maWx0ZXJDbGF1c2VGdW5jKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVW5maWx0ZXIgYSBzdG9yZSBhbmQgZGVsZXRlIGl0IGZyb20gdGhlIGZpbHRlcnMgbWFwXG4gICAqL1xuICBwcml2YXRlIHVuZmlsdGVyU3RvcmUoc3RvcmU6IEVudGl0eVN0b3JlKSB7XG4gICAgY29uc3QgZmlsdGVySWQgPSB0aGlzLmZpbHRlcnMuZ2V0KHN0b3JlKTtcbiAgICBpZiAoZmlsdGVySWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN0b3JlLnN0YXRlVmlldy5yZW1vdmVGaWx0ZXIoZmlsdGVySWQpO1xuICAgIHRoaXMuZmlsdGVycy5kZWxldGUoc3RvcmUpO1xuICB9XG59XG4iXX0=
@@ -78,4 +78,4 @@ export class EntityStoreFilterSelectionStrategy extends EntityStoreStrategy {
78
78
  this.filters.delete(store);
79
79
  }
80
80
  }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9zaGFyZWQvc3RyYXRlZ2llcy9maWx0ZXItc2VsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVqRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sa0NBQW1DLFNBQVEsbUJBQW1CO0lBQ3pFOztPQUVHO0lBQ0ssT0FBTyxHQUE2QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRXREOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxLQUFrQjtRQUMxQixLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsS0FBa0I7UUFDNUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sVUFBVTtRQUNsQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLFlBQVk7UUFDcEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNLLFNBQVM7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7O09BRUc7SUFDSyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNLLFdBQVcsQ0FBQyxLQUFrQjtRQUNwQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNCLE9BQU87U0FDUjtRQUVELE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBNEIsRUFBRSxFQUFFO1lBQzlDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDO1FBQ3hDLENBQUMsQ0FBQztRQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7T0FFRztJQUNLLGFBQWEsQ0FBQyxLQUFrQjtRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUU7WUFDMUIsT0FBTztTQUNSO1FBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5UmVjb3JkIH0gZnJvbSAnLi4vZW50aXR5LmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJy4uL3N0b3JlJztcclxuaW1wb3J0IHsgRW50aXR5U3RvcmVTdHJhdGVneSB9IGZyb20gJy4vc3RyYXRlZ3knO1xyXG5cclxuLyoqXHJcbiAqIFdoZW4gYWN0aXZlLCB0aGlzIHN0cmF0ZWd5IGZpbHRlcnMgYSBzdG9yZSdzIHN0YXRlVmlldyB0byByZXR1cm5cclxuICogc2VsZWN0ZWQgZW50aXRpZXMgb25seS5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBFbnRpdHlTdG9yZUZpbHRlclNlbGVjdGlvblN0cmF0ZWd5IGV4dGVuZHMgRW50aXR5U3RvcmVTdHJhdGVneSB7XHJcbiAgLyoqXHJcbiAgICogU3RvcmUgLyBmaWx0ZXIgaWRzIG1hcFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZmlsdGVyczogTWFwPEVudGl0eVN0b3JlLCBzdHJpbmc+ID0gbmV3IE1hcCgpO1xyXG5cclxuICAvKipcclxuICAgKiBCaW5kIHRoaXMgc3RyYXRlZ3kgdG8gYSBzdG9yZSBhbmQgc3RhcnQgZmlsdGVyaW5nIGl0XHJcbiAgICogQHBhcmFtIHN0b3JlIEVudGl0eSBzdG9yZVxyXG4gICAqL1xyXG4gIGJpbmRTdG9yZShzdG9yZTogRW50aXR5U3RvcmUpIHtcclxuICAgIHN1cGVyLmJpbmRTdG9yZShzdG9yZSk7XHJcbiAgICBpZiAodGhpcy5hY3RpdmUgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy5maWx0ZXJTdG9yZShzdG9yZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVbmJpbmQgdGhpcyBzdHJhdGVneSBmcm9tIGEgc3RvcmUgYW5kIHN0b3AgZmlsdGVyaW5nIGl0XHJcbiAgICogQHBhcmFtIHN0b3JlIEVudGl0eSBzdG9yZVxyXG4gICAqL1xyXG4gIHVuYmluZFN0b3JlKHN0b3JlOiBFbnRpdHlTdG9yZSkge1xyXG4gICAgc3VwZXIudW5iaW5kU3RvcmUoc3RvcmUpO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlID09PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMudW5maWx0ZXJTdG9yZShzdG9yZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdGFydCBmaWx0ZXJpbmcgYWxsIHN0b3Jlc1xyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBkb0FjdGl2YXRlKCkge1xyXG4gICAgdGhpcy5maWx0ZXJBbGwoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3AgZmlsdGVyaW5nIGFsbCBzdG9yZXNcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZG9EZWFjdGl2YXRlKCkge1xyXG4gICAgdGhpcy51bmZpbHRlckFsbCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmlsdGVyIGFsbCBzdG9yZXNcclxuICAgKi9cclxuICBwcml2YXRlIGZpbHRlckFsbCgpIHtcclxuICAgIHRoaXMuc3RvcmVzLmZvckVhY2goKHN0b3JlOiBFbnRpdHlTdG9yZSkgPT4gdGhpcy5maWx0ZXJTdG9yZShzdG9yZSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVW5maWx0ZXIgYWxsIHN0b3Jlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgdW5maWx0ZXJBbGwoKSB7XHJcbiAgICB0aGlzLnN0b3Jlcy5mb3JFYWNoKChzdG9yZTogRW50aXR5U3RvcmUpID0+IHRoaXMudW5maWx0ZXJTdG9yZShzdG9yZSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmlsdGVyIGEgc3RvcmUgYW5kIGFkZCBpdCB0byB0aGUgZmlsdGVycyBtYXBcclxuICAgKi9cclxuICBwcml2YXRlIGZpbHRlclN0b3JlKHN0b3JlOiBFbnRpdHlTdG9yZSkge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVycy5oYXMoc3RvcmUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBmaWx0ZXIgPSAocmVjb3JkOiBFbnRpdHlSZWNvcmQ8b2JqZWN0PikgPT4ge1xyXG4gICAgICByZXR1cm4gcmVjb3JkLnN0YXRlLnNlbGVjdGVkID09PSB0cnVlO1xyXG4gICAgfTtcclxuICAgIHRoaXMuZmlsdGVycy5zZXQoc3RvcmUsIHN0b3JlLnN0YXRlVmlldy5hZGRGaWx0ZXIoZmlsdGVyKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVbmZpbHRlciBhIHN0b3JlIGFuZCBkZWxldGUgaXQgZnJvbSB0aGUgZmlsdGVycyBtYXBcclxuICAgKi9cclxuICBwcml2YXRlIHVuZmlsdGVyU3RvcmUoc3RvcmU6IEVudGl0eVN0b3JlKSB7XHJcbiAgICBjb25zdCBmaWx0ZXJJZCA9IHRoaXMuZmlsdGVycy5nZXQoc3RvcmUpO1xyXG4gICAgaWYgKGZpbHRlcklkID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHN0b3JlLnN0YXRlVmlldy5yZW1vdmVGaWx0ZXIoZmlsdGVySWQpO1xyXG4gICAgdGhpcy5maWx0ZXJzLmRlbGV0ZShzdG9yZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9zaGFyZWQvc3RyYXRlZ2llcy9maWx0ZXItc2VsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVqRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sa0NBQW1DLFNBQVEsbUJBQW1CO0lBQ3pFOztPQUVHO0lBQ0ssT0FBTyxHQUE2QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRXREOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxLQUFrQjtRQUMxQixLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsS0FBa0I7UUFDNUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sVUFBVTtRQUNsQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLFlBQVk7UUFDcEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNLLFNBQVM7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7O09BRUc7SUFDSyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNLLFdBQVcsQ0FBQyxLQUFrQjtRQUNwQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNCLE9BQU87U0FDUjtRQUVELE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBNEIsRUFBRSxFQUFFO1lBQzlDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDO1FBQ3hDLENBQUMsQ0FBQztRQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7T0FFRztJQUNLLGFBQWEsQ0FBQyxLQUFrQjtRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUU7WUFDMUIsT0FBTztTQUNSO1FBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5UmVjb3JkIH0gZnJvbSAnLi4vZW50aXR5LmludGVyZmFjZXMnO1xuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICcuLi9zdG9yZSc7XG5pbXBvcnQgeyBFbnRpdHlTdG9yZVN0cmF0ZWd5IH0gZnJvbSAnLi9zdHJhdGVneSc7XG5cbi8qKlxuICogV2hlbiBhY3RpdmUsIHRoaXMgc3RyYXRlZ3kgZmlsdGVycyBhIHN0b3JlJ3Mgc3RhdGVWaWV3IHRvIHJldHVyblxuICogc2VsZWN0ZWQgZW50aXRpZXMgb25seS5cbiAqL1xuZXhwb3J0IGNsYXNzIEVudGl0eVN0b3JlRmlsdGVyU2VsZWN0aW9uU3RyYXRlZ3kgZXh0ZW5kcyBFbnRpdHlTdG9yZVN0cmF0ZWd5IHtcbiAgLyoqXG4gICAqIFN0b3JlIC8gZmlsdGVyIGlkcyBtYXBcbiAgICovXG4gIHByaXZhdGUgZmlsdGVyczogTWFwPEVudGl0eVN0b3JlLCBzdHJpbmc+ID0gbmV3IE1hcCgpO1xuXG4gIC8qKlxuICAgKiBCaW5kIHRoaXMgc3RyYXRlZ3kgdG8gYSBzdG9yZSBhbmQgc3RhcnQgZmlsdGVyaW5nIGl0XG4gICAqIEBwYXJhbSBzdG9yZSBFbnRpdHkgc3RvcmVcbiAgICovXG4gIGJpbmRTdG9yZShzdG9yZTogRW50aXR5U3RvcmUpIHtcbiAgICBzdXBlci5iaW5kU3RvcmUoc3RvcmUpO1xuICAgIGlmICh0aGlzLmFjdGl2ZSA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy5maWx0ZXJTdG9yZShzdG9yZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFVuYmluZCB0aGlzIHN0cmF0ZWd5IGZyb20gYSBzdG9yZSBhbmQgc3RvcCBmaWx0ZXJpbmcgaXRcbiAgICogQHBhcmFtIHN0b3JlIEVudGl0eSBzdG9yZVxuICAgKi9cbiAgdW5iaW5kU3RvcmUoc3RvcmU6IEVudGl0eVN0b3JlKSB7XG4gICAgc3VwZXIudW5iaW5kU3RvcmUoc3RvcmUpO1xuICAgIGlmICh0aGlzLmFjdGl2ZSA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy51bmZpbHRlclN0b3JlKHN0b3JlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU3RhcnQgZmlsdGVyaW5nIGFsbCBzdG9yZXNcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcm90ZWN0ZWQgZG9BY3RpdmF0ZSgpIHtcbiAgICB0aGlzLmZpbHRlckFsbCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3AgZmlsdGVyaW5nIGFsbCBzdG9yZXNcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcm90ZWN0ZWQgZG9EZWFjdGl2YXRlKCkge1xuICAgIHRoaXMudW5maWx0ZXJBbGwoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXIgYWxsIHN0b3Jlc1xuICAgKi9cbiAgcHJpdmF0ZSBmaWx0ZXJBbGwoKSB7XG4gICAgdGhpcy5zdG9yZXMuZm9yRWFjaCgoc3RvcmU6IEVudGl0eVN0b3JlKSA9PiB0aGlzLmZpbHRlclN0b3JlKHN0b3JlKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5maWx0ZXIgYWxsIHN0b3Jlc1xuICAgKi9cbiAgcHJpdmF0ZSB1bmZpbHRlckFsbCgpIHtcbiAgICB0aGlzLnN0b3Jlcy5mb3JFYWNoKChzdG9yZTogRW50aXR5U3RvcmUpID0+IHRoaXMudW5maWx0ZXJTdG9yZShzdG9yZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlciBhIHN0b3JlIGFuZCBhZGQgaXQgdG8gdGhlIGZpbHRlcnMgbWFwXG4gICAqL1xuICBwcml2YXRlIGZpbHRlclN0b3JlKHN0b3JlOiBFbnRpdHlTdG9yZSkge1xuICAgIGlmICh0aGlzLmZpbHRlcnMuaGFzKHN0b3JlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbHRlciA9IChyZWNvcmQ6IEVudGl0eVJlY29yZDxvYmplY3Q+KSA9PiB7XG4gICAgICByZXR1cm4gcmVjb3JkLnN0YXRlLnNlbGVjdGVkID09PSB0cnVlO1xuICAgIH07XG4gICAgdGhpcy5maWx0ZXJzLnNldChzdG9yZSwgc3RvcmUuc3RhdGVWaWV3LmFkZEZpbHRlcihmaWx0ZXIpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmZpbHRlciBhIHN0b3JlIGFuZCBkZWxldGUgaXQgZnJvbSB0aGUgZmlsdGVycyBtYXBcbiAgICovXG4gIHByaXZhdGUgdW5maWx0ZXJTdG9yZShzdG9yZTogRW50aXR5U3RvcmUpIHtcbiAgICBjb25zdCBmaWx0ZXJJZCA9IHRoaXMuZmlsdGVycy5nZXQoc3RvcmUpO1xuICAgIGlmIChmaWx0ZXJJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3RvcmUuc3RhdGVWaWV3LnJlbW92ZUZpbHRlcihmaWx0ZXJJZCk7XG4gICAgdGhpcy5maWx0ZXJzLmRlbGV0ZShzdG9yZSk7XG4gIH1cbn1cbiJdfQ==
@@ -75,4 +75,4 @@ export class EntityStoreStrategy {
75
75
  */
76
76
  doDeactivate() { }
77
77
  }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL3N0cmF0ZWdpZXMvc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUt2Qzs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQWdCUjtJQWZ0Qjs7O09BR0c7SUFDTyxNQUFNLEdBQWtCLEVBQUUsQ0FBQztJQUVyQzs7O09BR0c7SUFDSCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFDUSxPQUFPLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXhFLFlBQXNCLFVBQXNDLEVBQUU7UUFBeEMsWUFBTyxHQUFQLE9BQU8sQ0FBaUM7UUFDNUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVTtRQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLEtBQWtCO1FBQzFCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVcsQ0FBQyxLQUFrQjtRQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sVUFBVSxLQUFJLENBQUM7SUFFekI7OztPQUdHO0lBQ08sWUFBWSxLQUFJLENBQUM7Q0FDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEVudGl0eVN0b3JlU3RyYXRlZ3lPcHRpb25zIH0gZnJvbSAnLi4vZW50aXR5LmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJy4uL3N0b3JlJztcclxuXHJcbi8qKlxyXG4gKiBFbnRpdHkgc3RvcmUgc3RyYXRlZ2llcy4gVGhleSBjYW4gZG8gcHJldHR5IG11Y2ggYW55dGhpbmcgZHVyaW5nIGEgc3RvcmUnc1xyXG4gKiBsaWZldGltZS4gRm9yIGV4YW1wbGUsIHRoZXkgbWF5IGFjdCBhcyB0cmlnZ2VycyB3aGVuIHNvbWV0aGluZyBoYXBwZW5zLlxyXG4gKiBTaGFyaW5nIGEgc3RyYXRlZ3kgaXMgYSBnb29kIGlkZWEgd2hlbiBtdWx0aXBsZSBzdHJhdGVnaWVzIHdvdWxkIGhhdmVcclxuICogb24gY2FuY2VsbGluZyBlZmZlY3Qgb24gZWFjaCBvdGhlci5cclxuICpcclxuICogQXQgY3JlYXRpb24sIHN0cmF0ZWd5IGlzIGluYWN0aXZlIGFuZCBuZWVkcyB0byBiZSBtYW51YWxseSBhY3RpdmF0ZWQuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRW50aXR5U3RvcmVTdHJhdGVneSB7XHJcbiAgLyoqXHJcbiAgICogRmVhdHVyZSBzdG9yZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBzdG9yZXM6IEVudGl0eVN0b3JlW10gPSBbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGlzIHN0cmF0ZWd5IGlzIGFjdGl2ZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCBhY3RpdmUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5hY3RpdmUkLnZhbHVlO1xyXG4gIH1cclxuICByZWFkb25seSBhY3RpdmUkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIG9wdGlvbnM6IEVudGl0eVN0b3JlU3RyYXRlZ3lPcHRpb25zID0ge30pIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBY3RpdmF0ZSB0aGUgc3RyYXRlZ3kuIElmIGl0J3MgYWxyZWFkeSBhY3RpdmUsIGl0J2xsIGJlIGRlYWN0aXZhdGVkXHJcbiAgICogYW5kIGFjdGl2YXRlZCBhZ2Fpbi5cclxuICAgKi9cclxuICBhY3RpdmF0ZSgpIHtcclxuICAgIGlmICh0aGlzLmFjdGl2ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLmRvRGVhY3RpdmF0ZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3RpdmUkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRvQWN0aXZhdGUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFjdGl2YXRlIHRoZSBzdHJhdGVneS4gSWYgaXQncyBhbHJlYWR5IGFjdGl2ZSwgaXQnbGwgYmUgZGVhY3RpdmF0ZWRcclxuICAgKiBhbmQgYWN0aXZhdGVkIGFnYWluLlxyXG4gICAqL1xyXG4gIGRlYWN0aXZhdGUoKSB7XHJcbiAgICB0aGlzLmFjdGl2ZSQubmV4dChmYWxzZSk7XHJcbiAgICB0aGlzLmRvRGVhY3RpdmF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQmluZCB0aGlzIHN0cmF0ZWd5IHRvIGEgc3RvcmVcclxuICAgKiBAcGFyYW0gc3RvcmUgRmVhdHVyZSBzdG9yZVxyXG4gICAqL1xyXG4gIGJpbmRTdG9yZShzdG9yZTogRW50aXR5U3RvcmUpIHtcclxuICAgIGlmICh0aGlzLnN0b3Jlcy5pbmRleE9mKHN0b3JlKSA8IDApIHtcclxuICAgICAgdGhpcy5zdG9yZXMucHVzaChzdG9yZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVbmJpbmQgdGhpcyBzdHJhdGVneSBmcm9tIHN0b3JlXHJcbiAgICogQHBhcmFtIHN0b3JlIEZlYXR1cmUgc3RvcmVcclxuICAgKi9cclxuICB1bmJpbmRTdG9yZShzdG9yZTogRW50aXR5U3RvcmUpIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zdG9yZXMuaW5kZXhPZihzdG9yZSk7XHJcbiAgICBpZiAoaW5kZXggPj0gMCkge1xyXG4gICAgICB0aGlzLnN0b3Jlcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRG8gdGhlIHN0YXRhZWd5IGFjdGl2YXRpb25cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZG9BY3RpdmF0ZSgpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIERvIHRoZSBzdHJhdGVneSBkZWFjdGl2YXRpb25cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZG9EZWFjdGl2YXRlKCkge31cclxufVxyXG4iXX0=
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL3N0cmF0ZWdpZXMvc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUt2Qzs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQWdCUjtJQWZ0Qjs7O09BR0c7SUFDTyxNQUFNLEdBQWtCLEVBQUUsQ0FBQztJQUVyQzs7O09BR0c7SUFDSCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFDUSxPQUFPLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXhFLFlBQXNCLFVBQXNDLEVBQUU7UUFBeEMsWUFBTyxHQUFQLE9BQU8sQ0FBaUM7UUFDNUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVTtRQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLEtBQWtCO1FBQzFCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVcsQ0FBQyxLQUFrQjtRQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sVUFBVSxLQUFJLENBQUM7SUFFekI7OztPQUdHO0lBQ08sWUFBWSxLQUFJLENBQUM7Q0FDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEVudGl0eVN0b3JlU3RyYXRlZ3lPcHRpb25zIH0gZnJvbSAnLi4vZW50aXR5LmludGVyZmFjZXMnO1xyXG5pbXBvcnQgdHlwZSB7IEVudGl0eVN0b3JlIH0gZnJvbSAnLi4vc3RvcmUnO1xyXG5cclxuLyoqXHJcbiAqIEVudGl0eSBzdG9yZSBzdHJhdGVnaWVzLiBUaGV5IGNhbiBkbyBwcmV0dHkgbXVjaCBhbnl0aGluZyBkdXJpbmcgYSBzdG9yZSdzXHJcbiAqIGxpZmV0aW1lLiBGb3IgZXhhbXBsZSwgdGhleSBtYXkgYWN0IGFzIHRyaWdnZXJzIHdoZW4gc29tZXRoaW5nIGhhcHBlbnMuXHJcbiAqIFNoYXJpbmcgYSBzdHJhdGVneSBpcyBhIGdvb2QgaWRlYSB3aGVuIG11bHRpcGxlIHN0cmF0ZWdpZXMgd291bGQgaGF2ZVxyXG4gKiBvbiBjYW5jZWxsaW5nIGVmZmVjdCBvbiBlYWNoIG90aGVyLlxyXG4gKlxyXG4gKiBBdCBjcmVhdGlvbiwgc3RyYXRlZ3kgaXMgaW5hY3RpdmUgYW5kIG5lZWRzIHRvIGJlIG1hbnVhbGx5IGFjdGl2YXRlZC5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBFbnRpdHlTdG9yZVN0cmF0ZWd5IHtcclxuICAvKipcclxuICAgKiBGZWF0dXJlIHN0b3JlXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHN0b3JlczogRW50aXR5U3RvcmVbXSA9IFtdO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoaXMgc3RyYXRlZ3kgaXMgYWN0aXZlXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZ2V0IGFjdGl2ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmFjdGl2ZSQudmFsdWU7XHJcbiAgfVxyXG4gIHJlYWRvbmx5IGFjdGl2ZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgb3B0aW9uczogRW50aXR5U3RvcmVTdHJhdGVneU9wdGlvbnMgPSB7fSkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFjdGl2YXRlIHRoZSBzdHJhdGVneS4gSWYgaXQncyBhbHJlYWR5IGFjdGl2ZSwgaXQnbGwgYmUgZGVhY3RpdmF0ZWRcclxuICAgKiBhbmQgYWN0aXZhdGVkIGFnYWluLlxyXG4gICAqL1xyXG4gIGFjdGl2YXRlKCkge1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlID09PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMuZG9EZWFjdGl2YXRlKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmFjdGl2ZSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZG9BY3RpdmF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWN0aXZhdGUgdGhlIHN0cmF0ZWd5LiBJZiBpdCdzIGFscmVhZHkgYWN0aXZlLCBpdCdsbCBiZSBkZWFjdGl2YXRlZFxyXG4gICAqIGFuZCBhY3RpdmF0ZWQgYWdhaW4uXHJcbiAgICovXHJcbiAgZGVhY3RpdmF0ZSgpIHtcclxuICAgIHRoaXMuYWN0aXZlJC5uZXh0KGZhbHNlKTtcclxuICAgIHRoaXMuZG9EZWFjdGl2YXRlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBCaW5kIHRoaXMgc3RyYXRlZ3kgdG8gYSBzdG9yZVxyXG4gICAqIEBwYXJhbSBzdG9yZSBGZWF0dXJlIHN0b3JlXHJcbiAgICovXHJcbiAgYmluZFN0b3JlKHN0b3JlOiBFbnRpdHlTdG9yZSkge1xyXG4gICAgaWYgKHRoaXMuc3RvcmVzLmluZGV4T2Yoc3RvcmUpIDwgMCkge1xyXG4gICAgICB0aGlzLnN0b3Jlcy5wdXNoKHN0b3JlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVuYmluZCB0aGlzIHN0cmF0ZWd5IGZyb20gc3RvcmVcclxuICAgKiBAcGFyYW0gc3RvcmUgRmVhdHVyZSBzdG9yZVxyXG4gICAqL1xyXG4gIHVuYmluZFN0b3JlKHN0b3JlOiBFbnRpdHlTdG9yZSkge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnN0b3Jlcy5pbmRleE9mKHN0b3JlKTtcclxuICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgIHRoaXMuc3RvcmVzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEbyB0aGUgc3RhdGFlZ3kgYWN0aXZhdGlvblxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBkb0FjdGl2YXRlKCkge31cclxuXHJcbiAgLyoqXHJcbiAgICogRG8gdGhlIHN0cmF0ZWd5IGRlYWN0aXZhdGlvblxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBkb0RlYWN0aXZhdGUoKSB7fVxyXG59XHJcbiJdfQ==