@clr/angular 15.3.0 → 15.5.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 (375) hide show
  1. package/accordion/accordion-panel.d.ts +4 -4
  2. package/accordion/stepper/providers/stepper.service.d.ts +2 -1
  3. package/accordion/stepper/stepper-panel.d.ts +2 -2
  4. package/button/button-group/button-group.d.ts +7 -11
  5. package/button/button-group/button.d.ts +11 -11
  6. package/button/button-loading/loading-button.d.ts +2 -2
  7. package/button/providers/button-group-focus-handler.service.d.ts +1 -1
  8. package/clarity.api.md +133 -119
  9. package/data/datagrid/built-in/filters/datagrid-numeric-filter-impl.d.ts +7 -12
  10. package/data/datagrid/built-in/filters/datagrid-numeric-filter.d.ts +13 -16
  11. package/data/datagrid/built-in/filters/datagrid-string-filter-impl.d.ts +7 -7
  12. package/data/datagrid/built-in/filters/datagrid-string-filter.d.ts +10 -10
  13. package/data/datagrid/datagrid-action-overflow.d.ts +8 -8
  14. package/data/datagrid/datagrid-cell.d.ts +2 -2
  15. package/data/datagrid/datagrid-column-separator.d.ts +6 -6
  16. package/data/datagrid/datagrid-column-toggle-button.d.ts +2 -2
  17. package/data/datagrid/datagrid-column-toggle.d.ts +6 -6
  18. package/data/datagrid/datagrid-column.d.ts +37 -40
  19. package/data/datagrid/datagrid-detail-header.d.ts +1 -1
  20. package/data/datagrid/datagrid-filter.d.ts +5 -5
  21. package/data/datagrid/datagrid-footer.d.ts +1 -1
  22. package/data/datagrid/datagrid-hideable-column.d.ts +3 -3
  23. package/data/datagrid/datagrid-if-detail.d.ts +3 -3
  24. package/data/datagrid/datagrid-if-expanded.service.d.ts +4 -4
  25. package/data/datagrid/datagrid-items.d.ts +1 -1
  26. package/data/datagrid/datagrid-pagination.d.ts +17 -17
  27. package/data/datagrid/datagrid-row-detail.d.ts +8 -8
  28. package/data/datagrid/datagrid-row.d.ts +53 -48
  29. package/data/datagrid/datagrid.d.ts +43 -47
  30. package/data/datagrid/interfaces/filter.interface.d.ts +2 -2
  31. package/data/datagrid/providers/column-resizer.service.d.ts +3 -3
  32. package/data/datagrid/providers/columns.service.d.ts +2 -2
  33. package/data/datagrid/providers/detail.service.d.ts +7 -7
  34. package/data/datagrid/providers/display-mode.service.d.ts +1 -1
  35. package/data/datagrid/providers/filters.d.ts +2 -2
  36. package/data/datagrid/providers/global-expandable-rows.d.ts +3 -3
  37. package/data/datagrid/providers/items.d.ts +25 -25
  38. package/data/datagrid/providers/page.d.ts +21 -21
  39. package/data/datagrid/providers/row-action-service.d.ts +2 -2
  40. package/data/datagrid/providers/selection.d.ts +42 -42
  41. package/data/datagrid/providers/sort.d.ts +6 -6
  42. package/data/datagrid/providers/state-debouncer.provider.d.ts +1 -1
  43. package/data/datagrid/providers/state.provider.d.ts +1 -1
  44. package/data/datagrid/providers/table-size.service.d.ts +1 -1
  45. package/data/datagrid/render/cell-renderer.d.ts +3 -3
  46. package/data/datagrid/render/header-renderer.d.ts +3 -3
  47. package/data/datagrid/render/main-renderer.d.ts +12 -12
  48. package/data/datagrid/render/noop-dom-adapter.d.ts +7 -7
  49. package/data/datagrid/render/render-organizer.d.ts +1 -1
  50. package/data/datagrid/render/row-renderer.d.ts +1 -1
  51. package/data/datagrid/utils/datagrid-filter-registrar.d.ts +2 -2
  52. package/data/datagrid/utils/key-navigation-grid.controller.d.ts +5 -5
  53. package/data/stack-view/stack-block.d.ts +13 -13
  54. package/data/stack-view/stack-view-custom-tags.d.ts +1 -1
  55. package/data/tree-view/models/declarative-tree-node.model.d.ts +2 -2
  56. package/data/tree-view/models/recursive-tree-node.model.d.ts +5 -5
  57. package/data/tree-view/models/tree-node.model.d.ts +4 -4
  58. package/data/tree-view/recursive-children.d.ts +3 -3
  59. package/data/tree-view/recursive-for-of.d.ts +1 -1
  60. package/data/tree-view/tree-focus-manager.service.d.ts +8 -8
  61. package/data/tree-view/tree-node.d.ts +18 -18
  62. package/data/tree-view/tree.d.ts +2 -2
  63. package/emphasis/alert/alert.d.ts +11 -11
  64. package/emphasis/alert/alerts-pager.d.ts +6 -6
  65. package/emphasis/alert/alerts.d.ts +6 -6
  66. package/emphasis/alert/providers/icon-and-types.service.d.ts +1 -1
  67. package/emphasis/alert/providers/multi-alert.service.d.ts +2 -2
  68. package/esm2020/accordion/accordion-panel.mjs +4 -4
  69. package/esm2020/accordion/accordion.mjs +1 -1
  70. package/esm2020/accordion/providers/accordion.service.mjs +1 -1
  71. package/esm2020/accordion/stepper/providers/stepper.service.mjs +4 -4
  72. package/esm2020/accordion/stepper/stepper-panel.mjs +4 -4
  73. package/esm2020/accordion/stepper/stepper.mjs +1 -1
  74. package/esm2020/button/button-group/button-group.mjs +20 -21
  75. package/esm2020/button/button-group/button.mjs +14 -14
  76. package/esm2020/button/button-loading/loading-button.mjs +2 -2
  77. package/esm2020/button/providers/button-group-focus-handler.service.mjs +5 -5
  78. package/esm2020/button/providers/button-in-group.service.mjs +1 -1
  79. package/esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter-impl.mjs +11 -16
  80. package/esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter.mjs +59 -59
  81. package/esm2020/data/datagrid/built-in/filters/datagrid-string-filter-impl.mjs +10 -10
  82. package/esm2020/data/datagrid/built-in/filters/datagrid-string-filter.mjs +32 -32
  83. package/esm2020/data/datagrid/datagrid-action-overflow.mjs +26 -26
  84. package/esm2020/data/datagrid/datagrid-cell.mjs +4 -4
  85. package/esm2020/data/datagrid/datagrid-column-separator.mjs +6 -6
  86. package/esm2020/data/datagrid/datagrid-column-toggle-button.mjs +4 -4
  87. package/esm2020/data/datagrid/datagrid-column-toggle.mjs +7 -7
  88. package/esm2020/data/datagrid/datagrid-column.mjs +132 -132
  89. package/esm2020/data/datagrid/datagrid-detail-header.mjs +1 -1
  90. package/esm2020/data/datagrid/datagrid-filter.mjs +7 -7
  91. package/esm2020/data/datagrid/datagrid-footer.mjs +1 -1
  92. package/esm2020/data/datagrid/datagrid-hideable-column.mjs +5 -5
  93. package/esm2020/data/datagrid/datagrid-if-detail.mjs +9 -9
  94. package/esm2020/data/datagrid/datagrid-if-expanded.service.mjs +7 -7
  95. package/esm2020/data/datagrid/datagrid-items.mjs +1 -1
  96. package/esm2020/data/datagrid/datagrid-pagination.mjs +41 -41
  97. package/esm2020/data/datagrid/datagrid-row-detail.mjs +18 -18
  98. package/esm2020/data/datagrid/datagrid-row.mjs +122 -108
  99. package/esm2020/data/datagrid/datagrid.mjs +60 -57
  100. package/esm2020/data/datagrid/interfaces/filter.interface.mjs +1 -1
  101. package/esm2020/data/datagrid/providers/column-resizer.service.mjs +4 -4
  102. package/esm2020/data/datagrid/providers/columns.service.mjs +7 -7
  103. package/esm2020/data/datagrid/providers/detail.service.mjs +15 -15
  104. package/esm2020/data/datagrid/providers/display-mode.service.mjs +2 -2
  105. package/esm2020/data/datagrid/providers/filters.mjs +1 -1
  106. package/esm2020/data/datagrid/providers/global-expandable-rows.mjs +7 -7
  107. package/esm2020/data/datagrid/providers/items.mjs +41 -41
  108. package/esm2020/data/datagrid/providers/page.mjs +22 -22
  109. package/esm2020/data/datagrid/providers/row-action-service.mjs +7 -7
  110. package/esm2020/data/datagrid/providers/selection.mjs +68 -68
  111. package/esm2020/data/datagrid/providers/sort.mjs +4 -4
  112. package/esm2020/data/datagrid/providers/state-debouncer.provider.mjs +5 -5
  113. package/esm2020/data/datagrid/providers/state.provider.mjs +1 -1
  114. package/esm2020/data/datagrid/providers/table-size.service.mjs +1 -1
  115. package/esm2020/data/datagrid/render/cell-renderer.mjs +1 -1
  116. package/esm2020/data/datagrid/render/header-renderer.mjs +11 -11
  117. package/esm2020/data/datagrid/render/main-renderer.mjs +17 -17
  118. package/esm2020/data/datagrid/render/noop-dom-adapter.mjs +8 -15
  119. package/esm2020/data/datagrid/render/render-organizer.mjs +1 -1
  120. package/esm2020/data/datagrid/render/row-renderer.mjs +1 -1
  121. package/esm2020/data/datagrid/utils/datagrid-filter-registrar.mjs +4 -4
  122. package/esm2020/data/datagrid/utils/key-navigation-grid.controller.mjs +1 -1
  123. package/esm2020/data/stack-view/stack-block.mjs +37 -37
  124. package/esm2020/data/stack-view/stack-view-custom-tags.mjs +4 -4
  125. package/esm2020/data/tree-view/models/declarative-tree-node.model.mjs +7 -7
  126. package/esm2020/data/tree-view/models/recursive-tree-node.model.mjs +14 -14
  127. package/esm2020/data/tree-view/models/tree-node.model.mjs +15 -15
  128. package/esm2020/data/tree-view/recursive-children.mjs +1 -1
  129. package/esm2020/data/tree-view/recursive-for-of.mjs +1 -1
  130. package/esm2020/data/tree-view/tree-features.service.mjs +1 -1
  131. package/esm2020/data/tree-view/tree-focus-manager.service.mjs +33 -33
  132. package/esm2020/data/tree-view/tree-node.mjs +49 -49
  133. package/esm2020/data/tree-view/tree.mjs +8 -8
  134. package/esm2020/emphasis/alert/alert.mjs +33 -34
  135. package/esm2020/emphasis/alert/alerts-pager.mjs +17 -17
  136. package/esm2020/emphasis/alert/alerts.mjs +17 -17
  137. package/esm2020/emphasis/alert/providers/icon-and-types.service.mjs +1 -1
  138. package/esm2020/emphasis/alert/providers/multi-alert.service.mjs +4 -4
  139. package/esm2020/forms/checkbox/checkbox-container.mjs +4 -4
  140. package/esm2020/forms/checkbox/checkbox-wrapper.mjs +1 -1
  141. package/esm2020/forms/combobox/combobox.mjs +116 -113
  142. package/esm2020/forms/combobox/model/pseudo-focus.model.mjs +1 -1
  143. package/esm2020/forms/combobox/option-items.directive.mjs +16 -16
  144. package/esm2020/forms/combobox/option-selected.directive.mjs +1 -1
  145. package/esm2020/forms/combobox/option.mjs +12 -12
  146. package/esm2020/forms/combobox/options.mjs +13 -13
  147. package/esm2020/forms/combobox/providers/combobox-focus-handler.service.mjs +42 -42
  148. package/esm2020/forms/combobox/providers/option-selection.service.mjs +6 -6
  149. package/esm2020/forms/common/abstract-container.mjs +5 -5
  150. package/esm2020/forms/common/form.mjs +8 -8
  151. package/esm2020/forms/common/if-control-state/abstract-if-state.mjs +2 -3
  152. package/esm2020/forms/common/if-control-state/if-control-state.service.mjs +4 -5
  153. package/esm2020/forms/common/label.mjs +8 -8
  154. package/esm2020/forms/common/providers/container-id.service.mjs +1 -1
  155. package/esm2020/forms/common/providers/control-id.service.mjs +1 -1
  156. package/esm2020/forms/common/providers/focus.service.mjs +1 -1
  157. package/esm2020/forms/common/providers/layout.service.mjs +6 -6
  158. package/esm2020/forms/common/providers/mark-control.service.mjs +1 -1
  159. package/esm2020/forms/common/providers/ng-control.service.mjs +4 -4
  160. package/esm2020/forms/common/wrapped-control.mjs +25 -25
  161. package/esm2020/forms/datalist/datalist-input.mjs +1 -1
  162. package/esm2020/forms/datalist/datalist.mjs +7 -7
  163. package/esm2020/forms/datalist/providers/datalist-id.service.mjs +1 -1
  164. package/esm2020/forms/datepicker/calendar.mjs +24 -24
  165. package/esm2020/forms/datepicker/date-container.mjs +18 -18
  166. package/esm2020/forms/datepicker/date-input.mjs +31 -31
  167. package/esm2020/forms/datepicker/day.mjs +4 -4
  168. package/esm2020/forms/datepicker/daypicker.mjs +13 -13
  169. package/esm2020/forms/datepicker/model/calendar-view.model.mjs +9 -9
  170. package/esm2020/forms/datepicker/model/calendar.model.mjs +12 -12
  171. package/esm2020/forms/datepicker/model/day.model.mjs +4 -4
  172. package/esm2020/forms/datepicker/model/year-range.model.mjs +17 -17
  173. package/esm2020/forms/datepicker/monthpicker.mjs +15 -15
  174. package/esm2020/forms/datepicker/providers/date-form-control.service.mjs +1 -1
  175. package/esm2020/forms/datepicker/providers/date-io.service.mjs +48 -48
  176. package/esm2020/forms/datepicker/providers/date-navigation.service.mjs +30 -33
  177. package/esm2020/forms/datepicker/providers/datepicker-enabled.service.mjs +1 -1
  178. package/esm2020/forms/datepicker/providers/locale-helper.service.mjs +1 -1
  179. package/esm2020/forms/datepicker/providers/view-manager.service.mjs +2 -2
  180. package/esm2020/forms/datepicker/yearpicker.mjs +37 -37
  181. package/esm2020/forms/password/password-container.mjs +4 -4
  182. package/esm2020/forms/radio/radio-container.mjs +4 -4
  183. package/esm2020/forms/radio/radio-wrapper.mjs +1 -1
  184. package/esm2020/forms/range/range-container.mjs +4 -4
  185. package/esm2020/forms/select/select-container.mjs +1 -1
  186. package/esm2020/layout/nav/nav-level.mjs +45 -53
  187. package/esm2020/layout/nav/providers/responsive-navigation.service.mjs +1 -1
  188. package/esm2020/layout/tabs/providers/tabs.service.mjs +5 -5
  189. package/esm2020/layout/tabs/tab-content.mjs +11 -11
  190. package/esm2020/layout/tabs/tab-link.directive.mjs +18 -18
  191. package/esm2020/layout/tabs/tab.mjs +4 -4
  192. package/esm2020/layout/tabs/tabs.mjs +40 -40
  193. package/esm2020/layout/vertical-nav/providers/vertical-nav-group.service.mjs +1 -1
  194. package/esm2020/layout/vertical-nav/providers/vertical-nav.service.mjs +1 -1
  195. package/esm2020/layout/vertical-nav/vertical-nav-group.mjs +26 -26
  196. package/esm2020/layout/vertical-nav/vertical-nav.mjs +8 -8
  197. package/esm2020/modal/modal.mjs +4 -4
  198. package/esm2020/popover/common/abstract-popover.mjs +14 -14
  199. package/esm2020/popover/common/popover.mjs +2 -2
  200. package/esm2020/popover/dropdown/dropdown-item.mjs +7 -7
  201. package/esm2020/popover/dropdown/dropdown-menu.mjs +5 -5
  202. package/esm2020/popover/dropdown/dropdown.mjs +5 -5
  203. package/esm2020/popover/dropdown/providers/dropdown-focus-handler.service.mjs +49 -49
  204. package/esm2020/popover/dropdown/providers/dropdown.service.mjs +1 -1
  205. package/esm2020/popover/signpost/providers/signpost-id.service.mjs +4 -4
  206. package/esm2020/popover/signpost/signpost-content.mjs +13 -13
  207. package/esm2020/popover/signpost/signpost-trigger.mjs +12 -12
  208. package/esm2020/popover/signpost/signpost.mjs +4 -4
  209. package/esm2020/popover/tooltip/providers/tooltip-id.service.mjs +4 -4
  210. package/esm2020/popover/tooltip/tooltip-content.mjs +1 -1
  211. package/esm2020/popover/tooltip/tooltip.mjs +4 -4
  212. package/esm2020/progress/progress-bars/progress-bar.mjs +53 -61
  213. package/esm2020/progress/spinner/spinner.mjs +12 -1
  214. package/esm2020/timeline/timeline-step.mjs +6 -6
  215. package/esm2020/utils/chocolate/oompa-loompa.mjs +1 -1
  216. package/esm2020/utils/chocolate/willy-wonka.mjs +2 -2
  217. package/esm2020/utils/conditional/if-active.directive.mjs +22 -31
  218. package/esm2020/utils/conditional/if-active.service.mjs +5 -12
  219. package/esm2020/utils/conditional/if-expanded.directive.mjs +14 -14
  220. package/esm2020/utils/conditional/if-expanded.service.mjs +4 -4
  221. package/esm2020/utils/conditional/if-open.directive.mjs +14 -23
  222. package/esm2020/utils/focus/focus-on-view-init/focus-on-view-init.mjs +2 -2
  223. package/esm2020/utils/focus/focus-trap/index.mjs +7 -0
  224. package/esm2020/utils/focus/focus-trap/standalone-cdk-trap-focus.directive.mjs +19 -0
  225. package/esm2020/utils/focus/focus.service.mjs +1 -1
  226. package/esm2020/utils/focus/focusable-item/basic-focusable-item.service.mjs +1 -1
  227. package/esm2020/utils/focus/focusable-item/focusable-item.mjs +1 -1
  228. package/esm2020/utils/focus/key-focus/key-focus-item.mjs +1 -1
  229. package/esm2020/utils/focus/key-focus/key-focus.mjs +39 -35
  230. package/esm2020/utils/focus/key-focus/roving-tabindex.mjs +4 -4
  231. package/esm2020/utils/host-wrapping/host-wrapper.mjs +1 -1
  232. package/esm2020/utils/i18n/common-strings.default.mjs +2 -1
  233. package/esm2020/utils/i18n/common-strings.interface.mjs +1 -1
  234. package/esm2020/utils/i18n/common-strings.service.mjs +7 -7
  235. package/esm2020/utils/index.mjs +2 -1
  236. package/esm2020/utils/loading/loading.mjs +1 -1
  237. package/esm2020/utils/popover/index.mjs +2 -1
  238. package/esm2020/utils/popover/popover-close-button.mjs +2 -2
  239. package/esm2020/utils/popover/popover-content.mjs +17 -22
  240. package/esm2020/utils/popover/popover-host.directive.mjs +5 -5
  241. package/esm2020/utils/popover/popover-open-close-button.mjs +2 -2
  242. package/esm2020/utils/popover/providers/popover-events.service.mjs +24 -42
  243. package/esm2020/utils/popover/providers/popover-position.service.mjs +1 -7
  244. package/esm2020/utils/popover/providers/popover-toggle.service.mjs +14 -16
  245. package/esm2020/wizard/heading-level.mjs +7 -0
  246. package/esm2020/wizard/index.mjs +3 -2
  247. package/esm2020/wizard/providers/button-hub.service.mjs +1 -1
  248. package/esm2020/wizard/providers/header-actions.service.mjs +1 -3
  249. package/esm2020/wizard/providers/page-collection.service.mjs +30 -32
  250. package/esm2020/wizard/providers/wizard-navigation.service.mjs +52 -52
  251. package/esm2020/wizard/wizard-button.mjs +10 -10
  252. package/esm2020/wizard/wizard-header-action.mjs +1 -1
  253. package/esm2020/wizard/wizard-page-title.mjs +7 -4
  254. package/esm2020/wizard/wizard-page.mjs +92 -122
  255. package/esm2020/wizard/wizard-stepnav-item.mjs +6 -6
  256. package/esm2020/wizard/wizard-title.mjs +21 -0
  257. package/esm2020/wizard/wizard.mjs +72 -59
  258. package/esm2020/wizard/wizard.module.mjs +5 -5
  259. package/fesm2015/clr-angular.mjs +2352 -2408
  260. package/fesm2015/clr-angular.mjs.map +1 -1
  261. package/fesm2020/clr-angular.mjs +2358 -2408
  262. package/fesm2020/clr-angular.mjs.map +1 -1
  263. package/forms/checkbox/checkbox-container.d.ts +2 -2
  264. package/forms/combobox/combobox.d.ts +30 -28
  265. package/forms/combobox/option-items.directive.d.ts +2 -2
  266. package/forms/combobox/option-selected.directive.d.ts +1 -1
  267. package/forms/combobox/option.d.ts +5 -5
  268. package/forms/combobox/options.d.ts +6 -6
  269. package/forms/combobox/providers/combobox-focus-handler.service.d.ts +9 -9
  270. package/forms/combobox/providers/option-selection.service.d.ts +6 -5
  271. package/forms/common/abstract-container.d.ts +6 -9
  272. package/forms/common/form.d.ts +3 -3
  273. package/forms/common/if-control-state/abstract-if-state.d.ts +1 -1
  274. package/forms/common/if-control-state/if-control-state.service.d.ts +2 -2
  275. package/forms/common/label.d.ts +3 -3
  276. package/forms/common/providers/container-id.service.d.ts +1 -1
  277. package/forms/common/providers/control-id.service.d.ts +1 -1
  278. package/forms/common/providers/layout.service.d.ts +2 -2
  279. package/forms/common/providers/ng-control.service.d.ts +2 -2
  280. package/forms/common/wrapped-control.d.ts +10 -10
  281. package/forms/datalist/datalist-input.d.ts +1 -1
  282. package/forms/datalist/datalist.d.ts +2 -2
  283. package/forms/datalist/providers/datalist-id.service.d.ts +1 -1
  284. package/forms/datepicker/calendar.d.ts +13 -13
  285. package/forms/datepicker/date-container.d.ts +5 -5
  286. package/forms/datepicker/date-input.d.ts +7 -7
  287. package/forms/datepicker/day.d.ts +1 -1
  288. package/forms/datepicker/daypicker.d.ts +8 -8
  289. package/forms/datepicker/model/calendar-view.model.d.ts +5 -5
  290. package/forms/datepicker/model/calendar.model.d.ts +5 -5
  291. package/forms/datepicker/model/day.model.d.ts +1 -1
  292. package/forms/datepicker/model/year-range.model.d.ts +10 -10
  293. package/forms/datepicker/monthpicker.d.ts +9 -9
  294. package/forms/datepicker/providers/date-form-control.service.d.ts +2 -2
  295. package/forms/datepicker/providers/date-io.service.d.ts +3 -3
  296. package/forms/datepicker/providers/date-navigation.service.d.ts +21 -24
  297. package/forms/datepicker/providers/datepicker-enabled.service.d.ts +1 -1
  298. package/forms/datepicker/providers/locale-helper.service.d.ts +1 -1
  299. package/forms/datepicker/providers/view-manager.service.d.ts +1 -1
  300. package/forms/datepicker/yearpicker.d.ts +10 -10
  301. package/forms/password/password-container.d.ts +2 -2
  302. package/forms/radio/radio-container.d.ts +2 -2
  303. package/forms/range/range-container.d.ts +2 -2
  304. package/layout/nav/nav-level.d.ts +10 -14
  305. package/layout/nav/providers/responsive-navigation.service.d.ts +1 -1
  306. package/layout/tabs/providers/tabs.service.d.ts +3 -3
  307. package/layout/tabs/tab-content.d.ts +4 -4
  308. package/layout/tabs/tab-link.directive.d.ts +6 -6
  309. package/layout/tabs/tab.d.ts +1 -1
  310. package/layout/tabs/tabs.d.ts +14 -14
  311. package/layout/vertical-nav/providers/vertical-nav.service.d.ts +3 -3
  312. package/layout/vertical-nav/vertical-nav-group.d.ts +8 -8
  313. package/layout/vertical-nav/vertical-nav.d.ts +4 -4
  314. package/package.json +4 -4
  315. package/popover/common/abstract-popover.d.ts +9 -9
  316. package/popover/common/popover.d.ts +2 -2
  317. package/popover/dropdown/dropdown-item.d.ts +2 -2
  318. package/popover/dropdown/dropdown-menu.d.ts +2 -2
  319. package/popover/dropdown/dropdown.d.ts +2 -2
  320. package/popover/dropdown/providers/dropdown-focus-handler.service.d.ts +15 -15
  321. package/popover/signpost/providers/signpost-id.service.d.ts +1 -1
  322. package/popover/signpost/signpost-content.d.ts +9 -9
  323. package/popover/signpost/signpost-trigger.d.ts +3 -3
  324. package/popover/signpost/signpost.d.ts +2 -2
  325. package/popover/tooltip/providers/tooltip-id.service.d.ts +1 -1
  326. package/popover/tooltip/tooltip-content.d.ts +3 -3
  327. package/popover/tooltip/tooltip.d.ts +1 -1
  328. package/progress/progress-bars/progress-bar.d.ts +24 -29
  329. package/progress/spinner/spinner.d.ts +4 -11
  330. package/timeline/timeline-step.d.ts +2 -2
  331. package/utils/chocolate/oompa-loompa.d.ts +2 -2
  332. package/utils/chocolate/willy-wonka.d.ts +1 -1
  333. package/utils/conditional/if-active.directive.d.ts +12 -21
  334. package/utils/conditional/if-active.service.d.ts +2 -9
  335. package/utils/conditional/if-expanded.directive.d.ts +5 -5
  336. package/utils/conditional/if-expanded.service.d.ts +3 -3
  337. package/utils/conditional/if-open.directive.d.ts +10 -19
  338. package/utils/focus/focus-on-view-init/focus-on-view-init.d.ts +2 -2
  339. package/utils/focus/focus-trap/index.d.ts +1 -0
  340. package/utils/focus/focus-trap/standalone-cdk-trap-focus.directive.d.ts +6 -0
  341. package/utils/focus/focus.service.d.ts +2 -2
  342. package/utils/focus/focusable-item/basic-focusable-item.service.d.ts +1 -1
  343. package/utils/focus/focusable-item/focusable-item.d.ts +3 -3
  344. package/utils/focus/key-focus/key-focus-item.d.ts +1 -1
  345. package/utils/focus/key-focus/key-focus.d.ts +13 -9
  346. package/utils/focus/key-focus/roving-tabindex.d.ts +2 -2
  347. package/utils/host-wrapping/host-wrapper.d.ts +1 -1
  348. package/utils/i18n/common-strings.interface.d.ts +4 -0
  349. package/utils/i18n/common-strings.service.d.ts +4 -4
  350. package/utils/index.d.ts +1 -0
  351. package/utils/loading/loading.d.ts +1 -1
  352. package/utils/popover/index.d.ts +1 -0
  353. package/utils/popover/popover-close-button.d.ts +1 -1
  354. package/utils/popover/popover-content.d.ts +6 -6
  355. package/utils/popover/popover-host.directive.d.ts +3 -3
  356. package/utils/popover/popover-open-close-button.d.ts +1 -1
  357. package/utils/popover/providers/popover-events.service.d.ts +9 -15
  358. package/utils/popover/providers/popover-position.service.d.ts +3 -5
  359. package/utils/popover/providers/popover-toggle.service.d.ts +5 -9
  360. package/wizard/heading-level.d.ts +1 -0
  361. package/wizard/index.d.ts +2 -1
  362. package/wizard/providers/button-hub.service.d.ts +5 -5
  363. package/wizard/providers/header-actions.service.d.ts +1 -1
  364. package/wizard/providers/page-collection.service.d.ts +21 -21
  365. package/wizard/providers/wizard-navigation.service.d.ts +90 -90
  366. package/wizard/wizard-button.d.ts +1 -1
  367. package/wizard/wizard-header-action.d.ts +1 -1
  368. package/wizard/wizard-page-title.d.ts +3 -1
  369. package/wizard/wizard-page.d.ts +164 -194
  370. package/wizard/wizard-stepnav-item.d.ts +1 -1
  371. package/wizard/wizard-title.d.ts +7 -0
  372. package/wizard/wizard.d.ts +64 -56
  373. package/wizard/wizard.module.d.ts +2 -2
  374. package/esm2020/wizard/wizard-custom-tags.mjs +0 -18
  375. package/wizard/wizard-custom-tags.d.ts +0 -5
@@ -17,6 +17,12 @@ export class DeclarativeTreeNodeModel extends TreeNodeModel {
17
17
  }
18
18
  this.children = [];
19
19
  }
20
+ destroy() {
21
+ if (this.parent) {
22
+ this.parent._removeChild(this);
23
+ }
24
+ super.destroy();
25
+ }
20
26
  _addChild(child) {
21
27
  this.children.push(child);
22
28
  }
@@ -26,11 +32,5 @@ export class DeclarativeTreeNodeModel extends TreeNodeModel {
26
32
  this.children.splice(index, 1);
27
33
  }
28
34
  }
29
- destroy() {
30
- if (this.parent) {
31
- this.parent._removeChild(this);
32
- }
33
- super.destroy();
34
- }
35
35
  }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjbGFyYXRpdmUtdHJlZS1ub2RlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS90cmVlLXZpZXcvbW9kZWxzL2RlY2xhcmF0aXZlLXRyZWUtbm9kZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxEOzs7R0FHRztBQUNILE1BQU0sT0FBTyx3QkFBNEIsU0FBUSxhQUFnQjtJQUMvRCxZQUFZLE1BQTBDO1FBQ3BELEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxNQUFNLEVBQUU7WUFDVixNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQU1ELFNBQVMsQ0FBQyxLQUFrQztRQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWtDO1FBQzdDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUVRLE9BQU87UUFDZCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNoQztRQUNELEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNsQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IFRyZWVOb2RlTW9kZWwgfSBmcm9tICcuL3RyZWUtbm9kZS5tb2RlbCc7XG5cbi8qXG4gKiBBIGRlY2xhcmF0aXZlIG1vZGVsIGlzIGJ1aWx0IGJ5IHRyYXZlcnNpbmcgdGhlIEFuZ3VsYXIgY29tcG9uZW50IHRyZWUuXG4gKiBEZWNsYXJhdGl2ZSA9IFRyZWUgbm9kZSBjb21wb25lbnRzIGRpY3RhdGUgdGhlIG1vZGVsXG4gKi9cbmV4cG9ydCBjbGFzcyBEZWNsYXJhdGl2ZVRyZWVOb2RlTW9kZWw8VD4gZXh0ZW5kcyBUcmVlTm9kZU1vZGVsPFQ+IHtcbiAgY29uc3RydWN0b3IocGFyZW50OiBEZWNsYXJhdGl2ZVRyZWVOb2RlTW9kZWw8VD4gfCBudWxsKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnBhcmVudCA9IHBhcmVudDtcbiAgICBpZiAocGFyZW50KSB7XG4gICAgICBwYXJlbnQuX2FkZENoaWxkKHRoaXMpO1xuICAgIH1cbiAgICB0aGlzLmNoaWxkcmVuID0gW107XG4gIH1cblxuICAvLyBPdmVycmlkZSBmb3IgYSBtb3JlIHByZWNpc2UgdHlwZVxuICBwYXJlbnQ6IERlY2xhcmF0aXZlVHJlZU5vZGVNb2RlbDxUPiB8IG51bGw7XG4gIGNoaWxkcmVuOiBEZWNsYXJhdGl2ZVRyZWVOb2RlTW9kZWw8VD5bXTtcblxuICBfYWRkQ2hpbGQoY2hpbGQ6IERlY2xhcmF0aXZlVHJlZU5vZGVNb2RlbDxUPikge1xuICAgIHRoaXMuY2hpbGRyZW4ucHVzaChjaGlsZCk7XG4gIH1cblxuICBfcmVtb3ZlQ2hpbGQoY2hpbGQ6IERlY2xhcmF0aXZlVHJlZU5vZGVNb2RlbDxUPikge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jaGlsZHJlbi5pbmRleE9mKGNoaWxkKTtcbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgdGhpcy5jaGlsZHJlbi5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIGRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMucGFyZW50KSB7XG4gICAgICB0aGlzLnBhcmVudC5fcmVtb3ZlQ2hpbGQodGhpcyk7XG4gICAgfVxuICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgfVxufVxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjbGFyYXRpdmUtdHJlZS1ub2RlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS90cmVlLXZpZXcvbW9kZWxzL2RlY2xhcmF0aXZlLXRyZWUtbm9kZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxEOzs7R0FHRztBQUNILE1BQU0sT0FBTyx3QkFBNEIsU0FBUSxhQUFnQjtJQUsvRCxZQUFZLE1BQTBDO1FBQ3BELEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxNQUFNLEVBQUU7WUFDVixNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVRLE9BQU87UUFDZCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNoQztRQUNELEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWtDO1FBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBa0M7UUFDN0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDaEM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IFRyZWVOb2RlTW9kZWwgfSBmcm9tICcuL3RyZWUtbm9kZS5tb2RlbCc7XG5cbi8qXG4gKiBBIGRlY2xhcmF0aXZlIG1vZGVsIGlzIGJ1aWx0IGJ5IHRyYXZlcnNpbmcgdGhlIEFuZ3VsYXIgY29tcG9uZW50IHRyZWUuXG4gKiBEZWNsYXJhdGl2ZSA9IFRyZWUgbm9kZSBjb21wb25lbnRzIGRpY3RhdGUgdGhlIG1vZGVsXG4gKi9cbmV4cG9ydCBjbGFzcyBEZWNsYXJhdGl2ZVRyZWVOb2RlTW9kZWw8VD4gZXh0ZW5kcyBUcmVlTm9kZU1vZGVsPFQ+IHtcbiAgLy8gT3ZlcnJpZGUgZm9yIGEgbW9yZSBwcmVjaXNlIHR5cGVcbiAgcGFyZW50OiBEZWNsYXJhdGl2ZVRyZWVOb2RlTW9kZWw8VD4gfCBudWxsO1xuICBjaGlsZHJlbjogRGVjbGFyYXRpdmVUcmVlTm9kZU1vZGVsPFQ+W107XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBEZWNsYXJhdGl2ZVRyZWVOb2RlTW9kZWw8VD4gfCBudWxsKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnBhcmVudCA9IHBhcmVudDtcbiAgICBpZiAocGFyZW50KSB7XG4gICAgICBwYXJlbnQuX2FkZENoaWxkKHRoaXMpO1xuICAgIH1cbiAgICB0aGlzLmNoaWxkcmVuID0gW107XG4gIH1cblxuICBvdmVycmlkZSBkZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnBhcmVudCkge1xuICAgICAgdGhpcy5wYXJlbnQuX3JlbW92ZUNoaWxkKHRoaXMpO1xuICAgIH1cbiAgICBzdXBlci5kZXN0cm95KCk7XG4gIH1cblxuICBfYWRkQ2hpbGQoY2hpbGQ6IERlY2xhcmF0aXZlVHJlZU5vZGVNb2RlbDxUPikge1xuICAgIHRoaXMuY2hpbGRyZW4ucHVzaChjaGlsZCk7XG4gIH1cblxuICBfcmVtb3ZlQ2hpbGQoY2hpbGQ6IERlY2xhcmF0aXZlVHJlZU5vZGVNb2RlbDxUPikge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jaGlsZHJlbi5pbmRleE9mKGNoaWxkKTtcbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgdGhpcy5jaGlsZHJlbi5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -20,6 +20,19 @@ export class RecursiveTreeNodeModel extends TreeNodeModel {
20
20
  this.model = model;
21
21
  this.parent = parent;
22
22
  }
23
+ get children() {
24
+ this.fetchChildren();
25
+ return this._children;
26
+ }
27
+ set children(value) {
28
+ this._children = value;
29
+ }
30
+ destroy() {
31
+ if (this.subscription) {
32
+ this.subscription.unsubscribe();
33
+ }
34
+ super.destroy();
35
+ }
23
36
  clearChildren() {
24
37
  this._children.forEach(child => child.destroy());
25
38
  delete this._children;
@@ -59,18 +72,5 @@ export class RecursiveTreeNodeModel extends TreeNodeModel {
59
72
  wrapChildren(rawModels) {
60
73
  return rawModels.map(m => new RecursiveTreeNodeModel(m, this, this.getChildren, this.featuresService));
61
74
  }
62
- get children() {
63
- this.fetchChildren();
64
- return this._children;
65
- }
66
- set children(value) {
67
- this._children = value;
68
- }
69
- destroy() {
70
- if (this.subscription) {
71
- this.subscription.unsubscribe();
72
- }
73
- super.destroy();
74
- }
75
75
  }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdXJzaXZlLXRyZWUtbm9kZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2RhdGEvdHJlZS12aWV3L21vZGVscy9yZWN1cnNpdmUtdHJlZS1ub2RlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUdsRCxPQUFPLEVBQWMsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sc0JBQTBCLFNBQVEsYUFBZ0I7SUFDN0QsWUFDRSxLQUFRLEVBQ1IsTUFBd0MsRUFDaEMsV0FBbUQsRUFDbkQsZUFBbUQ7UUFFM0QsS0FBSyxFQUFFLENBQUM7UUFIQSxnQkFBVyxHQUFYLFdBQVcsQ0FBd0M7UUFDbkQsb0JBQWUsR0FBZixlQUFlLENBQW9DO1FBU3JELG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBMEN4QixjQUFTLEdBQWdDLEVBQUUsQ0FBQztRQWhEbEQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQU1ELGFBQWE7UUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN0QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixPQUFPO1NBQ1I7UUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCxJQUFJLFNBQVMsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTSxJQUFJLFlBQVksQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDdkIsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNLElBQUksYUFBYSxFQUFFO1lBQ3hCLG1CQUFtQjtZQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDbkQ7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1NBQ3JCO1FBQ0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzdDO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxTQUFjO1FBQ2pDLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksc0JBQXNCLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ3pHLENBQUM7SUFHRCxJQUFJLFFBQVE7UUFDVixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFrQztRQUM3QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBSVEsT0FBTztRQUNkLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2pDO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgaXNPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgVHJlZUZlYXR1cmVzU2VydmljZSB9IGZyb20gJy4uL3RyZWUtZmVhdHVyZXMuc2VydmljZSc7XG5pbXBvcnQgeyBBc3luY0FycmF5LCBpc1Byb21pc2UgfSBmcm9tICcuL2FzeW5jLWFycmF5JztcbmltcG9ydCB7IFRyZWVOb2RlTW9kZWwgfSBmcm9tICcuL3RyZWUtbm9kZS5tb2RlbCc7XG5cbi8qXG4gKiBBIHJlY3Vyc2l2ZSBtb2RlbCBpcyBidWlsdCByZWNlaXZlZCBmcm9tIHRoZSBhcHAgYW5kIHRyYXZlcnNlZCB0byBjcmVhdGUgdGhlIGNvcnJlc3BvbmRpbmcgY29tcG9uZW50cy5cbiAqIFJlY3Vyc2l2ZSA9IE1vZGVsIGRpY3RhdGVzIHRoZSB0cmVlIG5vZGUgY29tcG9uZW50c1xuICovXG5leHBvcnQgY2xhc3MgUmVjdXJzaXZlVHJlZU5vZGVNb2RlbDxUPiBleHRlbmRzIFRyZWVOb2RlTW9kZWw8VD4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBtb2RlbDogVCxcbiAgICBwYXJlbnQ6IFJlY3Vyc2l2ZVRyZWVOb2RlTW9kZWw8VD4gfCBudWxsLFxuICAgIHByaXZhdGUgZ2V0Q2hpbGRyZW46IChub2RlOiBUKSA9PiBBc3luY0FycmF5PFQ+IHwgdW5kZWZpbmVkLFxuICAgIHByaXZhdGUgZmVhdHVyZXNTZXJ2aWNlOiBUcmVlRmVhdHVyZXNTZXJ2aWNlPFQ+IHwgdW5kZWZpbmVkXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5tb2RlbCA9IG1vZGVsO1xuICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICB9XG5cbiAgcGFyZW50OiBSZWN1cnNpdmVUcmVlTm9kZU1vZGVsPFQ+IHwgbnVsbDtcblxuICBwcml2YXRlIGNoaWxkcmVuRmV0Y2hlZCA9IGZhbHNlO1xuXG4gIGNsZWFyQ2hpbGRyZW4oKSB7XG4gICAgdGhpcy5fY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiBjaGlsZC5kZXN0cm95KCkpO1xuICAgIGRlbGV0ZSB0aGlzLl9jaGlsZHJlbjtcbiAgICB0aGlzLmNoaWxkcmVuRmV0Y2hlZCA9IGZhbHNlO1xuICB9XG5cbiAgZmV0Y2hDaGlsZHJlbigpIHtcbiAgICBpZiAodGhpcy5jaGlsZHJlbkZldGNoZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBhc3luY0NoaWxkcmVuID0gdGhpcy5nZXRDaGlsZHJlbih0aGlzLm1vZGVsKTtcbiAgICBpZiAoaXNQcm9taXNlKGFzeW5jQ2hpbGRyZW4pKSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgYXN5bmNDaGlsZHJlbi50aGVuKHJhdyA9PiB7XG4gICAgICAgIHRoaXMuX2NoaWxkcmVuID0gdGhpcy53cmFwQ2hpbGRyZW4ocmF3KTtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKGlzT2JzZXJ2YWJsZShhc3luY0NoaWxkcmVuKSkge1xuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gYXN5bmNDaGlsZHJlbi5zdWJzY3JpYmUocmF3ID0+IHtcbiAgICAgICAgdGhpcy5fY2hpbGRyZW4gPSB0aGlzLndyYXBDaGlsZHJlbihyYXcpO1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoYXN5bmNDaGlsZHJlbikge1xuICAgICAgLy8gU3luY2hyb25vdXMgY2FzZVxuICAgICAgdGhpcy5fY2hpbGRyZW4gPSB0aGlzLndyYXBDaGlsZHJlbihhc3luY0NoaWxkcmVuKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fY2hpbGRyZW4gPSBbXTtcbiAgICB9XG4gICAgdGhpcy5jaGlsZHJlbkZldGNoZWQgPSB0cnVlO1xuICAgIGlmICh0aGlzLmZlYXR1cmVzU2VydmljZSkge1xuICAgICAgdGhpcy5mZWF0dXJlc1NlcnZpY2UuY2hpbGRyZW5GZXRjaGVkLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHdyYXBDaGlsZHJlbihyYXdNb2RlbHM6IFRbXSkge1xuICAgIHJldHVybiByYXdNb2RlbHMubWFwKG0gPT4gbmV3IFJlY3Vyc2l2ZVRyZWVOb2RlTW9kZWwobSwgdGhpcywgdGhpcy5nZXRDaGlsZHJlbiwgdGhpcy5mZWF0dXJlc1NlcnZpY2UpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoaWxkcmVuOiBSZWN1cnNpdmVUcmVlTm9kZU1vZGVsPFQ+W10gPSBbXTtcbiAgZ2V0IGNoaWxkcmVuKCk6IFJlY3Vyc2l2ZVRyZWVOb2RlTW9kZWw8VD5bXSB7XG4gICAgdGhpcy5mZXRjaENoaWxkcmVuKCk7XG4gICAgcmV0dXJuIHRoaXMuX2NoaWxkcmVuO1xuICB9XG4gIHNldCBjaGlsZHJlbih2YWx1ZTogUmVjdXJzaXZlVHJlZU5vZGVNb2RlbDxUPltdKSB7XG4gICAgdGhpcy5fY2hpbGRyZW4gPSB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgb3ZlcnJpZGUgZGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgfVxufVxuIl19
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdXJzaXZlLXRyZWUtbm9kZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2RhdGEvdHJlZS12aWV3L21vZGVscy9yZWN1cnNpdmUtdHJlZS1ub2RlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUdsRCxPQUFPLEVBQWMsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sc0JBQTBCLFNBQVEsYUFBZ0I7SUFPN0QsWUFDRSxLQUFRLEVBQ1IsTUFBd0MsRUFDaEMsV0FBbUQsRUFDbkQsZUFBbUQ7UUFFM0QsS0FBSyxFQUFFLENBQUM7UUFIQSxnQkFBVyxHQUFYLFdBQVcsQ0FBd0M7UUFDbkQsb0JBQWUsR0FBZixlQUFlLENBQW9DO1FBUHJELG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGNBQVMsR0FBZ0MsRUFBRSxDQUFDO1FBU2xELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFrQztRQUM3QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRVEsT0FBTztRQUNkLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2pDO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNqRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsT0FBTztTQUNSO1FBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkQsSUFBSSxTQUFTLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN2QixDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU0sSUFBSSxZQUFZLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTSxJQUFJLGFBQWEsRUFBRTtZQUN4QixtQkFBbUI7WUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ25EO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztTQUNyQjtRQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQzVCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUM3QztJQUNILENBQUM7SUFFTyxZQUFZLENBQUMsU0FBYztRQUNqQyxPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLHNCQUFzQixDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUN6RyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFRyZWVGZWF0dXJlc1NlcnZpY2UgfSBmcm9tICcuLi90cmVlLWZlYXR1cmVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXN5bmNBcnJheSwgaXNQcm9taXNlIH0gZnJvbSAnLi9hc3luYy1hcnJheSc7XG5pbXBvcnQgeyBUcmVlTm9kZU1vZGVsIH0gZnJvbSAnLi90cmVlLW5vZGUubW9kZWwnO1xuXG4vKlxuICogQSByZWN1cnNpdmUgbW9kZWwgaXMgYnVpbHQgcmVjZWl2ZWQgZnJvbSB0aGUgYXBwIGFuZCB0cmF2ZXJzZWQgdG8gY3JlYXRlIHRoZSBjb3JyZXNwb25kaW5nIGNvbXBvbmVudHMuXG4gKiBSZWN1cnNpdmUgPSBNb2RlbCBkaWN0YXRlcyB0aGUgdHJlZSBub2RlIGNvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGNsYXNzIFJlY3Vyc2l2ZVRyZWVOb2RlTW9kZWw8VD4gZXh0ZW5kcyBUcmVlTm9kZU1vZGVsPFQ+IHtcbiAgcGFyZW50OiBSZWN1cnNpdmVUcmVlTm9kZU1vZGVsPFQ+IHwgbnVsbDtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGNoaWxkcmVuRmV0Y2hlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9jaGlsZHJlbjogUmVjdXJzaXZlVHJlZU5vZGVNb2RlbDxUPltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbW9kZWw6IFQsXG4gICAgcGFyZW50OiBSZWN1cnNpdmVUcmVlTm9kZU1vZGVsPFQ+IHwgbnVsbCxcbiAgICBwcml2YXRlIGdldENoaWxkcmVuOiAobm9kZTogVCkgPT4gQXN5bmNBcnJheTxUPiB8IHVuZGVmaW5lZCxcbiAgICBwcml2YXRlIGZlYXR1cmVzU2VydmljZTogVHJlZUZlYXR1cmVzU2VydmljZTxUPiB8IHVuZGVmaW5lZFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubW9kZWwgPSBtb2RlbDtcbiAgICB0aGlzLnBhcmVudCA9IHBhcmVudDtcbiAgfVxuXG4gIGdldCBjaGlsZHJlbigpOiBSZWN1cnNpdmVUcmVlTm9kZU1vZGVsPFQ+W10ge1xuICAgIHRoaXMuZmV0Y2hDaGlsZHJlbigpO1xuICAgIHJldHVybiB0aGlzLl9jaGlsZHJlbjtcbiAgfVxuICBzZXQgY2hpbGRyZW4odmFsdWU6IFJlY3Vyc2l2ZVRyZWVOb2RlTW9kZWw8VD5bXSkge1xuICAgIHRoaXMuX2NoaWxkcmVuID0gdmFsdWU7XG4gIH1cblxuICBvdmVycmlkZSBkZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgc3VwZXIuZGVzdHJveSgpO1xuICB9XG5cbiAgY2xlYXJDaGlsZHJlbigpIHtcbiAgICB0aGlzLl9jaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IGNoaWxkLmRlc3Ryb3koKSk7XG4gICAgZGVsZXRlIHRoaXMuX2NoaWxkcmVuO1xuICAgIHRoaXMuY2hpbGRyZW5GZXRjaGVkID0gZmFsc2U7XG4gIH1cblxuICBmZXRjaENoaWxkcmVuKCkge1xuICAgIGlmICh0aGlzLmNoaWxkcmVuRmV0Y2hlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGFzeW5jQ2hpbGRyZW4gPSB0aGlzLmdldENoaWxkcmVuKHRoaXMubW9kZWwpO1xuICAgIGlmIChpc1Byb21pc2UoYXN5bmNDaGlsZHJlbikpIHtcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICBhc3luY0NoaWxkcmVuLnRoZW4ocmF3ID0+IHtcbiAgICAgICAgdGhpcy5fY2hpbGRyZW4gPSB0aGlzLndyYXBDaGlsZHJlbihyYXcpO1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoaXNPYnNlcnZhYmxlKGFzeW5jQ2hpbGRyZW4pKSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSBhc3luY0NoaWxkcmVuLnN1YnNjcmliZShyYXcgPT4ge1xuICAgICAgICB0aGlzLl9jaGlsZHJlbiA9IHRoaXMud3JhcENoaWxkcmVuKHJhdyk7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChhc3luY0NoaWxkcmVuKSB7XG4gICAgICAvLyBTeW5jaHJvbm91cyBjYXNlXG4gICAgICB0aGlzLl9jaGlsZHJlbiA9IHRoaXMud3JhcENoaWxkcmVuKGFzeW5jQ2hpbGRyZW4pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9jaGlsZHJlbiA9IFtdO1xuICAgIH1cbiAgICB0aGlzLmNoaWxkcmVuRmV0Y2hlZCA9IHRydWU7XG4gICAgaWYgKHRoaXMuZmVhdHVyZXNTZXJ2aWNlKSB7XG4gICAgICB0aGlzLmZlYXR1cmVzU2VydmljZS5jaGlsZHJlbkZldGNoZWQubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgd3JhcENoaWxkcmVuKHJhd01vZGVsczogVFtdKSB7XG4gICAgcmV0dXJuIHJhd01vZGVscy5tYXAobSA9PiBuZXcgUmVjdXJzaXZlVHJlZU5vZGVNb2RlbChtLCB0aGlzLCB0aGlzLmdldENoaWxkcmVuLCB0aGlzLmZlYXR1cmVzU2VydmljZSkpO1xuICB9XG59XG4iXX0=
@@ -7,6 +7,7 @@ import { BehaviorSubject } from 'rxjs';
7
7
  import { ClrSelectedState } from './selected-state.enum';
8
8
  export class TreeNodeModel {
9
9
  constructor() {
10
+ this.loading$ = new BehaviorSubject(false);
10
11
  this.selected = new BehaviorSubject(ClrSelectedState.UNSELECTED);
11
12
  /*
12
13
  * Being able to push this down to the RecursiveTreeNodeModel would require too much work on the angular components
@@ -14,7 +15,6 @@ export class TreeNodeModel {
14
15
  * abstract parent class for now and we can revisit it later, when we're not facing such a close deadline.
15
16
  */
16
17
  this._loading = false;
17
- this.loading$ = new BehaviorSubject(false);
18
18
  }
19
19
  get loading() {
20
20
  return this._loading;
@@ -47,6 +47,19 @@ export class TreeNodeModel {
47
47
  // It should never be called from lifecycle hooks or app-provided inputs.
48
48
  this.setSelected(newState, true, propagate);
49
49
  }
50
+ /*
51
+ * Internal, but needs to be called by other nodes
52
+ */
53
+ _updateSelectionFromChildren() {
54
+ const newState = this.computeSelectionStateFromChildren();
55
+ if (newState === this.selected.value) {
56
+ return;
57
+ }
58
+ this.selected.next(newState);
59
+ if (this.parent) {
60
+ this.parent._updateSelectionFromChildren();
61
+ }
62
+ }
50
63
  computeSelectionStateFromChildren() {
51
64
  let oneSelected = false;
52
65
  let oneUnselected = false;
@@ -81,18 +94,5 @@ export class TreeNodeModel {
81
94
  return ClrSelectedState.UNSELECTED;
82
95
  }
83
96
  }
84
- /*
85
- * Internal, but needs to be called by other nodes
86
- */
87
- _updateSelectionFromChildren() {
88
- const newState = this.computeSelectionStateFromChildren();
89
- if (newState === this.selected.value) {
90
- return;
91
- }
92
- this.selected.next(newState);
93
- if (this.parent) {
94
- this.parent._updateSelectionFromChildren();
95
- }
96
- }
97
97
  }
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS90cmVlLXZpZXcvbW9kZWxzL3RyZWUtbm9kZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxNQUFNLE9BQWdCLGFBQWE7SUFBbkM7UUFHRSxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQW1CLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBYTlFOzs7O1dBSUc7UUFDSyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQXFGakQsQ0FBQztJQW5GQyxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLFNBQWtCO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxPQUFPO1FBQ0wsa0JBQWtCO1FBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELDRFQUE0RTtJQUM1RSxXQUFXLENBQUMsS0FBdUIsRUFBRSxXQUFvQixFQUFFLGFBQXNCO1FBQy9FLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFO1lBQ2pDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksYUFBYSxJQUFJLEtBQUssS0FBSyxnQkFBZ0IsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUM5RSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3ZFO1FBQ0QsSUFBSSxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLDRCQUE0QixFQUFFLENBQUM7U0FDNUM7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQWtCO1FBQ2hDLHVEQUF1RDtRQUN2RCxNQUFNLFFBQVEsR0FDWixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO1FBQzlHLGlIQUFpSDtRQUNqSCx5RUFBeUU7UUFDekUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTyxpQ0FBaUM7UUFDdkMsSUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMxQixtR0FBbUc7UUFDbkcsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pDLFFBQVEsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUU7Z0JBQzVCLEtBQUssZ0JBQWdCLENBQUMsYUFBYTtvQkFDakMsT0FBTyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7Z0JBQ3hDLEtBQUssZ0JBQWdCLENBQUMsUUFBUTtvQkFDNUIsV0FBVyxHQUFHLElBQUksQ0FBQztvQkFDbkIsSUFBSSxhQUFhLEVBQUU7d0JBQ2pCLE9BQU8sZ0JBQWdCLENBQUMsYUFBYSxDQUFDO3FCQUN2QztvQkFDRCxNQUFNO2dCQUNSLEtBQUssZ0JBQWdCLENBQUMsVUFBVSxDQUFDO2dCQUNqQztvQkFDRSw0RkFBNEY7b0JBQzVGLGFBQWEsR0FBRyxJQUFJLENBQUM7b0JBQ3JCLElBQUksV0FBVyxFQUFFO3dCQUNmLE9BQU8sZ0JBQWdCLENBQUMsYUFBYSxDQUFDO3FCQUN2QztvQkFDRCxNQUFNO2FBQ1Q7U0FDRjtRQUNELElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsT0FBTyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUM7U0FDcEM7YUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3pCLE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxDQUFDO1NBQ2xDO2FBQU07WUFDTCxPQUFPLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztTQUNwQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILDRCQUE0QjtRQUMxQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsaUNBQWlDLEVBQUUsQ0FBQztRQUMxRCxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRTtZQUNwQyxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLDRCQUE0QixFQUFFLENBQUM7U0FDNUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDbHJTZWxlY3RlZFN0YXRlIH0gZnJvbSAnLi9zZWxlY3RlZC1zdGF0ZS5lbnVtJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyZWVOb2RlTW9kZWw8VD4ge1xuICBub2RlSWQ6IHN0cmluZztcbiAgZXhwYW5kZWQ6IGJvb2xlYW47XG4gIHNlbGVjdGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDbHJTZWxlY3RlZFN0YXRlPihDbHJTZWxlY3RlZFN0YXRlLlVOU0VMRUNURUQpO1xuICBtb2RlbDogVCB8IG51bGw7XG4gIHRleHRDb250ZW50OiBzdHJpbmc7XG4gIC8qXG4gICAqIElkZWFsbHksIEkgd291bGQgbGlrZSB0byB1c2UgYSBwb2x5bW9ycGhpYyB0aGlzIHR5cGUgaGVyZSB0byBlbnN1cmUgaG9tb2dlbmVpdHkgb2YgdGhlIHRyZWUsIHNvbWV0aGluZyBsaWtlOlxuICAgKiBhYnN0cmFjdCBwYXJlbnQ6IHRoaXM8VD4gfCBudWxsO1xuICAgKiBhYnN0cmFjdCBjaGlsZHJlbjogdGhpczxUPltdO1xuICAgKiBCdXQgSSdtIGhpdHRpbmcgbGltaXRhdGlvbnMgb24gdHlwZXNjcmlwdCBub3QgYWxsb3dpbmcgdGhhdCB0eXBlIGluIGNvbnN0cnVjdG9ycyBvciBzdGF0aWMgbWV0aG9kcy5cbiAgICogU28gSSdtIHJlc29ydGluZyB0byBmb3JjaW5nIG92ZXJyaWRlIHdpdGggbW9yZSBwcmVjaXNlIHR5cGVzIGJ5IG1hcmtpbmcgdGhlc2UgYWJzdHJhY3QuXG4gICAqL1xuICBhYnN0cmFjdCBwYXJlbnQ6IFRyZWVOb2RlTW9kZWw8VD4gfCBudWxsO1xuICBhYnN0cmFjdCBjaGlsZHJlbjogVHJlZU5vZGVNb2RlbDxUPltdO1xuXG4gIC8qXG4gICAqIEJlaW5nIGFibGUgdG8gcHVzaCB0aGlzIGRvd24gdG8gdGhlIFJlY3Vyc2l2ZVRyZWVOb2RlTW9kZWwgd291bGQgcmVxdWlyZSB0b28gbXVjaCB3b3JrIG9uIHRoZSBhbmd1bGFyIGNvbXBvbmVudHNcbiAgICogcmlnaHQgbm93IGZvciB0aGVtIHRvIGtub3cgd2hpY2gga2luZCBvZiBtb2RlbCB0aGV5IGFyZSB1c2luZy4gU28gSSdtIGxpZnRpbmcgdGhlIHB1YmxpYyBwcm9wZXJ0aWVzIHRvIHRoaXNcbiAgICogYWJzdHJhY3QgcGFyZW50IGNsYXNzIGZvciBub3cgYW5kIHdlIGNhbiByZXZpc2l0IGl0IGxhdGVyLCB3aGVuIHdlJ3JlIG5vdCBmYWNpbmcgc3VjaCBhIGNsb3NlIGRlYWRsaW5lLlxuICAgKi9cbiAgcHJpdmF0ZSBfbG9hZGluZyA9IGZhbHNlO1xuICBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGdldCBsb2FkaW5nKCkge1xuICAgIHJldHVybiB0aGlzLl9sb2FkaW5nO1xuICB9XG5cbiAgc2V0IGxvYWRpbmcoaXNMb2FkaW5nOiBib29sZWFuKSB7XG4gICAgdGhpcy5fbG9hZGluZyA9IGlzTG9hZGluZztcbiAgICB0aGlzLmxvYWRpbmckLm5leHQoaXNMb2FkaW5nKTtcbiAgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgLy8gSnVzdCB0byBiZSBzYWZlXG4gICAgdGhpcy5zZWxlY3RlZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLy8gUHJvcGFnYXRlIGJ5IGRlZmF1bHQgd2hlbiBlYWdlciwgZG9uJ3QgcHJvcGFnYXRlIGluIHRoZSBsYXp5LWxvYWRlZCB0cmVlLlxuICBzZXRTZWxlY3RlZChzdGF0ZTogQ2xyU2VsZWN0ZWRTdGF0ZSwgcHJvcGFnYXRlVXA6IGJvb2xlYW4sIHByb3BhZ2F0ZURvd246IGJvb2xlYW4pIHtcbiAgICBpZiAoc3RhdGUgPT09IHRoaXMuc2VsZWN0ZWQudmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZC5uZXh0KHN0YXRlKTtcbiAgICBpZiAocHJvcGFnYXRlRG93biAmJiBzdGF0ZSAhPT0gQ2xyU2VsZWN0ZWRTdGF0ZS5JTkRFVEVSTUlOQVRFICYmIHRoaXMuY2hpbGRyZW4pIHtcbiAgICAgIHRoaXMuY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiBjaGlsZC5zZXRTZWxlY3RlZChzdGF0ZSwgZmFsc2UsIHRydWUpKTtcbiAgICB9XG4gICAgaWYgKHByb3BhZ2F0ZVVwICYmIHRoaXMucGFyZW50KSB7XG4gICAgICB0aGlzLnBhcmVudC5fdXBkYXRlU2VsZWN0aW9uRnJvbUNoaWxkcmVuKCk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU2VsZWN0aW9uKHByb3BhZ2F0ZTogYm9vbGVhbikge1xuICAgIC8vIEJvdGggdW5zZWxlY3RlZCBhbmQgaW5kZXRlcm1pbmF0ZSB0b2dnbGUgdG8gc2VsZWN0ZWRcbiAgICBjb25zdCBuZXdTdGF0ZSA9XG4gICAgICB0aGlzLnNlbGVjdGVkLnZhbHVlID09PSBDbHJTZWxlY3RlZFN0YXRlLlNFTEVDVEVEID8gQ2xyU2VsZWN0ZWRTdGF0ZS5VTlNFTEVDVEVEIDogQ2xyU2VsZWN0ZWRTdGF0ZS5TRUxFQ1RFRDtcbiAgICAvLyBOT1RFOiB3ZSBhbHdheXMgcHJvcGFnYXRlIHNlbGVjdGlvbiB1cCBpbiB0aGlzIG1ldGhvZCBiZWNhdXNlIGl0IGlzIG9ubHkgY2FsbGVkIHdoZW4gdGhlIHVzZXIgdGFrZXMgYW4gYWN0aW9uLlxuICAgIC8vIEl0IHNob3VsZCBuZXZlciBiZSBjYWxsZWQgZnJvbSBsaWZlY3ljbGUgaG9va3Mgb3IgYXBwLXByb3ZpZGVkIGlucHV0cy5cbiAgICB0aGlzLnNldFNlbGVjdGVkKG5ld1N0YXRlLCB0cnVlLCBwcm9wYWdhdGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlU2VsZWN0aW9uU3RhdGVGcm9tQ2hpbGRyZW4oKSB7XG4gICAgbGV0IG9uZVNlbGVjdGVkID0gZmFsc2U7XG4gICAgbGV0IG9uZVVuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAvLyBVc2luZyBhIGdvb2Qgb2xkIGZvciBsb29wIHRvIGV4aXQgYXMgc29vbiBhcyB3ZSBjYW4gdGVsbCwgZm9yIGJldHRlciBwZXJmb3JtYW5jZSBvbiBsYXJnZSB0cmVlcy5cbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHRoaXMuY2hpbGRyZW4pIHtcbiAgICAgIHN3aXRjaCAoY2hpbGQuc2VsZWN0ZWQudmFsdWUpIHtcbiAgICAgICAgY2FzZSBDbHJTZWxlY3RlZFN0YXRlLklOREVURVJNSU5BVEU6XG4gICAgICAgICAgcmV0dXJuIENsclNlbGVjdGVkU3RhdGUuSU5ERVRFUk1JTkFURTtcbiAgICAgICAgY2FzZSBDbHJTZWxlY3RlZFN0YXRlLlNFTEVDVEVEOlxuICAgICAgICAgIG9uZVNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICBpZiAob25lVW5zZWxlY3RlZCkge1xuICAgICAgICAgICAgcmV0dXJuIENsclNlbGVjdGVkU3RhdGUuSU5ERVRFUk1JTkFURTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgQ2xyU2VsZWN0ZWRTdGF0ZS5VTlNFTEVDVEVEOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIC8vIERlZmF1bHQgaXMgdGhlIHNhbWUgYXMgdW5zZWxlY3RlZCwgaW4gY2FzZSBhbiB1bmRlZmluZWQgc29tZWhvdyBtYWRlIGl0IGFsbCB0aGUgd2F5IGhlcmUuXG4gICAgICAgICAgb25lVW5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgaWYgKG9uZVNlbGVjdGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gQ2xyU2VsZWN0ZWRTdGF0ZS5JTkRFVEVSTUlOQVRFO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFvbmVTZWxlY3RlZCkge1xuICAgICAgcmV0dXJuIENsclNlbGVjdGVkU3RhdGUuVU5TRUxFQ1RFRDtcbiAgICB9IGVsc2UgaWYgKCFvbmVVbnNlbGVjdGVkKSB7XG4gICAgICByZXR1cm4gQ2xyU2VsZWN0ZWRTdGF0ZS5TRUxFQ1RFRDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIENsclNlbGVjdGVkU3RhdGUuVU5TRUxFQ1RFRDtcbiAgICB9XG4gIH1cblxuICAvKlxuICAgKiBJbnRlcm5hbCwgYnV0IG5lZWRzIHRvIGJlIGNhbGxlZCBieSBvdGhlciBub2Rlc1xuICAgKi9cbiAgX3VwZGF0ZVNlbGVjdGlvbkZyb21DaGlsZHJlbigpIHtcbiAgICBjb25zdCBuZXdTdGF0ZSA9IHRoaXMuY29tcHV0ZVNlbGVjdGlvblN0YXRlRnJvbUNoaWxkcmVuKCk7XG4gICAgaWYgKG5ld1N0YXRlID09PSB0aGlzLnNlbGVjdGVkLnZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWQubmV4dChuZXdTdGF0ZSk7XG4gICAgaWYgKHRoaXMucGFyZW50KSB7XG4gICAgICB0aGlzLnBhcmVudC5fdXBkYXRlU2VsZWN0aW9uRnJvbUNoaWxkcmVuKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS90cmVlLXZpZXcvbW9kZWxzL3RyZWUtbm9kZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxNQUFNLE9BQWdCLGFBQWE7SUFBbkM7UUFLRSxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTVEOzs7O1dBSUc7UUFDSyxhQUFRLEdBQUcsS0FBSyxDQUFDO0lBOEYzQixDQUFDO0lBbEZDLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsU0FBa0I7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE9BQU87UUFDTCxrQkFBa0I7UUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsNEVBQTRFO0lBQzVFLFdBQVcsQ0FBQyxLQUF1QixFQUFFLFdBQW9CLEVBQUUsYUFBc0I7UUFDL0UsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUU7WUFDakMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxhQUFhLElBQUksS0FBSyxLQUFLLGdCQUFnQixDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzlFLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDdkU7UUFDRCxJQUFJLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztTQUM1QztJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsU0FBa0I7UUFDaEMsdURBQXVEO1FBQ3ZELE1BQU0sUUFBUSxHQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7UUFDOUcsaUhBQWlIO1FBQ2pILHlFQUF5RTtRQUN6RSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsNEJBQTRCO1FBQzFCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxpQ0FBaUMsRUFBRSxDQUFDO1FBQzFELElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFO1lBQ3BDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztTQUM1QztJQUNILENBQUM7SUFFTyxpQ0FBaUM7UUFDdkMsSUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMxQixtR0FBbUc7UUFDbkcsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pDLFFBQVEsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUU7Z0JBQzVCLEtBQUssZ0JBQWdCLENBQUMsYUFBYTtvQkFDakMsT0FBTyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7Z0JBQ3hDLEtBQUssZ0JBQWdCLENBQUMsUUFBUTtvQkFDNUIsV0FBVyxHQUFHLElBQUksQ0FBQztvQkFDbkIsSUFBSSxhQUFhLEVBQUU7d0JBQ2pCLE9BQU8sZ0JBQWdCLENBQUMsYUFBYSxDQUFDO3FCQUN2QztvQkFDRCxNQUFNO2dCQUNSLEtBQUssZ0JBQWdCLENBQUMsVUFBVSxDQUFDO2dCQUNqQztvQkFDRSw0RkFBNEY7b0JBQzVGLGFBQWEsR0FBRyxJQUFJLENBQUM7b0JBQ3JCLElBQUksV0FBVyxFQUFFO3dCQUNmLE9BQU8sZ0JBQWdCLENBQUMsYUFBYSxDQUFDO3FCQUN2QztvQkFDRCxNQUFNO2FBQ1Q7U0FDRjtRQUNELElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsT0FBTyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUM7U0FDcEM7YUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3pCLE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxDQUFDO1NBQ2xDO2FBQU07WUFDTCxPQUFPLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztTQUNwQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENsclNlbGVjdGVkU3RhdGUgfSBmcm9tICcuL3NlbGVjdGVkLXN0YXRlLmVudW0nO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJlZU5vZGVNb2RlbDxUPiB7XG4gIG5vZGVJZDogc3RyaW5nO1xuICBleHBhbmRlZDogYm9vbGVhbjtcbiAgbW9kZWw6IFQgfCBudWxsO1xuICB0ZXh0Q29udGVudDogc3RyaW5nO1xuICBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBzZWxlY3RlZCA9IG5ldyBCZWhhdmlvclN1YmplY3QoQ2xyU2VsZWN0ZWRTdGF0ZS5VTlNFTEVDVEVEKTtcblxuICAvKlxuICAgKiBCZWluZyBhYmxlIHRvIHB1c2ggdGhpcyBkb3duIHRvIHRoZSBSZWN1cnNpdmVUcmVlTm9kZU1vZGVsIHdvdWxkIHJlcXVpcmUgdG9vIG11Y2ggd29yayBvbiB0aGUgYW5ndWxhciBjb21wb25lbnRzXG4gICAqIHJpZ2h0IG5vdyBmb3IgdGhlbSB0byBrbm93IHdoaWNoIGtpbmQgb2YgbW9kZWwgdGhleSBhcmUgdXNpbmcuIFNvIEknbSBsaWZ0aW5nIHRoZSBwdWJsaWMgcHJvcGVydGllcyB0byB0aGlzXG4gICAqIGFic3RyYWN0IHBhcmVudCBjbGFzcyBmb3Igbm93IGFuZCB3ZSBjYW4gcmV2aXNpdCBpdCBsYXRlciwgd2hlbiB3ZSdyZSBub3QgZmFjaW5nIHN1Y2ggYSBjbG9zZSBkZWFkbGluZS5cbiAgICovXG4gIHByaXZhdGUgX2xvYWRpbmcgPSBmYWxzZTtcblxuICAvKlxuICAgKiBJZGVhbGx5LCBJIHdvdWxkIGxpa2UgdG8gdXNlIGEgcG9seW1vcnBoaWMgdGhpcyB0eXBlIGhlcmUgdG8gZW5zdXJlIGhvbW9nZW5laXR5IG9mIHRoZSB0cmVlLCBzb21ldGhpbmcgbGlrZTpcbiAgICogYWJzdHJhY3QgcGFyZW50OiB0aGlzPFQ+IHwgbnVsbDtcbiAgICogYWJzdHJhY3QgY2hpbGRyZW46IHRoaXM8VD5bXTtcbiAgICogQnV0IEknbSBoaXR0aW5nIGxpbWl0YXRpb25zIG9uIHR5cGVzY3JpcHQgbm90IGFsbG93aW5nIHRoYXQgdHlwZSBpbiBjb25zdHJ1Y3RvcnMgb3Igc3RhdGljIG1ldGhvZHMuXG4gICAqIFNvIEknbSByZXNvcnRpbmcgdG8gZm9yY2luZyBvdmVycmlkZSB3aXRoIG1vcmUgcHJlY2lzZSB0eXBlcyBieSBtYXJraW5nIHRoZXNlIGFic3RyYWN0LlxuICAgKi9cbiAgYWJzdHJhY3QgcGFyZW50OiBUcmVlTm9kZU1vZGVsPFQ+IHwgbnVsbDtcbiAgYWJzdHJhY3QgY2hpbGRyZW46IFRyZWVOb2RlTW9kZWw8VD5bXTtcblxuICBnZXQgbG9hZGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5fbG9hZGluZztcbiAgfVxuICBzZXQgbG9hZGluZyhpc0xvYWRpbmc6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9sb2FkaW5nID0gaXNMb2FkaW5nO1xuICAgIHRoaXMubG9hZGluZyQubmV4dChpc0xvYWRpbmcpO1xuICB9XG5cbiAgZGVzdHJveSgpIHtcbiAgICAvLyBKdXN0IHRvIGJlIHNhZmVcbiAgICB0aGlzLnNlbGVjdGVkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvLyBQcm9wYWdhdGUgYnkgZGVmYXVsdCB3aGVuIGVhZ2VyLCBkb24ndCBwcm9wYWdhdGUgaW4gdGhlIGxhenktbG9hZGVkIHRyZWUuXG4gIHNldFNlbGVjdGVkKHN0YXRlOiBDbHJTZWxlY3RlZFN0YXRlLCBwcm9wYWdhdGVVcDogYm9vbGVhbiwgcHJvcGFnYXRlRG93bjogYm9vbGVhbikge1xuICAgIGlmIChzdGF0ZSA9PT0gdGhpcy5zZWxlY3RlZC52YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkLm5leHQoc3RhdGUpO1xuICAgIGlmIChwcm9wYWdhdGVEb3duICYmIHN0YXRlICE9PSBDbHJTZWxlY3RlZFN0YXRlLklOREVURVJNSU5BVEUgJiYgdGhpcy5jaGlsZHJlbikge1xuICAgICAgdGhpcy5jaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IGNoaWxkLnNldFNlbGVjdGVkKHN0YXRlLCBmYWxzZSwgdHJ1ZSkpO1xuICAgIH1cbiAgICBpZiAocHJvcGFnYXRlVXAgJiYgdGhpcy5wYXJlbnQpIHtcbiAgICAgIHRoaXMucGFyZW50Ll91cGRhdGVTZWxlY3Rpb25Gcm9tQ2hpbGRyZW4oKTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVTZWxlY3Rpb24ocHJvcGFnYXRlOiBib29sZWFuKSB7XG4gICAgLy8gQm90aCB1bnNlbGVjdGVkIGFuZCBpbmRldGVybWluYXRlIHRvZ2dsZSB0byBzZWxlY3RlZFxuICAgIGNvbnN0IG5ld1N0YXRlID1cbiAgICAgIHRoaXMuc2VsZWN0ZWQudmFsdWUgPT09IENsclNlbGVjdGVkU3RhdGUuU0VMRUNURUQgPyBDbHJTZWxlY3RlZFN0YXRlLlVOU0VMRUNURUQgOiBDbHJTZWxlY3RlZFN0YXRlLlNFTEVDVEVEO1xuICAgIC8vIE5PVEU6IHdlIGFsd2F5cyBwcm9wYWdhdGUgc2VsZWN0aW9uIHVwIGluIHRoaXMgbWV0aG9kIGJlY2F1c2UgaXQgaXMgb25seSBjYWxsZWQgd2hlbiB0aGUgdXNlciB0YWtlcyBhbiBhY3Rpb24uXG4gICAgLy8gSXQgc2hvdWxkIG5ldmVyIGJlIGNhbGxlZCBmcm9tIGxpZmVjeWNsZSBob29rcyBvciBhcHAtcHJvdmlkZWQgaW5wdXRzLlxuICAgIHRoaXMuc2V0U2VsZWN0ZWQobmV3U3RhdGUsIHRydWUsIHByb3BhZ2F0ZSk7XG4gIH1cblxuICAvKlxuICAgKiBJbnRlcm5hbCwgYnV0IG5lZWRzIHRvIGJlIGNhbGxlZCBieSBvdGhlciBub2Rlc1xuICAgKi9cbiAgX3VwZGF0ZVNlbGVjdGlvbkZyb21DaGlsZHJlbigpIHtcbiAgICBjb25zdCBuZXdTdGF0ZSA9IHRoaXMuY29tcHV0ZVNlbGVjdGlvblN0YXRlRnJvbUNoaWxkcmVuKCk7XG4gICAgaWYgKG5ld1N0YXRlID09PSB0aGlzLnNlbGVjdGVkLnZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWQubmV4dChuZXdTdGF0ZSk7XG4gICAgaWYgKHRoaXMucGFyZW50KSB7XG4gICAgICB0aGlzLnBhcmVudC5fdXBkYXRlU2VsZWN0aW9uRnJvbUNoaWxkcmVuKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlU2VsZWN0aW9uU3RhdGVGcm9tQ2hpbGRyZW4oKSB7XG4gICAgbGV0IG9uZVNlbGVjdGVkID0gZmFsc2U7XG4gICAgbGV0IG9uZVVuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAvLyBVc2luZyBhIGdvb2Qgb2xkIGZvciBsb29wIHRvIGV4aXQgYXMgc29vbiBhcyB3ZSBjYW4gdGVsbCwgZm9yIGJldHRlciBwZXJmb3JtYW5jZSBvbiBsYXJnZSB0cmVlcy5cbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHRoaXMuY2hpbGRyZW4pIHtcbiAgICAgIHN3aXRjaCAoY2hpbGQuc2VsZWN0ZWQudmFsdWUpIHtcbiAgICAgICAgY2FzZSBDbHJTZWxlY3RlZFN0YXRlLklOREVURVJNSU5BVEU6XG4gICAgICAgICAgcmV0dXJuIENsclNlbGVjdGVkU3RhdGUuSU5ERVRFUk1JTkFURTtcbiAgICAgICAgY2FzZSBDbHJTZWxlY3RlZFN0YXRlLlNFTEVDVEVEOlxuICAgICAgICAgIG9uZVNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICBpZiAob25lVW5zZWxlY3RlZCkge1xuICAgICAgICAgICAgcmV0dXJuIENsclNlbGVjdGVkU3RhdGUuSU5ERVRFUk1JTkFURTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgQ2xyU2VsZWN0ZWRTdGF0ZS5VTlNFTEVDVEVEOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIC8vIERlZmF1bHQgaXMgdGhlIHNhbWUgYXMgdW5zZWxlY3RlZCwgaW4gY2FzZSBhbiB1bmRlZmluZWQgc29tZWhvdyBtYWRlIGl0IGFsbCB0aGUgd2F5IGhlcmUuXG4gICAgICAgICAgb25lVW5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgaWYgKG9uZVNlbGVjdGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gQ2xyU2VsZWN0ZWRTdGF0ZS5JTkRFVEVSTUlOQVRFO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFvbmVTZWxlY3RlZCkge1xuICAgICAgcmV0dXJuIENsclNlbGVjdGVkU3RhdGUuVU5TRUxFQ1RFRDtcbiAgICB9IGVsc2UgaWYgKCFvbmVVbnNlbGVjdGVkKSB7XG4gICAgICByZXR1cm4gQ2xyU2VsZWN0ZWRTdGF0ZS5TRUxFQ1RFRDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIENsclNlbGVjdGVkU3RhdGUuVU5TRUxFQ1RFRDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -78,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
78
78
  type: Input,
79
79
  args: ['children']
80
80
  }] } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdXJzaXZlLWNoaWxkcmVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS90cmVlLXZpZXcvcmVjdXJzaXZlLWNoaWxkcmVuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBc0IzRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFlBQW1CLGVBQXVDLEVBQXNCLGFBQThCO1FBQTNGLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQUFzQixrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFDNUcsSUFBSSxhQUFhLEVBQUU7WUFDakIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3BFLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFO29CQUMxRixrRkFBa0Y7b0JBQ2xGLGdGQUFnRjtvQkFDaEYsMERBQTBEO29CQUN6RCxJQUFJLENBQUMsTUFBb0MsQ0FBQyxhQUFhLEVBQUUsQ0FBQztpQkFDNUQ7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLENBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTO1lBQzlCLGtFQUFrRTtZQUNsRSw2REFBNkQ7WUFDN0QsOENBQThDO1lBQzlDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQ25GLENBQUM7SUFDSixDQUFDO0lBT0QsVUFBVSxDQUFDLElBQXNCO1FBQy9CLE9BQU87WUFDTCxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDckIsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUlELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNqQztJQUNILENBQUM7OzhHQTFDVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixzS0FmbEI7Ozs7OztHQU1UOzJGQVNVLGlCQUFpQjtrQkFqQjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFOzs7Ozs7R0FNVDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0osYUFBYSxFQUFFLFNBQVMsRUFBRSx5R0FBeUc7cUJBQ3BJO2lCQUNGOzswQkFNOEQsUUFBUTs0Q0F5QnBELE1BQU07c0JBQXRCLEtBQUs7dUJBQUMsUUFBUTtnQkFDSSxRQUFRO3NCQUExQixLQUFLO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSWZFeHBhbmRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29uZGl0aW9uYWwvaWYtZXhwYW5kZWQuc2VydmljZSc7XG5pbXBvcnQgeyBSZWN1cnNpdmVUcmVlTm9kZU1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvcmVjdXJzaXZlLXRyZWUtbm9kZS5tb2RlbCc7XG5pbXBvcnQgeyBUcmVlTm9kZU1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvdHJlZS1ub2RlLm1vZGVsJztcbmltcG9ydCB7IENsclJlY3Vyc2l2ZUZvck9mQ29udGV4dCB9IGZyb20gJy4vcmVjdXJzaXZlLWZvci1vZic7XG5pbXBvcnQgeyBUcmVlRmVhdHVyZXNTZXJ2aWNlIH0gZnJvbSAnLi90cmVlLWZlYXR1cmVzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItcmVjdXJzaXZlLWNoaWxkcmVuJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvdWxkUmVuZGVyKClcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNoaWxkIG9mIHBhcmVudD8uY2hpbGRyZW4gfHwgY2hpbGRyZW5cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZlYXR1cmVzU2VydmljZS5yZWN1cnNpb24udGVtcGxhdGU7IGNvbnRleHQ6IGdldENvbnRleHQoY2hpbGQpXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgYCxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5yb2xlXSc6ICdcImdyb3VwXCInLCAvLyBTYWZhcmkgKyBWTyBuZWVkcyBkaXJlY3QgcmVsYXRpb25zaGlwIGJldHdlZW4gdHJlZWl0ZW0gYW5kIGdyb3VwOyBubyBlbGVtZW50IHNob3VsZCBleGlzdCBiZXR3ZWVuIHRoZW1cbiAgfSxcbn0pXG4vKipcbiAqIEludGVybmFsIGNvbXBvbmVudCwgZG8gbm90IGV4cG9ydCFcbiAqIFRoaXMgaXMgcGFydCBvZiB0aGUgaGFjayB0byBnZXQgYXJvdW5kIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE1OTk4XG4gKi9cbmV4cG9ydCBjbGFzcyBSZWN1cnNpdmVDaGlsZHJlbjxUPiB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBmZWF0dXJlc1NlcnZpY2U6IFRyZWVGZWF0dXJlc1NlcnZpY2U8VD4sIEBPcHRpb25hbCgpIHByaXZhdGUgZXhwYW5kU2VydmljZTogSWZFeHBhbmRTZXJ2aWNlKSB7XG4gICAgaWYgKGV4cGFuZFNlcnZpY2UpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5leHBhbmRTZXJ2aWNlLmV4cGFuZENoYW5nZS5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICBpZiAoIXZhbHVlICYmIHRoaXMucGFyZW50ICYmICF0aGlzLmZlYXR1cmVzU2VydmljZS5lYWdlciAmJiB0aGlzLmZlYXR1cmVzU2VydmljZS5yZWN1cnNpb24pIHtcbiAgICAgICAgICAvLyBJbiB0aGUgY2FzZSBvZiBsYXp5LWxvYWRpbmcgcmVjdXJzaXZlIHRyZWVzLCB3ZSBjbGVhciB0aGUgY2hpbGRyZW4gb24gY29sbGFwc2UuXG4gICAgICAgICAgLy8gVGhpcyBpcyBiZXR0ZXIgaW4gY2FzZSB0aGV5IGNoYW5nZSBiZXR3ZWVuIHR3byB1c2VyIGludGVyYWN0aW9uLCBhbmQgdGhhdCB3YXlcbiAgICAgICAgICAvLyB0aGUgYXBwIGl0c2VsZiBjYW4gZGVjaWRlIHdoZXRoZXIgdG8gY2FjaGUgdGhlbSBvciBub3QuXG4gICAgICAgICAgKHRoaXMucGFyZW50IGFzIFJlY3Vyc2l2ZVRyZWVOb2RlTW9kZWw8VD4pLmNsZWFyQ2hpbGRyZW4oKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2hvdWxkUmVuZGVyKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmZlYXR1cmVzU2VydmljZS5yZWN1cnNpb24gJiZcbiAgICAgIC8vIEluIHRoZSBzbWFydCBjYXNlLCB3ZSBlYWdlcmx5IHJlbmRlciBhbGwgdGhlIHJlY3Vyc2l2ZSBjaGlsZHJlblxuICAgICAgLy8gdG8gbWFrZSBzdXJlIHR3by13YXkgYmluZGluZ3MgZm9yIHNlbGVjdGlvbiBhcmUgYXZhaWxhYmxlLlxuICAgICAgLy8gVGhleSB3aWxsIGJlIGhpZGRlbiB3aXRoIENTUyBieSB0aGUgcGFyZW50LlxuICAgICAgKHRoaXMuZmVhdHVyZXNTZXJ2aWNlLmVhZ2VyIHx8ICF0aGlzLmV4cGFuZFNlcnZpY2UgfHwgdGhpcy5leHBhbmRTZXJ2aWNlLmV4cGFuZGVkKVxuICAgICk7XG4gIH1cblxuICAvLyBPZmZlcmluZyB0aGUgb3B0aW9uIHRvIGVpdGhlciBnaXZlIHRoZSBwYXJlbnQgbm9kZSB0byByZWN1cnNlIHBvdGVudGlhbGx5IGxhemlseSxcbiAgLy8gb3IgZGlyZWN0bHkgdGhlIGxpc3Qgb2YgY2hpbGRyZW4gdG8gZGlzcGxheS5cbiAgQElucHV0KCdwYXJlbnQnKSBwYXJlbnQ6IFRyZWVOb2RlTW9kZWw8VD47XG4gIEBJbnB1dCgnY2hpbGRyZW4nKSBjaGlsZHJlbjogVHJlZU5vZGVNb2RlbDxUPltdO1xuXG4gIGdldENvbnRleHQobm9kZTogVHJlZU5vZGVNb2RlbDxUPik6IENsclJlY3Vyc2l2ZUZvck9mQ29udGV4dDxUPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICRpbXBsaWNpdDogbm9kZS5tb2RlbCxcbiAgICAgIGNsck1vZGVsOiBub2RlLFxuICAgIH07XG4gIH1cblxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdXJzaXZlLWNoaWxkcmVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS90cmVlLXZpZXcvcmVjdXJzaXZlLWNoaWxkcmVuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBc0IzRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBUTVCLFlBQW1CLGVBQXVDLEVBQXNCLGFBQThCO1FBQTNGLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQUFzQixrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFDNUcsSUFBSSxhQUFhLEVBQUU7WUFDakIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3BFLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFO29CQUMxRixrRkFBa0Y7b0JBQ2xGLGdGQUFnRjtvQkFDaEYsMERBQTBEO29CQUN6RCxJQUFJLENBQUMsTUFBb0MsQ0FBQyxhQUFhLEVBQUUsQ0FBQztpQkFDNUQ7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLENBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTO1lBQzlCLGtFQUFrRTtZQUNsRSw2REFBNkQ7WUFDN0QsOENBQThDO1lBQzlDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQ25GLENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQXNCO1FBQy9CLE9BQU87WUFDTCxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDckIsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNqQztJQUNILENBQUM7OzhHQTFDVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixzS0FmbEI7Ozs7OztHQU1UOzJGQVNVLGlCQUFpQjtrQkFqQjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFOzs7Ozs7R0FNVDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0osYUFBYSxFQUFFLFNBQVMsRUFBRSx5R0FBeUc7cUJBQ3BJO2lCQUNGOzswQkFhOEQsUUFBUTs0Q0FMcEQsTUFBTTtzQkFBdEIsS0FBSzt1QkFBQyxRQUFRO2dCQUNJLFFBQVE7c0JBQTFCLEtBQUs7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBJZkV4cGFuZFNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9jb25kaXRpb25hbC9pZi1leHBhbmRlZC5zZXJ2aWNlJztcbmltcG9ydCB7IFJlY3Vyc2l2ZVRyZWVOb2RlTW9kZWwgfSBmcm9tICcuL21vZGVscy9yZWN1cnNpdmUtdHJlZS1ub2RlLm1vZGVsJztcbmltcG9ydCB7IFRyZWVOb2RlTW9kZWwgfSBmcm9tICcuL21vZGVscy90cmVlLW5vZGUubW9kZWwnO1xuaW1wb3J0IHsgQ2xyUmVjdXJzaXZlRm9yT2ZDb250ZXh0IH0gZnJvbSAnLi9yZWN1cnNpdmUtZm9yLW9mJztcbmltcG9ydCB7IFRyZWVGZWF0dXJlc1NlcnZpY2UgfSBmcm9tICcuL3RyZWUtZmVhdHVyZXMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1yZWN1cnNpdmUtY2hpbGRyZW4nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG91bGRSZW5kZXIoKVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hpbGQgb2YgcGFyZW50Py5jaGlsZHJlbiB8fCBjaGlsZHJlblwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmVhdHVyZXNTZXJ2aWNlLnJlY3Vyc2lvbi50ZW1wbGF0ZTsgY29udGV4dDogZ2V0Q29udGV4dChjaGlsZClcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICBgLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLnJvbGVdJzogJ1wiZ3JvdXBcIicsIC8vIFNhZmFyaSArIFZPIG5lZWRzIGRpcmVjdCByZWxhdGlvbnNoaXAgYmV0d2VlbiB0cmVlaXRlbSBhbmQgZ3JvdXA7IG5vIGVsZW1lbnQgc2hvdWxkIGV4aXN0IGJldHdlZW4gdGhlbVxuICB9LFxufSlcbi8qKlxuICogSW50ZXJuYWwgY29tcG9uZW50LCBkbyBub3QgZXhwb3J0IVxuICogVGhpcyBpcyBwYXJ0IG9mIHRoZSBoYWNrIHRvIGdldCBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTU5OThcbiAqL1xuZXhwb3J0IGNsYXNzIFJlY3Vyc2l2ZUNoaWxkcmVuPFQ+IHtcbiAgLy8gT2ZmZXJpbmcgdGhlIG9wdGlvbiB0byBlaXRoZXIgZ2l2ZSB0aGUgcGFyZW50IG5vZGUgdG8gcmVjdXJzZSBwb3RlbnRpYWxseSBsYXppbHksXG4gIC8vIG9yIGRpcmVjdGx5IHRoZSBsaXN0IG9mIGNoaWxkcmVuIHRvIGRpc3BsYXkuXG4gIEBJbnB1dCgncGFyZW50JykgcGFyZW50OiBUcmVlTm9kZU1vZGVsPFQ+O1xuICBASW5wdXQoJ2NoaWxkcmVuJykgY2hpbGRyZW46IFRyZWVOb2RlTW9kZWw8VD5bXTtcblxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZmVhdHVyZXNTZXJ2aWNlOiBUcmVlRmVhdHVyZXNTZXJ2aWNlPFQ+LCBAT3B0aW9uYWwoKSBwcml2YXRlIGV4cGFuZFNlcnZpY2U6IElmRXhwYW5kU2VydmljZSkge1xuICAgIGlmIChleHBhbmRTZXJ2aWNlKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuZXhwYW5kU2VydmljZS5leHBhbmRDaGFuZ2Uuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgaWYgKCF2YWx1ZSAmJiB0aGlzLnBhcmVudCAmJiAhdGhpcy5mZWF0dXJlc1NlcnZpY2UuZWFnZXIgJiYgdGhpcy5mZWF0dXJlc1NlcnZpY2UucmVjdXJzaW9uKSB7XG4gICAgICAgICAgLy8gSW4gdGhlIGNhc2Ugb2YgbGF6eS1sb2FkaW5nIHJlY3Vyc2l2ZSB0cmVlcywgd2UgY2xlYXIgdGhlIGNoaWxkcmVuIG9uIGNvbGxhcHNlLlxuICAgICAgICAgIC8vIFRoaXMgaXMgYmV0dGVyIGluIGNhc2UgdGhleSBjaGFuZ2UgYmV0d2VlbiB0d28gdXNlciBpbnRlcmFjdGlvbiwgYW5kIHRoYXQgd2F5XG4gICAgICAgICAgLy8gdGhlIGFwcCBpdHNlbGYgY2FuIGRlY2lkZSB3aGV0aGVyIHRvIGNhY2hlIHRoZW0gb3Igbm90LlxuICAgICAgICAgICh0aGlzLnBhcmVudCBhcyBSZWN1cnNpdmVUcmVlTm9kZU1vZGVsPFQ+KS5jbGVhckNoaWxkcmVuKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNob3VsZFJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5mZWF0dXJlc1NlcnZpY2UucmVjdXJzaW9uICYmXG4gICAgICAvLyBJbiB0aGUgc21hcnQgY2FzZSwgd2UgZWFnZXJseSByZW5kZXIgYWxsIHRoZSByZWN1cnNpdmUgY2hpbGRyZW5cbiAgICAgIC8vIHRvIG1ha2Ugc3VyZSB0d28td2F5IGJpbmRpbmdzIGZvciBzZWxlY3Rpb24gYXJlIGF2YWlsYWJsZS5cbiAgICAgIC8vIFRoZXkgd2lsbCBiZSBoaWRkZW4gd2l0aCBDU1MgYnkgdGhlIHBhcmVudC5cbiAgICAgICh0aGlzLmZlYXR1cmVzU2VydmljZS5lYWdlciB8fCAhdGhpcy5leHBhbmRTZXJ2aWNlIHx8IHRoaXMuZXhwYW5kU2VydmljZS5leHBhbmRlZClcbiAgICApO1xuICB9XG5cbiAgZ2V0Q29udGV4dChub2RlOiBUcmVlTm9kZU1vZGVsPFQ+KTogQ2xyUmVjdXJzaXZlRm9yT2ZDb250ZXh0PFQ+IHtcbiAgICByZXR1cm4ge1xuICAgICAgJGltcGxpY2l0OiBub2RlLm1vZGVsLFxuICAgICAgY2xyTW9kZWw6IG5vZGUsXG4gICAgfTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -53,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
53
53
  type: Input,
54
54
  args: ['clrRecursiveForGetChildren']
55
55
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdXJzaXZlLWZvci1vZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2RhdGEvdHJlZS12aWV3L3JlY3Vyc2l2ZS1mb3Itb2YudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBcUMsTUFBTSxlQUFlLENBQUM7QUFFdkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFZNUUsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUNVLFFBQWtELEVBQ2xELGVBQXVDLEVBQ3ZDLEdBQXNCO1FBRnRCLGFBQVEsR0FBUixRQUFRLENBQTBDO1FBQ2xELG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQUN2QyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUM3QixDQUFDO0lBVUosK0dBQStHO0lBQy9HLFdBQVc7UUFDVCxJQUFJLE9BQW9DLENBQUM7UUFDekMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM3QixPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLHNCQUFzQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztTQUNsSDthQUFNO1lBQ0wsT0FBTyxHQUFHLENBQUMsSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1NBQ2xHO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRTtZQUNuQyxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3pHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxHQUFHO1lBQy9CLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixJQUFJLEVBQUUsT0FBTztTQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFO1lBQ2xDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM5QztJQUNILENBQUM7OzhHQXZDVSxpQkFBaUI7a0dBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUg3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQ0FBc0M7aUJBQ2pEO29LQVM2QixLQUFLO3NCQUFoQyxLQUFLO3VCQUFDLG1CQUFtQjtnQkFHVyxXQUFXO3NCQUEvQyxLQUFLO3VCQUFDLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFzeW5jQXJyYXkgfSBmcm9tICcuL21vZGVscy9hc3luYy1hcnJheSc7XG5pbXBvcnQgeyBSZWN1cnNpdmVUcmVlTm9kZU1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvcmVjdXJzaXZlLXRyZWUtbm9kZS5tb2RlbCc7XG5pbXBvcnQgeyBUcmVlTm9kZU1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvdHJlZS1ub2RlLm1vZGVsJztcbmltcG9ydCB7IFRyZWVGZWF0dXJlc1NlcnZpY2UgfSBmcm9tICcuL3RyZWUtZmVhdHVyZXMuc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xyUmVjdXJzaXZlRm9yT2ZDb250ZXh0PFQ+IHtcbiAgJGltcGxpY2l0OiBUO1xuICBjbHJNb2RlbDogVHJlZU5vZGVNb2RlbDxUPjtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NsclJlY3Vyc2l2ZUZvcl1bY2xyUmVjdXJzaXZlRm9yT2ZdJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyUmVjdXJzaXZlRm9yT2Y8VD4gaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPENsclJlY3Vyc2l2ZUZvck9mQ29udGV4dDxUPj4sXG4gICAgcHJpdmF0ZSBmZWF0dXJlc1NlcnZpY2U6IFRyZWVGZWF0dXJlc1NlcnZpY2U8VD4sXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICAvLyBUT0RPOiBhY2NlcHQgTmdJdGVyYWJsZTxUPlxuICBASW5wdXQoJ2NsclJlY3Vyc2l2ZUZvck9mJykgbm9kZXM6IFQgfCBUW107XG5cbiAgLy8gVE9ETzogYWNjZXB0IE5nSXRlcmFibGU8VD4gcmV0dXJuIHR5cGVcbiAgQElucHV0KCdjbHJSZWN1cnNpdmVGb3JHZXRDaGlsZHJlbicpIGdldENoaWxkcmVuOiAobm9kZTogVCkgPT4gQXN5bmNBcnJheTxUPjtcblxuICBwcml2YXRlIGNoaWxkcmVuRmV0Y2hTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAvLyBJJ20gdXNpbmcgT25DaGFuZ2VzIGluc3RlYWQgb2YgT25Jbml0IHRvIGVhc2lseSBrZWVwIHVwIHRvIGRhdGUgd2l0aCBkeW5hbWljIHRyZWVzLiBNYXliZSBvcHRpbWl6YWJsZSBsYXRlci5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgbGV0IHdyYXBwZWQ6IFJlY3Vyc2l2ZVRyZWVOb2RlTW9kZWw8VD5bXTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLm5vZGVzKSkge1xuICAgICAgd3JhcHBlZCA9IHRoaXMubm9kZXMubWFwKG5vZGUgPT4gbmV3IFJlY3Vyc2l2ZVRyZWVOb2RlTW9kZWwobm9kZSwgbnVsbCwgdGhpcy5nZXRDaGlsZHJlbiwgdGhpcy5mZWF0dXJlc1NlcnZpY2UpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgd3JhcHBlZCA9IFtuZXcgUmVjdXJzaXZlVHJlZU5vZGVNb2RlbCh0aGlzLm5vZGVzLCBudWxsLCB0aGlzLmdldENoaWxkcmVuLCB0aGlzLmZlYXR1cmVzU2VydmljZSldO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuY2hpbGRyZW5GZXRjaFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5jaGlsZHJlbkZldGNoU3Vic2NyaXB0aW9uID0gdGhpcy5mZWF0dXJlc1NlcnZpY2UuY2hpbGRyZW5GZXRjaGVkLnBpcGUoZGVib3VuY2VUaW1lKDApKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmZlYXR1cmVzU2VydmljZS5yZWN1cnNpb24gPSB7XG4gICAgICB0ZW1wbGF0ZTogdGhpcy50ZW1wbGF0ZSxcbiAgICAgIHJvb3Q6IHdyYXBwZWQsXG4gICAgfTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmNoaWxkcmVuRmV0Y2hTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuY2hpbGRyZW5GZXRjaFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdXJzaXZlLWZvci1vZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2RhdGEvdHJlZS12aWV3L3JlY3Vyc2l2ZS1mb3Itb2YudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBcUMsTUFBTSxlQUFlLENBQUM7QUFFdkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFZNUUsTUFBTSxPQUFPLGlCQUFpQjtJQVM1QixZQUNVLFFBQWtELEVBQ2xELGVBQXVDLEVBQ3ZDLEdBQXNCO1FBRnRCLGFBQVEsR0FBUixRQUFRLENBQTBDO1FBQ2xELG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQUN2QyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUM3QixDQUFDO0lBRUosK0dBQStHO0lBQy9HLFdBQVc7UUFDVCxJQUFJLE9BQW9DLENBQUM7UUFDekMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM3QixPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLHNCQUFzQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztTQUNsSDthQUFNO1lBQ0wsT0FBTyxHQUFHLENBQUMsSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1NBQ2xHO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRTtZQUNuQyxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3pHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxHQUFHO1lBQy9CLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixJQUFJLEVBQUUsT0FBTztTQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFO1lBQ2xDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM5QztJQUNILENBQUM7OzhHQXZDVSxpQkFBaUI7a0dBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUg3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQ0FBc0M7aUJBQ2pEO29LQUc2QixLQUFLO3NCQUFoQyxLQUFLO3VCQUFDLG1CQUFtQjtnQkFHVyxXQUFXO3NCQUEvQyxLQUFLO3VCQUFDLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFzeW5jQXJyYXkgfSBmcm9tICcuL21vZGVscy9hc3luYy1hcnJheSc7XG5pbXBvcnQgeyBSZWN1cnNpdmVUcmVlTm9kZU1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvcmVjdXJzaXZlLXRyZWUtbm9kZS5tb2RlbCc7XG5pbXBvcnQgeyBUcmVlTm9kZU1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvdHJlZS1ub2RlLm1vZGVsJztcbmltcG9ydCB7IFRyZWVGZWF0dXJlc1NlcnZpY2UgfSBmcm9tICcuL3RyZWUtZmVhdHVyZXMuc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xyUmVjdXJzaXZlRm9yT2ZDb250ZXh0PFQ+IHtcbiAgJGltcGxpY2l0OiBUO1xuICBjbHJNb2RlbDogVHJlZU5vZGVNb2RlbDxUPjtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NsclJlY3Vyc2l2ZUZvcl1bY2xyUmVjdXJzaXZlRm9yT2ZdJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyUmVjdXJzaXZlRm9yT2Y8VD4gaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIC8vIFRPRE86IGFjY2VwdCBOZ0l0ZXJhYmxlPFQ+XG4gIEBJbnB1dCgnY2xyUmVjdXJzaXZlRm9yT2YnKSBub2RlczogVCB8IFRbXTtcblxuICAvLyBUT0RPOiBhY2NlcHQgTmdJdGVyYWJsZTxUPiByZXR1cm4gdHlwZVxuICBASW5wdXQoJ2NsclJlY3Vyc2l2ZUZvckdldENoaWxkcmVuJykgZ2V0Q2hpbGRyZW46IChub2RlOiBUKSA9PiBBc3luY0FycmF5PFQ+O1xuXG4gIHByaXZhdGUgY2hpbGRyZW5GZXRjaFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPENsclJlY3Vyc2l2ZUZvck9mQ29udGV4dDxUPj4sXG4gICAgcHJpdmF0ZSBmZWF0dXJlc1NlcnZpY2U6IFRyZWVGZWF0dXJlc1NlcnZpY2U8VD4sXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICAvLyBJJ20gdXNpbmcgT25DaGFuZ2VzIGluc3RlYWQgb2YgT25Jbml0IHRvIGVhc2lseSBrZWVwIHVwIHRvIGRhdGUgd2l0aCBkeW5hbWljIHRyZWVzLiBNYXliZSBvcHRpbWl6YWJsZSBsYXRlci5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgbGV0IHdyYXBwZWQ6IFJlY3Vyc2l2ZVRyZWVOb2RlTW9kZWw8VD5bXTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLm5vZGVzKSkge1xuICAgICAgd3JhcHBlZCA9IHRoaXMubm9kZXMubWFwKG5vZGUgPT4gbmV3IFJlY3Vyc2l2ZVRyZWVOb2RlTW9kZWwobm9kZSwgbnVsbCwgdGhpcy5nZXRDaGlsZHJlbiwgdGhpcy5mZWF0dXJlc1NlcnZpY2UpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgd3JhcHBlZCA9IFtuZXcgUmVjdXJzaXZlVHJlZU5vZGVNb2RlbCh0aGlzLm5vZGVzLCBudWxsLCB0aGlzLmdldENoaWxkcmVuLCB0aGlzLmZlYXR1cmVzU2VydmljZSldO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuY2hpbGRyZW5GZXRjaFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5jaGlsZHJlbkZldGNoU3Vic2NyaXB0aW9uID0gdGhpcy5mZWF0dXJlc1NlcnZpY2UuY2hpbGRyZW5GZXRjaGVkLnBpcGUoZGVib3VuY2VUaW1lKDApKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmZlYXR1cmVzU2VydmljZS5yZWN1cnNpb24gPSB7XG4gICAgICB0ZW1wbGF0ZTogdGhpcy50ZW1wbGF0ZSxcbiAgICAgIHJvb3Q6IHdyYXBwZWQsXG4gICAgfTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmNoaWxkcmVuRmV0Y2hTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuY2hpbGRyZW5GZXRjaFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -34,4 +34,4 @@ export const TREE_FEATURES_PROVIDER = {
34
34
  */
35
35
  deps: [[new Optional(), new SkipSelf(), TreeFeaturesService]],
36
36
  };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1mZWF0dXJlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS90cmVlLXZpZXcvdHJlZS1mZWF0dXJlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNL0IsTUFBTSxPQUFPLG1CQUFtQjtJQURoQztRQUVFLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsVUFBSyxHQUFHLElBQUksQ0FBQztRQUtiLG9CQUFlLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7S0FDaEQ7O2dIQVJZLG1CQUFtQjtvSEFBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVU7O0FBV1gsTUFBTSxVQUFVLG1CQUFtQixDQUFJLFFBQWdDO0lBQ3JFLE9BQU8sUUFBUSxJQUFJLElBQUksbUJBQW1CLEVBQUUsQ0FBQztBQUMvQyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDcEMsT0FBTyxFQUFFLG1CQUFtQjtJQUM1QixVQUFVLEVBQUUsbUJBQW1CO0lBQy9COzs7Ozs7O09BT0c7SUFDSCxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxRQUFRLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0NBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsLCBTa2lwU2VsZiwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUmVjdXJzaXZlVHJlZU5vZGVNb2RlbCB9IGZyb20gJy4vbW9kZWxzL3JlY3Vyc2l2ZS10cmVlLW5vZGUubW9kZWwnO1xuaW1wb3J0IHsgQ2xyUmVjdXJzaXZlRm9yT2ZDb250ZXh0IH0gZnJvbSAnLi9yZWN1cnNpdmUtZm9yLW9mJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRyZWVGZWF0dXJlc1NlcnZpY2U8VD4ge1xuICBzZWxlY3RhYmxlID0gZmFsc2U7XG4gIGVhZ2VyID0gdHJ1ZTtcbiAgcmVjdXJzaW9uOiB7XG4gICAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPENsclJlY3Vyc2l2ZUZvck9mQ29udGV4dDxUPj47XG4gICAgcm9vdDogUmVjdXJzaXZlVHJlZU5vZGVNb2RlbDxUPltdO1xuICB9O1xuICBjaGlsZHJlbkZldGNoZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJlZUZlYXR1cmVzRmFjdG9yeTxUPihleGlzdGluZzogVHJlZUZlYXR1cmVzU2VydmljZTxUPikge1xuICByZXR1cm4gZXhpc3RpbmcgfHwgbmV3IFRyZWVGZWF0dXJlc1NlcnZpY2UoKTtcbn1cblxuZXhwb3J0IGNvbnN0IFRSRUVfRkVBVFVSRVNfUFJPVklERVIgPSB7XG4gIHByb3ZpZGU6IFRyZWVGZWF0dXJlc1NlcnZpY2UsXG4gIHVzZUZhY3Rvcnk6IHRyZWVGZWF0dXJlc0ZhY3RvcnksXG4gIC8qXG4gICAqIFRoZSBPcHRpb25hbCArIFNraXBTZWxmIHBhdHRlcm4gZW5zdXJlcyB0aGF0IGluIGNhc2Ugb2YgbmVzdGVkIGNvbXBvbmVudHMsIG9ubHkgdGhlIHJvb3Qgb25lIHdpbGxcbiAgICogaW5zdGFudGlhdGUgYSBuZXcgc2VydmljZSBhbmQgYWxsIGl0cyBjaGlsZHJlbiB3aWxsIHJldXNlIHRoZSByb290J3MgaW5zdGFuY2UuXG4gICAqIElmIHRoZXJlIGFyZSBzZXZlcmFsIHJvb3RzIChpbiB0aGlzIGNhc2UsIHNldmVyYWwgaW5kZXBlbmRlbnQgdHJlZXMgb24gYSBwYWdlKSwgZWFjaCByb290IHdpbGwgaW5zdGFudGlhdGVcbiAgICogaXRzIG93biBzZXJ2aWNlIHNvIHRoZXkgd29uJ3QgaW50ZXJmZXJlIHdpdGggb25lIGFub3RoZXIuXG4gICAqXG4gICAqIFRMO0RSIC0gT3B0aW9uYWwgKyBTa2lwU2VsZiA9IDEgaW5zdGFuY2Ugb2YgVHJlZUZlYXR1cmVzU2VydmljZSBwZXIgdHJlZS5cbiAgICovXG4gIGRlcHM6IFtbbmV3IE9wdGlvbmFsKCksIG5ldyBTa2lwU2VsZigpLCBUcmVlRmVhdHVyZXNTZXJ2aWNlXV0sXG59O1xuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1mZWF0dXJlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS90cmVlLXZpZXcvdHJlZS1mZWF0dXJlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNL0IsTUFBTSxPQUFPLG1CQUFtQjtJQURoQztRQUVFLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsVUFBSyxHQUFHLElBQUksQ0FBQztRQUtiLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztLQUN2Qzs7Z0hBUlksbUJBQW1CO29IQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVTs7QUFXWCxNQUFNLFVBQVUsbUJBQW1CLENBQUksUUFBZ0M7SUFDckUsT0FBTyxRQUFRLElBQUksSUFBSSxtQkFBbUIsRUFBRSxDQUFDO0FBQy9DLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNwQyxPQUFPLEVBQUUsbUJBQW1CO0lBQzVCLFVBQVUsRUFBRSxtQkFBbUI7SUFDL0I7Ozs7Ozs7T0FPRztJQUNILElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLG1CQUFtQixDQUFDLENBQUM7Q0FDOUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFNraXBTZWxmLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBSZWN1cnNpdmVUcmVlTm9kZU1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvcmVjdXJzaXZlLXRyZWUtbm9kZS5tb2RlbCc7XG5pbXBvcnQgeyBDbHJSZWN1cnNpdmVGb3JPZkNvbnRleHQgfSBmcm9tICcuL3JlY3Vyc2l2ZS1mb3Itb2YnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHJlZUZlYXR1cmVzU2VydmljZTxUPiB7XG4gIHNlbGVjdGFibGUgPSBmYWxzZTtcbiAgZWFnZXIgPSB0cnVlO1xuICByZWN1cnNpb246IHtcbiAgICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8Q2xyUmVjdXJzaXZlRm9yT2ZDb250ZXh0PFQ+PjtcbiAgICByb290OiBSZWN1cnNpdmVUcmVlTm9kZU1vZGVsPFQ+W107XG4gIH07XG4gIGNoaWxkcmVuRmV0Y2hlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmVlRmVhdHVyZXNGYWN0b3J5PFQ+KGV4aXN0aW5nOiBUcmVlRmVhdHVyZXNTZXJ2aWNlPFQ+KSB7XG4gIHJldHVybiBleGlzdGluZyB8fCBuZXcgVHJlZUZlYXR1cmVzU2VydmljZSgpO1xufVxuXG5leHBvcnQgY29uc3QgVFJFRV9GRUFUVVJFU19QUk9WSURFUiA9IHtcbiAgcHJvdmlkZTogVHJlZUZlYXR1cmVzU2VydmljZSxcbiAgdXNlRmFjdG9yeTogdHJlZUZlYXR1cmVzRmFjdG9yeSxcbiAgLypcbiAgICogVGhlIE9wdGlvbmFsICsgU2tpcFNlbGYgcGF0dGVybiBlbnN1cmVzIHRoYXQgaW4gY2FzZSBvZiBuZXN0ZWQgY29tcG9uZW50cywgb25seSB0aGUgcm9vdCBvbmUgd2lsbFxuICAgKiBpbnN0YW50aWF0ZSBhIG5ldyBzZXJ2aWNlIGFuZCBhbGwgaXRzIGNoaWxkcmVuIHdpbGwgcmV1c2UgdGhlIHJvb3QncyBpbnN0YW5jZS5cbiAgICogSWYgdGhlcmUgYXJlIHNldmVyYWwgcm9vdHMgKGluIHRoaXMgY2FzZSwgc2V2ZXJhbCBpbmRlcGVuZGVudCB0cmVlcyBvbiBhIHBhZ2UpLCBlYWNoIHJvb3Qgd2lsbCBpbnN0YW50aWF0ZVxuICAgKiBpdHMgb3duIHNlcnZpY2Ugc28gdGhleSB3b24ndCBpbnRlcmZlcmUgd2l0aCBvbmUgYW5vdGhlci5cbiAgICpcbiAgICogVEw7RFIgLSBPcHRpb25hbCArIFNraXBTZWxmID0gMSBpbnN0YW5jZSBvZiBUcmVlRmVhdHVyZXNTZXJ2aWNlIHBlciB0cmVlLlxuICAgKi9cbiAgZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgbmV3IFNraXBTZWxmKCksIFRyZWVGZWF0dXJlc1NlcnZpY2VdXSxcbn07XG4iXX0=
@@ -17,6 +17,38 @@ export class TreeFocusManagerService {
17
17
  get focusChange() {
18
18
  return this._focusChange.asObservable();
19
19
  }
20
+ focusNode(model) {
21
+ if (model) {
22
+ this._focusRequest.next(model.nodeId);
23
+ }
24
+ }
25
+ broadcastFocusedNode(nodeId) {
26
+ if (this.focusedNodeId !== nodeId) {
27
+ this.focusedNodeId = nodeId;
28
+ this._focusChange.next(nodeId);
29
+ }
30
+ }
31
+ focusParent(model) {
32
+ if (model) {
33
+ this.focusNode(model.parent);
34
+ }
35
+ }
36
+ focusFirstVisibleNode() {
37
+ const focusModel = this.rootNodeModels && this.rootNodeModels[0];
38
+ this.focusNode(focusModel);
39
+ }
40
+ focusLastVisibleNode() {
41
+ this.focusNode(this.findLastVisibleInTree());
42
+ }
43
+ focusNodeAbove(model) {
44
+ this.focusNode(this.findNodeAbove(model));
45
+ }
46
+ focusNodeBelow(model) {
47
+ this.focusNode(this.findNodeBelow(model));
48
+ }
49
+ focusNodeStartsWith(searchString, model) {
50
+ this.focusNode(this.findClosestNodeStartsWith(searchString, model));
51
+ }
20
52
  findSiblings(model) {
21
53
  // the method will return not only sibling models but also itself among them
22
54
  if (model.parent) {
@@ -148,42 +180,10 @@ export class TreeFocusManagerService {
148
180
  // Now look from its own direct parent
149
181
  return this.findNodeStartsWith(searchString, model.parent);
150
182
  }
151
- focusNode(model) {
152
- if (model) {
153
- this._focusRequest.next(model.nodeId);
154
- }
155
- }
156
- broadcastFocusedNode(nodeId) {
157
- if (this.focusedNodeId !== nodeId) {
158
- this.focusedNodeId = nodeId;
159
- this._focusChange.next(nodeId);
160
- }
161
- }
162
- focusParent(model) {
163
- if (model) {
164
- this.focusNode(model.parent);
165
- }
166
- }
167
- focusFirstVisibleNode() {
168
- const focusModel = this.rootNodeModels && this.rootNodeModels[0];
169
- this.focusNode(focusModel);
170
- }
171
- focusLastVisibleNode() {
172
- this.focusNode(this.findLastVisibleInTree());
173
- }
174
- focusNodeAbove(model) {
175
- this.focusNode(this.findNodeAbove(model));
176
- }
177
- focusNodeBelow(model) {
178
- this.focusNode(this.findNodeBelow(model));
179
- }
180
- focusNodeStartsWith(searchString, model) {
181
- this.focusNode(this.findClosestNodeStartsWith(searchString, model));
182
- }
183
183
  }
184
184
  TreeFocusManagerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TreeFocusManagerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
185
185
  TreeFocusManagerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TreeFocusManagerService });
186
186
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TreeFocusManagerService, decorators: [{
187
187
  type: Injectable
188
188
  }] });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1mb2N1cy1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9kYXRhL3RyZWUtdmlldy90cmVlLWZvY3VzLW1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUszQyxNQUFNLE9BQU8sdUJBQXVCO0lBRHBDO1FBTVUsa0JBQWEsR0FBb0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUUvQyxpQkFBWSxHQUFvQixJQUFJLE9BQU8sRUFBRSxDQUFDO0tBME12RDtJQXhNQyxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQXVCO1FBQzFDLDRFQUE0RTtRQUM1RSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDaEIsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztTQUM5QjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVPLHFCQUFxQixDQUFDLEtBQXVCO1FBQ25ELDRGQUE0RjtRQUM1RixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDL0MsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztZQUNo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O1FBQ2pDLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBdUI7UUFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUF1QjtRQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsWUFBb0IsRUFBRSxLQUF1QjtRQUMvRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDOztvSEFoTlUsdUJBQXVCO3dIQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBUcmVlTm9kZU1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvdHJlZS1ub2RlLm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRyZWVGb2N1c01hbmFnZXJTZXJ2aWNlPFQ+IHtcbiAgcm9vdE5vZGVNb2RlbHM6IFRyZWVOb2RlTW9kZWw8VD5bXTtcblxuICBwcml2YXRlIGZvY3VzZWROb2RlSWQ6IHN0cmluZztcblxuICBwcml2YXRlIF9mb2N1c1JlcXVlc3Q6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSBfZm9jdXNDaGFuZ2U6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgZ2V0IGZvY3VzUmVxdWVzdCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLl9mb2N1c1JlcXVlc3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgZm9jdXNDaGFuZ2UoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5fZm9jdXNDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIGZpbmRTaWJsaW5ncyhtb2RlbDogVHJlZU5vZGVNb2RlbDxUPik6IFRyZWVOb2RlTW9kZWw8VD5bXSB7XG4gICAgLy8gdGhlIG1ldGhvZCB3aWxsIHJldHVybiBub3Qgb25seSBzaWJsaW5nIG1vZGVscyBidXQgYWxzbyBpdHNlbGYgYW1vbmcgdGhlbVxuICAgIGlmIChtb2RlbC5wYXJlbnQpIHtcbiAgICAgIHJldHVybiBtb2RlbC5wYXJlbnQuY2hpbGRyZW47XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnJvb3ROb2RlTW9kZWxzO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmluZExhc3RWaXNpYmxlSW5Ob2RlKG1vZGVsOiBUcmVlTm9kZU1vZGVsPFQ+KTogVHJlZU5vZGVNb2RlbDxUPiB7XG4gICAgLy8gdGhlIG1ldGhvZCB3aWxsIHRyYXZlcnNlIHRocm91Z2ggdW50aWwgaXQgZmluZHMgdGhlIGxhc3QgdmlzaWJsZSBub2RlIGZyb20gdGhlIGdpdmVuIG5vZGVcbiAgICBpZiAoIW1vZGVsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKG1vZGVsLmV4cGFuZGVkICYmIG1vZGVsLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gbW9kZWwuY2hpbGRyZW47XG4gICAgICBjb25zdCBsYXN0Q2hpbGQgPSBjaGlsZHJlbltjaGlsZHJlbi5sZW5ndGggLSAxXTtcbiAgICAgIHJldHVybiB0aGlzLmZpbmRMYXN0VmlzaWJsZUluTm9kZShsYXN0Q2hpbGQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbW9kZWw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaW5kTmV4dEZvY3VzYWJsZShtb2RlbDogVHJlZU5vZGVNb2RlbDxUPik6IFRyZWVOb2RlTW9kZWw8VD4ge1xuICAgIGlmICghbW9kZWwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHNpYmxpbmdzID0gdGhpcy5maW5kU2libGluZ3MobW9kZWwpO1xuICAgIGNvbnN0IHNlbGZJbmRleCA9IHNpYmxpbmdzLmluZGV4T2YobW9kZWwpO1xuXG4gICAgaWYgKHNlbGZJbmRleCA8IHNpYmxpbmdzLmxlbmd0aCAtIDEpIHtcbiAgICAgIHJldHVybiBzaWJsaW5nc1tzZWxmSW5kZXggKyAxXTtcbiAgICB9IGVsc2UgaWYgKHNlbGZJbmRleCA9PT0gc2libGluZ3MubGVuZ3RoIC0gMSkge1xuICAgICAgcmV0dXJuIHRoaXMuZmluZE5leHRGb2N1c2FibGUobW9kZWwucGFyZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGZpbmRMYXN0VmlzaWJsZUluVHJlZSgpOiBUcmVlTm9kZU1vZGVsPFQ+IHtcbiAgICBjb25zdCBsYXN0Um9vdE5vZGUgPVxuICAgICAgdGhpcy5yb290Tm9kZU1vZGVscyAmJiB0aGlzLnJvb3ROb2RlTW9kZWxzLmxlbmd0aCAmJiB0aGlzLnJvb3ROb2RlTW9kZWxzW3RoaXMucm9vdE5vZGVNb2RlbHMubGVuZ3RoIC0gMV07XG4gICAgcmV0dXJuIHRoaXMuZmluZExhc3RWaXNpYmxlSW5Ob2RlKGxhc3RSb290Tm9kZSk7XG4gIH1cblxuICBwcml2YXRlIGZpbmROb2RlQWJvdmUobW9kZWw6IFRyZWVOb2RlTW9kZWw8VD4pOiBUcmVlTm9kZU1vZGVsPFQ+IHtcbiAgICBpZiAoIW1vZGVsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBzaWJsaW5ncyA9IHRoaXMuZmluZFNpYmxpbmdzKG1vZGVsKTtcbiAgICBjb25zdCBzZWxmSW5kZXggPSBzaWJsaW5ncy5pbmRleE9mKG1vZGVsKTtcblxuICAgIGlmIChzZWxmSW5kZXggPT09IDApIHtcbiAgICAgIHJldHVybiBtb2RlbC5wYXJlbnQ7XG4gICAgfSBlbHNlIGlmIChzZWxmSW5kZXggPiAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5maW5kTGFzdFZpc2libGVJbk5vZGUoc2libGluZ3Nbc2VsZkluZGV4IC0gMV0pO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgZmluZE5vZGVCZWxvdyhtb2RlbDogVHJlZU5vZGVNb2RlbDxUPik6IFRyZWVOb2RlTW9kZWw8VD4ge1xuICAgIGlmICghbW9kZWwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChtb2RlbC5leHBhbmRlZCAmJiBtb2RlbC5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gbW9kZWwuY2hpbGRyZW5bMF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbmROZXh0Rm9jdXNhYmxlKG1vZGVsKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbmREZXNjZW5kZW50Tm9kZVN0YXJ0c1dpdGgoc2VhcmNoU3RyaW5nOiBzdHJpbmcsIG1vZGVsOiBUcmVlTm9kZU1vZGVsPFQ+KTogVHJlZU5vZGVNb2RlbDxUPiB7XG4gICAgaWYgKG1vZGVsLmV4cGFuZGVkICYmIG1vZGVsLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvciAoY29uc3QgY2hpbGRNb2RlbCBvZiBtb2RlbC5jaGlsZHJlbikge1xuICAgICAgICBjb25zdCBmb3VuZCA9IHRoaXMuZmluZE5vZGVTdGFydHNXaXRoKHNlYXJjaFN0cmluZywgY2hpbGRNb2RlbCk7XG4gICAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICAgIHJldHVybiBmb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgZmluZFNpYmxpbmdOb2RlU3RhcnRzV2l0aChzZWFyY2hTdHJpbmc6IHN0cmluZywgbW9kZWw6IFRyZWVOb2RlTW9kZWw8VD4pOiBUcmVlTm9kZU1vZGVsPFQ+IHtcbiAgICBjb25zdCBzaWJsaW5ncyA9IHRoaXMuZmluZFNpYmxpbmdzKG1vZGVsKTtcbiAgICBjb25zdCBzZWxmSW5kZXggPSBzaWJsaW5ncy5pbmRleE9mKG1vZGVsKTtcblxuICAgIC8vIExvb2sgZnJvbSBzaWJsaW5nIG5vZGVzXG4gICAgZm9yIChsZXQgaSA9IHNlbGZJbmRleCArIDE7IGkgPCBzaWJsaW5ncy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3Qgc2libGluZ01vZGVsID0gc2libGluZ3NbaV07XG4gICAgICBjb25zdCBmb3VuZCA9IHRoaXMuZmluZE5vZGVTdGFydHNXaXRoKHNlYXJjaFN0cmluZywgc2libGluZ01vZGVsKTtcbiAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICByZXR1cm4gZm91bmQ7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kUm9vdE5vZGVTdGFydHNXaXRoKHNlYXJjaFN0cmluZzogc3RyaW5nLCBtb2RlbDogVHJlZU5vZGVNb2RlbDxUPik6IFRyZWVOb2RlTW9kZWw8VD4ge1xuICAgIGZvciAoY29uc3Qgcm9vdE1vZGVsIG9mIHRoaXMucm9vdE5vZGVNb2RlbHMpIHtcbiAgICAgIC8vIERvbid0IGxvb2sgZnJvbSBhIHBhcmVudCB5ZXRcbiAgICAgIGlmIChtb2RlbC5wYXJlbnQgJiYgbW9kZWwucGFyZW50ID09PSByb290TW9kZWwpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZvdW5kID0gdGhpcy5maW5kTm9kZVN0YXJ0c1dpdGgoc2VhcmNoU3RyaW5nLCByb290TW9kZWwpO1xuICAgICAgaWYgKGZvdW5kKSB7XG4gICAgICAgIHJldHVybiBmb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGZpbmROb2RlU3RhcnRzV2l0aChzZWFyY2hTdHJpbmc6IHN0cmluZywgbW9kZWw6IFRyZWVOb2RlTW9kZWw8VD4pOiBUcmVlTm9kZU1vZGVsPFQ+IHtcbiAgICBpZiAoIW1vZGVsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAobW9kZWwudGV4dENvbnRlbnQuc3RhcnRzV2l0aChzZWFyY2hTdHJpbmcpKSB7XG4gICAgICByZXR1cm4gbW9kZWw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZmluZERlc2NlbmRlbnROb2RlU3RhcnRzV2l0aChzZWFyY2hTdHJpbmcsIG1vZGVsKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZENsb3Nlc3ROb2RlU3RhcnRzV2l0aChzZWFyY2hTdHJpbmc6IHN0cmluZywgbW9kZWw6IFRyZWVOb2RlTW9kZWw8VD4pOiBUcmVlTm9kZU1vZGVsPFQ+IHtcbiAgICBpZiAoIW1vZGVsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBmb3VuZEZyb21EZXNjZW5kZW50cyA9IHRoaXMuZmluZERlc2NlbmRlbnROb2RlU3RhcnRzV2l0aChzZWFyY2hTdHJpbmcsIG1vZGVsKTtcblxuICAgIGlmIChmb3VuZEZyb21EZXNjZW5kZW50cykge1xuICAgICAgcmV0dXJuIGZvdW5kRnJvbURlc2NlbmRlbnRzO1xuICAgIH1cblxuICAgIGNvbnN0IGZvdW5kRnJvbVNpYmxpbmdzID0gdGhpcy5maW5kU2libGluZ05vZGVTdGFydHNXaXRoKHNlYXJjaFN0cmluZywgbW9kZWwpO1xuXG4gICAgaWYgKGZvdW5kRnJvbVNpYmxpbmdzKSB7XG4gICAgICByZXR1cm4gZm91bmRGcm9tU2libGluZ3M7XG4gICAgfVxuXG4gICAgY29uc3QgZm91bmRGcm9tUm9vdE5vZGVzID0gdGhpcy5maW5kUm9vdE5vZGVTdGFydHNXaXRoKHNlYXJjaFN0cmluZywgbW9kZWwpO1xuXG4gICAgaWYgKGZvdW5kRnJvbVJvb3ROb2Rlcykge1xuICAgICAgcmV0dXJuIGZvdW5kRnJvbVJvb3ROb2RlcztcbiAgICB9XG4gICAgLy8gTm93IGxvb2sgZnJvbSBpdHMgb3duIGRpcmVjdCBwYXJlbnRcbiAgICByZXR1cm4gdGhpcy5maW5kTm9kZVN0YXJ0c1dpdGgoc2VhcmNoU3RyaW5nLCBtb2RlbC5wYXJlbnQpO1xuICB9XG5cbiAgZm9jdXNOb2RlKG1vZGVsOiBUcmVlTm9kZU1vZGVsPFQ+KTogdm9pZCB7XG4gICAgaWYgKG1vZGVsKSB7XG4gICAgICB0aGlzLl9mb2N1c1JlcXVlc3QubmV4dChtb2RlbC5ub2RlSWQpO1xuICAgIH1cbiAgfVxuXG4gIGJyb2FkY2FzdEZvY3VzZWROb2RlKG5vZGVJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9jdXNlZE5vZGVJZCAhPT0gbm9kZUlkKSB7XG4gICAgICB0aGlzLmZvY3VzZWROb2RlSWQgPSBub2RlSWQ7XG4gICAgICB0aGlzLl9mb2N1c0NoYW5nZS5uZXh0KG5vZGVJZCk7XG4gICAgfVxuICB9XG5cbiAgZm9jdXNQYXJlbnQobW9kZWw6IFRyZWVOb2RlTW9kZWw8VD4pOiB2b2lkIHtcbiAgICBpZiAobW9kZWwpIHtcbiAgICAgIHRoaXMuZm9jdXNOb2RlKG1vZGVsLnBhcmVudCk7XG4gICAgfVxuICB9XG5cbiAgZm9jdXNGaXJzdFZpc2libGVOb2RlKCk6IHZvaWQge1xuICAgIGNvbnN0IGZvY3VzTW9kZWwgPSB0aGlzLnJvb3ROb2RlTW9kZWxzICYmIHRoaXMucm9vdE5vZGVNb2RlbHNbMF07XG4gICAgdGhpcy5mb2N1c05vZGUoZm9jdXNNb2RlbCk7XG4gIH1cblxuICBmb2N1c0xhc3RWaXNpYmxlTm9kZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzTm9kZSh0aGlzLmZpbmRMYXN0VmlzaWJsZUluVHJlZSgpKTtcbiAgfVxuXG4gIGZvY3VzTm9kZUFib3ZlKG1vZGVsOiBUcmVlTm9kZU1vZGVsPFQ+KTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c05vZGUodGhpcy5maW5kTm9kZUFib3ZlKG1vZGVsKSk7XG4gIH1cblxuICBmb2N1c05vZGVCZWxvdyhtb2RlbDogVHJlZU5vZGVNb2RlbDxUPik6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNOb2RlKHRoaXMuZmluZE5vZGVCZWxvdyhtb2RlbCkpO1xuICB9XG5cbiAgZm9jdXNOb2RlU3RhcnRzV2l0aChzZWFyY2hTdHJpbmc6IHN0cmluZywgbW9kZWw6IFRyZWVOb2RlTW9kZWw8VD4pOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzTm9kZSh0aGlzLmZpbmRDbG9zZXN0Tm9kZVN0YXJ0c1dpdGgoc2VhcmNoU3RyaW5nLCBtb2RlbCkpO1xuICB9XG59XG4iXX0=
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1mb2N1cy1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9kYXRhL3RyZWUtdmlldy90cmVlLWZvY3VzLW1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUszQyxNQUFNLE9BQU8sdUJBQXVCO0lBRHBDO1FBS1Usa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQ3RDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztLQTBNOUM7SUF4TUMsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUF1QjtRQUMvQixJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN2QztJQUNILENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUFjO1FBQ2pDLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxNQUFNLEVBQUU7WUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQXVCO1FBQ2pDLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxD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QUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxZQUFvQixFQUFFLEtBQXVCO1FBQzdFLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXBGLElBQUksb0JBQW9CLEVBQUU7WUFDeEIsT0FBTyxvQkFBb0IsQ0FBQztTQUM3QjtRQUVELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUU5RSxJQUFJLGlCQUFpQixFQUFFO1lBQ3JCLE9BQU8saUJBQWlCLENBQUM7U0FDMUI7UUFFRCxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFNUUsSUFBSSxrQkFBa0IsRUFBRTtZQUN0QixPQUFPLGtCQUFrQixDQUFDO1NBQzNCO1FBQ0Qsc0NBQXNDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7b0hBOU1VLHVCQUF1Qjt3SEFBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgVHJlZU5vZGVNb2RlbCB9IGZyb20gJy4vbW9kZWxzL3RyZWUtbm9kZS5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUcmVlRm9jdXNNYW5hZ2VyU2VydmljZTxUPiB7XG4gIHJvb3ROb2RlTW9kZWxzOiBUcmVlTm9kZU1vZGVsPFQ+W107XG5cbiAgcHJpdmF0ZSBmb2N1c2VkTm9kZUlkOiBzdHJpbmc7XG4gIHByaXZhdGUgX2ZvY3VzUmVxdWVzdCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHJpdmF0ZSBfZm9jdXNDaGFuZ2UgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgZ2V0IGZvY3VzUmVxdWVzdCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLl9mb2N1c1JlcXVlc3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgZm9jdXNDaGFuZ2UoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5fZm9jdXNDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBmb2N1c05vZGUobW9kZWw6IFRyZWVOb2RlTW9kZWw8VD4pOiB2b2lkIHtcbiAgICBpZiAobW9kZWwpIHtcbiAgICAgIHRoaXMuX2ZvY3VzUmVxdWVzdC5uZXh0KG1vZGVsLm5vZGVJZCk7XG4gICAgfVxuICB9XG5cbiAgYnJvYWRjYXN0Rm9jdXNlZE5vZGUobm9kZUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb2N1c2VkTm9kZUlkICE9PSBub2RlSWQpIHtcbiAgICAgIHRoaXMuZm9jdXNlZE5vZGVJZCA9IG5vZGVJZDtcbiAgICAgIHRoaXMuX2ZvY3VzQ2hhbmdlLm5leHQobm9kZUlkKTtcbiAgICB9XG4gIH1cblxuICBmb2N1c1BhcmVudChtb2RlbDogVHJlZU5vZGVNb2RlbDxUPik6IHZvaWQge1xuICAgIGlmIChtb2RlbCkge1xuICAgICAgdGhpcy5mb2N1c05vZGUobW9kZWwucGFyZW50KTtcbiAgICB9XG4gIH1cblxuICBmb2N1c0ZpcnN0VmlzaWJsZU5vZGUoKTogdm9pZCB7XG4gICAgY29uc3QgZm9jdXNNb2RlbCA9IHRoaXMucm9vdE5vZGVNb2RlbHMgJiYgdGhpcy5yb290Tm9kZU1vZGVsc1swXTtcbiAgICB0aGlzLmZvY3VzTm9kZShmb2N1c01vZGVsKTtcbiAgfVxuXG4gIGZvY3VzTGFzdFZpc2libGVOb2RlKCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNOb2RlKHRoaXMuZmluZExhc3RWaXNpYmxlSW5UcmVlKCkpO1xuICB9XG5cbiAgZm9jdXNOb2RlQWJvdmUobW9kZWw6IFRyZWVOb2RlTW9kZWw8VD4pOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzTm9kZSh0aGlzLmZpbmROb2RlQWJvdmUobW9kZWwpKTtcbiAgfVxuXG4gIGZvY3VzTm9kZUJlbG93KG1vZGVsOiBUcmVlTm9kZU1vZGVsPFQ+KTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c05vZGUodGhpcy5maW5kTm9kZUJlbG93KG1vZGVsKSk7XG4gIH1cblxuICBmb2N1c05vZGVTdGFydHNXaXRoKHNlYXJjaFN0cmluZzogc3RyaW5nLCBtb2RlbDogVHJlZU5vZGVNb2RlbDxUPik6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNOb2RlKHRoaXMuZmluZENsb3Nlc3ROb2RlU3RhcnRzV2l0aChzZWFyY2hTdHJpbmcsIG1vZGVsKSk7XG4gIH1cblxuICBwcml2YXRlIGZpbmRTaWJsaW5ncyhtb2RlbDogVHJlZU5vZGVNb2RlbDxUPik6IFRyZWVOb2RlTW9kZWw8VD5bXSB7XG4gICAgLy8gdGhlIG1ldGhvZCB3aWxsIHJldHVybiBub3Qgb25seSBzaWJsaW5nIG1vZGVscyBidXQgYWxzbyBpdHNlbGYgYW1vbmcgdGhlbVxuICAgIGlmIChtb2RlbC5wYXJlbnQpIHtcbiAgICAgIHJldHVybiBtb2RlbC5wYXJlbnQuY2hpbGRyZW47XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnJvb3ROb2RlTW9kZWxzO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmluZExhc3RWaXNpYmxlSW5Ob2RlKG1vZGVsOiBUcmVlTm9kZU1vZGVsPFQ+KTogVHJlZU5vZGVNb2RlbDxUPiB7XG4gICAgLy8gdGhlIG1ldGhvZCB3aWxsIHRyYXZlcnNlIHRocm91Z2ggdW50aWwgaXQgZmluZHMgdGhlIGxhc3QgdmlzaWJsZSBub2RlIGZyb20gdGhlIGdpdmVuIG5vZGVcbiAgICBpZiAoIW1vZGVsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKG1vZGVsLmV4cGFuZGVkICYmIG1vZGVsLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gbW9kZWwuY2hpbGRyZW47XG4gICAgICBjb25zdCBsYXN0Q2hpbGQgPSBjaGlsZHJlbltjaGlsZHJlbi5sZW5ndGggLSAxXTtcbiAgICAgIHJldHVybiB0aGlzLmZpbmRMYXN0VmlzaWJsZUluTm9kZShsYXN0Q2hpbGQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbW9kZWw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaW5kTmV4dEZvY3VzYWJsZShtb2RlbDogVHJlZU5vZGVNb2RlbDxUPik6IFRyZWVOb2RlTW9kZWw8VD4ge1xuICAgIGlmICghbW9kZWwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHNpYmxpbmdzID0gdGhpcy5maW5kU2libGluZ3MobW9kZWwpO1xuICAgIGNvbnN0IHNlbGZJbmRleCA9IHNpYmxpbmdzLmluZGV4T2YobW9kZWwpO1xuXG4gICAgaWYgKHNlbGZJbmRleCA8IHNpYmxpbmdzLmxlbmd0aCAtIDEpIHtcbiAgICAgIHJldHVybiBzaWJsaW5nc1tzZWxmSW5kZXggKyAxXTtcbiAgICB9IGVsc2UgaWYgKHNlbGZJbmRleCA9PT0gc2libGluZ3MubGVuZ3RoIC0gMSkge1xuICAgICAgcmV0dXJuIHRoaXMuZmluZE5leHRGb2N1c2FibGUobW9kZWwucGFyZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGZpbmRMYXN0VmlzaWJsZUluVHJlZSgpOiBUcmVlTm9kZU1vZGVsPFQ+IHtcbiAgICBjb25zdCBsYXN0Um9vdE5vZGUgPVxuICAgICAgdGhpcy5yb290Tm9kZU1vZGVscyAmJiB0aGlzLnJvb3ROb2RlTW9kZWxzLmxlbmd0aCAmJiB0aGlzLnJvb3ROb2RlTW9kZWxzW3RoaXMucm9vdE5vZGVNb2RlbHMubGVuZ3RoIC0gMV07XG4gICAgcmV0dXJuIHRoaXMuZmluZExhc3RWaXNpYmxlSW5Ob2RlKGxhc3RSb290Tm9kZSk7XG4gIH1cblxuICBwcml2YXRlIGZpbmROb2RlQWJvdmUobW9kZWw6IFRyZWVOb2RlTW9kZWw8VD4pOiBUcmVlTm9kZU1vZGVsPFQ+IHtcbiAgICBpZiAoIW1vZGVsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBzaWJsaW5ncyA9IHRoaXMuZmluZFNpYmxpbmdzKG1vZGVsKTtcbiAgICBjb25zdCBzZWxmSW5kZXggPSBzaWJsaW5ncy5pbmRleE9mKG1vZGVsKTtcblxuICAgIGlmIChzZWxmSW5kZXggPT09IDApIHtcbiAgICAgIHJldHVybiBtb2RlbC5wYXJlbnQ7XG4gICAgfSBlbHNlIGlmIChzZWxmSW5kZXggPiAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5maW5kTGFzdFZpc2libGVJbk5vZGUoc2libGluZ3Nbc2VsZkluZGV4IC0gMV0pO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgZmluZE5vZGVCZWxvdyhtb2RlbDogVHJlZU5vZGVNb2RlbDxUPik6IFRyZWVOb2RlTW9kZWw8VD4ge1xuICAgIGlmICghbW9kZWwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChtb2RlbC5leHBhbmRlZCAmJiBtb2RlbC5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gbW9kZWwuY2hpbGRyZW5bMF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbmROZXh0Rm9jdXNhYmxlKG1vZGVsKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbmREZXNjZW5kZW50Tm9kZVN0YXJ0c1dpdGgoc2VhcmNoU3RyaW5nOiBzdHJpbmcsIG1vZGVsOiBUcmVlTm9kZU1vZGVsPFQ+KTogVHJlZU5vZGVNb2RlbDxUPiB7XG4gICAgaWYgKG1vZGVsLmV4cGFuZGVkICYmIG1vZGVsLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvciAoY29uc3QgY2hpbGRNb2RlbCBvZiBtb2RlbC5jaGlsZHJlbikge1xuICAgICAgICBjb25zdCBmb3VuZCA9IHRoaXMuZmluZE5vZGVTdGFydHNXaXRoKHNlYXJjaFN0cmluZywgY2hpbGRNb2RlbCk7XG4gICAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICAgIHJldHVybiBmb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgZmluZFNpYmxpbmdOb2RlU3RhcnRzV2l0aChzZWFyY2hTdHJpbmc6IHN0cmluZywgbW9kZWw6IFRyZWVOb2RlTW9kZWw8VD4pOiBUcmVlTm9kZU1vZGVsPFQ+IHtcbiAgICBjb25zdCBzaWJsaW5ncyA9IHRoaXMuZmluZFNpYmxpbmdzKG1vZGVsKTtcbiAgICBjb25zdCBzZWxmSW5kZXggPSBzaWJsaW5ncy5pbmRleE9mKG1vZGVsKTtcblxuICAgIC8vIExvb2sgZnJvbSBzaWJsaW5nIG5vZGVzXG4gICAgZm9yIChsZXQgaSA9IHNlbGZJbmRleCArIDE7IGkgPCBzaWJsaW5ncy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3Qgc2libGluZ01vZGVsID0gc2libGluZ3NbaV07XG4gICAgICBjb25zdCBmb3VuZCA9IHRoaXMuZmluZE5vZGVTdGFydHNXaXRoKHNlYXJjaFN0cmluZywgc2libGluZ01vZGVsKTtcbiAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICByZXR1cm4gZm91bmQ7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kUm9vdE5vZGVTdGFydHNXaXRoKHNlYXJjaFN0cmluZzogc3RyaW5nLCBtb2RlbDogVHJlZU5vZGVNb2RlbDxUPik6IFRyZWVOb2RlTW9kZWw8VD4ge1xuICAgIGZvciAoY29uc3Qgcm9vdE1vZGVsIG9mIHRoaXMucm9vdE5vZGVNb2RlbHMpIHtcbiAgICAgIC8vIERvbid0IGxvb2sgZnJvbSBhIHBhcmVudCB5ZXRcbiAgICAgIGlmIChtb2RlbC5wYXJlbnQgJiYgbW9kZWwucGFyZW50ID09PSByb290TW9kZWwpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZvdW5kID0gdGhpcy5maW5kTm9kZVN0YXJ0c1dpdGgoc2VhcmNoU3RyaW5nLCByb290TW9kZWwpO1xuICAgICAgaWYgKGZvdW5kKSB7XG4gICAgICAgIHJldHVybiBmb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGZpbmROb2RlU3RhcnRzV2l0aChzZWFyY2hTdHJpbmc6IHN0cmluZywgbW9kZWw6IFRyZWVOb2RlTW9kZWw8VD4pOiBUcmVlTm9kZU1vZGVsPFQ+IHtcbiAgICBpZiAoIW1vZGVsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAobW9kZWwudGV4dENvbnRlbnQuc3RhcnRzV2l0aChzZWFyY2hTdHJpbmcpKSB7XG4gICAgICByZXR1cm4gbW9kZWw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZmluZERlc2NlbmRlbnROb2RlU3RhcnRzV2l0aChzZWFyY2hTdHJpbmcsIG1vZGVsKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZENsb3Nlc3ROb2RlU3RhcnRzV2l0aChzZWFyY2hTdHJpbmc6IHN0cmluZywgbW9kZWw6IFRyZWVOb2RlTW9kZWw8VD4pOiBUcmVlTm9kZU1vZGVsPFQ+IHtcbiAgICBpZiAoIW1vZGVsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBmb3VuZEZyb21EZXNjZW5kZW50cyA9IHRoaXMuZmluZERlc2NlbmRlbnROb2RlU3RhcnRzV2l0aChzZWFyY2hTdHJpbmcsIG1vZGVsKTtcblxuICAgIGlmIChmb3VuZEZyb21EZXNjZW5kZW50cykge1xuICAgICAgcmV0dXJuIGZvdW5kRnJvbURlc2NlbmRlbnRzO1xuICAgIH1cblxuICAgIGNvbnN0IGZvdW5kRnJvbVNpYmxpbmdzID0gdGhpcy5maW5kU2libGluZ05vZGVTdGFydHNXaXRoKHNlYXJjaFN0cmluZywgbW9kZWwpO1xuXG4gICAgaWYgKGZvdW5kRnJvbVNpYmxpbmdzKSB7XG4gICAgICByZXR1cm4gZm91bmRGcm9tU2libGluZ3M7XG4gICAgfVxuXG4gICAgY29uc3QgZm91bmRGcm9tUm9vdE5vZGVzID0gdGhpcy5maW5kUm9vdE5vZGVTdGFydHNXaXRoKHNlYXJjaFN0cmluZywgbW9kZWwpO1xuXG4gICAgaWYgKGZvdW5kRnJvbVJvb3ROb2Rlcykge1xuICAgICAgcmV0dXJuIGZvdW5kRnJvbVJvb3ROb2RlcztcbiAgICB9XG4gICAgLy8gTm93IGxvb2sgZnJvbSBpdHMgb3duIGRpcmVjdCBwYXJlbnRcbiAgICByZXR1cm4gdGhpcy5maW5kTm9kZVN0YXJ0c1dpdGgoc2VhcmNoU3RyaW5nLCBtb2RlbC5wYXJlbnQpO1xuICB9XG59XG4iXX0=