@coolon/angular-ui-powerups 16.1.0-alpha.238 → 16.1.0-aplpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (400) hide show
  1. package/assets/activities/activities.scss +6 -8
  2. package/assets/activities/input-activities.scss +6 -14
  3. package/assets/form.scss +23 -77
  4. package/assets/icons.scss +1 -2
  5. package/assets/interaction/editor/inline-string-editor.scss +0 -4
  6. package/assets/interaction.scss +1 -1
  7. package/assets/styles.scss +0 -4
  8. package/assets/table.scss +31 -84
  9. package/assets/tabs.scss +2 -15
  10. package/esm2022/lib/angular-ui-powerups.module.mjs +9 -9
  11. package/esm2022/lib/animations/slide-animations.mjs +10 -15
  12. package/esm2022/lib/components/alignment.mjs +1 -1
  13. package/esm2022/lib/components/busy-overlay/busy-overlay.component.mjs +12 -7
  14. package/esm2022/lib/components/cards/abstract-card-container.component.mjs +7 -31
  15. package/esm2022/lib/components/cards/card-container/card-container.component.mjs +6 -6
  16. package/esm2022/lib/components/cards/card-stack/card-stack.component.mjs +81 -0
  17. package/esm2022/lib/components/commands/command/command.component.mjs +33 -35
  18. package/esm2022/lib/components/commands/command-face/command-face.component.mjs +5 -13
  19. package/esm2022/lib/components/commands/command-face.mjs +11 -12
  20. package/esm2022/lib/components/commands/flex.component.mjs +4 -4
  21. package/esm2022/lib/components/commands/group/command-container.mjs +1 -1
  22. package/esm2022/lib/components/commands/group/popup-aware.component.mjs +8 -31
  23. package/esm2022/lib/components/commands/group/popup-container.mjs +1 -1
  24. package/esm2022/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +25 -27
  25. package/esm2022/lib/components/commands/group/popup-menu/more-menu.component.mjs +24 -15
  26. package/esm2022/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.mjs +12 -18
  27. package/esm2022/lib/components/commands/group/popup-menu/popup-menu.component.mjs +23 -14
  28. package/esm2022/lib/components/commands/group/tool-bar/tool-bar.component.mjs +19 -12
  29. package/esm2022/lib/components/commands/separator.component.mjs +14 -8
  30. package/esm2022/lib/components/components.module.mjs +58 -73
  31. package/esm2022/lib/components/disposable-component.mjs +40 -74
  32. package/esm2022/lib/components/empty-state/empty-state.component.mjs +9 -5
  33. package/esm2022/lib/components/exports.mjs +12 -16
  34. package/esm2022/lib/components/focus-container/focus-container.component.mjs +4 -4
  35. package/esm2022/lib/components/focusable.component.mjs +5 -5
  36. package/esm2022/lib/components/forms/abstract-input.component.mjs +18 -67
  37. package/esm2022/lib/components/forms/abstract-list-input.component.mjs +4 -4
  38. package/esm2022/lib/components/forms/abstract-value-input.component.mjs +4 -4
  39. package/esm2022/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +15 -18
  40. package/esm2022/lib/components/forms/checkbox-input/checkbox-input.component.mjs +8 -10
  41. package/esm2022/lib/components/forms/multiple-select-input/multiple-select-input.component.mjs +11 -12
  42. package/esm2022/lib/components/forms/number-input/number-input.component.mjs +13 -94
  43. package/esm2022/lib/components/forms/password-input/password-input.component.mjs +7 -44
  44. package/esm2022/lib/components/forms/select-input/select-input.component.mjs +19 -21
  45. package/esm2022/lib/components/forms/string-input/string-input.component.mjs +16 -35
  46. package/esm2022/lib/components/forms/text-input/text-input.component.mjs +8 -12
  47. package/esm2022/lib/components/icon/icon.component.mjs +7 -10
  48. package/esm2022/lib/components/labelled-value/labelled-value.component.mjs +4 -4
  49. package/esm2022/lib/components/loading-container/loading-container.component.mjs +12 -7
  50. package/esm2022/lib/components/noop/noop.component.mjs +7 -5
  51. package/esm2022/lib/components/resize-aware.component.mjs +27 -64
  52. package/esm2022/lib/components/scroll-container/scroll-container.component.mjs +5 -5
  53. package/esm2022/lib/components/section-header/section-header.component.mjs +4 -4
  54. package/esm2022/lib/components/switch-case/switch-case.component.mjs +17 -15
  55. package/esm2022/lib/components/tables/abstract-table-model.mjs +113 -116
  56. package/esm2022/lib/components/tables/abstract-table.component.mjs +8 -23
  57. package/esm2022/lib/components/tables/column/column-list-model.mjs +44 -0
  58. package/esm2022/lib/components/tables/column/column-model.mjs +23 -20
  59. package/esm2022/lib/components/tables/column/column-template/column-template.directive.mjs +4 -5
  60. package/esm2022/lib/components/tables/column/custom-template-column-model.mjs +3 -4
  61. package/esm2022/lib/components/tables/column/custom-value-column-model.mjs +5 -5
  62. package/esm2022/lib/components/tables/column/editor-controls-column-model.mjs +21 -0
  63. package/esm2022/lib/components/tables/column/list-propery-column-model.mjs +21 -8
  64. package/esm2022/lib/components/tables/column/property-column-model.mjs +20 -7
  65. package/esm2022/lib/components/tables/column/selection-column-model.mjs +13 -35
  66. package/esm2022/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.mjs +60 -0
  67. package/esm2022/lib/components/tables/editor/edit-session.mjs +26 -0
  68. package/esm2022/lib/components/tables/editor/editable-cell-renderer.mjs +2 -0
  69. package/esm2022/lib/components/tables/filter/column-text-search-formatter.mjs +1 -1
  70. package/esm2022/lib/components/tables/filter/enable-cell-text-search.decorator.mjs +2 -3
  71. package/esm2022/lib/components/tables/filter/table-filter-model.mjs +12 -16
  72. package/esm2022/lib/components/tables/filter/text-search-predicate.mjs +2 -17
  73. package/esm2022/lib/components/tables/paginator/paginator.component.mjs +5 -5
  74. package/esm2022/lib/components/tables/renderer/cell-editors.mjs +2 -0
  75. package/esm2022/lib/components/tables/renderer/cell-portal-ref.mjs +26 -22
  76. package/esm2022/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.mjs +8 -6
  77. package/esm2022/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.mjs +7 -5
  78. package/esm2022/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.mjs +8 -19
  79. package/esm2022/lib/components/tables/renderer/selection-cell/selection-cell.component.mjs +9 -18
  80. package/esm2022/lib/components/tables/renderer/table-body/table-body.component.mjs +53 -266
  81. package/esm2022/lib/components/tables/renderer/table-cell/table-cell.component.mjs +50 -9
  82. package/esm2022/lib/components/tables/renderer/table-header-cell/table-header-cell.component.mjs +7 -5
  83. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.mjs +33 -0
  84. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu.component.mjs +60 -0
  85. package/esm2022/lib/components/tables/table/table-model.mjs +35 -18
  86. package/esm2022/lib/components/tables/table/table.component.mjs +64 -42
  87. package/esm2022/lib/components/tables/table-row-menu/table-row-menu.component.mjs +84 -0
  88. package/esm2022/lib/components/tables/tree-table/decorated-tree-node.mjs +4 -5
  89. package/esm2022/lib/components/tables/tree-table/flattened-tree-list-model.mjs +1 -1
  90. package/esm2022/lib/components/tables/tree-table/tree-expansion-model.mjs +1 -1
  91. package/esm2022/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.mjs +7 -5
  92. package/esm2022/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.mjs +6 -6
  93. package/esm2022/lib/components/tables/tree-table/tree-label-column-model.mjs +4 -4
  94. package/esm2022/lib/components/tables/tree-table/tree-table-component.mjs +8 -15
  95. package/esm2022/lib/components/tables/tree-table/tree-table-model.mjs +7 -4
  96. package/esm2022/lib/components/text/markdown/markdown.component.mjs +6 -6
  97. package/esm2022/lib/components/track.mjs +1 -1
  98. package/esm2022/lib/components/types/bounds.class.mjs +1 -1
  99. package/esm2022/lib/components/types/loadable.mjs +2 -0
  100. package/esm2022/lib/components/vertical-focus-container/vertical-focus-container.component.mjs +4 -4
  101. package/esm2022/lib/directives/command.directive.mjs +14 -26
  102. package/esm2022/lib/directives/directives.module.mjs +10 -10
  103. package/esm2022/lib/directives/exports.mjs +1 -2
  104. package/esm2022/lib/directives/focus-binding-factory.mjs +4 -5
  105. package/esm2022/lib/directives/focus-binding.directive.mjs +5 -5
  106. package/esm2022/lib/directives/focus-binding.mjs +2 -22
  107. package/esm2022/lib/directives/garbage-collector.directive.mjs +4 -5
  108. package/esm2022/lib/directives/highlight-text-model.directive.mjs +4 -4
  109. package/esm2022/lib/directives/highlight.pipe.mjs +13 -22
  110. package/esm2022/lib/interaction/abstract-interaction-context.mjs +8 -6
  111. package/esm2022/lib/interaction/activity-ref.mjs +2 -2
  112. package/esm2022/lib/interaction/activity.mjs +23 -24
  113. package/esm2022/lib/interaction/alert.mjs +2 -2
  114. package/esm2022/lib/interaction/components/abstract-confirm-dialog.component.mjs +10 -14
  115. package/esm2022/lib/interaction/components/abstract-dialog.component.mjs +45 -5
  116. package/esm2022/lib/interaction/components/activity-actions/activity-actions.component.mjs +17 -30
  117. package/esm2022/lib/interaction/components/activity-body/activity-body.component.mjs +4 -10
  118. package/esm2022/lib/interaction/components/activity-container/activity-container.component.mjs +25 -119
  119. package/esm2022/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.mjs +19 -55
  120. package/esm2022/lib/interaction/components/activity-title/activity-title.component.mjs +6 -6
  121. package/esm2022/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.mjs +4 -5
  122. package/esm2022/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +4 -5
  123. package/esm2022/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.mjs +4 -5
  124. package/esm2022/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.mjs +4 -5
  125. package/esm2022/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +4 -4
  126. package/esm2022/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +4 -5
  127. package/esm2022/lib/interaction/components/alert-dialog/alert-dialog.component.mjs +12 -12
  128. package/esm2022/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.mjs +10 -6
  129. package/esm2022/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.mjs +10 -6
  130. package/esm2022/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.mjs +11 -9
  131. package/esm2022/lib/interaction/components/editors/edit-context.mjs +1 -1
  132. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-editor-model.mjs +2 -2
  133. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +13 -13
  134. package/esm2022/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +9 -25
  135. package/esm2022/lib/interaction/components/input-activities/input-activity.mjs +5 -6
  136. package/esm2022/lib/interaction/components/input-activities/select-input-activity.mjs +38 -44
  137. package/esm2022/lib/interaction/components/input-activities/string-input-activity.mjs +12 -14
  138. package/esm2022/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.mjs +5 -6
  139. package/esm2022/lib/interaction/confirm.mjs +2 -26
  140. package/esm2022/lib/interaction/directives/interaction-context-trigger-for.directive.mjs +6 -6
  141. package/esm2022/lib/interaction/exports.mjs +1 -6
  142. package/esm2022/lib/interaction/in-place-interaction-context.mjs +1 -1
  143. package/esm2022/lib/interaction/interaction-context.mjs +2 -3
  144. package/esm2022/lib/interaction/interaction.module.mjs +36 -44
  145. package/esm2022/lib/interaction/route-synchronisation-adapter.mjs +1 -1
  146. package/esm2022/lib/interaction/services/interaction-service-routing-adapter.mjs +4 -4
  147. package/esm2022/lib/interaction/services/interaction.service.mjs +10 -23
  148. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.mjs +10 -16
  149. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.mjs +5 -29
  150. package/esm2022/lib/interaction/services/modal-interaction-context.factory.mjs +1 -1
  151. package/esm2022/lib/place/components/abstract-place-navigation.component.mjs +5 -15
  152. package/esm2022/lib/place/components/list-place-nav/list-place-nav.component.mjs +9 -8
  153. package/esm2022/lib/place/components/not-authorised-notice/not-authorised-notice.component.mjs +7 -5
  154. package/esm2022/lib/place/components/place-outlet/place-outlet.component.mjs +21 -23
  155. package/esm2022/lib/place/components/place-outlet/route-animations.mjs +1 -1
  156. package/esm2022/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +11 -19
  157. package/esm2022/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.mjs +7 -7
  158. package/esm2022/lib/place/guards/consolidated-param-map.mjs +4 -4
  159. package/esm2022/lib/place/guards/noop-auth-guard.service.mjs +7 -5
  160. package/esm2022/lib/place/guards/place.guard.mjs +14 -30
  161. package/esm2022/lib/place/navigation/place-component-deactivation-handler.mjs +2 -2
  162. package/esm2022/lib/place/navigation/session/abstract-pop-state-navigation.mjs +1 -1
  163. package/esm2022/lib/place/navigation/session/event-cleanup/event-clean-up-session.mjs +1 -1
  164. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.mjs +1 -1
  165. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.mjs +1 -1
  166. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.mjs +1 -1
  167. package/esm2022/lib/place/navigation/session/interactions/navigating-during-interaction.mjs +2 -2
  168. package/esm2022/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.mjs +1 -1
  169. package/esm2022/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.mjs +4 -39
  170. package/esm2022/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs +9 -9
  171. package/esm2022/lib/place/navigation/session/navigating.mjs +2 -2
  172. package/esm2022/lib/place/navigation/session/navigation-context.mjs +1 -1
  173. package/esm2022/lib/place/navigation/session/navigation-session.mjs +2 -11
  174. package/esm2022/lib/place/navigation/session/pop-state-navigation.mjs +1 -1
  175. package/esm2022/lib/place/place-access-guard.mjs +1 -1
  176. package/esm2022/lib/place/place-auth-service.mjs +7 -8
  177. package/esm2022/lib/place/place-component.mjs +79 -82
  178. package/esm2022/lib/place/place-config.mjs +1 -1
  179. package/esm2022/lib/place/place-definition.mjs +5 -18
  180. package/esm2022/lib/place/place-history.mjs +8 -17
  181. package/esm2022/lib/place/place-router.mjs +70 -191
  182. package/esm2022/lib/place/place.decorator.mjs +3 -4
  183. package/esm2022/lib/place/place.module.mjs +17 -17
  184. package/esm2022/lib/place/route/formatter.mjs +2 -2
  185. package/esm2022/lib/place/route/json-types.mjs +1 -1
  186. package/esm2022/lib/place/route/parameter-decorators.mjs +51 -55
  187. package/esm2022/lib/place/route/parameter-definition.mjs +2 -6
  188. package/esm2022/lib/place/route/parameter-sanitiser.mjs +2 -7
  189. package/esm2022/lib/place/route/parameter-snapshot.mjs +1 -1
  190. package/esm2022/lib/place/route/visit-segment-sanitiser.mjs +1 -1
  191. package/esm2022/lib/place/url-service.mjs +4 -4
  192. package/esm2022/lib/place/url-snapshot.mjs +3 -3
  193. package/esm2022/lib/place/visit-segment.mjs +2 -3
  194. package/esm2022/lib/place/visit.mjs +5 -5
  195. package/esm2022/lib/services/markdown/markdown.service.mjs +7 -5
  196. package/esm2022/lib/services/markdown/pill-plugin.mjs +3 -1
  197. package/esm2022/lib/services/visibility-service.mjs +7 -7
  198. package/fesm2022/coolon-angular-ui-powerups.mjs +3634 -5281
  199. package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
  200. package/lib/angular-ui-powerups.module.d.ts +5 -5
  201. package/lib/animations/slide-animations.d.ts +0 -1
  202. package/lib/components/busy-overlay/busy-overlay.component.d.ts +4 -1
  203. package/lib/components/cards/abstract-card-container.component.d.ts +3 -6
  204. package/lib/components/cards/card-container/card-container.component.d.ts +1 -1
  205. package/lib/components/cards/card-stack/card-stack.component.d.ts +68 -0
  206. package/lib/components/commands/command/command.component.d.ts +10 -9
  207. package/lib/components/commands/command-face/command-face.component.d.ts +0 -2
  208. package/lib/components/commands/command-face.d.ts +9 -8
  209. package/lib/components/commands/group/popup-aware.component.d.ts +5 -10
  210. package/lib/components/commands/group/popup-container.d.ts +1 -1
  211. package/lib/components/commands/group/popup-menu/abstract-popup-menu.component.d.ts +6 -6
  212. package/lib/components/commands/group/popup-menu/more-menu.component.d.ts +4 -2
  213. package/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.d.ts +2 -4
  214. package/lib/components/commands/group/popup-menu/popup-menu.component.d.ts +4 -2
  215. package/lib/components/commands/group/tool-bar/tool-bar.component.d.ts +7 -3
  216. package/lib/components/commands/separator.component.d.ts +4 -2
  217. package/lib/components/components.module.d.ts +30 -33
  218. package/lib/components/disposable-component.d.ts +9 -26
  219. package/lib/components/empty-state/empty-state.component.d.ts +4 -1
  220. package/lib/components/exports.d.ts +11 -15
  221. package/lib/components/forms/abstract-input.component.d.ts +7 -16
  222. package/lib/components/forms/abstract-list-input.component.d.ts +1 -1
  223. package/lib/components/forms/abstract-value-input.component.d.ts +1 -1
  224. package/lib/components/forms/autocomplete-input/autocomplete-input.component.d.ts +2 -2
  225. package/lib/components/forms/checkbox-input/checkbox-input.component.d.ts +0 -2
  226. package/lib/components/forms/number-input/number-input.component.d.ts +4 -16
  227. package/lib/components/forms/password-input/password-input.component.d.ts +1 -7
  228. package/lib/components/forms/select-input/select-input.component.d.ts +3 -4
  229. package/lib/components/forms/string-input/string-input.component.d.ts +1 -7
  230. package/lib/components/forms/text-input/text-input.component.d.ts +0 -3
  231. package/lib/components/loading-container/loading-container.component.d.ts +4 -1
  232. package/lib/components/noop/noop.component.d.ts +1 -0
  233. package/lib/components/resize-aware.component.d.ts +7 -26
  234. package/lib/components/switch-case/switch-case.component.d.ts +7 -6
  235. package/lib/components/tables/abstract-table-model.d.ts +37 -51
  236. package/lib/components/tables/abstract-table.component.d.ts +7 -8
  237. package/lib/components/tables/column/column-list-model.d.ts +13 -0
  238. package/lib/components/tables/column/column-model.d.ts +17 -14
  239. package/lib/components/tables/column/custom-template-column-model.d.ts +2 -3
  240. package/lib/components/tables/column/custom-value-column-model.d.ts +3 -4
  241. package/lib/components/tables/column/editor-controls-column-model.d.ts +13 -0
  242. package/lib/components/tables/column/list-propery-column-model.d.ts +7 -5
  243. package/lib/components/tables/column/property-column-model.d.ts +9 -7
  244. package/lib/components/tables/column/selection-column-model.d.ts +4 -10
  245. package/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.d.ts +17 -0
  246. package/lib/components/tables/editor/edit-session.d.ts +9 -0
  247. package/lib/components/tables/{renderer → editor}/editable-cell-renderer.d.ts +1 -1
  248. package/lib/components/tables/filter/enable-cell-text-search.decorator.d.ts +1 -1
  249. package/lib/components/tables/filter/table-filter-model.d.ts +1 -1
  250. package/lib/components/tables/filter/text-search-predicate.d.ts +0 -9
  251. package/lib/components/tables/renderer/cell-editors.d.ts +9 -0
  252. package/lib/components/tables/renderer/cell-portal-ref.d.ts +25 -22
  253. package/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.d.ts +2 -1
  254. package/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.d.ts +1 -0
  255. package/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.d.ts +2 -3
  256. package/lib/components/tables/renderer/selection-cell/selection-cell.component.d.ts +0 -1
  257. package/lib/components/tables/renderer/table-body/table-body.component.d.ts +21 -55
  258. package/lib/components/tables/renderer/table-cell/table-cell.component.d.ts +14 -5
  259. package/lib/components/tables/renderer/table-header-cell/table-header-cell.component.d.ts +1 -0
  260. package/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.d.ts +15 -0
  261. package/lib/components/tables/renderer/table-more-menu/table-more-menu.component.d.ts +23 -0
  262. package/lib/components/tables/table/table-model.d.ts +36 -10
  263. package/lib/components/tables/table/table.component.d.ts +13 -17
  264. package/lib/components/tables/table-row-menu/table-row-menu.component.d.ts +28 -0
  265. package/lib/components/tables/tree-table/flattened-tree-list-model.d.ts +1 -1
  266. package/lib/components/tables/tree-table/tree-expansion-model.d.ts +2 -2
  267. package/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.d.ts +1 -0
  268. package/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.d.ts +3 -3
  269. package/lib/components/tables/tree-table/tree-label-column-model.d.ts +3 -4
  270. package/lib/components/tables/tree-table/tree-table-component.d.ts +3 -6
  271. package/lib/components/tables/tree-table/tree-table-model.d.ts +6 -5
  272. package/lib/components/text/markdown/markdown.component.d.ts +1 -1
  273. package/lib/components/types/loadable.d.ts +5 -0
  274. package/lib/directives/command.directive.d.ts +5 -7
  275. package/lib/directives/directives.module.d.ts +5 -5
  276. package/lib/directives/exports.d.ts +0 -1
  277. package/lib/directives/focus-binding.d.ts +0 -1
  278. package/lib/directives/highlight.pipe.d.ts +2 -8
  279. package/lib/interaction/abstract-interaction-context.d.ts +5 -5
  280. package/lib/interaction/activity-ref.d.ts +4 -4
  281. package/lib/interaction/activity.d.ts +8 -8
  282. package/lib/interaction/components/abstract-confirm-dialog.component.d.ts +2 -3
  283. package/lib/interaction/components/abstract-dialog.component.d.ts +15 -6
  284. package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +9 -12
  285. package/lib/interaction/components/activity-body/activity-body.component.d.ts +1 -2
  286. package/lib/interaction/components/activity-container/activity-container.component.d.ts +13 -32
  287. package/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.d.ts +7 -6
  288. package/lib/interaction/components/activity-title/activity-title.component.d.ts +1 -1
  289. package/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.d.ts +2 -2
  290. package/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.d.ts +1 -1
  291. package/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.d.ts +1 -1
  292. package/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.d.ts +1 -1
  293. package/lib/interaction/components/add-card-activity/add-card-activity.component.d.ts +2 -2
  294. package/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.d.ts +3 -3
  295. package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +1 -6
  296. package/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.d.ts +2 -2
  297. package/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.d.ts +2 -2
  298. package/lib/interaction/components/editors/edit-context.d.ts +1 -1
  299. package/lib/interaction/components/editors/inline-string-editor/inline-editor-model.d.ts +1 -1
  300. package/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.d.ts +2 -2
  301. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +10 -12
  302. package/lib/interaction/components/input-activities/input-activity.d.ts +1 -1
  303. package/lib/interaction/components/input-activities/select-input-activity.d.ts +2 -2
  304. package/lib/interaction/components/input-activities/string-input-activity.d.ts +1 -1
  305. package/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.d.ts +2 -2
  306. package/lib/interaction/confirm.d.ts +0 -4
  307. package/lib/interaction/directives/interaction-context-trigger-for.directive.d.ts +5 -5
  308. package/lib/interaction/exports.d.ts +0 -5
  309. package/lib/interaction/in-place-interaction-context.d.ts +2 -2
  310. package/lib/interaction/interaction-context.d.ts +4 -10
  311. package/lib/interaction/interaction.module.d.ts +33 -35
  312. package/lib/interaction/route-synchronisation-adapter.d.ts +3 -3
  313. package/lib/interaction/services/interaction-service-routing-adapter.d.ts +4 -4
  314. package/lib/interaction/services/interaction.service.d.ts +4 -5
  315. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +5 -4
  316. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.d.ts +5 -6
  317. package/lib/interaction/services/modal-interaction-context.factory.d.ts +2 -2
  318. package/lib/place/components/abstract-place-navigation.component.d.ts +2 -3
  319. package/lib/place/components/not-authorised-notice/not-authorised-notice.component.d.ts +1 -0
  320. package/lib/place/components/place-outlet/place-outlet.component.d.ts +7 -6
  321. package/lib/place/components/side-place-navigation/side-place-navigation.component.d.ts +1 -2
  322. package/lib/place/guards/noop-auth-guard.service.d.ts +1 -0
  323. package/lib/place/guards/place.guard.d.ts +1 -8
  324. package/lib/place/navigation/place-component-deactivation-handler.d.ts +4 -4
  325. package/lib/place/navigation/session/abstract-pop-state-navigation.d.ts +1 -1
  326. package/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.d.ts +3 -3
  327. package/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.d.ts +3 -3
  328. package/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.d.ts +3 -3
  329. package/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.d.ts +1 -1
  330. package/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.d.ts +3 -16
  331. package/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.d.ts +1 -1
  332. package/lib/place/navigation/session/navigation-context.d.ts +5 -5
  333. package/lib/place/navigation/session/navigation-session.d.ts +8 -15
  334. package/lib/place/place-access-guard.d.ts +1 -1
  335. package/lib/place/place-auth-service.d.ts +8 -8
  336. package/lib/place/place-component.d.ts +23 -15
  337. package/lib/place/place-definition.d.ts +3 -6
  338. package/lib/place/place-history.d.ts +4 -5
  339. package/lib/place/place-router.d.ts +10 -41
  340. package/lib/place/place.decorator.d.ts +1 -9
  341. package/lib/place/place.module.d.ts +8 -8
  342. package/lib/place/route/json-types.d.ts +3 -1
  343. package/lib/place/route/parameter-decorators.d.ts +6 -5
  344. package/lib/place/route/parameter-definition.d.ts +5 -5
  345. package/lib/place/route/parameter-sanitiser.d.ts +1 -8
  346. package/lib/place/route/parameter-snapshot.d.ts +2 -2
  347. package/lib/place/route/visit-segment-sanitiser.d.ts +3 -3
  348. package/lib/place/url-service.d.ts +1 -1
  349. package/lib/place/url-snapshot.d.ts +1 -1
  350. package/lib/place/visit-segment.d.ts +6 -6
  351. package/lib/place/visit.d.ts +4 -4
  352. package/lib/services/markdown/markdown.service.d.ts +1 -0
  353. package/lib/services/visibility-service.d.ts +1 -1
  354. package/package.json +20 -19
  355. package/assets/draw.scss +0 -20
  356. package/assets/layout.scss +0 -3
  357. package/assets/place.scss +0 -31
  358. package/esm2022/lib/components/commands/button-renderer/button-renderer.component.mjs +0 -115
  359. package/esm2022/lib/components/file/file-download/file-download.component.mjs +0 -89
  360. package/esm2022/lib/components/forms/form-field.mjs +0 -2
  361. package/esm2022/lib/components/forms/search-input/search-input.component.mjs +0 -33
  362. package/esm2022/lib/components/loadable-component.mjs +0 -69
  363. package/esm2022/lib/components/tables/column/column-manager.mjs +0 -82
  364. package/esm2022/lib/components/tables/column/column-order-manager.mjs +0 -19
  365. package/esm2022/lib/components/tables/footer/footer-row-model.mjs +0 -135
  366. package/esm2022/lib/components/tables/renderer/abstract-cell-renderer.mjs +0 -7
  367. package/esm2022/lib/components/tables/renderer/editable-cell-renderer.mjs +0 -2
  368. package/esm2022/lib/components/tables/renderer/table-action-column/menu-builder.mjs +0 -2
  369. package/esm2022/lib/components/tables/renderer/table-action-column/table-action-column.component.mjs +0 -153
  370. package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.mjs +0 -45
  371. package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu.component.mjs +0 -71
  372. package/esm2022/lib/components/tables/renderer/table-footer-row/table-footer-row.component.mjs +0 -32
  373. package/esm2022/lib/directives/resize-observer.directive.mjs +0 -40
  374. package/esm2022/lib/interaction/activity-context.mjs +0 -4
  375. package/esm2022/lib/interaction/components/alert-renderer/alert-renderer.component.mjs +0 -55
  376. package/esm2022/lib/interaction/components/confirm-renderer/confirm-renderer.component.mjs +0 -54
  377. package/esm2022/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.mjs +0 -134
  378. package/esm2022/lib/interaction/interaction-context-provider.mjs +0 -17
  379. package/esm2022/lib/place/place-metadata.mjs +0 -16
  380. package/lib/components/commands/button-renderer/button-renderer.component.d.ts +0 -30
  381. package/lib/components/file/file-download/file-download.component.d.ts +0 -45
  382. package/lib/components/forms/form-field.d.ts +0 -5
  383. package/lib/components/forms/search-input/search-input.component.d.ts +0 -10
  384. package/lib/components/loadable-component.d.ts +0 -20
  385. package/lib/components/tables/column/column-manager.d.ts +0 -19
  386. package/lib/components/tables/column/column-order-manager.d.ts +0 -20
  387. package/lib/components/tables/footer/footer-row-model.d.ts +0 -72
  388. package/lib/components/tables/renderer/abstract-cell-renderer.d.ts +0 -6
  389. package/lib/components/tables/renderer/table-action-column/menu-builder.d.ts +0 -7
  390. package/lib/components/tables/renderer/table-action-column/table-action-column.component.d.ts +0 -42
  391. package/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.d.ts +0 -19
  392. package/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu.component.d.ts +0 -24
  393. package/lib/components/tables/renderer/table-footer-row/table-footer-row.component.d.ts +0 -10
  394. package/lib/directives/resize-observer.directive.d.ts +0 -16
  395. package/lib/interaction/activity-context.d.ts +0 -9
  396. package/lib/interaction/components/alert-renderer/alert-renderer.component.d.ts +0 -17
  397. package/lib/interaction/components/confirm-renderer/confirm-renderer.component.d.ts +0 -15
  398. package/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.d.ts +0 -53
  399. package/lib/interaction/interaction-context-provider.d.ts +0 -11
  400. package/lib/place/place-metadata.d.ts +0 -8
@@ -1,5 +1,4 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any -- visit segments carry arbitrary route params */
2
- import { isEqual, isNil, isString } from 'lodash-es';
1
+ import { isEqual, isNil, isString } from 'lodash';
3
2
  export class VisitSegment {
4
3
  placeDefinition;
5
4
  visitParameters;
@@ -86,4 +85,4 @@ export class VisitSegment {
86
85
  return bits.join('');
87
86
  }
88
87
  }
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXQtc2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL3Zpc2l0LXNlZ21lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0dBQXNHO0FBQ3RHLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUluRCxNQUFNLE9BQU8sWUFBWTtJQUdGO0lBRlosZUFBZSxDQUFzQjtJQUU5QyxZQUFxQixlQUFnQyxFQUFFLGtCQUF1QyxFQUFFO1FBQTNFLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNuRCxlQUFlLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUFDLENBQUE7UUFDeEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxXQUFXO0lBQ1gsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFdBQVc7SUFDWCxVQUFVO1FBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxpQkFBaUIsQ0FBTyxTQUE2QztRQUNuRSxPQUFPLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVELFdBQVc7SUFDWCxZQUFZLENBQUMsWUFBMEM7UUFDckQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FB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QUFJLENBQUMsZUFBZSxFQUFFLEVBQUMsR0FBRyxLQUFLLENBQUMsZUFBZSxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBQyxDQUFDLENBQUM7SUFDckcsQ0FBQztJQUVELGFBQWE7UUFDWCxNQUFNLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRTtZQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pCO1FBQ0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDL0MsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyRTtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55IC0tIHZpc2l0IHNlZ21lbnRzIGNhcnJ5IGFyYml0cmFyeSByb3V0ZSBwYXJhbXMgKi9cbmltcG9ydCB7aXNFcXVhbCwgaXNOaWwsIGlzU3RyaW5nfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHR5cGUge1BsYWNlRGVmaW5pdGlvbn0gZnJvbSAnLi9wbGFjZS1kZWZpbml0aW9uJztcbmltcG9ydCB0eXBlIHtQYXJhbWV0ZXJEZWZpbml0aW9ufSBmcm9tICcuL3JvdXRlL3BhcmFtZXRlci1kZWZpbml0aW9uJztcblxuZXhwb3J0IGNsYXNzIFZpc2l0U2VnbWVudCB7XG4gIHJlYWRvbmx5IHZpc2l0UGFyYW1ldGVyczogUmVjb3JkPHN0cmluZywgYW55PjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBwbGFjZURlZmluaXRpb246IFBsYWNlRGVmaW5pdGlvbiwgdmlzaXRQYXJhbWV0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30pIHtcbiAgICBwbGFjZURlZmluaXRpb24udmFsaWRhdGVSb3V0ZVBhcmFtZXRlcnModmlzaXRQYXJhbWV0ZXJzKVxuICAgIHRoaXMudmlzaXRQYXJhbWV0ZXJzID0gT2JqZWN0LmZyZWV6ZSh2aXNpdFBhcmFtZXRlcnMpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgZ2V0Um91dGVJZCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Um91dGVJZEZyb20odGhpcyk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBoYXNSb3V0ZUlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhaXNOaWwodGhpcy5nZXRSb3V0ZUlkKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBwbGFjZSBwYXJhbWV0ZXIgd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUuICBUaGUgcGFyYW1ldGVyXG4gICAqIG5hbWUgaXMgdGFrZW4gZnJvbSB0aGUgYGFzYCBvcHRpb24sIGUuZy4ge2FzOiAnYUN1c3RvbU5hbWUnfSBvdGhlcndpc2UgaXQgaXMgdGhlXG4gICAqIHNhbWUgYXMgdGhlIFZhbHVlTW9kZWwgcHJvcGVydHkgbmFtZS5cbiAgICogQHBhcmFtIHBhcmFtZXRlciB0aGUgdmlzaXQgcGFyYW1ldGVyIGRlZmluaXRpb25cbiAgICovXG4gIGdldFBhcmFtZXRlclZhbHVlPFQsIFM+KHBhcmFtZXRlcjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBTPiB8IHN0cmluZyk6IFQge1xuICAgIHJldHVybiBpc1N0cmluZyhwYXJhbWV0ZXIpID8gdGhpcy52aXNpdFBhcmFtZXRlcnNbcGFyYW1ldGVyXSA6IHRoaXMudmlzaXRQYXJhbWV0ZXJzW3BhcmFtZXRlci5uYW1lXTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGhhc1BhcmFtZXRlcihwYXJhbWV0ZXJEZWY6IFBhcmFtZXRlckRlZmluaXRpb248dW5rbm93bj4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy52aXNpdFBhcmFtZXRlcnMpLmluY2x1ZGVzKHBhcmFtZXRlckRlZi5uYW1lKTtcbiAgfVxuXG4gIHJlcGxhY2U8VD4ocGFyYW1ldGVyOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIHVua25vd24+LCB2YWx1ZTogVCk6IFZpc2l0U2VnbWVudCB7XG4gICAgcmV0dXJuIG5ldyBWaXNpdFNlZ21lbnQodGhpcy5wbGFjZURlZmluaXRpb24sIHsuLi50aGlzLnZpc2l0UGFyYW1ldGVycywgW3BhcmFtZXRlci5uYW1lXTogdmFsdWV9KTtcbiAgfVxuXG4gIG1lcmdlUm91dGVQYXJhbWV0ZXJzKHJvdXRlUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFZpc2l0U2VnbWVudCB7XG4gICAgLy8gdG9kbzogd2hpdGVsaXN0IHBhcmFtZXRlcnMuXG4gICAgY29uc3Qgcm91dGVQYXJhbWV0ZXJLZXlzID0gT2JqZWN0LmtleXMocm91dGVQYXJhbXMpO1xuICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xuICAgIHRoaXMucGxhY2VEZWZpbml0aW9uLmdldFZpc2l0UGFyYW1ldGVyRGVmcygpLmZvckVhY2goZGVmID0+IHtcbiAgICAgIGlmIChkZWYuaXNSb3V0ZUlkIHx8IGRlZi5pc1JvdXRlUGFyYW1ldGVyKSB7XG4gICAgICAgIGlmIChyb3V0ZVBhcmFtZXRlcktleXMuaW5jbHVkZXMoZGVmLm5hbWUpKSB7XG4gICAgICAgICAgcGFyYW1zW2RlZi5uYW1lXSA9IHJvdXRlUGFyYW1zW2RlZi5uYW1lXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gY29weSBub24gcm91dGUgcGFyYW1zIGFzIGlzLCBidXQgb25seSBpZiB0aGV5IGFscmVhZHkgZXhpc3Qgb3RoZXJ3aXNlIHdlJ2xsIGluamVjdCBuaWwgdmFsdWVzIGFuZCBicmVhayB0aGVcbiAgICAgICAgLy8gZGVmYXVsdHMgYW5kIHJlbWVtYmVyIHNhbml0aXNhdGlvbiBwcm9jZXNzLlxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0UGFyYW1ldGVyVmFsdWUoZGVmKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzUGFyYW1ldGVyKGRlZikpIHtcbiAgICAgICAgICBwYXJhbXNbZGVmLm5hbWVdID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IFZpc2l0U2VnbWVudCh0aGlzLnBsYWNlRGVmaW5pdGlvbiwgcGFyYW1zKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGhhc1JvdXRpbmdDaGFuZ2VkRnJvbShvdGhlcjogVmlzaXRTZWdtZW50KTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2FtZVBsYWNlID0gb3RoZXIucGxhY2VEZWZpbml0aW9uID09PSB0aGlzLnBsYWNlRGVmaW5pdGlvbjtcbiAgICBjb25zdCBjdXJyZW50UGFyYW1zID0gdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Rm9ybWF0dGVkUm91dGVQYXJhbWV0ZXJzKHRoaXMsIHRydWUpO1xuICAgIGNvbnN0IG90aGVyUGFyYW1zID0gdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Rm9ybWF0dGVkUm91dGVQYXJhbWV0ZXJzKG90aGVyLCB0cnVlKTtcbiAgICAvLyBjb25zb2xlLmxvZyh7Y3VycmVudFBhcmFtcywgb3RoZXJQYXJhbXN9KTtcbiAgICBjb25zdCBzYW1lUm91dGVQYXJhbWV0ZXJzID0gaXNFcXVhbChjdXJyZW50UGFyYW1zLCBvdGhlclBhcmFtcyk7XG4gICAgcmV0dXJuICFzYW1lUGxhY2UgfHwgIXNhbWVSb3V0ZVBhcmFtZXRlcnM7XG4gIH1cblxuICBoYXNDaGFuZ2VkRnJvbShvdGhlcjogVmlzaXRTZWdtZW50KSB7XG4gICAgY29uc3Qgc2FtZU5vblJvdXRlUGFyYW1ldGVycyA9IGlzRXF1YWwoXG4gICAgICB0aGlzLnBsYWNlRGVmaW5pdGlvbi5nZXROb25Sb3V0ZVBhcmFtZXRlcnModGhpcyksXG4gICAgICB0aGlzLnBsYWNlRGVmaW5pdGlvbi5nZXROb25Sb3V0ZVBhcmFtZXRlcnMob3RoZXIpXG4gICAgKTtcbiAgICByZXR1cm4gIXNhbWVOb25Sb3V0ZVBhcmFtZXRlcnMgfHwgdGhpcy5oYXNSb3V0aW5nQ2hhbmdlZEZyb20ob3RoZXIpO1xuICB9XG5cbiAgY3JlYXRlUm91dGVyQ29tbWFuZHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmhhc1JvdXRlSWQoKSA/XG4gICAgICBbdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Rm9ybWF0dGVkUm91dGVJZCh0aGlzKSwgdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Rm9ybWF0dGVkUm91dGVQYXJhbWV0ZXJzKHRoaXMpXSA6XG4gICAgICBbdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Rm9ybWF0dGVkUm91dGVQYXJhbWV0ZXJzKHRoaXMpXTtcbiAgfVxuXG4gIGNvcHlNaXNzaW5nRnJvbShvdGhlcjogVmlzaXRTZWdtZW50KTogVmlzaXRTZWdtZW50IHtcbiAgICByZXR1cm4gbmV3IFZpc2l0U2VnbWVudCh0aGlzLnBsYWNlRGVmaW5pdGlvbiwgey4uLm90aGVyLnZpc2l0UGFyYW1ldGVycywgLi4udGhpcy52aXNpdFBhcmFtZXRlcnN9KTtcbiAgfVxuXG4gIHRvRGVidWdTdHJpbmcoKSB7XG4gICAgY29uc3QgYml0cyA9IFt0aGlzLnBsYWNlRGVmaW5pdGlvbi5wYXRoXTtcbiAgICBpZiAodGhpcy5wbGFjZURlZmluaXRpb24uYXV0aGVudGljYXRlKSB7XG4gICAgICBiaXRzLnB1c2goXCLwn5SQXCIpO1xuICAgIH1cbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModGhpcy52aXNpdFBhcmFtZXRlcnMpO1xuICAgIGlmIChrZXlzLmxlbmd0aCA+IDApIHtcbiAgICAgIGJpdHMucHVzaChgKCR7a2V5cy5tYXAoayA9PiBgJHtrfT0ke3RoaXMudmlzaXRQYXJhbWV0ZXJzW2tdfWApfX0pYCk7XG4gICAgfVxuICAgIHJldHVybiBiaXRzLmpvaW4oJycpO1xuICB9XG5cbn1cbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXQtc2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL3Zpc2l0LXNlZ21lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBSWhELE1BQU0sT0FBTyxZQUFZO0lBR0Y7SUFGWixlQUFlLENBQXNCO0lBRTlDLFlBQXFCLGVBQWdDLEVBQUUsa0JBQXVDLEVBQUU7UUFBM0Usb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ25ELGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsQ0FBQTtRQUN4RCxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFdBQVc7SUFDWCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsV0FBVztJQUNYLFVBQVU7UUFDUixPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGlCQUFpQixDQUFPLFNBQTZDO1FBQ25FLE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRUQsV0FBVztJQUNYLFlBQVksQ0FBQyxZQUFzQztRQUNqRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELE9BQU8sQ0FBSSxTQUFzQyxFQUFFLEtBQVE7UUFDekQsT0FBTyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVELG9CQUFvQixDQUFJLFdBQWdDO1FBQ3RELDhCQUE4QjtRQUM5QixNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDekQsSUFBSSxHQUFHLENBQUMsU0FBUyxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDekMsSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUN6QyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzFDO2FBQ0Y7aUJBQU07Z0JBQ0wsOEdBQThHO2dCQUM5Ryw4Q0FBOEM7Z0JBQzlDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUMxQixNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztpQkFDMUI7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxXQUFXO0lBQ1gscUJBQXFCLENBQUMsS0FBbUI7UUFDdkMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLGVBQWUsS0FBSyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ2pFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsMkJBQTJCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25GLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsMkJBQTJCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2xGLDZDQUE2QztRQUM3QyxNQUFNLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDaEUsT0FBTyxDQUFDLFNBQVMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQzVDLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBbUI7UUFDaEMsTUFBTSxzQkFBc0IsR0FBRyxPQUFPLENBQ3BDLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEVBQ2hELElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQ2xELENBQUM7UUFDRixPQUFPLENBQUMsc0JBQXNCLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUN4QixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFtQjtRQUNqQyxPQUFPLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBQyxHQUFHLEtBQUssQ0FBQyxlQUFlLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFDLENBQUMsQ0FBQztJQUNyRyxDQUFDO0lBRUQsYUFBYTtRQUNYLE1BQU0sSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakI7UUFDRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3JFO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHJhY2V9IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHtpc0VxdWFsLCBpc05pbCwgaXNTdHJpbmd9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge1BsYWNlRGVmaW5pdGlvbn0gZnJvbSAnLi9wbGFjZS1kZWZpbml0aW9uJztcbmltcG9ydCB7UGFyYW1ldGVyRGVmaW5pdGlvbn0gZnJvbSAnLi9yb3V0ZS9wYXJhbWV0ZXItZGVmaW5pdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBWaXNpdFNlZ21lbnQge1xuICByZWFkb25seSB2aXNpdFBhcmFtZXRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgcGxhY2VEZWZpbml0aW9uOiBQbGFjZURlZmluaXRpb24sIHZpc2l0UGFyYW1ldGVyczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9KSB7XG4gICAgcGxhY2VEZWZpbml0aW9uLnZhbGlkYXRlUm91dGVQYXJhbWV0ZXJzKHZpc2l0UGFyYW1ldGVycylcbiAgICB0aGlzLnZpc2l0UGFyYW1ldGVycyA9IE9iamVjdC5mcmVlemUodmlzaXRQYXJhbWV0ZXJzKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGdldFJvdXRlSWQoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Um91dGVJZEZyb20odGhpcyk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBoYXNSb3V0ZUlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhaXNOaWwodGhpcy5nZXRSb3V0ZUlkKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBwbGFjZSBwYXJhbWV0ZXIgd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUuICBUaGUgcGFyYW1ldGVyXG4gICAqIG5hbWUgaXMgdGFrZW4gZnJvbSB0aGUgYGFzYCBvcHRpb24sIGUuZy4ge2FzOiAnYUN1c3RvbU5hbWUnfSBvdGhlcndpc2UgaXQgaXMgdGhlXG4gICAqIHNhbWUgYXMgdGhlIFZhbHVlTW9kZWwgcHJvcGVydHkgbmFtZS5cbiAgICogQHBhcmFtIHBhcmFtZXRlciB0aGUgdmlzaXQgcGFyYW1ldGVyIGRlZmluaXRpb25cbiAgICovXG4gIGdldFBhcmFtZXRlclZhbHVlPFQsIFM+KHBhcmFtZXRlcjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBTPiB8IHN0cmluZyk6IFQge1xuICAgIHJldHVybiBpc1N0cmluZyhwYXJhbWV0ZXIpID8gdGhpcy52aXNpdFBhcmFtZXRlcnNbcGFyYW1ldGVyXSA6IHRoaXMudmlzaXRQYXJhbWV0ZXJzW3BhcmFtZXRlci5uYW1lXTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGhhc1BhcmFtZXRlcihwYXJhbWV0ZXJEZWY6IFBhcmFtZXRlckRlZmluaXRpb248YW55Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnZpc2l0UGFyYW1ldGVycykuaW5jbHVkZXMocGFyYW1ldGVyRGVmLm5hbWUpO1xuICB9XG5cbiAgcmVwbGFjZTxUPihwYXJhbWV0ZXI6IFBhcmFtZXRlckRlZmluaXRpb248VCwgYW55PiwgdmFsdWU6IFQpOiBWaXNpdFNlZ21lbnQge1xuICAgIHJldHVybiBuZXcgVmlzaXRTZWdtZW50KHRoaXMucGxhY2VEZWZpbml0aW9uLCB7Li4udGhpcy52aXNpdFBhcmFtZXRlcnMsIFtwYXJhbWV0ZXIubmFtZV06IHZhbHVlfSk7XG4gIH1cblxuICBtZXJnZVJvdXRlUGFyYW1ldGVyczxTPihyb3V0ZVBhcmFtczogUmVjb3JkPHN0cmluZywgYW55Pik6IFZpc2l0U2VnbWVudCB7XG4gICAgLy8gdG9kbzogd2hpdGVsaXN0IHBhcmFtZXRlcnMuXG4gICAgY29uc3Qgcm91dGVQYXJhbWV0ZXJLZXlzID0gT2JqZWN0LmtleXMocm91dGVQYXJhbXMpO1xuICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xuICAgIHRoaXMucGxhY2VEZWZpbml0aW9uLmdldFZpc2l0UGFyYW1ldGVyRGVmcygpLmZvckVhY2goZGVmID0+IHtcbiAgICAgIGlmIChkZWYuaXNSb3V0ZUlkIHx8IGRlZi5pc1JvdXRlUGFyYW1ldGVyKSB7XG4gICAgICAgIGlmIChyb3V0ZVBhcmFtZXRlcktleXMuaW5jbHVkZXMoZGVmLm5hbWUpKSB7XG4gICAgICAgICAgcGFyYW1zW2RlZi5uYW1lXSA9IHJvdXRlUGFyYW1zW2RlZi5uYW1lXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gY29weSBub24gcm91dGUgcGFyYW1zIGFzIGlzLCBidXQgb25seSBpZiB0aGV5IGFscmVhZHkgZXhpc3Qgb3RoZXJ3aXNlIHdlJ2xsIGluamVjdCBuaWwgdmFsdWVzIGFuZCBicmVhayB0aGVcbiAgICAgICAgLy8gZGVmYXVsdHMgYW5kIHJlbWVtYmVyIHNhbml0aXNhdGlvbiBwcm9jZXNzLlxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0UGFyYW1ldGVyVmFsdWUoZGVmKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzUGFyYW1ldGVyKGRlZikpIHtcbiAgICAgICAgICBwYXJhbXNbZGVmLm5hbWVdID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IFZpc2l0U2VnbWVudCh0aGlzLnBsYWNlRGVmaW5pdGlvbiwgcGFyYW1zKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGhhc1JvdXRpbmdDaGFuZ2VkRnJvbShvdGhlcjogVmlzaXRTZWdtZW50KTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2FtZVBsYWNlID0gb3RoZXIucGxhY2VEZWZpbml0aW9uID09PSB0aGlzLnBsYWNlRGVmaW5pdGlvbjtcbiAgICBjb25zdCBjdXJyZW50UGFyYW1zID0gdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Rm9ybWF0dGVkUm91dGVQYXJhbWV0ZXJzKHRoaXMsIHRydWUpO1xuICAgIGNvbnN0IG90aGVyUGFyYW1zID0gdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Rm9ybWF0dGVkUm91dGVQYXJhbWV0ZXJzKG90aGVyLCB0cnVlKTtcbiAgICAvLyBjb25zb2xlLmxvZyh7Y3VycmVudFBhcmFtcywgb3RoZXJQYXJhbXN9KTtcbiAgICBjb25zdCBzYW1lUm91dGVQYXJhbWV0ZXJzID0gaXNFcXVhbChjdXJyZW50UGFyYW1zLCBvdGhlclBhcmFtcyk7XG4gICAgcmV0dXJuICFzYW1lUGxhY2UgfHwgIXNhbWVSb3V0ZVBhcmFtZXRlcnM7XG4gIH1cblxuICBoYXNDaGFuZ2VkRnJvbShvdGhlcjogVmlzaXRTZWdtZW50KSB7XG4gICAgY29uc3Qgc2FtZU5vblJvdXRlUGFyYW1ldGVycyA9IGlzRXF1YWwoXG4gICAgICB0aGlzLnBsYWNlRGVmaW5pdGlvbi5nZXROb25Sb3V0ZVBhcmFtZXRlcnModGhpcyksXG4gICAgICB0aGlzLnBsYWNlRGVmaW5pdGlvbi5nZXROb25Sb3V0ZVBhcmFtZXRlcnMob3RoZXIpXG4gICAgKTtcbiAgICByZXR1cm4gIXNhbWVOb25Sb3V0ZVBhcmFtZXRlcnMgfHwgdGhpcy5oYXNSb3V0aW5nQ2hhbmdlZEZyb20ob3RoZXIpO1xuICB9XG5cbiAgY3JlYXRlUm91dGVyQ29tbWFuZHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmhhc1JvdXRlSWQoKSA/XG4gICAgICBbdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Rm9ybWF0dGVkUm91dGVJZCh0aGlzKSwgdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Rm9ybWF0dGVkUm91dGVQYXJhbWV0ZXJzKHRoaXMpXSA6XG4gICAgICBbdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Rm9ybWF0dGVkUm91dGVQYXJhbWV0ZXJzKHRoaXMpXTtcbiAgfVxuXG4gIGNvcHlNaXNzaW5nRnJvbShvdGhlcjogVmlzaXRTZWdtZW50KTogVmlzaXRTZWdtZW50IHtcbiAgICByZXR1cm4gbmV3IFZpc2l0U2VnbWVudCh0aGlzLnBsYWNlRGVmaW5pdGlvbiwgey4uLm90aGVyLnZpc2l0UGFyYW1ldGVycywgLi4udGhpcy52aXNpdFBhcmFtZXRlcnN9KTtcbiAgfVxuXG4gIHRvRGVidWdTdHJpbmcoKSB7XG4gICAgY29uc3QgYml0cyA9IFt0aGlzLnBsYWNlRGVmaW5pdGlvbi5wYXRoXTtcbiAgICBpZiAodGhpcy5wbGFjZURlZmluaXRpb24uYXV0aGVudGljYXRlKSB7XG4gICAgICBiaXRzLnB1c2goXCLwn5SQXCIpO1xuICAgIH1cbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModGhpcy52aXNpdFBhcmFtZXRlcnMpO1xuICAgIGlmIChrZXlzLmxlbmd0aCA+IDApIHtcbiAgICAgIGJpdHMucHVzaChgKCR7a2V5cy5tYXAoayA9PiBgJHtrfT0ke3RoaXMudmlzaXRQYXJhbWV0ZXJzW2tdfWApfX0pYCk7XG4gICAgfVxuICAgIHJldHVybiBiaXRzLmpvaW4oJycpO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,8 +1,8 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { assert } from "@coolon/typescript-utilities";
3
- import { Memoize } from "fast-typescript-memoize";
4
3
  import { isEmpty, last } from "lodash-es";
5
- import { getPlaceDefinition } from "./place-metadata";
4
+ import { Memoize } from "typescript-memoize";
5
+ import { PlaceComponent } from "./place-component";
6
6
  import { PlaceDefinition } from "./place-definition";
7
7
  import { VisitSegment } from "./visit-segment";
8
8
  export class Visit {
@@ -10,7 +10,7 @@ export class Visit {
10
10
  destinationSegment;
11
11
  destinationPlaceDef;
12
12
  static goto(placeComponent, visitParameters) {
13
- return new Visit([new VisitSegment(getPlaceDefinition(placeComponent), visitParameters)]);
13
+ return new Visit([new VisitSegment(PlaceComponent.getDefinition(placeComponent), visitParameters)]);
14
14
  }
15
15
  static fromSegments(segments) {
16
16
  return new Visit(segments);
@@ -31,7 +31,7 @@ export class Visit {
31
31
  if (!this.destinationPlaceDef.hasAncestor(placeComponent)) {
32
32
  throw new Error(`Place ${placeComponent.name} is not an ancestor of ${this.destinationPlaceDef.component.name}`);
33
33
  }
34
- this.segmentsByPlaceComponent.set(placeComponent, new VisitSegment(getPlaceDefinition(placeComponent), parameters));
34
+ this.segmentsByPlaceComponent.set(placeComponent, new VisitSegment(PlaceComponent.getDefinition(placeComponent), parameters));
35
35
  return this;
36
36
  }
37
37
  get segments() {
@@ -94,4 +94,4 @@ __decorate([
94
94
  // .withAncestorParameters(ParentA, {id: "a"}) // barf if not a ancestor or missing parameters are required or parameter isn't valid
95
95
  // .withAncestorParameters(ParentB, {id: "c"}) // barf if not a ancestor or missing parameters are required or parameter isn't valid
96
96
  //
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS92aXNpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLE1BQU0sRUFBZ0IsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDaEQsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFHeEMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxNQUFNLE9BQU8sS0FBSztJQUVOLHdCQUF3QixHQUFHLElBQUksR0FBRyxFQUErQyxDQUFDO0lBQ3pFLGtCQUFrQixDQUFlO0lBQ2pDLG1CQUFtQixDQUFrQjtJQUV4RCxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQTZDLEVBQUUsZUFBeUM7UUFDbEcsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMzRixDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUF3QjtRQUMxQyxPQUFPLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUFzQixRQUF3QjtRQUM1QyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsbUJB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QVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDNUQsQ0FBQztDQUNGO0FBeEJDO0lBREMsT0FBTyxFQUFFOztxQ0FDcUIsZUFBZTtvQ0FBRyxZQUFZOzBDQUU1RDtBQXlCSCx3REFBd0Q7QUFDeEQsc0lBQXNJO0FBQ3RJLHNJQUFzSTtBQUN0SSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHthc3NlcnQsIENvbnN0cnVjdGFibGV9IGZyb20gXCJAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzXCI7XG5pbXBvcnQge01lbW9pemV9IGZyb20gXCJmYXN0LXR5cGVzY3JpcHQtbWVtb2l6ZVwiO1xuaW1wb3J0IHtpc0VtcHR5LCBsYXN0fSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgdHlwZSB7UGxhY2VBY2Nlc3NHdWFyZH0gZnJvbSBcIi4vcGxhY2UtYWNjZXNzLWd1YXJkXCI7XG5pbXBvcnQgdHlwZSB7UGxhY2VDb21wb25lbnR9IGZyb20gXCIuL3BsYWNlLWNvbXBvbmVudFwiO1xuaW1wb3J0IHtnZXRQbGFjZURlZmluaXRpb259IGZyb20gXCIuL3BsYWNlLW1ldGFkYXRhXCI7XG5pbXBvcnQge1BsYWNlRGVmaW5pdGlvbn0gZnJvbSBcIi4vcGxhY2UtZGVmaW5pdGlvblwiO1xuaW1wb3J0IHtWaXNpdFNlZ21lbnR9IGZyb20gXCIuL3Zpc2l0LXNlZ21lbnRcIjtcblxuZXhwb3J0IGNsYXNzIFZpc2l0IHtcblxuICBwcm90ZWN0ZWQgc2VnbWVudHNCeVBsYWNlQ29tcG9uZW50ID0gbmV3IE1hcDxDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiwgVmlzaXRTZWdtZW50PigpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVzdGluYXRpb25TZWdtZW50OiBWaXNpdFNlZ21lbnQ7XG4gIHByb3RlY3RlZCByZWFkb25seSBkZXN0aW5hdGlvblBsYWNlRGVmOiBQbGFjZURlZmluaXRpb247XG5cbiAgc3RhdGljIGdvdG8ocGxhY2VDb21wb25lbnQ6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCB2aXNpdFBhcmFtZXRlcnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFZpc2l0IHtcbiAgICByZXR1cm4gbmV3IFZpc2l0KFtuZXcgVmlzaXRTZWdtZW50KGdldFBsYWNlRGVmaW5pdGlvbihwbGFjZUNvbXBvbmVudCksIHZpc2l0UGFyYW1ldGVycyldKVxuICB9XG5cbiAgc3RhdGljIGZyb21TZWdtZW50cyhzZWdtZW50czogVmlzaXRTZWdtZW50W10pOiBWaXNpdCB7XG4gICAgcmV0dXJuIG5ldyBWaXNpdChzZWdtZW50cyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3Ioc2VnbWVudHM6IFZpc2l0U2VnbWVudFtdKSB7XG4gICAgYXNzZXJ0LmlzVHJ1dGh5KHNlZ21lbnRzLmxlbmd0aCA+IDApO1xuICAgIHRoaXMuZGVzdGluYXRpb25TZWdtZW50ID0gbGFzdChzZWdtZW50cyk7XG4gICAgdGhpcy5kZXN0aW5hdGlvblBsYWNlRGVmID0gdGhpcy5kZXN0aW5hdGlvblNlZ21lbnQucGxhY2VEZWZpbml0aW9uXG4gICAgc2VnbWVudHMuZm9yRWFjaChzID0+IHRoaXMuc2VnbWVudHNCeVBsYWNlQ29tcG9uZW50LnNldChzLnBsYWNlRGVmaW5pdGlvbi5jb21wb25lbnQsIHMpKVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBkZWZpbmVkU2VnbWVudHMoKTogTWFwPENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCBWaXNpdFNlZ21lbnQ+IHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnNlZ21lbnRzQnlQbGFjZUNvbXBvbmVudC52YWx1ZXMoKSkucmVkdWNlKChtYXAsIHMpID0+IHtcbiAgICAgIG1hcC5zZXQocy5wbGFjZURlZmluaXRpb24uY29tcG9uZW50LCBzKVxuICAgICAgcmV0dXJuIG1hcDtcbiAgICB9LCBuZXcgTWFwKCkpXG5cbiAgfVxuXG4gIHdpdGhBbmNlc3RvclBhcmFtZXRlcnMocGxhY2VDb21wb25lbnQ6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCBwYXJhbWV0ZXJzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IHRoaXMge1xuICAgIGlmICghdGhpcy5kZXN0aW5hdGlvblBsYWNlRGVmLmhhc0FuY2VzdG9yKHBsYWNlQ29tcG9uZW50KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBQbGFjZSAke3BsYWNlQ29tcG9uZW50Lm5hbWV9IGlzIG5vdCBhbiBhbmNlc3RvciBvZiAke3RoaXMuZGVzdGluYXRpb25QbGFjZURlZi5jb21wb25lbnQubmFtZX1gKTtcbiAgICB9XG4gICAgdGhpcy5zZWdtZW50c0J5UGxhY2VDb21wb25lbnQuc2V0KHBsYWNlQ29tcG9uZW50LCBuZXcgVmlzaXRTZWdtZW50KGdldFBsYWNlRGVmaW5pdGlvbihwbGFjZUNvbXBvbmVudCksIHBhcmFtZXRlcnMpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGdldCBzZWdtZW50cygpOiBWaXNpdFNlZ21lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZVNlZ21lbnRzKFt0aGlzLmRlZmluZWRTZWdtZW50c10pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlU2VnbWVudHMoZGVmYXVsdHM6IE1hcDxDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiwgVmlzaXRTZWdtZW50PltdKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVzdGluYXRpb25QbGFjZURlZi5hbmNlc3RvcnNBbmRTZWxmKClcbiAgICAgIC5tYXAoYSA9PiB7XG4gICAgICAgIGNvbnN0IHZpc2l0ID0gbmV3IFZpc2l0U2VnbWVudChhLCB7fSk7XG4gICAgICAgIHJldHVybiBkZWZhdWx0c1xuICAgICAgICAgIC5tYXAoc2VnbWVudHMgPT4gc2VnbWVudHMuZ2V0KGEuY29tcG9uZW50KSlcbiAgICAgICAgICAuZmlsdGVyKGl0ID0+ICEhaXQpXG4gICAgICAgICAgLnJlZHVjZSgoaXQsIG90aGVyKSA9PiBpdC5jb3B5TWlzc2luZ0Zyb20ob3RoZXIpLCB2aXNpdClcbiAgICAgIH0pO1xuICB9XG5cbiAgY29weVdpdGhEZWZhdWx0c0Zyb20ob3RoZXI6IFZpc2l0fHVuZGVmaW5lZCk6IFZpc2l0IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IFt0aGlzLmRlZmluZWRTZWdtZW50c107XG4gICAgaWYgKG90aGVyKSB7XG4gICAgICBkZWZhdWx0cy5wdXNoKG90aGVyLmRlZmluZWRTZWdtZW50cyk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgVmlzaXQodGhpcy5yZXNvbHZlU2VnbWVudHMoZGVmYXVsdHMpKTtcbiAgfVxuXG4gIGNvcHlBbmRSZXBsYWNlU2VnbWVudChyZXBsYWNlOiBWaXNpdFNlZ21lbnQpOiBWaXNpdCB7XG4gICAgLy8gY29uc29sZS5sb2coXCJjb3B5QW5kUmVwbGFjZVNlZ21lbnRcIiwgcmVwbGFjZS50b0RlYnVnU3RyaW5nKCkpO1xuICAgIGNvbnN0IHNlZ21lbnRzID0gdGhpcy5zZWdtZW50cy5tYXAocyA9PiBzLnBsYWNlRGVmaW5pdGlvbiA9PT0gcmVwbGFjZS5wbGFjZURlZmluaXRpb24gPyByZXBsYWNlIDogcyk7XG4gICAgLy8gY29uc29sZS5sb2coXCJjb3B5QW5kUmVwbGFjZVNlZ21lbnQucmVzdWx0XCIsIHNlZ21lbnRzLm1hcChzID0+IHMudG9EZWJ1Z1N0cmluZygpKS5qb2luKFwiXFxuXCIpKTtcbiAgICByZXR1cm4gbmV3IFZpc2l0KHNlZ21lbnRzKTtcbiAgfVxuXG4gIGlzUGxhY2VBY3RpdmUocGxhY2VEZWZpbml0aW9uOiBQbGFjZURlZmluaXRpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmdldFNlZ21lbnRGb3IocGxhY2VEZWZpbml0aW9uKTtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgZ2V0U2VnbWVudEZvcihwbGFjZURlZmluaXRpb246IFBsYWNlRGVmaW5pdGlvbik6IFZpc2l0U2VnbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuc2VnbWVudHMuZmluZCh2ID0+IHYucGxhY2VEZWZpbml0aW9uID09PSBwbGFjZURlZmluaXRpb24pO1xuICB9XG5cbiAgZ2V0Um91dGVyQ29tbWFuZHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnNlZ21lbnRzLnJlZHVjZSgocmVzdWx0LCB2KSA9PiB7XG4gICAgICBjb25zdCBwYXRoID0gdi5wbGFjZURlZmluaXRpb24ucGF0aDtcbiAgICAgIHJldHVybiBpc0VtcHR5KHBhdGgpID9cbiAgICAgICAgWy4uLnJlc3VsdCwgcGF0aF0gOiAvLyBBbmd1bGFyIGRvZXNuJ3Qgc3VwcG9ydCByb3V0ZSBwYXJhbXMgb24gZW1wdHkgcGF0aCBzZWdtZW50c1xuICAgICAgICBbLi4ucmVzdWx0LCBwYXRoLCAuLi52LmNyZWF0ZVJvdXRlckNvbW1hbmRzKCldO1xuICAgIH0sIFtdKTtcbiAgfVxuXG4gIGlzQXV0aG9yaXNlZChndWFyZDogUGxhY2VBY2Nlc3NHdWFyZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlZ21lbnRzLmZpbmQocyA9PiAhZ3VhcmQuaXNBdXRob3Jpc2VkKHMucGxhY2VEZWZpbml0aW9uKSkgPT0gbnVsbDtcbiAgfVxuXG4gIHJlcXVpcmVzQXV0aGVudGljYXRpb24oKSB7XG4gICAgcmV0dXJuICEhdGhpcy5zZWdtZW50cy5maW5kKHMgPT4gcy5wbGFjZURlZmluaXRpb24uYXV0aGVudGljYXRlKTtcbiAgfVxuXG4gIHRvRGVidWdTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VnbWVudHMubWFwKHMgPT4gcy50b0RlYnVnU3RyaW5nKCkpLmpvaW4oXCIvXCIpXG4gIH1cbn1cblxuXG4vLyBjb25zdCB2aXNpdDIgPSBWaXNpdC5nb3RvKEFub3RoZXJQbGFjZSwge2lkOiBcImZyZWRcIn0pXG4vLyAgIC53aXRoQW5jZXN0b3JQYXJhbWV0ZXJzKFBhcmVudEEsIHtpZDogXCJhXCJ9KSAvLyBiYXJmIGlmIG5vdCBhIGFuY2VzdG9yIG9yIG1pc3NpbmcgcGFyYW1ldGVycyBhcmUgcmVxdWlyZWQgb3IgcGFyYW1ldGVyIGlzbid0IHZhbGlkXG4vLyAgIC53aXRoQW5jZXN0b3JQYXJhbWV0ZXJzKFBhcmVudEIsIHtpZDogXCJjXCJ9KSAvLyBiYXJmIGlmIG5vdCBhIGFuY2VzdG9yIG9yIG1pc3NpbmcgcGFyYW1ldGVycyBhcmUgcmVxdWlyZWQgb3IgcGFyYW1ldGVyIGlzbid0IHZhbGlkXG4vL1xuIl19
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS92aXNpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLE1BQU0sRUFBZ0IsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFFM0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsTUFBTSxPQUFPLEtBQUs7SUFFTix3QkFBd0IsR0FBRyxJQUFJLEdBQUcsRUFBK0MsQ0FBQztJQUN6RSxrQkFBa0IsQ0FBZTtJQUNqQyxtQkFBbUIsQ0FBa0I7SUFFeEQsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUE2QyxFQUFFLGVBQXFDO1FBQzlGLE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNyRyxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUF3QjtRQUMxQyxPQUFPLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUFzQixRQUF3QjtRQUM1QyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QyxJQUFJLENB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TyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM1RCxDQUFDO0NBQ0Y7QUF4QkM7SUFEQyxPQUFPLEVBQUU7O3FDQUNxQixlQUFlO29DQUFHLFlBQVk7MENBRTVEO0FBeUJILHdEQUF3RDtBQUN4RCxzSUFBc0k7QUFDdEksc0lBQXNJO0FBQ3RJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Fzc2VydCwgQ29uc3RydWN0YWJsZX0gZnJvbSBcIkBjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXNcIjtcbmltcG9ydCB7aXNFbXB0eSwgbGFzdH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHtNZW1vaXplfSBmcm9tIFwidHlwZXNjcmlwdC1tZW1vaXplXCI7XG5pbXBvcnQge1BsYWNlQWNjZXNzR3VhcmR9IGZyb20gXCIuL3BsYWNlLWFjY2Vzcy1ndWFyZFwiO1xuaW1wb3J0IHtQbGFjZUNvbXBvbmVudH0gZnJvbSBcIi4vcGxhY2UtY29tcG9uZW50XCI7XG5pbXBvcnQge1BsYWNlRGVmaW5pdGlvbn0gZnJvbSBcIi4vcGxhY2UtZGVmaW5pdGlvblwiO1xuaW1wb3J0IHtWaXNpdFNlZ21lbnR9IGZyb20gXCIuL3Zpc2l0LXNlZ21lbnRcIjtcblxuZXhwb3J0IGNsYXNzIFZpc2l0IHtcblxuICBwcm90ZWN0ZWQgc2VnbWVudHNCeVBsYWNlQ29tcG9uZW50ID0gbmV3IE1hcDxDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiwgVmlzaXRTZWdtZW50PigpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVzdGluYXRpb25TZWdtZW50OiBWaXNpdFNlZ21lbnQ7XG4gIHByb3RlY3RlZCByZWFkb25seSBkZXN0aW5hdGlvblBsYWNlRGVmOiBQbGFjZURlZmluaXRpb247XG5cbiAgc3RhdGljIGdvdG8ocGxhY2VDb21wb25lbnQ6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCB2aXNpdFBhcmFtZXRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogVmlzaXQge1xuICAgIHJldHVybiBuZXcgVmlzaXQoW25ldyBWaXNpdFNlZ21lbnQoUGxhY2VDb21wb25lbnQuZ2V0RGVmaW5pdGlvbihwbGFjZUNvbXBvbmVudCksIHZpc2l0UGFyYW1ldGVycyldKVxuICB9XG5cbiAgc3RhdGljIGZyb21TZWdtZW50cyhzZWdtZW50czogVmlzaXRTZWdtZW50W10pOiBWaXNpdCB7XG4gICAgcmV0dXJuIG5ldyBWaXNpdChzZWdtZW50cyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3Ioc2VnbWVudHM6IFZpc2l0U2VnbWVudFtdKSB7XG4gICAgYXNzZXJ0LmlzVHJ1dGh5KHNlZ21lbnRzLmxlbmd0aCA+IDApO1xuICAgIHRoaXMuZGVzdGluYXRpb25TZWdtZW50ID0gbGFzdChzZWdtZW50cyk7XG4gICAgdGhpcy5kZXN0aW5hdGlvblBsYWNlRGVmID0gdGhpcy5kZXN0aW5hdGlvblNlZ21lbnQucGxhY2VEZWZpbml0aW9uXG4gICAgc2VnbWVudHMuZm9yRWFjaChzID0+IHRoaXMuc2VnbWVudHNCeVBsYWNlQ29tcG9uZW50LnNldChzLnBsYWNlRGVmaW5pdGlvbi5jb21wb25lbnQsIHMpKVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBkZWZpbmVkU2VnbWVudHMoKTogTWFwPENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCBWaXNpdFNlZ21lbnQ+IHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnNlZ21lbnRzQnlQbGFjZUNvbXBvbmVudC52YWx1ZXMoKSkucmVkdWNlKChtYXAsIHMpID0+IHtcbiAgICAgIG1hcC5zZXQocy5wbGFjZURlZmluaXRpb24uY29tcG9uZW50LCBzKVxuICAgICAgcmV0dXJuIG1hcDtcbiAgICB9LCBuZXcgTWFwKCkpXG5cbiAgfVxuXG4gIHdpdGhBbmNlc3RvclBhcmFtZXRlcnMocGxhY2VDb21wb25lbnQ6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCBwYXJhbWV0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogdGhpcyB7XG4gICAgaWYgKCF0aGlzLmRlc3RpbmF0aW9uUGxhY2VEZWYuaGFzQW5jZXN0b3IocGxhY2VDb21wb25lbnQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFBsYWNlICR7cGxhY2VDb21wb25lbnQubmFtZX0gaXMgbm90IGFuIGFuY2VzdG9yIG9mICR7dGhpcy5kZXN0aW5hdGlvblBsYWNlRGVmLmNvbXBvbmVudC5uYW1lfWApO1xuICAgIH1cbiAgICB0aGlzLnNlZ21lbnRzQnlQbGFjZUNvbXBvbmVudC5zZXQocGxhY2VDb21wb25lbnQsIG5ldyBWaXNpdFNlZ21lbnQoUGxhY2VDb21wb25lbnQuZ2V0RGVmaW5pdGlvbihwbGFjZUNvbXBvbmVudCksIHBhcmFtZXRlcnMpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGdldCBzZWdtZW50cygpOiBWaXNpdFNlZ21lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZVNlZ21lbnRzKFt0aGlzLmRlZmluZWRTZWdtZW50c10pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlU2VnbWVudHMoZGVmYXVsdHM6IE1hcDxDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiwgVmlzaXRTZWdtZW50PltdKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVzdGluYXRpb25QbGFjZURlZi5hbmNlc3RvcnNBbmRTZWxmKClcbiAgICAgIC5tYXAoYSA9PiB7XG4gICAgICAgIGNvbnN0IHZpc2l0ID0gbmV3IFZpc2l0U2VnbWVudChhLCB7fSk7XG4gICAgICAgIHJldHVybiBkZWZhdWx0c1xuICAgICAgICAgIC5tYXAoc2VnbWVudHMgPT4gc2VnbWVudHMuZ2V0KGEuY29tcG9uZW50KSlcbiAgICAgICAgICAuZmlsdGVyKGl0ID0+ICEhaXQpXG4gICAgICAgICAgLnJlZHVjZSgoaXQsIG90aGVyKSA9PiBpdC5jb3B5TWlzc2luZ0Zyb20ob3RoZXIpLCB2aXNpdClcbiAgICAgIH0pO1xuICB9XG5cbiAgY29weVdpdGhEZWZhdWx0c0Zyb20ob3RoZXI6IFZpc2l0fHVuZGVmaW5lZCk6IFZpc2l0IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IFt0aGlzLmRlZmluZWRTZWdtZW50c107XG4gICAgaWYgKG90aGVyKSB7XG4gICAgICBkZWZhdWx0cy5wdXNoKG90aGVyLmRlZmluZWRTZWdtZW50cyk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgVmlzaXQodGhpcy5yZXNvbHZlU2VnbWVudHMoZGVmYXVsdHMpKTtcbiAgfVxuXG4gIGNvcHlBbmRSZXBsYWNlU2VnbWVudChyZXBsYWNlOiBWaXNpdFNlZ21lbnQpOiBWaXNpdCB7XG4gICAgLy8gY29uc29sZS5sb2coXCJjb3B5QW5kUmVwbGFjZVNlZ21lbnRcIiwgcmVwbGFjZS50b0RlYnVnU3RyaW5nKCkpO1xuICAgIGNvbnN0IHNlZ21lbnRzID0gdGhpcy5zZWdtZW50cy5tYXAocyA9PiBzLnBsYWNlRGVmaW5pdGlvbiA9PT0gcmVwbGFjZS5wbGFjZURlZmluaXRpb24gPyByZXBsYWNlIDogcyk7XG4gICAgLy8gY29uc29sZS5sb2coXCJjb3B5QW5kUmVwbGFjZVNlZ21lbnQucmVzdWx0XCIsIHNlZ21lbnRzLm1hcChzID0+IHMudG9EZWJ1Z1N0cmluZygpKS5qb2luKFwiXFxuXCIpKTtcbiAgICByZXR1cm4gbmV3IFZpc2l0KHNlZ21lbnRzKTtcbiAgfVxuXG4gIGlzUGxhY2VBY3RpdmUocGxhY2VEZWZpbml0aW9uOiBQbGFjZURlZmluaXRpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmdldFNlZ21lbnRGb3IocGxhY2VEZWZpbml0aW9uKTtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgZ2V0U2VnbWVudEZvcihwbGFjZURlZmluaXRpb246IFBsYWNlRGVmaW5pdGlvbik6IFZpc2l0U2VnbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuc2VnbWVudHMuZmluZCh2ID0+IHYucGxhY2VEZWZpbml0aW9uID09PSBwbGFjZURlZmluaXRpb24pO1xuICB9XG5cbiAgZ2V0Um91dGVyQ29tbWFuZHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnNlZ21lbnRzLnJlZHVjZSgocmVzdWx0LCB2KSA9PiB7XG4gICAgICBjb25zdCBwYXRoID0gdi5wbGFjZURlZmluaXRpb24ucGF0aDtcbiAgICAgIHJldHVybiBpc0VtcHR5KHBhdGgpID9cbiAgICAgICAgWy4uLnJlc3VsdCwgcGF0aF0gOiAvLyBBbmd1bGFyIGRvZXNuJ3Qgc3VwcG9ydCByb3V0ZSBwYXJhbXMgb24gZW1wdHkgcGF0aCBzZWdtZW50c1xuICAgICAgICBbLi4ucmVzdWx0LCBwYXRoLCAuLi52LmNyZWF0ZVJvdXRlckNvbW1hbmRzKCldO1xuICAgIH0sIFtdKTtcbiAgfVxuXG4gIGlzQXV0aG9yaXNlZChndWFyZDogUGxhY2VBY2Nlc3NHdWFyZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlZ21lbnRzLmZpbmQocyA9PiAhZ3VhcmQuaXNBdXRob3Jpc2VkKHMucGxhY2VEZWZpbml0aW9uKSkgPT0gbnVsbDtcbiAgfVxuXG4gIHJlcXVpcmVzQXV0aGVudGljYXRpb24oKSB7XG4gICAgcmV0dXJuICEhdGhpcy5zZWdtZW50cy5maW5kKHMgPT4gcy5wbGFjZURlZmluaXRpb24uYXV0aGVudGljYXRlKTtcbiAgfVxuXG4gIHRvRGVidWdTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VnbWVudHMubWFwKHMgPT4gcy50b0RlYnVnU3RyaW5nKCkpLmpvaW4oXCIvXCIpXG4gIH1cbn1cblxuXG4vLyBjb25zdCB2aXNpdDIgPSBWaXNpdC5nb3RvKEFub3RoZXJQbGFjZSwge2lkOiBcImZyZWRcIn0pXG4vLyAgIC53aXRoQW5jZXN0b3JQYXJhbWV0ZXJzKFBhcmVudEEsIHtpZDogXCJhXCJ9KSAvLyBiYXJmIGlmIG5vdCBhIGFuY2VzdG9yIG9yIG1pc3NpbmcgcGFyYW1ldGVycyBhcmUgcmVxdWlyZWQgb3IgcGFyYW1ldGVyIGlzbid0IHZhbGlkXG4vLyAgIC53aXRoQW5jZXN0b3JQYXJhbWV0ZXJzKFBhcmVudEIsIHtpZDogXCJjXCJ9KSAvLyBiYXJmIGlmIG5vdCBhIGFuY2VzdG9yIG9yIG1pc3NpbmcgcGFyYW1ldGVycyBhcmUgcmVxdWlyZWQgb3IgcGFyYW1ldGVyIGlzbid0IHZhbGlkXG4vL1xuIl19
@@ -3,6 +3,8 @@ import { marked } from 'marked';
3
3
  import { markdownPillExtension } from './pill-plugin';
4
4
  import * as i0 from "@angular/core";
5
5
  export class MarkdownService {
6
+ constructor() {
7
+ }
6
8
  render(content) {
7
9
  return marked.parse(content, {
8
10
  smartLists: true
@@ -16,10 +18,10 @@ export class MarkdownService {
16
18
  extensions: [markdownPillExtension(renderer ?? (text => `<span class='aup-pill'>${text}<span>`))]
17
19
  });
18
20
  }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: MarkdownService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
20
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: MarkdownService });
21
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: MarkdownService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
22
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: MarkdownService });
21
23
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: MarkdownService, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: MarkdownService, decorators: [{
23
25
  type: Injectable
24
- }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3NlcnZpY2VzL21hcmtkb3duL21hcmtkb3duLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFHcEQsTUFBTSxPQUFPLGVBQWU7SUFDMUIsTUFBTSxDQUFDLE9BQWU7UUFDcEIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUMzQixVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQWU7UUFDMUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxRQUFzQztRQUNyRCxNQUFNLENBQUMsR0FBRyxDQUFDO1lBQ1QsVUFBVSxFQUFFLENBQUMscUJBQXFCLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQywwQkFBMEIsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQ2xHLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBZlUsZUFBZTsyR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHttYXJrZWR9IGZyb20gJ21hcmtlZCc7XG5pbXBvcnQge21hcmtkb3duUGlsbEV4dGVuc2lvbn0gZnJvbSAnLi9waWxsLXBsdWdpbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYXJrZG93blNlcnZpY2Uge1xuICByZW5kZXIoY29udGVudDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG1hcmtlZC5wYXJzZShjb250ZW50LCB7XG4gICAgICBzbWFydExpc3RzOiB0cnVlXG4gICAgfSk7XG4gIH1cblxuICByZW5kZXJJbmxpbmUoY29udGVudDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG1hcmtlZC5wYXJzZUlubGluZShjb250ZW50KTtcbiAgfVxuXG4gIHVzZVBpbGxFeHRlbnNpb24ocmVuZGVyZXI/OiAoY29udGVudDogc3RyaW5nKSA9PiBzdHJpbmcpIHtcbiAgICBtYXJrZWQudXNlKHtcbiAgICAgIGV4dGVuc2lvbnM6IFttYXJrZG93blBpbGxFeHRlbnNpb24ocmVuZGVyZXIgPz8gKHRleHQgPT4gYDxzcGFuIGNsYXNzPSdhdXAtcGlsbCc+JHt0ZXh0fTxzcGFuPmApKV1cbiAgICB9KTtcbiAgfVxufVxuXG5cbiJdfQ==
26
+ }], ctorParameters: function () { return []; } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3NlcnZpY2VzL21hcmtkb3duL21hcmtkb3duLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHdEQsTUFBTSxPQUFPLGVBQWU7SUFFMUI7SUFDQSxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQWU7UUFDcEIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUMzQixVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQWU7UUFDMUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxRQUFzQztRQUNyRCxNQUFNLENBQUMsR0FBRyxDQUFDO1lBQ1QsVUFBVSxFQUFFLENBQUMscUJBQXFCLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQywwQkFBMEIsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQ2xHLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBbkJVLGVBQWU7MkdBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgbWFya2VkIH0gZnJvbSAnbWFya2VkJztcbmltcG9ydCB7IG1hcmtkb3duUGlsbEV4dGVuc2lvbiB9IGZyb20gJy4vcGlsbC1wbHVnaW4nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWFya2Rvd25TZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIHJlbmRlcihjb250ZW50OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbWFya2VkLnBhcnNlKGNvbnRlbnQsIHtcbiAgICAgIHNtYXJ0TGlzdHM6IHRydWVcbiAgICB9KTtcbiAgfVxuXG4gIHJlbmRlcklubGluZShjb250ZW50OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbWFya2VkLnBhcnNlSW5saW5lKGNvbnRlbnQpO1xuICB9XG5cbiAgdXNlUGlsbEV4dGVuc2lvbihyZW5kZXJlcj86IChjb250ZW50OiBzdHJpbmcpID0+IHN0cmluZykge1xuICAgIG1hcmtlZC51c2Uoe1xuICAgICAgZXh0ZW5zaW9uczogW21hcmtkb3duUGlsbEV4dGVuc2lvbihyZW5kZXJlciA/PyAodGV4dCA9PiBgPHNwYW4gY2xhc3M9J2F1cC1waWxsJz4ke3RleHR9PHNwYW4+YCkpXVxuICAgIH0pO1xuICB9XG59XG5cblxuIl19
@@ -28,8 +28,10 @@ export const markdownPillExtension = (renderPill) => {
28
28
  }
29
29
  },
30
30
  renderer: function (token) {
31
+ // @ts-ignore (until typings are up to date)
32
+ const url = token.text;
31
33
  return renderPill(token.text);
32
34
  }
33
35
  };
34
36
  };
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlsbC1wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9zZXJ2aWNlcy9tYXJrZG93bi9waWxsLXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLFVBQW9DLEVBQUUsRUFBRTtJQUM1RSxPQUFPO1FBQ0wsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLFFBQVE7UUFDZixLQUFLLEVBQUUsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUNyQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssQ0FBQztZQUMzQyxlQUFlO1lBQ2YsK0JBQStCO1lBQy9CLElBQUk7WUFDSixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxTQUFTLEVBQUUsVUFBOEIsR0FBVztZQUNsRCxNQUFNLElBQUksR0FBRyxzQkFBc0IsQ0FBQyxDQUFFLCtCQUErQjtZQUNyRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLElBQUksS0FBSyxFQUFFO2dCQUNULE1BQU0sS0FBSyxHQUFHO29CQUNaLElBQUksRUFBRSxVQUFVO29CQUNoQixHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztvQkFDYixJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLCtCQUErQjtvQkFDdEQsK0VBQStFO2lCQUNoRixDQUFDO2dCQUNGLHFCQUFxQjtnQkFDckIsNkdBQTZHO2dCQUM3RyxPQUFPLEtBQUssQ0FBQzthQUNkO2lCQUFNO2dCQUNMLE9BQU8sU0FBUyxDQUFDO2FBQ2xCO1FBQ0gsQ0FBQztRQUNELFFBQVEsRUFBRSxVQUE2QixLQUFxQjtZQUMxRCxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsQ0FBQztLQUVGLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUT0RPOiBtaWdyYXRlIHRvIG1hcmtkb3duLWl0IGFuZCBjb3B5IHRoaXMgcGx1Z2luOiBodHRwczovL2dpdGh1Yi5jb20vbWFya2Rvd24taXQvbWFya2Rvd24taXQtc3ViL2Jsb2IvbWFzdGVyL2luZGV4LmpzXG5pbXBvcnQge21hcmtlZH0gZnJvbSAnbWFya2VkJztcbmltcG9ydCBSZW5kZXJlclRoaXMgPSBtYXJrZWQuUmVuZGVyZXJUaGlzO1xuaW1wb3J0IFRva2VuaXplclRoaXMgPSBtYXJrZWQuVG9rZW5pemVyVGhpcztcbmltcG9ydCBUb2tlbnMgPSBtYXJrZWQuVG9rZW5zO1xuXG5leHBvcnQgY29uc3QgbWFya2Rvd25QaWxsRXh0ZW5zaW9uID0gKHJlbmRlclBpbGw6ICh0ZXh0OiBzdHJpbmcpID0+IHN0cmluZykgPT4ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6ICdhdXAtcGlsbCcsXG4gICAgbGV2ZWw6ICdpbmxpbmUnLFxuICAgIHN0YXJ0OiAoc3JjOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gc3JjLm1hdGNoKC9cXChcXChbXildLyk/LmluZGV4O1xuICAgICAgLy8gaWYgKGluZGV4KSB7XG4gICAgICAvLyAgICAgY29uc29sZS5sb2coe3N0YXJ0OnNyY30pXG4gICAgICAvLyB9XG4gICAgICByZXR1cm4gaW5kZXg7XG4gICAgfSxcbiAgICB0b2tlbml6ZXI6IGZ1bmN0aW9uKHRoaXM6IFRva2VuaXplclRoaXMsIHNyYzogc3RyaW5nKSB7XG4gICAgICBjb25zdCBydWxlID0gL14oXFwoXFwoKChbXildKSspXFwpXFwpKS87ICAvLyBSZWdleCBmb3IgdGhlIGNvbXBsZXRlIHRva2VuXG4gICAgICBjb25zdCBtYXRjaCA9IHJ1bGUuZXhlYyhzcmMpO1xuICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgIGNvbnN0IHRva2VuID0ge1xuICAgICAgICAgIHR5cGU6ICdhdXAtcGlsbCcsICAgICAgICAgIC8vIFNob3VsZCBtYXRjaCBcIm5hbWVcIiBhYm92ZVxuICAgICAgICAgIHJhdzogbWF0Y2hbMF0sICAgICAgICAgLy8gVGV4dCB0byBjb25zdW1lIGZyb20gdGhlIHNvdXJjZVxuICAgICAgICAgIHRleHQ6IG1hdGNoWzJdLnRyaW0oKSwgLy8gQWRkaXRpb25hbCBjdXN0b20gcHJvcGVydGllc1xuICAgICAgICAgIC8vIHRva2VuczogW10gICAgICAgICAgICAgIC8vIEFycmF5IHdoZXJlIGNoaWxkIGlubGluZSB0b2tlbnMgd2lsbCBiZSBnZW5lcmF0ZWRcbiAgICAgICAgfTtcbiAgICAgICAgLy8gY29uc29sZS5sb2codG9rZW4pXG4gICAgICAgIC8vIHRoaXMubGV4ZXIuaW5saW5lVG9rZW5zKHRva2VuLnRleHQsIHRva2VuLnRva2Vucyk7ICAgIC8vIFF1ZXVlIHRoaXMgZGF0YSB0byBiZSBwcm9jZXNzZWQgZm9yIGlubGluZSB0b2tlbnNcbiAgICAgICAgcmV0dXJuIHRva2VuO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHJlbmRlcmVyOiBmdW5jdGlvbih0aGlzOiBSZW5kZXJlclRoaXMsIHRva2VuOiBUb2tlbnMuR2VuZXJpYykge1xuICAgICAgcmV0dXJuIHJlbmRlclBpbGwodG9rZW4udGV4dCk7XG4gICAgfVxuXG4gIH07XG59O1xuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlsbC1wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9zZXJ2aWNlcy9tYXJrZG93bi9waWxsLXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLFVBQW9DLEVBQUUsRUFBRTtJQUM1RSxPQUFPO1FBQ0wsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLFFBQVE7UUFDZixLQUFLLEVBQUUsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUNyQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssQ0FBQztZQUMzQyxlQUFlO1lBQ2YsK0JBQStCO1lBQy9CLElBQUk7WUFDSixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxTQUFTLEVBQUUsVUFBOEIsR0FBVztZQUNsRCxNQUFNLElBQUksR0FBRyxzQkFBc0IsQ0FBQyxDQUFFLCtCQUErQjtZQUNyRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLElBQUksS0FBSyxFQUFFO2dCQUNULE1BQU0sS0FBSyxHQUFHO29CQUNaLElBQUksRUFBRSxVQUFVO29CQUNoQixHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztvQkFDYixJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLCtCQUErQjtvQkFDdEQsK0VBQStFO2lCQUNoRixDQUFDO2dCQUNGLHFCQUFxQjtnQkFDckIsNkdBQTZHO2dCQUM3RyxPQUFPLEtBQUssQ0FBQzthQUNkO2lCQUFNO2dCQUNMLE9BQU8sU0FBUyxDQUFDO2FBQ2xCO1FBQ0gsQ0FBQztRQUNELFFBQVEsRUFBRSxVQUE2QixLQUFxQjtZQUMxRCw0Q0FBNEM7WUFDNUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztZQUN2QixPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsQ0FBQztLQUVGLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUT0RPOiBtaWdyYXRlIHRvIG1hcmtkb3duLWl0IGFuZCBjb3B5IHRoaXMgcGx1Z2luOiBodHRwczovL2dpdGh1Yi5jb20vbWFya2Rvd24taXQvbWFya2Rvd24taXQtc3ViL2Jsb2IvbWFzdGVyL2luZGV4LmpzXG5pbXBvcnQgeyBtYXJrZWQgfSBmcm9tICdtYXJrZWQnO1xuaW1wb3J0IFJlbmRlcmVyVGhpcyA9IG1hcmtlZC5SZW5kZXJlclRoaXM7XG5pbXBvcnQgVG9rZW5pemVyVGhpcyA9IG1hcmtlZC5Ub2tlbml6ZXJUaGlzO1xuaW1wb3J0IFRva2VucyA9IG1hcmtlZC5Ub2tlbnM7XG5cbmV4cG9ydCBjb25zdCBtYXJrZG93blBpbGxFeHRlbnNpb24gPSAocmVuZGVyUGlsbDogKHRleHQ6IHN0cmluZykgPT4gc3RyaW5nKSA9PiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ2F1cC1waWxsJyxcbiAgICBsZXZlbDogJ2lubGluZScsXG4gICAgc3RhcnQ6IChzcmM6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSBzcmMubWF0Y2goL1xcKFxcKFteKV0vKT8uaW5kZXg7XG4gICAgICAvLyBpZiAoaW5kZXgpIHtcbiAgICAgIC8vICAgICBjb25zb2xlLmxvZyh7c3RhcnQ6c3JjfSlcbiAgICAgIC8vIH1cbiAgICAgIHJldHVybiBpbmRleDtcbiAgICB9LFxuICAgIHRva2VuaXplcjogZnVuY3Rpb24odGhpczogVG9rZW5pemVyVGhpcywgc3JjOiBzdHJpbmcpIHtcbiAgICAgIGNvbnN0IHJ1bGUgPSAvXihcXChcXCgoKFteKV0pKylcXClcXCkpLzsgIC8vIFJlZ2V4IGZvciB0aGUgY29tcGxldGUgdG9rZW5cbiAgICAgIGNvbnN0IG1hdGNoID0gcnVsZS5leGVjKHNyYyk7XG4gICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSB7XG4gICAgICAgICAgdHlwZTogJ2F1cC1waWxsJywgICAgICAgICAgLy8gU2hvdWxkIG1hdGNoIFwibmFtZVwiIGFib3ZlXG4gICAgICAgICAgcmF3OiBtYXRjaFswXSwgICAgICAgICAvLyBUZXh0IHRvIGNvbnN1bWUgZnJvbSB0aGUgc291cmNlXG4gICAgICAgICAgdGV4dDogbWF0Y2hbMl0udHJpbSgpLCAvLyBBZGRpdGlvbmFsIGN1c3RvbSBwcm9wZXJ0aWVzXG4gICAgICAgICAgLy8gdG9rZW5zOiBbXSAgICAgICAgICAgICAgLy8gQXJyYXkgd2hlcmUgY2hpbGQgaW5saW5lIHRva2VucyB3aWxsIGJlIGdlbmVyYXRlZFxuICAgICAgICB9O1xuICAgICAgICAvLyBjb25zb2xlLmxvZyh0b2tlbilcbiAgICAgICAgLy8gdGhpcy5sZXhlci5pbmxpbmVUb2tlbnModG9rZW4udGV4dCwgdG9rZW4udG9rZW5zKTsgICAgLy8gUXVldWUgdGhpcyBkYXRhIHRvIGJlIHByb2Nlc3NlZCBmb3IgaW5saW5lIHRva2Vuc1xuICAgICAgICByZXR1cm4gdG9rZW47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH0sXG4gICAgcmVuZGVyZXI6IGZ1bmN0aW9uKHRoaXM6IFJlbmRlcmVyVGhpcywgdG9rZW46IFRva2Vucy5HZW5lcmljKSB7XG4gICAgICAvLyBAdHMtaWdub3JlICh1bnRpbCB0eXBpbmdzIGFyZSB1cCB0byBkYXRlKVxuICAgICAgY29uc3QgdXJsID0gdG9rZW4udGV4dDtcbiAgICAgIHJldHVybiByZW5kZXJQaWxsKHRva2VuLnRleHQpO1xuICAgIH1cblxuICB9O1xufTtcbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  // TODO: Merge various wake detection events into this class. visibility, wake events, websocket connection, online detection.
2
2
  import { DOCUMENT } from '@angular/common';
3
3
  import { Inject, Injectable } from '@angular/core';
4
- import { GarbageCollector, MutableValueModel } from '@coolon/pectin';
4
+ import { Dsl, GarbageCollector, MutableValueModel } from '@coolon/pectin';
5
5
  import * as i0 from "@angular/core";
6
6
  // Taken from: https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API
7
7
  export class VisibilityService extends GarbageCollector {
@@ -14,7 +14,7 @@ export class VisibilityService extends GarbageCollector {
14
14
  constructor(document) {
15
15
  super();
16
16
  this.document = document; // see https://stackoverflow.com/a/53715642
17
- // const { chain } = Dsl.disposeWith(this);
17
+ const { chain } = Dsl.disposeWith(this);
18
18
  // Set the name of the hidden property and the change event for visibility
19
19
  if (typeof this.document.hidden !== 'undefined') { // Opera 12.10 and Firefox 18 and later support
20
20
  this.attributeName = 'hidden';
@@ -69,14 +69,14 @@ export class VisibilityService extends GarbageCollector {
69
69
  isVisible() {
70
70
  return !this.isHidden();
71
71
  }
72
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: VisibilityService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
73
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: VisibilityService, providedIn: 'root' });
72
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: VisibilityService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
73
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: VisibilityService, providedIn: 'root' });
74
74
  }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: VisibilityService, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: VisibilityService, decorators: [{
76
76
  type: Injectable,
77
77
  args: [{ providedIn: 'root' }]
78
- }], ctorParameters: function () { return [{ type: Document, decorators: [{
78
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
79
79
  type: Inject,
80
80
  args: [DOCUMENT]
81
81
  }] }]; } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaWJpbGl0eS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvc2VydmljZXMvdmlzaWJpbGl0eS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtIQUErSDtBQUcvSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLGdCQUFnQixFQUFFLGlCQUFpQixFQUFhLE1BQU0sZ0JBQWdCLENBQUM7O0FBRS9FLG1GQUFtRjtBQUduRixNQUFNLE9BQU8saUJBQWtCLFNBQVEsZ0JBQWdCO0lBRXBDLFFBQVEsQ0FBVztJQUNuQixhQUFhLENBQVM7SUFDdEIsU0FBUyxDQUFTO0lBRTNCLFNBQVMsR0FBRyxJQUFJLGlCQUFpQixFQUFXLENBQUM7SUFDckQsc0RBQXNEO0lBQ3RELGlEQUFpRDtJQUVqRCxZQUE4QixRQUFrQjtRQUM5QyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsMkNBQTJDO1FBRXJFLDJDQUEyQztRQUUzQywwRUFBMEU7UUFDMUUsSUFBSSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLFdBQVcsRUFBRSxFQUFFLCtDQUErQztZQUNoRyxJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQztZQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLGtCQUFrQixDQUFDO1NBQ3JDO2FBQU0sSUFBSSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssV0FBVyxFQUFFO1lBQzNELElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsb0JBQW9CLENBQUM7U0FDdkM7YUFBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsS0FBSyxXQUFXLEVBQUU7WUFDL0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxjQUFjLENBQUM7WUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyx3QkFBd0IsQ0FBQztTQUMzQztRQUVELGtGQUFrRjtRQUNsRixJQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsS0FBSyxXQUFXLElBQUksT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLFdBQVcsRUFBRTtZQUNoSCxPQUFPLENBQUMsR0FBRyxDQUFDLHVHQUF1RyxDQUFDLENBQUM7U0FDdEg7YUFBTTtZQUNMLGdDQUFnQztZQUNoQyxNQUFNLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDN0QsQ0FBQyxDQUFDLENBQUM7U0FFSjtRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUV4Qyx1RkFBdUY7UUFDdkYsd0VBQXdFO1FBQ3hFLHVEQUF1RDtRQUN2RCxxRUFBcUU7SUFFdkUsQ0FBQztJQUVELHNDQUFzQztJQUN0QyxzQ0FBc0M7SUFDdEMsSUFBSTtJQUVKLFNBQVM7SUFDQyxxQkFBcUI7UUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3hDLDJDQUEyQztJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO0lBQ2xDLENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzFCLENBQUM7dUdBNUVVLGlCQUFpQixrQkFVUixRQUFROzJHQVZqQixpQkFBaUIsY0FESixNQUFNOzsyRkFDbkIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBV25CLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRPRE86IE1lcmdlIHZhcmlvdXMgd2FrZSBkZXRlY3Rpb24gZXZlbnRzIGludG8gdGhpcyBjbGFzcy4gIHZpc2liaWxpdHksIHdha2UgZXZlbnRzLCB3ZWJzb2NrZXQgY29ubmVjdGlvbiwgb25saW5lIGRldGVjdGlvbi5cblxuXG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtHYXJiYWdlQ29sbGVjdG9yLCBNdXRhYmxlVmFsdWVNb2RlbCwgVmFsdWVNb2RlbH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuXG4vLyBUYWtlbiBmcm9tOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvUGFnZV9WaXNpYmlsaXR5X0FQSVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFZpc2liaWxpdHlTZXJ2aWNlIGV4dGVuZHMgR2FyYmFnZUNvbGxlY3RvciB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXR0cmlidXRlTmFtZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGV2ZW50TmFtZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgX3Zpc2libGUkID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPGJvb2xlYW4+KCk7XG4gIC8vIHByaXZhdGUgX3dha2VFdmVudHMgPSBuZXcgTXV0YWJsZVN0cmVhbTxJbnN0YW50PigpO1xuICAvLyBwcml2YXRlIF90aHJvdHRsZWRXYWtlRXZlbnRzOiBTdHJlYW08SW5zdGFudD47XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IERvY3VtZW50KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmRvY3VtZW50ID0gZG9jdW1lbnQ7IC8vIHNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNTM3MTU2NDJcblxuICAgIC8vIGNvbnN0IHsgY2hhaW4gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcblxuICAgIC8vIFNldCB0aGUgbmFtZSBvZiB0aGUgaGlkZGVuIHByb3BlcnR5IGFuZCB0aGUgY2hhbmdlIGV2ZW50IGZvciB2aXNpYmlsaXR5XG4gICAgaWYgKHR5cGVvZiB0aGlzLmRvY3VtZW50LmhpZGRlbiAhPT0gJ3VuZGVmaW5lZCcpIHsgLy8gT3BlcmEgMTIuMTAgYW5kIEZpcmVmb3ggMTggYW5kIGxhdGVyIHN1cHBvcnRcbiAgICAgIHRoaXMuYXR0cmlidXRlTmFtZSA9ICdoaWRkZW4nO1xuICAgICAgdGhpcy5ldmVudE5hbWUgPSAndmlzaWJpbGl0eWNoYW5nZSc7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy5kb2N1bWVudFsnbXNIaWRkZW4nXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMuYXR0cmlidXRlTmFtZSA9ICdtc0hpZGRlbic7XG4gICAgICB0aGlzLmV2ZW50TmFtZSA9ICdtc3Zpc2liaWxpdHljaGFuZ2UnO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuZG9jdW1lbnRbJ3dlYmtpdEhpZGRlbiddICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgdGhpcy5hdHRyaWJ1dGVOYW1lID0gJ3dlYmtpdEhpZGRlbic7XG4gICAgICB0aGlzLmV2ZW50TmFtZSA9ICd3ZWJraXR2aXNpYmlsaXR5Y2hhbmdlJztcbiAgICB9XG5cbiAgICAvLyBXYXJuIGlmIHRoZSBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBhZGRFdmVudExpc3RlbmVyIG9yIHRoZSBQYWdlIFZpc2liaWxpdHkgQVBJXG4gICAgaWYgKHR5cGVvZiB0aGlzLmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIgPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiBkb2N1bWVudFt0aGlzLmF0dHJpYnV0ZU5hbWVdID09PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uc29sZS5sb2coJ1RoaXMgYXBwIHJlcXVpcmVzIGEgYnJvd3Nlciwgc3VjaCBhcyBHb29nbGUgQ2hyb21lIG9yIEZpcmVmb3gsIHRoYXQgc3VwcG9ydHMgdGhlIFBhZ2UgVmlzaWJpbGl0eSBBUEkuJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEhhbmRsZSBwYWdlIHZpc2liaWxpdHkgY2hhbmdlXG4gICAgICBjb25zdCBoYW5kbGVyID0gKCkgPT4gdGhpcy51cGRhdGVWaXNpYmlsaXR5U3RhdGUoKTtcbiAgICAgIHRoaXMuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLmV2ZW50TmFtZSwgaGFuZGxlciwgZmFsc2UpO1xuICAgICAgdGhpcy5vbkRpc3Bvc2UoKCkgPT4ge1xuICAgICAgICB0aGlzLmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIodGhpcy5ldmVudE5hbWUsIGhhbmRsZXIpO1xuICAgICAgfSk7XG5cbiAgICB9XG5cbiAgICB0aGlzLl92aXNpYmxlJC52YWx1ZSA9IHRoaXMuaXNWaXNpYmxlKCk7XG5cbiAgICAvLyBnaXZlIHRoZSBuZXR3b3JrIGEgY2hhbmNlIHRvIGNvbWUgYmFjayBvciB3ZSBlbmQgdXAgd2l0aCBhIGJ1bmNoIG9mIGZhaWxlZCByZXF1ZXN0cy5cbiAgICAvLyBzaG91bGQgcHJvYmFibHkgYWxzbyBpbXBsZW1lbnQgYSBjb25uZWN0aW9uIHNlcnZpY2Ugc28gdGhhdCB3ZSBjYW4gZ29cbiAgICAvLyBjb25uZWN0aW9uU2VydmVyLmVuc3VyZUNvbm5lY3RlZFRoZW4oZmlyZVdha2VFdmVudCk7XG4gICAgLy8gdGhpcy5fdGhyb3R0bGVkV2FrZUV2ZW50cyA9IGNoYWluKHRoaXMuX3dha2VFdmVudHMpLnRocm90dGxlKDMwMCk7XG5cbiAgfVxuXG4gIC8vIGdldCB3YWtlRXZlbnRzKCk6IFN0cmVhbTxJbnN0YW50PiB7XG4gIC8vICAgcmV0dXJuIHRoaXMuX3Rocm90dGxlZFdha2VFdmVudHM7XG4gIC8vIH1cblxuICAvLyBAdHJhY2VcbiAgcHJvdGVjdGVkIHVwZGF0ZVZpc2liaWxpdHlTdGF0ZSgpIHtcbiAgICB0aGlzLl92aXNpYmxlJC52YWx1ZSA9IHRoaXMuaXNWaXNpYmxlKCk7XG4gICAgLy8gdGhpcy5fd2FrZUV2ZW50cy5wdWJsaXNoKEluc3RhbnQubm93KCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSB2aXNpYmxlJCBpbnN0ZWFkLlxuICAgKi9cbiAgZ2V0IHZpc2libGVNb2RlbCgpOiBWYWx1ZU1vZGVsPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZSQucmVhZG9ubHkkO1xuICB9XG4gIGdldCB2aXNpYmxlJCgpOiBWYWx1ZU1vZGVsPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZSQucmVhZG9ubHkkO1xuICB9XG5cbiAgaXNIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5kb2N1bWVudFt0aGlzLmF0dHJpYnV0ZU5hbWVdO1xuICB9XG5cbiAgaXNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc0hpZGRlbigpO1xuICB9XG5cbn1cbiJdfQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaWJpbGl0eS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvc2VydmljZXMvdmlzaWJpbGl0eS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtIQUErSDtBQUcvSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBYyxNQUFNLGdCQUFnQixDQUFDOztBQUV0RixtRkFBbUY7QUFHbkYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGdCQUFnQjtJQUVwQyxRQUFRLENBQVc7SUFDbkIsYUFBYSxDQUFTO0lBQ3RCLFNBQVMsQ0FBUztJQUUzQixTQUFTLEdBQUcsSUFBSSxpQkFBaUIsRUFBVyxDQUFDO0lBQ3JELHNEQUFzRDtJQUN0RCxpREFBaUQ7SUFFakQsWUFBOEIsUUFBYTtRQUN6QyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsMkNBQTJDO1FBRXJFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhDLDBFQUEwRTtRQUMxRSxJQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssV0FBVyxFQUFFLEVBQUUsK0NBQStDO1lBQ2hHLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDO1lBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsa0JBQWtCLENBQUM7U0FDckM7YUFBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxXQUFXLEVBQUU7WUFDM0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUM7WUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQztTQUN2QzthQUFNLElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLFdBQVcsRUFBRTtZQUMvRCxJQUFJLENBQUMsYUFBYSxHQUFHLGNBQWMsQ0FBQztZQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLHdCQUF3QixDQUFDO1NBQzNDO1FBRUQsa0ZBQWtGO1FBQ2xGLElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixLQUFLLFdBQVcsSUFBSSxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssV0FBVyxFQUFFO1lBQ2hILE9BQU8sQ0FBQyxHQUFHLENBQUMsdUdBQXVHLENBQUMsQ0FBQztTQUN0SDthQUFNO1lBQ0wsZ0NBQWdDO1lBQ2hDLE1BQU0sT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM3RCxDQUFDLENBQUMsQ0FBQztTQUVKO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRXhDLHVGQUF1RjtRQUN2Rix3RUFBd0U7UUFDeEUsdURBQXVEO1FBQ3ZELHFFQUFxRTtJQUV2RSxDQUFDO0lBRUQsc0NBQXNDO0lBQ3RDLHNDQUFzQztJQUN0QyxJQUFJO0lBRUosU0FBUztJQUNDLHFCQUFxQjtRQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDeEMsMkNBQTJDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7SUFDbEMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUIsQ0FBQzt1R0E1RVUsaUJBQWlCLGtCQVVSLFFBQVE7MkdBVmpCLGlCQUFpQixjQURKLE1BQU07OzJGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFXbkIsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETzogTWVyZ2UgdmFyaW91cyB3YWtlIGRldGVjdGlvbiBldmVudHMgaW50byB0aGlzIGNsYXNzLiAgdmlzaWJpbGl0eSwgd2FrZSBldmVudHMsIHdlYnNvY2tldCBjb25uZWN0aW9uLCBvbmxpbmUgZGV0ZWN0aW9uLlxuXG5cbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHNsLCBHYXJiYWdlQ29sbGVjdG9yLCBNdXRhYmxlVmFsdWVNb2RlbCwgVmFsdWVNb2RlbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcblxuLy8gVGFrZW4gZnJvbTogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1BhZ2VfVmlzaWJpbGl0eV9BUElcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBWaXNpYmlsaXR5U2VydmljZSBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IERvY3VtZW50O1xuICBwcml2YXRlIHJlYWRvbmx5IGF0dHJpYnV0ZU5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBldmVudE5hbWU6IHN0cmluZztcblxuICBwcml2YXRlIF92aXNpYmxlJCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxib29sZWFuPigpO1xuICAvLyBwcml2YXRlIF93YWtlRXZlbnRzID0gbmV3IE11dGFibGVTdHJlYW08SW5zdGFudD4oKTtcbiAgLy8gcHJpdmF0ZSBfdGhyb3R0bGVkV2FrZUV2ZW50czogU3RyZWFtPEluc3RhbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnkpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZG9jdW1lbnQgPSBkb2N1bWVudDsgLy8gc2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS81MzcxNTY0MlxuXG4gICAgY29uc3QgeyBjaGFpbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuXG4gICAgLy8gU2V0IHRoZSBuYW1lIG9mIHRoZSBoaWRkZW4gcHJvcGVydHkgYW5kIHRoZSBjaGFuZ2UgZXZlbnQgZm9yIHZpc2liaWxpdHlcbiAgICBpZiAodHlwZW9mIHRoaXMuZG9jdW1lbnQuaGlkZGVuICE9PSAndW5kZWZpbmVkJykgeyAvLyBPcGVyYSAxMi4xMCBhbmQgRmlyZWZveCAxOCBhbmQgbGF0ZXIgc3VwcG9ydFxuICAgICAgdGhpcy5hdHRyaWJ1dGVOYW1lID0gJ2hpZGRlbic7XG4gICAgICB0aGlzLmV2ZW50TmFtZSA9ICd2aXNpYmlsaXR5Y2hhbmdlJztcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLmRvY3VtZW50Wydtc0hpZGRlbiddICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgdGhpcy5hdHRyaWJ1dGVOYW1lID0gJ21zSGlkZGVuJztcbiAgICAgIHRoaXMuZXZlbnROYW1lID0gJ21zdmlzaWJpbGl0eWNoYW5nZSc7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy5kb2N1bWVudFsnd2Via2l0SGlkZGVuJ10gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLmF0dHJpYnV0ZU5hbWUgPSAnd2Via2l0SGlkZGVuJztcbiAgICAgIHRoaXMuZXZlbnROYW1lID0gJ3dlYmtpdHZpc2liaWxpdHljaGFuZ2UnO1xuICAgIH1cblxuICAgIC8vIFdhcm4gaWYgdGhlIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGFkZEV2ZW50TGlzdGVuZXIgb3IgdGhlIFBhZ2UgVmlzaWJpbGl0eSBBUElcbiAgICBpZiAodHlwZW9mIHRoaXMuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lciA9PT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIGRvY3VtZW50W3RoaXMuYXR0cmlidXRlTmFtZV0gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBjb25zb2xlLmxvZygnVGhpcyBhcHAgcmVxdWlyZXMgYSBicm93c2VyLCBzdWNoIGFzIEdvb2dsZSBDaHJvbWUgb3IgRmlyZWZveCwgdGhhdCBzdXBwb3J0cyB0aGUgUGFnZSBWaXNpYmlsaXR5IEFQSS4nKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSGFuZGxlIHBhZ2UgdmlzaWJpbGl0eSBjaGFuZ2VcbiAgICAgIGNvbnN0IGhhbmRsZXIgPSAoKSA9PiB0aGlzLnVwZGF0ZVZpc2liaWxpdHlTdGF0ZSgpO1xuICAgICAgdGhpcy5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHRoaXMuZXZlbnROYW1lLCBoYW5kbGVyLCBmYWxzZSk7XG4gICAgICB0aGlzLm9uRGlzcG9zZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih0aGlzLmV2ZW50TmFtZSwgaGFuZGxlcik7XG4gICAgICB9KTtcblxuICAgIH1cblxuICAgIHRoaXMuX3Zpc2libGUkLnZhbHVlID0gdGhpcy5pc1Zpc2libGUoKTtcblxuICAgIC8vIGdpdmUgdGhlIG5ldHdvcmsgYSBjaGFuY2UgdG8gY29tZSBiYWNrIG9yIHdlIGVuZCB1cCB3aXRoIGEgYnVuY2ggb2YgZmFpbGVkIHJlcXVlc3RzLlxuICAgIC8vIHNob3VsZCBwcm9iYWJseSBhbHNvIGltcGxlbWVudCBhIGNvbm5lY3Rpb24gc2VydmljZSBzbyB0aGF0IHdlIGNhbiBnb1xuICAgIC8vIGNvbm5lY3Rpb25TZXJ2ZXIuZW5zdXJlQ29ubmVjdGVkVGhlbihmaXJlV2FrZUV2ZW50KTtcbiAgICAvLyB0aGlzLl90aHJvdHRsZWRXYWtlRXZlbnRzID0gY2hhaW4odGhpcy5fd2FrZUV2ZW50cykudGhyb3R0bGUoMzAwKTtcblxuICB9XG5cbiAgLy8gZ2V0IHdha2VFdmVudHMoKTogU3RyZWFtPEluc3RhbnQ+IHtcbiAgLy8gICByZXR1cm4gdGhpcy5fdGhyb3R0bGVkV2FrZUV2ZW50cztcbiAgLy8gfVxuXG4gIC8vIEB0cmFjZVxuICBwcm90ZWN0ZWQgdXBkYXRlVmlzaWJpbGl0eVN0YXRlKCkge1xuICAgIHRoaXMuX3Zpc2libGUkLnZhbHVlID0gdGhpcy5pc1Zpc2libGUoKTtcbiAgICAvLyB0aGlzLl93YWtlRXZlbnRzLnB1Ymxpc2goSW5zdGFudC5ub3coKSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIHZpc2libGUkIGluc3RlYWQuXG4gICAqL1xuICBnZXQgdmlzaWJsZU1vZGVsKCk6IFZhbHVlTW9kZWw8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlJC5yZWFkb25seSQ7XG4gIH1cbiAgZ2V0IHZpc2libGUkKCk6IFZhbHVlTW9kZWw8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlJC5yZWFkb25seSQ7XG4gIH1cblxuICBpc0hpZGRlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmRvY3VtZW50W3RoaXMuYXR0cmlidXRlTmFtZV07XG4gIH1cblxuICBpc1Zpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmlzSGlkZGVuKCk7XG4gIH1cblxufVxuIl19