@scion/workbench 17.0.0-beta.6 → 17.0.0-beta.8

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 (314) hide show
  1. package/README.md +1 -1
  2. package/esm2022/lib/activation-instant.provider.mjs +3 -3
  3. package/esm2022/lib/common/asserts.util.mjs +2 -2
  4. package/esm2022/lib/common/class-list.mjs +61 -0
  5. package/esm2022/lib/common/coerce-observable.pipe.mjs +3 -3
  6. package/esm2022/lib/common/filter-by-predicate.pipe.mjs +3 -3
  7. package/esm2022/lib/common/filter-by-text.pipe.mjs +3 -3
  8. package/esm2022/lib/common/grid-element-if-visible.pipe.mjs +6 -6
  9. package/esm2022/lib/common/instanceof.pipe.mjs +3 -3
  10. package/esm2022/lib/common/map-coerce.pipe.mjs +3 -3
  11. package/esm2022/lib/common/null-if-empty.pipe.mjs +3 -3
  12. package/esm2022/lib/common/objects.util.mjs +34 -0
  13. package/esm2022/lib/common/typeof.pipe.mjs +3 -3
  14. package/esm2022/lib/common/uuid.util.mjs +17 -0
  15. package/esm2022/lib/content-projection/content-as-overlay.component.mjs +3 -3
  16. package/esm2022/lib/content-projection/content-projection.directive.mjs +3 -3
  17. package/esm2022/lib/dialog/dialog-footer/dialog-action-filter.pipe.mjs +3 -3
  18. package/esm2022/lib/dialog/dialog-footer/dialog-footer.component.mjs +3 -3
  19. package/esm2022/lib/dialog/dialog-footer/workbench-dialog-action.directive.mjs +3 -3
  20. package/esm2022/lib/dialog/dialog-footer/workbench-dialog-footer.directive.mjs +3 -3
  21. package/esm2022/lib/dialog/dialog-header/dialog-header.component.mjs +3 -3
  22. package/esm2022/lib/dialog/dialog-header/workbench-dialog-header.directive.mjs +3 -3
  23. package/esm2022/lib/dialog/movable.directive.mjs +3 -3
  24. package/esm2022/lib/dialog/resizable.directive.mjs +3 -3
  25. package/esm2022/lib/dialog/workbench-dialog.component.mjs +3 -3
  26. package/esm2022/lib/dialog/workbench-dialog.mjs +1 -1
  27. package/esm2022/lib/dialog/workbench-dialog.options.mjs +1 -1
  28. package/esm2022/lib/dialog/workbench-dialog.registry.mjs +4 -4
  29. package/esm2022/lib/dialog/workbench-dialog.service.mjs +5 -5
  30. package/esm2022/lib/dialog//311/265workbench-dialog.mjs +8 -26
  31. package/esm2022/lib/dialog//311/265workbench-dialog.service.mjs +3 -3
  32. package/esm2022/lib/filter-field/filter-field.component.mjs +6 -6
  33. package/esm2022/lib/glass-pane/glass-pane.directive.mjs +3 -3
  34. package/esm2022/lib/layout/grid-element/grid-element.component.mjs +10 -10
  35. package/esm2022/lib/layout/main-area-layout/main-area-layout.component.mjs +7 -4
  36. package/esm2022/lib/layout/migration/model/workbench-layout-migration-v1.model.mjs +11 -0
  37. package/esm2022/lib/layout/migration/model/workbench-layout-migration-v2.model.mjs +11 -0
  38. package/esm2022/lib/layout/migration/model/workbench-layout-migration-v3.model.mjs +11 -0
  39. package/esm2022/lib/layout/migration/model/workbench-layout-migration-v4.model.mjs +11 -0
  40. package/esm2022/lib/layout/migration/workbench-layout-migration-v2.service.mjs +59 -0
  41. package/esm2022/lib/layout/migration/workbench-layout-migration-v3.service.mjs +117 -0
  42. package/esm2022/lib/layout/migration/workbench-layout-migration-v4.service.mjs +57 -0
  43. package/esm2022/lib/layout/workbench-layout.component.mjs +7 -4
  44. package/esm2022/lib/layout/workbench-layout.factory.mjs +4 -4
  45. package/esm2022/lib/layout/workbench-layout.mjs +1 -1
  46. package/esm2022/lib/layout/workbench-layout.model.mjs +5 -6
  47. package/esm2022/lib/layout/workbench-layout.service.mjs +3 -3
  48. package/esm2022/lib/layout/workbench-layouts.util.mjs +53 -16
  49. package/esm2022/lib/layout/workench-layout-serializer.service.mjs +53 -21
  50. package/esm2022/lib/layout//311/265workbench-layout.factory.mjs +8 -5
  51. package/esm2022/lib/layout//311/265workbench-layout.mjs +382 -195
  52. package/esm2022/lib/logging/console-appender.service.mjs +3 -3
  53. package/esm2022/lib/logging/logger-names.mjs +8 -9
  54. package/esm2022/lib/logging/logger.mjs +3 -3
  55. package/esm2022/lib/logging/logging-support.mjs +4 -4
  56. package/esm2022/lib/logging/logging.model.mjs +3 -3
  57. package/esm2022/lib/logging//311/265logger.mjs +3 -3
  58. package/esm2022/lib/message-box/message-box-footer/message-box-footer.component.mjs +18 -20
  59. package/esm2022/lib/message-box/message-box-header/message-box-header.component.mjs +3 -3
  60. package/esm2022/lib/message-box/workbench-message-box.component.mjs +3 -3
  61. package/esm2022/lib/message-box/workbench-message-box.options.mjs +1 -1
  62. package/esm2022/lib/message-box/workbench-message-box.service.mjs +5 -5
  63. package/esm2022/lib/message-box//311/265workbench-message-box.service.mjs +5 -5
  64. package/esm2022/lib/microfrontend-platform/common/microfrontend.util.mjs +55 -0
  65. package/esm2022/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.mjs +34 -22
  66. package/esm2022/lib/microfrontend-platform/initialization/ng-zone-observable-decorator.mjs +3 -3
  67. package/esm2022/lib/microfrontend-platform/initialization/workbench-host-manifest-interceptor.service.mjs +3 -3
  68. package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-capability-validator.interceptor.mjs +53 -0
  69. package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-intent-handler.interceptor.mjs +85 -0
  70. package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog.component.mjs +140 -0
  71. package/esm2022/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.mjs +122 -0
  72. package/esm2022/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.mjs +11 -10
  73. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-intent-handler.service.mjs +3 -3
  74. package/esm2022/lib/microfrontend-platform/microfrontend-notification/microfrontend-notification-intent-handler.service.mjs +3 -3
  75. package/esm2022/lib/microfrontend-platform/microfrontend-platform-config-loader.mjs +3 -3
  76. package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-capability-validator.interceptor.mjs +30 -0
  77. package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-intent-handler.interceptor.mjs +130 -0
  78. package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.mjs +18 -30
  79. package/esm2022/lib/microfrontend-platform/microfrontend-splash/microfrontend-splash.component.mjs +3 -3
  80. package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view-command-handler.service.mjs +9 -31
  81. package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.mjs +88 -144
  82. package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-workbench-view.model.mjs +23 -0
  83. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-id-assigner.interceptor.mjs +41 -0
  84. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-validator.interceptor.mjs +30 -0
  85. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-intent-handler.interceptor.mjs +125 -0
  86. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-routes.mjs +103 -0
  87. package/esm2022/lib/microfrontend-platform/workbench-microfrontend-support.mjs +45 -47
  88. package/esm2022/lib/migration/workbench-migration.mjs +11 -0
  89. package/esm2022/lib/migration/workbench-migrator.mjs +38 -0
  90. package/esm2022/lib/notification/notification-css-classes.pipe.mjs +3 -3
  91. package/esm2022/lib/notification/notification-list.component.mjs +3 -3
  92. package/esm2022/lib/notification/notification.component.mjs +3 -3
  93. package/esm2022/lib/notification/notification.config.mjs +1 -1
  94. package/esm2022/lib/notification/notification.mjs +1 -1
  95. package/esm2022/lib/notification/notification.service.mjs +9 -9
  96. package/esm2022/lib/notification/text-notification.component.mjs +3 -3
  97. package/esm2022/lib/page-not-found/format-url.pipe.mjs +26 -0
  98. package/esm2022/lib/page-not-found/page-not-found.component.mjs +28 -0
  99. package/esm2022/lib/part/part-action-bar/part-action-bar.component.mjs +3 -3
  100. package/esm2022/lib/part/part-action-bar/part-action-filter.pipe.mjs +3 -3
  101. package/esm2022/lib/part/part-action-bar/part-action.directive.mjs +4 -4
  102. package/esm2022/lib/part/part-bar/part-bar.component.mjs +11 -8
  103. package/esm2022/lib/part/part-portal.pipe.mjs +3 -3
  104. package/esm2022/lib/part/part.component.mjs +7 -4
  105. package/esm2022/lib/part/view-context-menu/accelerator-format.pipe.mjs +3 -3
  106. package/esm2022/lib/part/view-context-menu/text.component.mjs +3 -3
  107. package/esm2022/lib/part/view-context-menu/view-menu.component.mjs +3 -3
  108. package/esm2022/lib/part/view-context-menu/view-menu.directive.mjs +4 -4
  109. package/esm2022/lib/part/view-context-menu/view-menu.service.mjs +19 -19
  110. package/esm2022/lib/part/view-list/view-list.component.mjs +3 -3
  111. package/esm2022/lib/part/view-list-button/view-list-button.component.mjs +3 -3
  112. package/esm2022/lib/part/view-list-item/view-list-item.component.mjs +9 -9
  113. package/esm2022/lib/part/view-tab/view-tab.component.mjs +16 -13
  114. package/esm2022/lib/part/view-tab-content/view-tab-content.component.mjs +5 -5
  115. package/esm2022/lib/part/view-tab-drag-image/view-tab-drag-image.component.mjs +9 -9
  116. package/esm2022/lib/part/workbench-part-action.registry.mjs +3 -3
  117. package/esm2022/lib/part/workbench-part.model.mjs +1 -1
  118. package/esm2022/lib/part/workbench-part.registry.mjs +3 -3
  119. package/esm2022/lib/part//311/265workbench-part.model.mjs +3 -3
  120. package/esm2022/lib/perspective/migration/model/workbench-perspective-migration-v1.model.mjs +11 -0
  121. package/esm2022/lib/perspective/migration/model/workbench-perspective-migration-v2.model.mjs +11 -0
  122. package/esm2022/lib/perspective/migration/workbench-perspective-migration-v2.service.mjs +57 -0
  123. package/esm2022/lib/perspective/workbench-grid-merger.service.mjs +19 -51
  124. package/esm2022/lib/perspective/workbench-perspective-storage.service.mjs +23 -18
  125. package/esm2022/lib/perspective/workbench-perspective-view-conflict-resolver.service.mjs +27 -42
  126. package/esm2022/lib/perspective/workbench-perspective.model.mjs +1 -1
  127. package/esm2022/lib/perspective/workbench-perspective.registry.mjs +3 -3
  128. package/esm2022/lib/perspective/workbench-perspective.service.mjs +15 -10
  129. package/esm2022/lib/perspective/workench-perspective-serializer.service.mjs +62 -0
  130. package/esm2022/lib/perspective//311/265workbench-perspective.model.mjs +98 -78
  131. package/esm2022/lib/popup/popup.component.mjs +3 -3
  132. package/esm2022/lib/popup/popup.config.mjs +1 -1
  133. package/esm2022/lib/popup/popup.service.mjs +3 -3
  134. package/esm2022/lib/portal/workbench-portal-outlet.directive.mjs +6 -6
  135. package/esm2022/lib/public_api.mjs +3 -2
  136. package/esm2022/lib/registry/workbench-object-registry.mjs +3 -3
  137. package/esm2022/lib/routing/empty-outlet/empty-outlet.component.mjs +31 -0
  138. package/esm2022/lib/routing/public_api.mjs +1 -1
  139. package/esm2022/lib/routing/router.util.mjs +96 -71
  140. package/esm2022/lib/routing/routing.model.mjs +11 -0
  141. package/esm2022/lib/routing/url-segment-matcher.mjs +46 -0
  142. package/esm2022/lib/routing/workbench-auxiliary-routes-registrator.service.mjs +58 -50
  143. package/esm2022/lib/routing/workbench-dialog-differ.mjs +51 -0
  144. package/esm2022/lib/routing/workbench-layout-differ.mjs +14 -17
  145. package/esm2022/lib/routing/workbench-navigational-states.mjs +11 -25
  146. package/esm2022/lib/routing/workbench-popup-differ.mjs +6 -6
  147. package/esm2022/lib/routing/workbench-route-data.mjs +15 -14
  148. package/esm2022/lib/routing/workbench-router-link.directive.mjs +24 -33
  149. package/esm2022/lib/routing/workbench-router.service.mjs +13 -378
  150. package/esm2022/lib/routing/workbench-url-observer.service.mjs +65 -36
  151. package/esm2022/lib/routing//311/265location.mjs +3 -3
  152. package/esm2022/lib/routing//311/265workbench-router.service.mjs +317 -0
  153. package/esm2022/lib/startup/splash/splash.component.mjs +3 -3
  154. package/esm2022/lib/startup/workbench-launcher.service.mjs +11 -11
  155. package/esm2022/lib/storage/workbench-storage.mjs +3 -3
  156. package/esm2022/lib/testing/public_api.mjs +2 -1
  157. package/esm2022/lib/testing/workbench-testing.module.mjs +13 -39
  158. package/esm2022/lib/testing/workbench.provider.mjs +60 -0
  159. package/esm2022/lib/theme/workbench-theme-switcher.service.mjs +3 -3
  160. package/esm2022/lib/view/public_api.mjs +2 -1
  161. package/esm2022/lib/view/view-move-handler.service.mjs +42 -62
  162. package/esm2022/lib/view/view-portal.pipe.mjs +4 -4
  163. package/esm2022/lib/view/view.component.mjs +8 -38
  164. package/esm2022/lib/view/workbench-view-route-guards.mjs +47 -0
  165. package/esm2022/lib/view/workbench-view.model.mjs +6 -4
  166. package/esm2022/lib/view/workbench-view.registry.mjs +4 -4
  167. package/esm2022/lib/view//311/265workbench-view.model.mjs +135 -28
  168. package/esm2022/lib/view-dnd/grid-drop-targets.util.mjs +33 -32
  169. package/esm2022/lib/view-dnd/requires-drop-zone.pipe.mjs +7 -7
  170. package/esm2022/lib/view-dnd/view-drag.service.mjs +6 -6
  171. package/esm2022/lib/view-dnd/view-drop-placeholder-renderer.service.mjs +3 -3
  172. package/esm2022/lib/view-dnd/view-drop-zone.directive.mjs +4 -4
  173. package/esm2022/lib/view-dnd/view-tab-drag-image-renderer.service.mjs +11 -9
  174. package/esm2022/lib/workbench-config.mjs +15 -0
  175. package/esm2022/lib/workbench-id.mjs +3 -3
  176. package/esm2022/lib/workbench.component.mjs +14 -10
  177. package/esm2022/lib/workbench.constants.mjs +8 -10
  178. package/esm2022/lib/workbench.model.mjs +1 -1
  179. package/esm2022/lib/workbench.module.mjs +15 -86
  180. package/esm2022/lib/workbench.provider.mjs +117 -0
  181. package/esm2022/lib/workbench.service.mjs +5 -5
  182. package/esm2022/lib//311/265workbench.service.mjs +15 -21
  183. package/fesm2022/scion-workbench.mjs +5527 -4289
  184. package/fesm2022/scion-workbench.mjs.map +1 -1
  185. package/lib/common/class-list.d.ts +51 -0
  186. package/lib/common/objects.util.d.ts +17 -0
  187. package/lib/common/uuid.util.d.ts +8 -0
  188. package/lib/dialog/workbench-dialog.d.ts +3 -7
  189. package/lib/dialog/workbench-dialog.options.d.ts +5 -4
  190. package/lib/dialog/workbench-dialog.registry.d.ts +4 -3
  191. package/lib/dialog/workbench-dialog.service.d.ts +1 -1
  192. package/lib/dialog//311/265workbench-dialog.d.ts +4 -6
  193. package/lib/filter-field/filter-field.component.d.ts +1 -1
  194. package/lib/layout/grid-element/grid-element.component.d.ts +2 -2
  195. package/lib/layout/migration/model/workbench-layout-migration-v1.model.d.ts +16 -0
  196. package/lib/layout/migration/model/workbench-layout-migration-v2.model.d.ts +22 -0
  197. package/lib/layout/migration/model/workbench-layout-migration-v3.model.d.ts +30 -0
  198. package/lib/layout/migration/model/workbench-layout-migration-v4.model.d.ts +31 -0
  199. package/lib/layout/migration/workbench-layout-migration-v2.service.d.ts +13 -0
  200. package/lib/layout/migration/workbench-layout-migration-v3.service.d.ts +16 -0
  201. package/lib/layout/migration/workbench-layout-migration-v4.service.d.ts +12 -0
  202. package/lib/layout/workbench-layout.d.ts +61 -7
  203. package/lib/layout/workbench-layout.factory.d.ts +1 -1
  204. package/lib/layout/workbench-layout.model.d.ts +19 -9
  205. package/lib/layout/workbench-layouts.util.d.ts +22 -6
  206. package/lib/layout/workench-layout-serializer.service.d.ts +28 -7
  207. package/lib/layout//311/265workbench-layout.d.ts +172 -98
  208. package/lib/layout//311/265workbench-layout.factory.d.ts +4 -0
  209. package/lib/logging/logger-names.d.ts +7 -7
  210. package/lib/logging/logging-support.d.ts +2 -2
  211. package/lib/message-box/workbench-message-box.options.d.ts +4 -3
  212. package/lib/message-box/workbench-message-box.service.d.ts +1 -1
  213. package/lib/microfrontend-platform/common/microfrontend.util.d.ts +22 -0
  214. package/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.d.ts +15 -9
  215. package/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-capability-validator.interceptor.d.ts +11 -0
  216. package/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-intent-handler.interceptor.d.ts +28 -0
  217. package/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog.component.d.ts +52 -0
  218. package/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.d.ts +37 -0
  219. package/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.d.ts +2 -1
  220. package/lib/microfrontend-platform/microfrontend-popup/{microfrontend-popup-capability-interceptor.service.d.ts → microfrontend-popup-capability-validator.interceptor.d.ts} +3 -3
  221. package/lib/microfrontend-platform/microfrontend-popup/{microfrontend-popup-intent-interceptor.service.d.ts → microfrontend-popup-intent-handler.interceptor.d.ts} +9 -6
  222. package/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.d.ts +7 -10
  223. package/lib/microfrontend-platform/microfrontend-view/microfrontend-view-command-handler.service.d.ts +2 -9
  224. package/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.d.ts +12 -23
  225. package/lib/microfrontend-platform/microfrontend-view/microfrontend-workbench-view.model.d.ts +14 -0
  226. package/lib/microfrontend-platform/routing/microfrontend-view-capability-id-assigner.interceptor.d.ts +10 -0
  227. package/lib/microfrontend-platform/routing/{microfrontend-view-capability-interceptor.service.d.ts → microfrontend-view-capability-validator.interceptor.d.ts} +3 -3
  228. package/lib/microfrontend-platform/routing/{microfrontend-view-intent-interceptor.service.d.ts → microfrontend-view-intent-handler.interceptor.d.ts} +6 -5
  229. package/lib/microfrontend-platform/routing/microfrontend-view-routes.d.ts +49 -0
  230. package/lib/microfrontend-platform/workbench-microfrontend-support.d.ts +3 -2
  231. package/lib/migration/workbench-migration.d.ts +9 -0
  232. package/lib/migration/workbench-migrator.d.ts +18 -0
  233. package/lib/notification/notification.config.d.ts +1 -1
  234. package/lib/notification/notification.d.ts +1 -3
  235. package/lib/page-not-found/format-url.pipe.d.ts +11 -0
  236. package/lib/page-not-found/page-not-found.component.d.ts +8 -0
  237. package/lib/part/part-action-bar/part-action.directive.d.ts +1 -1
  238. package/lib/part/part-bar/part-bar.component.d.ts +4 -3
  239. package/lib/part/view-context-menu/view-menu.directive.d.ts +1 -1
  240. package/lib/part/view-context-menu/view-menu.service.d.ts +5 -4
  241. package/lib/part/view-list-item/view-list-item.component.d.ts +5 -4
  242. package/lib/part/view-tab/view-tab.component.d.ts +6 -5
  243. package/lib/part/view-tab-drag-image/view-tab-drag-image.component.d.ts +3 -3
  244. package/lib/part/workbench-part.model.d.ts +5 -4
  245. package/lib/part//311/265workbench-part.model.d.ts +5 -4
  246. package/lib/perspective/migration/model/workbench-perspective-migration-v1.model.d.ts +8 -0
  247. package/lib/perspective/migration/model/workbench-perspective-migration-v2.model.d.ts +10 -0
  248. package/lib/perspective/migration/workbench-perspective-migration-v2.service.d.ts +13 -0
  249. package/lib/perspective/workbench-grid-merger.service.d.ts +9 -16
  250. package/lib/perspective/workbench-perspective-storage.service.d.ts +10 -28
  251. package/lib/perspective/workbench-perspective-view-conflict-resolver.service.d.ts +8 -25
  252. package/lib/perspective/workbench-perspective.model.d.ts +123 -14
  253. package/lib/perspective/workbench-perspective.service.d.ts +10 -3
  254. package/lib/perspective/workench-perspective-serializer.service.d.ts +26 -0
  255. package/lib/perspective//311/265workbench-perspective.model.d.ts +16 -14
  256. package/lib/popup/popup.config.d.ts +4 -3
  257. package/lib/portal/workbench-portal-outlet.directive.d.ts +2 -2
  258. package/lib/public_api.d.ts +4 -3
  259. package/lib/registry/workbench-object-registry.d.ts +2 -2
  260. package/lib/routing/empty-outlet/empty-outlet.component.d.ts +15 -0
  261. package/lib/routing/public_api.d.ts +2 -1
  262. package/lib/routing/router.util.d.ts +45 -31
  263. package/lib/routing/routing.model.d.ts +129 -0
  264. package/lib/routing/url-segment-matcher.d.ts +20 -0
  265. package/lib/routing/workbench-auxiliary-routes-registrator.service.d.ts +25 -16
  266. package/lib/routing/workbench-dialog-differ.d.ts +25 -0
  267. package/lib/routing/workbench-layout-differ.d.ts +4 -7
  268. package/lib/routing/workbench-navigational-states.d.ts +11 -21
  269. package/lib/routing/workbench-route-data.d.ts +14 -12
  270. package/lib/routing/workbench-router-link.directive.d.ts +22 -7
  271. package/lib/routing/workbench-router.service.d.ts +42 -157
  272. package/lib/routing/workbench-url-observer.service.d.ts +18 -6
  273. package/lib/routing//311/265workbench-router.service.d.ts +75 -0
  274. package/lib/startup/workbench-launcher.service.d.ts +4 -4
  275. package/lib/testing/public_api.d.ts +1 -0
  276. package/lib/testing/workbench-testing.module.d.ts +7 -6
  277. package/lib/testing/workbench.provider.d.ts +29 -0
  278. package/lib/view/public_api.d.ts +2 -1
  279. package/lib/view/view-move-handler.service.d.ts +2 -4
  280. package/lib/view/view-portal.pipe.d.ts +2 -1
  281. package/lib/view/view.component.d.ts +1 -11
  282. package/lib/view/workbench-view-route-guards.d.ts +36 -0
  283. package/lib/view/workbench-view.model.d.ts +46 -13
  284. package/lib/view/workbench-view.registry.d.ts +4 -3
  285. package/lib/view//311/265workbench-view.model.d.ts +79 -14
  286. package/lib/view-dnd/grid-drop-targets.util.d.ts +15 -17
  287. package/lib/view-dnd/view-drag.service.d.ts +12 -4
  288. package/lib/view-dnd/view-drop-zone.directive.d.ts +1 -1
  289. package/lib/{workbench-module-config.d.ts → workbench-config.d.ts} +29 -71
  290. package/lib/workbench.component.d.ts +2 -2
  291. package/lib/workbench.constants.d.ts +6 -8
  292. package/lib/workbench.model.d.ts +20 -8
  293. package/lib/workbench.module.d.ts +12 -7
  294. package/lib/workbench.provider.d.ts +38 -0
  295. package/lib/workbench.service.d.ts +32 -8
  296. package/lib//311/265workbench.service.d.ts +9 -3
  297. package/package.json +8 -8
  298. package/esm2022/lib/layout/migration/workbench-layout-migrator.service.mjs +0 -38
  299. package/esm2022/lib/layout/migration/workbench-layout-v1-migrator.service.mjs +0 -59
  300. package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-capability-interceptor.service.mjs +0 -30
  301. package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-intent-interceptor.service.mjs +0 -130
  302. package/esm2022/lib/microfrontend-platform/routing/microfrontend-navigational-states.mjs +0 -22
  303. package/esm2022/lib/microfrontend-platform/routing/microfrontend-routes.mjs +0 -71
  304. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-interceptor.service.mjs +0 -54
  305. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-intent-interceptor.service.mjs +0 -123
  306. package/esm2022/lib/routing/navigation-state.resolver.mjs +0 -54
  307. package/esm2022/lib/view/workbench-view-pre-destroy.guard.mjs +0 -36
  308. package/esm2022/lib/workbench-module-config.mjs +0 -15
  309. package/lib/layout/migration/workbench-layout-migrator.service.d.ts +0 -15
  310. package/lib/layout/migration/workbench-layout-v1-migrator.service.d.ts +0 -12
  311. package/lib/microfrontend-platform/routing/microfrontend-navigational-states.d.ts +0 -11
  312. package/lib/microfrontend-platform/routing/microfrontend-routes.d.ts +0 -38
  313. package/lib/routing/navigation-state.resolver.d.ts +0 -12
  314. package/lib/view/workbench-view-pre-destroy.guard.d.ts +0 -5
@@ -21,9 +21,9 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
21
21
  import { NgIf } from '@angular/common';
22
22
  import { WORKBENCH_ID } from '../../workbench-id';
23
23
  import * as i0 from "@angular/core";
24
- import * as i1 from "../../workbench-module-config";
24
+ import * as i1 from "../../workbench-config";
25
25
  import * as i2 from "../../view/workbench-view.registry";
26
- import * as i3 from "../../routing/workbench-router.service";
26
+ import * as i3 from "../../routing/\u0275workbench-router.service";
27
27
  import * as i4 from "../../view-dnd/view-drag.service";
28
28
  import * as i5 from "../view-context-menu/view-menu.service";
29
29
  import * as i6 from "@angular/cdk/portal";
@@ -39,9 +39,9 @@ export class ViewTabComponent {
39
39
  get isDragOverTabbar() {
40
40
  return this._viewDragService.isDragOverTabbar === this.view.part.id;
41
41
  }
42
- constructor(host, _workbenchId, _workbenchModuleConfig, _viewRegistry, _router, _viewDragService, _differs, _viewContextMenuService, _injector) {
42
+ constructor(host, _workbenchId, _workbenchConfig, _viewRegistry, _router, _viewDragService, _differs, _viewContextMenuService, _injector) {
43
43
  this._workbenchId = _workbenchId;
44
- this._workbenchModuleConfig = _workbenchModuleConfig;
44
+ this._workbenchConfig = _workbenchConfig;
45
45
  this._viewRegistry = _viewRegistry;
46
46
  this._router = _router;
47
47
  this._viewDragService = _viewDragService;
@@ -105,12 +105,15 @@ export class ViewTabComponent {
105
105
  viewClosable: this.view.closable,
106
106
  viewDirty: this.view.dirty,
107
107
  viewUrlSegments: this.view.urlSegments,
108
+ alternativeViewId: this.view.alternativeId,
109
+ navigationHint: this.view.navigationHint,
108
110
  partId: this.view.part.id,
109
111
  viewTabPointerOffsetX: event.offsetX,
110
112
  viewTabPointerOffsetY: event.offsetY,
111
113
  viewTabWidth: this.host.getBoundingClientRect().width,
112
114
  viewTabHeight: this.host.getBoundingClientRect().height,
113
- workbenchId: this._workbenchId
115
+ workbenchId: this._workbenchId,
116
+ classList: this.view.classList.toMap(),
114
117
  });
115
118
  });
116
119
  }
@@ -137,7 +140,7 @@ export class ViewTabComponent {
137
140
  .subscribe(([event, enabled]) => {
138
141
  event.stopPropagation(); // prevent `PartBarComponent` handling the dblclick event which would undo maximization/minimization
139
142
  if (enabled && this.view.part.isInMainArea) {
140
- this._routernavigate(layout => layout.toggleMaximized()).then();
143
+ this._router.navigate(layout => layout.toggleMaximized()).then();
141
144
  }
142
145
  });
143
146
  }
@@ -147,7 +150,7 @@ export class ViewTabComponent {
147
150
  installViewCssClassListener() {
148
151
  const differ = this._differs.find([]).create();
149
152
  this._ngOnChanges$
150
- .pipe(switchMap(() => this.view.cssClasses$), map(cssClasses => differ.diff(cssClasses)), filter((diff) => diff !== null), takeUntilDestroyed())
153
+ .pipe(switchMap(() => this.view.classList.value$), map(cssClasses => differ.diff(cssClasses)), filter((diff) => diff !== null), takeUntilDestroyed())
151
154
  .subscribe((diff) => {
152
155
  diff.forEachAddedItem(({ item }) => this.host.classList.add(item));
153
156
  diff.forEachRemovedItem(({ item }) => this.host.classList.remove(item));
@@ -159,7 +162,7 @@ export class ViewTabComponent {
159
162
  .subscribe();
160
163
  }
161
164
  createViewTabContentPortal() {
162
- const componentType = this._workbenchModuleConfig.viewTabComponent || ViewTabContentComponent;
165
+ const componentType = this._workbenchConfig.viewTabComponent || ViewTabContentComponent;
163
166
  return new ComponentPortal(componentType, null, Injector.create({
164
167
  parent: this._injector,
165
168
  providers: [
@@ -168,10 +171,10 @@ export class ViewTabComponent {
168
171
  ],
169
172
  }));
170
173
  }
171
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ViewTabComponent, deps: [{ token: i0.ElementRef }, { token: WORKBENCH_ID }, { token: i1.WorkbenchModuleConfig }, { token: i2.WorkbenchViewRegistry }, { token: i3.WorkbenchRouter }, { token: i4.ViewDragService }, { token: i0.IterableDiffers }, { token: i5.ViewMenuService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
172
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: ViewTabComponent, isStandalone: true, selector: "wb-view-tab", inputs: { viewId: "viewId" }, host: { listeners: { "click": "onClick()", "mousedown": "onMousedown($event)", "contextmenu": "onContextmenu($event)", "dragstart": "onDragStart($event)", "dragend": "onDragEnd($event)" }, properties: { "attr.data-viewid": "this.viewId", "attr.draggable": "this.draggable", "attr.tabindex": "this.tabindex", "class.drag-over-tabbar": "this.isDragOverTabbar", "class.active": "this.active", "class.part-active": "this.partActive", "class.e2e-dirty": "this.dirty" } }, usesOnChanges: true, ngImport: i0, template: "<!-- IMPORTANT: THIS HTML FILE IS ALSO USED BY `ViewTabDragImageComponent` -->\n\n<div class=\"corner-radius start\" *ngIf=\"view.active\">\n <div class=\"circle\"></div>\n</div>\n\n<div class=\"content\">\n <ng-container *cdkPortalOutlet=\"viewTabContentPortal\"></ng-container>\n</div>\n\n<div class=\"corner-radius end\" *ngIf=\"view.active\">\n <div class=\"circle\"></div>\n</div>\n\n<button *ngIf=\"view.closable\"\n class=\"close e2e-close scion-workbench-icons\"\n (click)=\"onClose($event)\">\n close\n</button>\n", styles: [":host{display:grid;align-items:center;padding-left:var(--sci-workbench-tab-padding-inline);padding-right:var(--sci-workbench-tab-padding-inline);position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;box-sizing:border-box;outline:none;border-top:1px solid transparent;border-left:1px solid transparent;border-right:1px solid transparent;border-top-left-radius:var(--sci-workbench-tab-border-radius);border-top-right-radius:var(--sci-workbench-tab-border-radius)}:host.active{cursor:default;color:var(--sci-workbench-tab-active-text-color);border-left-color:var(--sci-workbench-tab-border-color);border-right-color:var(--sci-workbench-tab-border-color);border-top-color:var(--sci-workbench-tab-border-color);background-color:var(--sci-workbench-view-background-color)}wb-workbench:has(wb-main-area-layout) wb-part:not(.main-area) :host.active{background-color:var(--sci-workbench-view-peripheral-background-color)}:host.active.part-active>div.content{color:var(--sci-workbench-part-active-tab-active-text-color)}:host>div.content{min-width:var(--sci-workbench-tab-min-width);max-width:var(--sci-workbench-tab-max-width);isolation:isolate}:host>button.close{all:unset;position:absolute;cursor:pointer;visibility:hidden;padding:.125em;border-radius:var(--sci-corner-small);right:.2em}:host>button.close:not(:hover){opacity:.75}:host.active>button.close,:host:hover:not(.drag-over-tabbar)>button.close{visibility:visible}:host.active>button.close:hover{background-color:var(--sci-workbench-tab-hover-background-color)}:host:hover:not(.active):not(.drag-over-tabbar):before{content:\"\";background-color:var(--sci-workbench-tab-hover-background-color);position:absolute;inset:0 0 .125em .125em;border-radius:var(--sci-workbench-tab-border-radius);pointer-events:none}:host>div.corner-radius{height:var(--sci-workbench-tab-border-radius);width:var(--sci-workbench-tab-border-radius);overflow:hidden;position:absolute;bottom:0}:host>div.corner-radius>div.circle{position:absolute;top:calc(-2 * var(--sci-workbench-tab-border-radius));width:calc(2 * var(--sci-workbench-tab-border-radius));height:calc(2 * var(--sci-workbench-tab-border-radius));border:var(--sci-workbench-tab-border-radius) solid var(--sci-workbench-view-background-color);border-radius:50%;box-shadow:inset 0 0 0 1px var(--sci-workbench-tab-border-color);box-sizing:content-box}wb-workbench:has(wb-main-area-layout) wb-part:not(.main-area) :host>div.corner-radius>div.circle{border-color:var(--sci-workbench-view-peripheral-background-color)}:host>div.corner-radius.start{left:calc(-1 * var(--sci-workbench-tab-border-radius))}:host>div.corner-radius.start>div.circle{left:calc(-2 * var(--sci-workbench-tab-border-radius))}:host>div.corner-radius.end{right:calc(-1 * var(--sci-workbench-tab-border-radius))}:host>div.corner-radius.end>div.circle{right:calc(-2 * var(--sci-workbench-tab-border-radius))}@container viewtab (height >= 3.5rem){:host>button.close{align-self:start;top:.125em;right:.125em}}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i6.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] }); }
174
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ViewTabComponent, deps: [{ token: i0.ElementRef }, { token: WORKBENCH_ID }, { token: i1.WorkbenchConfig }, { token: i2.WorkbenchViewRegistry }, { token: i3WorkbenchRouter }, { token: i4.ViewDragService }, { token: i0.IterableDiffers }, { token: i5.ViewMenuService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
175
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: ViewTabComponent, isStandalone: true, selector: "wb-view-tab", inputs: { viewId: "viewId" }, host: { listeners: { "click": "onClick()", "mousedown": "onMousedown($event)", "contextmenu": "onContextmenu($event)", "dragstart": "onDragStart($event)", "dragend": "onDragEnd($event)" }, properties: { "attr.data-viewid": "this.viewId", "attr.draggable": "this.draggable", "attr.tabindex": "this.tabindex", "class.drag-over-tabbar": "this.isDragOverTabbar", "class.active": "this.active", "class.part-active": "this.partActive", "class.e2e-dirty": "this.dirty" } }, usesOnChanges: true, ngImport: i0, template: "<!-- IMPORTANT: THIS HTML FILE IS ALSO USED BY `ViewTabDragImageComponent` -->\n\n<div class=\"corner-radius start\" *ngIf=\"view.active\">\n <div class=\"circle\"></div>\n</div>\n\n<div class=\"content\">\n <ng-container *cdkPortalOutlet=\"viewTabContentPortal\"></ng-container>\n</div>\n\n<div class=\"corner-radius end\" *ngIf=\"view.active\">\n <div class=\"circle\"></div>\n</div>\n\n<button *ngIf=\"view.closable\"\n class=\"close e2e-close scion-workbench-icons\"\n (click)=\"onClose($event)\">\n close\n</button>\n", styles: [":host{display:grid;align-items:center;padding-left:var(--sci-workbench-tab-padding-inline);padding-right:var(--sci-workbench-tab-padding-inline);position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;box-sizing:border-box;outline:none;border-top:1px solid transparent;border-left:1px solid transparent;border-right:1px solid transparent;border-top-left-radius:var(--sci-workbench-tab-border-radius);border-top-right-radius:var(--sci-workbench-tab-border-radius)}:host.active{cursor:default;color:var(--sci-workbench-tab-active-text-color);border-left-color:var(--sci-workbench-tab-border-color);border-right-color:var(--sci-workbench-tab-border-color);border-top-color:var(--sci-workbench-tab-border-color);background-color:var(--sci-workbench-view-background-color)}wb-workbench:has(wb-main-area-layout) wb-part:not(.main-area) :host.active{background-color:var(--sci-workbench-view-peripheral-background-color)}:host.active.part-active>div.content{color:var(--sci-workbench-part-active-tab-active-text-color)}:host>div.content{min-width:var(--sci-workbench-tab-min-width);max-width:var(--sci-workbench-tab-max-width);isolation:isolate}:host>button.close{all:unset;position:absolute;cursor:pointer;visibility:hidden;padding:.125em;border-radius:var(--sci-corner-small);right:.2em}:host>button.close:not(:hover){opacity:.75}:host.active>button.close,:host:hover:not(.drag-over-tabbar)>button.close{visibility:visible}:host.active>button.close:hover{background-color:var(--sci-workbench-tab-hover-background-color)}:host:hover:not(.active):not(.drag-over-tabbar):before{content:\"\";background-color:var(--sci-workbench-tab-hover-background-color);position:absolute;inset:0 0 .125em .125em;border-radius:var(--sci-workbench-tab-border-radius);pointer-events:none}:host>div.corner-radius{height:var(--sci-workbench-tab-border-radius);width:var(--sci-workbench-tab-border-radius);overflow:hidden;position:absolute;bottom:0}:host>div.corner-radius>div.circle{position:absolute;top:calc(-2 * var(--sci-workbench-tab-border-radius));width:calc(2 * var(--sci-workbench-tab-border-radius));height:calc(2 * var(--sci-workbench-tab-border-radius));border:var(--sci-workbench-tab-border-radius) solid var(--sci-workbench-view-background-color);border-radius:50%;box-shadow:inset 0 0 0 1px var(--sci-workbench-tab-border-color);box-sizing:content-box}wb-workbench:has(wb-main-area-layout) wb-part:not(.main-area) :host>div.corner-radius>div.circle{border-color:var(--sci-workbench-view-peripheral-background-color)}:host>div.corner-radius.start{left:calc(-1 * var(--sci-workbench-tab-border-radius))}:host>div.corner-radius.start>div.circle{left:calc(-2 * var(--sci-workbench-tab-border-radius))}:host>div.corner-radius.end{right:calc(-1 * var(--sci-workbench-tab-border-radius))}:host>div.corner-radius.end>div.circle{right:calc(-2 * var(--sci-workbench-tab-border-radius))}@container viewtab (height >= 3.5rem){:host>button.close{align-self:start;top:.125em;right:.125em}}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i6.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] }); }
173
176
  }
174
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ViewTabComponent, decorators: [{
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ViewTabComponent, decorators: [{
175
178
  type: Component,
176
179
  args: [{ selector: 'wb-view-tab', standalone: true, imports: [
177
180
  NgIf,
@@ -180,7 +183,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
180
183
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
181
184
  type: Inject,
182
185
  args: [WORKBENCH_ID]
183
- }] }, { type: i1.WorkbenchModuleConfig }, { type: i2.WorkbenchViewRegistry }, { type: i3.WorkbenchRouter }, { type: i4.ViewDragService }, { type: i0.IterableDiffers }, { type: i5.ViewMenuService }, { type: i0.Injector }], propDecorators: { viewId: [{
186
+ }] }, { type: i1.WorkbenchConfig }, { type: i2.WorkbenchViewRegistry }, { type: i3WorkbenchRouter }, { type: i4.ViewDragService }, { type: i0.IterableDiffers }, { type: i5.ViewMenuService }, { type: i0.Injector }], propDecorators: { viewId: [{
184
187
  type: Input,
185
188
  args: [{ required: true }]
186
189
  }, {
@@ -224,4 +227,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
224
227
  * Indicates that the auxilary mouse button is pressed (usually the mouse wheel button or middle button).
225
228
  */
226
229
  const AUXILARY_MOUSE_BUTTON = 4;
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy10YWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvcGFydC92aWV3LXRhYi92aWV3LXRhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9wYXJ0L3ZpZXctdGFiL3ZpZXctdGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBYyxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBb0MsTUFBTSxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUNwTCxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRS9ELE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBQyx1QkFBdUIsRUFBa0IsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsMEJBQTBCLEVBQTBCLE1BQU0sMkJBQTJCLENBQUM7QUFFOUYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFHdkYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBRTlELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFB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O3FCQUNiOzswQkE2QlksTUFBTTsyQkFBQyxZQUFZO2dRQWpCekIsTUFBTTtzQkFGWixLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQzs7c0JBQ3RCLFdBQVc7dUJBQUMsa0JBQWtCO2dCQUl4QixTQUFTO3NCQURmLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUl0QixRQUFRO3NCQURkLFdBQVc7dUJBQUMsZUFBZTtnQkFPakIsZ0JBQWdCO3NCQUQxQixXQUFXO3VCQUFDLHdCQUF3QjtnQkEyQjFCLE1BQU07c0JBRGhCLFdBQVc7dUJBQUMsY0FBYztnQkFNaEIsVUFBVTtzQkFEcEIsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBTXJCLEtBQUs7c0JBRGYsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTXZCLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxPQUFPO2dCQVdkLFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVU5QixhQUFhO3NCQURuQixZQUFZO3VCQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRaEMsV0FBVztzQkFEakIsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBOEI5QixTQUFTO3NCQURmLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDOztBQTRFckM7O0dBRUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgaW5qZWN0LCBJbmplY3RvciwgSW5wdXQsIEl0ZXJhYmxlQ2hhbmdlcywgSXRlcmFibGVEaWZmZXJzLCBOZ1pvbmUsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2Zyb21FdmVudCwgbWVyZ2UsIFN1YmplY3QsIHdpdGhMYXRlc3RGcm9tfSBmcm9tICdyeGpzJztcbmltcG9ydCB7V29ya2JlbmNoVmlld1JlZ2lzdHJ5fSBmcm9tICcuLi8uLi92aWV3L3dvcmtiZW5jaC12aWV3LnJlZ2lzdHJ5JztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtWSUVXX0RSQUdfVFJBTlNGRVJfVFlQRSwgVmlld0RyYWdTZXJ2aWNlfSBmcm9tICcuLi8uLi92aWV3LWRuZC92aWV3LWRyYWcuc2VydmljZSc7XG5pbXBvcnQge2NyZWF0ZUVsZW1lbnR9IGZyb20gJy4uLy4uL2NvbW1vbi9kb20udXRpbCc7XG5pbXBvcnQge0NvbXBvbmVudFBvcnRhbCwgUG9ydGFsTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7VklFV19UQUJfUkVOREVSSU5HX0NPTlRFWFQsIFZpZXdUYWJSZW5kZXJpbmdDb250ZXh0fSBmcm9tICcuLi8uLi93b3JrYmVuY2guY29uc3RhbnRzJztcbmltcG9ydCB7V29ya2JlbmNoTW9kdWxlQ29uZmlnfSBmcm9tICcuLi8uLi93b3JrYmVuY2gtbW9kdWxlLWNvbmZpZyc7XG5pbXBvcnQge1ZpZXdUYWJDb250ZW50Q29tcG9uZW50fSBmcm9tICcuLi92aWV3LXRhYi1jb250ZW50L3ZpZXctdGFiLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7Vmlld01lbnVTZXJ2aWNlfSBmcm9tICcuLi92aWV3LWNvbnRleHQtbWVudS92aWV3LW1lbnUuc2VydmljZSc7XG5pbXBvcnQge8m1V29ya2JlbmNoVmlld30gZnJvbSAnLi4vLi4vdmlldy/JtXdvcmtiZW5jaC12aWV3Lm1vZGVsJztcbmltcG9ydCB7V29ya2JlbmNoVmlld30gZnJvbSAnLi4vLi4vdmlldy93b3JrYmVuY2gtdmlldy5tb2RlbCc7XG5pbXBvcnQge1dvcmtiZW5jaFJvdXRlcn0gZnJvbSAnLi4vLi4vcm91dGluZy93b3JrYmVuY2gtcm91dGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtzdWJzY3JpYmVJbnNpZGV9IGZyb20gJ0BzY2lvbi90b29sa2l0L29wZXJhdG9ycyc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtXT1JLQkVOQ0hfSUR9IGZyb20gJy4uLy4uL3dvcmtiZW5jaC1pZCc7XG5cbi8qKlxuICogSU1QT1JUQU5UOiBIVE1MIGFuZCBDU1MgYWxzbyB1c2VkIGJ5IHtAbGluayBWaWV3VGFiRHJhZ0ltYWdlQ29tcG9uZW50fS5cbiAqXG4gKiBAc2VlIFZpZXdUYWJEcmFnSW1hZ2VDb21wb25lbnRcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2Itdmlldy10YWInLFxuICB0ZW1wbGF0ZVVybDogJy4vdmlldy10YWIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92aWV3LXRhYi5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBQb3J0YWxNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFZpZXdUYWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gIHByaXZhdGUgX25nT25DaGFuZ2VzJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIGhvc3Q6IEhUTUxFbGVtZW50O1xuICBwdWJsaWMgdmlldyE6IMm1V29ya2JlbmNoVmlldztcbiAgcHVibGljIHZpZXdUYWJDb250ZW50UG9ydGFsITogQ29tcG9uZW50UG9ydGFsPHVua25vd24+O1xuXG4gIEBJbnB1dCh7cmVxdWlyZWQ6IHRydWV9KVxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS12aWV3aWQnKVxuICBwdWJsaWMgdmlld0lkITogc3RyaW5nO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kcmFnZ2FibGUnKVxuICBwdWJsaWMgZHJhZ2dhYmxlID0gdHJ1ZTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICBwdWJsaWMgdGFiaW5kZXggPSAtMTsgLy8gbWFrZSB0aGUgdmlldyBmb2N1c2FibGUgdG8gaW5zdGFsbCB2aWV3IG1lbnUgYWNjZWxlcmF0b3JzXG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiBkcmFnZ2luZyBhIHZpZXcgdGFiIG92ZXIgdGhpcyB2aWV3IHRhYidzIHRhYmJhci5cbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZHJhZy1vdmVyLXRhYmJhcicpXG4gIHB1YmxpYyBnZXQgaXNEcmFnT3ZlclRhYmJhcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlld0RyYWdTZXJ2aWNlLmlzRHJhZ092ZXJUYWJiYXIgPT09IHRoaXMudmlldy5wYXJ0LmlkO1xuICB9XG5cbiAgY29uc3RydWN0b3IoaG9zdDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgICAgICAgIEBJbmplY3QoV09SS0JFTkNIX0lEKSBwcml2YXRlIF93b3JrYmVuY2hJZDogc3RyaW5nLFxuICAgICAgICAgICAgICBwcml2YXRlIF93b3JrYmVuY2hNb2R1bGVDb25maWc6IFdvcmtiZW5jaE1vZHVsZUNvbmZpZyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfdmlld1JlZ2lzdHJ5OiBXb3JrYmVuY2hWaWV3UmVnaXN0cnksXG4gICAgICAgICAgICAgIHByaXZhdGUgX3JvdXRlcjogV29ya2JlbmNoUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIF92aWV3RHJhZ1NlcnZpY2U6IFZpZXdEcmFnU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfZGlmZmVyczogSXRlcmFibGVEaWZmZXJzLFxuICAgICAgICAgICAgICBwcml2YXRlIF92aWV3Q29udGV4dE1lbnVTZXJ2aWNlOiBWaWV3TWVudVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuaG9zdCA9IGhvc3QubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLmluc3RhbGxNYXhpbWl6ZUxpc3RlbmVyKCk7XG4gICAgdGhpcy5pbnN0YWxsVmlld0Nzc0NsYXNzTGlzdGVuZXIoKTtcbiAgICB0aGlzLmluc3RhbGxWaWV3TWVudUl0ZW1BY2NlbGVyYXRvcnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy52aWV3ID0gdGhpcy5fdmlld1JlZ2lzdHJ5LmdldCh0aGlzLnZpZXdJZCk7XG4gICAgdGhpcy52aWV3VGFiQ29udGVudFBvcnRhbCA9IHRoaXMuY3JlYXRlVmlld1RhYkNvbnRlbnRQb3J0YWwoKTtcbiAgICB0aGlzLl9uZ09uQ2hhbmdlcyQubmV4dCgpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hY3RpdmUnKVxuICBwdWJsaWMgZ2V0IGFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52aWV3LmFjdGl2ZTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MucGFydC1hY3RpdmUnKVxuICBwdWJsaWMgZ2V0IHBhcnRBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmlldy5wYXJ0LmFjdGl2ZTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZTJlLWRpcnR5JylcbiAgcHVibGljIGdldCBkaXJ0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52aWV3LmRpcnR5O1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBwdWJsaWMgb25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXcuYWN0aXZhdGUoKS50aGVuKCk7XG4gIH1cblxuICBwdWJsaWMgb25DbG9zZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgLy8gcHJldmVudCB0aGUgdmlldyBmcm9tIGJlaW5nIGFjdGl2YXRlZFxuICAgIHRoaXMudmlldy5jbG9zZSgpLnRoZW4oKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbk1vdXNlZG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5idXR0b25zID09PSBBVVhJTEFSWV9NT1VTRV9CVVRUT04pIHtcbiAgICAgIHRoaXMudmlldy5jbG9zZSgpLnRoZW4oKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjb250ZXh0bWVudScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkNvbnRleHRtZW51KGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fdmlld0NvbnRleHRNZW51U2VydmljZS5zaG93TWVudSh7eDogZXZlbnQuY2xpZW50WCwgeTogZXZlbnQuY2xpZW50WX0sIHRoaXMudmlldy5pZCkudGhlbigpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnc3RhcnQnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25EcmFnU3RhcnQoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudmlldy5hY3RpdmF0ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgaWYgKCFldmVudC5kYXRhVHJhbnNmZXIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCA9ICdtb3ZlJztcbiAgICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKFZJRVdfRFJBR19UUkFOU0ZFUl9UWVBFLCB0aGlzLnZpZXcuaWQpO1xuICAgICAgLy8gVXNlIGFuIGludmlzaWJsZSA8ZGl2PiBhcyB0aGUgbmF0aXZlIGRyYWcgaW1hZ2UgYmVjYXVzZSB0aGUgZWZmZWN0aXZlIGRyYWcgaW1hZ2UgaXMgcmVuZGVyZWQgYnkge1ZpZXdUYWJEcmFnSW1hZ2VSZW5kZXJlcn0uXG4gICAgICBldmVudC5kYXRhVHJhbnNmZXIuc2V0RHJhZ0ltYWdlKGNyZWF0ZUVsZW1lbnQoJ2RpdicsIHtzdHlsZToge2Rpc3BsYXk6ICdub25lJ319KSwgMCwgMCk7XG5cbiAgICAgIHRoaXMuX3ZpZXdEcmFnU2VydmljZS5zZXRWaWV3RHJhZ0RhdGEoe1xuICAgICAgICB2aWV3SWQ6IHRoaXMudmlldy5pZCxcbiAgICAgICAgdmlld1RpdGxlOiB0aGlzLnZpZXcudGl0bGUgPz8gJycsXG4gICAgICAgIHZpZXdIZWFkaW5nOiB0aGlzLnZpZXcuaGVhZGluZyA/PyAnJyxcbiAgICAgICAgdmlld0Nsb3NhYmxlOiB0aGlzLnZpZXcuY2xvc2FibGUsXG4gICAgICAgIHZpZXdEaXJ0eTogdGhpcy52aWV3LmRpcnR5LFxuICAgICAgICB2aWV3VXJsU2VnbWVudHM6IHRoaXMudmlldy51cmxTZWdtZW50cyxcbiAgICAgICAgcGFydElkOiB0aGlzLnZpZXcucGFydC5pZCxcbiAgICAgICAgdmlld1RhYlBvaW50ZXJPZmZzZXRYOiBldmVudC5vZmZzZXRYLFxuICAgICAgICB2aWV3VGFiUG9pbnRlck9mZnNldFk6IGV2ZW50Lm9mZnNldFksXG4gICAgICAgIHZpZXdUYWJXaWR0aDogdGhpcy5ob3N0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoLFxuICAgICAgICB2aWV3VGFiSGVpZ2h0OiB0aGlzLmhvc3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0LFxuICAgICAgICB3b3JrYmVuY2hJZDogdGhpcy5fd29ya2JlbmNoSWRcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2VuZCcsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkRyYWdFbmQoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIC8vIEVuc3VyZSB0aGlzIHZpZXcgc3RheXMgYWN0aXZhdGVkIGlmIHRoZSB1c2VyIGNhbmNlbHMgdGhlIGRyYWcgb3BlcmF0aW9uLiBCdXQsIGRvIG5vdCBwdXNoIHRoZSBuYXZpZ2F0aW9uIGludG8gYnJvd3NpbmcgaGlzdG9yeSBzdGFjay5cbiAgICBpZiAoZXZlbnQuZGF0YVRyYW5zZmVyPy5kcm9wRWZmZWN0ID09PSAnbm9uZScpIHtcbiAgICAgIHRoaXMudmlldy5hY3RpdmF0ZSh7c2tpcExvY2F0aW9uQ2hhbmdlOiB0cnVlfSkudGhlbigpO1xuICAgIH1cbiAgICB0aGlzLl92aWV3RHJhZ1NlcnZpY2UudW5zZXRWaWV3RHJhZ0RhdGEoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW5zIGZvciAnZGJsY2xpY2snIGV2ZW50cyB0byBtYXhpbWl6ZSBvciBtaW5pbWl6ZSB0aGUgbWFpbiBhcmVhLlxuICAgKlxuICAgKiBOb3RlIHRoYXQgdGhlIGxpc3RlbmVyIGlzIG5vdCBhY3RpdmF0ZWQgdW50aWwgdGhlIG1vdXNlIGlzIG1vdmVkLiBPdGhlcndpc2UsIGNsb3Npbmcgc3VjY2Vzc2l2ZVxuICAgKiB2aWV3cyAoaWYgdGhleSBoYXZlIGRpZmZlcmVudCB0YWIgd2lkdGhzKSBjb3VsZCByZXN1bHQgaW4gdW5pbnRlbmRlZCBtYXhpbWl6YXRpb24gb3IgbWluaW1pemF0aW9uLlxuICAgKi9cbiAgcHJpdmF0ZSBpbnN0YWxsTWF4aW1pemVMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICBjb25zdCB6b25lID0gaW5qZWN0KE5nWm9uZSk7XG4gICAgY29uc3QgZW5hYmxlZCQgPSBtZXJnZShmcm9tRXZlbnQodGhpcy5ob3N0LCAnbW91c2VlbnRlcicpLCBmcm9tRXZlbnQodGhpcy5ob3N0LCAnbW91c2Vtb3ZlJyksIGZyb21FdmVudCh0aGlzLmhvc3QsICdtb3VzZWxlYXZlJykpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKGV2ZW50ID0+IGV2ZW50LnR5cGUgPT09ICdtb3VzZW1vdmUnKSwgLy8gdGhlICdtb3VzZW1vdmUnIGV2ZW50IGFybXMgdGhlIGxpc3RlbmVyXG4gICAgICAgIHN1YnNjcmliZUluc2lkZShjb250aW51ZUZuID0+IHpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoY29udGludWVGbikpLFxuICAgICAgKTtcblxuICAgIGZyb21FdmVudCh0aGlzLmhvc3QsICdkYmxjbGljaycpXG4gICAgICAucGlwZShcbiAgICAgICAgd2l0aExhdGVzdEZyb20oZW5hYmxlZCQpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKFtldmVudCwgZW5hYmxlZF0pID0+IHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IC8vIHByZXZlbnQgYFBhcnRCYXJDb21wb25lbnRgIGhhbmRsaW5nIHRoZSBkYmxjbGljayBldmVudCB3aGljaCB3b3VsZCB1bmRvIG1heGltaXphdGlvbi9taW5pbWl6YXRpb25cbiAgICAgICAgaWYgKGVuYWJsZWQgJiYgdGhpcy52aWV3LnBhcnQuaXNJbk1haW5BcmVhKSB7XG4gICAgICAgICAgdGhpcy5fcm91dGVyLsm1bmF2aWdhdGUobGF5b3V0ID0+IGxheW91dC50b2dnbGVNYXhpbWl6ZWQoKSkudGhlbigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHZpZXcgc3BlY2lmaWMgQ1NTIGNsYXNzZXMgdG8gdGhlIHZpZXctdGFiLlxuICAgKi9cbiAgcHJpdmF0ZSBpbnN0YWxsVmlld0Nzc0NsYXNzTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgY29uc3QgZGlmZmVyID0gdGhpcy5fZGlmZmVycy5maW5kKFtdKS5jcmVhdGU8c3RyaW5nPigpO1xuXG4gICAgdGhpcy5fbmdPbkNoYW5nZXMkXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMudmlldy5jc3NDbGFzc2VzJCksXG4gICAgICAgIG1hcChjc3NDbGFzc2VzID0+IGRpZmZlci5kaWZmKGNzc0NsYXNzZXMpKSxcbiAgICAgICAgZmlsdGVyKChkaWZmKTogZGlmZiBpcyBJdGVyYWJsZUNoYW5nZXM8c3RyaW5nPiA9PiBkaWZmICE9PSBudWxsKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChkaWZmOiBJdGVyYWJsZUNoYW5nZXM8c3RyaW5nPikgPT4ge1xuICAgICAgICBkaWZmLmZvckVhY2hBZGRlZEl0ZW0oKHtpdGVtfSkgPT4gdGhpcy5ob3N0LmNsYXNzTGlzdC5hZGQoaXRlbSkpO1xuICAgICAgICBkaWZmLmZvckVhY2hSZW1vdmVkSXRlbSgoe2l0ZW19KSA9PiB0aGlzLmhvc3QuY2xhc3NMaXN0LnJlbW92ZShpdGVtKSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFsbFZpZXdNZW51SXRlbUFjY2VsZXJhdG9ycygpOiB2b2lkIHtcbiAgICB0aGlzLl9uZ09uQ2hhbmdlcyRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5fdmlld0NvbnRleHRNZW51U2VydmljZS5pbnN0YWxsTWVudUl0ZW1BY2NlbGVyYXRvcnMkKHRoaXMuaG9zdCwgdGhpcy52aWV3KSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVWaWV3VGFiQ29udGVudFBvcnRhbCgpOiBDb21wb25lbnRQb3J0YWw8dW5rbm93bj4ge1xuICAgIGNvbnN0IGNvbXBvbmVudFR5cGUgPSB0aGlzLl93b3JrYmVuY2hNb2R1bGVDb25maWcudmlld1RhYkNvbXBvbmVudCB8fCBWaWV3VGFiQ29udGVudENvbXBvbmVudDtcbiAgICByZXR1cm4gbmV3IENvbXBvbmVudFBvcnRhbChjb21wb25lbnRUeXBlLCBudWxsLCBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcGFyZW50OiB0aGlzLl9pbmplY3RvcixcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7cHJvdmlkZTogV29ya2JlbmNoVmlldywgdXNlVmFsdWU6IHRoaXMudmlld30sXG4gICAgICAgIHtwcm92aWRlOiBWSUVXX1RBQl9SRU5ERVJJTkdfQ09OVEVYVCwgdXNlVmFsdWU6ICd0YWInIHNhdGlzZmllcyBWaWV3VGFiUmVuZGVyaW5nQ29udGV4dH0sXG4gICAgICBdLFxuICAgIH0pKTtcbiAgfVxufVxuXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IHRoZSBhdXhpbGFyeSBtb3VzZSBidXR0b24gaXMgcHJlc3NlZCAodXN1YWxseSB0aGUgbW91c2Ugd2hlZWwgYnV0dG9uIG9yIG1pZGRsZSBidXR0b24pLlxuICovXG5jb25zdCBBVVhJTEFSWV9NT1VTRV9CVVRUT04gPSA0O1xuIiwiPCEtLSBJTVBPUlRBTlQ6IFRISVMgSFRNTCBGSUxFIElTIEFMU08gVVNFRCBCWSBgVmlld1RhYkRyYWdJbWFnZUNvbXBvbmVudGAgLS0+XG5cbjxkaXYgY2xhc3M9XCJjb3JuZXItcmFkaXVzIHN0YXJ0XCIgKm5nSWY9XCJ2aWV3LmFjdGl2ZVwiPlxuICA8ZGl2IGNsYXNzPVwiY2lyY2xlXCI+PC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgPG5nLWNvbnRhaW5lciAqY2RrUG9ydGFsT3V0bGV0PVwidmlld1RhYkNvbnRlbnRQb3J0YWxcIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiY29ybmVyLXJhZGl1cyBlbmRcIiAqbmdJZj1cInZpZXcuYWN0aXZlXCI+XG4gIDxkaXYgY2xhc3M9XCJjaXJjbGVcIj48L2Rpdj5cbjwvZGl2PlxuXG48YnV0dG9uICpuZ0lmPVwidmlldy5jbG9zYWJsZVwiXG4gICAgICAgIGNsYXNzPVwiY2xvc2UgZTJlLWNsb3NlIHNjaW9uLXdvcmtiZW5jaC1pY29uc1wiXG4gICAgICAgIChjbGljayk9XCJvbkNsb3NlKCRldmVudClcIj5cbiAgY2xvc2VcbjwvYnV0dG9uPlxuIl19
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy10YWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvcGFydC92aWV3LXRhYi92aWV3LXRhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9wYXJ0L3ZpZXctdGFiL3ZpZXctdGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBYyxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBb0MsTUFBTSxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUNwTCxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRS9ELE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBQyx1QkFBdUIsRUFBa0IsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsMEJBQTBCLEVBQTBCLE1BQU0sMkJBQTJCLENBQUM7QUFFOUYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFHdkYsT0FBTyxFQUFTLGFBQWEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBRXRFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFB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QWpNVSxnQkFBZ0IsNENBMkJQLFlBQVk7a0dBM0JyQixnQkFBZ0IsNmtCQzVDN0IsOGhCQW1CQSxrK0ZEcUJJLElBQUksNEZBQ0osWUFBWTs7MkZBR0gsZ0JBQWdCO2tCQVY1QixTQUFTOytCQUNFLGFBQWEsY0FHWCxJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixZQUFZO3FCQUNiOzswQkE2QlksTUFBTTsyQkFBQyxZQUFZOzJQQWpCekIsTUFBTTtzQkFGWixLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQzs7c0JBQ3RCLFdBQVc7dUJBQUMsa0JBQWtCO2dCQUl4QixTQUFTO3NCQURmLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUl0QixRQUFRO3NCQURkLFdBQVc7dUJBQUMsZUFBZTtnQkFPakIsZ0JBQWdCO3NCQUQxQixXQUFXO3VCQUFDLHdCQUF3QjtnQkEyQjFCLE1BQU07c0JBRGhCLFdBQVc7dUJBQUMsY0FBYztnQkFNaEIsVUFBVTtzQkFEcEIsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBTXJCLEtBQUs7c0JBRGYsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTXZCLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxPQUFPO2dCQVdkLFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVU5QixhQUFhO3NCQURuQixZQUFZO3VCQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRaEMsV0FBVztzQkFEakIsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBaUM5QixTQUFTO3NCQURmLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDOztBQTRFckM7O0dBRUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgaW5qZWN0LCBJbmplY3RvciwgSW5wdXQsIEl0ZXJhYmxlQ2hhbmdlcywgSXRlcmFibGVEaWZmZXJzLCBOZ1pvbmUsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2Zyb21FdmVudCwgbWVyZ2UsIFN1YmplY3QsIHdpdGhMYXRlc3RGcm9tfSBmcm9tICdyeGpzJztcbmltcG9ydCB7V29ya2JlbmNoVmlld1JlZ2lzdHJ5fSBmcm9tICcuLi8uLi92aWV3L3dvcmtiZW5jaC12aWV3LnJlZ2lzdHJ5JztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtWSUVXX0RSQUdfVFJBTlNGRVJfVFlQRSwgVmlld0RyYWdTZXJ2aWNlfSBmcm9tICcuLi8uLi92aWV3LWRuZC92aWV3LWRyYWcuc2VydmljZSc7XG5pbXBvcnQge2NyZWF0ZUVsZW1lbnR9IGZyb20gJy4uLy4uL2NvbW1vbi9kb20udXRpbCc7XG5pbXBvcnQge0NvbXBvbmVudFBvcnRhbCwgUG9ydGFsTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7VklFV19UQUJfUkVOREVSSU5HX0NPTlRFWFQsIFZpZXdUYWJSZW5kZXJpbmdDb250ZXh0fSBmcm9tICcuLi8uLi93b3JrYmVuY2guY29uc3RhbnRzJztcbmltcG9ydCB7V29ya2JlbmNoQ29uZmlnfSBmcm9tICcuLi8uLi93b3JrYmVuY2gtY29uZmlnJztcbmltcG9ydCB7Vmlld1RhYkNvbnRlbnRDb21wb25lbnR9IGZyb20gJy4uL3ZpZXctdGFiLWNvbnRlbnQvdmlldy10YWItY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtWaWV3TWVudVNlcnZpY2V9IGZyb20gJy4uL3ZpZXctY29udGV4dC1tZW51L3ZpZXctbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7ybVXb3JrYmVuY2hWaWV3fSBmcm9tICcuLi8uLi92aWV3L8m1d29ya2JlbmNoLXZpZXcubW9kZWwnO1xuaW1wb3J0IHtWaWV3SWQsIFdvcmtiZW5jaFZpZXd9IGZyb20gJy4uLy4uL3ZpZXcvd29ya2JlbmNoLXZpZXcubW9kZWwnO1xuaW1wb3J0IHvJtVdvcmtiZW5jaFJvdXRlcn0gZnJvbSAnLi4vLi4vcm91dGluZy/JtXdvcmtiZW5jaC1yb3V0ZXIuc2VydmljZSc7XG5pbXBvcnQge3N1YnNjcmliZUluc2lkZX0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvb3BlcmF0b3JzJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1dPUktCRU5DSF9JRH0gZnJvbSAnLi4vLi4vd29ya2JlbmNoLWlkJztcblxuLyoqXG4gKiBJTVBPUlRBTlQ6IEhUTUwgYW5kIENTUyBhbHNvIHVzZWQgYnkge0BsaW5rIFZpZXdUYWJEcmFnSW1hZ2VDb21wb25lbnR9LlxuICpcbiAqIEBzZWUgVmlld1RhYkRyYWdJbWFnZUNvbXBvbmVudFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3Yi12aWV3LXRhYicsXG4gIHRlbXBsYXRlVXJsOiAnLi92aWV3LXRhYi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ZpZXctdGFiLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIFBvcnRhbE1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVmlld1RhYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgcHJpdmF0ZSBfbmdPbkNoYW5nZXMkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgaG9zdDogSFRNTEVsZW1lbnQ7XG4gIHB1YmxpYyB2aWV3ITogybVXb3JrYmVuY2hWaWV3O1xuICBwdWJsaWMgdmlld1RhYkNvbnRlbnRQb3J0YWwhOiBDb21wb25lbnRQb3J0YWw8dW5rbm93bj47XG5cbiAgQElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXZpZXdpZCcpXG4gIHB1YmxpYyB2aWV3SWQhOiBWaWV3SWQ7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRyYWdnYWJsZScpXG4gIHB1YmxpYyBkcmFnZ2FibGUgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gIHB1YmxpYyB0YWJpbmRleCA9IC0xOyAvLyBtYWtlIHRoZSB2aWV3IGZvY3VzYWJsZSB0byBpbnN0YWxsIHZpZXcgbWVudSBhY2NlbGVyYXRvcnNcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIGRyYWdnaW5nIGEgdmlldyB0YWIgb3ZlciB0aGlzIHZpZXcgdGFiJ3MgdGFiYmFyLlxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kcmFnLW92ZXItdGFiYmFyJylcbiAgcHVibGljIGdldCBpc0RyYWdPdmVyVGFiYmFyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aWV3RHJhZ1NlcnZpY2UuaXNEcmFnT3ZlclRhYmJhciA9PT0gdGhpcy52aWV3LnBhcnQuaWQ7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihob3N0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgICAgICAgQEluamVjdChXT1JLQkVOQ0hfSUQpIHByaXZhdGUgX3dvcmtiZW5jaElkOiBzdHJpbmcsXG4gICAgICAgICAgICAgIHByaXZhdGUgX3dvcmtiZW5jaENvbmZpZzogV29ya2JlbmNoQ29uZmlnLFxuICAgICAgICAgICAgICBwcml2YXRlIF92aWV3UmVnaXN0cnk6IFdvcmtiZW5jaFZpZXdSZWdpc3RyeSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfcm91dGVyOiDJtVdvcmtiZW5jaFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfdmlld0RyYWdTZXJ2aWNlOiBWaWV3RHJhZ1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2RpZmZlcnM6IEl0ZXJhYmxlRGlmZmVycyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfdmlld0NvbnRleHRNZW51U2VydmljZTogVmlld01lbnVTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLmhvc3QgPSBob3N0Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy5pbnN0YWxsTWF4aW1pemVMaXN0ZW5lcigpO1xuICAgIHRoaXMuaW5zdGFsbFZpZXdDc3NDbGFzc0xpc3RlbmVyKCk7XG4gICAgdGhpcy5pbnN0YWxsVmlld01lbnVJdGVtQWNjZWxlcmF0b3JzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMudmlldyA9IHRoaXMuX3ZpZXdSZWdpc3RyeS5nZXQodGhpcy52aWV3SWQpO1xuICAgIHRoaXMudmlld1RhYkNvbnRlbnRQb3J0YWwgPSB0aGlzLmNyZWF0ZVZpZXdUYWJDb250ZW50UG9ydGFsKCk7XG4gICAgdGhpcy5fbmdPbkNoYW5nZXMkLm5leHQoKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWN0aXZlJylcbiAgcHVibGljIGdldCBhY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmlldy5hY3RpdmU7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnBhcnQtYWN0aXZlJylcbiAgcHVibGljIGdldCBwYXJ0QWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZpZXcucGFydC5hY3RpdmU7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmUyZS1kaXJ0eScpXG4gIHB1YmxpYyBnZXQgZGlydHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmlldy5kaXJ0eTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgcHVibGljIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy52aWV3LmFjdGl2YXRlKCkudGhlbigpO1xuICB9XG5cbiAgcHVibGljIG9uQ2xvc2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IC8vIHByZXZlbnQgdGhlIHZpZXcgZnJvbSBiZWluZyBhY3RpdmF0ZWRcbiAgICB0aGlzLnZpZXcuY2xvc2UoKS50aGVuKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25Nb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYnV0dG9ucyA9PT0gQVVYSUxBUllfTU9VU0VfQlVUVE9OKSB7XG4gICAgICB0aGlzLnZpZXcuY2xvc2UoKS50aGVuKCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY29udGV4dG1lbnUnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25Db250ZXh0bWVudShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX3ZpZXdDb250ZXh0TWVudVNlcnZpY2Uuc2hvd01lbnUoe3g6IGV2ZW50LmNsaWVudFgsIHk6IGV2ZW50LmNsaWVudFl9LCB0aGlzLnZpZXcuaWQpLnRoZW4oKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ3N0YXJ0JywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRHJhZ1N0YXJ0KGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXcuYWN0aXZhdGUoKS50aGVuKCgpID0+IHtcbiAgICAgIGlmICghZXZlbnQuZGF0YVRyYW5zZmVyKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgPSAnbW92ZSc7XG4gICAgICBldmVudC5kYXRhVHJhbnNmZXIuc2V0RGF0YShWSUVXX0RSQUdfVFJBTlNGRVJfVFlQRSwgdGhpcy52aWV3LmlkKTtcbiAgICAgIC8vIFVzZSBhbiBpbnZpc2libGUgPGRpdj4gYXMgdGhlIG5hdGl2ZSBkcmFnIGltYWdlIGJlY2F1c2UgdGhlIGVmZmVjdGl2ZSBkcmFnIGltYWdlIGlzIHJlbmRlcmVkIGJ5IHtWaWV3VGFiRHJhZ0ltYWdlUmVuZGVyZXJ9LlxuICAgICAgZXZlbnQuZGF0YVRyYW5zZmVyLnNldERyYWdJbWFnZShjcmVhdGVFbGVtZW50KCdkaXYnLCB7c3R5bGU6IHtkaXNwbGF5OiAnbm9uZSd9fSksIDAsIDApO1xuXG4gICAgICB0aGlzLl92aWV3RHJhZ1NlcnZpY2Uuc2V0Vmlld0RyYWdEYXRhKHtcbiAgICAgICAgdmlld0lkOiB0aGlzLnZpZXcuaWQsXG4gICAgICAgIHZpZXdUaXRsZTogdGhpcy52aWV3LnRpdGxlID8/ICcnLFxuICAgICAgICB2aWV3SGVhZGluZzogdGhpcy52aWV3LmhlYWRpbmcgPz8gJycsXG4gICAgICAgIHZpZXdDbG9zYWJsZTogdGhpcy52aWV3LmNsb3NhYmxlLFxuICAgICAgICB2aWV3RGlydHk6IHRoaXMudmlldy5kaXJ0eSxcbiAgICAgICAgdmlld1VybFNlZ21lbnRzOiB0aGlzLnZpZXcudXJsU2VnbWVudHMsXG4gICAgICAgIGFsdGVybmF0aXZlVmlld0lkOiB0aGlzLnZpZXcuYWx0ZXJuYXRpdmVJZCxcbiAgICAgICAgbmF2aWdhdGlvbkhpbnQ6IHRoaXMudmlldy5uYXZpZ2F0aW9uSGludCxcbiAgICAgICAgcGFydElkOiB0aGlzLnZpZXcucGFydC5pZCxcbiAgICAgICAgdmlld1RhYlBvaW50ZXJPZmZzZXRYOiBldmVudC5vZmZzZXRYLFxuICAgICAgICB2aWV3VGFiUG9pbnRlck9mZnNldFk6IGV2ZW50Lm9mZnNldFksXG4gICAgICAgIHZpZXdUYWJXaWR0aDogdGhpcy5ob3N0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoLFxuICAgICAgICB2aWV3VGFiSGVpZ2h0OiB0aGlzLmhvc3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0LFxuICAgICAgICB3b3JrYmVuY2hJZDogdGhpcy5fd29ya2JlbmNoSWQsXG4gICAgICAgIGNsYXNzTGlzdDogdGhpcy52aWV3LmNsYXNzTGlzdC50b01hcCgpLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnZW5kJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRHJhZ0VuZChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgLy8gRW5zdXJlIHRoaXMgdmlldyBzdGF5cyBhY3RpdmF0ZWQgaWYgdGhlIHVzZXIgY2FuY2VscyB0aGUgZHJhZyBvcGVyYXRpb24uIEJ1dCwgZG8gbm90IHB1c2ggdGhlIG5hdmlnYXRpb24gaW50byBicm93c2luZyBoaXN0b3J5IHN0YWNrLlxuICAgIGlmIChldmVudC5kYXRhVHJhbnNmZXI/LmRyb3BFZmZlY3QgPT09ICdub25lJykge1xuICAgICAgdGhpcy52aWV3LmFjdGl2YXRlKHtza2lwTG9jYXRpb25DaGFuZ2U6IHRydWV9KS50aGVuKCk7XG4gICAgfVxuICAgIHRoaXMuX3ZpZXdEcmFnU2VydmljZS51bnNldFZpZXdEcmFnRGF0YSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbnMgZm9yICdkYmxjbGljaycgZXZlbnRzIHRvIG1heGltaXplIG9yIG1pbmltaXplIHRoZSBtYWluIGFyZWEuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB0aGUgbGlzdGVuZXIgaXMgbm90IGFjdGl2YXRlZCB1bnRpbCB0aGUgbW91c2UgaXMgbW92ZWQuIE90aGVyd2lzZSwgY2xvc2luZyBzdWNjZXNzaXZlXG4gICAqIHZpZXdzIChpZiB0aGV5IGhhdmUgZGlmZmVyZW50IHRhYiB3aWR0aHMpIGNvdWxkIHJlc3VsdCBpbiB1bmludGVuZGVkIG1heGltaXphdGlvbiBvciBtaW5pbWl6YXRpb24uXG4gICAqL1xuICBwcml2YXRlIGluc3RhbGxNYXhpbWl6ZUxpc3RlbmVyKCk6IHZvaWQge1xuICAgIGNvbnN0IHpvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgICBjb25zdCBlbmFibGVkJCA9IG1lcmdlKGZyb21FdmVudCh0aGlzLmhvc3QsICdtb3VzZWVudGVyJyksIGZyb21FdmVudCh0aGlzLmhvc3QsICdtb3VzZW1vdmUnKSwgZnJvbUV2ZW50KHRoaXMuaG9zdCwgJ21vdXNlbGVhdmUnKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoZXZlbnQgPT4gZXZlbnQudHlwZSA9PT0gJ21vdXNlbW92ZScpLCAvLyB0aGUgJ21vdXNlbW92ZScgZXZlbnQgYXJtcyB0aGUgbGlzdGVuZXJcbiAgICAgICAgc3Vic2NyaWJlSW5zaWRlKGNvbnRpbnVlRm4gPT4gem9uZS5ydW5PdXRzaWRlQW5ndWxhcihjb250aW51ZUZuKSksXG4gICAgICApO1xuXG4gICAgZnJvbUV2ZW50KHRoaXMuaG9zdCwgJ2RibGNsaWNrJylcbiAgICAgIC5waXBlKFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbShlbmFibGVkJCksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoW2V2ZW50LCBlbmFibGVkXSkgPT4ge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgLy8gcHJldmVudCBgUGFydEJhckNvbXBvbmVudGAgaGFuZGxpbmcgdGhlIGRibGNsaWNrIGV2ZW50IHdoaWNoIHdvdWxkIHVuZG8gbWF4aW1pemF0aW9uL21pbmltaXphdGlvblxuICAgICAgICBpZiAoZW5hYmxlZCAmJiB0aGlzLnZpZXcucGFydC5pc0luTWFpbkFyZWEpIHtcbiAgICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUobGF5b3V0ID0+IGxheW91dC50b2dnbGVNYXhpbWl6ZWQoKSkudGhlbigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHZpZXcgc3BlY2lmaWMgQ1NTIGNsYXNzZXMgdG8gdGhlIHZpZXctdGFiLlxuICAgKi9cbiAgcHJpdmF0ZSBpbnN0YWxsVmlld0Nzc0NsYXNzTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgY29uc3QgZGlmZmVyID0gdGhpcy5fZGlmZmVycy5maW5kKFtdKS5jcmVhdGU8c3RyaW5nPigpO1xuXG4gICAgdGhpcy5fbmdPbkNoYW5nZXMkXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMudmlldy5jbGFzc0xpc3QudmFsdWUkKSxcbiAgICAgICAgbWFwKGNzc0NsYXNzZXMgPT4gZGlmZmVyLmRpZmYoY3NzQ2xhc3NlcykpLFxuICAgICAgICBmaWx0ZXIoKGRpZmYpOiBkaWZmIGlzIEl0ZXJhYmxlQ2hhbmdlczxzdHJpbmc+ID0+IGRpZmYgIT09IG51bGwpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGRpZmY6IEl0ZXJhYmxlQ2hhbmdlczxzdHJpbmc+KSA9PiB7XG4gICAgICAgIGRpZmYuZm9yRWFjaEFkZGVkSXRlbSgoe2l0ZW19KSA9PiB0aGlzLmhvc3QuY2xhc3NMaXN0LmFkZChpdGVtKSk7XG4gICAgICAgIGRpZmYuZm9yRWFjaFJlbW92ZWRJdGVtKCh7aXRlbX0pID0+IHRoaXMuaG9zdC5jbGFzc0xpc3QucmVtb3ZlKGl0ZW0pKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbnN0YWxsVmlld01lbnVJdGVtQWNjZWxlcmF0b3JzKCk6IHZvaWQge1xuICAgIHRoaXMuX25nT25DaGFuZ2VzJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLl92aWV3Q29udGV4dE1lbnVTZXJ2aWNlLmluc3RhbGxNZW51SXRlbUFjY2VsZXJhdG9ycyQodGhpcy5ob3N0LCB0aGlzLnZpZXcpKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVZpZXdUYWJDb250ZW50UG9ydGFsKCk6IENvbXBvbmVudFBvcnRhbDx1bmtub3duPiB7XG4gICAgY29uc3QgY29tcG9uZW50VHlwZSA9IHRoaXMuX3dvcmtiZW5jaENvbmZpZy52aWV3VGFiQ29tcG9uZW50IHx8IFZpZXdUYWJDb250ZW50Q29tcG9uZW50O1xuICAgIHJldHVybiBuZXcgQ29tcG9uZW50UG9ydGFsKGNvbXBvbmVudFR5cGUsIG51bGwsIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwYXJlbnQ6IHRoaXMuX2luamVjdG9yLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtwcm92aWRlOiBXb3JrYmVuY2hWaWV3LCB1c2VWYWx1ZTogdGhpcy52aWV3fSxcbiAgICAgICAge3Byb3ZpZGU6IFZJRVdfVEFCX1JFTkRFUklOR19DT05URVhULCB1c2VWYWx1ZTogJ3RhYicgc2F0aXNmaWVzIFZpZXdUYWJSZW5kZXJpbmdDb250ZXh0fSxcbiAgICAgIF0sXG4gICAgfSkpO1xuICB9XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgdGhlIGF1eGlsYXJ5IG1vdXNlIGJ1dHRvbiBpcyBwcmVzc2VkICh1c3VhbGx5IHRoZSBtb3VzZSB3aGVlbCBidXR0b24gb3IgbWlkZGxlIGJ1dHRvbikuXG4gKi9cbmNvbnN0IEFVWElMQVJZX01PVVNFX0JVVFRPTiA9IDQ7XG4iLCI8IS0tIElNUE9SVEFOVDogVEhJUyBIVE1MIEZJTEUgSVMgQUxTTyBVU0VEIEJZIGBWaWV3VGFiRHJhZ0ltYWdlQ29tcG9uZW50YCAtLT5cblxuPGRpdiBjbGFzcz1cImNvcm5lci1yYWRpdXMgc3RhcnRcIiAqbmdJZj1cInZpZXcuYWN0aXZlXCI+XG4gIDxkaXYgY2xhc3M9XCJjaXJjbGVcIj48L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICA8bmctY29udGFpbmVyICpjZGtQb3J0YWxPdXRsZXQ9XCJ2aWV3VGFiQ29udGVudFBvcnRhbFwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJjb3JuZXItcmFkaXVzIGVuZFwiICpuZ0lmPVwidmlldy5hY3RpdmVcIj5cbiAgPGRpdiBjbGFzcz1cImNpcmNsZVwiPjwvZGl2PlxuPC9kaXY+XG5cbjxidXR0b24gKm5nSWY9XCJ2aWV3LmNsb3NhYmxlXCJcbiAgICAgICAgY2xhc3M9XCJjbG9zZSBlMmUtY2xvc2Ugc2Npb24td29ya2JlbmNoLWljb25zXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoJGV2ZW50KVwiPlxuICBjbG9zZVxuPC9idXR0b24+XG4iXX0=
@@ -17,14 +17,14 @@ export class ViewTabContentComponent {
17
17
  this.view = view;
18
18
  this.context = inject(VIEW_TAB_RENDERING_CONTEXT);
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ViewTabContentComponent, deps: [{ token: i1.WorkbenchView }], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: ViewTabContentComponent, isStandalone: true, selector: "wb-view-tab-content", host: { properties: { "attr.context": "this.context" } }, ngImport: i0, template: "<span class=\"title e2e-title\">\n <span *ngIf=\"view.dirty\" class=\"scion-workbench-icons dirty\">dirty</span>\n {{view.title}}\n</span>\n\n<span class=\"heading e2e-heading\" *ngIf=\"view.heading\">\n {{view.heading}}\n</span>\n", styles: [":host{display:flex;flex-direction:column;gap:.25em;overflow:hidden}:host>span.title{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-weight:400;font-size:1em}:host>span.title>span.dirty{padding-right:.2em}:host>span.heading{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:.9em;font-weight:300}:host[context=tab] span.title,:host[context=drag-image] span.title{margin-right:1em}@container viewtab (height < 3.5rem){:host>span.heading{display:none}}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ViewTabContentComponent, deps: [{ token: i1.WorkbenchView }], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: ViewTabContentComponent, isStandalone: true, selector: "wb-view-tab-content", host: { properties: { "attr.context": "this.context" } }, ngImport: i0, template: "<span class=\"title e2e-title\">\n <span *ngIf=\"view.dirty\" class=\"scion-workbench-icons dirty e2e-dirty\">dirty</span>\n {{view.title}}\n</span>\n\n<span class=\"heading e2e-heading\" *ngIf=\"view.heading\">\n {{view.heading}}\n</span>\n", styles: [":host{display:flex;flex-direction:column;gap:.25em;overflow:hidden}:host>span.title{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-weight:400;font-size:1em}:host>span.title>span.dirty{padding-right:.2em}:host>span.heading{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:.9em;font-weight:300}:host[context=tab] span.title,:host[context=drag-image] span.title{margin-right:1em}@container viewtab (height < 3.5rem){:host>span.heading{display:none}}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ViewTabContentComponent, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ViewTabContentComponent, decorators: [{
24
24
  type: Component,
25
- args: [{ selector: 'wb-view-tab-content', standalone: true, imports: [NgIf], template: "<span class=\"title e2e-title\">\n <span *ngIf=\"view.dirty\" class=\"scion-workbench-icons dirty\">dirty</span>\n {{view.title}}\n</span>\n\n<span class=\"heading e2e-heading\" *ngIf=\"view.heading\">\n {{view.heading}}\n</span>\n", styles: [":host{display:flex;flex-direction:column;gap:.25em;overflow:hidden}:host>span.title{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-weight:400;font-size:1em}:host>span.title>span.dirty{padding-right:.2em}:host>span.heading{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:.9em;font-weight:300}:host[context=tab] span.title,:host[context=drag-image] span.title{margin-right:1em}@container viewtab (height < 3.5rem){:host>span.heading{display:none}}\n"] }]
25
+ args: [{ selector: 'wb-view-tab-content', standalone: true, imports: [NgIf], template: "<span class=\"title e2e-title\">\n <span *ngIf=\"view.dirty\" class=\"scion-workbench-icons dirty e2e-dirty\">dirty</span>\n {{view.title}}\n</span>\n\n<span class=\"heading e2e-heading\" *ngIf=\"view.heading\">\n {{view.heading}}\n</span>\n", styles: [":host{display:flex;flex-direction:column;gap:.25em;overflow:hidden}:host>span.title{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-weight:400;font-size:1em}:host>span.title>span.dirty{padding-right:.2em}:host>span.heading{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:.9em;font-weight:300}:host[context=tab] span.title,:host[context=drag-image] span.title{margin-right:1em}@container viewtab (height < 3.5rem){:host>span.heading{display:none}}\n"] }]
26
26
  }], ctorParameters: () => [{ type: i1.WorkbenchView }], propDecorators: { context: [{
27
27
  type: HostBinding,
28
28
  args: ['attr.context']
29
29
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy10YWItY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9wYXJ0L3ZpZXctdGFiLWNvbnRlbnQvdmlldy10YWItY29udGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9wYXJ0L3ZpZXctdGFiLWNvbnRlbnQvdmlldy10YWItY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDckMsT0FBTyxFQUFDLDBCQUEwQixFQUEwQixNQUFNLDJCQUEyQixDQUFDOzs7QUFTOUYsTUFBTSxPQUFPLHVCQUF1QjtJQUtsQyxZQUFtQixJQUFtQjtRQUFuQixTQUFJLEdBQUosSUFBSSxDQUFlO1FBRnRCLFlBQU8sR0FBRyxNQUFNLENBQTBCLDBCQUEwQixDQUFDLENBQUM7SUFHdEYsQ0FBQzs4R0FOVSx1QkFBdUI7a0dBQXZCLHVCQUF1Qix5SUN0QnBDLDRPQVFBLDZoQkRZWSxJQUFJOzsyRkFFSCx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0UscUJBQXFCLGNBR25CLElBQUksV0FDUCxDQUFDLElBQUksQ0FBQztrRkFLQyxPQUFPO3NCQUR0QixXQUFXO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7V29ya2JlbmNoVmlld30gZnJvbSAnLi4vLi4vdmlldy93b3JrYmVuY2gtdmlldy5tb2RlbCc7XG5pbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1ZJRVdfVEFCX1JFTkRFUklOR19DT05URVhULCBWaWV3VGFiUmVuZGVyaW5nQ29udGV4dH0gZnJvbSAnLi4vLi4vd29ya2JlbmNoLmNvbnN0YW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3diLXZpZXctdGFiLWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdmlldy10YWItY29udGVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ZpZXctdGFiLWNvbnRlbnQuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWZdLFxufSlcbmV4cG9ydCBjbGFzcyBWaWV3VGFiQ29udGVudENvbXBvbmVudCB7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmNvbnRleHQnKVxuICBwdWJsaWMgcmVhZG9ubHkgY29udGV4dCA9IGluamVjdDxWaWV3VGFiUmVuZGVyaW5nQ29udGV4dD4oVklFV19UQUJfUkVOREVSSU5HX0NPTlRFWFQpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB2aWV3OiBXb3JrYmVuY2hWaWV3KSB7XG4gIH1cbn1cbiIsIjxzcGFuIGNsYXNzPVwidGl0bGUgZTJlLXRpdGxlXCI+XG4gIDxzcGFuICpuZ0lmPVwidmlldy5kaXJ0eVwiIGNsYXNzPVwic2Npb24td29ya2JlbmNoLWljb25zIGRpcnR5XCI+ZGlydHk8L3NwYW4+XG4gIHt7dmlldy50aXRsZX19XG48L3NwYW4+XG5cbjxzcGFuIGNsYXNzPVwiaGVhZGluZyBlMmUtaGVhZGluZ1wiICpuZ0lmPVwidmlldy5oZWFkaW5nXCI+XG4gIHt7dmlldy5oZWFkaW5nfX1cbjwvc3Bhbj5cbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy10YWItY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9wYXJ0L3ZpZXctdGFiLWNvbnRlbnQvdmlldy10YWItY29udGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9wYXJ0L3ZpZXctdGFiLWNvbnRlbnQvdmlldy10YWItY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDckMsT0FBTyxFQUFDLDBCQUEwQixFQUEwQixNQUFNLDJCQUEyQixDQUFDOzs7QUFTOUYsTUFBTSxPQUFPLHVCQUF1QjtJQUtsQyxZQUFtQixJQUFtQjtRQUFuQixTQUFJLEdBQUosSUFBSSxDQUFlO1FBRnRCLFlBQU8sR0FBRyxNQUFNLENBQTBCLDBCQUEwQixDQUFDLENBQUM7SUFHdEYsQ0FBQzs4R0FOVSx1QkFBdUI7a0dBQXZCLHVCQUF1Qix5SUN0QnBDLHNQQVFBLDZoQkRZWSxJQUFJOzsyRkFFSCx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0UscUJBQXFCLGNBR25CLElBQUksV0FDUCxDQUFDLElBQUksQ0FBQztrRkFLQyxPQUFPO3NCQUR0QixXQUFXO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7V29ya2JlbmNoVmlld30gZnJvbSAnLi4vLi4vdmlldy93b3JrYmVuY2gtdmlldy5tb2RlbCc7XG5pbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1ZJRVdfVEFCX1JFTkRFUklOR19DT05URVhULCBWaWV3VGFiUmVuZGVyaW5nQ29udGV4dH0gZnJvbSAnLi4vLi4vd29ya2JlbmNoLmNvbnN0YW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3diLXZpZXctdGFiLWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdmlldy10YWItY29udGVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ZpZXctdGFiLWNvbnRlbnQuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWZdLFxufSlcbmV4cG9ydCBjbGFzcyBWaWV3VGFiQ29udGVudENvbXBvbmVudCB7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmNvbnRleHQnKVxuICBwdWJsaWMgcmVhZG9ubHkgY29udGV4dCA9IGluamVjdDxWaWV3VGFiUmVuZGVyaW5nQ29udGV4dD4oVklFV19UQUJfUkVOREVSSU5HX0NPTlRFWFQpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB2aWV3OiBXb3JrYmVuY2hWaWV3KSB7XG4gIH1cbn1cbiIsIjxzcGFuIGNsYXNzPVwidGl0bGUgZTJlLXRpdGxlXCI+XG4gIDxzcGFuICpuZ0lmPVwidmlldy5kaXJ0eVwiIGNsYXNzPVwic2Npb24td29ya2JlbmNoLWljb25zIGRpcnR5IGUyZS1kaXJ0eVwiPmRpcnR5PC9zcGFuPlxuICB7e3ZpZXcudGl0bGV9fVxuPC9zcGFuPlxuXG48c3BhbiBjbGFzcz1cImhlYWRpbmcgZTJlLWhlYWRpbmdcIiAqbmdJZj1cInZpZXcuaGVhZGluZ1wiPlxuICB7e3ZpZXcuaGVhZGluZ319XG48L3NwYW4+XG4iXX0=
@@ -14,16 +14,16 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
14
14
  import { DOCUMENT, NgIf } from '@angular/common';
15
15
  import * as i0 from "@angular/core";
16
16
  import * as i1 from "../../view/workbench-view.model";
17
- import * as i2 from "../../workbench-module-config";
17
+ import * as i2 from "../../workbench-config";
18
18
  import * as i3 from "../../view-dnd/view-drag.service";
19
19
  import * as i4 from "@angular/cdk/portal";
20
20
  /**
21
21
  * @see ViewTabComponent
22
22
  */
23
23
  export class ViewTabDragImageComponent {
24
- constructor(view, _workbenchModuleConfig, _viewDragService, _injector) {
24
+ constructor(view, _workbenchConfig, _viewDragService, _injector) {
25
25
  this.view = view;
26
- this._workbenchModuleConfig = _workbenchModuleConfig;
26
+ this._workbenchConfig = _workbenchConfig;
27
27
  this._viewDragService = _viewDragService;
28
28
  this._injector = _injector;
29
29
  this.active = true;
@@ -43,7 +43,7 @@ export class ViewTabDragImageComponent {
43
43
  throw Error('[UnsupportedOperationError]');
44
44
  }
45
45
  createViewTabContentPortal() {
46
- const componentType = this._workbenchModuleConfig.viewTabComponent || ViewTabContentComponent;
46
+ const componentType = this._workbenchConfig.viewTabComponent || ViewTabContentComponent;
47
47
  return new ComponentPortal(componentType, null, this._injector);
48
48
  }
49
49
  installDragOverTabbarDetector() {
@@ -57,16 +57,16 @@ export class ViewTabDragImageComponent {
57
57
  this.isDragOverPeripheralTabbar = partId !== null && documentRoot.querySelector(`wb-workbench:has(wb-main-area-layout) wb-part[data-partid="${partId}"]:not(.main-area)`) !== null;
58
58
  });
59
59
  }
60
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ViewTabDragImageComponent, deps: [{ token: i1.WorkbenchView }, { token: i2.WorkbenchModuleConfig }, { token: i3.ViewDragService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
61
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: ViewTabDragImageComponent, isStandalone: true, selector: "wb-view-tab-drag-image", host: { properties: { "class.active": "this.active", "class.part-active": "this.partActive", "class.drag-over-tabbar": "this.isDragOverTabbar", "class.drag-over-peripheral-tabbar": "this.isDragOverPeripheralTabbar" } }, ngImport: i0, template: "<!-- IMPORTANT: THIS HTML FILE IS ALSO USED BY `ViewTabDragImageComponent` -->\n\n<div class=\"corner-radius start\" *ngIf=\"view.active\">\n <div class=\"circle\"></div>\n</div>\n\n<div class=\"content\">\n <ng-container *cdkPortalOutlet=\"viewTabContentPortal\"></ng-container>\n</div>\n\n<div class=\"corner-radius end\" *ngIf=\"view.active\">\n <div class=\"circle\"></div>\n</div>\n\n<button *ngIf=\"view.closable\"\n class=\"close e2e-close scion-workbench-icons\"\n (click)=\"onClose($event)\">\n close\n</button>\n", styles: [":host{display:grid;align-items:center;padding-left:var(--sci-workbench-tab-padding-inline);padding-right:var(--sci-workbench-tab-padding-inline);position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;box-sizing:border-box;outline:none;border-top:1px solid transparent;border-left:1px solid transparent;border-right:1px solid transparent;border-top-left-radius:var(--sci-workbench-tab-border-radius);border-top-right-radius:var(--sci-workbench-tab-border-radius)}:host.active{cursor:default;color:var(--sci-workbench-tab-active-text-color);border-left-color:var(--sci-workbench-tab-border-color);border-right-color:var(--sci-workbench-tab-border-color);border-top-color:var(--sci-workbench-tab-border-color);background-color:var(--sci-workbench-view-background-color)}wb-workbench:has(wb-main-area-layout) wb-part:not(.main-area) :host.active{background-color:var(--sci-workbench-view-peripheral-background-color)}:host.active.part-active>div.content{color:var(--sci-workbench-part-active-tab-active-text-color)}:host>div.content{min-width:var(--sci-workbench-tab-min-width);max-width:var(--sci-workbench-tab-max-width);isolation:isolate}:host>button.close{all:unset;position:absolute;cursor:pointer;visibility:hidden;padding:.125em;border-radius:var(--sci-corner-small);right:.2em}:host>button.close:not(:hover){opacity:.75}:host.active>button.close,:host:hover:not(.drag-over-tabbar)>button.close{visibility:visible}:host.active>button.close:hover{background-color:var(--sci-workbench-tab-hover-background-color)}:host:hover:not(.active):not(.drag-over-tabbar):before{content:\"\";background-color:var(--sci-workbench-tab-hover-background-color);position:absolute;inset:0 0 .125em .125em;border-radius:var(--sci-workbench-tab-border-radius);pointer-events:none}:host>div.corner-radius{height:var(--sci-workbench-tab-border-radius);width:var(--sci-workbench-tab-border-radius);overflow:hidden;position:absolute;bottom:0}:host>div.corner-radius>div.circle{position:absolute;top:calc(-2 * var(--sci-workbench-tab-border-radius));width:calc(2 * var(--sci-workbench-tab-border-radius));height:calc(2 * var(--sci-workbench-tab-border-radius));border:var(--sci-workbench-tab-border-radius) solid var(--sci-workbench-view-background-color);border-radius:50%;box-shadow:inset 0 0 0 1px var(--sci-workbench-tab-border-color);box-sizing:content-box}wb-workbench:has(wb-main-area-layout) wb-part:not(.main-area) :host>div.corner-radius>div.circle{border-color:var(--sci-workbench-view-peripheral-background-color)}:host>div.corner-radius.start{left:calc(-1 * var(--sci-workbench-tab-border-radius))}:host>div.corner-radius.start>div.circle{left:calc(-2 * var(--sci-workbench-tab-border-radius))}:host>div.corner-radius.end{right:calc(-1 * var(--sci-workbench-tab-border-radius))}:host>div.corner-radius.end>div.circle{right:calc(-2 * var(--sci-workbench-tab-border-radius))}@container viewtab (height >= 3.5rem){:host>button.close{align-self:start;top:.125em;right:.125em}}\n", ":host.drag-over-peripheral-tabbar{background-color:var(--sci-workbench-view-peripheral-background-color)}:host:not(.drag-over-tabbar){border-radius:var(--sci-workbench-tab-border-radius);border:1px solid var(--sci-workbench-tab-drag-border-color)}:host:not(.drag-over-tabbar)>div.corner-radius{display:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i4.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] }); }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ViewTabDragImageComponent, deps: [{ token: i1.WorkbenchView }, { token: i2.WorkbenchConfig }, { token: i3.ViewDragService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: ViewTabDragImageComponent, isStandalone: true, selector: "wb-view-tab-drag-image", host: { properties: { "class.active": "this.active", "class.part-active": "this.partActive", "class.drag-over-tabbar": "this.isDragOverTabbar", "class.drag-over-peripheral-tabbar": "this.isDragOverPeripheralTabbar" } }, ngImport: i0, template: "<!-- IMPORTANT: THIS HTML FILE IS ALSO USED BY `ViewTabDragImageComponent` -->\n\n<div class=\"corner-radius start\" *ngIf=\"view.active\">\n <div class=\"circle\"></div>\n</div>\n\n<div class=\"content\">\n <ng-container *cdkPortalOutlet=\"viewTabContentPortal\"></ng-container>\n</div>\n\n<div class=\"corner-radius end\" *ngIf=\"view.active\">\n <div class=\"circle\"></div>\n</div>\n\n<button *ngIf=\"view.closable\"\n class=\"close e2e-close scion-workbench-icons\"\n (click)=\"onClose($event)\">\n close\n</button>\n", styles: [":host{display:grid;align-items:center;padding-left:var(--sci-workbench-tab-padding-inline);padding-right:var(--sci-workbench-tab-padding-inline);position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;box-sizing:border-box;outline:none;border-top:1px solid transparent;border-left:1px solid transparent;border-right:1px solid transparent;border-top-left-radius:var(--sci-workbench-tab-border-radius);border-top-right-radius:var(--sci-workbench-tab-border-radius)}:host.active{cursor:default;color:var(--sci-workbench-tab-active-text-color);border-left-color:var(--sci-workbench-tab-border-color);border-right-color:var(--sci-workbench-tab-border-color);border-top-color:var(--sci-workbench-tab-border-color);background-color:var(--sci-workbench-view-background-color)}wb-workbench:has(wb-main-area-layout) wb-part:not(.main-area) :host.active{background-color:var(--sci-workbench-view-peripheral-background-color)}:host.active.part-active>div.content{color:var(--sci-workbench-part-active-tab-active-text-color)}:host>div.content{min-width:var(--sci-workbench-tab-min-width);max-width:var(--sci-workbench-tab-max-width);isolation:isolate}:host>button.close{all:unset;position:absolute;cursor:pointer;visibility:hidden;padding:.125em;border-radius:var(--sci-corner-small);right:.2em}:host>button.close:not(:hover){opacity:.75}:host.active>button.close,:host:hover:not(.drag-over-tabbar)>button.close{visibility:visible}:host.active>button.close:hover{background-color:var(--sci-workbench-tab-hover-background-color)}:host:hover:not(.active):not(.drag-over-tabbar):before{content:\"\";background-color:var(--sci-workbench-tab-hover-background-color);position:absolute;inset:0 0 .125em .125em;border-radius:var(--sci-workbench-tab-border-radius);pointer-events:none}:host>div.corner-radius{height:var(--sci-workbench-tab-border-radius);width:var(--sci-workbench-tab-border-radius);overflow:hidden;position:absolute;bottom:0}:host>div.corner-radius>div.circle{position:absolute;top:calc(-2 * var(--sci-workbench-tab-border-radius));width:calc(2 * var(--sci-workbench-tab-border-radius));height:calc(2 * var(--sci-workbench-tab-border-radius));border:var(--sci-workbench-tab-border-radius) solid var(--sci-workbench-view-background-color);border-radius:50%;box-shadow:inset 0 0 0 1px var(--sci-workbench-tab-border-color);box-sizing:content-box}wb-workbench:has(wb-main-area-layout) wb-part:not(.main-area) :host>div.corner-radius>div.circle{border-color:var(--sci-workbench-view-peripheral-background-color)}:host>div.corner-radius.start{left:calc(-1 * var(--sci-workbench-tab-border-radius))}:host>div.corner-radius.start>div.circle{left:calc(-2 * var(--sci-workbench-tab-border-radius))}:host>div.corner-radius.end{right:calc(-1 * var(--sci-workbench-tab-border-radius))}:host>div.corner-radius.end>div.circle{right:calc(-2 * var(--sci-workbench-tab-border-radius))}@container viewtab (height >= 3.5rem){:host>button.close{align-self:start;top:.125em;right:.125em}}\n", ":host.drag-over-peripheral-tabbar{background-color:var(--sci-workbench-view-peripheral-background-color)}:host:not(.drag-over-tabbar){border-radius:var(--sci-workbench-tab-border-radius);border:1px solid var(--sci-workbench-tab-drag-border-color)}:host:not(.drag-over-tabbar)>div.corner-radius{display:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i4.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] }); }
62
62
  }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ViewTabDragImageComponent, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ViewTabDragImageComponent, decorators: [{
64
64
  type: Component,
65
65
  args: [{ selector: 'wb-view-tab-drag-image', standalone: true, imports: [
66
66
  NgIf,
67
67
  PortalModule,
68
68
  ], template: "<!-- IMPORTANT: THIS HTML FILE IS ALSO USED BY `ViewTabDragImageComponent` -->\n\n<div class=\"corner-radius start\" *ngIf=\"view.active\">\n <div class=\"circle\"></div>\n</div>\n\n<div class=\"content\">\n <ng-container *cdkPortalOutlet=\"viewTabContentPortal\"></ng-container>\n</div>\n\n<div class=\"corner-radius end\" *ngIf=\"view.active\">\n <div class=\"circle\"></div>\n</div>\n\n<button *ngIf=\"view.closable\"\n class=\"close e2e-close scion-workbench-icons\"\n (click)=\"onClose($event)\">\n close\n</button>\n", styles: [":host{display:grid;align-items:center;padding-left:var(--sci-workbench-tab-padding-inline);padding-right:var(--sci-workbench-tab-padding-inline);position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;box-sizing:border-box;outline:none;border-top:1px solid transparent;border-left:1px solid transparent;border-right:1px solid transparent;border-top-left-radius:var(--sci-workbench-tab-border-radius);border-top-right-radius:var(--sci-workbench-tab-border-radius)}:host.active{cursor:default;color:var(--sci-workbench-tab-active-text-color);border-left-color:var(--sci-workbench-tab-border-color);border-right-color:var(--sci-workbench-tab-border-color);border-top-color:var(--sci-workbench-tab-border-color);background-color:var(--sci-workbench-view-background-color)}wb-workbench:has(wb-main-area-layout) wb-part:not(.main-area) :host.active{background-color:var(--sci-workbench-view-peripheral-background-color)}:host.active.part-active>div.content{color:var(--sci-workbench-part-active-tab-active-text-color)}:host>div.content{min-width:var(--sci-workbench-tab-min-width);max-width:var(--sci-workbench-tab-max-width);isolation:isolate}:host>button.close{all:unset;position:absolute;cursor:pointer;visibility:hidden;padding:.125em;border-radius:var(--sci-corner-small);right:.2em}:host>button.close:not(:hover){opacity:.75}:host.active>button.close,:host:hover:not(.drag-over-tabbar)>button.close{visibility:visible}:host.active>button.close:hover{background-color:var(--sci-workbench-tab-hover-background-color)}:host:hover:not(.active):not(.drag-over-tabbar):before{content:\"\";background-color:var(--sci-workbench-tab-hover-background-color);position:absolute;inset:0 0 .125em .125em;border-radius:var(--sci-workbench-tab-border-radius);pointer-events:none}:host>div.corner-radius{height:var(--sci-workbench-tab-border-radius);width:var(--sci-workbench-tab-border-radius);overflow:hidden;position:absolute;bottom:0}:host>div.corner-radius>div.circle{position:absolute;top:calc(-2 * var(--sci-workbench-tab-border-radius));width:calc(2 * var(--sci-workbench-tab-border-radius));height:calc(2 * var(--sci-workbench-tab-border-radius));border:var(--sci-workbench-tab-border-radius) solid var(--sci-workbench-view-background-color);border-radius:50%;box-shadow:inset 0 0 0 1px var(--sci-workbench-tab-border-color);box-sizing:content-box}wb-workbench:has(wb-main-area-layout) wb-part:not(.main-area) :host>div.corner-radius>div.circle{border-color:var(--sci-workbench-view-peripheral-background-color)}:host>div.corner-radius.start{left:calc(-1 * var(--sci-workbench-tab-border-radius))}:host>div.corner-radius.start>div.circle{left:calc(-2 * var(--sci-workbench-tab-border-radius))}:host>div.corner-radius.end{right:calc(-1 * var(--sci-workbench-tab-border-radius))}:host>div.corner-radius.end>div.circle{right:calc(-2 * var(--sci-workbench-tab-border-radius))}@container viewtab (height >= 3.5rem){:host>button.close{align-self:start;top:.125em;right:.125em}}\n", ":host.drag-over-peripheral-tabbar{background-color:var(--sci-workbench-view-peripheral-background-color)}:host:not(.drag-over-tabbar){border-radius:var(--sci-workbench-tab-border-radius);border:1px solid var(--sci-workbench-tab-drag-border-color)}:host:not(.drag-over-tabbar)>div.corner-radius{display:none}\n"] }]
69
- }], ctorParameters: () => [{ type: i1.WorkbenchView }, { type: i2.WorkbenchModuleConfig }, { type: i3.ViewDragService }, { type: i0.Injector }], propDecorators: { active: [{
69
+ }], ctorParameters: () => [{ type: i1.WorkbenchView }, { type: i2.WorkbenchConfig }, { type: i3.ViewDragService }, { type: i0.Injector }], propDecorators: { active: [{
70
70
  type: HostBinding,
71
71
  args: ['class.active']
72
72
  }], partActive: [{
@@ -79,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
79
79
  type: HostBinding,
80
80
  args: ['class.drag-over-peripheral-tabbar']
81
81
  }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy10YWItZHJhZy1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9wYXJ0L3ZpZXctdGFiLWRyYWctaW1hZ2Uvdmlldy10YWItZHJhZy1pbWFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9wYXJ0L3ZpZXctdGFiL3ZpZXctdGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFXLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBQyxlQUFlLEVBQUUsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFbEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDdkYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBRy9DOztHQUVHO0FBY0gsTUFBTSxPQUFPLHlCQUF5QjtJQXNCcEMsWUFBbUIsSUFBbUIsRUFDbEIsc0JBQTZDLEVBQzdDLGdCQUFpQyxFQUNqQyxTQUFtQjtRQUhwQixTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ2xCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBdUI7UUFDN0MscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBcEJoQyxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBR2QsZUFBVSxHQUFHLElBQUksQ0FBQztRQUV6Qjs7V0FFRztRQUVJLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUVoQzs7V0FFRztRQUVJLCtCQUEwQixHQUFHLEtBQUssQ0FBQztRQU14QyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUVNLE9BQU8sQ0FBQyxHQUFHLENBQVk7UUFDNUIsTUFBTSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sMEJBQTBCO1FBQ2hDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBZ0IsSUFBSSx1QkFBdUIsQ0FBQztRQUM5RixPQUFPLElBQUksZUFBZSxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyw2QkFBNkI7UUFDbkMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFXLFFBQVEsQ0FBQyxDQUFDLGVBQWUsQ0FBQztRQUNoRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZTthQUNsQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQzthQUMxQixTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbEIsbURBQW1EO1lBQ25ELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLEtBQUssSUFBSSxDQUFDO1lBQ3hDLGtGQUFrRjtZQUNsRixJQUFJLENBQUMsMEJBQTBCLEdBQUcsTUFBTSxLQUFLLElBQUksSUFBSSxZQUFZLENBQUMsYUFBYSxDQUFDLDhEQUE4RCxNQUFNLG9CQUFvQixDQUFDLEtBQUssSUFBSSxDQUFDO1FBQ3JMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0FqRFUseUJBQXlCO2tHQUF6Qix5QkFBeUIsOFNDbkN0Qyw4aEJBbUJBLDJ4R0RZSSxJQUFJLDRGQUNKLFlBQVk7OzJGQUdILHlCQUF5QjtrQkFickMsU0FBUzsrQkFDRSx3QkFBd0IsY0FNdEIsSUFBSSxXQUNQO3dCQUNQLElBQUk7d0JBQ0osWUFBWTtxQkFDYjsyS0FPTSxNQUFNO3NCQURaLFdBQVc7dUJBQUMsY0FBYztnQkFJcEIsVUFBVTtzQkFEaEIsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBT3pCLGdCQUFnQjtzQkFEdEIsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBTzlCLDBCQUEwQjtzQkFEaEMsV0FBVzt1QkFBQyxtQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgaW5qZWN0LCBJbmplY3Rvcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1ZpZXdEcmFnU2VydmljZX0gZnJvbSAnLi4vLi4vdmlldy1kbmQvdmlldy1kcmFnLnNlcnZpY2UnO1xuaW1wb3J0IHtDb21wb25lbnRQb3J0YWwsIFBvcnRhbE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1dvcmtiZW5jaE1vZHVsZUNvbmZpZ30gZnJvbSAnLi4vLi4vd29ya2JlbmNoLW1vZHVsZS1jb25maWcnO1xuaW1wb3J0IHtWaWV3VGFiQ29udGVudENvbXBvbmVudH0gZnJvbSAnLi4vdmlldy10YWItY29udGVudC92aWV3LXRhYi1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtET0NVTUVOVCwgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7V29ya2JlbmNoVmlld30gZnJvbSAnLi4vLi4vdmlldy93b3JrYmVuY2gtdmlldy5tb2RlbCc7XG5cbi8qKlxuICogQHNlZSBWaWV3VGFiQ29tcG9uZW50XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3diLXZpZXctdGFiLWRyYWctaW1hZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4uL3ZpZXctdGFiL3ZpZXctdGFiLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXG4gICAgJy4uL3ZpZXctdGFiL3ZpZXctdGFiLmNvbXBvbmVudC5zY3NzJyxcbiAgICAnLi92aWV3LXRhYi1kcmFnLWltYWdlLnBhcnRpYWwuY29tcG9uZW50LnNjc3MnLFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBQb3J0YWxNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFZpZXdUYWJEcmFnSW1hZ2VDb21wb25lbnQge1xuXG4gIHB1YmxpYyB2aWV3VGFiQ29udGVudFBvcnRhbCE6IENvbXBvbmVudFBvcnRhbDx1bmtub3duPjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFjdGl2ZScpXG4gIHB1YmxpYyBhY3RpdmUgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MucGFydC1hY3RpdmUnKVxuICBwdWJsaWMgcGFydEFjdGl2ZSA9IHRydWU7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiBkcmFnZ2luZyB0aGlzIHZpZXcgdGFiIG92ZXIgYSB0YWJiYXIuXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRyYWctb3Zlci10YWJiYXInKVxuICBwdWJsaWMgaXNEcmFnT3ZlclRhYmJhciA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgZHJhZ2dpbmcgdGhpcyB2aWV3IHRhYiBvdmVyIGEgdGFiYmFyIGxvY2F0ZWQgaW4gdGhlIHBlcmlwaGVyYWwgYXJlYS5cbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZHJhZy1vdmVyLXBlcmlwaGVyYWwtdGFiYmFyJylcbiAgcHVibGljIGlzRHJhZ092ZXJQZXJpcGhlcmFsVGFiYmFyID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHZpZXc6IFdvcmtiZW5jaFZpZXcsXG4gICAgICAgICAgICAgIHByaXZhdGUgX3dvcmtiZW5jaE1vZHVsZUNvbmZpZzogV29ya2JlbmNoTW9kdWxlQ29uZmlnLFxuICAgICAgICAgICAgICBwcml2YXRlIF92aWV3RHJhZ1NlcnZpY2U6IFZpZXdEcmFnU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5pbnN0YWxsRHJhZ092ZXJUYWJiYXJEZXRlY3RvcigpO1xuICAgIHRoaXMudmlld1RhYkNvbnRlbnRQb3J0YWwgPSB0aGlzLmNyZWF0ZVZpZXdUYWJDb250ZW50UG9ydGFsKCk7XG4gIH1cblxuICBwdWJsaWMgb25DbG9zZSguLi5fOiB1bmtub3duW10pOiB2b2lkIHtcbiAgICB0aHJvdyBFcnJvcignW1Vuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3JdJyk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVZpZXdUYWJDb250ZW50UG9ydGFsKCk6IENvbXBvbmVudFBvcnRhbDx1bmtub3duPiB7XG4gICAgY29uc3QgY29tcG9uZW50VHlwZSA9IHRoaXMuX3dvcmtiZW5jaE1vZHVsZUNvbmZpZy52aWV3VGFiQ29tcG9uZW50IHx8IFZpZXdUYWJDb250ZW50Q29tcG9uZW50O1xuICAgIHJldHVybiBuZXcgQ29tcG9uZW50UG9ydGFsKGNvbXBvbmVudFR5cGUsIG51bGwsIHRoaXMuX2luamVjdG9yKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFsbERyYWdPdmVyVGFiYmFyRGV0ZWN0b3IoKTogdm9pZCB7XG4gICAgY29uc3QgZG9jdW1lbnRSb290ID0gaW5qZWN0PERvY3VtZW50PihET0NVTUVOVCkuZG9jdW1lbnRFbGVtZW50O1xuICAgIHRoaXMuX3ZpZXdEcmFnU2VydmljZS50YWJiYXJEcmFnT3ZlciRcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZShwYXJ0SWQgPT4ge1xuICAgICAgICAvLyBDb21wdXRlIGlmIGRyYWdnaW5nIHRoaXMgdmlldyB0YWIgb3ZlciBhIHRhYmJhci5cbiAgICAgICAgdGhpcy5pc0RyYWdPdmVyVGFiYmFyID0gcGFydElkICE9PSBudWxsO1xuICAgICAgICAvLyBDb21wdXRlIGlmIGRyYWdnaW5nIHRoaXMgdmlldyB0YWIgb3ZlciBhIHRhYmJhciBsb2NhdGVkIGluIHRoZSBwZXJpcGhlcmFsIGFyZWEuXG4gICAgICAgIHRoaXMuaXNEcmFnT3ZlclBlcmlwaGVyYWxUYWJiYXIgPSBwYXJ0SWQgIT09IG51bGwgJiYgZG9jdW1lbnRSb290LnF1ZXJ5U2VsZWN0b3IoYHdiLXdvcmtiZW5jaDpoYXMod2ItbWFpbi1hcmVhLWxheW91dCkgd2ItcGFydFtkYXRhLXBhcnRpZD1cIiR7cGFydElkfVwiXTpub3QoLm1haW4tYXJlYSlgKSAhPT0gbnVsbDtcbiAgICAgIH0pO1xuICB9XG59XG4iLCI8IS0tIElNUE9SVEFOVDogVEhJUyBIVE1MIEZJTEUgSVMgQUxTTyBVU0VEIEJZIGBWaWV3VGFiRHJhZ0ltYWdlQ29tcG9uZW50YCAtLT5cblxuPGRpdiBjbGFzcz1cImNvcm5lci1yYWRpdXMgc3RhcnRcIiAqbmdJZj1cInZpZXcuYWN0aXZlXCI+XG4gIDxkaXYgY2xhc3M9XCJjaXJjbGVcIj48L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICA8bmctY29udGFpbmVyICpjZGtQb3J0YWxPdXRsZXQ9XCJ2aWV3VGFiQ29udGVudFBvcnRhbFwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJjb3JuZXItcmFkaXVzIGVuZFwiICpuZ0lmPVwidmlldy5hY3RpdmVcIj5cbiAgPGRpdiBjbGFzcz1cImNpcmNsZVwiPjwvZGl2PlxuPC9kaXY+XG5cbjxidXR0b24gKm5nSWY9XCJ2aWV3LmNsb3NhYmxlXCJcbiAgICAgICAgY2xhc3M9XCJjbG9zZSBlMmUtY2xvc2Ugc2Npb24td29ya2JlbmNoLWljb25zXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoJGV2ZW50KVwiPlxuICBjbG9zZVxuPC9idXR0b24+XG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy10YWItZHJhZy1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9wYXJ0L3ZpZXctdGFiLWRyYWctaW1hZ2Uvdmlldy10YWItZHJhZy1pbWFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9wYXJ0L3ZpZXctdGFiL3ZpZXctdGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFXLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBQyxlQUFlLEVBQUUsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFbEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDdkYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBRy9DOztHQUVHO0FBY0gsTUFBTSxPQUFPLHlCQUF5QjtJQXNCcEMsWUFBbUIsSUFBbUIsRUFDbEIsZ0JBQWlDLEVBQ2pDLGdCQUFpQyxFQUNqQyxTQUFtQjtRQUhwQixTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ2xCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBcEJoQyxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBR2QsZUFBVSxHQUFHLElBQUksQ0FBQztRQUV6Qjs7V0FFRztRQUVJLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUVoQzs7V0FFRztRQUVJLCtCQUEwQixHQUFHLEtBQUssQ0FBQztRQU14QyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUVNLE9BQU8sQ0FBQyxHQUFHLENBQVk7UUFDNUIsTUFBTSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sMEJBQTBCO1FBQ2hDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsSUFBSSx1QkFBdUIsQ0FBQztRQUN4RixPQUFPLElBQUksZUFBZSxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyw2QkFBNkI7UUFDbkMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFXLFFBQVEsQ0FBQyxDQUFDLGVBQWUsQ0FBQztRQUNoRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZTthQUNsQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQzthQUMxQixTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbEIsbURBQW1EO1lBQ25ELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLEtBQUssSUFBSSxDQUFDO1lBQ3hDLGtGQUFrRjtZQUNsRixJQUFJLENBQUMsMEJBQTBCLEdBQUcsTUFBTSxLQUFLLElBQUksSUFBSSxZQUFZLENBQUMsYUFBYSxDQUFDLDhEQUE4RCxNQUFNLG9CQUFvQixDQUFDLEtBQUssSUFBSSxDQUFDO1FBQ3JMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0FqRFUseUJBQXlCO2tHQUF6Qix5QkFBeUIsOFNDbkN0Qyw4aEJBbUJBLDJ4R0RZSSxJQUFJLDRGQUNKLFlBQVk7OzJGQUdILHlCQUF5QjtrQkFickMsU0FBUzsrQkFDRSx3QkFBd0IsY0FNdEIsSUFBSSxXQUNQO3dCQUNQLElBQUk7d0JBQ0osWUFBWTtxQkFDYjtxS0FPTSxNQUFNO3NCQURaLFdBQVc7dUJBQUMsY0FBYztnQkFJcEIsVUFBVTtzQkFEaEIsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBT3pCLGdCQUFnQjtzQkFEdEIsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBTzlCLDBCQUEwQjtzQkFEaEMsV0FBVzt1QkFBQyxtQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgaW5qZWN0LCBJbmplY3Rvcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1ZpZXdEcmFnU2VydmljZX0gZnJvbSAnLi4vLi4vdmlldy1kbmQvdmlldy1kcmFnLnNlcnZpY2UnO1xuaW1wb3J0IHtDb21wb25lbnRQb3J0YWwsIFBvcnRhbE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1dvcmtiZW5jaENvbmZpZ30gZnJvbSAnLi4vLi4vd29ya2JlbmNoLWNvbmZpZyc7XG5pbXBvcnQge1ZpZXdUYWJDb250ZW50Q29tcG9uZW50fSBmcm9tICcuLi92aWV3LXRhYi1jb250ZW50L3ZpZXctdGFiLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge0RPQ1VNRU5ULCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtXb3JrYmVuY2hWaWV3fSBmcm9tICcuLi8uLi92aWV3L3dvcmtiZW5jaC12aWV3Lm1vZGVsJztcblxuLyoqXG4gKiBAc2VlIFZpZXdUYWJDb21wb25lbnRcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2Itdmlldy10YWItZHJhZy1pbWFnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi4vdmlldy10YWIvdmlldy10YWIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtcbiAgICAnLi4vdmlldy10YWIvdmlldy10YWIuY29tcG9uZW50LnNjc3MnLFxuICAgICcuL3ZpZXctdGFiLWRyYWctaW1hZ2UucGFydGlhbC5jb21wb25lbnQuc2NzcycsXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIFBvcnRhbE1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVmlld1RhYkRyYWdJbWFnZUNvbXBvbmVudCB7XG5cbiAgcHVibGljIHZpZXdUYWJDb250ZW50UG9ydGFsITogQ29tcG9uZW50UG9ydGFsPHVua25vd24+O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWN0aXZlJylcbiAgcHVibGljIGFjdGl2ZSA9IHRydWU7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5wYXJ0LWFjdGl2ZScpXG4gIHB1YmxpYyBwYXJ0QWN0aXZlID0gdHJ1ZTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIGRyYWdnaW5nIHRoaXMgdmlldyB0YWIgb3ZlciBhIHRhYmJhci5cbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZHJhZy1vdmVyLXRhYmJhcicpXG4gIHB1YmxpYyBpc0RyYWdPdmVyVGFiYmFyID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiBkcmFnZ2luZyB0aGlzIHZpZXcgdGFiIG92ZXIgYSB0YWJiYXIgbG9jYXRlZCBpbiB0aGUgcGVyaXBoZXJhbCBhcmVhLlxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kcmFnLW92ZXItcGVyaXBoZXJhbC10YWJiYXInKVxuICBwdWJsaWMgaXNEcmFnT3ZlclBlcmlwaGVyYWxUYWJiYXIgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdmlldzogV29ya2JlbmNoVmlldyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfd29ya2JlbmNoQ29uZmlnOiBXb3JrYmVuY2hDb25maWcsXG4gICAgICAgICAgICAgIHByaXZhdGUgX3ZpZXdEcmFnU2VydmljZTogVmlld0RyYWdTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLmluc3RhbGxEcmFnT3ZlclRhYmJhckRldGVjdG9yKCk7XG4gICAgdGhpcy52aWV3VGFiQ29udGVudFBvcnRhbCA9IHRoaXMuY3JlYXRlVmlld1RhYkNvbnRlbnRQb3J0YWwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsb3NlKC4uLl86IHVua25vd25bXSk6IHZvaWQge1xuICAgIHRocm93IEVycm9yKCdbVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvcl0nKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVmlld1RhYkNvbnRlbnRQb3J0YWwoKTogQ29tcG9uZW50UG9ydGFsPHVua25vd24+IHtcbiAgICBjb25zdCBjb21wb25lbnRUeXBlID0gdGhpcy5fd29ya2JlbmNoQ29uZmlnLnZpZXdUYWJDb21wb25lbnQgfHwgVmlld1RhYkNvbnRlbnRDb21wb25lbnQ7XG4gICAgcmV0dXJuIG5ldyBDb21wb25lbnRQb3J0YWwoY29tcG9uZW50VHlwZSwgbnVsbCwgdGhpcy5faW5qZWN0b3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbnN0YWxsRHJhZ092ZXJUYWJiYXJEZXRlY3RvcigpOiB2b2lkIHtcbiAgICBjb25zdCBkb2N1bWVudFJvb3QgPSBpbmplY3Q8RG9jdW1lbnQ+KERPQ1VNRU5UKS5kb2N1bWVudEVsZW1lbnQ7XG4gICAgdGhpcy5fdmlld0RyYWdTZXJ2aWNlLnRhYmJhckRyYWdPdmVyJFxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKHBhcnRJZCA9PiB7XG4gICAgICAgIC8vIENvbXB1dGUgaWYgZHJhZ2dpbmcgdGhpcyB2aWV3IHRhYiBvdmVyIGEgdGFiYmFyLlxuICAgICAgICB0aGlzLmlzRHJhZ092ZXJUYWJiYXIgPSBwYXJ0SWQgIT09IG51bGw7XG4gICAgICAgIC8vIENvbXB1dGUgaWYgZHJhZ2dpbmcgdGhpcyB2aWV3IHRhYiBvdmVyIGEgdGFiYmFyIGxvY2F0ZWQgaW4gdGhlIHBlcmlwaGVyYWwgYXJlYS5cbiAgICAgICAgdGhpcy5pc0RyYWdPdmVyUGVyaXBoZXJhbFRhYmJhciA9IHBhcnRJZCAhPT0gbnVsbCAmJiBkb2N1bWVudFJvb3QucXVlcnlTZWxlY3Rvcihgd2Itd29ya2JlbmNoOmhhcyh3Yi1tYWluLWFyZWEtbGF5b3V0KSB3Yi1wYXJ0W2RhdGEtcGFydGlkPVwiJHtwYXJ0SWR9XCJdOm5vdCgubWFpbi1hcmVhKWApICE9PSBudWxsO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIjwhLS0gSU1QT1JUQU5UOiBUSElTIEhUTUwgRklMRSBJUyBBTFNPIFVTRUQgQlkgYFZpZXdUYWJEcmFnSW1hZ2VDb21wb25lbnRgIC0tPlxuXG48ZGl2IGNsYXNzPVwiY29ybmVyLXJhZGl1cyBzdGFydFwiICpuZ0lmPVwidmlldy5hY3RpdmVcIj5cbiAgPGRpdiBjbGFzcz1cImNpcmNsZVwiPjwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gIDxuZy1jb250YWluZXIgKmNka1BvcnRhbE91dGxldD1cInZpZXdUYWJDb250ZW50UG9ydGFsXCI+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImNvcm5lci1yYWRpdXMgZW5kXCIgKm5nSWY9XCJ2aWV3LmFjdGl2ZVwiPlxuICA8ZGl2IGNsYXNzPVwiY2lyY2xlXCI+PC9kaXY+XG48L2Rpdj5cblxuPGJ1dHRvbiAqbmdJZj1cInZpZXcuY2xvc2FibGVcIlxuICAgICAgICBjbGFzcz1cImNsb3NlIGUyZS1jbG9zZSBzY2lvbi13b3JrYmVuY2gtaWNvbnNcIlxuICAgICAgICAoY2xpY2spPVwib25DbG9zZSgkZXZlbnQpXCI+XG4gIGNsb3NlXG48L2J1dHRvbj5cbiJdfQ==
@@ -37,10 +37,10 @@ export class WorkbenchPartActionRegistry {
37
37
  ngOnDestroy() {
38
38
  this._registry.clear();
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WorkbenchPartActionRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
41
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WorkbenchPartActionRegistry, providedIn: 'root' }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: WorkbenchPartActionRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
41
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: WorkbenchPartActionRegistry, providedIn: 'root' }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WorkbenchPartActionRegistry, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: WorkbenchPartActionRegistry, decorators: [{
44
44
  type: Injectable,
45
45
  args: [{ providedIn: 'root' }]
46
46
  }] });
@@ -7,4 +7,4 @@
7
7
  */
8
8
  export class WorkbenchPart {
9
9
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLXBhcnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9wYXJ0L3dvcmtiZW5jaC1wYXJ0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBZ0IsYUFBYTtDQXFEbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtXb3JrYmVuY2hQYXJ0QWN0aW9ufSBmcm9tICcuLi93b3JrYmVuY2gubW9kZWwnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBwYXJ0IG9mIHRoZSB3b3JrYmVuY2ggbGF5b3V0LlxuICpcbiAqIEEgcGFydCBpcyBhIHN0YWNrIG9mIHZpZXdzIHRoYXQgY2FuIGJlIGFycmFuZ2VkIGluIHRoZSB3b3JrYmVuY2ggbGF5b3V0LlxuICpcbiAqIEBzZWUgV29ya2JlbmNoVmlld1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgV29ya2JlbmNoUGFydCB7XG5cbiAgLyoqXG4gICAqIFVuaXF1ZSBpZGVudGl0eSBvZiB0aGlzIHBhcnQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhpcyBwYXJ0IGlzIGxvY2F0ZWQgaW4gdGhlIG1haW4gYXJlYS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBpc0luTWFpbkFyZWE6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoaXMgcGFydCBpcyBhY3RpdmUgb3IgaW5hY3RpdmUuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYWN0aXZlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBOb3RpZmllcyB3aGVuIHRoaXMgcGFydCBiZWNvbWVzIGFjdGl2ZSBvciBpbmFjdGl2ZS5cbiAgICpcbiAgICogVXBvbiBzdWJzY3JpcHRpb24sIGVtaXRzIHRoZSBjdXJyZW50IHN0YXRlLCBhbmQgdGhlbiBlYWNoIHRpbWUgdGhlIHN0YXRlIGNoYW5nZXMuIFRoZSBvYnNlcnZhYmxlIG5ldmVyIGNvbXBsZXRlcy5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhY3RpdmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgY3VycmVudGx5IGFjdGl2ZSB2aWV3IGluIHRoaXMgcGFydC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhY3RpdmVWaWV3SWQkOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+O1xuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudGx5IGFjdGl2ZSB2aWV3LCBpZiBhbnkuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYWN0aXZlVmlld0lkOiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgdmlld3Mgb3BlbmVkIGluIHRoaXMgcGFydC5cbiAgICpcbiAgICogVXBvbiBzdWJzY3JpcHRpb24sIGVtaXRzIHRoZSBjdXJyZW50IHZpZXdzLCBhbmQgdGhlbiBlYWNoIHRpbWUgdGhlIHZpZXdzIGNoYW5nZS4gVGhlIG9ic2VydmFibGUgbmV2ZXIgY29tcGxldGVzLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHZpZXdJZHMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnRseSBvcGVuZWQgdmlld3MgaW4gdGhpcyBwYXJ0LlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHZpZXdJZHM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBhY3Rpb25zIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHBhcnQuXG4gICAqXG4gICAqIFVwb24gc3Vic2NyaXB0aW9uLCB0aGUgY3VycmVudGx5IGFzc29jaWF0ZWQgYWN0aW9ucyBhcmUgZW1pdHRlZCwgYW5kIHRoZW4gZW1pdHMgY29udGludW91c2x5XG4gICAqIHdoZW4gbmV3IGFjdGlvbnMgYXJlIHJlZ2lzdGVyZWQgb3IgdW5yZWdpc3RlcmVkLiBJdCBuZXZlciBjb21wbGV0ZXMuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYWN0aW9ucyQ6IE9ic2VydmFibGU8cmVhZG9ubHkgV29ya2JlbmNoUGFydEFjdGlvbltdPjtcbn1cbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLXBhcnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9wYXJ0L3dvcmtiZW5jaC1wYXJ0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBZ0IsYUFBYTtDQXFEbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtXb3JrYmVuY2hQYXJ0QWN0aW9ufSBmcm9tICcuLi93b3JrYmVuY2gubW9kZWwnO1xuaW1wb3J0IHtWaWV3SWR9IGZyb20gJy4uL3ZpZXcvd29ya2JlbmNoLXZpZXcubW9kZWwnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBwYXJ0IG9mIHRoZSB3b3JrYmVuY2ggbGF5b3V0LlxuICpcbiAqIEEgcGFydCBpcyBhIHN0YWNrIG9mIHZpZXdzIHRoYXQgY2FuIGJlIGFycmFuZ2VkIGluIHRoZSB3b3JrYmVuY2ggbGF5b3V0LlxuICpcbiAqIEBzZWUgV29ya2JlbmNoVmlld1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgV29ya2JlbmNoUGFydCB7XG5cbiAgLyoqXG4gICAqIFVuaXF1ZSBpZGVudGl0eSBvZiB0aGlzIHBhcnQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhpcyBwYXJ0IGlzIGxvY2F0ZWQgaW4gdGhlIG1haW4gYXJlYS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBpc0luTWFpbkFyZWE6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoaXMgcGFydCBpcyBhY3RpdmUgb3IgaW5hY3RpdmUuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYWN0aXZlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBOb3RpZmllcyB3aGVuIHRoaXMgcGFydCBiZWNvbWVzIGFjdGl2ZSBvciBpbmFjdGl2ZS5cbiAgICpcbiAgICogVXBvbiBzdWJzY3JpcHRpb24sIGVtaXRzIHRoZSBjdXJyZW50IHN0YXRlLCBhbmQgdGhlbiBlYWNoIHRpbWUgdGhlIHN0YXRlIGNoYW5nZXMuIFRoZSBvYnNlcnZhYmxlIG5ldmVyIGNvbXBsZXRlcy5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhY3RpdmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgY3VycmVudGx5IGFjdGl2ZSB2aWV3IGluIHRoaXMgcGFydC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhY3RpdmVWaWV3SWQkOiBPYnNlcnZhYmxlPFZpZXdJZCB8IG51bGw+O1xuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudGx5IGFjdGl2ZSB2aWV3LCBpZiBhbnkuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYWN0aXZlVmlld0lkOiBWaWV3SWQgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgdmlld3Mgb3BlbmVkIGluIHRoaXMgcGFydC5cbiAgICpcbiAgICogVXBvbiBzdWJzY3JpcHRpb24sIGVtaXRzIHRoZSBjdXJyZW50IHZpZXdzLCBhbmQgdGhlbiBlYWNoIHRpbWUgdGhlIHZpZXdzIGNoYW5nZS4gVGhlIG9ic2VydmFibGUgbmV2ZXIgY29tcGxldGVzLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHZpZXdJZHMkOiBPYnNlcnZhYmxlPFZpZXdJZFtdPjtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnRseSBvcGVuZWQgdmlld3MgaW4gdGhpcyBwYXJ0LlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHZpZXdJZHM6IFZpZXdJZFtdO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBhY3Rpb25zIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHBhcnQuXG4gICAqXG4gICAqIFVwb24gc3Vic2NyaXB0aW9uLCB0aGUgY3VycmVudGx5IGFzc29jaWF0ZWQgYWN0aW9ucyBhcmUgZW1pdHRlZCwgYW5kIHRoZW4gZW1pdHMgY29udGludW91c2x5XG4gICAqIHdoZW4gbmV3IGFjdGlvbnMgYXJlIHJlZ2lzdGVyZWQgb3IgdW5yZWdpc3RlcmVkLiBJdCBuZXZlciBjb21wbGV0ZXMuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYWN0aW9ucyQ6IE9ic2VydmFibGU8cmVhZG9ubHkgV29ya2JlbmNoUGFydEFjdGlvbltdPjtcbn1cbiJdfQ==
@@ -47,10 +47,10 @@ export class WorkbenchPartRegistry {
47
47
  this._registry.objects.forEach(part => part.destroy());
48
48
  this._registry.clear();
49
49
  }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WorkbenchPartRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
51
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WorkbenchPartRegistry, providedIn: 'root' }); }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: WorkbenchPartRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
51
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: WorkbenchPartRegistry, providedIn: 'root' }); }
52
52
  }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WorkbenchPartRegistry, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: WorkbenchPartRegistry, decorators: [{
54
54
  type: Injectable,
55
55
  args: [{ providedIn: 'root' }]
56
56
  }] });
@@ -53,7 +53,7 @@ export class ɵWorkbenchPart {
53
53
  */
54
54
  onLayoutChange(layout) {
55
55
  this._isInMainArea ??= layout.hasPart(this.id, { grid: 'mainArea' });
56
- const part = layout.part({ by: { partId: this.id } });
56
+ const part = layout.part({ partId: this.id });
57
57
  const active = layout.activePart({ grid: this._isInMainArea ? 'mainArea' : 'workbench' })?.id === this.id;
58
58
  const prevViewIds = this.viewIds$.value;
59
59
  const currViewIds = part.views.map(view => view.id);
@@ -86,7 +86,7 @@ export class ɵWorkbenchPart {
86
86
  return true;
87
87
  }
88
88
  const currentLayout = this._workbenchLayoutService.layout;
89
- return this._workbenchRouternavigate(layout => currentLayout === layout ? layout.activatePart(this.id) : null, // cancel navigation if the layout has become stale
89
+ return this._workbenchRouter.navigate(layout => currentLayout === layout ? layout.activatePart(this.id) : null, // cancel navigation if the layout has become stale
90
90
  { skipLocationChange: true });
91
91
  }
92
92
  get active() {
@@ -127,4 +127,4 @@ export class ɵWorkbenchPart {
127
127
  }
128
128
  }
129
129
  }
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiybV3b3JrYmVuY2gtcGFydC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL3BhcnQvybV3b3JrYmVuY2gtcGFydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILE9BQU8sRUFBQyxlQUFlLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFM0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZUFBZSxFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQ25FLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUUxRSxNQUFNLE9BQU8sY0FBYztJQW1CekIsWUFBNEIsRUFBVSxFQUFFLE9BQTRFO1FBQXhGLE9BQUUsR0FBRixFQUFFLENBQVE7UUFmckIscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGVB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QUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNqRSwyRUFBMkU7UUFDM0UsV0FBVyxDQUFDLENBQUMsTUFBMkIsRUFBVyxFQUFFLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUM3SCxvQkFBb0IsRUFBRSxDQUN2QixDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0ssZUFBZTtRQUNyQixJQUFJLENBQUMsT0FBTzthQUNULElBQUksQ0FDSCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2YsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixnSUFBZ0k7UUFDaEksMEdBQTBHO1FBQzFHLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQzVFO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2luamVjdCwgSW5qZWN0b3IsIHJ1bkluSW5qZWN0aW9uQ29udGV4dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FycmF5c30gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXRpbCc7XG5pbXBvcnQge1dvcmtiZW5jaFBhcnRBY3Rpb259IGZyb20gJy4uL3dvcmtiZW5jaC5tb2RlbCc7XG5pbXBvcnQge1dvcmtiZW5jaFBhcnR9IGZyb20gJy4vd29ya2JlbmNoLXBhcnQubW9kZWwnO1xuaW1wb3J0IHtXb3JrYmVuY2hSb3V0ZXJ9IGZyb20gJy4uL3JvdXRpbmcvd29ya2JlbmNoLXJvdXRlci5zZXJ2aWNlJztcbmltcG9ydCB7V29ya2JlbmNoVmlld1JlZ2lzdHJ5fSBmcm9tICcuLi92aWV3L3dvcmtiZW5jaC12aWV3LnJlZ2lzdHJ5JztcbmltcG9ydCB7Q29tcG9uZW50UG9ydGFsLCBDb21wb25lbnRUeXBlfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7QWN0aXZhdGlvbkluc3RhbnRQcm92aWRlcn0gZnJvbSAnLi4vYWN0aXZhdGlvbi1pbnN0YW50LnByb3ZpZGVyJztcbmltcG9ydCB7V29ya2JlbmNoUGFydEFjdGlvblJlZ2lzdHJ5fSBmcm9tICcuL3dvcmtiZW5jaC1wYXJ0LWFjdGlvbi5yZWdpc3RyeSc7XG5pbXBvcnQge2ZpbHRlckFycmF5fSBmcm9tICdAc2Npb24vdG9vbGtpdC9vcGVyYXRvcnMnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHvJtVdvcmtiZW5jaExheW91dH0gZnJvbSAnLi4vbGF5b3V0L8m1d29ya2JlbmNoLWxheW91dCc7XG5pbXBvcnQge1dvcmtiZW5jaExheW91dFNlcnZpY2V9IGZyb20gJy4uL2xheW91dC93b3JrYmVuY2gtbGF5b3V0LnNlcnZpY2UnO1xuXG5leHBvcnQgY2xhc3MgybVXb3JrYmVuY2hQYXJ0IGltcGxlbWVudHMgV29ya2JlbmNoUGFydCB7XG5cbiAgcHJpdmF0ZSBfYWN0aXZhdGlvbkluc3RhbnQ6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIHJlYWRvbmx5IF93b3JrYmVuY2hSb3V0ZXIgPSBpbmplY3QoV29ya2JlbmNoUm91dGVyKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfd29ya2JlbmNoTGF5b3V0U2VydmljZSA9IGluamVjdChXb3JrYmVuY2hMYXlvdXRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdmlld1JlZ2lzdHJ5ID0gaW5qZWN0KFdvcmtiZW5jaFZpZXdSZWdpc3RyeSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2YXRpb25JbnN0YW50UHJvdmlkZXIgPSBpbmplY3QoQWN0aXZhdGlvbkluc3RhbnRQcm92aWRlcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BhcnRBY3Rpb25SZWdpc3RyeSA9IGluamVjdChXb3JrYmVuY2hQYXJ0QWN0aW9uUmVnaXN0cnkpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wYXJ0Q29tcG9uZW50OiBDb21wb25lbnRUeXBlPFBhcnRDb21wb25lbnQgfCBNYWluQXJlYUxheW91dENvbXBvbmVudD47XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgdmlld0lkcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdPihbXSk7XG4gIHB1YmxpYyByZWFkb25seSBhY3RpdmVWaWV3SWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IGFjdGlvbnMkOiBPYnNlcnZhYmxlPHJlYWRvbmx5IFdvcmtiZW5jaFBhcnRBY3Rpb25bXT47XG5cbiAgcHJpdmF0ZSBfaXNJbk1haW5BcmVhOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nLCBvcHRpb25zOiB7Y29tcG9uZW50OiBDb21wb25lbnRUeXBlPFBhcnRDb21wb25lbnQgfCBNYWluQXJlYUxheW91dENvbXBvbmVudD59KSB7XG4gICAgdGhpcy5fcGFydENvbXBvbmVudCA9IG9wdGlvbnMuY29tcG9uZW50O1xuICAgIHRoaXMuYWN0aW9ucyQgPSB0aGlzLm9ic2VydmVQYXJ0QWN0aW9ucyQoKTtcbiAgICB0aGlzLnRvdWNoT25BY3RpdmF0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgdGhlIHBvcnRhbCB1c2luZyB0aGUgZ2l2ZW4gaW5qZWN0aW9uIGNvbnRleHQuXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlUG9ydGFsRnJvbUluamVjdGlvbkNvbnRleHQoaW5qZWN0aW9uQ29udGV4dDogSW5qZWN0b3IpOiBDb21wb25lbnRQb3J0YWw8UGFydENvbXBvbmVudCB8IE1haW5BcmVhTGF5b3V0Q29tcG9uZW50PiB7XG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcGFyZW50OiBpbmplY3Rpb25Db250ZXh0LFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtwcm92aWRlOiDJtVdvcmtiZW5jaFBhcnQsIHVzZVZhbHVlOiB0aGlzfSxcbiAgICAgICAge3Byb3ZpZGU6IFdvcmtiZW5jaFBhcnQsIHVzZUV4aXN0aW5nOiDJtVdvcmtiZW5jaFBhcnR9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IENvbXBvbmVudFBvcnRhbCh0aGlzLl9wYXJ0Q29tcG9uZW50LCBudWxsLCBpbmplY3RvciwgbnVsbCwgbnVsbCk7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kIGludm9rZWQgdG8gdXBkYXRlIHRoaXMgd29ya2JlbmNoIG1vZGVsIG9iamVjdCB3aGVuIHRoZSB3b3JrYmVuY2ggbGF5b3V0IGNoYW5nZXMuXG4gICAqL1xuICBwdWJsaWMgb25MYXlvdXRDaGFuZ2UobGF5b3V0OiDJtVdvcmtiZW5jaExheW91dCk6IHZvaWQge1xuICAgIHRoaXMuX2lzSW5NYWluQXJlYSA/Pz0gbGF5b3V0Lmhhc1BhcnQodGhpcy5pZCwge2dyaWQ6ICdtYWluQXJlYSd9KTtcbiAgICBjb25zdCBwYXJ0ID0gbGF5b3V0LnBhcnQoe2J5OiB7cGFydElkOiB0aGlzLmlkfX0pO1xuICAgIGNvbnN0IGFjdGl2ZSA9IGxheW91dC5hY3RpdmVQYXJ0KHtncmlkOiB0aGlzLl9pc0luTWFpbkFyZWEgPyAnbWFpbkFyZWEnIDogJ3dvcmtiZW5jaCd9KT8uaWQgPT09IHRoaXMuaWQ7XG4gICAgY29uc3QgcHJldlZpZXdJZHMgPSB0aGlzLnZpZXdJZHMkLnZhbHVlO1xuICAgIGNvbnN0IGN1cnJWaWV3SWRzID0gcGFydC52aWV3cy5tYXAodmlldyA9PiB2aWV3LmlkKTtcblxuICAgIC8vIFVwZGF0ZSBhY3RpdmUgcGFydCBpZiBjaGFuZ2VkXG4gICAgaWYgKHRoaXMuYWN0aXZlICE9PSBhY3RpdmUpIHtcbiAgICAgIHRoaXMuYWN0aXZlJC5uZXh0KGFjdGl2ZSk7XG4gICAgfVxuXG4gICAgLy8gVXBkYXRlIHZpZXdzIGlmIGNoYW5nZWRcbiAgICBpZiAoIUFycmF5cy5pc0VxdWFsKHByZXZWaWV3SWRzLCBjdXJyVmlld0lkcywge2V4YWN0T3JkZXI6IHRydWV9KSkge1xuICAgICAgdGhpcy52aWV3SWRzJC5uZXh0KGN1cnJWaWV3SWRzKTtcbiAgICB9XG5cbiAgICAvLyBVcGRhdGUgYWN0aXZlIHZpZXcgaWYgY2hhbmdlZFxuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXdJZCAhPT0gcGFydC5hY3RpdmVWaWV3SWQpIHtcbiAgICAgIHRoaXMuYWN0aXZlVmlld0lkJC5uZXh0KHBhcnQuYWN0aXZlVmlld0lkID8/IG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmlld0lkcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMudmlld0lkcyQudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZVZpZXdJZCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVWaWV3SWQkLnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlcyB0aGlzIHBhcnQuXG4gICAqXG4gICAqIE5vdGU6IFRoaXMgaW5zdHJ1Y3Rpb24gcnVucyBhc3luY2hyb25vdXNseSB2aWEgVVJMIHJvdXRpbmcuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYWN0aXZhdGUoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgaWYgKHRoaXMuYWN0aXZlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50TGF5b3V0ID0gdGhpcy5fd29ya2JlbmNoTGF5b3V0U2VydmljZS5sYXlvdXQ7XG4gICAgcmV0dXJuIHRoaXMuX3dvcmtiZW5jaFJvdXRlci7JtW5hdmlnYXRlKFxuICAgICAgbGF5b3V0ID0+IGN1cnJlbnRMYXlvdXQgPT09IGxheW91dCA/IGxheW91dC5hY3RpdmF0ZVBhcnQodGhpcy5pZCkgOiBudWxsLCAvLyBjYW5jZWwgbmF2aWdhdGlvbiBpZiB0aGUgbGF5b3V0IGhhcyBiZWNvbWUgc3RhbGVcbiAgICAgIHtza2lwTG9jYXRpb25DaGFuZ2U6IHRydWV9LCAvLyBkbyBub3QgYWRkIHBhcnQgYWN0aXZhdGlvbiBpbnRvIGJyb3dzZXIgaGlzdG9yeSBzdGFja1xuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmUkLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBhY3RpdmF0aW9uSW5zdGFudCgpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmF0aW9uSW5zdGFudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNJbk1haW5BcmVhKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0luTWFpbkFyZWEgPz8gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYWN0aW9ucyB0aGF0IGhhdmUgY29udHJpYnV0ZWQgdG8gdGhpcyBwYXJ0IGFuZCB0aGUgY3VycmVudGx5IGFjdGl2ZSB2aWV3LlxuICAgKi9cbiAgcHJpdmF0ZSBvYnNlcnZlUGFydEFjdGlvbnMkKCk6IE9ic2VydmFibGU8V29ya2JlbmNoUGFydEFjdGlvbltdPiB7XG4gICAgY29uc3QgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICAgIHJldHVybiB0aGlzLl9wYXJ0QWN0aW9uUmVnaXN0cnkuYWN0aW9ucyRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoYWN0aW9ucyA9PiB0aGlzLmFjdGl2ZVZpZXdJZCQucGlwZShtYXAoKCkgPT4gYWN0aW9ucykpKSxcbiAgICAgICAgLy8gUnVuIGluIGluamVjdGlvbiBjb250ZXh0IGZvciBgY2FuTWF0Y2hgIGZ1bmN0aW9uIHRvIGluamVjdCBkZXBlbmRlbmNpZXMuXG4gICAgICAgIGZpbHRlckFycmF5KChhY3Rpb246IFdvcmtiZW5jaFBhcnRBY3Rpb24pOiBib29sZWFuID0+IHJ1bkluSW5qZWN0aW9uQ29udGV4dChpbmplY3RvciwgKCkgPT4gYWN0aW9uLmNhbk1hdGNoPy4odGhpcykgPz8gdHJ1ZSkpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBhY3RpdmF0aW9uIGluc3RhbnQgd2hlbiB0aGlzIHBhcnQgaXMgYWN0aXZhdGVkLlxuICAgKi9cbiAgcHJpdmF0ZSB0b3VjaE9uQWN0aXZhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmUkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2FjdGl2YXRpb25JbnN0YW50ID0gdGhpcy5fYWN0aXZhdGlvbkluc3RhbnRQcm92aWRlci5ub3coKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIC8vIElNUE9SVEFOVDogT25seSBkZXRhY2ggdGhlIGFjdGl2ZSB2aWV3LCBub3QgZGVzdHJveSBpdCwgYmVjYXVzZSB2aWV3cyBhcmUgZXhwbGljaXRseSBkZXN0cm95ZWQgd2hlbiB2aWV3IGhhbmRsZXMgYXJlIHJlbW92ZWQuXG4gICAgLy8gT3RoZXJ3aXNlLCBtb3ZpbmcgdGhlIGxhc3QgdmlldyB0byBhbm90aGVyIHBhcnQgd291bGQgZmFpbCBiZWNhdXNlIHRoZSB2aWV3IHdvdWxkIGFscmVhZHkgYmUgZGVzdHJveWVkLlxuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXdJZCkge1xuICAgICAgdGhpcy5fdmlld1JlZ2lzdHJ5LmdldCh0aGlzLmFjdGl2ZVZpZXdJZCwge29yRWxzZTogbnVsbH0pPy5wb3J0YWwuZGV0YWNoKCk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHBzZXVkby10eXBlIGZvciB0aGUgYWN0dWFsIHtAbGluayBQYXJ0Q29tcG9uZW50fSB3aGljaCBtdXN0IG5vdCBiZSByZWZlcmVuY2VkIGluIG9yZGVyIHRvIGF2b2lkIGltcG9ydCBjeWNsZXMuXG4gKi9cbnR5cGUgUGFydENvbXBvbmVudCA9IGFueTtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgcHNldWRvLXR5cGUgZm9yIHRoZSBhY3R1YWwge0BsaW5rIE1haW5BcmVhTGF5b3V0Q29tcG9uZW50fSB3aGljaCBtdXN0IG5vdCBiZSByZWZlcmVuY2VkIGluIG9yZGVyIHRvIGF2b2lkIGltcG9ydCBjeWNsZXMuXG4gKi9cbnR5cGUgTWFpbkFyZWFMYXlvdXRDb21wb25lbnQgPSBhbnk7XG4iXX0=
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiybV3b3JrYmVuY2gtcGFydC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL3BhcnQvybV3b3JrYmVuY2gtcGFydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILE9BQU8sRUFBQyxlQUFlLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFM0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZUFBZSxFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQ25FLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUcxRSxNQUFNLE9BQU8sY0FBYztJQW1CekIsWUFBNEIsRUFBVSxFQUFFLE9BQTRFO1FBQXhGLE9BQUUsR0FBRixFQUFFLENBQVE7UUFmckIscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNDLDRCQUF1QixHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3pELGtCQUFhLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDOUMsK0JBQTBCLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDL0Qsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFFMUQsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFakMsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzlDLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBVyxFQUFFLENBQUMsQ0FBQztRQUM3QyxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLENBQUMsQ0FBQztRQU12RSxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZ0NBQWdDLENBQUMsZ0JBQTBCO1FBQ2hFLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDL0IsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixTQUFTLEVBQUU7Z0JBQ1QsRUFBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUM7Z0JBQ3pDLEVBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFDO2FBQ3REO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWMsQ0FBQyxNQUF3QjtRQUM1QyxJQUFJLENBQUMsYUFBYSxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO1FBQ25FLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUM7UUFDNUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDeEcsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDeEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFcEQsZ0NBQWdDO1FBQ2hDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxNQUFNLEVBQUU7WUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDM0I7UUFFRCwwQkFBMEI7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUMsQ0FBQyxFQUFFO1lBQ2pFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ2pDO1FBRUQsZ0NBQWdDO1FBQ2hDLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzNDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLENBQUM7U0FDcEQ7SUFDSCxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLFFBQVE7UUFDbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUM7UUFDMUQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUNuQyxNQUFNLENBQUMsRUFBRSxDQUFDLGFBQWEsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsbURBQW1EO1FBQzdILEVBQUMsa0JBQWtCLEVBQUUsSUFBSSxFQUFDLENBQzNCLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNLLG1CQUFtQjtRQUN6QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUTthQUNyQyxJQUFJLENBQ0gsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDakUsMkVBQTJFO1FBQzNFLFdBQVcsQ0FBQyxDQUFDLE1BQTJCLEVBQVcsRUFBRSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsRUFDN0gsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNLLGVBQWU7UUFDckIsSUFBSSxDQUFDLE9BQU87YUFDVCxJQUFJLENBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUNmLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDbEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsZ0lBQWdJO1FBQ2hJLDBHQUEwRztRQUMxRyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUM1RTtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtpbmplY3QsIEluamVjdG9yLCBydW5JbkluamVjdGlvbkNvbnRleHR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBcnJheXN9IGZyb20gJ0BzY2lvbi90b29sa2l0L3V0aWwnO1xuaW1wb3J0IHtXb3JrYmVuY2hQYXJ0QWN0aW9ufSBmcm9tICcuLi93b3JrYmVuY2gubW9kZWwnO1xuaW1wb3J0IHtXb3JrYmVuY2hQYXJ0fSBmcm9tICcuL3dvcmtiZW5jaC1wYXJ0Lm1vZGVsJztcbmltcG9ydCB7V29ya2JlbmNoUm91dGVyfSBmcm9tICcuLi9yb3V0aW5nL3dvcmtiZW5jaC1yb3V0ZXIuc2VydmljZSc7XG5pbXBvcnQge1dvcmtiZW5jaFZpZXdSZWdpc3RyeX0gZnJvbSAnLi4vdmlldy93b3JrYmVuY2gtdmlldy5yZWdpc3RyeSc7XG5pbXBvcnQge0NvbXBvbmVudFBvcnRhbCwgQ29tcG9uZW50VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge0FjdGl2YXRpb25JbnN0YW50UHJvdmlkZXJ9IGZyb20gJy4uL2FjdGl2YXRpb24taW5zdGFudC5wcm92aWRlcic7XG5pbXBvcnQge1dvcmtiZW5jaFBhcnRBY3Rpb25SZWdpc3RyeX0gZnJvbSAnLi93b3JrYmVuY2gtcGFydC1hY3Rpb24ucmVnaXN0cnknO1xuaW1wb3J0IHtmaWx0ZXJBcnJheX0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvb3BlcmF0b3JzJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7ybVXb3JrYmVuY2hMYXlvdXR9IGZyb20gJy4uL2xheW91dC/JtXdvcmtiZW5jaC1sYXlvdXQnO1xuaW1wb3J0IHtXb3JrYmVuY2hMYXlvdXRTZXJ2aWNlfSBmcm9tICcuLi9sYXlvdXQvd29ya2JlbmNoLWxheW91dC5zZXJ2aWNlJztcbmltcG9ydCB7Vmlld0lkfSBmcm9tICcuLi92aWV3L3dvcmtiZW5jaC12aWV3Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIMm1V29ya2JlbmNoUGFydCBpbXBsZW1lbnRzIFdvcmtiZW5jaFBhcnQge1xuXG4gIHByaXZhdGUgX2FjdGl2YXRpb25JbnN0YW50OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfd29ya2JlbmNoUm91dGVyID0gaW5qZWN0KFdvcmtiZW5jaFJvdXRlcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3dvcmtiZW5jaExheW91dFNlcnZpY2UgPSBpbmplY3QoV29ya2JlbmNoTGF5b3V0U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZpZXdSZWdpc3RyeSA9IGluamVjdChXb3JrYmVuY2hWaWV3UmVnaXN0cnkpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmF0aW9uSW5zdGFudFByb3ZpZGVyID0gaW5qZWN0KEFjdGl2YXRpb25JbnN0YW50UHJvdmlkZXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wYXJ0QWN0aW9uUmVnaXN0cnkgPSBpbmplY3QoV29ya2JlbmNoUGFydEFjdGlvblJlZ2lzdHJ5KTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcGFydENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxQYXJ0Q29tcG9uZW50IHwgTWFpbkFyZWFMYXlvdXRDb21wb25lbnQ+O1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGFjdGl2ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IHZpZXdJZHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxWaWV3SWRbXT4oW10pO1xuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlVmlld0lkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Vmlld0lkIHwgbnVsbD4obnVsbCk7XG4gIHB1YmxpYyByZWFkb25seSBhY3Rpb25zJDogT2JzZXJ2YWJsZTxyZWFkb25seSBXb3JrYmVuY2hQYXJ0QWN0aW9uW10+O1xuXG4gIHByaXZhdGUgX2lzSW5NYWluQXJlYTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZywgb3B0aW9uczoge2NvbXBvbmVudDogQ29tcG9uZW50VHlwZTxQYXJ0Q29tcG9uZW50IHwgTWFpbkFyZWFMYXlvdXRDb21wb25lbnQ+fSkge1xuICAgIHRoaXMuX3BhcnRDb21wb25lbnQgPSBvcHRpb25zLmNvbXBvbmVudDtcbiAgICB0aGlzLmFjdGlvbnMkID0gdGhpcy5vYnNlcnZlUGFydEFjdGlvbnMkKCk7XG4gICAgdGhpcy50b3VjaE9uQWN0aXZhdGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIHRoZSBwb3J0YWwgdXNpbmcgdGhlIGdpdmVuIGluamVjdGlvbiBjb250ZXh0LlxuICAgKi9cbiAgcHVibGljIGNyZWF0ZVBvcnRhbEZyb21JbmplY3Rpb25Db250ZXh0KGluamVjdGlvbkNvbnRleHQ6IEluamVjdG9yKTogQ29tcG9uZW50UG9ydGFsPFBhcnRDb21wb25lbnQgfCBNYWluQXJlYUxheW91dENvbXBvbmVudD4ge1xuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHBhcmVudDogaW5qZWN0aW9uQ29udGV4dCxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7cHJvdmlkZTogybVXb3JrYmVuY2hQYXJ0LCB1c2VWYWx1ZTogdGhpc30sXG4gICAgICAgIHtwcm92aWRlOiBXb3JrYmVuY2hQYXJ0LCB1c2VFeGlzdGluZzogybVXb3JrYmVuY2hQYXJ0fSxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgcmV0dXJuIG5ldyBDb21wb25lbnRQb3J0YWwodGhpcy5fcGFydENvbXBvbmVudCwgbnVsbCwgaW5qZWN0b3IsIG51bGwsIG51bGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCBpbnZva2VkIHRvIHVwZGF0ZSB0aGlzIHdvcmtiZW5jaCBtb2RlbCBvYmplY3Qgd2hlbiB0aGUgd29ya2JlbmNoIGxheW91dCBjaGFuZ2VzLlxuICAgKi9cbiAgcHVibGljIG9uTGF5b3V0Q2hhbmdlKGxheW91dDogybVXb3JrYmVuY2hMYXlvdXQpOiB2b2lkIHtcbiAgICB0aGlzLl9pc0luTWFpbkFyZWEgPz89IGxheW91dC5oYXNQYXJ0KHRoaXMuaWQsIHtncmlkOiAnbWFpbkFyZWEnfSk7XG4gICAgY29uc3QgcGFydCA9IGxheW91dC5wYXJ0KHtwYXJ0SWQ6IHRoaXMuaWR9KTtcbiAgICBjb25zdCBhY3RpdmUgPSBsYXlvdXQuYWN0aXZlUGFydCh7Z3JpZDogdGhpcy5faXNJbk1haW5BcmVhID8gJ21haW5BcmVhJyA6ICd3b3JrYmVuY2gnfSk/LmlkID09PSB0aGlzLmlkO1xuICAgIGNvbnN0IHByZXZWaWV3SWRzID0gdGhpcy52aWV3SWRzJC52YWx1ZTtcbiAgICBjb25zdCBjdXJyVmlld0lkcyA9IHBhcnQudmlld3MubWFwKHZpZXcgPT4gdmlldy5pZCk7XG5cbiAgICAvLyBVcGRhdGUgYWN0aXZlIHBhcnQgaWYgY2hhbmdlZFxuICAgIGlmICh0aGlzLmFjdGl2ZSAhPT0gYWN0aXZlKSB7XG4gICAgICB0aGlzLmFjdGl2ZSQubmV4dChhY3RpdmUpO1xuICAgIH1cblxuICAgIC8vIFVwZGF0ZSB2aWV3cyBpZiBjaGFuZ2VkXG4gICAgaWYgKCFBcnJheXMuaXNFcXVhbChwcmV2Vmlld0lkcywgY3VyclZpZXdJZHMsIHtleGFjdE9yZGVyOiB0cnVlfSkpIHtcbiAgICAgIHRoaXMudmlld0lkcyQubmV4dChjdXJyVmlld0lkcyk7XG4gICAgfVxuXG4gICAgLy8gVXBkYXRlIGFjdGl2ZSB2aWV3IGlmIGNoYW5nZWRcbiAgICBpZiAodGhpcy5hY3RpdmVWaWV3SWQgIT09IHBhcnQuYWN0aXZlVmlld0lkKSB7XG4gICAgICB0aGlzLmFjdGl2ZVZpZXdJZCQubmV4dChwYXJ0LmFjdGl2ZVZpZXdJZCA/PyBudWxsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZpZXdJZHMoKTogVmlld0lkW10ge1xuICAgIHJldHVybiB0aGlzLnZpZXdJZHMkLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBhY3RpdmVWaWV3SWQoKTogVmlld0lkIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlVmlld0lkJC52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZXMgdGhpcyBwYXJ0LlxuICAgKlxuICAgKiBOb3RlOiBUaGlzIGluc3RydWN0aW9uIHJ1bnMgYXN5bmNocm9ub3VzbHkgdmlhIFVSTCByb3V0aW5nLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGFjdGl2YXRlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLmFjdGl2ZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudExheW91dCA9IHRoaXMuX3dvcmtiZW5jaExheW91dFNlcnZpY2UubGF5b3V0O1xuICAgIHJldHVybiB0aGlzLl93b3JrYmVuY2hSb3V0ZXIubmF2aWdhdGUoXG4gICAgICBsYXlvdXQgPT4gY3VycmVudExheW91dCA9PT0gbGF5b3V0ID8gbGF5b3V0LmFjdGl2YXRlUGFydCh0aGlzLmlkKSA6IG51bGwsIC8vIGNhbmNlbCBuYXZpZ2F0aW9uIGlmIHRoZSBsYXlvdXQgaGFzIGJlY29tZSBzdGFsZVxuICAgICAge3NraXBMb2NhdGlvbkNoYW5nZTogdHJ1ZX0sIC8vIGRvIG5vdCBhZGQgcGFydCBhY3RpdmF0aW9uIGludG8gYnJvd3NlciBoaXN0b3J5IHN0YWNrXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZSQudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGl2YXRpb25JbnN0YW50KCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2YXRpb25JbnN0YW50O1xuICB9XG5cbiAgcHVibGljIGdldCBpc0luTWFpbkFyZWEoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzSW5NYWluQXJlYSA/PyBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyBhY3Rpb25zIHRoYXQgaGF2ZSBjb250cmlidXRlZCB0byB0aGlzIHBhcnQgYW5kIHRoZSBjdXJyZW50bHkgYWN0aXZlIHZpZXcuXG4gICAqL1xuICBwcml2YXRlIG9ic2VydmVQYXJ0QWN0aW9ucyQoKTogT2JzZXJ2YWJsZTxXb3JrYmVuY2hQYXJ0QWN0aW9uW10+IHtcbiAgICBjb25zdCBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gICAgcmV0dXJuIHRoaXMuX3BhcnRBY3Rpb25SZWdpc3RyeS5hY3Rpb25zJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcChhY3Rpb25zID0+IHRoaXMuYWN0aXZlVmlld0lkJC5waXBlKG1hcCgoKSA9PiBhY3Rpb25zKSkpLFxuICAgICAgICAvLyBSdW4gaW4gaW5qZWN0aW9uIGNvbnRleHQgZm9yIGBjYW5NYXRjaGAgZnVuY3Rpb24gdG8gaW5qZWN0IGRlcGVuZGVuY2llcy5cbiAgICAgICAgZmlsdGVyQXJyYXkoKGFjdGlvbjogV29ya2JlbmNoUGFydEFjdGlvbik6IGJvb2xlYW4gPT4gcnVuSW5JbmplY3Rpb25Db250ZXh0KGluamVjdG9yLCAoKSA9PiBhY3Rpb24uY2FuTWF0Y2g/Lih0aGlzKSA/PyB0cnVlKSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIGFjdGl2YXRpb24gaW5zdGFudCB3aGVuIHRoaXMgcGFydCBpcyBhY3RpdmF0ZWQuXG4gICAqL1xuICBwcml2YXRlIHRvdWNoT25BY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoQm9vbGVhbiksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fYWN0aXZhdGlvbkluc3RhbnQgPSB0aGlzLl9hY3RpdmF0aW9uSW5zdGFudFByb3ZpZGVyLm5vdygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgLy8gSU1QT1JUQU5UOiBPbmx5IGRldGFjaCB0aGUgYWN0aXZlIHZpZXcsIG5vdCBkZXN0cm95IGl0LCBiZWNhdXNlIHZpZXdzIGFyZSBleHBsaWNpdGx5IGRlc3Ryb3llZCB3aGVuIHZpZXcgaGFuZGxlcyBhcmUgcmVtb3ZlZC5cbiAgICAvLyBPdGhlcndpc2UsIG1vdmluZyB0aGUgbGFzdCB2aWV3IHRvIGFub3RoZXIgcGFydCB3b3VsZCBmYWlsIGJlY2F1c2UgdGhlIHZpZXcgd291bGQgYWxyZWFkeSBiZSBkZXN0cm95ZWQuXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlld0lkKSB7XG4gICAgICB0aGlzLl92aWV3UmVnaXN0cnkuZ2V0KHRoaXMuYWN0aXZlVmlld0lkLCB7b3JFbHNlOiBudWxsfSk/LnBvcnRhbC5kZXRhY2goKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgcHNldWRvLXR5cGUgZm9yIHRoZSBhY3R1YWwge0BsaW5rIFBhcnRDb21wb25lbnR9IHdoaWNoIG11c3Qgbm90IGJlIHJlZmVyZW5jZWQgaW4gb3JkZXIgdG8gYXZvaWQgaW1wb3J0IGN5Y2xlcy5cbiAqL1xudHlwZSBQYXJ0Q29tcG9uZW50ID0gYW55O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBwc2V1ZG8tdHlwZSBmb3IgdGhlIGFjdHVhbCB7QGxpbmsgTWFpbkFyZWFMYXlvdXRDb21wb25lbnR9IHdoaWNoIG11c3Qgbm90IGJlIHJlZmVyZW5jZWQgaW4gb3JkZXIgdG8gYXZvaWQgaW1wb3J0IGN5Y2xlcy5cbiAqL1xudHlwZSBNYWluQXJlYUxheW91dENvbXBvbmVudCA9IGFueTtcbiJdfQ==
@@ -0,0 +1,11 @@
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
+ export {};
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLXBlcnNwZWN0aXZlLW1pZ3JhdGlvbi12MS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL3BlcnNwZWN0aXZlL21pZ3JhdGlvbi9tb2RlbC93b3JrYmVuY2gtcGVyc3BlY3RpdmUtbWlncmF0aW9uLXYxLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDI0IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0NvbW1hbmRzfSBmcm9tICcuLi8uLi8uLi9yb3V0aW5nL3JvdXRpbmcubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBlcnNwZWN0aXZlRGF0YVYxIHtcbiAgaW5pdGlhbFdvcmtiZW5jaEdyaWQ6IHN0cmluZztcbiAgd29ya2JlbmNoR3JpZDogc3RyaW5nO1xuICB2aWV3T3V0bGV0czoge1t2aWV3SWQ6IHN0cmluZ106IENvbW1hbmRzfTtcbn1cbiJdfQ==
@@ -0,0 +1,11 @@
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
+ export {};
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLXBlcnNwZWN0aXZlLW1pZ3JhdGlvbi12Mi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL3BlcnNwZWN0aXZlL21pZ3JhdGlvbi9tb2RlbC93b3JrYmVuY2gtcGVyc3BlY3RpdmUtbWlncmF0aW9uLXYyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDI0IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIE1QZXJzcGVjdGl2ZUxheW91dFYyIHtcbiAgcmVmZXJlbmNlTGF5b3V0OiB7XG4gICAgd29ya2JlbmNoR3JpZDogc3RyaW5nO1xuICAgIHZpZXdPdXRsZXRzOiBzdHJpbmc7XG4gIH07XG4gIHVzZXJMYXlvdXQ6IHtcbiAgICB3b3JrYmVuY2hHcmlkOiBzdHJpbmc7XG4gICAgdmlld091dGxldHM6IHN0cmluZztcbiAgfTtcbn1cbiJdfQ==