@scion/workbench 18.0.0-beta.2 → 18.0.0-beta.4

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 (223) hide show
  1. package/esm2022/lib/common/class-list.mjs +67 -29
  2. package/esm2022/lib/common/objects.util.mjs +7 -1
  3. package/esm2022/lib/common/operators.mjs +1 -12
  4. package/esm2022/lib/common/uid.util.mjs +22 -0
  5. package/esm2022/lib/content-projection/content-as-overlay.component.mjs +3 -3
  6. package/esm2022/lib/content-projection/content-projection.directive.mjs +16 -17
  7. package/esm2022/lib/dialog/dialog-header/dialog-header.component.mjs +3 -8
  8. package/esm2022/lib/dialog/workbench-dialog.component.mjs +22 -20
  9. package/esm2022/lib/dialog/workbench-dialog.mjs +61 -1
  10. package/esm2022/lib/dialog//311/265workbench-dialog.mjs +71 -26
  11. package/esm2022/lib/dialog//311/265workbench-dialog.service.mjs +25 -23
  12. package/esm2022/lib/executor/latest-task-executor.mjs +55 -0
  13. package/esm2022/lib/executor/single-task-executor.mjs +7 -17
  14. package/esm2022/lib/filter-field/filter-field.component.mjs +5 -5
  15. package/esm2022/lib/layout/grid-element/grid-element.component.mjs +6 -16
  16. package/esm2022/lib/layout/main-area-layout/main-area-layout.component.mjs +5 -6
  17. package/esm2022/lib/layout/migration/model/workbench-layout-migration-v5.model.mjs +11 -0
  18. package/esm2022/lib/layout/migration/workbench-layout-migration-v3.service.mjs +4 -4
  19. package/esm2022/lib/layout/migration/workbench-layout-migration-v5.service.mjs +67 -0
  20. package/esm2022/lib/layout/stringifier.mjs +70 -0
  21. package/esm2022/lib/layout/workbench-layout.component.mjs +4 -5
  22. package/esm2022/lib/layout/workbench-layout.mjs +1 -1
  23. package/esm2022/lib/layout/workbench-layout.model.mjs +1 -1
  24. package/esm2022/lib/layout/workbench-layout.service.mjs +6 -7
  25. package/esm2022/lib/layout/workench-layout-serializer.service.mjs +16 -25
  26. package/esm2022/lib/layout//311/265workbench-layout.factory.mjs +2 -2
  27. package/esm2022/lib/layout//311/265workbench-layout.mjs +45 -48
  28. package/esm2022/lib/message-box/message-box-footer/message-box-footer.component.mjs +3 -3
  29. package/esm2022/lib/message-box/message-box-header/message-box-header.component.mjs +3 -3
  30. package/esm2022/lib/microfrontend-platform/common/microfrontend.util.mjs +22 -6
  31. package/esm2022/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.mjs +28 -21
  32. package/esm2022/lib/microfrontend-platform/initialization/workbench-host-manifest-interceptor.service.mjs +11 -1
  33. package/esm2022/lib/microfrontend-platform/manifest-object-cache.service.mjs +63 -0
  34. package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-capability-validator.interceptor.mjs +5 -4
  35. package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog.component.mjs +4 -4
  36. package/esm2022/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.mjs +14 -6
  37. package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/microfrontend-host-message-box.component.mjs +3 -3
  38. package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.mjs +3 -3
  39. package/esm2022/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.mjs +7 -6
  40. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-capability-validator.interceptor.mjs +3 -2
  41. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box.component.mjs +4 -4
  42. package/esm2022/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-capability-validator.interceptor.mjs +39 -0
  43. package/esm2022/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-installer.service.mjs +120 -0
  44. package/esm2022/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-intent-handler.interceptor.mjs +55 -0
  45. package/esm2022/lib/microfrontend-platform/microfrontend-perspective/workbench-perspective-data.mjs +19 -0
  46. package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-capability-validator.interceptor.mjs +4 -3
  47. package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-intent-handler.interceptor.mjs +11 -12
  48. package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.mjs +4 -15
  49. package/esm2022/lib/microfrontend-platform/microfrontend-splash/microfrontend-splash.component.mjs +3 -3
  50. package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view-command-handler.service.mjs +11 -27
  51. package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.mjs +49 -22
  52. package/esm2022/lib/microfrontend-platform/public_api.mjs +2 -1
  53. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-validator.interceptor.mjs +5 -4
  54. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-intent-handler.interceptor.mjs +18 -16
  55. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-routes.mjs +28 -6
  56. package/esm2022/lib/microfrontend-platform/stable-capability-id-assigner.interceptor.mjs +32 -0
  57. package/esm2022/lib/microfrontend-platform/workbench-microfrontend-support.mjs +25 -7
  58. package/esm2022/lib/notification/notification-list.component.mjs +4 -8
  59. package/esm2022/lib/notification/notification.component.mjs +4 -5
  60. package/esm2022/lib/page-not-found/format-url.pipe.mjs +2 -2
  61. package/esm2022/lib/page-not-found/page-not-found.component.mjs +3 -3
  62. package/esm2022/lib/part/part-action-bar/part-action-bar.component.mjs +7 -13
  63. package/esm2022/lib/part/part-action-bar/part-action.directive.mjs +4 -4
  64. package/esm2022/lib/part/part-bar/part-bar.component.mjs +56 -75
  65. package/esm2022/lib/part/part-portal.pipe.mjs +8 -8
  66. package/esm2022/lib/part/part.component.mjs +32 -42
  67. package/esm2022/lib/part/view-context-menu/view-menu.component.mjs +4 -6
  68. package/esm2022/lib/part/view-context-menu/view-menu.directive.mjs +2 -2
  69. package/esm2022/lib/part/view-context-menu/view-menu.service.mjs +27 -28
  70. package/esm2022/lib/part/view-list/view-list.component.mjs +41 -48
  71. package/esm2022/lib/part/view-list-button/view-list-button.component.mjs +20 -24
  72. package/esm2022/lib/part/view-list-item/view-list-item.component.mjs +15 -17
  73. package/esm2022/lib/part/view-tab/view-tab.component.mjs +77 -88
  74. package/esm2022/lib/part/view-tab-content/view-tab-content.component.mjs +3 -4
  75. package/esm2022/lib/part/view-tab-drag-image/view-tab-drag-image.component.mjs +14 -15
  76. package/esm2022/lib/part/workbench-part-action.registry.mjs +18 -42
  77. package/esm2022/lib/part/workbench-part.model.mjs +10 -1
  78. package/esm2022/lib/part/workbench-part.registry.mjs +11 -45
  79. package/esm2022/lib/part//311/265workbench-part.model.mjs +71 -55
  80. package/esm2022/lib/perspective/workbench-grid-merger.service.mjs +3 -3
  81. package/esm2022/lib/perspective/workbench-perspective.model.mjs +1 -1
  82. package/esm2022/lib/perspective/workbench-perspective.registry.mjs +11 -43
  83. package/esm2022/lib/perspective/workbench-perspective.service.mjs +71 -62
  84. package/esm2022/lib/perspective//311/265workbench-perspective.model.mjs +40 -28
  85. package/esm2022/lib/popup/popup.component.mjs +3 -3
  86. package/esm2022/lib/popup/popup.config.mjs +23 -13
  87. package/esm2022/lib/popup/popup.service.mjs +48 -45
  88. package/esm2022/lib/portal/wb-component-portal.mjs +3 -1
  89. package/esm2022/lib/registry/workbench-object-registry.mjs +38 -17
  90. package/esm2022/lib/routing/public_api.mjs +1 -2
  91. package/esm2022/lib/routing/routing.model.mjs +1 -1
  92. package/esm2022/lib/routing/routing.util.mjs +210 -0
  93. package/esm2022/lib/routing/workbench-auxiliary-route-installer.service.mjs +110 -0
  94. package/esm2022/lib/routing/workbench-dialog-differ.mjs +3 -3
  95. package/esm2022/lib/routing/workbench-layout-differ.mjs +3 -10
  96. package/esm2022/lib/routing/workbench-message-box-differ.mjs +3 -3
  97. package/esm2022/lib/routing/workbench-navigational-states.mjs +1 -1
  98. package/esm2022/lib/routing/workbench-popup-differ.mjs +3 -3
  99. package/esm2022/lib/routing/workbench-url-observer.service.mjs +138 -147
  100. package/esm2022/lib/routing/workbench-view-outlet-differ.mjs +58 -0
  101. package/esm2022/lib/routing//311/265workbench-router.service.mjs +42 -32
  102. package/esm2022/lib/startup/splash/splash.component.mjs +3 -3
  103. package/esm2022/lib/testing/workbench.provider.mjs +2 -2
  104. package/esm2022/lib/theme/workbench-theme-switcher.service.mjs +15 -19
  105. package/esm2022/lib/view/view-move-handler.service.mjs +11 -11
  106. package/esm2022/lib/view/view-portal.pipe.mjs +7 -7
  107. package/esm2022/lib/view/view.component.mjs +42 -41
  108. package/esm2022/lib/view/workbench-view-route-guards.mjs +5 -5
  109. package/esm2022/lib/view/workbench-view.model.mjs +1 -1
  110. package/esm2022/lib/view/workbench-view.registry.mjs +11 -45
  111. package/esm2022/lib/view//311/265workbench-view.model.mjs +136 -144
  112. package/esm2022/lib/view-dnd/grid-drop-targets.util.mjs +2 -2
  113. package/esm2022/lib/view-dnd/view-drag.service.mjs +1 -1
  114. package/esm2022/lib/view-dnd/view-tab-drag-image-renderer.service.mjs +18 -20
  115. package/esm2022/lib/workbench-config.mjs +1 -1
  116. package/esm2022/lib/workbench-id.mjs +3 -3
  117. package/esm2022/lib/workbench.component.mjs +2 -2
  118. package/esm2022/lib/workbench.constants.mjs +1 -5
  119. package/esm2022/lib/workbench.model.mjs +1 -1
  120. package/esm2022/lib/workbench.provider.mjs +3 -9
  121. package/esm2022/lib/workbench.service.mjs +1 -1
  122. package/esm2022/lib//311/265workbench.service.mjs +31 -42
  123. package/fesm2022/scion-workbench.mjs +2586 -1996
  124. package/fesm2022/scion-workbench.mjs.map +1 -1
  125. package/lib/common/class-list.d.ts +35 -22
  126. package/lib/common/objects.util.d.ts +4 -0
  127. package/lib/common/operators.d.ts +1 -6
  128. package/lib/common/uid.util.d.ts +9 -0
  129. package/lib/dialog/workbench-dialog.component.d.ts +3 -2
  130. package/lib/dialog/workbench-dialog.d.ts +57 -13
  131. package/lib/dialog//311/265workbench-dialog.d.ts +36 -17
  132. package/lib/dialog//311/265workbench-dialog.service.d.ts +10 -11
  133. package/lib/executor/latest-task-executor.d.ts +26 -0
  134. package/lib/executor/single-task-executor.d.ts +3 -6
  135. package/lib/filter-field/filter-field.component.d.ts +1 -1
  136. package/lib/layout/grid-element/grid-element.component.d.ts +1 -8
  137. package/lib/layout/migration/model/workbench-layout-migration-v5.model.d.ts +36 -0
  138. package/lib/layout/migration/workbench-layout-migration-v5.service.d.ts +12 -0
  139. package/lib/layout/stringifier.d.ts +26 -0
  140. package/lib/layout/workbench-layout.d.ts +9 -6
  141. package/lib/layout/workbench-layout.model.d.ts +5 -3
  142. package/lib/layout/workbench-layout.service.d.ts +4 -4
  143. package/lib/layout/workench-layout-serializer.service.d.ts +13 -15
  144. package/lib/layout//311/265workbench-layout.d.ts +13 -16
  145. package/lib/layout//311/265workbench-layout.factory.d.ts +2 -2
  146. package/lib/microfrontend-platform/common/microfrontend.util.d.ts +5 -1
  147. package/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.d.ts +7 -3
  148. package/lib/microfrontend-platform/manifest-object-cache.service.d.ts +33 -0
  149. package/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.d.ts +1 -5
  150. package/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.d.ts +1 -1
  151. package/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-capability-validator.interceptor.d.ts +10 -0
  152. package/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-installer.service.d.ts +24 -0
  153. package/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-intent-handler.interceptor.d.ts +20 -0
  154. package/lib/microfrontend-platform/microfrontend-perspective/workbench-perspective-data.d.ts +9 -0
  155. package/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-intent-handler.interceptor.d.ts +4 -8
  156. package/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.d.ts +0 -4
  157. package/lib/microfrontend-platform/microfrontend-view/microfrontend-view-command-handler.service.d.ts +5 -12
  158. package/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.d.ts +7 -2
  159. package/lib/microfrontend-platform/public_api.d.ts +1 -0
  160. package/lib/microfrontend-platform/routing/microfrontend-view-capability-validator.interceptor.d.ts +1 -1
  161. package/lib/microfrontend-platform/routing/microfrontend-view-intent-handler.interceptor.d.ts +3 -7
  162. package/lib/microfrontend-platform/routing/microfrontend-view-routes.d.ts +9 -2
  163. package/lib/microfrontend-platform/stable-capability-id-assigner.interceptor.d.ts +11 -0
  164. package/lib/notification/notification-list.component.d.ts +0 -2
  165. package/lib/part/part-action-bar/part-action-bar.component.d.ts +4 -1
  166. package/lib/part/part-action-bar/part-action.directive.d.ts +2 -2
  167. package/lib/part/part-bar/part-bar.component.d.ts +8 -12
  168. package/lib/part/part-portal.pipe.d.ts +3 -5
  169. package/lib/part/part.component.d.ts +9 -12
  170. package/lib/part/view-context-menu/view-menu.directive.d.ts +1 -1
  171. package/lib/part/view-context-menu/view-menu.service.d.ts +8 -12
  172. package/lib/part/view-list/view-list.component.d.ts +8 -21
  173. package/lib/part/view-list-button/view-list-button.component.d.ts +8 -11
  174. package/lib/part/view-list-item/view-list-item.component.d.ts +3 -7
  175. package/lib/part/view-tab/view-tab.component.d.ts +17 -28
  176. package/lib/part/view-tab-drag-image/view-tab-drag-image.component.d.ts +4 -4
  177. package/lib/part/workbench-part-action.registry.d.ts +3 -23
  178. package/lib/part/workbench-part.model.d.ts +8 -27
  179. package/lib/part/workbench-part.registry.d.ts +3 -26
  180. package/lib/part//311/265workbench-part.model.d.ts +24 -17
  181. package/lib/perspective/workbench-perspective.model.d.ts +18 -25
  182. package/lib/perspective/workbench-perspective.registry.d.ts +3 -26
  183. package/lib/perspective/workbench-perspective.service.d.ts +16 -14
  184. package/lib/perspective//311/265workbench-perspective.model.d.ts +30 -20
  185. package/lib/popup/popup.config.d.ts +2 -0
  186. package/lib/popup/popup.service.d.ts +12 -14
  187. package/lib/registry/workbench-object-registry.d.ts +10 -6
  188. package/lib/routing/public_api.d.ts +1 -2
  189. package/lib/routing/routing.model.d.ts +25 -13
  190. package/lib/routing/{router.util.d.ts → routing.util.d.ts} +24 -1
  191. package/lib/routing/{workbench-auxiliary-routes-registrator.service.d.ts → workbench-auxiliary-route-installer.service.d.ts} +10 -3
  192. package/lib/routing/workbench-layout-differ.d.ts +1 -2
  193. package/lib/routing/workbench-navigational-states.d.ts +3 -3
  194. package/lib/routing/workbench-url-observer.service.d.ts +31 -55
  195. package/lib/routing/workbench-view-outlet-differ.d.ts +32 -0
  196. package/lib/routing//311/265workbench-router.service.d.ts +10 -16
  197. package/lib/testing/workbench.provider.d.ts +3 -1
  198. package/lib/theme/workbench-theme-switcher.service.d.ts +4 -6
  199. package/lib/view/view-portal.pipe.d.ts +1 -3
  200. package/lib/view/view.component.d.ts +9 -10
  201. package/lib/view/workbench-view-route-guards.d.ts +2 -2
  202. package/lib/view/workbench-view.model.d.ts +49 -35
  203. package/lib/view/workbench-view.registry.d.ts +3 -27
  204. package/lib/view//311/265workbench-view.model.d.ts +58 -64
  205. package/lib/view-dnd/view-drag.service.d.ts +5 -2
  206. package/lib/workbench-config.d.ts +2 -2
  207. package/lib/workbench.constants.d.ts +0 -5
  208. package/lib/workbench.model.d.ts +6 -2
  209. package/lib/workbench.service.d.ts +58 -56
  210. package/lib//311/265workbench.service.d.ts +18 -31
  211. package/package.json +3 -3
  212. package/esm2022/lib/common/filter-by-predicate.pipe.mjs +0 -27
  213. package/esm2022/lib/common/filter-by-text.pipe.mjs +0 -39
  214. package/esm2022/lib/common/uuid.util.mjs +0 -17
  215. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-id-assigner.interceptor.mjs +0 -41
  216. package/esm2022/lib/part/part-action-bar/part-action-filter.pipe.mjs +0 -26
  217. package/esm2022/lib/routing/router.util.mjs +0 -126
  218. package/esm2022/lib/routing/workbench-auxiliary-routes-registrator.service.mjs +0 -94
  219. package/lib/common/filter-by-predicate.pipe.d.ts +0 -10
  220. package/lib/common/filter-by-text.pipe.d.ts +0 -12
  221. package/lib/common/uuid.util.d.ts +0 -8
  222. package/lib/microfrontend-platform/routing/microfrontend-view-capability-id-assigner.interceptor.d.ts +0 -10
  223. package/lib/part/part-action-bar/part-action-filter.pipe.d.ts +0 -11
@@ -7,55 +7,93 @@
7
7
  *
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  */
10
- import { Subject } from 'rxjs';
11
- import { map, startWith } from 'rxjs/operators';
12
10
  import { Arrays } from '@scion/toolkit/util';
11
+ import { computed, signal } from '@angular/core';
13
12
  /**
14
13
  * Container for managing CSS classes set in different scopes.
15
14
  */
16
15
  export class ClassList {
17
16
  constructor() {
18
- this._cssClasses = new Map();
19
- this._change$ = new Subject();
20
- this.value = new Array();
21
- this.value$ = this._change$
22
- .pipe(startWith(undefined), map(() => [...this.value]));
17
+ this._layout = signal([], { equal: isEqualArray });
18
+ this._navigation = signal([], { equal: isEqualArray });
19
+ this._route = signal([], { equal: isEqualArray });
20
+ this._application = signal([], { equal: isEqualArray });
21
+ this.asList = computed(() => Arrays.distinct(new Array()
22
+ .concat(this._layout())
23
+ .concat(this._navigation())
24
+ .concat(this._route())
25
+ .concat(this._application())));
26
+ this.asMap = computed(() => removeEmptyEntries(new Map()
27
+ .set('layout', this._layout())
28
+ .set('navigation', this._navigation())
29
+ .set('route', this._route())
30
+ .set('application', this._application())));
23
31
  }
24
32
  /**
25
- * Sets CSS classes for a specific scope.
33
+ * Specifies CSS classes defined by the layout.
26
34
  */
27
- set(cssClasses, options) {
28
- this._cssClasses.set(options.scope, Arrays.coerce(cssClasses));
29
- this.computeValue();
35
+ set layout(cssClasses) {
36
+ this._layout.set(Arrays.coerce(cssClasses));
30
37
  }
31
38
  /**
32
- * Retuns CSS classes of a specific scope.
39
+ * Returns CSS classes defined in the scope 'layout'.
33
40
  */
34
- get(options) {
35
- return this._cssClasses.get(options.scope) ?? [];
41
+ get layout() {
42
+ return this._layout;
36
43
  }
37
44
  /**
38
- * Removes CSS classes of a specific scope.
45
+ * Specifies CSS classes associated with the navigation.
39
46
  */
40
- remove(options) {
41
- this._cssClasses.delete(options.scope);
42
- this.computeValue();
47
+ set navigation(cssClasses) {
48
+ this._navigation.set(Arrays.coerce(cssClasses));
43
49
  }
44
50
  /**
45
- * Returns the CSS classes as readonly {@link Map} grouped by scope,
46
- * useful to transfer the class list to a different browsing context.
51
+ * Returns CSS classes defined in the scope 'navigation'.
47
52
  */
48
- toMap() {
49
- return new Map(this._cssClasses.entries());
53
+ get navigation() {
54
+ return this._navigation;
50
55
  }
51
56
  /**
52
- * Computes the aggregated list of CSS classes.
57
+ * Specifies CSS classes defined by the route.
53
58
  */
54
- computeValue() {
55
- this.value.length = 0;
56
- const classes = new Set(Array.from(this._cssClasses.values()).flat());
57
- classes.forEach(clazz => this.value.push(clazz));
58
- this._change$.next();
59
+ set route(cssClasses) {
60
+ this._route.set(Arrays.coerce(cssClasses));
59
61
  }
62
+ /**
63
+ * Returns CSS classes defined in the scope 'route'.
64
+ */
65
+ get route() {
66
+ return this._route;
67
+ }
68
+ /**
69
+ * Specifies CSS classes set by the application.
70
+ */
71
+ set application(cssClasses) {
72
+ this._application.set(Arrays.coerce(cssClasses));
73
+ }
74
+ /**
75
+ * Returns classes defined in the scope 'application'.
76
+ */
77
+ get application() {
78
+ return this._application;
79
+ }
80
+ }
81
+ /**
82
+ * Creates a copy with empty map entries removed.
83
+ */
84
+ function removeEmptyEntries(map) {
85
+ const copy = new Map(map);
86
+ for (const key of copy.keys()) {
87
+ if (!copy.get(key)?.length) {
88
+ copy.delete(key);
89
+ }
90
+ }
91
+ return copy;
92
+ }
93
+ /**
94
+ * Compares two arrays of strings for equality, ignoring element order.
95
+ */
96
+ function isEqualArray(a, b) {
97
+ return Arrays.isEqual(a, b, { exactOrder: false });
60
98
  }
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL2NvbW1vbi9jbGFzcy1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFhLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUzQzs7R0FFRztBQUNILE1BQU0sT0FBTyxTQUFTO0lBUXBCO1FBTmlCLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQTZCLENBQUM7UUFDbkQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFaEMsVUFBSyxHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFJMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUTthQUN4QixJQUFJLENBQ0gsU0FBUyxDQUFDLFNBQWlCLENBQUMsRUFDNUIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDM0IsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNJLEdBQUcsQ0FBQyxVQUFnRCxFQUFFLE9BQWlDO1FBQzVGLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxHQUFHLENBQUMsT0FBaUM7UUFDMUMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxPQUFpQztRQUM3QyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLO1FBQ1YsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOztPQUVHO0lBQ0ssWUFBWTtRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN0RSxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyNCBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzdGFydFdpdGh9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QXJyYXlzfSBmcm9tICdAc2Npb24vdG9vbGtpdC91dGlsJztcblxuLyoqXG4gKiBDb250YWluZXIgZm9yIG1hbmFnaW5nIENTUyBjbGFzc2VzIHNldCBpbiBkaWZmZXJlbnQgc2NvcGVzLlxuICovXG5leHBvcnQgY2xhc3MgQ2xhc3NMaXN0IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jc3NDbGFzc2VzID0gbmV3IE1hcDxDbGFzc0xpc3RTY29wZXMsIHN0cmluZ1tdPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2UkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdmFsdWUgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgdmFsdWUkOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnZhbHVlJCA9IHRoaXMuX2NoYW5nZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBzdGFydFdpdGgodW5kZWZpbmVkIGFzIHZvaWQpLFxuICAgICAgICBtYXAoKCkgPT4gWy4uLnRoaXMudmFsdWVdKSxcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBDU1MgY2xhc3NlcyBmb3IgYSBzcGVjaWZpYyBzY29wZS5cbiAgICovXG4gIHB1YmxpYyBzZXQoY3NzQ2xhc3Nlczogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsIHwgdW5kZWZpbmVkLCBvcHRpb25zOiB7c2NvcGU6IENsYXNzTGlzdFNjb3Blc30pOiB2b2lkIHtcbiAgICB0aGlzLl9jc3NDbGFzc2VzLnNldChvcHRpb25zLnNjb3BlLCBBcnJheXMuY29lcmNlKGNzc0NsYXNzZXMpKTtcbiAgICB0aGlzLmNvbXB1dGVWYWx1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVucyBDU1MgY2xhc3NlcyBvZiBhIHNwZWNpZmljIHNjb3BlLlxuICAgKi9cbiAgcHVibGljIGdldChvcHRpb25zOiB7c2NvcGU6IENsYXNzTGlzdFNjb3Blc30pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2Nzc0NsYXNzZXMuZ2V0KG9wdGlvbnMuc2NvcGUpID8/IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgQ1NTIGNsYXNzZXMgb2YgYSBzcGVjaWZpYyBzY29wZS5cbiAgICovXG4gIHB1YmxpYyByZW1vdmUob3B0aW9uczoge3Njb3BlOiBDbGFzc0xpc3RTY29wZXN9KTogdm9pZCB7XG4gICAgdGhpcy5fY3NzQ2xhc3Nlcy5kZWxldGUob3B0aW9ucy5zY29wZSk7XG4gICAgdGhpcy5jb21wdXRlVmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBDU1MgY2xhc3NlcyBhcyByZWFkb25seSB7QGxpbmsgTWFwfSBncm91cGVkIGJ5IHNjb3BlLFxuICAgKiB1c2VmdWwgdG8gdHJhbnNmZXIgdGhlIGNsYXNzIGxpc3QgdG8gYSBkaWZmZXJlbnQgYnJvd3NpbmcgY29udGV4dC5cbiAgICovXG4gIHB1YmxpYyB0b01hcCgpOiBSZWFkb25seU1hcDxDbGFzc0xpc3RTY29wZXMsIHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIG5ldyBNYXAodGhpcy5fY3NzQ2xhc3Nlcy5lbnRyaWVzKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGVzIHRoZSBhZ2dyZWdhdGVkIGxpc3Qgb2YgQ1NTIGNsYXNzZXMuXG4gICAqL1xuICBwcml2YXRlIGNvbXB1dGVWYWx1ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlLmxlbmd0aCA9IDA7XG4gICAgY29uc3QgY2xhc3NlcyA9IG5ldyBTZXQoQXJyYXkuZnJvbSh0aGlzLl9jc3NDbGFzc2VzLnZhbHVlcygpKS5mbGF0KCkpO1xuICAgIGNsYXNzZXMuZm9yRWFjaChjbGF6eiA9PiB0aGlzLnZhbHVlLnB1c2goY2xhenopKTtcbiAgICB0aGlzLl9jaGFuZ2UkLm5leHQoKTtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgc2NvcGVzIHVzZWQgaW4ge0BsaW5rIENsYXNzTGlzdH0uXG4gKlxuICogYGxheW91dGA6IFVzZSBmb3IgQ1NTIGNsYXNzZXMgZGVmaW5lZCBvbiB0aGUgbGF5b3V0LlxuICogYG5hdmlnYXRpb25gOiBVc2UgZm9yIENTUyBjbGFzc2VzIGFzc29jaWF0ZWQgd2l0aCB0aGUgbmF2aWdhdGlvbi5cbiAqIGByb3V0ZWA6IFVzZSBmb3IgQ1NTIGNsYXNzZXMgZGVmaW5lZCBvbiB0aGUgcm91dGUuXG4gKiBgYXBwbGljYXRpb25gOiBVc2UgZm9yIENTUyBjbGFzc2VzIHNldCBieSB0aGUgYXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCB0eXBlIENsYXNzTGlzdFNjb3BlcyA9ICdsYXlvdXQnIHwgJ25hdmlnYXRpb24nIHwgJ3JvdXRlJyB8ICdhcHBsaWNhdGlvbic7XG5cbi8qKlxuICogQ1NTIGNsYXNzZXMgZ3JvdXBlZCBieSBzY29wZS5cbiAqL1xuZXhwb3J0IHR5cGUgQ2xhc3NMaXN0TWFwID0gUmVhZG9ubHlNYXA8Q2xhc3NMaXN0U2NvcGVzLCBzdHJpbmdbXT47XG4iXX0=
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL2NvbW1vbi9jbGFzcy1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxRQUFRLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFNBQVM7SUFpQnBCO1FBZmlCLFlBQU8sR0FBRyxNQUFNLENBQVcsRUFBRSxFQUFFLEVBQUMsS0FBSyxFQUFFLFlBQVksRUFBQyxDQUFDLENBQUM7UUFDdEQsZ0JBQVcsR0FBRyxNQUFNLENBQVcsRUFBRSxFQUFFLEVBQUMsS0FBSyxFQUFFLFlBQVksRUFBQyxDQUFDLENBQUM7UUFDMUQsV0FBTSxHQUFHLE1BQU0sQ0FBVyxFQUFFLEVBQUUsRUFBQyxLQUFLLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQztRQUNyRCxpQkFBWSxHQUFHLE1BQU0sQ0FBVyxFQUFFLEVBQUUsRUFBQyxLQUFLLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQztRQWExRSxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxFQUFVO2FBQzdELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ3JCLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFakMsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUMsSUFBSSxHQUFHLEVBQTZCO2FBQ2hGLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQzdCLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ3JDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQzNCLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsTUFBTSxDQUFDLFVBQWdEO1FBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxVQUFVLENBQUMsVUFBZ0Q7UUFDcEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxLQUFLLENBQUMsVUFBZ0Q7UUFDL0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFdBQVcsQ0FBQyxVQUFnRDtRQUNyRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0NBQ0Y7QUFpQkQ7O0dBRUc7QUFDSCxTQUFTLGtCQUFrQixDQUFPLEdBQWdCO0lBQ2hELE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxDQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBUyxZQUFZLENBQUMsQ0FBVyxFQUFFLENBQVc7SUFDNUMsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBQyxVQUFVLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztBQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDI0IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0FycmF5c30gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXRpbCc7XG5pbXBvcnQge2NvbXB1dGVkLCBTaWduYWwsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQ29udGFpbmVyIGZvciBtYW5hZ2luZyBDU1MgY2xhc3NlcyBzZXQgaW4gZGlmZmVyZW50IHNjb3Blcy5cbiAqL1xuZXhwb3J0IGNsYXNzIENsYXNzTGlzdCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbGF5b3V0ID0gc2lnbmFsPHN0cmluZ1tdPihbXSwge2VxdWFsOiBpc0VxdWFsQXJyYXl9KTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbmF2aWdhdGlvbiA9IHNpZ25hbDxzdHJpbmdbXT4oW10sIHtlcXVhbDogaXNFcXVhbEFycmF5fSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3JvdXRlID0gc2lnbmFsPHN0cmluZ1tdPihbXSwge2VxdWFsOiBpc0VxdWFsQXJyYXl9KTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYXBwbGljYXRpb24gPSBzaWduYWw8c3RyaW5nW10+KFtdLCB7ZXF1YWw6IGlzRXF1YWxBcnJheX0pO1xuXG4gIC8qKlxuICAgKiBDU1MgY2xhc3NlcyBhcyBsaXN0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFzTGlzdDogU2lnbmFsPHN0cmluZ1tdPjtcblxuICAvKipcbiAgICogQ1NTIGNsYXNzZXMgYXMge0BsaW5rIE1hcH0gZ3JvdXBlZCBieSBzY29wZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhc01hcDogU2lnbmFsPENsYXNzTGlzdE1hcD47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5hc0xpc3QgPSBjb21wdXRlZCgoKSA9PiBBcnJheXMuZGlzdGluY3QobmV3IEFycmF5PHN0cmluZz4oKVxuICAgICAgLmNvbmNhdCh0aGlzLl9sYXlvdXQoKSlcbiAgICAgIC5jb25jYXQodGhpcy5fbmF2aWdhdGlvbigpKVxuICAgICAgLmNvbmNhdCh0aGlzLl9yb3V0ZSgpKVxuICAgICAgLmNvbmNhdCh0aGlzLl9hcHBsaWNhdGlvbigpKSkpO1xuXG4gICAgdGhpcy5hc01hcCA9IGNvbXB1dGVkKCgpID0+IHJlbW92ZUVtcHR5RW50cmllcyhuZXcgTWFwPENsYXNzTGlzdFNjb3Blcywgc3RyaW5nW10+KClcbiAgICAgIC5zZXQoJ2xheW91dCcsIHRoaXMuX2xheW91dCgpKVxuICAgICAgLnNldCgnbmF2aWdhdGlvbicsIHRoaXMuX25hdmlnYXRpb24oKSlcbiAgICAgIC5zZXQoJ3JvdXRlJywgdGhpcy5fcm91dGUoKSlcbiAgICAgIC5zZXQoJ2FwcGxpY2F0aW9uJywgdGhpcy5fYXBwbGljYXRpb24oKSkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgQ1NTIGNsYXNzZXMgZGVmaW5lZCBieSB0aGUgbGF5b3V0LlxuICAgKi9cbiAgcHVibGljIHNldCBsYXlvdXQoY3NzQ2xhc3Nlczogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fbGF5b3V0LnNldChBcnJheXMuY29lcmNlKGNzc0NsYXNzZXMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIENTUyBjbGFzc2VzIGRlZmluZWQgaW4gdGhlIHNjb3BlICdsYXlvdXQnLlxuICAgKi9cbiAgcHVibGljIGdldCBsYXlvdXQoKTogU2lnbmFsPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2xheW91dDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgQ1NTIGNsYXNzZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBuYXZpZ2F0aW9uLlxuICAgKi9cbiAgcHVibGljIHNldCBuYXZpZ2F0aW9uKGNzc0NsYXNzZXM6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX25hdmlnYXRpb24uc2V0KEFycmF5cy5jb2VyY2UoY3NzQ2xhc3NlcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgQ1NTIGNsYXNzZXMgZGVmaW5lZCBpbiB0aGUgc2NvcGUgJ25hdmlnYXRpb24nLlxuICAgKi9cbiAgcHVibGljIGdldCBuYXZpZ2F0aW9uKCk6IFNpZ25hbDxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9uYXZpZ2F0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBDU1MgY2xhc3NlcyBkZWZpbmVkIGJ5IHRoZSByb3V0ZS5cbiAgICovXG4gIHB1YmxpYyBzZXQgcm91dGUoY3NzQ2xhc3Nlczogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fcm91dGUuc2V0KEFycmF5cy5jb2VyY2UoY3NzQ2xhc3NlcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgQ1NTIGNsYXNzZXMgZGVmaW5lZCBpbiB0aGUgc2NvcGUgJ3JvdXRlJy5cbiAgICovXG4gIHB1YmxpYyBnZXQgcm91dGUoKTogU2lnbmFsPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX3JvdXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBDU1MgY2xhc3NlcyBzZXQgYnkgdGhlIGFwcGxpY2F0aW9uLlxuICAgKi9cbiAgcHVibGljIHNldCBhcHBsaWNhdGlvbihjc3NDbGFzc2VzOiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9hcHBsaWNhdGlvbi5zZXQoQXJyYXlzLmNvZXJjZShjc3NDbGFzc2VzKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBjbGFzc2VzIGRlZmluZWQgaW4gdGhlIHNjb3BlICdhcHBsaWNhdGlvbicuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFwcGxpY2F0aW9uKCk6IFNpZ25hbDxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9hcHBsaWNhdGlvbjtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgc2NvcGVzIHVzZWQgaW4ge0BsaW5rIENsYXNzTGlzdH0uXG4gKlxuICogYGxheW91dGA6IFVzZSBmb3IgQ1NTIGNsYXNzZXMgZGVmaW5lZCBvbiB0aGUgbGF5b3V0LlxuICogYG5hdmlnYXRpb25gOiBVc2UgZm9yIENTUyBjbGFzc2VzIGFzc29jaWF0ZWQgd2l0aCB0aGUgbmF2aWdhdGlvbi5cbiAqIGByb3V0ZWA6IFVzZSBmb3IgQ1NTIGNsYXNzZXMgZGVmaW5lZCBvbiB0aGUgcm91dGUuXG4gKiBgYXBwbGljYXRpb25gOiBVc2UgZm9yIENTUyBjbGFzc2VzIHNldCBieSB0aGUgYXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCB0eXBlIENsYXNzTGlzdFNjb3BlcyA9ICdsYXlvdXQnIHwgJ25hdmlnYXRpb24nIHwgJ3JvdXRlJyB8ICdhcHBsaWNhdGlvbic7XG5cbi8qKlxuICogQ1NTIGNsYXNzZXMgZ3JvdXBlZCBieSBzY29wZS5cbiAqL1xuZXhwb3J0IHR5cGUgQ2xhc3NMaXN0TWFwID0gUmVhZG9ubHlNYXA8Q2xhc3NMaXN0U2NvcGVzLCBzdHJpbmdbXT47XG5cbi8qKlxuICogQ3JlYXRlcyBhIGNvcHkgd2l0aCBlbXB0eSBtYXAgZW50cmllcyByZW1vdmVkLlxuICovXG5mdW5jdGlvbiByZW1vdmVFbXB0eUVudHJpZXM8SywgVj4obWFwOiBNYXA8SywgVltdPik6IE1hcDxLLCBWW10+IHtcbiAgY29uc3QgY29weSA9IG5ldyBNYXA8SywgVltdPihtYXApO1xuICBmb3IgKGNvbnN0IGtleSBvZiBjb3B5LmtleXMoKSkge1xuICAgIGlmICghY29weS5nZXQoa2V5KT8ubGVuZ3RoKSB7XG4gICAgICBjb3B5LmRlbGV0ZShrZXkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gY29weTtcbn1cblxuLyoqXG4gKiBDb21wYXJlcyB0d28gYXJyYXlzIG9mIHN0cmluZ3MgZm9yIGVxdWFsaXR5LCBpZ25vcmluZyBlbGVtZW50IG9yZGVyLlxuICovXG5mdW5jdGlvbiBpc0VxdWFsQXJyYXkoYTogc3RyaW5nW10sIGI6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gIHJldHVybiBBcnJheXMuaXNFcXVhbChhLCBiLCB7ZXhhY3RPcmRlcjogZmFsc2V9KTtcbn1cbiJdfQ==
@@ -30,5 +30,11 @@ export const Objects = {
30
30
  withoutUndefinedEntries: (object) => {
31
31
  return Dictionaries.withoutUndefinedEntries(object);
32
32
  },
33
+ /**
34
+ * Stringifies given object to matrix notation: a=b;c=d;e=f
35
+ */
36
+ toMatrixNotation: (object) => {
37
+ return Object.entries(object ?? {}).map(([key, value]) => `${key}=${value}`).join(';');
38
+ },
33
39
  };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0cy51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvY29tbW9uL29iamVjdHMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRztJQUVyQjs7T0FFRztJQUNILElBQUksRUFBRSxDQUFJLE1BQVMsRUFBa0IsRUFBRTtRQUNyQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBa0MsQ0FBbUIsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLEVBQUUsQ0FBZ0IsTUFBd0MsRUFBaUIsRUFBRTtRQUNsRixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFrQixDQUFDO0lBQ2pELENBQUM7SUFFRDs7T0FFRztJQUNILHVCQUF1QixFQUFFLENBQUksTUFBbUMsRUFBSyxFQUFFO1FBQ3JFLE9BQU8sWUFBWSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBTSxDQUFDO0lBQzNELENBQUM7Q0FDTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDI0IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0RpY3Rpb25hcmllc30gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXRpbCc7XG5cbi8qKlxuICogUHJvdmlkZXMgaGVscGVyIGZ1bmN0aW9ucyBmb3Igd29ya2luZyB3aXRoIG9iamVjdHMuXG4gKi9cbmV4cG9ydCBjb25zdCBPYmplY3RzID0ge1xuXG4gIC8qKlxuICAgKiBMaWtlIHtAbGluayBPYmplY3Qua2V5c30sIGJ1dCBwcmVzZXJ2aW5nIHRoZSBkYXRhIHR5cGUgb2Yga2V5cy5cbiAgICovXG4gIGtleXM6IDxUPihvYmplY3Q6IFQpOiBBcnJheTxrZXlvZiBUPiA9PiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKG9iamVjdCBhcyBSZWNvcmQ8a2V5b2YgVCwgdW5rbm93bj4pIGFzIEFycmF5PGtleW9mIFQ+O1xuICB9LFxuXG4gIC8qKlxuICAgKiBMaWtlIHtAbGluayBPYmplY3QuZW50cmllc30sIGJ1dCBwcmVzZXJ2aW5nIHRoZSBkYXRhIHR5cGUgb2Yga2V5cy5cbiAgICovXG4gIGVudHJpZXM6IDxWLCBLID0gc3RyaW5nPihvYmplY3Q6IFJlY29yZDxzdHJpbmcsIFY+IHwgQXJyYXlMaWtlPFY+KTogQXJyYXk8W0ssIFZdPiA9PiB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iamVjdCkgYXMgQXJyYXk8W0ssIFZdPjtcbiAgfSxcblxuICAvKipcbiAgICogTGlrZSB7QGxpbmsgRGljdGlvbmFyaWVzLndpdGhvdXRVbmRlZmluZWRFbnRyaWVzfSwgYnV0IHByZXNlcnZpbmcgdGhlIG9iamVjdCBkYXRhIHR5cGUuXG4gICAqL1xuICB3aXRob3V0VW5kZWZpbmVkRW50cmllczogPFQ+KG9iamVjdDogVCAmIFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogVCA9PiB7XG4gICAgcmV0dXJuIERpY3Rpb25hcmllcy53aXRob3V0VW5kZWZpbmVkRW50cmllcyhvYmplY3QpIGFzIFQ7XG4gIH0sXG59IGFzIGNvbnN0O1xuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0cy51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvY29tbW9uL29iamVjdHMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRztJQUVyQjs7T0FFRztJQUNILElBQUksRUFBRSxDQUFJLE1BQVMsRUFBa0IsRUFBRTtRQUNyQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBa0MsQ0FBbUIsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLEVBQUUsQ0FBZ0IsTUFBd0MsRUFBaUIsRUFBRTtRQUNsRixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFrQixDQUFDO0lBQ2pELENBQUM7SUFFRDs7T0FFRztJQUNILHVCQUF1QixFQUFFLENBQUksTUFBbUMsRUFBSyxFQUFFO1FBQ3JFLE9BQU8sWUFBWSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBTSxDQUFDO0lBQzNELENBQUM7SUFDRDs7T0FFRztJQUNILGdCQUFnQixFQUFFLENBQUMsTUFBa0QsRUFBVSxFQUFFO1FBQy9FLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7Q0FDTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDI0IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0RpY3Rpb25hcmllc30gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXRpbCc7XG5cbi8qKlxuICogUHJvdmlkZXMgaGVscGVyIGZ1bmN0aW9ucyBmb3Igd29ya2luZyB3aXRoIG9iamVjdHMuXG4gKi9cbmV4cG9ydCBjb25zdCBPYmplY3RzID0ge1xuXG4gIC8qKlxuICAgKiBMaWtlIHtAbGluayBPYmplY3Qua2V5c30sIGJ1dCBwcmVzZXJ2aW5nIHRoZSBkYXRhIHR5cGUgb2Yga2V5cy5cbiAgICovXG4gIGtleXM6IDxUPihvYmplY3Q6IFQpOiBBcnJheTxrZXlvZiBUPiA9PiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKG9iamVjdCBhcyBSZWNvcmQ8a2V5b2YgVCwgdW5rbm93bj4pIGFzIEFycmF5PGtleW9mIFQ+O1xuICB9LFxuXG4gIC8qKlxuICAgKiBMaWtlIHtAbGluayBPYmplY3QuZW50cmllc30sIGJ1dCBwcmVzZXJ2aW5nIHRoZSBkYXRhIHR5cGUgb2Yga2V5cy5cbiAgICovXG4gIGVudHJpZXM6IDxWLCBLID0gc3RyaW5nPihvYmplY3Q6IFJlY29yZDxzdHJpbmcsIFY+IHwgQXJyYXlMaWtlPFY+KTogQXJyYXk8W0ssIFZdPiA9PiB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iamVjdCkgYXMgQXJyYXk8W0ssIFZdPjtcbiAgfSxcblxuICAvKipcbiAgICogTGlrZSB7QGxpbmsgRGljdGlvbmFyaWVzLndpdGhvdXRVbmRlZmluZWRFbnRyaWVzfSwgYnV0IHByZXNlcnZpbmcgdGhlIG9iamVjdCBkYXRhIHR5cGUuXG4gICAqL1xuICB3aXRob3V0VW5kZWZpbmVkRW50cmllczogPFQ+KG9iamVjdDogVCAmIFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogVCA9PiB7XG4gICAgcmV0dXJuIERpY3Rpb25hcmllcy53aXRob3V0VW5kZWZpbmVkRW50cmllcyhvYmplY3QpIGFzIFQ7XG4gIH0sXG4gIC8qKlxuICAgKiBTdHJpbmdpZmllcyBnaXZlbiBvYmplY3QgdG8gbWF0cml4IG5vdGF0aW9uOiBhPWI7Yz1kO2U9ZlxuICAgKi9cbiAgdG9NYXRyaXhOb3RhdGlvbjogKG9iamVjdDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBudWxsIHwgdW5kZWZpbmVkKTogc3RyaW5nID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMob2JqZWN0ID8/IHt9KS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCR7a2V5fT0ke3ZhbHVlfWApLmpvaW4oJzsnKTtcbiAgfSxcbn0gYXMgY29uc3Q7XG4iXX0=
@@ -7,10 +7,7 @@
7
7
  *
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  */
10
- import { audit } from 'rxjs';
11
10
  import { filter, mergeMap } from 'rxjs/operators';
12
- import { inject } from '@angular/core';
13
- import { WorkbenchLayoutService } from '../layout/workbench-layout.service';
14
11
  /**
15
12
  * Serializes the execution of elements emitted by the source Observable.
16
13
  *
@@ -27,12 +24,4 @@ export function serializeExecution(fn) {
27
24
  export function filterNull() {
28
25
  return filter((item) => item !== null);
29
26
  }
30
- /**
31
- * Buffers the most recent value from the source Observable until the next layout change.
32
- * Use this operator to avoid emitting a partially updated layout.
33
- */
34
- export function bufferLatestUntilLayoutChange() {
35
- const onLayoutChange$ = inject(WorkbenchLayoutService).onLayoutChange$;
36
- return audit(() => onLayoutChange$);
37
- }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvY29tbW9uL29wZXJhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxLQUFLLEVBQXlELE1BQU0sTUFBTSxDQUFDO0FBQ25GLE9BQU8sRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUUxRTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQVUsRUFBaUQ7SUFDM0YsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFVBQVU7SUFDeEIsT0FBTyxNQUFNLENBQUMsQ0FBQyxJQUFjLEVBQWEsRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLDZCQUE2QjtJQUMzQyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxlQUFlLENBQUM7SUFDdkUsT0FBTyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDdEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHthdWRpdCwgTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLCBPYnNlcnZhYmxlLCBPcGVyYXRvckZ1bmN0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtZXJnZU1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXb3JrYmVuY2hMYXlvdXRTZXJ2aWNlfSBmcm9tICcuLi9sYXlvdXQvd29ya2JlbmNoLWxheW91dC5zZXJ2aWNlJztcblxuLyoqXG4gKiBTZXJpYWxpemVzIHRoZSBleGVjdXRpb24gb2YgZWxlbWVudHMgZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUuXG4gKlxuICogRm9yIGVhY2ggZWxlbWVudCBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UsIHRoZSBzcGVjaWZpZWQgY2FsbGJhY2sgZnVuY3Rpb24gaXMgY2FsbGVkLlxuICogVGhlIG5leHQgZWxlbWVudCB3aWxsIG9ubHkgYmUgcHJvY2Vzc2VkIG9uY2UgdGhlIFByb21pc2Ugb3IgT2JzZXJ2YWJsZSByZXR1cm5lZCBieVxuICogdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHJlc29sdmVzIG9yIGNvbXBsZXRlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZUV4ZWN1dGlvbjxJTiwgT1VUPihmbjogKHZhbHVlOiBJTikgPT4gT2JzZXJ2YWJsZTxPVVQ+IHwgUHJvbWlzZTxPVVQ+KTogT3BlcmF0b3JGdW5jdGlvbjxJTiwgT1VUPiB7XG4gIHJldHVybiBtZXJnZU1hcChlbGVtZW50ID0+IGZuKGVsZW1lbnQpLCAxKTtcbn1cblxuLyoqXG4gKiBNaXJyb3JzIHRoZSBzb3VyY2UgZXhjZXB0IGZvciBgbnVsbGAgZW1pc3Npb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyTnVsbDxUPigpOiBPcGVyYXRvckZ1bmN0aW9uPFQgfCBudWxsLCBUPiB7XG4gIHJldHVybiBmaWx0ZXIoKGl0ZW06IFQgfCBudWxsKTogaXRlbSBpcyBUID0+IGl0ZW0gIT09IG51bGwpO1xufVxuXG4vKipcbiAqIEJ1ZmZlcnMgdGhlIG1vc3QgcmVjZW50IHZhbHVlIGZyb20gdGhlIHNvdXJjZSBPYnNlcnZhYmxlIHVudGlsIHRoZSBuZXh0IGxheW91dCBjaGFuZ2UuXG4gKiBVc2UgdGhpcyBvcGVyYXRvciB0byBhdm9pZCBlbWl0dGluZyBhIHBhcnRpYWxseSB1cGRhdGVkIGxheW91dC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1ZmZlckxhdGVzdFVudGlsTGF5b3V0Q2hhbmdlPFQ+KCk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gIGNvbnN0IG9uTGF5b3V0Q2hhbmdlJCA9IGluamVjdChXb3JrYmVuY2hMYXlvdXRTZXJ2aWNlKS5vbkxheW91dENoYW5nZSQ7XG4gIHJldHVybiBhdWRpdCgoKSA9PiBvbkxheW91dENoYW5nZSQpO1xufVxuIl19
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvY29tbW9uL29wZXJhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUdILE9BQU8sRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFVLEVBQWlEO0lBQzNGLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxVQUFVO0lBQ3hCLE9BQU8sTUFBTSxDQUFDLENBQUMsSUFBYyxFQUFhLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7QUFDOUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBPcGVyYXRvckZ1bmN0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtZXJnZU1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIFNlcmlhbGl6ZXMgdGhlIGV4ZWN1dGlvbiBvZiBlbGVtZW50cyBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZS5cbiAqXG4gKiBGb3IgZWFjaCBlbGVtZW50IGVtaXR0ZWQgYnkgdGhlIHNvdXJjZSwgdGhlIHNwZWNpZmllZCBjYWxsYmFjayBmdW5jdGlvbiBpcyBjYWxsZWQuXG4gKiBUaGUgbmV4dCBlbGVtZW50IHdpbGwgb25seSBiZSBwcm9jZXNzZWQgb25jZSB0aGUgUHJvbWlzZSBvciBPYnNlcnZhYmxlIHJldHVybmVkIGJ5XG4gKiB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gcmVzb2x2ZXMgb3IgY29tcGxldGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplRXhlY3V0aW9uPElOLCBPVVQ+KGZuOiAodmFsdWU6IElOKSA9PiBPYnNlcnZhYmxlPE9VVD4gfCBQcm9taXNlPE9VVD4pOiBPcGVyYXRvckZ1bmN0aW9uPElOLCBPVVQ+IHtcbiAgcmV0dXJuIG1lcmdlTWFwKGVsZW1lbnQgPT4gZm4oZWxlbWVudCksIDEpO1xufVxuXG4vKipcbiAqIE1pcnJvcnMgdGhlIHNvdXJjZSBleGNlcHQgZm9yIGBudWxsYCBlbWlzc2lvbnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJOdWxsPFQ+KCk6IE9wZXJhdG9yRnVuY3Rpb248VCB8IG51bGwsIFQ+IHtcbiAgcmV0dXJuIGZpbHRlcigoaXRlbTogVCB8IG51bGwpOiBpdGVtIGlzIFQgPT4gaXRlbSAhPT0gbnVsbCk7XG59XG4iXX0=
@@ -0,0 +1,22 @@
1
+ /*
2
+ * Copyright (c) 2018-2024 Swiss Federal Railways
3
+ *
4
+ * This program and the accompanying materials are made
5
+ * available under the terms of the Eclipse Public License 2.0
6
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
7
+ *
8
+ * SPDX-License-Identifier: EPL-2.0
9
+ */
10
+ import { UUID } from '@scion/toolkit/uuid';
11
+ /**
12
+ * Generates a UID (unique identifier).
13
+ */
14
+ export const UID = {
15
+ /**
16
+ * Generates a UID (unique identifier) with length 8.
17
+ */
18
+ randomUID: () => {
19
+ return UUID.randomUUID().substring(0, 8);
20
+ },
21
+ };
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlkLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9jb21tb24vdWlkLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFekM7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUc7SUFDakI7O09BRUc7SUFDSCxTQUFTLEVBQUUsR0FBVyxFQUFFO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjQgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7VVVJRH0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXVpZCc7XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgVUlEICh1bmlxdWUgaWRlbnRpZmllcikuXG4gKi9cbmV4cG9ydCBjb25zdCBVSUQgPSB7XG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBVSUQgKHVuaXF1ZSBpZGVudGlmaWVyKSB3aXRoIGxlbmd0aCA4LlxuICAgKi9cbiAgcmFuZG9tVUlEOiAoKTogc3RyaW5nID0+IHtcbiAgICByZXR1cm4gVVVJRC5yYW5kb21VVUlEKCkuc3Vic3RyaW5nKDAsIDgpO1xuICB9LFxufTtcblxuXG4iXX0=
@@ -45,13 +45,13 @@ import * as i0 from "@angular/core";
45
45
  */
46
46
  export class ContentAsOverlayComponent {
47
47
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ContentAsOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: ContentAsOverlayComponent, isStandalone: true, selector: "wb-content-as-overlay", inputs: { overlayHost: "overlayHost" }, ngImport: i0, template: "<!-- define the area where to project `ng-content` into -->\n<div wbContentProjection\n [wbContentProjectionContent]=\"ng_content_template\"\n [wbContentProjectionOverlayHost]=\"overlayHost\">\n</div>\n\n<!-- make `ng-content` available in the form of a template -->\n<ng-template #ng_content_template>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{display:grid}\n"], dependencies: [{ kind: "directive", type: ContentProjectionDirective, selector: "[wbContentProjection]", inputs: ["wbContentProjectionOverlayHost", "wbContentProjectionContent"] }] }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: ContentAsOverlayComponent, isStandalone: true, selector: "wb-content-as-overlay", inputs: { overlayHost: "overlayHost" }, ngImport: i0, template: "<!-- define the area where to project `ng-content` into -->\n<div wbContentProjection\n [wbContentProjectionContent]=\"ng_content_template\"\n [wbContentProjectionOverlayHost]=\"overlayHost\">\n</div>\n\n<!-- make `ng-content` available in the form of a template -->\n<ng-template #ng_content_template>\n <ng-content/>\n</ng-template>\n", styles: [":host{display:grid}\n"], dependencies: [{ kind: "directive", type: ContentProjectionDirective, selector: "[wbContentProjection]", inputs: ["wbContentProjectionOverlayHost", "wbContentProjectionContent"] }] }); }
49
49
  }
50
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ContentAsOverlayComponent, decorators: [{
51
51
  type: Component,
52
- args: [{ selector: 'wb-content-as-overlay', standalone: true, imports: [ContentProjectionDirective], template: "<!-- define the area where to project `ng-content` into -->\n<div wbContentProjection\n [wbContentProjectionContent]=\"ng_content_template\"\n [wbContentProjectionOverlayHost]=\"overlayHost\">\n</div>\n\n<!-- make `ng-content` available in the form of a template -->\n<ng-template #ng_content_template>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{display:grid}\n"] }]
52
+ args: [{ selector: 'wb-content-as-overlay', standalone: true, imports: [ContentProjectionDirective], template: "<!-- define the area where to project `ng-content` into -->\n<div wbContentProjection\n [wbContentProjectionContent]=\"ng_content_template\"\n [wbContentProjectionOverlayHost]=\"overlayHost\">\n</div>\n\n<!-- make `ng-content` available in the form of a template -->\n<ng-template #ng_content_template>\n <ng-content/>\n</ng-template>\n", styles: [":host{display:grid}\n"] }]
53
53
  }], propDecorators: { overlayHost: [{
54
54
  type: Input,
55
55
  args: [{ required: true }]
56
56
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1hcy1vdmVybGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL2NvbnRlbnQtcHJvamVjdGlvbi9jb250ZW50LWFzLW92ZXJsYXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvY29udGVudC1wcm9qZWN0aW9uL2NvbnRlbnQtYXMtb3ZlcmxheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFMUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NHO0FBUUgsTUFBTSxPQUFPLHlCQUF5Qjs4R0FBekIseUJBQXlCO2tHQUF6Qix5QkFBeUIseUhDckR0Qyx1V0FVQSwrRUR5Q1ksMEJBQTBCOzsyRkFFekIseUJBQXlCO2tCQVByQyxTQUFTOytCQUNFLHVCQUF1QixjQUdyQixJQUFJLFdBQ1AsQ0FBQywwQkFBMEIsQ0FBQzs4QkFROUIsV0FBVztzQkFEakIsS0FBSzt1QkFBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRlbnRQcm9qZWN0aW9uRGlyZWN0aXZlfSBmcm9tICcuL2NvbnRlbnQtcHJvamVjdGlvbi5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIFN0cnVjdHVyYWwgY29tcG9uZW50IHdoaWNoIGFkZHMgaXRzIGBuZy1jb250ZW50YCB0byBhIHRvcC1sZXZlbCB3b3JrYmVuY2ggRE9NIGVsZW1lbnQgYW5kIHByb2plY3RzIGl0IGludG8gdGhpcyBjb21wb25lbnQncyBib3VuZGluZyBib3guXG4gKlxuICogVGhpcyBjb21wb25lbnQgZW5zdXJlcyB0aGF0IGl0cyBjb250ZW50IGNoaWxkcmVuIGFyZSBub3QgcmVwYXJlbnRlZCBpbiB0aGUgRE9NIHdoZW4gdGhlIHdvcmtiZW5jaCBsYXlvdXQgaXMgY2hhbmdlZC5cbiAqIEZvciBpbnN0YW5jZSwgYW4gaWZyYW1lIHdvdWxkIHJlbG9hZCB3aGVuIGl0IGlzIHJlcGFyZW50ZWQgaW4gdGhlIERPTS5cbiAqXG4gKiBVc2UgdGhpcyBjb21wb25lbnQgdG8gd3JhcCB0aGUgZW50aXJlIGNvbnRlbnQgb2YgeW91ciBjb21wb25lbnQsIHNvIGA8d2ItY29udGVudC1hcy1vdmVybGF5PmAgaXMgdGhlIG9ubHkgcm9vdCB2aWV3IGNoaWxkIG9mIHlvdXIgY29tcG9uZW50LlxuICpcbiAqIFRoZSA8bmctY29udGVudD4gaXMgYWRkZWQgdG8gYSBDU1MgZ3JpZCBjb250YWluZXIgd2l0aCBhIHNpbmdsZSBjb2x1bW4sIHRodXMsIGNvbnRlbnQgZmlsbHMgcmVtYWluaW5nIHNwYWNlIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseS5cbiAqIFRvIHN0eWxlIGVsZW1lbnRzIG9mIGBuZy1jb250ZW50YCwgZG8gbm90IGNvbWJpbmUgQ1NTIHNlbGVjdG9ycyB3aXRoIHRoZSBgOmhvc3RgIENTUyBwc2V1ZG8tY2xhc3MgYmVjYXVzZSwgaW4gdGhlIERPTSwgdGhleSBhcmUgbm90IGNoaWxkcmVuXG4gKiBvZiB0aGUgaG9zdCBjb21wb25lbnQuXG4gKlxuICogIyMjIyBFeGFtcGxlIEhUTUwgdGVtcGxhdGU6XG4gKlxuICogYGBgaHRtbFxuICogPHdiLWNvbnRlbnQtYXMtb3ZlcmxheSBvdmVybGF5SG9zdD1cIi4uLlwiPlxuICogICA8aWZyYW1lIFtzcmNdPVwiLi4uXCI+PC9pZnJhbWU+XG4gKiA8L3diLWNvbnRlbnQtYXMtb3ZlcmxheT5cbiAqIGBgYFxuICpcbiAqXG4gKiAjIyMjIEV4YW1wbGUgU0NTUyBzdHlsZXM6XG4gKlxuICogYGBgc2Nzc1xuICogOmhvc3Qge1xuICogICBkaXNwbGF5OiBncmlkOyAvLyBmaWxscyByZW1haW5pbmcgc3BhY2UgdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGxcbiAqIH1cbiAqXG4gKiBpZnJhbWUge1xuICogICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5O1xuICogfVxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3diLWNvbnRlbnQtYXMtb3ZlcmxheScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZW50LWFzLW92ZXJsYXkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250ZW50LWFzLW92ZXJsYXkuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbnRlbnRQcm9qZWN0aW9uRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudEFzT3ZlcmxheUNvbXBvbmVudCB7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgdmlldyBjb250YWluZXIgd2hlcmUgdG8gaW5zZXJ0IHRoZSBvdmVybGF5LlxuICAgKi9cbiAgQElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pXG4gIHB1YmxpYyBvdmVybGF5SG9zdDogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZCB8IG51bGw7XG59XG4iLCI8IS0tIGRlZmluZSB0aGUgYXJlYSB3aGVyZSB0byBwcm9qZWN0IGBuZy1jb250ZW50YCBpbnRvIC0tPlxuPGRpdiB3YkNvbnRlbnRQcm9qZWN0aW9uXG4gICAgIFt3YkNvbnRlbnRQcm9qZWN0aW9uQ29udGVudF09XCJuZ19jb250ZW50X3RlbXBsYXRlXCJcbiAgICAgW3diQ29udGVudFByb2plY3Rpb25PdmVybGF5SG9zdF09XCJvdmVybGF5SG9zdFwiPlxuPC9kaXY+XG5cbjwhLS0gbWFrZSBgbmctY29udGVudGAgYXZhaWxhYmxlIGluIHRoZSBmb3JtIG9mIGEgdGVtcGxhdGUgLS0+XG48bmctdGVtcGxhdGUgI25nX2NvbnRlbnRfdGVtcGxhdGU+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1hcy1vdmVybGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL2NvbnRlbnQtcHJvamVjdGlvbi9jb250ZW50LWFzLW92ZXJsYXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvY29udGVudC1wcm9qZWN0aW9uL2NvbnRlbnQtYXMtb3ZlcmxheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFMUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NHO0FBUUgsTUFBTSxPQUFPLHlCQUF5Qjs4R0FBekIseUJBQXlCO2tHQUF6Qix5QkFBeUIseUhDckR0QywyVkFVQSwrRUR5Q1ksMEJBQTBCOzsyRkFFekIseUJBQXlCO2tCQVByQyxTQUFTOytCQUNFLHVCQUF1QixjQUdyQixJQUFJLFdBQ1AsQ0FBQywwQkFBMEIsQ0FBQzs4QkFROUIsV0FBVztzQkFEakIsS0FBSzt1QkFBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRlbnRQcm9qZWN0aW9uRGlyZWN0aXZlfSBmcm9tICcuL2NvbnRlbnQtcHJvamVjdGlvbi5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIFN0cnVjdHVyYWwgY29tcG9uZW50IHdoaWNoIGFkZHMgaXRzIGBuZy1jb250ZW50YCB0byBhIHRvcC1sZXZlbCB3b3JrYmVuY2ggRE9NIGVsZW1lbnQgYW5kIHByb2plY3RzIGl0IGludG8gdGhpcyBjb21wb25lbnQncyBib3VuZGluZyBib3guXG4gKlxuICogVGhpcyBjb21wb25lbnQgZW5zdXJlcyB0aGF0IGl0cyBjb250ZW50IGNoaWxkcmVuIGFyZSBub3QgcmVwYXJlbnRlZCBpbiB0aGUgRE9NIHdoZW4gdGhlIHdvcmtiZW5jaCBsYXlvdXQgaXMgY2hhbmdlZC5cbiAqIEZvciBpbnN0YW5jZSwgYW4gaWZyYW1lIHdvdWxkIHJlbG9hZCB3aGVuIGl0IGlzIHJlcGFyZW50ZWQgaW4gdGhlIERPTS5cbiAqXG4gKiBVc2UgdGhpcyBjb21wb25lbnQgdG8gd3JhcCB0aGUgZW50aXJlIGNvbnRlbnQgb2YgeW91ciBjb21wb25lbnQsIHNvIGA8d2ItY29udGVudC1hcy1vdmVybGF5PmAgaXMgdGhlIG9ubHkgcm9vdCB2aWV3IGNoaWxkIG9mIHlvdXIgY29tcG9uZW50LlxuICpcbiAqIFRoZSA8bmctY29udGVudD4gaXMgYWRkZWQgdG8gYSBDU1MgZ3JpZCBjb250YWluZXIgd2l0aCBhIHNpbmdsZSBjb2x1bW4sIHRodXMsIGNvbnRlbnQgZmlsbHMgcmVtYWluaW5nIHNwYWNlIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseS5cbiAqIFRvIHN0eWxlIGVsZW1lbnRzIG9mIGBuZy1jb250ZW50YCwgZG8gbm90IGNvbWJpbmUgQ1NTIHNlbGVjdG9ycyB3aXRoIHRoZSBgOmhvc3RgIENTUyBwc2V1ZG8tY2xhc3MgYmVjYXVzZSwgaW4gdGhlIERPTSwgdGhleSBhcmUgbm90IGNoaWxkcmVuXG4gKiBvZiB0aGUgaG9zdCBjb21wb25lbnQuXG4gKlxuICogIyMjIyBFeGFtcGxlIEhUTUwgdGVtcGxhdGU6XG4gKlxuICogYGBgaHRtbFxuICogPHdiLWNvbnRlbnQtYXMtb3ZlcmxheSBvdmVybGF5SG9zdD1cIi4uLlwiPlxuICogICA8aWZyYW1lIFtzcmNdPVwiLi4uXCI+PC9pZnJhbWU+XG4gKiA8L3diLWNvbnRlbnQtYXMtb3ZlcmxheT5cbiAqIGBgYFxuICpcbiAqXG4gKiAjIyMjIEV4YW1wbGUgU0NTUyBzdHlsZXM6XG4gKlxuICogYGBgc2Nzc1xuICogOmhvc3Qge1xuICogICBkaXNwbGF5OiBncmlkOyAvLyBmaWxscyByZW1haW5pbmcgc3BhY2UgdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGxcbiAqIH1cbiAqXG4gKiBpZnJhbWUge1xuICogICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5O1xuICogfVxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3diLWNvbnRlbnQtYXMtb3ZlcmxheScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZW50LWFzLW92ZXJsYXkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250ZW50LWFzLW92ZXJsYXkuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbnRlbnRQcm9qZWN0aW9uRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudEFzT3ZlcmxheUNvbXBvbmVudCB7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgdmlldyBjb250YWluZXIgd2hlcmUgdG8gaW5zZXJ0IHRoZSBvdmVybGF5LlxuICAgKi9cbiAgQElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pXG4gIHB1YmxpYyBvdmVybGF5SG9zdDogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZCB8IG51bGw7XG59XG4iLCI8IS0tIGRlZmluZSB0aGUgYXJlYSB3aGVyZSB0byBwcm9qZWN0IGBuZy1jb250ZW50YCBpbnRvIC0tPlxuPGRpdiB3YkNvbnRlbnRQcm9qZWN0aW9uXG4gICAgIFt3YkNvbnRlbnRQcm9qZWN0aW9uQ29udGVudF09XCJuZ19jb250ZW50X3RlbXBsYXRlXCJcbiAgICAgW3diQ29udGVudFByb2plY3Rpb25PdmVybGF5SG9zdF09XCJvdmVybGF5SG9zdFwiPlxuPC9kaXY+XG5cbjwhLS0gbWFrZSBgbmctY29udGVudGAgYXZhaWxhYmxlIGluIHRoZSBmb3JtIG9mIGEgdGVtcGxhdGUgLS0+XG48bmctdGVtcGxhdGUgI25nX2NvbnRlbnRfdGVtcGxhdGU+XG4gIDxuZy1jb250ZW50Lz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -10,8 +10,8 @@
10
10
  import { Directive, Input, Optional } from '@angular/core';
11
11
  import { fromDimension$ } from '@scion/toolkit/observable';
12
12
  import { setStyle } from '../common/dom.util';
13
- import { Subject } from 'rxjs';
14
- import { takeUntil } from 'rxjs/operators';
13
+ import { animationFrameScheduler, EMPTY, merge, Subject } from 'rxjs';
14
+ import { filter, observeOn, takeUntil } from 'rxjs/operators';
15
15
  import * as i0 from "@angular/core";
16
16
  import * as i1 from "../view/\u0275workbench-view.model";
17
17
  /**
@@ -35,17 +35,12 @@ export class ContentProjectionDirective {
35
35
  this._contentViewRef.onDestroy(() => dispose$.next());
36
36
  // Position projected content out of the document flow relative to the page viewport.
37
37
  this.styleContent({ position: 'fixed' });
38
- // Align content each time the bounding box element changes its size.
39
- fromDimension$(this._host.nativeElement)
40
- .pipe(takeUntil(dispose$))
41
- .subscribe(dimension => {
42
- if (isNullDimension(dimension)) {
43
- // When removing the bounding box element (this directive's host) from the DOM, its dimension drops to 0.
44
- // We ignore this event to preserve the dimension of projected content, crucial, for example, if projected
45
- // content implements virtual scrolling. Otherwise, its content would reload when adding the host to the DOM again.
46
- // For example, inactive views are removed from the DOM.
47
- return;
48
- }
38
+ // Align content each time the size of the host element changes, or when the content is attached to the DOM.
39
+ // For example, moving a view to another part of the same size will not trigger a dimension change event.
40
+ merge(fromDimension$(this._host.nativeElement), this._view?.portal.attached$.pipe(filter(Boolean)) ?? EMPTY)
41
+ .pipe(observeOn(animationFrameScheduler), // Align to host boundaries right before the next repaint.
42
+ takeUntil(dispose$))
43
+ .subscribe(() => {
49
44
  this.alignContentToHostBoundaries();
50
45
  });
51
46
  // Hide content when contextual view is detached, e.g., if not active, or located in the peripheral area and the main area is maximized.
@@ -60,6 +55,13 @@ export class ContentProjectionDirective {
60
55
  */
61
56
  alignContentToHostBoundaries() {
62
57
  const hostPosition = this._host.nativeElement.getBoundingClientRect();
58
+ if (!hostPosition.width && !hostPosition.height) {
59
+ // When removing the bounding box element (this directive's host) from the DOM, its dimension drops to 0.
60
+ // We ignore this event to preserve the dimension of projected content, crucial, for example, if projected
61
+ // content implements virtual scrolling. Otherwise, its content would reload when adding the host to the DOM again.
62
+ // For example, inactive views are removed from the DOM.
63
+ return;
64
+ }
63
65
  this.styleContent({
64
66
  top: `${hostPosition.top}px`,
65
67
  left: `${hostPosition.left}px`,
@@ -95,7 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
95
97
  type: Input,
96
98
  args: [{ alias: 'wbContentProjectionContent', required: true }]
97
99
  }] } });
98
- function isNullDimension(dimension) {
99
- return dimension.offsetWidth === 0 && dimension.offsetHeight === 0;
100
- }
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1wcm9qZWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL2NvbnRlbnQtcHJvamVjdGlvbi9jb250ZW50LXByb2plY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBK0IsS0FBSyxFQUF3QixRQUFRLEVBQStDLE1BQU0sZUFBZSxDQUFDO0FBRTFKLE9BQU8sRUFBWSxjQUFjLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDNUMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQUV6Qzs7R0FFRztBQUVILE1BQU0sT0FBTywwQkFBMEI7SUFnQnJDLFlBQW9CLEtBQThCLEVBQXNCLEtBQXFCO1FBQXpFLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBQXNCLFVBQUssR0FBTCxLQUFLLENBQWdCO0lBQzdGLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDdkMsSUFBSSxDQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUVoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLE9BQU87UUFDVCxDQUFDO1FBRUQsNkZBQTZGO1FBQzdGLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUVyQyw2QkFBNkI7UUFDN0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUV0RCxxRkFBcUY7UUFDckYsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFDO1FBRXZDLHFFQUFxRTtRQUNyRSxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7YUFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN6QixTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDckIsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDL0IseUdBQXlHO2dCQUN6RywwR0FBMEc7Z0JBQzFHLG1IQUFtSDtnQkFDbkgsd0RBQXdEO2dCQUN4RCxPQUFPO1lBQ1QsQ0FBQztZQUNELElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO1FBRUwsd0lBQXdJO1FBQ3hJLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFNBQVM7YUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN6QixTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7T0FFRztJQUNLLDRCQUE0QjtRQUNsQyxNQUFNLFlBQVksR0FBWSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQy9FLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDaEIsR0FBRyxFQUFFLEdBQUcsWUFBWSxDQUFDLEdBQUcsSUFBSTtZQUM1QixJQUFJLEVBQUUsR0FBRyxZQUFZLENBQUMsSUFBSSxJQUFJO1lBQzlCLEtBQUssRUFBRSxHQUFHLFlBQVksQ0FBQyxLQUFLLElBQUk7WUFDaEMsTUFBTSxFQUFFLEdBQUcsWUFBWSxDQUFDLE1BQU0sSUFBSTtTQUNuQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sVUFBVSxDQUFDLE9BQWdCO1FBQ2pDLHNHQUFzRztRQUN0RyxhQUFhO1FBQ2Isb0lBQW9JO1FBQ3BJLG1IQUFtSDtRQUNuSCxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTyxZQUFZLENBQUMsS0FBNkI7UUFDaEQsSUFBSSxDQUFDLGVBQWdCLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsZUFBZSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ2xDLENBQUM7OEdBdEZVLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUR0QyxTQUFTO21CQUFDLEVBQUMsUUFBUSxFQUFFLHVCQUF1QixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUM7OzBCQWlCVCxRQUFRO3lDQVJ0RCxXQUFXO3NCQURqQixLQUFLO3VCQUFDLEVBQUMsS0FBSyxFQUFFLGdDQUFnQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUM7Z0JBT3pELGtCQUFrQjtzQkFEeEIsS0FBSzt1QkFBQyxFQUFDLEtBQUssRUFBRSw0QkFBNEIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDOztBQTRFOUQsU0FBUyxlQUFlLENBQUMsU0FBb0I7SUFDM0MsT0FBTyxTQUFTLENBQUMsV0FBVyxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUMsWUFBWSxLQUFLLENBQUMsQ0FBQztBQUNyRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRW1iZWRkZWRWaWV3UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBTaW1wbGVDaGFuZ2VzLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge8m1V29ya2JlbmNoVmlld30gZnJvbSAnLi4vdmlldy/JtXdvcmtiZW5jaC12aWV3Lm1vZGVsJztcbmltcG9ydCB7RGltZW5zaW9uLCBmcm9tRGltZW5zaW9uJH0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvb2JzZXJ2YWJsZSc7XG5pbXBvcnQge3NldFN0eWxlfSBmcm9tICcuLi9jb21tb24vZG9tLnV0aWwnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogUmVuZGVycyBhIGdpdmVuIHRlbXBsYXRlIGFzIG92ZXJsYXkuIFRoZSB0ZW1wbGF0ZSB3aWxsIHN0aWNrIHRvIHRoZSBib3VuZGluZyBib3ggb2YgdGhlIGhvc3QgZWxlbWVudCBvZiB0aGlzIGRpcmVjdGl2ZS5cbiAqL1xuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICdbd2JDb250ZW50UHJvamVjdGlvbl0nLCBzdGFuZGFsb25lOiB0cnVlfSlcbmV4cG9ydCBjbGFzcyBDb250ZW50UHJvamVjdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9jb250ZW50Vmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIHZpZXcgY29udGFpbmVyIHdoZXJlIHRvIGluc2VydCB0aGUgb3ZlcmxheS5cbiAgICovXG4gIEBJbnB1dCh7YWxpYXM6ICd3YkNvbnRlbnRQcm9qZWN0aW9uT3ZlcmxheUhvc3QnLCByZXF1aXJlZDogdHJ1ZX0pIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBwdWJsaWMgb3ZlcmxheUhvc3Q6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUZW1wbGF0ZSB3aGljaCB0byByZW5kZXIgYXMgb3ZlcmxheS4gVGhlIHRlbXBsYXRlIHdpbGwgc3RpY2sgdG8gdGhlIGJvdW5kaW5nIGJveCBvZiB0aGUgaG9zdCBlbGVtZW50IG9mIHRoaXMgZGlyZWN0aXZlLlxuICAgKi9cbiAgQElucHV0KHthbGlhczogJ3diQ29udGVudFByb2plY3Rpb25Db250ZW50JywgcmVxdWlyZWQ6IHRydWV9KSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgcHVibGljIGNvbnRlbnRUZW1wbGF0ZVJlZiE6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2hvc3Q6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBAT3B0aW9uYWwoKSBwcml2YXRlIF92aWV3OiDJtVdvcmtiZW5jaFZpZXcpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5fY29udGVudFZpZXdSZWY/LmRlc3Ryb3koKTtcblxuICAgIGlmICghdGhpcy5vdmVybGF5SG9zdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBlbWJlZGRlZCB2aWV3IGZyb20gY29udGVudCB0ZW1wbGF0ZSBhbmQgYWxpZ24gaXQgdG8gdGhlIGJvdW5kcyBvZiB0aGUgaG9zdCBlbGVtZW50LlxuICAgIHRoaXMuX2NvbnRlbnRWaWV3UmVmID0gdGhpcy5vdmVybGF5SG9zdC5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5jb250ZW50VGVtcGxhdGVSZWYsIG51bGwpO1xuICAgIHRoaXMuX2NvbnRlbnRWaWV3UmVmLmRldGVjdENoYW5nZXMoKTtcblxuICAgIC8vIFJlZ2lzdGVyIGRpc3Bvc2Ugbm90aWZpZXIuXG4gICAgY29uc3QgZGlzcG9zZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHRoaXMuX2NvbnRlbnRWaWV3UmVmLm9uRGVzdHJveSgoKSA9PiBkaXNwb3NlJC5uZXh0KCkpO1xuXG4gICAgLy8gUG9zaXRpb24gcHJvamVjdGVkIGNvbnRlbnQgb3V0IG9mIHRoZSBkb2N1bWVudCBmbG93IHJlbGF0aXZlIHRvIHRoZSBwYWdlIHZpZXdwb3J0LlxuICAgIHRoaXMuc3R5bGVDb250ZW50KHtwb3NpdGlvbjogJ2ZpeGVkJ30pO1xuXG4gICAgLy8gQWxpZ24gY29udGVudCBlYWNoIHRpbWUgdGhlIGJvdW5kaW5nIGJveCBlbGVtZW50IGNoYW5nZXMgaXRzIHNpemUuXG4gICAgZnJvbURpbWVuc2lvbiQodGhpcy5faG9zdC5uYXRpdmVFbGVtZW50KVxuICAgICAgLnBpcGUodGFrZVVudGlsKGRpc3Bvc2UkKSlcbiAgICAgIC5zdWJzY3JpYmUoZGltZW5zaW9uID0+IHtcbiAgICAgICAgaWYgKGlzTnVsbERpbWVuc2lvbihkaW1lbnNpb24pKSB7XG4gICAgICAgICAgLy8gV2hlbiByZW1vdmluZyB0aGUgYm91bmRpbmcgYm94IGVsZW1lbnQgKHRoaXMgZGlyZWN0aXZlJ3MgaG9zdCkgZnJvbSB0aGUgRE9NLCBpdHMgZGltZW5zaW9uIGRyb3BzIHRvIDAuXG4gICAgICAgICAgLy8gV2UgaWdub3JlIHRoaXMgZXZlbnQgdG8gcHJlc2VydmUgdGhlIGRpbWVuc2lvbiBvZiBwcm9qZWN0ZWQgY29udGVudCwgY3J1Y2lhbCwgZm9yIGV4YW1wbGUsIGlmIHByb2plY3RlZFxuICAgICAgICAgIC8vIGNvbnRlbnQgaW1wbGVtZW50cyB2aXJ0dWFsIHNjcm9sbGluZy4gT3RoZXJ3aXNlLCBpdHMgY29udGVudCB3b3VsZCByZWxvYWQgd2hlbiBhZGRpbmcgdGhlIGhvc3QgdG8gdGhlIERPTSBhZ2Fpbi5cbiAgICAgICAgICAvLyBGb3IgZXhhbXBsZSwgaW5hY3RpdmUgdmlld3MgYXJlIHJlbW92ZWQgZnJvbSB0aGUgRE9NLlxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFsaWduQ29udGVudFRvSG9zdEJvdW5kYXJpZXMoKTtcbiAgICAgIH0pO1xuXG4gICAgLy8gSGlkZSBjb250ZW50IHdoZW4gY29udGV4dHVhbCB2aWV3IGlzIGRldGFjaGVkLCBlLmcuLCBpZiBub3QgYWN0aXZlLCBvciBsb2NhdGVkIGluIHRoZSBwZXJpcGhlcmFsIGFyZWEgYW5kIHRoZSBtYWluIGFyZWEgaXMgbWF4aW1pemVkLlxuICAgIHRoaXMuX3ZpZXc/LnBvcnRhbC5hdHRhY2hlZCRcbiAgICAgIC5waXBlKHRha2VVbnRpbChkaXNwb3NlJCkpXG4gICAgICAuc3Vic2NyaWJlKGF0dGFjaGVkID0+IHtcbiAgICAgICAgdGhpcy5zZXRWaXNpYmxlKGF0dGFjaGVkKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsaWducyB0aGUgY29udGVudCBvZiB0aGUgcHJvamVjdGlvbiB0byB0aGUgYm91bmRhcmllcyBvZiB0aGUgaG9zdCBlbGVtZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBhbGlnbkNvbnRlbnRUb0hvc3RCb3VuZGFyaWVzKCk6IHZvaWQge1xuICAgIGNvbnN0IGhvc3RQb3NpdGlvbjogRE9NUmVjdCA9IHRoaXMuX2hvc3QubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB0aGlzLnN0eWxlQ29udGVudCh7XG4gICAgICB0b3A6IGAke2hvc3RQb3NpdGlvbi50b3B9cHhgLFxuICAgICAgbGVmdDogYCR7aG9zdFBvc2l0aW9uLmxlZnR9cHhgLFxuICAgICAgd2lkdGg6IGAke2hvc3RQb3NpdGlvbi53aWR0aH1weGAsXG4gICAgICBoZWlnaHQ6IGAke2hvc3RQb3NpdGlvbi5oZWlnaHR9cHhgLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRWaXNpYmxlKHZpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvLyBXZSB1c2UgYHZpc2liaWxpdHk6IGhpZGRlbmAgYW5kIG5vdCBgZGlzcGxheTogbm9uZWAgdG8gcHJlc2VydmUgdGhlIGRpbWVuc2lvbiBvZiBwcm9qZWN0ZWQgY29udGVudC5cbiAgICAvLyBPdGhlcndpc2U6XG4gICAgLy8gLSBQcm9qZWN0ZWQgY29udGVudCB3b3VsZCBmbGlja2VyIHdoZW4gYXR0YWNoaW5nIHRoZSBjb250ZXh0dWFsIHZpZXcsIG1vc3Qgbm90aWNlYWJsZSB3aXRoIGNvbnRlbnQgdGhhdCBkaXNwbGF5cyBhIG1pY3JvZnJvbnRlbmQuXG4gICAgLy8gLSBQcm9qZWN0ZWQgY29udGVudCB3b3VsZCBub3QgcmV0YWluIHZpcnR1YWwgc2Nyb2xsYWJsZSBjb250ZW50IHNpbmNlIGBkaXNwbGF5Om5vbmVgIHNldHMgd2lkdGggYW5kIGhlaWdodCB0byAwLlxuICAgIHRoaXMuc3R5bGVDb250ZW50KHt2aXNpYmlsaXR5OiB2aXNpYmxlID8gbnVsbCA6ICdoaWRkZW4nfSk7XG4gIH1cblxuICBwcml2YXRlIHN0eWxlQ29udGVudChzdHlsZToge1tzdHlsZTogc3RyaW5nXTogYW55fSk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRlbnRWaWV3UmVmIS5yb290Tm9kZXMuZm9yRWFjaChub2RlID0+IHNldFN0eWxlKG5vZGUsIHN0eWxlKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fY29udGVudFZpZXdSZWY/LmRlc3Ryb3koKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc051bGxEaW1lbnNpb24oZGltZW5zaW9uOiBEaW1lbnNpb24pOiBib29sZWFuIHtcbiAgcmV0dXJuIGRpbWVuc2lvbi5vZmZzZXRXaWR0aCA9PT0gMCAmJiBkaW1lbnNpb24ub2Zmc2V0SGVpZ2h0ID09PSAwO1xufVxuIl19
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1wcm9qZWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL2NvbnRlbnQtcHJvamVjdGlvbi9jb250ZW50LXByb2plY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBK0IsS0FBSyxFQUF3QixRQUFRLEVBQStDLE1BQU0sZUFBZSxDQUFDO0FBRTFKLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDNUMsT0FBTyxFQUFDLHVCQUF1QixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFFNUQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sMEJBQTBCO0lBZ0JyQyxZQUFvQixLQUE4QixFQUFzQixLQUFxQjtRQUF6RSxVQUFLLEdBQUwsS0FBSyxDQUF5QjtRQUFzQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtJQUM3RixDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUksQ0FBQyxlQUFlLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFFaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QixPQUFPO1FBQ1QsQ0FBQztRQUVELDZGQUE2RjtRQUM3RixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFGLElBQUksQ0FBQyxlQUFlLENBQUMs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QUR4QixLQUFLO3VCQUFDLEVBQUMsS0FBSyxFQUFFLDRCQUE0QixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFbWJlZGRlZFZpZXdSZWYsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT3B0aW9uYWwsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ybVXb3JrYmVuY2hWaWV3fSBmcm9tICcuLi92aWV3L8m1d29ya2JlbmNoLXZpZXcubW9kZWwnO1xuaW1wb3J0IHtmcm9tRGltZW5zaW9uJH0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvb2JzZXJ2YWJsZSc7XG5pbXBvcnQge3NldFN0eWxlfSBmcm9tICcuLi9jb21tb24vZG9tLnV0aWwnO1xuaW1wb3J0IHthbmltYXRpb25GcmFtZVNjaGVkdWxlciwgRU1QVFksIG1lcmdlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBvYnNlcnZlT24sIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIFJlbmRlcnMgYSBnaXZlbiB0ZW1wbGF0ZSBhcyBvdmVybGF5LiBUaGUgdGVtcGxhdGUgd2lsbCBzdGljayB0byB0aGUgYm91bmRpbmcgYm94IG9mIHRoZSBob3N0IGVsZW1lbnQgb2YgdGhpcyBkaXJlY3RpdmUuXG4gKi9cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnW3diQ29udGVudFByb2plY3Rpb25dJywgc3RhbmRhbG9uZTogdHJ1ZX0pXG5leHBvcnQgY2xhc3MgQ29udGVudFByb2plY3Rpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfY29udGVudFZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjx1bmtub3duPiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSB2aWV3IGNvbnRhaW5lciB3aGVyZSB0byBpbnNlcnQgdGhlIG92ZXJsYXkuXG4gICAqL1xuICBASW5wdXQoe2FsaWFzOiAnd2JDb250ZW50UHJvamVjdGlvbk92ZXJsYXlIb3N0JywgcmVxdWlyZWQ6IHRydWV9KSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgcHVibGljIG92ZXJsYXlIb3N0OiBWaWV3Q29udGFpbmVyUmVmIHwgdW5kZWZpbmVkIHwgbnVsbDtcblxuICAvKipcbiAgICogVGVtcGxhdGUgd2hpY2ggdG8gcmVuZGVyIGFzIG92ZXJsYXkuIFRoZSB0ZW1wbGF0ZSB3aWxsIHN0aWNrIHRvIHRoZSBib3VuZGluZyBib3ggb2YgdGhlIGhvc3QgZWxlbWVudCBvZiB0aGlzIGRpcmVjdGl2ZS5cbiAgICovXG4gIEBJbnB1dCh7YWxpYXM6ICd3YkNvbnRlbnRQcm9qZWN0aW9uQ29udGVudCcsIHJlcXVpcmVkOiB0cnVlfSkgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIHB1YmxpYyBjb250ZW50VGVtcGxhdGVSZWYhOiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9ob3N0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfdmlldzogybVXb3JrYmVuY2hWaWV3KSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRlbnRWaWV3UmVmPy5kZXN0cm95KCk7XG5cbiAgICBpZiAoIXRoaXMub3ZlcmxheUhvc3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgZW1iZWRkZWQgdmlldyBmcm9tIGNvbnRlbnQgdGVtcGxhdGUgYW5kIGFsaWduIGl0IHRvIHRoZSBib3VuZHMgb2YgdGhlIGhvc3QgZWxlbWVudC5cbiAgICB0aGlzLl9jb250ZW50Vmlld1JlZiA9IHRoaXMub3ZlcmxheUhvc3QuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuY29udGVudFRlbXBsYXRlUmVmLCBudWxsKTtcbiAgICB0aGlzLl9jb250ZW50Vmlld1JlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAvLyBSZWdpc3RlciBkaXNwb3NlIG5vdGlmaWVyLlxuICAgIGNvbnN0IGRpc3Bvc2UkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICB0aGlzLl9jb250ZW50Vmlld1JlZi5vbkRlc3Ryb3koKCkgPT4gZGlzcG9zZSQubmV4dCgpKTtcblxuICAgIC8vIFBvc2l0aW9uIHByb2plY3RlZCBjb250ZW50IG91dCBvZiB0aGUgZG9jdW1lbnQgZmxvdyByZWxhdGl2ZSB0byB0aGUgcGFnZSB2aWV3cG9ydC5cbiAgICB0aGlzLnN0eWxlQ29udGVudCh7cG9zaXRpb246ICdmaXhlZCd9KTtcblxuICAgIC8vIEFsaWduIGNvbnRlbnQgZWFjaCB0aW1lIHRoZSBzaXplIG9mIHRoZSBob3N0IGVsZW1lbnQgY2hhbmdlcywgb3Igd2hlbiB0aGUgY29udGVudCBpcyBhdHRhY2hlZCB0byB0aGUgRE9NLlxuICAgIC8vIEZvciBleGFtcGxlLCBtb3ZpbmcgYSB2aWV3IHRvIGFub3RoZXIgcGFydCBvZiB0aGUgc2FtZSBzaXplIHdpbGwgbm90IHRyaWdnZXIgYSBkaW1lbnNpb24gY2hhbmdlIGV2ZW50LlxuICAgIG1lcmdlKGZyb21EaW1lbnNpb24kKHRoaXMuX2hvc3QubmF0aXZlRWxlbWVudCksIHRoaXMuX3ZpZXc/LnBvcnRhbC5hdHRhY2hlZCQucGlwZShmaWx0ZXIoQm9vbGVhbikpID8/IEVNUFRZKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmVPbihhbmltYXRpb25GcmFtZVNjaGVkdWxlciksIC8vIEFsaWduIHRvIGhvc3QgYm91bmRhcmllcyByaWdodCBiZWZvcmUgdGhlIG5leHQgcmVwYWludC5cbiAgICAgICAgdGFrZVVudGlsKGRpc3Bvc2UkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmFsaWduQ29udGVudFRvSG9zdEJvdW5kYXJpZXMoKTtcbiAgICAgIH0pO1xuXG4gICAgLy8gSGlkZSBjb250ZW50IHdoZW4gY29udGV4dHVhbCB2aWV3IGlzIGRldGFjaGVkLCBlLmcuLCBpZiBub3QgYWN0aXZlLCBvciBsb2NhdGVkIGluIHRoZSBwZXJpcGhlcmFsIGFyZWEgYW5kIHRoZSBtYWluIGFyZWEgaXMgbWF4aW1pemVkLlxuICAgIHRoaXMuX3ZpZXc/LnBvcnRhbC5hdHRhY2hlZCRcbiAgICAgIC5waXBlKHRha2VVbnRpbChkaXNwb3NlJCkpXG4gICAgICAuc3Vic2NyaWJlKGF0dGFjaGVkID0+IHtcbiAgICAgICAgdGhpcy5zZXRWaXNpYmxlKGF0dGFjaGVkKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsaWducyB0aGUgY29udGVudCBvZiB0aGUgcHJvamVjdGlvbiB0byB0aGUgYm91bmRhcmllcyBvZiB0aGUgaG9zdCBlbGVtZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBhbGlnbkNvbnRlbnRUb0hvc3RCb3VuZGFyaWVzKCk6IHZvaWQge1xuICAgIGNvbnN0IGhvc3RQb3NpdGlvbjogRE9NUmVjdCA9IHRoaXMuX2hvc3QubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBpZiAoIWhvc3RQb3NpdGlvbi53aWR0aCAmJiAhaG9zdFBvc2l0aW9uLmhlaWdodCkge1xuICAgICAgLy8gV2hlbiByZW1vdmluZyB0aGUgYm91bmRpbmcgYm94IGVsZW1lbnQgKHRoaXMgZGlyZWN0aXZlJ3MgaG9zdCkgZnJvbSB0aGUgRE9NLCBpdHMgZGltZW5zaW9uIGRyb3BzIHRvIDAuXG4gICAgICAvLyBXZSBpZ25vcmUgdGhpcyBldmVudCB0byBwcmVzZXJ2ZSB0aGUgZGltZW5zaW9uIG9mIHByb2plY3RlZCBjb250ZW50LCBjcnVjaWFsLCBmb3IgZXhhbXBsZSwgaWYgcHJvamVjdGVkXG4gICAgICAvLyBjb250ZW50IGltcGxlbWVudHMgdmlydHVhbCBzY3JvbGxpbmcuIE90aGVyd2lzZSwgaXRzIGNvbnRlbnQgd291bGQgcmVsb2FkIHdoZW4gYWRkaW5nIHRoZSBob3N0IHRvIHRoZSBET00gYWdhaW4uXG4gICAgICAvLyBGb3IgZXhhbXBsZSwgaW5hY3RpdmUgdmlld3MgYXJlIHJlbW92ZWQgZnJvbSB0aGUgRE9NLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3R5bGVDb250ZW50KHtcbiAgICAgIHRvcDogYCR7aG9zdFBvc2l0aW9uLnRvcH1weGAsXG4gICAgICBsZWZ0OiBgJHtob3N0UG9zaXRpb24ubGVmdH1weGAsXG4gICAgICB3aWR0aDogYCR7aG9zdFBvc2l0aW9uLndpZHRofXB4YCxcbiAgICAgIGhlaWdodDogYCR7aG9zdFBvc2l0aW9uLmhlaWdodH1weGAsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldFZpc2libGUodmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgIC8vIFdlIHVzZSBgdmlzaWJpbGl0eTogaGlkZGVuYCBhbmQgbm90IGBkaXNwbGF5OiBub25lYCB0byBwcmVzZXJ2ZSB0aGUgZGltZW5zaW9uIG9mIHByb2plY3RlZCBjb250ZW50LlxuICAgIC8vIE90aGVyd2lzZTpcbiAgICAvLyAtIFByb2plY3RlZCBjb250ZW50IHdvdWxkIGZsaWNrZXIgd2hlbiBhdHRhY2hpbmcgdGhlIGNvbnRleHR1YWwgdmlldywgbW9zdCBub3RpY2VhYmxlIHdpdGggY29udGVudCB0aGF0IGRpc3BsYXlzIGEgbWljcm9mcm9udGVuZC5cbiAgICAvLyAtIFByb2plY3RlZCBjb250ZW50IHdvdWxkIG5vdCByZXRhaW4gdmlydHVhbCBzY3JvbGxhYmxlIGNvbnRlbnQgc2luY2UgYGRpc3BsYXk6bm9uZWAgc2V0cyB3aWR0aCBhbmQgaGVpZ2h0IHRvIDAuXG4gICAgdGhpcy5zdHlsZUNvbnRlbnQoe3Zpc2liaWxpdHk6IHZpc2libGUgPyBudWxsIDogJ2hpZGRlbid9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3R5bGVDb250ZW50KHN0eWxlOiB7W3N0eWxlOiBzdHJpbmddOiBhbnl9KTogdm9pZCB7XG4gICAgdGhpcy5fY29udGVudFZpZXdSZWYhLnJvb3ROb2Rlcy5mb3JFYWNoKG5vZGUgPT4gc2V0U3R5bGUobm9kZSwgc3R5bGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250ZW50Vmlld1JlZj8uZGVzdHJveSgpO1xuICB9XG59XG4iXX0=
@@ -8,8 +8,6 @@
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  */
10
10
  import { Component } from '@angular/core';
11
- import { AsyncPipe } from '@angular/common';
12
- import { CoerceObservablePipe } from '../../common/coerce-observable.pipe';
13
11
  import * as i0 from "@angular/core";
14
12
  import * as i1 from "../\u0275workbench-dialog";
15
13
  /**
@@ -26,13 +24,10 @@ export class DialogHeaderComponent {
26
24
  event.stopPropagation(); // Prevent dragging the dialog with the close button.
27
25
  }
28
26
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: DialogHeaderComponent, deps: [{ token: i1.ɵWorkbenchDialog }], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: DialogHeaderComponent, isStandalone: true, selector: "wb-dialog-header", ngImport: i0, template: "@if (dialog.title | wbCoerceObservable$ | async; as title) {\n <div class=\"title e2e-title\">\n <span>{{ title }}</span>\n </div>\n}\n\n@if (dialog.closable) {\n <button tabindex=\"-1\" class=\"close scion-workbench-icons e2e-close\"\n (mousedown)=\"onCloseMouseDown($event)\"\n (click)=\"onCloseClick()\">\n close\n </button>\n}\n", styles: [":host{display:flex;gap:var(--sci-workbench-dialog-padding);place-content:flex-end;padding-inline:var(--sci-workbench-dialog-padding);background-color:var(--sci-workbench-dialog-header-background-color);-webkit-user-select:none;user-select:none;height:var(--sci-workbench-dialog-header-height)}:host>div.title{flex:auto;display:flex;align-items:center;position:relative}:host>div.title>span{position:absolute;left:0;right:0;line-height:1.5;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:var(--sci-workbench-dialog-title-font-family);font-size:var(--sci-workbench-dialog-title-font-size);font-weight:var(--sci-workbench-dialog-title-font-weight);text-align:var(--sci-workbench-dialog-title-align)}:host>button.close{all:unset;flex:none;cursor:pointer;align-self:center}:host>button.close:not(:hover){opacity:.75}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: CoerceObservablePipe, name: "wbCoerceObservable$" }] }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: DialogHeaderComponent, isStandalone: true, selector: "wb-dialog-header", ngImport: i0, template: "@if (dialog.title(); as title) {\n <div class=\"title e2e-title\">\n <span>{{title}}</span>\n </div>\n}\n\n@if (dialog.closable()) {\n <button tabindex=\"-1\" class=\"close scion-workbench-icons e2e-close\"\n (mousedown)=\"onCloseMouseDown($event)\"\n (click)=\"onCloseClick()\">\n close\n </button>\n}\n", styles: [":host{display:flex;gap:var(--sci-workbench-dialog-padding);place-content:flex-end;padding-inline:var(--sci-workbench-dialog-padding);background-color:var(--sci-workbench-dialog-header-background-color);-webkit-user-select:none;user-select:none;height:var(--sci-workbench-dialog-header-height)}:host>div.title{flex:auto;display:flex;align-items:center;position:relative}:host>div.title>span{position:absolute;left:0;right:0;line-height:1.5;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:var(--sci-workbench-dialog-title-font-family);font-size:var(--sci-workbench-dialog-title-font-size);font-weight:var(--sci-workbench-dialog-title-font-weight);text-align:var(--sci-workbench-dialog-title-align)}:host>button.close{all:unset;flex:none;cursor:pointer;align-self:center}:host>button.close:not(:hover){opacity:.75}\n"] }); }
30
28
  }
31
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: DialogHeaderComponent, decorators: [{
32
30
  type: Component,
33
- args: [{ selector: 'wb-dialog-header', standalone: true, imports: [
34
- AsyncPipe,
35
- CoerceObservablePipe,
36
- ], template: "@if (dialog.title | wbCoerceObservable$ | async; as title) {\n <div class=\"title e2e-title\">\n <span>{{ title }}</span>\n </div>\n}\n\n@if (dialog.closable) {\n <button tabindex=\"-1\" class=\"close scion-workbench-icons e2e-close\"\n (mousedown)=\"onCloseMouseDown($event)\"\n (click)=\"onCloseClick()\">\n close\n </button>\n}\n", styles: [":host{display:flex;gap:var(--sci-workbench-dialog-padding);place-content:flex-end;padding-inline:var(--sci-workbench-dialog-padding);background-color:var(--sci-workbench-dialog-header-background-color);-webkit-user-select:none;user-select:none;height:var(--sci-workbench-dialog-header-height)}:host>div.title{flex:auto;display:flex;align-items:center;position:relative}:host>div.title>span{position:absolute;left:0;right:0;line-height:1.5;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:var(--sci-workbench-dialog-title-font-family);font-size:var(--sci-workbench-dialog-title-font-size);font-weight:var(--sci-workbench-dialog-title-font-weight);text-align:var(--sci-workbench-dialog-title-align)}:host>button.close{all:unset;flex:none;cursor:pointer;align-self:center}:host>button.close:not(:hover){opacity:.75}\n"] }]
31
+ args: [{ selector: 'wb-dialog-header', standalone: true, template: "@if (dialog.title(); as title) {\n <div class=\"title e2e-title\">\n <span>{{title}}</span>\n </div>\n}\n\n@if (dialog.closable()) {\n <button tabindex=\"-1\" class=\"close scion-workbench-icons e2e-close\"\n (mousedown)=\"onCloseMouseDown($event)\"\n (click)=\"onCloseClick()\">\n close\n </button>\n}\n", styles: [":host{display:flex;gap:var(--sci-workbench-dialog-padding);place-content:flex-end;padding-inline:var(--sci-workbench-dialog-padding);background-color:var(--sci-workbench-dialog-header-background-color);-webkit-user-select:none;user-select:none;height:var(--sci-workbench-dialog-header-height)}:host>div.title{flex:auto;display:flex;align-items:center;position:relative}:host>div.title>span{position:absolute;left:0;right:0;line-height:1.5;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:var(--sci-workbench-dialog-title-font-family);font-size:var(--sci-workbench-dialog-title-font-size);font-weight:var(--sci-workbench-dialog-title-font-weight);text-align:var(--sci-workbench-dialog-title-align)}:host>button.close{all:unset;flex:none;cursor:pointer;align-self:center}:host>button.close:not(:hover){opacity:.75}\n"] }]
37
32
  }], ctorParameters: () => [{ type: i1.ɵWorkbenchDialog }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9kaWFsb2cvZGlhbG9nLWhlYWRlci9kaWFsb2ctaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL2RpYWxvZy9kaWFsb2ctaGVhZGVyL2RpYWxvZy1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBR3pFOztHQUVHO0FBV0gsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQyxZQUFzQixNQUF3QjtRQUF4QixXQUFNLEdBQU4sTUFBTSxDQUFrQjtJQUM5QyxDQUFDO0lBRVMsWUFBWTtRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxLQUFZO1FBQ3JDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLHFEQUFxRDtJQUNoRixDQUFDOzhHQVhVLHFCQUFxQjtrR0FBckIscUJBQXFCLDRFQzVCbEMsMFdBYUEsdzNCRFdJLFNBQVMseUNBQ1Qsb0JBQW9COzsyRkFHWCxxQkFBcUI7a0JBVmpDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBR2hCLElBQUksV0FDUDt3QkFDUCxTQUFTO3dCQUNULG9CQUFvQjtxQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjMgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QXN5bmNQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDb2VyY2VPYnNlcnZhYmxlUGlwZX0gZnJvbSAnLi4vLi4vY29tbW9uL2NvZXJjZS1vYnNlcnZhYmxlLnBpcGUnO1xuaW1wb3J0IHvJtVdvcmtiZW5jaERpYWxvZ30gZnJvbSAnLi4vybV3b3JrYmVuY2gtZGlhbG9nJztcblxuLyoqXG4gKiBSZW5kZXJzIHRoZSBkaWFsb2cgaGVhZGVyIHdpdGggYSBjbG9zZSBidXR0b24gYW5kIG9wdGlvbmFsIHRpdGxlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3Yi1kaWFsb2ctaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kaWFsb2ctaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBBc3luY1BpcGUsXG4gICAgQ29lcmNlT2JzZXJ2YWJsZVBpcGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ0hlYWRlckNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGRpYWxvZzogybVXb3JrYmVuY2hEaWFsb2cpIHtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNsb3NlQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5kaWFsb2cuY2xvc2UoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNsb3NlTW91c2VEb3duKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyAvLyBQcmV2ZW50IGRyYWdnaW5nIHRoZSBkaWFsb2cgd2l0aCB0aGUgY2xvc2UgYnV0dG9uLlxuICB9XG59XG4iLCJAaWYgKGRpYWxvZy50aXRsZSB8IHdiQ29lcmNlT2JzZXJ2YWJsZSQgfCBhc3luYzsgYXMgdGl0bGUpIHtcbiAgPGRpdiBjbGFzcz1cInRpdGxlIGUyZS10aXRsZVwiPlxuICAgIDxzcGFuPnt7IHRpdGxlIH19PC9zcGFuPlxuICA8L2Rpdj5cbn1cblxuQGlmIChkaWFsb2cuY2xvc2FibGUpIHtcbiAgPGJ1dHRvbiB0YWJpbmRleD1cIi0xXCIgY2xhc3M9XCJjbG9zZSBzY2lvbi13b3JrYmVuY2gtaWNvbnMgZTJlLWNsb3NlXCJcbiAgICAgICAgICAobW91c2Vkb3duKT1cIm9uQ2xvc2VNb3VzZURvd24oJGV2ZW50KVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2VDbGljaygpXCI+XG4gICAgY2xvc2VcbiAgPC9idXR0b24+XG59XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9kaWFsb2cvZGlhbG9nLWhlYWRlci9kaWFsb2ctaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL2RpYWxvZy9kaWFsb2ctaGVhZGVyL2RpYWxvZy1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFHeEM7O0dBRUc7QUFPSCxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQXNCLE1BQXdCO1FBQXhCLFdBQU0sR0FBTixNQUFNLENBQWtCO0lBQzlDLENBQUM7SUFFUyxZQUFZO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVTLGdCQUFnQixDQUFDLEtBQVk7UUFDckMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMscURBQXFEO0lBQ2hGLENBQUM7OEdBWFUscUJBQXFCO2tHQUFyQixxQkFBcUIsNEVDdEJsQyw4VUFhQTs7MkZEU2EscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLGtCQUFrQixjQUdoQixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIzIFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge8m1V29ya2JlbmNoRGlhbG9nfSBmcm9tICcuLi/JtXdvcmtiZW5jaC1kaWFsb2cnO1xuXG4vKipcbiAqIFJlbmRlcnMgdGhlIGRpYWxvZyBoZWFkZXIgd2l0aCBhIGNsb3NlIGJ1dHRvbiBhbmQgb3B0aW9uYWwgdGl0bGUuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3diLWRpYWxvZy1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RpYWxvZy1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nSGVhZGVyQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZGlhbG9nOiDJtVdvcmtiZW5jaERpYWxvZykge1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2xvc2VDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZy5jbG9zZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2xvc2VNb3VzZURvd24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IC8vIFByZXZlbnQgZHJhZ2dpbmcgdGhlIGRpYWxvZyB3aXRoIHRoZSBjbG9zZSBidXR0b24uXG4gIH1cbn1cbiIsIkBpZiAoZGlhbG9nLnRpdGxlKCk7IGFzIHRpdGxlKSB7XG4gIDxkaXYgY2xhc3M9XCJ0aXRsZSBlMmUtdGl0bGVcIj5cbiAgICA8c3Bhbj57e3RpdGxlfX08L3NwYW4+XG4gIDwvZGl2PlxufVxuXG5AaWYgKGRpYWxvZy5jbG9zYWJsZSgpKSB7XG4gIDxidXR0b24gdGFiaW5kZXg9XCItMVwiIGNsYXNzPVwiY2xvc2Ugc2Npb24td29ya2JlbmNoLWljb25zIGUyZS1jbG9zZVwiXG4gICAgICAgICAgKG1vdXNlZG93bik9XCJvbkNsb3NlTW91c2VEb3duKCRldmVudClcIlxuICAgICAgICAgIChjbGljayk9XCJvbkNsb3NlQ2xpY2soKVwiPlxuICAgIGNsb3NlXG4gIDwvYnV0dG9uPlxufVxuIl19