@dereekb/dbx-web 12.6.21 → 12.7.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 (102) hide show
  1. package/esm2022/lib/action/snackbar/action.snackbar.component.mjs +10 -14
  2. package/esm2022/lib/action/snackbar/action.snackbar.directive.mjs +8 -7
  3. package/esm2022/lib/action/transition/transition.safety.dialog.component.mjs +1 -1
  4. package/esm2022/lib/button/progress/abstract.progress.button.directive.mjs +5 -5
  5. package/esm2022/lib/error/error.action.directive.mjs +9 -9
  6. package/esm2022/lib/error/error.loading.directive.mjs +7 -6
  7. package/esm2022/lib/error/error.snackbar.action.directive.mjs +6 -7
  8. package/esm2022/lib/error/error.snackbar.component.mjs +9 -13
  9. package/esm2022/lib/extension/download/blob/download.blob.button.component.mjs +6 -10
  10. package/esm2022/lib/extension/download/text/download.text.component.mjs +1 -6
  11. package/esm2022/lib/extension/help/help.context.service.mjs +3 -5
  12. package/esm2022/lib/extension/model/model.tracker.view.storage.mjs +3 -5
  13. package/esm2022/lib/extension/zip/zip.blob.preview.component.mjs +4 -7
  14. package/esm2022/lib/extension/zip/zip.preview.component.mjs +4 -7
  15. package/esm2022/lib/interaction/dialog/dialog.action.directive.mjs +1 -1
  16. package/esm2022/lib/interaction/filter/filter.popover.component.mjs +9 -12
  17. package/esm2022/lib/interaction/filter/filter.wrapper.component.mjs +3 -2
  18. package/esm2022/lib/interaction/iframe/embed.component.mjs +7 -12
  19. package/esm2022/lib/interaction/iframe/iframe.component.mjs +7 -12
  20. package/esm2022/lib/interaction/popover/abstract.popover.ref.directive.mjs +8 -7
  21. package/esm2022/lib/interaction/popover/popover.action.directive.mjs +1 -1
  22. package/esm2022/lib/interaction/popover/popover.component.mjs +1 -3
  23. package/esm2022/lib/interaction/popover/popover.coordinator.component.mjs +5 -6
  24. package/esm2022/lib/interaction/popover/popover.coordinator.service.mjs +3 -5
  25. package/esm2022/lib/interaction/popup/popup.component.mjs +4 -9
  26. package/esm2022/lib/interaction/popup/popup.coordinator.component.mjs +5 -6
  27. package/esm2022/lib/interaction/popup/popup.coordinator.service.mjs +3 -5
  28. package/esm2022/lib/interaction/prompt/prompt.confirm.dialog.component.mjs +1 -1
  29. package/esm2022/lib/interaction/upload/upload.action.directive.mjs +8 -15
  30. package/esm2022/lib/layout/column/two/two.column.back.directive.mjs +8 -8
  31. package/esm2022/lib/layout/column/two/two.column.component.mjs +4 -5
  32. package/esm2022/lib/layout/column/two/two.column.sref.showright.directive.mjs +5 -6
  33. package/esm2022/lib/layout/column/two/two.column.store.mjs +3 -7
  34. package/esm2022/lib/layout/flex/flex.group.directive.mjs +4 -5
  35. package/esm2022/lib/layout/list/list.view.directive.mjs +16 -21
  36. package/esm2022/lib/layout/list/modifier/list.view.value.modifier.directive.mjs +11 -15
  37. package/esm2022/lib/layout/list/modifier/list.view.value.modifier.ripple.directive.mjs +1 -1
  38. package/esm2022/lib/layout/list/modifier/list.view.value.modifier.selection.directive.mjs +1 -1
  39. package/esm2022/lib/layout/style/style.body.directive.mjs +9 -9
  40. package/esm2022/lib/layout/style/style.directive.mjs +9 -9
  41. package/esm2022/lib/layout/style/style.set.directive.mjs +10 -10
  42. package/esm2022/lib/loading/loading.action.directive.mjs +3 -7
  43. package/esm2022/mapbox/lib/mapbox.injection.store.mjs +1 -1
  44. package/esm2022/mapbox/lib/mapbox.layout.resize.sync.directive.mjs +8 -8
  45. package/esm2022/mapbox/lib/mapbox.menu.component.mjs +17 -19
  46. package/esm2022/mapbox/lib/mapbox.store.mjs +1 -1
  47. package/esm2022/table/lib/date/daterange.table.cell.input.component.mjs +8 -11
  48. package/esm2022/table/lib/table.column.size.directive.mjs +8 -9
  49. package/fesm2022/dereekb-dbx-web-mapbox.mjs +22 -24
  50. package/fesm2022/dereekb-dbx-web-mapbox.mjs.map +1 -1
  51. package/fesm2022/dereekb-dbx-web-table.mjs +13 -19
  52. package/fesm2022/dereekb-dbx-web-table.mjs.map +1 -1
  53. package/fesm2022/dereekb-dbx-web.mjs +150 -229
  54. package/fesm2022/dereekb-dbx-web.mjs.map +1 -1
  55. package/lib/action/snackbar/action.snackbar.component.d.ts +4 -5
  56. package/lib/action/snackbar/action.snackbar.directive.d.ts +3 -2
  57. package/lib/action/transition/transition.safety.dialog.component.d.ts +1 -2
  58. package/lib/button/progress/abstract.progress.button.directive.d.ts +3 -3
  59. package/lib/error/error.action.directive.d.ts +3 -4
  60. package/lib/error/error.loading.directive.d.ts +2 -2
  61. package/lib/error/error.snackbar.action.directive.d.ts +2 -2
  62. package/lib/error/error.snackbar.component.d.ts +2 -4
  63. package/lib/extension/download/blob/download.blob.button.component.d.ts +3 -4
  64. package/lib/extension/download/text/download.text.component.d.ts +2 -4
  65. package/lib/extension/help/help.context.service.d.ts +1 -3
  66. package/lib/extension/model/model.tracker.view.storage.d.ts +2 -3
  67. package/lib/extension/zip/zip.blob.preview.component.d.ts +2 -3
  68. package/lib/extension/zip/zip.preview.component.d.ts +1 -3
  69. package/lib/interaction/dialog/dialog.action.directive.d.ts +2 -2
  70. package/lib/interaction/filter/filter.popover.component.d.ts +3 -5
  71. package/lib/interaction/filter/filter.wrapper.component.d.ts +1 -1
  72. package/lib/interaction/iframe/embed.component.d.ts +2 -4
  73. package/lib/interaction/iframe/iframe.component.d.ts +2 -4
  74. package/lib/interaction/popover/abstract.popover.ref.directive.d.ts +4 -4
  75. package/lib/interaction/popover/popover.action.directive.d.ts +2 -2
  76. package/lib/interaction/popover/popover.coordinator.component.d.ts +2 -4
  77. package/lib/interaction/popover/popover.coordinator.service.d.ts +2 -4
  78. package/lib/interaction/popup/popup.component.d.ts +2 -3
  79. package/lib/interaction/popup/popup.coordinator.component.d.ts +2 -4
  80. package/lib/interaction/popup/popup.coordinator.service.d.ts +1 -3
  81. package/lib/interaction/prompt/prompt.confirm.dialog.component.d.ts +1 -2
  82. package/lib/interaction/upload/upload.action.directive.d.ts +2 -6
  83. package/lib/layout/column/two/two.column.back.directive.d.ts +2 -4
  84. package/lib/layout/column/two/two.column.component.d.ts +1 -3
  85. package/lib/layout/column/two/two.column.sref.showright.directive.d.ts +1 -2
  86. package/lib/layout/column/two/two.column.store.d.ts +2 -3
  87. package/lib/layout/flex/flex.group.directive.d.ts +1 -2
  88. package/lib/layout/list/list.view.directive.d.ts +9 -10
  89. package/lib/layout/list/modifier/list.view.value.modifier.directive.d.ts +3 -6
  90. package/lib/layout/list/modifier/list.view.value.modifier.ripple.directive.d.ts +1 -2
  91. package/lib/layout/list/modifier/list.view.value.modifier.selection.directive.d.ts +1 -2
  92. package/lib/layout/style/style.body.directive.d.ts +2 -4
  93. package/lib/layout/style/style.directive.d.ts +2 -4
  94. package/lib/layout/style/style.set.directive.d.ts +2 -4
  95. package/lib/loading/loading.action.directive.d.ts +1 -3
  96. package/mapbox/lib/mapbox.injection.store.d.ts +1 -2
  97. package/mapbox/lib/mapbox.layout.resize.sync.directive.d.ts +2 -4
  98. package/mapbox/lib/mapbox.menu.component.d.ts +5 -6
  99. package/mapbox/lib/mapbox.store.d.ts +1 -2
  100. package/package.json +1 -1
  101. package/table/lib/date/daterange.table.cell.input.component.d.ts +2 -4
  102. package/table/lib/table.column.size.directive.d.ts +4 -5
@@ -1,7 +1,6 @@
1
- import { DbxActionContextStoreSourceInstance } from '@dereekb/dbx-core';
1
+ import { cleanLoadingContext, DbxActionContextStoreSourceInstance } from '@dereekb/dbx-core';
2
2
  import { Directive, inject } from '@angular/core';
3
3
  import { DbxLoadingComponent } from './loading.component';
4
- import { loadingStateContext } from '@dereekb/rxjs';
5
4
  import * as i0 from "@angular/core";
6
5
  /**
7
6
  * Context used for linking a loadingComponent to an ActionContext by providing a LoadingContext.
@@ -9,13 +8,10 @@ import * as i0 from "@angular/core";
9
8
  export class DbxActionLoadingContextDirective {
10
9
  loadingComponent = inject(DbxLoadingComponent, { host: true });
11
10
  source = inject(DbxActionContextStoreSourceInstance);
12
- _context = loadingStateContext({ obs: this.source.loadingState$ });
11
+ _context = cleanLoadingContext({ obs: this.source.loadingState$ });
13
12
  constructor() {
14
13
  this.loadingComponent.setContext(this._context);
15
14
  }
16
- ngOnDestroy() {
17
- this._context.destroy();
18
- }
19
15
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionLoadingContextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
20
16
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxActionLoadingContextDirective, isStandalone: true, selector: "[dbxActionLoadingContext]", ngImport: i0 });
21
17
  }
@@ -26,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
26
22
  standalone: true
27
23
  }]
28
24
  }], ctorParameters: () => [] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5hY3Rpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2xvYWRpbmcvbG9hZGluZy5hY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFcEQ7O0dBRUc7QUFLSCxNQUFNLE9BQU8sZ0NBQWdDO0lBQ2xDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRS9ELE1BQU0sR0FBRyxNQUFNLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUU3QyxRQUFRLEdBQUcsbUJBQW1CLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBRXBGO1FBQ0UsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7d0dBYlUsZ0NBQWdDOzRGQUFoQyxnQ0FBZ0M7OzRGQUFoQyxnQ0FBZ0M7a0JBSjVDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIE9uRGVzdHJveSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhMb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9sb2FkaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBsb2FkaW5nU3RhdGVDb250ZXh0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5cbi8qKlxuICogQ29udGV4dCB1c2VkIGZvciBsaW5raW5nIGEgbG9hZGluZ0NvbXBvbmVudCB0byBhbiBBY3Rpb25Db250ZXh0IGJ5IHByb3ZpZGluZyBhIExvYWRpbmdDb250ZXh0LlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4QWN0aW9uTG9hZGluZ0NvbnRleHRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEYnhBY3Rpb25Mb2FkaW5nQ29udGV4dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IGxvYWRpbmdDb21wb25lbnQgPSBpbmplY3QoRGJ4TG9hZGluZ0NvbXBvbmVudCwgeyBob3N0OiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IHNvdXJjZSA9IGluamVjdChEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY29udGV4dCA9IGxvYWRpbmdTdGF0ZUNvbnRleHQoeyBvYnM6IHRoaXMuc291cmNlLmxvYWRpbmdTdGF0ZSQgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5sb2FkaW5nQ29tcG9uZW50LnNldENvbnRleHQodGhpcy5fY29udGV4dCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250ZXh0LmRlc3Ryb3koKTtcbiAgfVxufVxuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5hY3Rpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2xvYWRpbmcvbG9hZGluZy5hY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUUxRDs7R0FFRztBQUtILE1BQU0sT0FBTyxnQ0FBZ0M7SUFDbEMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFL0QsTUFBTSxHQUFHLE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0lBRTdDLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFFcEY7UUFDRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsRCxDQUFDO3dHQVRVLGdDQUFnQzs0RkFBaEMsZ0NBQWdDOzs0RkFBaEMsZ0NBQWdDO2tCQUo1QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNsZWFuTG9hZGluZ0NvbnRleHQsIERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieExvYWRpbmdDb21wb25lbnQgfSBmcm9tICcuL2xvYWRpbmcuY29tcG9uZW50JztcblxuLyoqXG4gKiBDb250ZXh0IHVzZWQgZm9yIGxpbmtpbmcgYSBsb2FkaW5nQ29tcG9uZW50IHRvIGFuIEFjdGlvbkNvbnRleHQgYnkgcHJvdmlkaW5nIGEgTG9hZGluZ0NvbnRleHQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhBY3Rpb25Mb2FkaW5nQ29udGV4dF0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieEFjdGlvbkxvYWRpbmdDb250ZXh0RGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgbG9hZGluZ0NvbXBvbmVudCA9IGluamVjdChEYnhMb2FkaW5nQ29tcG9uZW50LCB7IGhvc3Q6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgc291cmNlID0gaW5qZWN0KERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb250ZXh0ID0gY2xlYW5Mb2FkaW5nQ29udGV4dCh7IG9iczogdGhpcy5zb3VyY2UubG9hZGluZ1N0YXRlJCB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmxvYWRpbmdDb21wb25lbnQuc2V0Q29udGV4dCh0aGlzLl9jb250ZXh0KTtcbiAgfVxufVxuIl19
@@ -36,4 +36,4 @@ export function updateDbxMapboxMapInjectionStoreStateWithRemovedKey(state, key)
36
36
  }
37
37
  return state;
38
38
  }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYm94LmluamVjdGlvbi5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvbWFwYm94L3NyYy9saWIvbWFwYm94LmluamVjdGlvbi5zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXRELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQTJCLE1BQU0sZUFBZSxDQUFDOztBQThCMUY7O0dBRUc7QUFFSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsY0FBK0M7SUFDMUY7UUFDRSxLQUFLLENBQUM7WUFDSixHQUFHLEVBQUUsSUFBSSxHQUFHLEVBQW1EO1NBQ2hFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUSxJQUFJLEdBQXFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNoRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDakIsZ0NBQWdDLEVBQUUsRUFDbEMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFFTyxvQkFBb0IsR0FBMkMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ3BGLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUNsQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVGLHNCQUFzQjtJQUNiLGtCQUFrQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsd0RBQXdELENBQUMsQ0FBQztJQUM1Riw0QkFBNEIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7d0dBcEIvRix1QkFBdUI7NEdBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVTs7QUF3QlgsTUFBTSxVQUFVLHdEQUF3RCxDQUFDLEtBQXNDLEVBQUUsTUFBZ0M7SUFDL0ksTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUMzQixDQUFDO0FBRUQsTUFBTSxVQUFVLG1EQUFtRCxDQUFDLEtBQXNDLEVBQUUsR0FBMEI7SUFDcEksNkRBQTZEO0lBQzdELElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN2QixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoQixLQUFLLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWdXaXRob3V0SW5qZWN0b3IgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRTdG9yZSB9IGZyb20gJ0BuZ3J4L2NvbXBvbmVudC1zdG9yZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsTWFwSGFzRGlmZmVyZW50S2V5cywgT2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXIgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcblxuZXhwb3J0IHR5cGUgRGJ4TWFwYm94SW5qZWN0aW9uS2V5ID0gc3RyaW5nO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieE1hcGJveEluamVjdGlvbkNvbmZpZyB7XG4gIC8qKlxuICAgKiBVbmlxdWUga2V5IHRoYXQgaWRlbnRpZmllcyB0aGlzIGNvbmZpZyBzcGVjaWZpY2FsbHkuXG4gICAqXG4gICAqIEtleXMgc2hvdWxkIGFsbCBiZSB1bmlxdWUuIFRoZSBzeXN0ZW0gZG9lcyBub3QgZXhwZWN0IGR1cGxpY2F0ZSBrZXlzLiBNb2RpZmljYXRpb25zIHRvIGluamVjdGlvbkNvbmZpZyBzaG91bGQgb2NjdXIgdGhyb3VnaCB0aGUgb2JzZXJ2YWJsZSB2YWx1ZS5cbiAgICovXG4gIHJlYWRvbmx5IGtleTogRGJ4TWFwYm94SW5qZWN0aW9uS2V5O1xuICAvKipcbiAgICogQXJiaXRyYXJ5IGluamVjdGlvbiB0eXBlLiBJcyB1c2VkIGZvciBmaWx0ZXJpbmcgb24gY29uZmlndXJhdGlvbnMuXG4gICAqL1xuICByZWFkb25seSB0eXBlPzogc3RyaW5nO1xuICAvKipcbiAgICogSW5qZWN0aW9uIGNvbmZpZ3VyYXRpb24uIFRoZSBpbmplY3RvciBpcyBkaXNhbGxvd2VkLCBhcyB0aGUgcGFyZW50IGluamVjdG9yIG11c3QgaW5jbHVkZSB0aGUgbWFwYm94IGNvbXBvbmVudC5cbiAgICovXG4gIHJlYWRvbmx5IGluamVjdGlvbkNvbmZpZzogT2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXI8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnV2l0aG91dEluamVjdG9yPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYnhNYXBib3hNYXBJbmplY3Rpb25TdG9yZVN0YXRlIHtcbiAgLyoqXG4gICAqIEN1cnJlbnQgbWFwIG9mIGluamVjdGlvbiBrZXlzIGFuZCBjb25maWd1cmF0aW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IG1hcDogTWFwPERieE1hcGJveEluamVjdGlvbktleSwgRGJ4TWFwYm94SW5qZWN0aW9uQ29uZmlnPjtcblxuICAvLyBUT0RPOiBBZGQgZmlsdGVycyBmb3Igc2hvd2luZy9oaWRpbmcgZWxlbWVudHMgb2YgZGlmZmVyZW50IHR5cGVzLlxufVxuXG4vKipcbiAqIFN0b3JlIHVzZWQgZm9yIHN0b3JpbmcgaW5qZWN0YWJsZSBjb250ZW50IGludG8gdGhlIG1hcC5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERieE1hcGJveEluamVjdGlvblN0b3JlIGV4dGVuZHMgQ29tcG9uZW50U3RvcmU8RGJ4TWFwYm94TWFwSW5qZWN0aW9uU3RvcmVTdGF0ZT4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih7XG4gICAgICBtYXA6IG5ldyBNYXA8RGJ4TWFwYm94SW5qZWN0aW9uS2V5LCBEYnhNYXBib3hJbmplY3Rpb25Db25maWc+KClcbiAgICB9KTtcbiAgfVxuXG4gIHJlYWRvbmx5IG1hcCQ6IE9ic2VydmFibGU8TWFwPERieE1hcGJveEluamVjdGlvbktleSwgRGJ4TWFwYm94SW5qZWN0aW9uQ29uZmlnPj4gPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5tYXApLFxuICAgIGRpc3RpbmN0VW50aWxNYXBIYXNEaWZmZXJlbnRLZXlzKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBhbGxJbmplY3Rpb25Db25maWdzJDogT2JzZXJ2YWJsZTxEYnhNYXBib3hJbmplY3Rpb25Db25maWdbXT4gPSB0aGlzLm1hcCQucGlwZShcbiAgICBtYXAoKHgpID0+IEFycmF5LmZyb20oeC52YWx1ZXMoKSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLy8gTUFSSzogU3RhdGUgQ2hhbmdlc1xuICByZWFkb25seSBhZGRJbmplY3Rpb25Db25maWcgPSB0aGlzLnVwZGF0ZXIodXBkYXRlRGJ4TWFwYm94TWFwSW5qZWN0aW9uU3RvcmVTdGF0ZVdpdGhJbmplY3Rpb25Db25maWcpO1xuICByZWFkb25seSByZW1vdmVJbmplY3Rpb25Db25maWdXaXRoS2V5ID0gdGhpcy51cGRhdGVyKHVwZGF0ZURieE1hcGJveE1hcEluamVjdGlvblN0b3JlU3RhdGVXaXRoUmVtb3ZlZEtleSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVEYnhNYXBib3hNYXBJbmplY3Rpb25TdG9yZVN0YXRlV2l0aEluamVjdGlvbkNvbmZpZyhzdGF0ZTogRGJ4TWFwYm94TWFwSW5qZWN0aW9uU3RvcmVTdGF0ZSwgY29uZmlnOiBEYnhNYXBib3hJbmplY3Rpb25Db25maWcpIHtcbiAgY29uc3QgbWFwID0gbmV3IE1hcChzdGF0ZS5tYXApLnNldChjb25maWcua2V5LCBjb25maWcpO1xuICByZXR1cm4geyAuLi5zdGF0ZSwgbWFwIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVEYnhNYXBib3hNYXBJbmplY3Rpb25TdG9yZVN0YXRlV2l0aFJlbW92ZWRLZXkoc3RhdGU6IERieE1hcGJveE1hcEluamVjdGlvblN0b3JlU3RhdGUsIGtleTogRGJ4TWFwYm94SW5qZWN0aW9uS2V5KSB7XG4gIC8vIG9ubHkgY3JlYXRlIGEgbmV3IHN0YXRlIGlmIHRoZSBrZXkgaXMgZ29pbmcgdG8gZ2V0IHJlbW92ZWRcbiAgaWYgKHN0YXRlLm1hcC5oYXMoa2V5KSkge1xuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXAoc3RhdGUubWFwKTtcbiAgICBtYXAuZGVsZXRlKGtleSk7XG4gICAgc3RhdGUgPSB7IC4uLnN0YXRlLCBtYXAgfTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZTtcbn1cbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYm94LmluamVjdGlvbi5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvbWFwYm94L3NyYy9saWIvbWFwYm94LmluamVjdGlvbi5zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQTJCLE1BQU0sZUFBZSxDQUFDOztBQThCMUY7O0dBRUc7QUFFSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsY0FBK0M7SUFDMUY7UUFDRSxLQUFLLENBQUM7WUFDSixHQUFHLEVBQUUsSUFBSSxHQUFHLEVBQW1EO1NBQ2hFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUSxJQUFJLEdBQXFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNoRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDakIsZ0NBQWdDLEVBQUUsRUFDbEMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFFTyxvQkFBb0IsR0FBMkMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ3BGLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUNsQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVGLHNCQUFzQjtJQUNiLGtCQUFrQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsd0RBQXdELENBQUMsQ0FBQztJQUM1Riw0QkFBNEIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7d0dBcEIvRix1QkFBdUI7NEdBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVTs7QUF3QlgsTUFBTSxVQUFVLHdEQUF3RCxDQUFDLEtBQXNDLEVBQUUsTUFBZ0M7SUFDL0ksTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUMzQixDQUFDO0FBRUQsTUFBTSxVQUFVLG1EQUFtRCxDQUFDLEtBQXNDLEVBQUUsR0FBMEI7SUFDcEksNkRBQTZEO0lBQzdELElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN2QixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoQixLQUFLLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnV2l0aG91dEluamVjdG9yIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tICdAbmdyeC9jb21wb25lbnQtc3RvcmUnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbE1hcEhhc0RpZmZlcmVudEtleXMsIE9ic2VydmFibGVPclZhbHVlR2V0dGVyIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5cbmV4cG9ydCB0eXBlIERieE1hcGJveEluamVjdGlvbktleSA9IHN0cmluZztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhNYXBib3hJbmplY3Rpb25Db25maWcge1xuICAvKipcbiAgICogVW5pcXVlIGtleSB0aGF0IGlkZW50aWZpZXMgdGhpcyBjb25maWcgc3BlY2lmaWNhbGx5LlxuICAgKlxuICAgKiBLZXlzIHNob3VsZCBhbGwgYmUgdW5pcXVlLiBUaGUgc3lzdGVtIGRvZXMgbm90IGV4cGVjdCBkdXBsaWNhdGUga2V5cy4gTW9kaWZpY2F0aW9ucyB0byBpbmplY3Rpb25Db25maWcgc2hvdWxkIG9jY3VyIHRocm91Z2ggdGhlIG9ic2VydmFibGUgdmFsdWUuXG4gICAqL1xuICByZWFkb25seSBrZXk6IERieE1hcGJveEluamVjdGlvbktleTtcbiAgLyoqXG4gICAqIEFyYml0cmFyeSBpbmplY3Rpb24gdHlwZS4gSXMgdXNlZCBmb3IgZmlsdGVyaW5nIG9uIGNvbmZpZ3VyYXRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEluamVjdGlvbiBjb25maWd1cmF0aW9uLiBUaGUgaW5qZWN0b3IgaXMgZGlzYWxsb3dlZCwgYXMgdGhlIHBhcmVudCBpbmplY3RvciBtdXN0IGluY2x1ZGUgdGhlIG1hcGJveCBjb21wb25lbnQuXG4gICAqL1xuICByZWFkb25seSBpbmplY3Rpb25Db25maWc6IE9ic2VydmFibGVPclZhbHVlR2V0dGVyPERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZ1dpdGhvdXRJbmplY3Rvcj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4TWFwYm94TWFwSW5qZWN0aW9uU3RvcmVTdGF0ZSB7XG4gIC8qKlxuICAgKiBDdXJyZW50IG1hcCBvZiBpbmplY3Rpb24ga2V5cyBhbmQgY29uZmlndXJhdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBtYXA6IE1hcDxEYnhNYXBib3hJbmplY3Rpb25LZXksIERieE1hcGJveEluamVjdGlvbkNvbmZpZz47XG5cbiAgLy8gVE9ETzogQWRkIGZpbHRlcnMgZm9yIHNob3dpbmcvaGlkaW5nIGVsZW1lbnRzIG9mIGRpZmZlcmVudCB0eXBlcy5cbn1cblxuLyoqXG4gKiBTdG9yZSB1c2VkIGZvciBzdG9yaW5nIGluamVjdGFibGUgY29udGVudCBpbnRvIHRoZSBtYXAuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYnhNYXBib3hJbmplY3Rpb25TdG9yZSBleHRlbmRzIENvbXBvbmVudFN0b3JlPERieE1hcGJveE1hcEluamVjdGlvblN0b3JlU3RhdGU+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoe1xuICAgICAgbWFwOiBuZXcgTWFwPERieE1hcGJveEluamVjdGlvbktleSwgRGJ4TWFwYm94SW5qZWN0aW9uQ29uZmlnPigpXG4gICAgfSk7XG4gIH1cblxuICByZWFkb25seSBtYXAkOiBPYnNlcnZhYmxlPE1hcDxEYnhNYXBib3hJbmplY3Rpb25LZXksIERieE1hcGJveEluamVjdGlvbkNvbmZpZz4+ID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHgubWFwKSxcbiAgICBkaXN0aW5jdFVudGlsTWFwSGFzRGlmZmVyZW50S2V5cygpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgYWxsSW5qZWN0aW9uQ29uZmlncyQ6IE9ic2VydmFibGU8RGJ4TWFwYm94SW5qZWN0aW9uQ29uZmlnW10+ID0gdGhpcy5tYXAkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiBBcnJheS5mcm9tKHgudmFsdWVzKCkpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8vIE1BUks6IFN0YXRlIENoYW5nZXNcbiAgcmVhZG9ubHkgYWRkSW5qZWN0aW9uQ29uZmlnID0gdGhpcy51cGRhdGVyKHVwZGF0ZURieE1hcGJveE1hcEluamVjdGlvblN0b3JlU3RhdGVXaXRoSW5qZWN0aW9uQ29uZmlnKTtcbiAgcmVhZG9ubHkgcmVtb3ZlSW5qZWN0aW9uQ29uZmlnV2l0aEtleSA9IHRoaXMudXBkYXRlcih1cGRhdGVEYnhNYXBib3hNYXBJbmplY3Rpb25TdG9yZVN0YXRlV2l0aFJlbW92ZWRLZXkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlRGJ4TWFwYm94TWFwSW5qZWN0aW9uU3RvcmVTdGF0ZVdpdGhJbmplY3Rpb25Db25maWcoc3RhdGU6IERieE1hcGJveE1hcEluamVjdGlvblN0b3JlU3RhdGUsIGNvbmZpZzogRGJ4TWFwYm94SW5qZWN0aW9uQ29uZmlnKSB7XG4gIGNvbnN0IG1hcCA9IG5ldyBNYXAoc3RhdGUubWFwKS5zZXQoY29uZmlnLmtleSwgY29uZmlnKTtcbiAgcmV0dXJuIHsgLi4uc3RhdGUsIG1hcCB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlRGJ4TWFwYm94TWFwSW5qZWN0aW9uU3RvcmVTdGF0ZVdpdGhSZW1vdmVkS2V5KHN0YXRlOiBEYnhNYXBib3hNYXBJbmplY3Rpb25TdG9yZVN0YXRlLCBrZXk6IERieE1hcGJveEluamVjdGlvbktleSkge1xuICAvLyBvbmx5IGNyZWF0ZSBhIG5ldyBzdGF0ZSBpZiB0aGUga2V5IGlzIGdvaW5nIHRvIGdldCByZW1vdmVkXG4gIGlmIChzdGF0ZS5tYXAuaGFzKGtleSkpIHtcbiAgICBjb25zdCBtYXAgPSBuZXcgTWFwKHN0YXRlLm1hcCk7XG4gICAgbWFwLmRlbGV0ZShrZXkpO1xuICAgIHN0YXRlID0geyAuLi5zdGF0ZSwgbWFwIH07XG4gIH1cblxuICByZXR1cm4gc3RhdGU7XG59XG4iXX0=
@@ -2,12 +2,12 @@ import { shareReplay, map, distinctUntilChanged } from 'rxjs';
2
2
  import { Directive, inject } from '@angular/core';
3
3
  import { isSameVector } from '@dereekb/util';
4
4
  import { DbxMapboxLayoutComponent } from './mapbox.layout.component';
5
- import { AbstractSubscriptionDirective } from '@dereekb/dbx-core';
5
+ import { cleanSubscription } from '@dereekb/dbx-core';
6
6
  import * as i0 from "@angular/core";
7
7
  /**
8
8
  * Directive that synchronizes a map's virtual size with the size of the element.
9
9
  */
10
- export class DbxMapboxLayoutVirtualResizeSyncComponent extends AbstractSubscriptionDirective {
10
+ export class DbxMapboxLayoutVirtualResizeSyncComponent {
11
11
  dbxMapboxLayoutComponent = inject(DbxMapboxLayoutComponent, { host: true });
12
12
  resizedVector$ = this.dbxMapboxLayoutComponent.viewResized$.pipe(map(() => {
13
13
  const element = this.dbxMapboxLayoutComponent.drawerContainerElement()?.nativeElement;
@@ -17,11 +17,11 @@ export class DbxMapboxLayoutVirtualResizeSyncComponent extends AbstractSubscript
17
17
  y: clientHeight
18
18
  };
19
19
  }), distinctUntilChanged(isSameVector), shareReplay(1));
20
- ngOnInit() {
21
- this.sub = this.dbxMapboxLayoutComponent.dbxMapboxMapStore.setMinimumVirtualViewportSize(this.resizedVector$);
20
+ constructor() {
21
+ cleanSubscription(this.dbxMapboxLayoutComponent.dbxMapboxMapStore.setMinimumVirtualViewportSize(this.resizedVector$));
22
22
  }
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxLayoutVirtualResizeSyncComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
24
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxMapboxLayoutVirtualResizeSyncComponent, isStandalone: true, selector: "[dbxMapboxLayoutVirtualResizeSync]", usesInheritance: true, ngImport: i0 });
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxLayoutVirtualResizeSyncComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
24
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxMapboxLayoutVirtualResizeSyncComponent, isStandalone: true, selector: "[dbxMapboxLayoutVirtualResizeSync]", ngImport: i0 });
25
25
  }
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxLayoutVirtualResizeSyncComponent, decorators: [{
27
27
  type: Directive,
@@ -29,5 +29,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
29
29
  selector: '[dbxMapboxLayoutVirtualResizeSync]',
30
30
  standalone: true
31
31
  }]
32
- }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYm94LmxheW91dC5yZXNpemUuc3luYy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL21hcGJveC9zcmMvbGliL21hcGJveC5sYXlvdXQucmVzaXplLnN5bmMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRWxFOztHQUVHO0FBS0gsTUFBTSxPQUFPLHlDQUEwQyxTQUFRLDZCQUE2QjtJQUNqRix3QkFBd0IsR0FBRyxNQUFNLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUU1RSxjQUFjLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ3ZFLEdBQUcsQ0FBQyxHQUFHLEVBQUU7UUFDUCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxhQUE0QixDQUFDO1FBQ3JHLE1BQU0sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRTlDLE9BQU87WUFDTCxDQUFDLEVBQUUsV0FBVztZQUNkLENBQUMsRUFBRSxZQUFZO1NBQ2hCLENBQUM7SUFDSixDQUFDLENBQUMsRUFDRixvQkFBb0IsQ0FBQyxZQUFZLENBQUMsRUFDbEMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFFRixRQUFRO1FBQ04sSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsaUJBQWlCLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hILENBQUM7d0dBbkJVLHlDQUF5Qzs0RkFBekMseUNBQXlDOzs0RkFBekMseUNBQXlDO2tCQUpyRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQ0FBb0M7b0JBQzlDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNoYXJlUmVwbGF5LCBtYXAsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1NhbWVWZWN0b3IgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IERieE1hcGJveExheW91dENvbXBvbmVudCB9IGZyb20gJy4vbWFwYm94LmxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5cbi8qKlxuICogRGlyZWN0aXZlIHRoYXQgc3luY2hyb25pemVzIGEgbWFwJ3MgdmlydHVhbCBzaXplIHdpdGggdGhlIHNpemUgb2YgdGhlIGVsZW1lbnQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhNYXBib3hMYXlvdXRWaXJ0dWFsUmVzaXplU3luY10nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieE1hcGJveExheW91dFZpcnR1YWxSZXNpemVTeW5jQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICByZWFkb25seSBkYnhNYXBib3hMYXlvdXRDb21wb25lbnQgPSBpbmplY3QoRGJ4TWFwYm94TGF5b3V0Q29tcG9uZW50LCB7IGhvc3Q6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgcmVzaXplZFZlY3RvciQgPSB0aGlzLmRieE1hcGJveExheW91dENvbXBvbmVudC52aWV3UmVzaXplZCQucGlwZShcbiAgICBtYXAoKCkgPT4ge1xuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZGJ4TWFwYm94TGF5b3V0Q29tcG9uZW50LmRyYXdlckNvbnRhaW5lckVsZW1lbnQoKT8ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGNvbnN0IHsgY2xpZW50V2lkdGgsIGNsaWVudEhlaWdodCB9ID0gZWxlbWVudDtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgeDogY2xpZW50V2lkdGgsXG4gICAgICAgIHk6IGNsaWVudEhlaWdodFxuICAgICAgfTtcbiAgICB9KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZChpc1NhbWVWZWN0b3IpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWIgPSB0aGlzLmRieE1hcGJveExheW91dENvbXBvbmVudC5kYnhNYXBib3hNYXBTdG9yZS5zZXRNaW5pbXVtVmlydHVhbFZpZXdwb3J0U2l6ZSh0aGlzLnJlc2l6ZWRWZWN0b3IkKTtcbiAgfVxufVxuIl19
32
+ }], ctorParameters: () => [] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYm94LmxheW91dC5yZXNpemUuc3luYy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL21hcGJveC9zcmMvbGliL21hcGJveC5sYXlvdXQucmVzaXplLnN5bmMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUV0RDs7R0FFRztBQUtILE1BQU0sT0FBTyx5Q0FBeUM7SUFDM0Msd0JBQXdCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFNUUsY0FBYyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN2RSxHQUFHLENBQUMsR0FBRyxFQUFFO1FBQ1AsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHNCQUFzQixFQUFFLEVBQUUsYUFBNEIsQ0FBQztRQUNyRyxNQUFNLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUU5QyxPQUFPO1lBQ0wsQ0FBQyxFQUFFLFdBQVc7WUFDZCxDQUFDLEVBQUUsWUFBWTtTQUNoQixDQUFDO0lBQ0osQ0FBQyxDQUFDLEVBQ0Ysb0JBQW9CLENBQUMsWUFBWSxDQUFDLEVBQ2xDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBRUY7UUFDRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsaUJBQWlCLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBaUIsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7d0dBbkJVLHlDQUF5Qzs0RkFBekMseUNBQXlDOzs0RkFBekMseUNBQXlDO2tCQUpyRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQ0FBb0M7b0JBQzlDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNoYXJlUmVwbGF5LCBtYXAsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1NhbWVWZWN0b3IgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IERieE1hcGJveExheW91dENvbXBvbmVudCB9IGZyb20gJy4vbWFwYm94LmxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgY2xlYW5TdWJzY3JpcHRpb24gfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5cbi8qKlxuICogRGlyZWN0aXZlIHRoYXQgc3luY2hyb25pemVzIGEgbWFwJ3MgdmlydHVhbCBzaXplIHdpdGggdGhlIHNpemUgb2YgdGhlIGVsZW1lbnQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhNYXBib3hMYXlvdXRWaXJ0dWFsUmVzaXplU3luY10nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieE1hcGJveExheW91dFZpcnR1YWxSZXNpemVTeW5jQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgZGJ4TWFwYm94TGF5b3V0Q29tcG9uZW50ID0gaW5qZWN0KERieE1hcGJveExheW91dENvbXBvbmVudCwgeyBob3N0OiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IHJlc2l6ZWRWZWN0b3IkID0gdGhpcy5kYnhNYXBib3hMYXlvdXRDb21wb25lbnQudmlld1Jlc2l6ZWQkLnBpcGUoXG4gICAgbWFwKCgpID0+IHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmRieE1hcGJveExheW91dENvbXBvbmVudC5kcmF3ZXJDb250YWluZXJFbGVtZW50KCk/Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBjb25zdCB7IGNsaWVudFdpZHRoLCBjbGllbnRIZWlnaHQgfSA9IGVsZW1lbnQ7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHg6IGNsaWVudFdpZHRoLFxuICAgICAgICB5OiBjbGllbnRIZWlnaHRcbiAgICAgIH07XG4gICAgfSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoaXNTYW1lVmVjdG9yKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNsZWFuU3Vic2NyaXB0aW9uKHRoaXMuZGJ4TWFwYm94TGF5b3V0Q29tcG9uZW50LmRieE1hcGJveE1hcFN0b3JlLnNldE1pbmltdW1WaXJ0dWFsVmlld3BvcnRTaXplKHRoaXMucmVzaXplZFZlY3RvciQpIGFzIFN1YnNjcmlwdGlvbik7XG4gIH1cbn1cbiJdfQ==
@@ -4,7 +4,7 @@ import { DbxMapboxMapStore } from './mapbox.store';
4
4
  import { ChangeDetectionStrategy, Component, inject, signal, input, effect } from '@angular/core';
5
5
  import { DestroyFunctionObject, isNotFalse } from '@dereekb/util';
6
6
  import { MatMenuTrigger } from '@angular/material/menu';
7
- import { AbstractSubscriptionDirective } from '@dereekb/dbx-core';
7
+ import { clean, cleanSubscription } from '@dereekb/dbx-core';
8
8
  import { disableRightClickInCdkBackdrop } from '@dereekb/dbx-web';
9
9
  import { toObservable } from '@angular/core/rxjs-interop';
10
10
  import * as i0 from "@angular/core";
@@ -13,7 +13,7 @@ import * as i0 from "@angular/core";
13
13
  *
14
14
  * The map dissapears if the mouse scrolls anywhere else on the map.
15
15
  */
16
- export class DbxMapboxMenuComponent extends AbstractSubscriptionDirective {
16
+ export class DbxMapboxMenuComponent {
17
17
  dbxMapboxMapStore = inject(DbxMapboxMapStore);
18
18
  matMenuTrigger = inject(MatMenuTrigger, { host: true });
19
19
  active = input(true, { transform: isNotFalse });
@@ -30,11 +30,12 @@ export class DbxMapboxMenuComponent extends AbstractSubscriptionDirective {
30
30
  break;
31
31
  }
32
32
  });
33
+ active$ = toObservable(this.active);
34
+ _sub = cleanSubscription();
33
35
  _menuCloseSub = new SubscriptionObject();
34
36
  _preventRightClick = new DestroyFunctionObject();
35
- active$ = toObservable(this.active);
36
- ngOnInit() {
37
- this.sub = this.active$
37
+ constructor() {
38
+ cleanSubscription(this.active$
38
39
  .pipe(switchMap((active) => {
39
40
  if (active) {
40
41
  return this.dbxMapboxMapStore.rightClickEvent$;
@@ -60,22 +61,19 @@ export class DbxMapboxMenuComponent extends AbstractSubscriptionDirective {
60
61
  this.matMenuTrigger.closeMenu();
61
62
  });
62
63
  }
63
- });
64
- this._menuCloseSub.subscription = this.matMenuTrigger.menuClosed.subscribe(() => {
64
+ }));
65
+ cleanSubscription(this.matMenuTrigger.menuClosed.subscribe(() => {
65
66
  // destroy prevention when the menu is closed.
66
67
  this._preventRightClick.destroy();
68
+ }));
69
+ clean(() => {
70
+ if (this.matMenuTrigger) {
71
+ this.matMenuTrigger.closeMenu();
72
+ }
67
73
  });
68
74
  }
69
- ngOnDestroy() {
70
- super.ngOnDestroy();
71
- this._menuCloseSub.destroy();
72
- this._preventRightClick.destroy();
73
- if (this.matMenuTrigger) {
74
- this.matMenuTrigger.closeMenu();
75
- }
76
- }
77
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxMenuComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
78
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: DbxMapboxMenuComponent, isStandalone: true, selector: "dbx-mapbox-menu", inputs: { active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.top": "posSignal().y", "style.left": "posSignal().x" }, styleAttribute: "visibility: hidden; position: fixed" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
75
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
76
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: DbxMapboxMenuComponent, isStandalone: true, selector: "dbx-mapbox-menu", inputs: { active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.top": "posSignal().y", "style.left": "posSignal().x" }, styleAttribute: "visibility: hidden; position: fixed" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
77
  }
80
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxMenuComponent, decorators: [{
81
79
  type: Component,
@@ -90,5 +88,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
90
88
  changeDetection: ChangeDetectionStrategy.OnPush,
91
89
  standalone: true
92
90
  }]
93
- }] });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYm94Lm1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9tYXBib3gvc3JjL2xpYi9tYXBib3gubWVudS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFxQixNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFTLHFCQUFxQixFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUUxRDs7OztHQUlHO0FBWUgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLDZCQUE2QjtJQUM5RCxpQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM5QyxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRXhELE1BQU0sR0FBRyxLQUFLLENBQTBCLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBRXpFLGVBQWUsR0FBRyxN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QVNELHNCQUFzQjtrQkFYbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsRUFBRTtvQkFDWixJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLHFDQUFxQzt3QkFDNUMsYUFBYSxFQUFFLGVBQWU7d0JBQzlCLGNBQWMsRUFBRSxlQUFlO3FCQUNoQztvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3Vic2NyaXB0aW9uT2JqZWN0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHN3aXRjaE1hcCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERieE1hcGJveE1hcFN0b3JlIH0gZnJvbSAnLi9tYXBib3guc3RvcmUnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIGluamVjdCwgc2lnbmFsLCBpbnB1dCwgZWZmZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXliZSwgRGVzdHJveUZ1bmN0aW9uT2JqZWN0LCBpc05vdEZhbHNlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBNYXRNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBkaXNhYmxlUmlnaHRDbGlja0luQ2RrQmFja2Ryb3AgfSBmcm9tICdAZGVyZWVrYi9kYngtd2ViJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgdGhhdCBjb25uZWN0cyBhIGhvc3QgTWF0TWVudVRyaWdnZXIgdG8gYSBEYnhNYXBib3hNYXBTdG9yZSBhbmQgbGlzdGVucyBmb3IgcmlnaHQtY2xpY2tzIG9uIHRoZSBtYXAuXG4gKlxuICogVGhlIG1hcCBkaXNzYXBlYXJzIGlmIHRoZSBtb3VzZSBzY3JvbGxzIGFueXdoZXJlIGVsc2Ugb24gdGhlIG1hcC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LW1hcGJveC1tZW51JyxcbiAgdGVtcGxhdGU6ICcnLFxuICBob3N0OiB7XG4gICAgc3R5bGU6ICd2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBmaXhlZCcsXG4gICAgJ1tzdHlsZS50b3BdJzogJ3Bvc1NpZ25hbCgpLnknLFxuICAgICdbc3R5bGUubGVmdF0nOiAncG9zU2lnbmFsKCkueCdcbiAgfSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGJ4TWFwYm94TWVudUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICByZWFkb25seSBkYnhNYXBib3hNYXBTdG9yZSA9IGluamVjdChEYnhNYXBib3hNYXBTdG9yZSk7XG4gIHJlYWRvbmx5IG1hdE1lbnVUcmlnZ2VyID0gaW5qZWN0KE1hdE1lbnVUcmlnZ2VyLCB7IGhvc3Q6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgYWN0aXZlID0gaW5wdXQ8Ym9vbGVhbiwgTWF5YmU8Ym9vbGVhbj4+KHRydWUsIHsgdHJhbnNmb3JtOiBpc05vdEZhbHNlIH0pO1xuXG4gIHJlYWRvbmx5IG9wZW5DbG9zZVNpZ25hbCA9IHNpZ25hbDxNYXliZTxib29sZWFuPj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgcG9zU2lnbmFsID0gc2lnbmFsPHsgeDogc3RyaW5nOyB5OiBzdHJpbmcgfT4oeyB4OiBgMGAsIHk6IGAwYCB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX29wZW5DbG9zZUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgb3Blbk9yQ2xvc2UgPSB0aGlzLm9wZW5DbG9zZVNpZ25hbCgpO1xuXG4gICAgc3dpdGNoIChvcGVuT3JDbG9zZSkge1xuICAgICAgY2FzZSB0cnVlOlxuICAgICAgICB0aGlzLm1hdE1lbnVUcmlnZ2VyLm9wZW5NZW51KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBmYWxzZTpcbiAgICAgICAgdGhpcy5tYXRNZW51VHJpZ2dlci5jbG9zZU1lbnUoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9KTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9tZW51Q2xvc2VTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ByZXZlbnRSaWdodENsaWNrID0gbmV3IERlc3Ryb3lGdW5jdGlvbk9iamVjdCgpO1xuXG4gIHJlYWRvbmx5IGFjdGl2ZSQgPSB0b09ic2VydmFibGUodGhpcy5hY3RpdmUpO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViID0gdGhpcy5hY3RpdmUkXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChhY3RpdmUpID0+IHtcbiAgICAgICAgICBpZiAoYWN0aXZlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kYnhNYXBib3hNYXBTdG9yZS5yaWdodENsaWNrRXZlbnQkO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBmaWx0ZXIoQm9vbGVhbilcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG1lbnUgPSB0aGlzLm1hdE1lbnVUcmlnZ2VyLm1lbnU7XG4gICAgICAgIGNvbnN0IGJ1dHRvbkV2ZW50ID0gZXZlbnQub3JpZ2luYWxFdmVudDtcblxuICAgICAgICBpZiAobWVudSAmJiBidXR0b25FdmVudCkge1xuICAgICAgICAgIGJ1dHRvbkV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAvLyB1cGRhdGUgcG9zaXRpb24gb2YgdGhpcyBjb21wb25lbnQgZm9yIG1lbnUgdG8gb3BlbiBhdFxuICAgICAgICAgIHRoaXMucG9zU2lnbmFsLnNldCh7XG4gICAgICAgICAgICB4OiBgJHtidXR0b25FdmVudC54fXB4YCxcbiAgICAgICAgICAgIHk6IGAke2J1dHRvbkV2ZW50Lnl9cHhgXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICAvLyBvcGVuIG1lbnVcbiAgICAgICAgICB0aGlzLm1hdE1lbnVUcmlnZ2VyLm9wZW5NZW51KCk7XG5cbiAgICAgICAgICAvLyBwcmV2ZW50IHJpZ2h0IGNsaWNrcyBpbiB0aGUgY2RrT3ZlcmxheSB3aGlsZSB0aGUgbWVudSBpcyBvcGVuXG4gICAgICAgICAgdGhpcy5fcHJldmVudFJpZ2h0Q2xpY2suZGVzdHJveSA9IGRpc2FibGVSaWdodENsaWNrSW5DZGtCYWNrZHJvcCh1bmRlZmluZWQsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubWF0TWVudVRyaWdnZXIuY2xvc2VNZW51KCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy5fbWVudUNsb3NlU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMubWF0TWVudVRyaWdnZXIubWVudUNsb3NlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgLy8gZGVzdHJveSBwcmV2ZW50aW9uIHdoZW4gdGhlIG1lbnUgaXMgY2xvc2VkLlxuICAgICAgdGhpcy5fcHJldmVudFJpZ2h0Q2xpY2suZGVzdHJveSgpO1xuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLl9tZW51Q2xvc2VTdWIuZGVzdHJveSgpO1xuICAgIHRoaXMuX3ByZXZlbnRSaWdodENsaWNrLmRlc3Ryb3koKTtcblxuICAgIGlmICh0aGlzLm1hdE1lbnVUcmlnZ2VyKSB7XG4gICAgICB0aGlzLm1hdE1lbnVUcmlnZ2VyLmNsb3NlTWVudSgpO1xuICAgIH1cbiAgfVxufVxuIl19
91
+ }], ctorParameters: () => [] });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYm94Lm1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9tYXBib3gvc3JjL2xpYi9tYXBib3gubWVudS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQVMscUJBQXFCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUUxRDs7OztHQUlHO0FBWUgsTUFBTSxPQUFPLHNCQUFzQjtJQUN4QixpQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM5QyxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRXhELE1BQU0sR0FBRyxLQUFLLENBQTBCLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBRXpFLGVBQWUsR0FBRyxNQUFNLENBQWlCLFNBQVMsQ0FBQyxDQUFDO0lBQ3BELFNBQVMsR0FBRyxNQUFNLENBQTJCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUV2RCxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1FBQ2hELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUUzQyxRQUFRLFdBQVcsRUFBRSxDQUFDO1lBQ3BCLEtBQUssSUFBSTtnQkFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUMvQixNQUFNO1lBQ1IsS0FBSyxLQUFLO2dCQUNSLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2hDLE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFTSxPQUFPLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUUxQixJQUFJLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztJQUM3QixhQUFhLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBQ3pDLGtCQUFrQixHQUFHLElBQUkscUJBQXFCLEVBQUUsQ0FBQztJQUVsRTtRQUNFLGlCQUFpQixDQUNmLElBQUksQ0FBQyxPQUFPO2FBQ1QsSUFBSSxDQUNILFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ25CLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUM7WUFDakQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUNoQjthQUNBLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ3RDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7WUFFeEMsSUFBSSxJQUFJLElBQUksV0FBVyxFQUFFLENBQUM7Z0JBQ3hCLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFFN0Isd0RBQXdEO2dCQUN4RCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQztvQkFDakIsQ0FBQyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsSUFBSTtvQkFDdkIsQ0FBQyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsSUFBSTtpQkFDeEIsQ0FBQyxDQUFDO2dCQUVILFlBQVk7Z0JBQ1osSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFFL0IsZ0VBQWdFO2dCQUNoRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxHQUFHLDhCQUE4QixDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUU7b0JBQy9FLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNMLENBQUM7UUFFRixpQkFBaUIsQ0FDZixJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzVDLDhDQUE4QztZQUM5QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDVCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQTdFVSxzQkFBc0I7NEZBQXRCLHNCQUFzQixnV0FUdkIsRUFBRTs7NEZBU0Qsc0JBQXNCO2tCQVhsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRSxFQUFFO29CQUNaLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUscUNBQXFDO3dCQUM1QyxhQUFhLEVBQUUsZUFBZTt3QkFDOUIsY0FBYyxFQUFFLGVBQWU7cUJBQ2hDO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IGZpbHRlciwgc3dpdGNoTWFwLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGJ4TWFwYm94TWFwU3RvcmUgfSBmcm9tICcuL21hcGJveC5zdG9yZSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIHNpZ25hbCwgaW5wdXQsIGVmZmVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF5YmUsIERlc3Ryb3lGdW5jdGlvbk9iamVjdCwgaXNOb3RGYWxzZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IGNsZWFuLCBjbGVhblN1YnNjcmlwdGlvbiB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IGRpc2FibGVSaWdodENsaWNrSW5DZGtCYWNrZHJvcCB9IGZyb20gJ0BkZXJlZWtiL2RieC13ZWInO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0aGF0IGNvbm5lY3RzIGEgaG9zdCBNYXRNZW51VHJpZ2dlciB0byBhIERieE1hcGJveE1hcFN0b3JlIGFuZCBsaXN0ZW5zIGZvciByaWdodC1jbGlja3Mgb24gdGhlIG1hcC5cbiAqXG4gKiBUaGUgbWFwIGRpc3NhcGVhcnMgaWYgdGhlIG1vdXNlIHNjcm9sbHMgYW55d2hlcmUgZWxzZSBvbiB0aGUgbWFwLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtbWFwYm94LW1lbnUnLFxuICB0ZW1wbGF0ZTogJycsXG4gIGhvc3Q6IHtcbiAgICBzdHlsZTogJ3Zpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGZpeGVkJyxcbiAgICAnW3N0eWxlLnRvcF0nOiAncG9zU2lnbmFsKCkueScsXG4gICAgJ1tzdHlsZS5sZWZ0XSc6ICdwb3NTaWduYWwoKS54J1xuICB9LFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEYnhNYXBib3hNZW51Q29tcG9uZW50IHtcbiAgcmVhZG9ubHkgZGJ4TWFwYm94TWFwU3RvcmUgPSBpbmplY3QoRGJ4TWFwYm94TWFwU3RvcmUpO1xuICByZWFkb25seSBtYXRNZW51VHJpZ2dlciA9IGluamVjdChNYXRNZW51VHJpZ2dlciwgeyBob3N0OiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IGFjdGl2ZSA9IGlucHV0PGJvb2xlYW4sIE1heWJlPGJvb2xlYW4+Pih0cnVlLCB7IHRyYW5zZm9ybTogaXNOb3RGYWxzZSB9KTtcblxuICByZWFkb25seSBvcGVuQ2xvc2VTaWduYWwgPSBzaWduYWw8TWF5YmU8Ym9vbGVhbj4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IHBvc1NpZ25hbCA9IHNpZ25hbDx7IHg6IHN0cmluZzsgeTogc3RyaW5nIH0+KHsgeDogYDBgLCB5OiBgMGAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9vcGVuQ2xvc2VFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IG9wZW5PckNsb3NlID0gdGhpcy5vcGVuQ2xvc2VTaWduYWwoKTtcblxuICAgIHN3aXRjaCAob3Blbk9yQ2xvc2UpIHtcbiAgICAgIGNhc2UgdHJ1ZTpcbiAgICAgICAgdGhpcy5tYXRNZW51VHJpZ2dlci5vcGVuTWVudSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgZmFsc2U6XG4gICAgICAgIHRoaXMubWF0TWVudVRyaWdnZXIuY2xvc2VNZW51KCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfSk7XG5cbiAgcmVhZG9ubHkgYWN0aXZlJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLmFjdGl2ZSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9zdWIgPSBjbGVhblN1YnNjcmlwdGlvbigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9tZW51Q2xvc2VTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ByZXZlbnRSaWdodENsaWNrID0gbmV3IERlc3Ryb3lGdW5jdGlvbk9iamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNsZWFuU3Vic2NyaXB0aW9uKFxuICAgICAgdGhpcy5hY3RpdmUkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHN3aXRjaE1hcCgoYWN0aXZlKSA9PiB7XG4gICAgICAgICAgICBpZiAoYWN0aXZlKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmRieE1hcGJveE1hcFN0b3JlLnJpZ2h0Q2xpY2tFdmVudCQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSxcbiAgICAgICAgICBmaWx0ZXIoQm9vbGVhbilcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG1lbnUgPSB0aGlzLm1hdE1lbnVUcmlnZ2VyLm1lbnU7XG4gICAgICAgICAgY29uc3QgYnV0dG9uRXZlbnQgPSBldmVudC5vcmlnaW5hbEV2ZW50O1xuXG4gICAgICAgICAgaWYgKG1lbnUgJiYgYnV0dG9uRXZlbnQpIHtcbiAgICAgICAgICAgIGJ1dHRvbkV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgIC8vIHVwZGF0ZSBwb3NpdGlvbiBvZiB0aGlzIGNvbXBvbmVudCBmb3IgbWVudSB0byBvcGVuIGF0XG4gICAgICAgICAgICB0aGlzLnBvc1NpZ25hbC5zZXQoe1xuICAgICAgICAgICAgICB4OiBgJHtidXR0b25FdmVudC54fXB4YCxcbiAgICAgICAgICAgICAgeTogYCR7YnV0dG9uRXZlbnQueX1weGBcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBvcGVuIG1lbnVcbiAgICAgICAgICAgIHRoaXMubWF0TWVudVRyaWdnZXIub3Blbk1lbnUoKTtcblxuICAgICAgICAgICAgLy8gcHJldmVudCByaWdodCBjbGlja3MgaW4gdGhlIGNka092ZXJsYXkgd2hpbGUgdGhlIG1lbnUgaXMgb3BlblxuICAgICAgICAgICAgdGhpcy5fcHJldmVudFJpZ2h0Q2xpY2suZGVzdHJveSA9IGRpc2FibGVSaWdodENsaWNrSW5DZGtCYWNrZHJvcCh1bmRlZmluZWQsICgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5tYXRNZW51VHJpZ2dlci5jbG9zZU1lbnUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgY2xlYW5TdWJzY3JpcHRpb24oXG4gICAgICB0aGlzLm1hdE1lbnVUcmlnZ2VyLm1lbnVDbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gZGVzdHJveSBwcmV2ZW50aW9uIHdoZW4gdGhlIG1lbnUgaXMgY2xvc2VkLlxuICAgICAgICB0aGlzLl9wcmV2ZW50UmlnaHRDbGljay5kZXN0cm95KCk7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICBjbGVhbigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5tYXRNZW51VHJpZ2dlcikge1xuICAgICAgICB0aGlzLm1hdE1lbnVUcmlnZ2VyLmNsb3NlTWVudSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=