@dereekb/dbx-web 2.0.0 → 4.0.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 (289) hide show
  1. package/esm2020/lib/action/action.confirm.directive.mjs +3 -3
  2. package/esm2020/lib/action/action.module.mjs +16 -7
  3. package/esm2020/lib/action/action.progress.component.mjs +20 -0
  4. package/esm2020/lib/action/index.mjs +2 -1
  5. package/esm2020/lib/action/key.trigger.directive.mjs +3 -3
  6. package/esm2020/lib/action/snackbar/action.snackbar.component.mjs +5 -5
  7. package/esm2020/lib/action/snackbar/action.snackbar.directive.mjs +3 -3
  8. package/esm2020/lib/action/snackbar/action.snackbar.generator.mjs +5 -5
  9. package/esm2020/lib/action/snackbar/action.snackbar.module.mjs +4 -4
  10. package/esm2020/lib/action/snackbar/action.snackbar.service.mjs +3 -3
  11. package/esm2020/lib/action/transition/action.transition.module.mjs +4 -4
  12. package/esm2020/lib/action/transition/transition.safety.dialog.component.mjs +4 -4
  13. package/esm2020/lib/action/transition/transition.safety.directive.mjs +3 -3
  14. package/esm2020/lib/button/button.component.mjs +31 -12
  15. package/esm2020/lib/button/button.module.mjs +12 -12
  16. package/esm2020/lib/button/button.spacer.component.mjs +3 -3
  17. package/esm2020/lib/button/index.mjs +2 -1
  18. package/esm2020/lib/button/progress/bar.button.component.mjs +16 -0
  19. package/esm2020/lib/button/progress/base.progress.button.directive.mjs +104 -0
  20. package/esm2020/lib/button/progress/button.progress.config.mjs +3 -0
  21. package/esm2020/lib/button/progress/button.progress.module.mjs +61 -0
  22. package/esm2020/lib/button/progress/index.mjs +5 -0
  23. package/esm2020/lib/button/progress/spinner.button.component.mjs +40 -0
  24. package/esm2020/lib/dbx-web.module.mjs +10 -17
  25. package/esm2020/lib/error/error.action.directive.mjs +3 -3
  26. package/esm2020/lib/error/error.component.mjs +5 -5
  27. package/esm2020/lib/error/error.loading.directive.mjs +3 -3
  28. package/esm2020/lib/error/error.module.mjs +4 -4
  29. package/esm2020/lib/interaction/dialog/abstract.dialog.directive.mjs +9 -6
  30. package/esm2020/lib/interaction/dialog/dialog.action.directive.mjs +41 -0
  31. package/esm2020/lib/interaction/dialog/dialog.content.component.mjs +4 -4
  32. package/esm2020/lib/interaction/dialog/dialog.module.mjs +12 -7
  33. package/esm2020/lib/interaction/dialog/index.mjs +2 -1
  34. package/esm2020/lib/interaction/filter/filter.module.mjs +9 -9
  35. package/esm2020/lib/interaction/filter/filter.popover.button.component.mjs +3 -3
  36. package/esm2020/lib/interaction/filter/filter.popover.button.directive.mjs +3 -3
  37. package/esm2020/lib/interaction/filter/filter.popover.component.mjs +5 -5
  38. package/esm2020/lib/interaction/filter/filter.wrapper.component.mjs +3 -3
  39. package/esm2020/lib/interaction/interaction.module.mjs +4 -4
  40. package/esm2020/lib/interaction/popover/abstract.popover.directive.mjs +3 -3
  41. package/esm2020/lib/interaction/popover/abstract.popover.ref.directive.mjs +6 -6
  42. package/esm2020/lib/interaction/popover/index.mjs +1 -2
  43. package/esm2020/lib/interaction/popover/popover.action.directive.mjs +18 -56
  44. package/esm2020/lib/interaction/popover/popover.component.mjs +9 -9
  45. package/esm2020/lib/interaction/popover/popover.content.component.mjs +3 -3
  46. package/esm2020/lib/interaction/popover/popover.controls.directive.mjs +3 -3
  47. package/esm2020/lib/interaction/popover/popover.coordinator.component.mjs +3 -3
  48. package/esm2020/lib/interaction/popover/popover.coordinator.service.mjs +11 -5
  49. package/esm2020/lib/interaction/popover/popover.header.component.mjs +3 -3
  50. package/esm2020/lib/interaction/popover/popover.module.mjs +17 -31
  51. package/esm2020/lib/interaction/popover/popover.scroll.content.component.mjs +3 -3
  52. package/esm2020/lib/interaction/popover/popover.service.mjs +3 -3
  53. package/esm2020/lib/interaction/popup/abstract.popup.directive.mjs +3 -3
  54. package/esm2020/lib/interaction/popup/popup.component.mjs +9 -9
  55. package/esm2020/lib/interaction/popup/popup.content.component.mjs +3 -3
  56. package/esm2020/lib/interaction/popup/popup.controls.buttons.component.mjs +4 -4
  57. package/esm2020/lib/interaction/popup/popup.controls.component.mjs +3 -3
  58. package/esm2020/lib/interaction/popup/popup.coordinator.component.mjs +3 -3
  59. package/esm2020/lib/interaction/popup/popup.coordinator.service.mjs +11 -5
  60. package/esm2020/lib/interaction/popup/popup.module.mjs +13 -22
  61. package/esm2020/lib/interaction/popup/popup.service.mjs +3 -3
  62. package/esm2020/lib/interaction/prompt/prompt.box.component.mjs +3 -3
  63. package/esm2020/lib/interaction/prompt/prompt.button.confirm.directive.mjs +3 -3
  64. package/esm2020/lib/interaction/prompt/prompt.component.mjs +3 -3
  65. package/esm2020/lib/interaction/prompt/prompt.confirm.component.mjs +3 -3
  66. package/esm2020/lib/interaction/prompt/prompt.confirm.dialog.component.mjs +8 -8
  67. package/esm2020/lib/interaction/prompt/prompt.confirm.directive.mjs +6 -6
  68. package/esm2020/lib/interaction/prompt/prompt.module.mjs +9 -9
  69. package/esm2020/lib/interaction/prompt/prompt.page.component.mjs +3 -3
  70. package/esm2020/lib/keypress/keydown.listener.directive.mjs +3 -3
  71. package/esm2020/lib/keypress/keypress.module.mjs +4 -4
  72. package/esm2020/lib/layout/bar/bar.directive.mjs +3 -3
  73. package/esm2020/lib/layout/bar/bar.header.component.mjs +3 -3
  74. package/esm2020/lib/layout/bar/bar.layout.module.mjs +4 -4
  75. package/esm2020/lib/layout/bar/pagebar.component.mjs +3 -3
  76. package/esm2020/lib/layout/block/block.layout.module.mjs +9 -9
  77. package/esm2020/lib/layout/block/two.block.component.mjs +22 -10
  78. package/esm2020/lib/layout/card/card.box.component.mjs +3 -3
  79. package/esm2020/lib/layout/card/card.box.container.component.mjs +3 -3
  80. package/esm2020/lib/layout/card/card.box.layout.module.mjs +4 -4
  81. package/esm2020/lib/layout/column/column.layout.module.mjs +4 -4
  82. package/esm2020/lib/layout/column/one/one.column.component.mjs +9 -9
  83. package/esm2020/lib/layout/column/one/one.column.module.mjs +4 -4
  84. package/esm2020/lib/layout/column/two/index.mjs +2 -1
  85. package/esm2020/lib/layout/column/two/two.column.back.directive.mjs +8 -8
  86. package/esm2020/lib/layout/column/two/two.column.component.mjs +51 -14
  87. package/esm2020/lib/layout/column/two/two.column.context.directive.mjs +36 -0
  88. package/esm2020/lib/layout/column/two/two.column.full.left.directive.mjs +8 -8
  89. package/esm2020/lib/layout/column/two/two.column.head.component.mjs +8 -8
  90. package/esm2020/lib/layout/column/two/two.column.module.mjs +43 -38
  91. package/esm2020/lib/layout/column/two/two.column.right.component.mjs +11 -6
  92. package/esm2020/lib/layout/column/two/two.column.sref.directive.mjs +12 -17
  93. package/esm2020/lib/layout/column/two/two.column.store.mjs +8 -7
  94. package/esm2020/lib/layout/compact/compact.directive.mjs +3 -3
  95. package/esm2020/lib/layout/compact/compact.layout.module.mjs +4 -4
  96. package/esm2020/lib/layout/compact/compact.store.mjs +3 -3
  97. package/esm2020/lib/layout/content/content.border.directive.mjs +3 -3
  98. package/esm2020/lib/layout/content/content.box.directive.mjs +9 -5
  99. package/esm2020/lib/layout/content/content.container.directive.mjs +4 -4
  100. package/esm2020/lib/layout/content/content.directive.mjs +3 -3
  101. package/esm2020/lib/layout/content/content.elevate.directive.mjs +3 -3
  102. package/esm2020/lib/layout/content/content.layout.module.mjs +4 -4
  103. package/esm2020/lib/layout/content/content.page.directive.mjs +3 -3
  104. package/esm2020/lib/layout/flag/flag.component.mjs +3 -3
  105. package/esm2020/lib/layout/flag/flag.layout.module.mjs +4 -4
  106. package/esm2020/lib/layout/flag/flag.prompt.component.mjs +3 -3
  107. package/esm2020/lib/layout/flex/flex.group.directive.mjs +8 -4
  108. package/esm2020/lib/layout/flex/flex.layout.module.mjs +4 -4
  109. package/esm2020/lib/layout/flex/flex.size.directive.mjs +3 -3
  110. package/esm2020/lib/layout/item/item.icon.component.mjs +3 -3
  111. package/esm2020/lib/layout/item/item.layout.module.mjs +4 -4
  112. package/esm2020/lib/layout/layout.module.mjs +4 -4
  113. package/esm2020/lib/layout/list/index.mjs +5 -1
  114. package/esm2020/lib/layout/list/list.component.mjs +22 -9
  115. package/esm2020/lib/layout/list/list.content.empty.component.mjs +3 -3
  116. package/esm2020/lib/layout/list/list.directive.mjs +12 -10
  117. package/esm2020/lib/layout/list/list.layout.module.mjs +32 -18
  118. package/esm2020/lib/layout/list/list.view.directive.mjs +11 -4
  119. package/esm2020/lib/layout/list/list.view.mjs +1 -1
  120. package/esm2020/lib/layout/list/list.view.selection.directive.mjs +8 -7
  121. package/esm2020/lib/layout/list/list.view.value.component.mjs +57 -28
  122. package/esm2020/lib/layout/list/list.view.value.directive.mjs +18 -10
  123. package/esm2020/lib/layout/list/list.view.value.item.directive.mjs +7 -7
  124. package/esm2020/lib/layout/list/list.view.value.mjs +36 -24
  125. package/esm2020/lib/layout/list/list.view.value.modifier.directive.mjs +81 -0
  126. package/esm2020/lib/layout/list/list.view.value.modifier.mjs +15 -0
  127. package/esm2020/lib/layout/list/list.view.value.modifier.ripple.directive.mjs +45 -0
  128. package/esm2020/lib/layout/list/list.view.value.selection.component.mjs +57 -43
  129. package/esm2020/lib/layout/list/list.wrapper.mjs +13 -0
  130. package/esm2020/lib/layout/section/section.component.mjs +3 -3
  131. package/esm2020/lib/layout/section/section.header.component.mjs +3 -3
  132. package/esm2020/lib/layout/section/section.intro.component.mjs +3 -3
  133. package/esm2020/lib/layout/section/section.layout.module.mjs +9 -9
  134. package/esm2020/lib/layout/section/section.page.component.mjs +3 -3
  135. package/esm2020/lib/layout/section/subsection.component.mjs +3 -3
  136. package/esm2020/lib/layout/step/step.component.mjs +3 -3
  137. package/esm2020/lib/layout/step/step.layout.module.mjs +4 -4
  138. package/esm2020/lib/layout/style/spacer.directive.mjs +3 -3
  139. package/esm2020/lib/layout/style/style.body.directive.mjs +3 -3
  140. package/esm2020/lib/layout/style/style.directive.mjs +3 -3
  141. package/esm2020/lib/layout/style/style.layout.module.mjs +4 -4
  142. package/esm2020/lib/layout/style/style.service.mjs +6 -4
  143. package/esm2020/lib/layout/style/style.set.directive.mjs +5 -4
  144. package/esm2020/lib/layout/text/hint.component.mjs +3 -3
  145. package/esm2020/lib/layout/text/icon.spacer.component.mjs +3 -3
  146. package/esm2020/lib/layout/text/label.component.mjs +3 -3
  147. package/esm2020/lib/layout/text/linkify.component.mjs +3 -3
  148. package/esm2020/lib/layout/text/note.component.mjs +3 -3
  149. package/esm2020/lib/layout/text/notice.component.mjs +3 -3
  150. package/esm2020/lib/layout/text/ok.component.mjs +3 -3
  151. package/esm2020/lib/layout/text/success.component.mjs +3 -3
  152. package/esm2020/lib/layout/text/text.chips.component.mjs +3 -3
  153. package/esm2020/lib/layout/text/text.module.mjs +4 -4
  154. package/esm2020/lib/layout/text/warn.component.mjs +3 -3
  155. package/esm2020/lib/loading/basic-loading.component.mjs +3 -3
  156. package/esm2020/lib/loading/loading-progress.component.mjs +4 -4
  157. package/esm2020/lib/loading/loading.action.directive.mjs +3 -3
  158. package/esm2020/lib/loading/loading.component.mjs +3 -3
  159. package/esm2020/lib/loading/loading.module.mjs +4 -4
  160. package/esm2020/lib/router/layout/anchor/anchor.component.mjs +9 -5
  161. package/esm2020/lib/router/layout/anchor/anchor.content.component.mjs +31 -9
  162. package/esm2020/lib/router/layout/anchor/anchor.icon.component.mjs +3 -3
  163. package/esm2020/lib/router/layout/anchor/anchor.link.component.mjs +3 -3
  164. package/esm2020/lib/router/layout/anchor/anchor.module.mjs +10 -10
  165. package/esm2020/lib/router/layout/anchor/anchor.segue.directive.mjs +4 -4
  166. package/esm2020/lib/router/layout/anchorlist/anchorlist.component.mjs +5 -5
  167. package/esm2020/lib/router/layout/anchorlist/anchorlist.module.mjs +10 -10
  168. package/esm2020/lib/router/layout/index.mjs +2 -1
  169. package/esm2020/lib/router/layout/layout.module.mjs +23 -19
  170. package/esm2020/lib/router/layout/list/index.mjs +3 -0
  171. package/esm2020/lib/router/layout/list/list.module.mjs +21 -0
  172. package/esm2020/lib/router/layout/list/router.list.directive.mjs +42 -0
  173. package/esm2020/lib/router/layout/navbar/navbar.component.mjs +4 -4
  174. package/esm2020/lib/router/layout/navbar/navbar.module.mjs +10 -10
  175. package/esm2020/lib/router/layout/sidenav/sidenav.button.component.mjs +3 -3
  176. package/esm2020/lib/router/layout/sidenav/sidenav.component.mjs +3 -3
  177. package/esm2020/lib/router/layout/sidenav/sidenav.module.mjs +14 -14
  178. package/esm2020/lib/router/layout/sidenav/sidenav.page.component.mjs +7 -4
  179. package/esm2020/lib/router/layout/sidenav/sidenav.pagebar.component.mjs +4 -4
  180. package/esm2020/lib/router/provider/ngrouter/anchor.component.mjs +5 -5
  181. package/esm2020/lib/router/provider/ngrouter/angular.router.module.mjs +9 -9
  182. package/esm2020/lib/router/provider/router.provider.config.mjs +1 -1
  183. package/esm2020/lib/router/provider/uirouter/anchor.component.mjs +5 -5
  184. package/esm2020/lib/router/provider/uirouter/uirouter.router.module.mjs +9 -9
  185. package/esm2020/lib/screen/screen.module.mjs +4 -4
  186. package/esm2020/lib/screen/screen.service.mjs +5 -4
  187. package/fesm2015/dereekb-dbx-web.mjs +1718 -1110
  188. package/fesm2015/dereekb-dbx-web.mjs.map +1 -1
  189. package/fesm2020/dereekb-dbx-web.mjs +1712 -1105
  190. package/fesm2020/dereekb-dbx-web.mjs.map +1 -1
  191. package/lib/action/action.module.d.ts +10 -8
  192. package/lib/action/action.progress.component.d.ts +5 -0
  193. package/lib/action/index.d.ts +1 -0
  194. package/lib/action/snackbar/action.snackbar.generator.d.ts +5 -5
  195. package/lib/button/_button.scss +21 -0
  196. package/lib/button/button.component.d.ts +7 -3
  197. package/lib/button/button.module.d.ts +2 -2
  198. package/lib/button/index.d.ts +1 -0
  199. package/lib/button/progress/bar.button.component.d.ts +6 -0
  200. package/lib/button/progress/bar.button.component.scss +23 -0
  201. package/lib/button/progress/base.progress.button.directive.d.ts +37 -0
  202. package/lib/button/progress/button.progress.config.d.ts +51 -0
  203. package/lib/button/progress/button.progress.module.d.ts +17 -0
  204. package/lib/button/progress/index.d.ts +4 -0
  205. package/lib/button/progress/spinner.button.component.d.ts +9 -0
  206. package/lib/button/progress/spinner.button.component.scss +44 -0
  207. package/lib/dbx-web.module.d.ts +1 -3
  208. package/lib/interaction/dialog/_dialog.scss +18 -2
  209. package/lib/interaction/dialog/abstract.dialog.directive.d.ts +2 -1
  210. package/lib/interaction/dialog/dialog.action.directive.d.ts +21 -0
  211. package/lib/interaction/dialog/dialog.module.d.ts +4 -3
  212. package/lib/interaction/dialog/index.d.ts +1 -0
  213. package/lib/interaction/filter/filter.module.d.ts +1 -1
  214. package/lib/interaction/filter/filter.popover.component.d.ts +2 -2
  215. package/lib/interaction/popover/index.d.ts +0 -1
  216. package/lib/interaction/popover/popover.action.directive.d.ts +14 -23
  217. package/lib/interaction/popover/popover.component.d.ts +3 -3
  218. package/lib/interaction/popover/popover.coordinator.service.d.ts +3 -1
  219. package/lib/interaction/popover/popover.module.d.ts +20 -23
  220. package/lib/interaction/popup/popup.component.d.ts +3 -3
  221. package/lib/interaction/popup/popup.coordinator.service.d.ts +3 -1
  222. package/lib/interaction/popup/popup.module.d.ts +1 -3
  223. package/lib/interaction/prompt/prompt.confirm.dialog.component.d.ts +3 -3
  224. package/lib/interaction/prompt/prompt.module.d.ts +1 -1
  225. package/lib/layout/block/_block.scss +11 -8
  226. package/lib/layout/block/block.layout.module.d.ts +1 -1
  227. package/lib/layout/block/two.block.component.d.ts +5 -1
  228. package/lib/layout/column/_column.scss +119 -3
  229. package/lib/layout/column/two/index.d.ts +1 -0
  230. package/lib/layout/column/two/two.column.back.directive.d.ts +4 -4
  231. package/lib/layout/column/two/two.column.component.d.ts +23 -7
  232. package/lib/layout/column/two/two.column.context.directive.d.ts +18 -0
  233. package/lib/layout/column/two/two.column.full.left.directive.d.ts +4 -4
  234. package/lib/layout/column/two/two.column.head.component.d.ts +3 -3
  235. package/lib/layout/column/two/two.column.module.d.ts +7 -6
  236. package/lib/layout/column/two/two.column.right.component.d.ts +6 -4
  237. package/lib/layout/column/two/two.column.sref.directive.d.ts +6 -7
  238. package/lib/layout/column/two/two.column.store.d.ts +4 -3
  239. package/lib/layout/content/_content.scss +25 -3
  240. package/lib/layout/content/content.box.directive.d.ts +2 -1
  241. package/lib/layout/content/content.container.directive.d.ts +2 -2
  242. package/lib/layout/flex/_flex.scss +4 -0
  243. package/lib/layout/flex/flex.group.directive.d.ts +1 -0
  244. package/lib/layout/list/index.d.ts +4 -0
  245. package/lib/layout/list/list.component.d.ts +14 -5
  246. package/lib/layout/list/list.directive.d.ts +9 -7
  247. package/lib/layout/list/list.layout.module.d.ts +10 -8
  248. package/lib/layout/list/list.view.d.ts +11 -1
  249. package/lib/layout/list/list.view.directive.d.ts +4 -1
  250. package/lib/layout/list/list.view.selection.directive.d.ts +4 -3
  251. package/lib/layout/list/list.view.value.component.d.ts +18 -3
  252. package/lib/layout/list/list.view.value.d.ts +27 -11
  253. package/lib/layout/list/list.view.value.directive.d.ts +9 -6
  254. package/lib/layout/list/list.view.value.item.directive.d.ts +4 -4
  255. package/lib/layout/list/list.view.value.modifier.d.ts +12 -0
  256. package/lib/layout/list/list.view.value.modifier.directive.d.ts +37 -0
  257. package/lib/layout/list/list.view.value.modifier.ripple.directive.d.ts +17 -0
  258. package/lib/layout/list/list.view.value.selection.component.d.ts +10 -11
  259. package/lib/layout/list/list.wrapper.d.ts +11 -0
  260. package/lib/layout/section/section.layout.module.d.ts +1 -1
  261. package/lib/layout/style/_style.scss +12 -1
  262. package/lib/layout/text/_text.scss +9 -0
  263. package/lib/router/layout/anchor/_anchor.scss +10 -0
  264. package/lib/router/layout/anchor/anchor.component.d.ts +5 -4
  265. package/lib/router/layout/anchor/anchor.content.component.d.ts +14 -3
  266. package/lib/router/layout/anchor/anchor.module.d.ts +4 -4
  267. package/lib/router/layout/anchor/anchor.segue.directive.d.ts +2 -2
  268. package/lib/router/layout/anchorlist/_anchorlist.scss +7 -0
  269. package/lib/router/layout/anchorlist/anchorlist.module.d.ts +4 -4
  270. package/lib/router/layout/index.d.ts +1 -0
  271. package/lib/router/layout/layout.module.d.ts +4 -3
  272. package/lib/router/layout/list/index.d.ts +2 -0
  273. package/lib/router/layout/list/list.module.d.ts +7 -0
  274. package/lib/router/layout/list/router.list.directive.d.ts +17 -0
  275. package/lib/router/layout/navbar/navbar.component.d.ts +4 -4
  276. package/lib/router/layout/navbar/navbar.module.d.ts +4 -4
  277. package/lib/router/layout/sidenav/sidenav.module.d.ts +4 -4
  278. package/lib/router/layout/sidenav/sidenav.page.component.d.ts +4 -2
  279. package/lib/router/provider/ngrouter/angular.router.module.d.ts +1 -1
  280. package/lib/router/provider/router.provider.config.d.ts +2 -2
  281. package/lib/router/provider/uirouter/uirouter.router.module.d.ts +1 -1
  282. package/lib/screen/screen.service.d.ts +2 -2
  283. package/lib/style/_config.scss +7 -1
  284. package/lib/style/_root-variables.scss +2 -0
  285. package/lib/style/_variables.scss +4 -0
  286. package/package.json +25 -45
  287. package/esm2020/lib/interaction/popover/popover.action.button.directive.mjs +0 -29
  288. package/lib/interaction/popover/popover.action.button.directive.d.ts +0 -14
  289. package/lib/layout/column/two.scss +0 -114
@@ -9,15 +9,15 @@ export class DbxFlagPromptComponent {
9
9
  this.color = 'accent';
10
10
  }
11
11
  }
12
- DbxFlagPromptComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxFlagPromptComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
- DbxFlagPromptComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: DbxFlagPromptComponent, selector: "dbx-flag-prompt", inputs: { color: "color", text: "text" }, ngImport: i0, template: `
12
+ DbxFlagPromptComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFlagPromptComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ DbxFlagPromptComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxFlagPromptComponent, selector: "dbx-flag-prompt", inputs: { color: "color", text: "text" }, ngImport: i0, template: `
14
14
  <dbx-flag [color]="color">
15
15
  <span class="dbx-flag-prompt">{{ text }}</span>
16
16
  <span class="dbx-flag-spacer"></span>
17
17
  <ng-content></ng-content>
18
18
  </dbx-flag>
19
19
  `, isInline: true, components: [{ type: i1.DbxFlagComponent, selector: "dbx-flag", inputs: ["color"] }] });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxFlagPromptComponent, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFlagPromptComponent, decorators: [{
21
21
  type: Component,
22
22
  args: [{
23
23
  selector: 'dbx-flag-prompt',
@@ -27,13 +27,17 @@ export class DbxFlexGroupDirective extends AbstractSubscriptionDirective {
27
27
  safeDetectChanges(this.cdRef);
28
28
  });
29
29
  }
30
+ ngOnDestroy() {
31
+ super.ngOnDestroy();
32
+ this._breakpoint.complete();
33
+ }
30
34
  set breakpoint(breakpoint) {
31
35
  this._breakpoint.next(breakpoint ?? 'tablet');
32
36
  }
33
37
  }
34
- DbxFlexGroupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxFlexGroupDirective, deps: [{ token: i1.DbxScreenMediaService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
35
- DbxFlexGroupDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: DbxFlexGroupDirective, selector: "[dbxFlexGroup]", inputs: { content: "content", relative: "relative", breakpoint: "breakpoint" }, host: { properties: { "class.dbx-flex-group": "content", "class.dbx-flex-group-small": "small", "class.dbx-flex-group-relative": "relative" } }, usesInheritance: true, ngImport: i0 });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxFlexGroupDirective, decorators: [{
38
+ DbxFlexGroupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFlexGroupDirective, deps: [{ token: i1.DbxScreenMediaService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
39
+ DbxFlexGroupDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxFlexGroupDirective, selector: "[dbxFlexGroup]", inputs: { content: "content", relative: "relative", breakpoint: "breakpoint" }, host: { properties: { "class.dbx-flex-group": "content", "class.dbx-flex-group-small": "small", "class.dbx-flex-group-relative": "relative" } }, usesInheritance: true, ngImport: i0 });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFlexGroupDirective, decorators: [{
37
41
  type: Directive,
38
42
  args: [{
39
43
  selector: '[dbxFlexGroup]',
@@ -50,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
50
54
  }], breakpoint: [{
51
55
  type: Input
52
56
  }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleC5ncm91cC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2ZsZXgvZmxleC5ncm91cC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBR3JGOztHQUVHO0FBU0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLDZCQUE2QjtJQWlCdEUsWUFBNkIsc0JBQTZDLEVBQVcsS0FBd0I7UUFDM0csS0FBSyxFQUFFLENBQUM7UUFEbUIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF1QjtRQUFXLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBZDdHLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFHZixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRVQsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUV4QixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUF1QixRQUFRLENBQUMsQ0FBQztRQUNqRSxtQkFBYyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQVF0SixDQUFDO0lBTkQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFNRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNoRSxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNwQixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFDSSxVQUFVLENBQUMsVUFBdUM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7O2tIQS9CVSxxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQVJqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLElBQUksRUFBRTt3QkFDSix3QkFBd0IsRUFBRSxTQUFTO3dCQUNuQyw4QkFBOEIsRUFBRSxPQUFPO3dCQUN2QyxpQ0FBaUMsRUFBRSxVQUFVO3FCQUM5QztpQkFDRjs0SUFJQyxPQUFPO3NCQUROLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQXdCRixVQUFVO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY3JlZW5NZWRpYVdpZHRoVHlwZSB9IGZyb20gJy4uLy4uL3NjcmVlbi9zY3JlZW4nO1xuaW1wb3J0IHsgRGJ4U2NyZWVuTWVkaWFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2NyZWVuL3NjcmVlbi5zZXJ2aWNlJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBzaGFyZVJlcGxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGRlbGF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSwgc2FmZURldGVjdENoYW5nZXMgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG4vKipcbiAqIFVzZWQgdG8gZGVjbGFyZSBhIGRieEZsZXhHcm91cC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEZsZXhHcm91cF0nLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5kYngtZmxleC1ncm91cF0nOiAnY29udGVudCcsXG4gICAgJ1tjbGFzcy5kYngtZmxleC1ncm91cC1zbWFsbF0nOiAnc21hbGwnLFxuICAgICdbY2xhc3MuZGJ4LWZsZXgtZ3JvdXAtcmVsYXRpdmVdJzogJ3JlbGF0aXZlJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIERieEZsZXhHcm91cERpcmVjdGl2ZSBleHRlbmRzIEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBjb250ZW50ID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICByZWxhdGl2ZSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX3NtYWxsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfYnJlYWtwb2ludCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2NyZWVuTWVkaWFXaWR0aFR5cGU+KCd0YWJsZXQnKTtcbiAgcmVhZG9ubHkgaXNTbWFsbFNjcmVlbiQgPSB0aGlzLl9kYnhTY3JlZW5NZWRpYVNlcnZpY2UuaXNCcmVha3BvaW50QWN0aXZlKHRoaXMuX2JyZWFrcG9pbnQpLnBpcGUobWFwKHggPT4gIXgpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgZ2V0IHNtYWxsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zbWFsbDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX2RieFNjcmVlbk1lZGlhU2VydmljZTogRGJ4U2NyZWVuTWVkaWFTZXJ2aWNlLCByZWFkb25seSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWIgPSB0aGlzLmlzU21hbGxTY3JlZW4kLnBpcGUoZGVsYXkoMCkpLnN1YnNjcmliZSgoc21hbGwpID0+IHtcbiAgICAgIHRoaXMuX3NtYWxsID0gc21hbGw7XG4gICAgICBzYWZlRGV0ZWN0Q2hhbmdlcyh0aGlzLmNkUmVmKTtcbiAgICB9KTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBicmVha3BvaW50KGJyZWFrcG9pbnQ6IE1heWJlPFNjcmVlbk1lZGlhV2lkdGhUeXBlPikge1xuICAgIHRoaXMuX2JyZWFrcG9pbnQubmV4dChicmVha3BvaW50ID8/ICd0YWJsZXQnKTtcbiAgfVxuXG59XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleC5ncm91cC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2ZsZXgvZmxleC5ncm91cC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBR3JGOztHQUVHO0FBU0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLDZCQUE2QjtJQWlCdEUsWUFBNkIsc0JBQTZDLEVBQVcsS0FBd0I7UUFDM0csS0FBSyxFQUFFLENBQUM7UUFEbUIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF1QjtRQUFXLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBZDdHLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFHZixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRVQsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUV4QixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUF1QixRQUFRLENBQUMsQ0FBQztRQUNqRSxtQkFBYyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQVF0SixDQUFDO0lBTkQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFNRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNoRSxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNwQixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVEsV0FBVztRQUNsQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFDSSxVQUFVLENBQUMsVUFBdUM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7O2tIQXBDVSxxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQVJqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLElBQUksRUFBRTt3QkFDSix3QkFBd0IsRUFBRSxTQUFTO3dCQUNuQyw4QkFBOEIsRUFBRSxPQUFPO3dCQUN2QyxpQ0FBaUMsRUFBRSxVQUFVO3FCQUM5QztpQkFDRjs0SUFJQyxPQUFPO3NCQUROLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQTZCRixVQUFVO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY3JlZW5NZWRpYVdpZHRoVHlwZSB9IGZyb20gJy4uLy4uL3NjcmVlbi9zY3JlZW4nO1xuaW1wb3J0IHsgRGJ4U2NyZWVuTWVkaWFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2NyZWVuL3NjcmVlbi5zZXJ2aWNlJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBzaGFyZVJlcGxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGRlbGF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSwgc2FmZURldGVjdENoYW5nZXMgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG4vKipcbiAqIFVzZWQgdG8gZGVjbGFyZSBhIGRieEZsZXhHcm91cC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEZsZXhHcm91cF0nLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5kYngtZmxleC1ncm91cF0nOiAnY29udGVudCcsXG4gICAgJ1tjbGFzcy5kYngtZmxleC1ncm91cC1zbWFsbF0nOiAnc21hbGwnLFxuICAgICdbY2xhc3MuZGJ4LWZsZXgtZ3JvdXAtcmVsYXRpdmVdJzogJ3JlbGF0aXZlJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIERieEZsZXhHcm91cERpcmVjdGl2ZSBleHRlbmRzIEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBjb250ZW50ID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICByZWxhdGl2ZSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX3NtYWxsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfYnJlYWtwb2ludCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2NyZWVuTWVkaWFXaWR0aFR5cGU+KCd0YWJsZXQnKTtcbiAgcmVhZG9ubHkgaXNTbWFsbFNjcmVlbiQgPSB0aGlzLl9kYnhTY3JlZW5NZWRpYVNlcnZpY2UuaXNCcmVha3BvaW50QWN0aXZlKHRoaXMuX2JyZWFrcG9pbnQpLnBpcGUobWFwKHggPT4gIXgpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgZ2V0IHNtYWxsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zbWFsbDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX2RieFNjcmVlbk1lZGlhU2VydmljZTogRGJ4U2NyZWVuTWVkaWFTZXJ2aWNlLCByZWFkb25seSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWIgPSB0aGlzLmlzU21hbGxTY3JlZW4kLnBpcGUoZGVsYXkoMCkpLnN1YnNjcmliZSgoc21hbGwpID0+IHtcbiAgICAgIHRoaXMuX3NtYWxsID0gc21hbGw7XG4gICAgICBzYWZlRGV0ZWN0Q2hhbmdlcyh0aGlzLmNkUmVmKTtcbiAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5fYnJlYWtwb2ludC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGJyZWFrcG9pbnQoYnJlYWtwb2ludDogTWF5YmU8U2NyZWVuTWVkaWFXaWR0aFR5cGU+KSB7XG4gICAgdGhpcy5fYnJlYWtwb2ludC5uZXh0KGJyZWFrcG9pbnQgPz8gJ3RhYmxldCcpO1xuICB9XG5cbn1cbiJdfQ==
@@ -5,14 +5,14 @@ import { DbxFlexSizeDirective } from './flex.size.directive';
5
5
  import * as i0 from "@angular/core";
6
6
  export class DbxFlexLayoutModule {
7
7
  }
8
- DbxFlexLayoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxFlexLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- DbxFlexLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxFlexLayoutModule, declarations: [DbxFlexGroupDirective,
8
+ DbxFlexLayoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFlexLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ DbxFlexLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFlexLayoutModule, declarations: [DbxFlexGroupDirective,
10
10
  DbxFlexSizeDirective], imports: [CommonModule], exports: [DbxFlexGroupDirective,
11
11
  DbxFlexSizeDirective] });
12
- DbxFlexLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxFlexLayoutModule, imports: [[
12
+ DbxFlexLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFlexLayoutModule, imports: [[
13
13
  CommonModule
14
14
  ]] });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxFlexLayoutModule, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFlexLayoutModule, decorators: [{
16
16
  type: NgModule,
17
17
  args: [{
18
18
  imports: [
@@ -8,9 +8,9 @@ export class DbxFlexSizeDirective {
8
8
  this.size = 1;
9
9
  }
10
10
  }
11
- DbxFlexSizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxFlexSizeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
12
- DbxFlexSizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: DbxFlexSizeDirective, selector: "[dbxFlexSize]", inputs: { size: ["dbxFlexSize", "size"] }, host: { properties: { "class": "\"dbx-flex-\" + size" } }, ngImport: i0 });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxFlexSizeDirective, decorators: [{
11
+ DbxFlexSizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFlexSizeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
12
+ DbxFlexSizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxFlexSizeDirective, selector: "[dbxFlexSize]", inputs: { size: ["dbxFlexSize", "size"] }, host: { properties: { "class": "\"dbx-flex-\" + size" } }, ngImport: i0 });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFlexSizeDirective, decorators: [{
14
14
  type: Directive,
15
15
  args: [{
16
16
  selector: '[dbxFlexSize]',
@@ -7,8 +7,8 @@ import * as i2 from "@angular/common";
7
7
  */
8
8
  export class DbxIconItemComponent {
9
9
  }
10
- DbxIconItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxIconItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- DbxIconItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: DbxIconItemComponent, selector: "dbx-icon-item", inputs: { icon: "icon", header: "header" }, ngImport: i0, template: `
10
+ DbxIconItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxIconItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ DbxIconItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxIconItemComponent, selector: "dbx-icon-item", inputs: { icon: "icon", header: "header" }, ngImport: i0, template: `
12
12
  <div class="dbx-icon-item">
13
13
  <div class="left">
14
14
  <mat-icon>{{ icon }}</mat-icon>
@@ -21,7 +21,7 @@ DbxIconItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
21
21
  </div>
22
22
  </div>
23
23
  `, isInline: true, components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxIconItemComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxIconItemComponent, decorators: [{
25
25
  type: Component,
26
26
  args: [{
27
27
  selector: 'dbx-icon-item',
@@ -5,14 +5,14 @@ import { DbxIconItemComponent } from './item.icon.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class DbxItemLayoutModule {
7
7
  }
8
- DbxItemLayoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxItemLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- DbxItemLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxItemLayoutModule, declarations: [DbxIconItemComponent], imports: [CommonModule,
8
+ DbxItemLayoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxItemLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ DbxItemLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxItemLayoutModule, declarations: [DbxIconItemComponent], imports: [CommonModule,
10
10
  MatIconModule], exports: [DbxIconItemComponent] });
11
- DbxItemLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxItemLayoutModule, imports: [[
11
+ DbxItemLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxItemLayoutModule, imports: [[
12
12
  CommonModule,
13
13
  MatIconModule
14
14
  ]] });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxItemLayoutModule, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxItemLayoutModule, decorators: [{
16
16
  type: NgModule,
17
17
  args: [{
18
18
  imports: [
@@ -16,8 +16,8 @@ import { DbxFlexLayoutModule } from './flex/flex.layout.module';
16
16
  import * as i0 from "@angular/core";
17
17
  export class DbxLayoutModule {
18
18
  }
19
- DbxLayoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
- DbxLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxLayoutModule, exports: [DbxBarLayoutModule,
19
+ DbxLayoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ DbxLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxLayoutModule, exports: [DbxBarLayoutModule,
21
21
  DbxBlockLayoutModule,
22
22
  DbxCardBoxLayoutModule,
23
23
  DbxColumnLayoutModule,
@@ -31,7 +31,7 @@ DbxLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
31
31
  DbxStepLayoutModule,
32
32
  DbxStyleLayoutModule,
33
33
  DbxTextModule] });
34
- DbxLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxLayoutModule, imports: [DbxBarLayoutModule,
34
+ DbxLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxLayoutModule, imports: [DbxBarLayoutModule,
35
35
  DbxBlockLayoutModule,
36
36
  DbxCardBoxLayoutModule,
37
37
  DbxColumnLayoutModule,
@@ -45,7 +45,7 @@ DbxLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
45
45
  DbxStepLayoutModule,
46
46
  DbxStyleLayoutModule,
47
47
  DbxTextModule] });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxLayoutModule, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxLayoutModule, decorators: [{
49
49
  type: NgModule,
50
50
  args: [{
51
51
  exports: [
@@ -7,7 +7,11 @@ export * from './list.view.selection.directive';
7
7
  export * from './list.view.value.component';
8
8
  export * from './list.view.value.directive';
9
9
  export * from './list.view.value.item.directive';
10
+ export * from './list.view.value.modifier';
11
+ export * from './list.view.value.modifier.directive';
12
+ export * from './list.view.value.modifier.ripple.directive';
10
13
  export * from './list.view.value.selection.component';
11
14
  export * from './list.view.value';
12
15
  export * from './list.view';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saXN0LmNvbnRlbnQuZW1wdHkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QubGF5b3V0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Qudmlldy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LnZpZXcuc2VsZWN0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Qudmlldy52YWx1ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LnZpZXcudmFsdWUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC52aWV3LnZhbHVlLml0ZW0uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC52aWV3LnZhbHVlLnNlbGVjdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LnZpZXcudmFsdWUnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LnZpZXcnO1xuIl19
16
+ export * from './list.wrapper';
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpc3QuY29udGVudC5lbXB0eS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC5sYXlvdXQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC52aWV3LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Qudmlldy5zZWxlY3Rpb24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC52aWV3LnZhbHVlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Qudmlldy52YWx1ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LnZpZXcudmFsdWUuaXRlbS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LnZpZXcudmFsdWUubW9kaWZpZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LnZpZXcudmFsdWUubW9kaWZpZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC52aWV3LnZhbHVlLm1vZGlmaWVyLnJpcHBsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LnZpZXcudmFsdWUuc2VsZWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Qudmlldy52YWx1ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Qudmlldyc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Qud3JhcHBlcic7XG4iXX0=
@@ -23,16 +23,19 @@ export class DbxListComponent {
23
23
  this.padded = true;
24
24
  this.contentScrolled = new EventEmitter();
25
25
  this._disabled = new BehaviorSubject(false);
26
+ this._selectionMode = new BehaviorSubject(undefined);
26
27
  this._loadMoreTrigger = new Subject();
27
28
  this._scrollTrigger = new Subject();
28
29
  this._config = new BehaviorSubject(undefined);
29
30
  this._loadMoreSub = new SubscriptionObject();
30
31
  this._onClickSub = new SubscriptionObject();
31
32
  this._disabledSub = new SubscriptionObject();
33
+ this._selectionModeSub = new SubscriptionObject();
32
34
  this._onSelectionChangeSub = new SubscriptionObject();
33
35
  this.context = new ListLoadingStateContextInstance({ showLoadingOnNoValue: false });
34
36
  this.isEmpty$ = this.context.isEmpty$;
35
37
  this.disabled$ = this._disabled.asObservable();
38
+ this.selectionMode$ = this._selectionMode.asObservable();
36
39
  this.hideOnEmpty$ = this._config.pipe(filterMaybe(), map(x => Boolean(x.hideOnEmpty)), distinctUntilChanged(), shareReplay(1));
37
40
  this.invertedList$ = this._config.pipe(filterMaybe(), map(x => Boolean(x?.throttle)), distinctUntilChanged(), shareReplay(1));
38
41
  this.throttleScroll$ = this._config.pipe(map(x => (x?.throttle) ?? this.DEFAULT_THROTTLE_SCROLL), distinctUntilChanged(), shareReplay(1));
@@ -45,13 +48,14 @@ export class DbxListComponent {
45
48
  this.injectedComponentConfig$ = this._config.pipe(distinctUntilChanged(), map((config) => {
46
49
  let injectedComponentConfig;
47
50
  if (config) {
48
- const { componentClass, init, onClick, onSelectionChange, loadMore } = config;
51
+ const { componentClass, init, onClick, onSelectionChange, loadMore, defaultSelectionMode = 'view' } = config;
49
52
  injectedComponentConfig = {
50
53
  componentClass: config.componentClass,
51
54
  injector: config.injector,
52
55
  init: (instance) => {
53
56
  // Synchronize disabled
54
57
  this._disabledSub.subscription = this.disabled$.subscribe((disabled) => instance.setDisabled(disabled));
58
+ this._selectionModeSub.subscription = this.selectionMode$.subscribe((selectionMode) => instance.setSelectionMode(selectionMode ?? defaultSelectionMode));
55
59
  if (init) {
56
60
  init(instance);
57
61
  }
@@ -107,6 +111,7 @@ export class DbxListComponent {
107
111
  this._loadMoreTrigger.complete();
108
112
  this._config.complete();
109
113
  this._disabled.complete();
114
+ this._selectionMode.complete();
110
115
  this._onClickSub.destroy();
111
116
  this._loadMoreSub.destroy();
112
117
  this._onSelectionChangeSub.destroy();
@@ -128,6 +133,12 @@ export class DbxListComponent {
128
133
  set disabled(disabled) {
129
134
  this._disabled.next(disabled ?? false);
130
135
  }
136
+ get selectionMode() {
137
+ return this._selectionMode.value;
138
+ }
139
+ set selectionMode(selectionMode) {
140
+ this._selectionMode.next(selectionMode);
141
+ }
131
142
  getScrollPositionRelativeToBottom() {
132
143
  try {
133
144
  const element = this.nativeElement;
@@ -178,14 +189,14 @@ export class DbxListComponent {
178
189
  }
179
190
  }
180
191
  }
181
- DbxListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxListComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
182
- DbxListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: DbxListComponent, selector: "dbx-list", inputs: { padded: "padded", state$: "state$", config: "config", disabled: "disabled" }, outputs: { contentScrolled: "contentScrolled" }, host: { properties: { "class.dbx-list-padded": "padded" }, classAttribute: "d-block dbx-list" }, ngImport: i0, template: "<dbx-loading [context]=\"context\" [linear]=\"true\"></dbx-loading>\n<div dbx-list-internal-content infinite-scroll [infiniteScrollDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\"\n [infiniteScrollUpDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [hide]=\"hideContent$ | async\"\n [infiniteScrollThrottle]=\"(throttleScroll$ | async) ?? DEFAULT_THROTTLE_SCROLL\" [scrollWindow]=\"false\"\n (scrolled)=\"onScrollDown()\" (scrolledUp)=\"onScrollUp()\">\n <ng-content select=\"[top]\"></ng-content>\n <dbx-injected-content [config]=\"injectedComponentConfig$ | async\"></dbx-injected-content>\n <ng-content select=\"[bottom]\"></ng-content>\n</div>\n<ng-content *ngIf=\"isEmpty$ | async\" select=\"[empty]\"></ng-content>\n", components: [{ type: i0.forwardRef(function () { return i1.DbxLoadingComponent; }), selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { type: i0.forwardRef(function () { return i2.DbxInjectedComponent; }), selector: "dbx-injected-content, [dbx-injected-content]", inputs: ["config", "template"] }], directives: [{ type: i0.forwardRef(function () { return DbxListInternalContentDirective; }), selector: "[dbx-list-internal-content]", inputs: ["hide"] }, { type: i0.forwardRef(function () { return i3.InfiniteScrollDirective; }), selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { type: i0.forwardRef(function () { return i4.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i0.forwardRef(function () { return i4.AsyncPipe; }) } });
183
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxListComponent, decorators: [{
192
+ DbxListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxListComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
193
+ DbxListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxListComponent, selector: "dbx-list", inputs: { padded: "padded", state$: "state$", config: "config", disabled: "disabled", selectionMode: "selectionMode" }, outputs: { contentScrolled: "contentScrolled" }, host: { properties: { "class.dbx-list-padded": "padded" }, classAttribute: "d-block dbx-list" }, ngImport: i0, template: "<dbx-loading [context]=\"context\" [linear]=\"true\"></dbx-loading>\n<div dbx-list-internal-content infinite-scroll [infiniteScrollDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\"\n [infiniteScrollUpDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [hide]=\"hideContent$ | async\"\n [infiniteScrollThrottle]=\"(throttleScroll$ | async) ?? DEFAULT_THROTTLE_SCROLL\" [scrollWindow]=\"false\"\n (scrolled)=\"onScrollDown()\" (scrolledUp)=\"onScrollUp()\">\n <ng-content select=\"[top]\"></ng-content>\n <dbx-injection [config]=\"injectedComponentConfig$ | async\"></dbx-injection>\n <ng-content select=\"[bottom]\"></ng-content>\n</div>\n<ng-content *ngIf=\"isEmpty$ | async\" select=\"[empty]\"></ng-content>\n", components: [{ type: i0.forwardRef(function () { return i1.DbxLoadingComponent; }), selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { type: i0.forwardRef(function () { return i2.DbxInjectionComponent; }), selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], directives: [{ type: i0.forwardRef(function () { return DbxListInternalContentDirective; }), selector: "[dbx-list-internal-content]", inputs: ["hide"] }, { type: i0.forwardRef(function () { return i3.InfiniteScrollDirective; }), selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { type: i0.forwardRef(function () { return i4.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i0.forwardRef(function () { return i4.AsyncPipe; }) } });
194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxListComponent, decorators: [{
184
195
  type: Component,
185
196
  args: [{ selector: 'dbx-list', host: {
186
197
  'class': 'd-block dbx-list',
187
198
  '[class.dbx-list-padded]': 'padded'
188
- }, template: "<dbx-loading [context]=\"context\" [linear]=\"true\"></dbx-loading>\n<div dbx-list-internal-content infinite-scroll [infiniteScrollDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\"\n [infiniteScrollUpDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [hide]=\"hideContent$ | async\"\n [infiniteScrollThrottle]=\"(throttleScroll$ | async) ?? DEFAULT_THROTTLE_SCROLL\" [scrollWindow]=\"false\"\n (scrolled)=\"onScrollDown()\" (scrolledUp)=\"onScrollUp()\">\n <ng-content select=\"[top]\"></ng-content>\n <dbx-injected-content [config]=\"injectedComponentConfig$ | async\"></dbx-injected-content>\n <ng-content select=\"[bottom]\"></ng-content>\n</div>\n<ng-content *ngIf=\"isEmpty$ | async\" select=\"[empty]\"></ng-content>\n" }]
199
+ }, template: "<dbx-loading [context]=\"context\" [linear]=\"true\"></dbx-loading>\n<div dbx-list-internal-content infinite-scroll [infiniteScrollDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\"\n [infiniteScrollUpDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [hide]=\"hideContent$ | async\"\n [infiniteScrollThrottle]=\"(throttleScroll$ | async) ?? DEFAULT_THROTTLE_SCROLL\" [scrollWindow]=\"false\"\n (scrolled)=\"onScrollDown()\" (scrolledUp)=\"onScrollUp()\">\n <ng-content select=\"[top]\"></ng-content>\n <dbx-injection [config]=\"injectedComponentConfig$ | async\"></dbx-injection>\n <ng-content select=\"[bottom]\"></ng-content>\n</div>\n<ng-content *ngIf=\"isEmpty$ | async\" select=\"[empty]\"></ng-content>\n" }]
189
200
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { padded: [{
190
201
  type: Input
191
202
  }], contentScrolled: [{
@@ -196,6 +207,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
196
207
  type: Input
197
208
  }], disabled: [{
198
209
  type: Input
210
+ }], selectionMode: [{
211
+ type: Input
199
212
  }] } });
200
213
  /**
201
214
  * Used internally by DbxListComponent
@@ -212,9 +225,9 @@ export class DbxListInternalContentDirective {
212
225
  this.parent.contentScrolled.emit(position);
213
226
  }
214
227
  }
215
- DbxListInternalContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxListInternalContentDirective, deps: [{ token: DbxListComponent }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
216
- DbxListInternalContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: DbxListInternalContentDirective, selector: "[dbx-list-internal-content]", inputs: { hide: "hide" }, host: { listeners: { "scroll": "onScrollEvent($event)" }, properties: { "class.dbx-list-content-hidden": "hide" }, classAttribute: "d-block dbx-list-content" }, ngImport: i0 });
217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxListInternalContentDirective, decorators: [{
228
+ DbxListInternalContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxListInternalContentDirective, deps: [{ token: DbxListComponent }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
229
+ DbxListInternalContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxListInternalContentDirective, selector: "[dbx-list-internal-content]", inputs: { hide: "hide" }, host: { listeners: { "scroll": "onScrollEvent($event)" }, properties: { "class.dbx-list-content-hidden": "hide" }, classAttribute: "d-block dbx-list-content" }, ngImport: i0 });
230
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxListInternalContentDirective, decorators: [{
218
231
  type: Directive,
219
232
  args: [{
220
233
  selector: '[dbx-list-internal-content]',
@@ -229,4 +242,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
229
242
  type: HostListener,
230
243
  args: ['scroll', ['$event']]
231
244
  }] } });
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVLLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQWEsVUFBVSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUksT0FBTyxFQUE4QixnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSwrQkFBK0IsRUFBb0IsV0FBVyxFQUFVLDhCQUE4QixFQUFpQixZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQTBEeEw7Ozs7R0FJRztBQVNILE1BQU0sT0FBTyxnQkFBZ0I7SUFpSTNCLFlBQXFCLEtBQXdCO1FBQXhCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBL0hwQyw0QkFBdUIsR0FBRyxHQUFHLENBQUM7UUFDOUIsNEJBQXVCLEdBQUcsRUFBRSxDQUFDO1FBRXRDOztXQUVHO1FBRUgsV0FBTSxHQUFZLElBQUksQ0FBQztRQUd2QixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFHckMsY0FBUyxH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QVMsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQzs7NEhBYlUsK0JBQStCLGtCQUtMLGdCQUFnQjtnSEFMMUMsK0JBQStCOzJGQUEvQiwrQkFBK0I7a0JBUDNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsSUFBSSxFQUFFO3dCQUNKLE9BQU8sRUFBRSwwQkFBMEI7d0JBQ25DLGlDQUFpQyxFQUFFLE1BQU07cUJBQzFDO2lCQUNGOzBEQU1zQyxnQkFBZ0IsbURBRnJELElBQUk7c0JBREgsS0FBSztnQkFRTixhQUFhO3NCQURaLFlBQVk7dUJBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBleGhhdXN0TWFwLCBtZXJnZSwgbWFwLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHNoYXJlUmVwbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgb2YsIE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCwgZmlyc3QsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIE9uRGVzdHJveSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhJbmplY3RlZENvbXBvbmVudENvbmZpZywgdGFwRGV0ZWN0Q2hhbmdlcyB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbk9iamVjdCwgTGlzdExvYWRpbmdTdGF0ZUNvbnRleHRJbnN0YW5jZSwgTGlzdExvYWRpbmdTdGF0ZSwgZmlsdGVyTWF5YmUsIHRhcExvZywgbG9hZGluZ1N0YXRlSGFzRmluaXNoZWRMb2FkaW5nLCBzdWNjZXNzUmVzdWx0LCBiZWdpbkxvYWRpbmcgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IE1heWJlLCBNaWxsaXNlY29uZHMgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IERieExpc3RWaWV3LCBMaXN0U2VsZWN0aW9uU3RhdGUgfSBmcm9tICcuL2xpc3Qudmlldyc7XG5cbi8qKlxuICogRGlyZWN0aW9uIHRoZSBzY3JvbGwgd2FzIHRyaWdnZXJlZCBtb3ZpbmcuXG4gKi9cbmV4cG9ydCB0eXBlIERieExpc3RTY3JvbGxEaXJlY3Rpb25UcmlnZ2VyID0gJ3VwJyB8ICdkb3duJztcblxuLyoqXG4gKiBVc2VkIHRvIHRyaWdnZXIgdGhlIGxvYWRpbmcgb2YgYWRkaXRpb25hbCBpdGVtcy5cbiAqIFxuICogSWYgYW4gb2JzZXJ2YWJsZSBpcyByZXR1cm5lZCBpdCBpcyB1c2VkIHRvIHRocm90dGxlIHRoZSBsb2FkaW5nIG9mIG1vcmUgaXRlbXMgdW50aWwgaXQgcmV0dXJucy5cbiAqL1xuZXhwb3J0IHR5cGUgRGJ4TGlzdExvYWRNb3JlSGFuZGxlciA9ICgpID0+IE9ic2VydmFibGU8dm9pZD4gfCB2b2lkO1xuXG4vKipcbiAqIERieExpc3RDb21wb25lbnQgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYnhMaXN0Q29uZmlnPFQgPSBhbnksIFYgZXh0ZW5kcyBEYnhMaXN0VmlldzxUPiA9IERieExpc3RWaWV3PFQ+PiBleHRlbmRzIERieEluamVjdGVkQ29tcG9uZW50Q29uZmlnPFY+IHtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gaGlkZSB0aGUgbGlzdCBjb250ZW50IHdoZW4gaXQgaXMgYW4gZW1wdHkgbGlzdC5cbiAgICovXG4gIGhpZGVPbkVtcHR5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhpcyBsaXN0IHNob3VsZCBzY3JvbGwgdXB3YXJkIGZyb20gdGhlIGJvdHRvbSwgbGlrZSBhIG1lc3NhZ2UgbGlzdC5cbiAgICovXG4gIGludmVydGVkTGlzdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc3RhbmNlIHRvIHNjcm9sbC5cbiAgICovXG4gIHNjcm9sbERpc3RhbmNlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgbXMgdG8gdGhyb3R0bGUgc2Nyb2xsaW5nIGV2ZW50cy5cbiAgICovXG4gIHRocm90dGxlPzogTWlsbGlzZWNvbmRzO1xuXG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIG9uQ2xpY2sgaGFuZGxlclxuICAgKi9cbiAgb25DbGljaz86ICh2YWx1ZTogVCkgPT4gdm9pZDtcblxuICAvKipcbiAgICogKE9wdGlvbmFsKSBvblNlbGVjdGlvbiBoYW5kbGVyXG4gICAqL1xuICBvblNlbGVjdGlvbkNoYW5nZT86IChzZWxlY3Rpb246IExpc3RTZWxlY3Rpb25TdGF0ZTxUPikgPT4gdm9pZDtcblxuICAvKipcbiAgICogKE9wdGlvbmFsKSBoYW5kbGVyIGZ1bmN0aW9uIHRvIGxvYWQgbW9yZSBpdGVtcy5cbiAgICovXG4gIGxvYWRNb3JlPzogRGJ4TGlzdExvYWRNb3JlSGFuZGxlcjtcblxufVxuXG4vKipcbiAqIFVzZWQgdG8gZGlzcGxheSBhIHBvdGVudGlhbGx5IGluZmluaXRlbHkgc2Nyb2xsYWJsZSBsaXN0IG9mIGNvbnRlbnQuXG4gKiBcbiAqIFRoaXMgY29tcG9uZW50IGlzIGdlbmVyYWxseSB3cmFwcGVkIGJ5IGFub3RoZXIgY29tcG9uZW50IHRoYXQgcHJvdmlkZXMgdGhpcyBvbmUgY29uZmlndXJhdGlvbi5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZC1ibG9jayBkYngtbGlzdCcsXG4gICAgJ1tjbGFzcy5kYngtbGlzdC1wYWRkZWRdJzogJ3BhZGRlZCdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYnhMaXN0Q29tcG9uZW50PFQgPSBhbnksIFYgZXh0ZW5kcyBEYnhMaXN0VmlldzxUPiA9IERieExpc3RWaWV3PFQ+LCBTIGV4dGVuZHMgTGlzdExvYWRpbmdTdGF0ZTxUPiA9IExpc3RMb2FkaW5nU3RhdGU8VD4+IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICByZWFkb25seSBERUZBVUxUX1NDUk9MTF9ESVNUQU5DRSA9IDEuNTtcbiAgcmVhZG9ubHkgREVGQVVMVF9USFJPVFRMRV9TQ1JPTEwgPSA1MDtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gYWRkIGJvdHRvbSBwYWRkaW5nIHRvIHRoZSBsaXN0IGNvbnRlbnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwYWRkZWQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBPdXRwdXQoKVxuICBjb250ZW50U2Nyb2xsZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwcml2YXRlIF9jb250ZW50ITogRGJ4TGlzdEludGVybmFsQ29udGVudERpcmVjdGl2ZTtcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwcml2YXRlIF9sb2FkTW9yZVRyaWdnZXIgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9zY3JvbGxUcmlnZ2VyID0gbmV3IFN1YmplY3Q8RGJ4TGlzdFNjcm9sbERpcmVjdGlvblRyaWdnZXI+KCk7XG4gIHByaXZhdGUgX2NvbmZpZyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8RGJ4TGlzdENvbmZpZzxULCBWPj4+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBfbG9hZE1vcmVTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX29uQ2xpY2tTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX2Rpc2FibGVkU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9vblNlbGVjdGlvbkNoYW5nZVN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICByZWFkb25seSBjb250ZXh0ID0gbmV3IExpc3RMb2FkaW5nU3RhdGVDb250ZXh0SW5zdGFuY2U8VCwgUz4oeyBzaG93TG9hZGluZ09uTm9WYWx1ZTogZmFsc2UgfSk7XG4gIHJlYWRvbmx5IGlzRW1wdHkkID0gdGhpcy5jb250ZXh0LmlzRW1wdHkkO1xuICByZWFkb25seSBkaXNhYmxlZCQgPSB0aGlzLl9kaXNhYmxlZC5hc09ic2VydmFibGUoKTtcblxuICByZWFkb25seSBoaWRlT25FbXB0eSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLl9jb25maWcucGlwZShmaWx0ZXJNYXliZSgpLCBtYXAoeCA9PiBCb29sZWFuKHguaGlkZU9uRW1wdHkpKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuICByZWFkb25seSBpbnZlcnRlZExpc3QkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fY29uZmlnLnBpcGUoZmlsdGVyTWF5YmUoKSwgbWFwKHggPT4gQm9vbGVhbih4Py50aHJvdHRsZSkpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG4gIHJlYWRvbmx5IHRocm90dGxlU2Nyb2xsJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5fY29uZmlnLnBpcGUobWFwKHggPT4gKHg/LnRocm90dGxlKSA/PyB0aGlzLkRFRkFVTFRfVEhST1RUTEVfU0NST0xMKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuICByZWFkb25seSBzY3JvbGxEaXN0YW5jZSQ6IE9ic2VydmFibGU8bnVtYmVyPiA9IHRoaXMuX2NvbmZpZy5waXBlKG1hcCh4ID0+ICh4Py5zY3JvbGxEaXN0YW5jZSkgPz8gdGhpcy5ERUZBVUxUX1NDUk9MTF9ESVNUQU5DRSksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICByZWFkb25seSBzY3JvbGxMb2FkTW9yZVRyaWdnZXIkID0gdGhpcy5fY29uZmlnLnBpcGUoXG4gICAgc3dpdGNoTWFwKChjb25maWcpID0+IHtcbiAgICAgIGNvbnN0IGxvYWROZXh0RGlyZWN0aW9uID0gY29uZmlnPy5pbnZlcnRlZExpc3QgPyAndXAnIDogJ2Rvd24nO1xuICAgICAgcmV0dXJuIHRoaXMuX3Njcm9sbFRyaWdnZXIucGlwZShmaWx0ZXIoeCA9PiB4ID09PSBsb2FkTmV4dERpcmVjdGlvbikpO1xuICAgIH0pXG4gICk7XG5cbiAgcmVhZG9ubHkgbG9hZE1vcmUkID0gbWVyZ2UodGhpcy5zY3JvbGxMb2FkTW9yZVRyaWdnZXIkLCB0aGlzLl9sb2FkTW9yZVRyaWdnZXIpO1xuXG4gIHJlYWRvbmx5IGluamVjdGVkQ29tcG9uZW50Q29uZmlnJDogT2JzZXJ2YWJsZTxNYXliZTxEYnhJbmplY3RlZENvbXBvbmVudENvbmZpZzxWPj4+ID0gdGhpcy5fY29uZmlnLnBpcGUoXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBtYXAoKGNvbmZpZykgPT4ge1xuICAgICAgbGV0IGluamVjdGVkQ29tcG9uZW50Q29uZmlnOiBNYXliZTxEYnhJbmplY3RlZENvbXBvbmVudENvbmZpZzxWPj47XG5cbiAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgY29uc3QgeyBjb21wb25lbnRDbGFzcywgaW5pdCwgb25DbGljaywgb25TZWxlY3Rpb25DaGFuZ2UsIGxvYWRNb3JlIH0gPSBjb25maWc7XG5cbiAgICAgICAgaW5qZWN0ZWRDb21wb25lbnRDb25maWcgPSB7XG4gICAgICAgICAgY29tcG9uZW50Q2xhc3M6IGNvbmZpZy5jb21wb25lbnRDbGFzcyxcbiAgICAgICAgICBpbmplY3RvcjogY29uZmlnLmluamVjdG9yLFxuICAgICAgICAgIGluaXQ6IChpbnN0YW5jZTogVikgPT4ge1xuXG4gICAgICAgICAgICAvLyBTeW5jaHJvbml6ZSBkaXNhYmxlZFxuICAgICAgICAgICAgdGhpcy5fZGlzYWJsZWRTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5kaXNhYmxlZCQuc3Vic2NyaWJlKChkaXNhYmxlZCkgPT4gaW5zdGFuY2Uuc2V0RGlzYWJsZWQoZGlzYWJsZWQpKTtcblxuICAgICAgICAgICAgaWYgKGluaXQpIHtcbiAgICAgICAgICAgICAgaW5pdChpbnN0YW5jZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGluc3RhbmNlLnNldExpc3RDb250ZXh0KHRoaXMuY29udGV4dCk7XG5cbiAgICAgICAgICAgIGlmIChsb2FkTW9yZSkge1xuICAgICAgICAgICAgICB0aGlzLl9sb2FkTW9yZVN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmxvYWRNb3JlJC5waXBlKFxuICAgICAgICAgICAgICAgIC8vIFRocm90dGxlIGFkZGl0aW9uYWwgbG9hZGluZyBjYWxscyB1c2luZyBleGhhdXN0TWFwIHVudGlsIG9ic2VydmFibGUgcmV0dXJucywgaWYgb25lIGlzIHJldHVybmVkLlxuICAgICAgICAgICAgICAgIGV4aGF1c3RNYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbG9hZE1vcmUoKTtcbiAgICAgICAgICAgICAgICAgIGxldCBvYnM6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgb2JzID0gcmVzdWx0LnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZigpKSk7XG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBvYnMgPSBvZigpO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gb2JzO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5jbGlja1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25DbGlja1N1Yi5zdWJzY3JpcHRpb24gPSBpbnN0YW5jZS5jbGlja1ZhbHVlLnN1YnNjcmliZShvbkNsaWNrKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBvbkNsaWNrKCkgd2FzIHBhc3NlZCB0byBsaXN0Q29uZmlnLCBidXQgdGFyZ2V0IGNsYXNzICR7Y29tcG9uZW50Q2xhc3N9IGhhcyBubyBjbGlja2VkIGV2ZW50IGVtaXR0ZXIuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9uU2VsZWN0aW9uQ2hhbmdlKSB7XG4gICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5zZWxlY3Rpb25DaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9vblNlbGVjdGlvbkNoYW5nZVN1Yi5zdWJzY3JpcHRpb24gPSBpbnN0YW5jZS5zZWxlY3Rpb25DaGFuZ2Uuc3Vic2NyaWJlKG9uU2VsZWN0aW9uQ2hhbmdlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBvblNlbGVjdGlvbkNoYW5nZSgpIHdhcyBwYXNzZWQgdG8gbGlzdENvbmZpZywgYnV0IHRhcmdldCBjbGFzcyAke2NvbXBvbmVudENsYXNzfSBoYXMgbm8gc2VsZWN0aW9uQ2hhbmdlIGV2ZW50IGVtaXR0ZXIuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbmplY3RlZENvbXBvbmVudENvbmZpZztcbiAgICB9KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaGlkZUNvbnRlbnQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5jb250ZXh0LnN0YXRlQ2hhbmdlJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNvbnRleHQuc3RhdGUkLnBpcGUoXG4gICAgICBmaWx0ZXIoKHgpID0+IGxvYWRpbmdTdGF0ZUhhc0ZpbmlzaGVkTG9hZGluZyh4KSksXG4gICAgICBmaXJzdCgpLFxuICAgICAgc3RhcnRXaXRoKGJlZ2luTG9hZGluZygpKVxuICAgICkpLFxuICAgIHN3aXRjaE1hcCgoc3RhdGUpID0+IHtcbiAgICAgIGlmIChzdGF0ZT8ubG9hZGluZykge1xuICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5oaWRlT25FbXB0eSQucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKGhpZGUpID0+IChoaWRlID09PSBmYWxzZSkgPyBvZihmYWxzZSkgOiB0aGlzLmlzRW1wdHkkKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgIHRhcERldGVjdENoYW5nZXModGhpcy5jZFJlZiksXG4gICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZGVsZXRlICh0aGlzIGFzIGFueSkuX2NvbnRlbnQ7ICAvLyByZW1vdmUgcGFyZW50LWNoaWxkIHJlbGF0aW9uLlxuICAgIHRoaXMuX3Njcm9sbFRyaWdnZXIuY29tcGxldGUoKTtcbiAgICB0aGlzLl9sb2FkTW9yZVRyaWdnZXIuY29tcGxldGUoKTtcbiAgICB0aGlzLl9jb25maWcuY29tcGxldGUoKTtcbiAgICB0aGlzLl9kaXNhYmxlZC5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy5fb25DbGlja1N1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fbG9hZE1vcmVTdWIuZGVzdHJveSgpO1xuICAgIHRoaXMuX29uU2VsZWN0aW9uQ2hhbmdlU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9kaXNhYmxlZFN1Yi5kZXN0cm95KCk7XG5cbiAgICB0aGlzLmNvbnRleHQuZGVzdHJveSgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHN0YXRlJCgpOiBPYnNlcnZhYmxlPFM+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LnN0YXRlJDtcbiAgfVxuXG4gIHNldCBzdGF0ZSQoc3RhdGUkOiBNYXliZTxPYnNlcnZhYmxlPFM+Pikge1xuICAgIHRoaXMuY29udGV4dC5zZXRTdGF0ZU9icyhzdGF0ZSQpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGNvbmZpZyhjb25maWc6IE1heWJlPERieExpc3RDb25maWc8VCwgVj4+KSB7XG4gICAgdGhpcy5fY29uZmlnLm5leHQoY29uZmlnKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQudmFsdWU7XG4gIH1cblxuICBzZXQgZGlzYWJsZWQoZGlzYWJsZWQ6IE1heWJlPGJvb2xlYW4+KSB7XG4gICAgdGhpcy5fZGlzYWJsZWQubmV4dChkaXNhYmxlZCA/PyBmYWxzZSk7XG4gIH1cblxuICBnZXRTY3JvbGxQb3NpdGlvblJlbGF0aXZlVG9Cb3R0b20oKTogbnVtYmVyIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMubmF0aXZlRWxlbWVudDtcblxuICAgICAgLy8gQXQgbWF4IHNjcm9sbCwgc2Nyb2xsSGVpZ2h0ID0gc2Nyb2xsVG9wICsgY2xpZW50SGVpZ2h0O1xuICAgICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBlbGVtZW50O1xuICAgICAgcmV0dXJuIHNjcm9sbEhlaWdodCAtIChzY3JvbGxUb3AgKyBjbGllbnRIZWlnaHQpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgfVxuXG4gIGp1bXBUb0JvdHRvbSgpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9IHRoaXMubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQ7XG4gICAgfSBjYXRjaCAoZXJyKSB7IH1cbiAgfVxuXG4gIGp1bXBUb1Bvc2l0aW9uUmVsYXRpdmVUb0JvdHRvbShwb3M6IG51bWJlcik6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5uYXRpdmVFbGVtZW50O1xuICAgICAgY29uc3QgeyBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCB9ID0gZWxlbWVudDtcbiAgICAgIGVsZW1lbnQuc2Nyb2xsVG9wID0gc2Nyb2xsSGVpZ2h0IC0gKGNsaWVudEhlaWdodCArIHBvcyk7XG4gICAgfSBjYXRjaCAoZXJyKSB7IH1cbiAgfVxuXG4gIG9uU2Nyb2xsRG93bigpOiB2b2lkIHtcbiAgICB0aGlzLl9zY3JvbGxUcmlnZ2VyLm5leHQoJ2Rvd24nKTtcbiAgfVxuXG4gIG9uU2Nyb2xsVXAoKTogdm9pZCB7XG4gICAgdGhpcy5fc2Nyb2xsVHJpZ2dlci5uZXh0KCd1cCcpO1xuICB9XG5cbiAgbG9hZE1vcmUoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9hZE1vcmVUcmlnZ2VyLm5leHQoKTtcbiAgfVxuXG4gIC8vIE1BUks6IEludGVybmFsXG4gIGdldCBuYXRpdmVFbGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLl9jb250ZW50LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGdldCBfX2NvbnRlbnQoKTogRGJ4TGlzdEludGVybmFsQ29udGVudERpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnQ7XG4gIH1cblxuICBzZXQgX19jb250ZW50KGNvbnRlbnQ6IERieExpc3RJbnRlcm5hbENvbnRlbnREaXJlY3RpdmUpIHtcbiAgICBpZiAodGhpcy5fY29udGVudCA9PSBudWxsKSB7XG4gICAgICB0aGlzLl9jb250ZW50ID0gY29udGVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBdHRlbXB0ZWQgdG8gc2V0IF9fY29udGVudCBpbiBsaXN0IG91dHNpZGUgb2YgaW5pdGlhbGl6YXRpb24uJyk7XG4gICAgfVxuICB9XG5cbn1cblxuLyoqXG4gKiBVc2VkIGludGVybmFsbHkgYnkgRGJ4TGlzdENvbXBvbmVudFxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4LWxpc3QtaW50ZXJuYWwtY29udGVudF0nLFxuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ2QtYmxvY2sgZGJ4LWxpc3QtY29udGVudCcsXG4gICAgJ1tjbGFzcy5kYngtbGlzdC1jb250ZW50LWhpZGRlbl0nOiAnaGlkZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYnhMaXN0SW50ZXJuYWxDb250ZW50RGlyZWN0aXZlIHtcblxuICBASW5wdXQoKVxuICBoaWRlOiBNYXliZTxCb29sZWFuPiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcGFyZW50OiBEYnhMaXN0Q29tcG9uZW50LCByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5wYXJlbnQuX19jb250ZW50ID0gdGhpcztcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3Njcm9sbCcsIFsnJGV2ZW50J10pXG4gIG9uU2Nyb2xsRXZlbnQoJGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBwb3NpdGlvbiA9ICRldmVudC50YXJnZXQuc2Nyb2xsVG9wO1xuICAgIHRoaXMucGFyZW50LmNvbnRlbnRTY3JvbGxlZC5lbWl0KHBvc2l0aW9uKTtcbiAgfVxuXG59XG4iLCI8ZGJ4LWxvYWRpbmcgW2NvbnRleHRdPVwiY29udGV4dFwiIFtsaW5lYXJdPVwidHJ1ZVwiPjwvZGJ4LWxvYWRpbmc+XG48ZGl2IGRieC1saXN0LWludGVybmFsLWNvbnRlbnQgaW5maW5pdGUtc2Nyb2xsIFtpbmZpbml0ZVNjcm9sbERpc3RhbmNlXT1cIihzY3JvbGxEaXN0YW5jZSQgfCBhc3luYykgPz8gREVGQVVMVF9TQ1JPTExfRElTVEFOQ0VcIlxuICBbaW5maW5pdGVTY3JvbGxVcERpc3RhbmNlXT1cIihzY3JvbGxEaXN0YW5jZSQgfCBhc3luYykgPz8gREVGQVVMVF9TQ1JPTExfRElTVEFOQ0VcIiBbaGlkZV09XCJoaWRlQ29udGVudCQgfCBhc3luY1wiXG4gIFtpbmZpbml0ZVNjcm9sbFRocm90dGxlXT1cIih0aHJvdHRsZVNjcm9sbCQgfCBhc3luYykgPz8gREVGQVVMVF9USFJPVFRMRV9TQ1JPTExcIiBbc2Nyb2xsV2luZG93XT1cImZhbHNlXCJcbiAgKHNjcm9sbGVkKT1cIm9uU2Nyb2xsRG93bigpXCIgKHNjcm9sbGVkVXApPVwib25TY3JvbGxVcCgpXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIlt0b3BdXCI+PC9uZy1jb250ZW50PlxuICA8ZGJ4LWluamVjdGVkLWNvbnRlbnQgW2NvbmZpZ109XCJpbmplY3RlZENvbXBvbmVudENvbmZpZyQgfCBhc3luY1wiPjwvZGJ4LWluamVjdGVkLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltib3R0b21dXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48bmctY29udGVudCAqbmdJZj1cImlzRW1wdHkkIHwgYXN5bmNcIiBzZWxlY3Q9XCJbZW1wdHldXCI+PC9uZy1jb250ZW50PlxuIl19
245
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVLLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQWEsVUFBVSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUksT0FBTyxFQUErQixnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSwrQkFBK0IsRUFBb0IsV0FBVyxFQUFVLDhCQUE4QixFQUFpQixZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQStEeEw7Ozs7R0FJRztBQVNILE1BQU0sT0FBTyxnQkFBZ0I7SUFxSTNCLFlBQXFCLEtBQXdCO1FBQXhCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBbklwQyw0QkFBdUIsR0FBRyxHQUFHLENBQUM7UUFDOUIsNEJBQXVCLEdBQUcsRUFBRSxDQUFDO1FBRXRDOztXQUVHO1FBRUgsV0FBTSxHQUFZLElBQUksQ0FBQztRQUd2QixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFHckMsY0FBUyxH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Y2F0Y2hFcnJvciwgZmlsdGVyLCBleGhhdXN0TWFwLCBtZXJnZSwgbWFwLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHNoYXJlUmVwbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgb2YsIE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCwgZmlyc3QsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIE9uRGVzdHJveSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWcsIHRhcERldGVjdENoYW5nZXMgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QsIExpc3RMb2FkaW5nU3RhdGVDb250ZXh0SW5zdGFuY2UsIExpc3RMb2FkaW5nU3RhdGUsIGZpbHRlck1heWJlLCB0YXBMb2csIGxvYWRpbmdTdGF0ZUhhc0ZpbmlzaGVkTG9hZGluZywgc3VjY2Vzc1Jlc3VsdCwgYmVnaW5Mb2FkaW5nIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBNYXliZSwgTWlsbGlzZWNvbmRzIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBEYnhMaXN0U2VsZWN0aW9uTW9kZSwgRGJ4TGlzdFZpZXcsIExpc3RTZWxlY3Rpb25TdGF0ZSB9IGZyb20gJy4vbGlzdC52aWV3JztcblxuLyoqXG4gKiBEaXJlY3Rpb24gdGhlIHNjcm9sbCB3YXMgdHJpZ2dlcmVkIG1vdmluZy5cbiAqL1xuZXhwb3J0IHR5cGUgRGJ4TGlzdFNjcm9sbERpcmVjdGlvblRyaWdnZXIgPSAndXAnIHwgJ2Rvd24nO1xuXG4vKipcbiAqIFVzZWQgdG8gdHJpZ2dlciB0aGUgbG9hZGluZyBvZiBhZGRpdGlvbmFsIGl0ZW1zLlxuICogXG4gKiBJZiBhbiBvYnNlcnZhYmxlIGlzIHJldHVybmVkIGl0IGlzIHVzZWQgdG8gdGhyb3R0bGUgdGhlIGxvYWRpbmcgb2YgbW9yZSBpdGVtcyB1bnRpbCBpdCByZXR1cm5zLlxuICovXG5leHBvcnQgdHlwZSBEYnhMaXN0TG9hZE1vcmVIYW5kbGVyID0gKCkgPT4gT2JzZXJ2YWJsZTx2b2lkPiB8IHZvaWQ7XG5cbi8qKlxuICogRGJ4TGlzdENvbXBvbmVudCBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERieExpc3RDb25maWc8VCA9IGFueSwgViBleHRlbmRzIERieExpc3RWaWV3PFQ+ID0gRGJ4TGlzdFZpZXc8VD4+IGV4dGVuZHMgRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPFY+IHtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gaGlkZSB0aGUgbGlzdCBjb250ZW50IHdoZW4gaXQgaXMgYW4gZW1wdHkgbGlzdC5cbiAgICovXG4gIGhpZGVPbkVtcHR5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhpcyBsaXN0IHNob3VsZCBzY3JvbGwgdXB3YXJkIGZyb20gdGhlIGJvdHRvbSwgbGlrZSBhIG1lc3NhZ2UgbGlzdC5cbiAgICovXG4gIGludmVydGVkTGlzdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc3RhbmNlIHRvIHNjcm9sbC5cbiAgICovXG4gIHNjcm9sbERpc3RhbmNlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgbXMgdG8gdGhyb3R0bGUgc2Nyb2xsaW5nIGV2ZW50cy5cbiAgICovXG4gIHRocm90dGxlPzogTWlsbGlzZWNvbmRzO1xuXG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIG9uQ2xpY2sgaGFuZGxlclxuICAgKi9cbiAgb25DbGljaz86ICh2YWx1ZTogVCkgPT4gdm9pZDtcblxuICAvKipcbiAgICogKE9wdGlvbmFsKSBvblNlbGVjdGlvbiBoYW5kbGVyXG4gICAqL1xuICBvblNlbGVjdGlvbkNoYW5nZT86IChzZWxlY3Rpb246IExpc3RTZWxlY3Rpb25TdGF0ZTxUPikgPT4gdm9pZDtcblxuICAvKipcbiAgICogKE9wdGlvbmFsKSBoYW5kbGVyIGZ1bmN0aW9uIHRvIGxvYWQgbW9yZSBpdGVtcy5cbiAgICovXG4gIGxvYWRNb3JlPzogRGJ4TGlzdExvYWRNb3JlSGFuZGxlcjtcblxuICAvKipcbiAgICogRGVmYXVsdCBzZWxlY3Rpb24gbGlzdCB2YWx1ZS4gSWYgbm90IGRlZmluZWQsIHdpbGwgZGVmYXVsdCB0byAndmlldycuXG4gICAqL1xuICBkZWZhdWx0U2VsZWN0aW9uTW9kZT86IE1heWJlPERieExpc3RTZWxlY3Rpb25Nb2RlPjtcblxufVxuXG4vKipcbiAqIFVzZWQgdG8gZGlzcGxheSBhIHBvdGVudGlhbGx5IGluZmluaXRlbHkgc2Nyb2xsYWJsZSBsaXN0IG9mIGNvbnRlbnQuXG4gKiBcbiAqIFRoaXMgY29tcG9uZW50IGlzIGdlbmVyYWxseSB3cmFwcGVkIGJ5IGFub3RoZXIgY29tcG9uZW50IHRoYXQgcHJvdmlkZXMgdGhpcyBvbmUgY29uZmlndXJhdGlvbi5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZC1ibG9jayBkYngtbGlzdCcsXG4gICAgJ1tjbGFzcy5kYngtbGlzdC1wYWRkZWRdJzogJ3BhZGRlZCdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYnhMaXN0Q29tcG9uZW50PFQgPSBhbnksIFYgZXh0ZW5kcyBEYnhMaXN0VmlldzxUPiA9IERieExpc3RWaWV3PFQ+LCBTIGV4dGVuZHMgTGlzdExvYWRpbmdTdGF0ZTxUPiA9IExpc3RMb2FkaW5nU3RhdGU8VD4+IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICByZWFkb25seSBERUZBVUxUX1NDUk9MTF9ESVNUQU5DRSA9IDEuNTtcbiAgcmVhZG9ubHkgREVGQVVMVF9USFJPVFRMRV9TQ1JPTEwgPSA1MDtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gYWRkIGJvdHRvbSBwYWRkaW5nIHRvIHRoZSBsaXN0IGNvbnRlbnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwYWRkZWQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBPdXRwdXQoKVxuICBjb250ZW50U2Nyb2xsZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwcml2YXRlIF9jb250ZW50ITogRGJ4TGlzdEludGVybmFsQ29udGVudERpcmVjdGl2ZTtcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSBfc2VsZWN0aW9uTW9kZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8RGJ4TGlzdFNlbGVjdGlvbk1vZGU+Pih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgX2xvYWRNb3JlVHJpZ2dlciA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX3Njcm9sbFRyaWdnZXIgPSBuZXcgU3ViamVjdDxEYnhMaXN0U2Nyb2xsRGlyZWN0aW9uVHJpZ2dlcj4oKTtcbiAgcHJpdmF0ZSBfY29uZmlnID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxEYnhMaXN0Q29uZmlnPFQsIFY+Pj4odW5kZWZpbmVkKTtcblxuICBwcml2YXRlIF9sb2FkTW9yZVN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfb25DbGlja1N1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfZGlzYWJsZWRTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX3NlbGVjdGlvbk1vZGVTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX29uU2VsZWN0aW9uQ2hhbmdlU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuXG4gIHJlYWRvbmx5IGNvbnRleHQgPSBuZXcgTGlzdExvYWRpbmdTdGF0ZUNvbnRleHRJbnN0YW5jZTxULCBTPih7IHNob3dMb2FkaW5nT25Ob1ZhbHVlOiBmYWxzZSB9KTtcbiAgcmVhZG9ubHkgaXNFbXB0eSQgPSB0aGlzLmNvbnRleHQuaXNFbXB0eSQ7XG4gIHJlYWRvbmx5IGRpc2FibGVkJCA9IHRoaXMuX2Rpc2FibGVkLmFzT2JzZXJ2YWJsZSgpO1xuICByZWFkb25seSBzZWxlY3Rpb25Nb2RlJCA9IHRoaXMuX3NlbGVjdGlvbk1vZGUuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcmVhZG9ubHkgaGlkZU9uRW1wdHkkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fY29uZmlnLnBpcGUoZmlsdGVyTWF5YmUoKSwgbWFwKHggPT4gQm9vbGVhbih4LmhpZGVPbkVtcHR5KSksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcbiAgcmVhZG9ubHkgaW52ZXJ0ZWRMaXN0JDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX2NvbmZpZy5waXBlKGZpbHRlck1heWJlKCksIG1hcCh4ID0+IEJvb2xlYW4oeD8udGhyb3R0bGUpKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuICByZWFkb25seSB0aHJvdHRsZVNjcm9sbCQ6IE9ic2VydmFibGU8bnVtYmVyPiA9IHRoaXMuX2NvbmZpZy5waXBlKG1hcCh4ID0+ICh4Py50aHJvdHRsZSkgPz8gdGhpcy5ERUZBVUxUX1RIUk9UVExFX1NDUk9MTCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcbiAgcmVhZG9ubHkgc2Nyb2xsRGlzdGFuY2UkOiBPYnNlcnZhYmxlPG51bWJlcj4gPSB0aGlzLl9jb25maWcucGlwZShtYXAoeCA9PiAoeD8uc2Nyb2xsRGlzdGFuY2UpID8/IHRoaXMuREVGQVVMVF9TQ1JPTExfRElTVEFOQ0UpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgcmVhZG9ubHkgc2Nyb2xsTG9hZE1vcmVUcmlnZ2VyJCA9IHRoaXMuX2NvbmZpZy5waXBlKFxuICAgIHN3aXRjaE1hcCgoY29uZmlnKSA9PiB7XG4gICAgICBjb25zdCBsb2FkTmV4dERpcmVjdGlvbiA9IGNvbmZpZz8uaW52ZXJ0ZWRMaXN0ID8gJ3VwJyA6ICdkb3duJztcbiAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxUcmlnZ2VyLnBpcGUoZmlsdGVyKHggPT4geCA9PT0gbG9hZE5leHREaXJlY3Rpb24pKTtcbiAgICB9KVxuICApO1xuXG4gIHJlYWRvbmx5IGxvYWRNb3JlJCA9IG1lcmdlKHRoaXMuc2Nyb2xsTG9hZE1vcmVUcmlnZ2VyJCwgdGhpcy5fbG9hZE1vcmVUcmlnZ2VyKTtcblxuICByZWFkb25seSBpbmplY3RlZENvbXBvbmVudENvbmZpZyQ6IE9ic2VydmFibGU8TWF5YmU8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPFY+Pj4gPSB0aGlzLl9jb25maWcucGlwZShcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIG1hcCgoY29uZmlnKSA9PiB7XG4gICAgICBsZXQgaW5qZWN0ZWRDb21wb25lbnRDb25maWc6IE1heWJlPERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZzxWPj47XG5cbiAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgY29uc3QgeyBjb21wb25lbnRDbGFzcywgaW5pdCwgb25DbGljaywgb25TZWxlY3Rpb25DaGFuZ2UsIGxvYWRNb3JlLCBkZWZhdWx0U2VsZWN0aW9uTW9kZSA9ICd2aWV3JyB9ID0gY29uZmlnO1xuXG4gICAgICAgIGluamVjdGVkQ29tcG9uZW50Q29uZmlnID0ge1xuICAgICAgICAgIGNvbXBvbmVudENsYXNzOiBjb25maWcuY29tcG9uZW50Q2xhc3MsXG4gICAgICAgICAgaW5qZWN0b3I6IGNvbmZpZy5pbmplY3RvcixcbiAgICAgICAgICBpbml0OiAoaW5zdGFuY2U6IFYpID0+IHtcblxuICAgICAgICAgICAgLy8gU3luY2hyb25pemUgZGlzYWJsZWRcbiAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVkU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuZGlzYWJsZWQkLnN1YnNjcmliZSgoZGlzYWJsZWQpID0+IGluc3RhbmNlLnNldERpc2FibGVkKGRpc2FibGVkKSk7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuc2VsZWN0aW9uTW9kZSQuc3Vic2NyaWJlKChzZWxlY3Rpb25Nb2RlKSA9PiBpbnN0YW5jZS5zZXRTZWxlY3Rpb25Nb2RlKHNlbGVjdGlvbk1vZGUgPz8gZGVmYXVsdFNlbGVjdGlvbk1vZGUpKTtcblxuICAgICAgICAgICAgaWYgKGluaXQpIHtcbiAgICAgICAgICAgICAgaW5pdChpbnN0YW5jZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGluc3RhbmNlLnNldExpc3RDb250ZXh0KHRoaXMuY29udGV4dCk7XG5cbiAgICAgICAgICAgIGlmIChsb2FkTW9yZSkge1xuICAgICAgICAgICAgICB0aGlzLl9sb2FkTW9yZVN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmxvYWRNb3JlJC5waXBlKFxuICAgICAgICAgICAgICAgIC8vIFRocm90dGxlIGFkZGl0aW9uYWwgbG9hZGluZyBjYWxscyB1c2luZyBleGhhdXN0TWFwIHVudGlsIG9ic2VydmFibGUgcmV0dXJucywgaWYgb25lIGlzIHJldHVybmVkLlxuICAgICAgICAgICAgICAgIGV4aGF1c3RNYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbG9hZE1vcmUoKTtcbiAgICAgICAgICAgICAgICAgIGxldCBvYnM6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgb2JzID0gcmVzdWx0LnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZigpKSk7XG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBvYnMgPSBvZigpO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gb2JzO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5jbGlja1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25DbGlja1N1Yi5zdWJzY3JpcHRpb24gPSBpbnN0YW5jZS5jbGlja1ZhbHVlLnN1YnNjcmliZShvbkNsaWNrKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBvbkNsaWNrKCkgd2FzIHBhc3NlZCB0byBsaXN0Q29uZmlnLCBidXQgdGFyZ2V0IGNsYXNzICR7Y29tcG9uZW50Q2xhc3N9IGhhcyBubyBjbGlja2VkIGV2ZW50IGVtaXR0ZXIuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9uU2VsZWN0aW9uQ2hhbmdlKSB7XG4gICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5zZWxlY3Rpb25DaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9vblNlbGVjdGlvbkNoYW5nZVN1Yi5zdWJzY3JpcHRpb24gPSBpbnN0YW5jZS5zZWxlY3Rpb25DaGFuZ2Uuc3Vic2NyaWJlKG9uU2VsZWN0aW9uQ2hhbmdlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBvblNlbGVjdGlvbkNoYW5nZSgpIHdhcyBwYXNzZWQgdG8gbGlzdENvbmZpZywgYnV0IHRhcmdldCBjbGFzcyAke2NvbXBvbmVudENsYXNzfSBoYXMgbm8gc2VsZWN0aW9uQ2hhbmdlIGV2ZW50IGVtaXR0ZXIuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbmplY3RlZENvbXBvbmVudENvbmZpZztcbiAgICB9KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaGlkZUNvbnRlbnQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5jb250ZXh0LnN0YXRlQ2hhbmdlJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNvbnRleHQuc3RhdGUkLnBpcGUoXG4gICAgICBmaWx0ZXIoKHgpID0+IGxvYWRpbmdTdGF0ZUhhc0ZpbmlzaGVkTG9hZGluZyh4KSksXG4gICAgICBmaXJzdCgpLFxuICAgICAgc3RhcnRXaXRoKGJlZ2luTG9hZGluZygpKVxuICAgICkpLFxuICAgIHN3aXRjaE1hcCgoc3RhdGUpID0+IHtcbiAgICAgIGlmIChzdGF0ZT8ubG9hZGluZykge1xuICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5oaWRlT25FbXB0eSQucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKGhpZGUpID0+IChoaWRlID09PSBmYWxzZSkgPyBvZihmYWxzZSkgOiB0aGlzLmlzRW1wdHkkKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgIHRhcERldGVjdENoYW5nZXModGhpcy5jZFJlZiksXG4gICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZGVsZXRlICh0aGlzIGFzIGFueSkuX2NvbnRlbnQ7ICAvLyByZW1vdmUgcGFyZW50LWNoaWxkIHJlbGF0aW9uLlxuICAgIHRoaXMuX3Njcm9sbFRyaWdnZXIuY29tcGxldGUoKTtcbiAgICB0aGlzLl9sb2FkTW9yZVRyaWdnZXIuY29tcGxldGUoKTtcbiAgICB0aGlzLl9jb25maWcuY29tcGxldGUoKTtcbiAgICB0aGlzLl9kaXNhYmxlZC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3NlbGVjdGlvbk1vZGUuY29tcGxldGUoKTtcblxuICAgIHRoaXMuX29uQ2xpY2tTdWIuZGVzdHJveSgpO1xuICAgIHRoaXMuX2xvYWRNb3JlU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9vblNlbGVjdGlvbkNoYW5nZVN1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fZGlzYWJsZWRTdWIuZGVzdHJveSgpO1xuXG4gICAgdGhpcy5jb250ZXh0LmRlc3Ryb3koKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBzdGF0ZSQoKTogT2JzZXJ2YWJsZTxTPiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5zdGF0ZSQ7XG4gIH1cblxuICBzZXQgc3RhdGUkKHN0YXRlJDogTWF5YmU8T2JzZXJ2YWJsZTxTPj4pIHtcbiAgICB0aGlzLmNvbnRleHQuc2V0U3RhdGVPYnMoc3RhdGUkKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBjb25maWcoY29uZmlnOiBNYXliZTxEYnhMaXN0Q29uZmlnPFQsIFY+Pikge1xuICAgIHRoaXMuX2NvbmZpZy5uZXh0KGNvbmZpZyk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkLnZhbHVlO1xuICB9XG5cbiAgc2V0IGRpc2FibGVkKGRpc2FibGVkOiBNYXliZTxib29sZWFuPikge1xuICAgIHRoaXMuX2Rpc2FibGVkLm5leHQoZGlzYWJsZWQgPz8gZmFsc2UpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHNlbGVjdGlvbk1vZGUoKTogTWF5YmU8RGJ4TGlzdFNlbGVjdGlvbk1vZGU+IHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTW9kZS52YWx1ZTtcbiAgfVxuXG4gIHNldCBzZWxlY3Rpb25Nb2RlKHNlbGVjdGlvbk1vZGU6IE1heWJlPERieExpc3RTZWxlY3Rpb25Nb2RlPikge1xuICAgIHRoaXMuX3NlbGVjdGlvbk1vZGUubmV4dChzZWxlY3Rpb25Nb2RlKTtcbiAgfVxuXG4gIGdldFNjcm9sbFBvc2l0aW9uUmVsYXRpdmVUb0JvdHRvbSgpOiBudW1iZXIge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAvLyBBdCBtYXggc2Nyb2xsLCBzY3JvbGxIZWlnaHQgPSBzY3JvbGxUb3AgKyBjbGllbnRIZWlnaHQ7XG4gICAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGVsZW1lbnQ7XG4gICAgICByZXR1cm4gc2Nyb2xsSGVpZ2h0IC0gKHNjcm9sbFRvcCArIGNsaWVudEhlaWdodCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9XG5cbiAganVtcFRvQm90dG9tKCk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gdGhpcy5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodDtcbiAgICB9IGNhdGNoIChlcnIpIHsgfVxuICB9XG5cbiAganVtcFRvUG9zaXRpb25SZWxhdGl2ZVRvQm90dG9tKHBvczogbnVtYmVyKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBjb25zdCB7IHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBlbGVtZW50O1xuICAgICAgZWxlbWVudC5zY3JvbGxUb3AgPSBzY3JvbGxIZWlnaHQgLSAoY2xpZW50SGVpZ2h0ICsgcG9zKTtcbiAgICB9IGNhdGNoIChlcnIpIHsgfVxuICB9XG5cbiAgb25TY3JvbGxEb3duKCk6IHZvaWQge1xuICAgIHRoaXMuX3Njcm9sbFRyaWdnZXIubmV4dCgnZG93bicpO1xuICB9XG5cbiAgb25TY3JvbGxVcCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zY3JvbGxUcmlnZ2VyLm5leHQoJ3VwJyk7XG4gIH1cblxuICBsb2FkTW9yZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9sb2FkTW9yZVRyaWdnZXIubmV4dCgpO1xuICB9XG5cbiAgLy8gTUFSSzogSW50ZXJuYWxcbiAgZ2V0IG5hdGl2ZUVsZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnQuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgZ2V0IF9fY29udGVudCgpOiBEYnhMaXN0SW50ZXJuYWxDb250ZW50RGlyZWN0aXZlIHtcbiAgICByZXR1cm4gdGhpcy5fY29udGVudDtcbiAgfVxuXG4gIHNldCBfX2NvbnRlbnQoY29udGVudDogRGJ4TGlzdEludGVybmFsQ29udGVudERpcmVjdGl2ZSkge1xuICAgIGlmICh0aGlzLl9jb250ZW50ID09IG51bGwpIHtcbiAgICAgIHRoaXMuX2NvbnRlbnQgPSBjb250ZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0F0dGVtcHRlZCB0byBzZXQgX19jb250ZW50IGluIGxpc3Qgb3V0c2lkZSBvZiBpbml0aWFsaXphdGlvbi4nKTtcbiAgICB9XG4gIH1cblxufVxuXG4vKipcbiAqIFVzZWQgaW50ZXJuYWxseSBieSBEYnhMaXN0Q29tcG9uZW50XG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYngtbGlzdC1pbnRlcm5hbC1jb250ZW50XScsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZC1ibG9jayBkYngtbGlzdC1jb250ZW50JyxcbiAgICAnW2NsYXNzLmRieC1saXN0LWNvbnRlbnQtaGlkZGVuXSc6ICdoaWRlJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIERieExpc3RJbnRlcm5hbENvbnRlbnREaXJlY3RpdmUge1xuXG4gIEBJbnB1dCgpXG4gIGhpZGU6IE1heWJlPEJvb2xlYW4+ID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwYXJlbnQ6IERieExpc3RDb21wb25lbnQsIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLnBhcmVudC5fX2NvbnRlbnQgPSB0aGlzO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignc2Nyb2xsJywgWyckZXZlbnQnXSlcbiAgb25TY3JvbGxFdmVudCgkZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHBvc2l0aW9uID0gJGV2ZW50LnRhcmdldC5zY3JvbGxUb3A7XG4gICAgdGhpcy5wYXJlbnQuY29udGVudFNjcm9sbGVkLmVtaXQocG9zaXRpb24pO1xuICB9XG5cbn1cbiIsIjxkYngtbG9hZGluZyBbY29udGV4dF09XCJjb250ZXh0XCIgW2xpbmVhcl09XCJ0cnVlXCI+PC9kYngtbG9hZGluZz5cbjxkaXYgZGJ4LWxpc3QtaW50ZXJuYWwtY29udGVudCBpbmZpbml0ZS1zY3JvbGwgW2luZmluaXRlU2Nyb2xsRGlzdGFuY2VdPVwiKHNjcm9sbERpc3RhbmNlJCB8IGFzeW5jKSA/PyBERUZBVUxUX1NDUk9MTF9ESVNUQU5DRVwiXG4gIFtpbmZpbml0ZVNjcm9sbFVwRGlzdGFuY2VdPVwiKHNjcm9sbERpc3RhbmNlJCB8IGFzeW5jKSA/PyBERUZBVUxUX1NDUk9MTF9ESVNUQU5DRVwiIFtoaWRlXT1cImhpZGVDb250ZW50JCB8IGFzeW5jXCJcbiAgW2luZmluaXRlU2Nyb2xsVGhyb3R0bGVdPVwiKHRocm90dGxlU2Nyb2xsJCB8IGFzeW5jKSA/PyBERUZBVUxUX1RIUk9UVExFX1NDUk9MTFwiIFtzY3JvbGxXaW5kb3ddPVwiZmFsc2VcIlxuICAoc2Nyb2xsZWQpPVwib25TY3JvbGxEb3duKClcIiAoc2Nyb2xsZWRVcCk9XCJvblNjcm9sbFVwKClcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RvcF1cIj48L25nLWNvbnRlbnQ+XG4gIDxkYngtaW5qZWN0aW9uIFtjb25maWddPVwiaW5qZWN0ZWRDb21wb25lbnRDb25maWckIHwgYXN5bmNcIj48L2RieC1pbmplY3Rpb24+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltib3R0b21dXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48bmctY29udGVudCAqbmdJZj1cImlzRW1wdHkkIHwgYXN5bmNcIiBzZWxlY3Q9XCJbZW1wdHldXCI+PC9uZy1jb250ZW50PlxuIl19
@@ -5,13 +5,13 @@ import * as i0 from "@angular/core";
5
5
  */
6
6
  export class DbxListEmptyContentComponent {
7
7
  }
8
- DbxListEmptyContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxListEmptyContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- DbxListEmptyContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: DbxListEmptyContentComponent, selector: "dbx-list-empty-content", ngImport: i0, template: `
8
+ DbxListEmptyContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxListEmptyContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ DbxListEmptyContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxListEmptyContentComponent, selector: "dbx-list-empty-content", ngImport: i0, template: `
10
10
  <div class="dbx-list-empty-content">
11
11
  <ng-content></ng-content>
12
12
  </div>
13
13
  `, isInline: true });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxListEmptyContentComponent, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxListEmptyContentComponent, decorators: [{
15
15
  type: Component,
16
16
  args: [{
17
17
  selector: 'dbx-list-empty-content',
@@ -1,4 +1,4 @@
1
- import { filterMaybe, getter } from '@dereekb/rxjs';
1
+ import { filterMaybe, valueFromObservableOrValue } from '@dereekb/rxjs';
2
2
  import { BehaviorSubject, map, shareReplay } from 'rxjs';
3
3
  import { Output, EventEmitter, Directive, Input } from "@angular/core";
4
4
  import * as i0 from "@angular/core";
@@ -11,7 +11,7 @@ export const DEFAULT_STATIC_LIST_DIRECTIVE_TEMPLATE = `
11
11
  `;
12
12
  // MARK: Wrapper
13
13
  export const DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE = `
14
- <dbx-list [state$]="state$" [config]="config$ | async" [disabled]="disabled">
14
+ <dbx-list [state$]="state$" [config]="config$ | async" [disabled]="disabled" [selectionMode]="selectionMode">
15
15
  <ng-content top select="[top]"></ng-content>
16
16
  <ng-content bottom select="[bottom]"></ng-content>
17
17
  <ng-content empty select="[empty]"></ng-content>
@@ -21,7 +21,7 @@ export class AbstractDbxListWrapperDirective {
21
21
  constructor(initConfig) {
22
22
  this.initConfig = initConfig;
23
23
  this._init = new BehaviorSubject(undefined);
24
- this.config$ = this._init.pipe(filterMaybe(), getter(), map((x) => this._buildListConfig(x)), shareReplay(1));
24
+ this.config$ = this._init.pipe(filterMaybe(), valueFromObservableOrValue(), map((x) => this._buildListConfig(x)), shareReplay(1));
25
25
  this.clickItem = new EventEmitter();
26
26
  this.loadMore = new EventEmitter();
27
27
  }
@@ -41,12 +41,14 @@ export class AbstractDbxListWrapperDirective {
41
41
  };
42
42
  }
43
43
  }
44
- AbstractDbxListWrapperDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: AbstractDbxListWrapperDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
45
- AbstractDbxListWrapperDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: AbstractDbxListWrapperDirective, inputs: { disabled: "disabled", state$: "state$" }, outputs: { clickItem: "clickItem", loadMore: "loadMore" }, ngImport: i0 });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: AbstractDbxListWrapperDirective, decorators: [{
44
+ AbstractDbxListWrapperDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxListWrapperDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
45
+ AbstractDbxListWrapperDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: AbstractDbxListWrapperDirective, inputs: { disabled: "disabled", selectionMode: "selectionMode", state$: "state$" }, outputs: { clickItem: "clickItem", loadMore: "loadMore" }, ngImport: i0 });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxListWrapperDirective, decorators: [{
47
47
  type: Directive
48
48
  }], ctorParameters: function () { return [{ type: undefined }]; }, propDecorators: { disabled: [{
49
49
  type: Input
50
+ }], selectionMode: [{
51
+ type: Input
50
52
  }], state$: [{
51
53
  type: Input
52
54
  }], clickItem: [{
@@ -68,11 +70,11 @@ export class AbstractDbxSelectionListWrapperDirective extends AbstractDbxListWra
68
70
  return result;
69
71
  }
70
72
  }
71
- AbstractDbxSelectionListWrapperDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: AbstractDbxSelectionListWrapperDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
72
- AbstractDbxSelectionListWrapperDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: AbstractDbxSelectionListWrapperDirective, outputs: { selectionChange: "selectionChange" }, usesInheritance: true, ngImport: i0 });
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: AbstractDbxSelectionListWrapperDirective, decorators: [{
73
+ AbstractDbxSelectionListWrapperDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxSelectionListWrapperDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
74
+ AbstractDbxSelectionListWrapperDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: AbstractDbxSelectionListWrapperDirective, outputs: { selectionChange: "selectionChange" }, usesInheritance: true, ngImport: i0 });
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxSelectionListWrapperDirective, decorators: [{
74
76
  type: Directive
75
77
  }], propDecorators: { selectionChange: [{
76
78
  type: Output
77
79
  }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixXQUFXLEVBQW9CLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQWMsZUFBZSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzFGLE1BQU0sQ0FBQyxNQUFNLHNDQUFzQyxHQUFHOzs7Ozs7Q0FNckQsQ0FBQztBQUVGLGdCQUFnQjtBQUNoQixNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRzs7Ozs7O0NBTXRELENBQUM7QUFLRixNQUFNLE9BQWdCLCtCQUErQjtJQXFCbkQsWUFBcUIsVUFBK0I7UUFBL0IsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFuQm5DLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBNkIsU0FBUyxDQUFDLENBQUM7UUFDM0UsWUFBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNoQyxXQUFXLEVBQUUsRUFDYixNQUFNLEVBQUUsRUFDUixHQUFHLENBQUMsQ0FBQyxDQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUN2QyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQVNsQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUssQ0FBQztRQUdsQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUVvQixDQUFDO0lBRXpELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRVMsZ0JBQWdCLENBQUMsTUFBUztRQUNsQyxPQUFPO1lBQ0wsR0FBRyxNQUFNO1lBQ1QsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDdEMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO1NBQ3JDLENBQUM7SUFDSixDQUFDOzs0SEF2Q21CLCtCQUErQjtnSEFBL0IsK0JBQStCOzJGQUEvQiwrQkFBK0I7a0JBRHBELFNBQVM7NkZBV1IsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFJTixTQUFTO3NCQURSLE1BQU07Z0JBSVAsUUFBUTtzQkFEUCxNQUFNOztBQTZCVCxNQUFNLE9BQWdCLHdDQUFpTyxTQUFRLCtCQUEyQztJQUQxUzs7UUFJRSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO0tBWTdEO0lBVlUsV0FBVztRQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFa0IsZ0JBQWdCLENBQUMsTUFBUztRQUMzQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsTUFBTSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOztxSUFibUIsd0NBQXdDO3lIQUF4Qyx3Q0FBd0M7MkZBQXhDLHdDQUF3QztrQkFEN0QsU0FBUzs4QkFJUixlQUFlO3NCQURkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXN0TG9hZGluZ1N0YXRlLCBmaWx0ZXJNYXliZSwgT2JzZXJ2YWJsZUdldHRlciwgZ2V0dGVyIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QsIG1hcCwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE9uRGVzdHJveSwgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBEYnhMaXN0Q29uZmlnIH0gZnJvbSBcIi4vbGlzdC5jb21wb25lbnRcIjtcbmltcG9ydCB7IERieExpc3RWaWV3LCBMaXN0U2VsZWN0aW9uU3RhdGUgfSBmcm9tIFwiLi9saXN0LnZpZXdcIjtcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NUQVRJQ19MSVNUX0RJUkVDVElWRV9URU1QTEFURSA9IGBcbjxkYngtbGlzdCBbY29uZmlnXT1cImNvbmZpZ1wiPlxuICA8bmctY29udGVudCB0b3Agc2VsZWN0PVwiW3RvcF1cIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IGJvdHRvbSBzZWxlY3Q9XCJbYm90dG9tXVwiPjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQgZW1wdHkgc2VsZWN0PVwiW2VtcHR5XVwiPjwvbmctY29udGVudD5cbjwvZGJ4LWxpc3Q+XG5gO1xuXG4vLyBNQVJLOiBXcmFwcGVyXG5leHBvcnQgY29uc3QgREVGQVVMVF9MSVNUX1dSQVBQRVJfRElSRUNUSVZFX1RFTVBMQVRFID0gYFxuPGRieC1saXN0IFtzdGF0ZSRdPVwic3RhdGUkXCIgW2NvbmZpZ109XCJjb25maWckIHwgYXN5bmNcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgPG5nLWNvbnRlbnQgdG9wIHNlbGVjdD1cIlt0b3BdXCI+PC9uZy1jb250ZW50PlxuICA8bmctY29udGVudCBib3R0b20gc2VsZWN0PVwiW2JvdHRvbV1cIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IGVtcHR5IHNlbGVjdD1cIltlbXB0eV1cIj48L25nLWNvbnRlbnQ+XG48L2RieC1saXN0PlxuYDtcblxuZXhwb3J0IGludGVyZmFjZSBEYnhMaXN0V3JhcHBlckNvbmZpZzxULCBWIGV4dGVuZHMgRGJ4TGlzdFZpZXc8VD4gPSBEYnhMaXN0VmlldzxUPj4gZXh0ZW5kcyBPbWl0PERieExpc3RDb25maWc8VCwgVj4sICdvbkNsaWNrJyB8ICdsb2FkTW9yZSc+IHsgfVxuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdERieExpc3RXcmFwcGVyRGlyZWN0aXZlPFQsIFYgZXh0ZW5kcyBEYnhMaXN0VmlldzxUPiA9IERieExpc3RWaWV3PFQ+LCBDIGV4dGVuZHMgRGJ4TGlzdFdyYXBwZXJDb25maWc8VCwgVj4gPSBEYnhMaXN0V3JhcHBlckNvbmZpZzxULCBWPiwgUyBleHRlbmRzIExpc3RMb2FkaW5nU3RhdGU8VD4gPSBMaXN0TG9hZGluZ1N0YXRlPFQ+PiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pbml0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxPYnNlcnZhYmxlR2V0dGVyPEM+Pj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgY29uZmlnJCA9IHRoaXMuX2luaXQucGlwZShcbiAgICBmaWx0ZXJNYXliZSgpLFxuICAgIGdldHRlcigpLFxuICAgIG1hcCgoeDogQykgPT4gdGhpcy5fYnVpbGRMaXN0Q29uZmlnKHgpKSxcbiAgICBzaGFyZVJlcGxheSgxKSk7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQ/OiBNYXliZTxib29sZWFuPjtcblxuICBASW5wdXQoKVxuICBzdGF0ZSQ/OiBNYXliZTxPYnNlcnZhYmxlPFM+PjtcblxuICBAT3V0cHV0KClcbiAgY2xpY2tJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xuXG4gIEBPdXRwdXQoKVxuICBsb2FkTW9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBpbml0Q29uZmlnOiBPYnNlcnZhYmxlR2V0dGVyPEM+KSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbml0Lm5leHQodGhpcy5pbml0Q29uZmlnKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2luaXQuY29tcGxldGUoKTtcbiAgICB0aGlzLmNsaWNrSXRlbS5jb21wbGV0ZSgpO1xuICAgIHRoaXMubG9hZE1vcmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfYnVpbGRMaXN0Q29uZmlnKGNvbmZpZzogQyk6IERieExpc3RDb25maWc8VCwgVj4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBvbkNsaWNrOiAoeCkgPT4gdGhpcy5jbGlja0l0ZW0uZW1pdCh4KSxcbiAgICAgIGxvYWRNb3JlOiAoKSA9PiB0aGlzLmxvYWRNb3JlLmVtaXQoKVxuICAgIH07XG4gIH1cblxufVxuXG4vLyBNQVJLOiBTZWxlY3Rpb24gV3JhcHBlclxuZXhwb3J0IGludGVyZmFjZSBEYnhTZWxlY3Rpb25MaXN0V3JhcHBlckNvbmZpZzxULCBWIGV4dGVuZHMgRGJ4TGlzdFZpZXc8VD4gPSBEYnhMaXN0VmlldzxUPj4gZXh0ZW5kcyBPbWl0PERieExpc3RXcmFwcGVyQ29uZmlnPFQsIFY+LCAnb25TZWxlY3Rpb25DaGFuZ2UnPiB7IH1cblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3REYnhTZWxlY3Rpb25MaXN0V3JhcHBlckRpcmVjdGl2ZTxULCBWIGV4dGVuZHMgRGJ4TGlzdFZpZXc8VD4gPSBEYnhMaXN0VmlldzxUPiwgQyBleHRlbmRzIERieFNlbGVjdGlvbkxpc3RXcmFwcGVyQ29uZmlnPFQsIFY+ID0gRGJ4U2VsZWN0aW9uTGlzdFdyYXBwZXJDb25maWc8VCwgVj4sIFMgZXh0ZW5kcyBMaXN0TG9hZGluZ1N0YXRlPFQ+ID0gTGlzdExvYWRpbmdTdGF0ZTxUPj4gZXh0ZW5kcyBBYnN0cmFjdERieExpc3RXcmFwcGVyRGlyZWN0aXZlPFQsIFYsIEMsIFM+IHtcblxuICBAT3V0cHV0KClcbiAgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxMaXN0U2VsZWN0aW9uU3RhdGU8VD4+KCk7XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBfYnVpbGRMaXN0Q29uZmlnKGNvbmZpZzogQyk6IERieExpc3RDb25maWc8VCwgVj4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHN1cGVyLl9idWlsZExpc3RDb25maWcoY29uZmlnKTtcbiAgICByZXN1bHQub25TZWxlY3Rpb25DaGFuZ2UgPSAoeCkgPT4gdGhpcy5zZWxlY3Rpb25DaGFuZ2UubmV4dCh4KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbn1cbiJdfQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixXQUFXLEVBQXFCLDBCQUEwQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBYyxlQUFlLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNMUYsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLEdBQUc7Ozs7OztDQU1yRCxDQUFDO0FBRUYsZ0JBQWdCO0FBQ2hCLE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHOzs7Ozs7Q0FNdEQsQ0FBQztBQUtGLE1BQU0sT0FBZ0IsK0JBQStCO0lBd0JuRCxZQUFxQixVQUFnQztRQUFoQyxlQUFVLEdBQVYsVUFBVSxDQUFzQjtRQXRCcEMsVUFBSyxHQUFHLElBQUksZUFBZSxDQUE4QixTQUFTLENBQUMsQ0FBQztRQUM1RSxZQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2hDLFdBQVcsRUFBRSxFQUNiLDBCQUEwQixFQUFFLEVBQzVCLEdBQUcsQ0FBQyxDQUFDLENBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3ZDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBWWxCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBSyxDQUFDO1FBR2xDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRXFCLENBQUM7SUFFMUQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxNQUFTO1FBQ2xDLE9BQU87WUFDTCxHQUFHLE1BQU07WUFDVCxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN0QyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUU7U0FDckMsQ0FBQztJQUNKLENBQUM7OzRIQTFDbUIsK0JBQStCO2dIQUEvQiwrQkFBK0I7MkZBQS9CLCtCQUErQjtrQkFEcEQsU0FBUzs2RkFXUixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFJTixTQUFTO3NCQURSLE1BQU07Z0JBSVAsUUFBUTtzQkFEUCxNQUFNOztBQTZCVCxNQUFNLE9BQWdCLHdDQUFpTyxTQUFRLCtCQUEyQztJQUQxUzs7UUFJRSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO0tBWTdEO0lBVlUsV0FBVztRQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFa0IsZ0JBQWdCLENBQUMsTUFBUztRQUMzQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsTUFBTSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOztxSUFibUIsd0NBQXdDO3lIQUF4Qyx3Q0FBd0M7MkZBQXhDLHdDQUF3QztrQkFEN0QsU0FBUzs4QkFJUixlQUFlO3NCQURkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXN0TG9hZGluZ1N0YXRlLCBmaWx0ZXJNYXliZSwgT2JzZXJ2YWJsZU9yVmFsdWUsIHZhbHVlRnJvbU9ic2VydmFibGVPclZhbHVlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QsIG1hcCwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE9uRGVzdHJveSwgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBEYnhMaXN0Q29uZmlnIH0gZnJvbSBcIi4vbGlzdC5jb21wb25lbnRcIjtcbmltcG9ydCB7IERieExpc3RTZWxlY3Rpb25Nb2RlLCBEYnhMaXN0VmlldywgTGlzdFNlbGVjdGlvblN0YXRlIH0gZnJvbSBcIi4vbGlzdC52aWV3XCI7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGJ4TGlzdFZpZXdXcmFwcGVyIH0gZnJvbSAnLi9saXN0LndyYXBwZXInO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9TVEFUSUNfTElTVF9ESVJFQ1RJVkVfVEVNUExBVEUgPSBgXG48ZGJ4LWxpc3QgW2NvbmZpZ109XCJjb25maWdcIj5cbiAgPG5nLWNvbnRlbnQgdG9wIHNlbGVjdD1cIlt0b3BdXCI+PC9uZy1jb250ZW50PlxuICA8bmctY29udGVudCBib3R0b20gc2VsZWN0PVwiW2JvdHRvbV1cIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IGVtcHR5IHNlbGVjdD1cIltlbXB0eV1cIj48L25nLWNvbnRlbnQ+XG48L2RieC1saXN0PlxuYDtcblxuLy8gTUFSSzogV3JhcHBlclxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTElTVF9XUkFQUEVSX0RJUkVDVElWRV9URU1QTEFURSA9IGBcbjxkYngtbGlzdCBbc3RhdGUkXT1cInN0YXRlJFwiIFtjb25maWddPVwiY29uZmlnJCB8IGFzeW5jXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZVwiPlxuICA8bmctY29udGVudCB0b3Agc2VsZWN0PVwiW3RvcF1cIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IGJvdHRvbSBzZWxlY3Q9XCJbYm90dG9tXVwiPjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQgZW1wdHkgc2VsZWN0PVwiW2VtcHR5XVwiPjwvbmctY29udGVudD5cbjwvZGJ4LWxpc3Q+XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieExpc3RXcmFwcGVyQ29uZmlnPFQsIFYgZXh0ZW5kcyBEYnhMaXN0VmlldzxUPiA9IERieExpc3RWaWV3PFQ+PiBleHRlbmRzIE9taXQ8RGJ4TGlzdENvbmZpZzxULCBWPiwgJ29uQ2xpY2snIHwgJ2xvYWRNb3JlJz4geyB9XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RGJ4TGlzdFdyYXBwZXJEaXJlY3RpdmU8VCwgViBleHRlbmRzIERieExpc3RWaWV3PFQ+ID0gRGJ4TGlzdFZpZXc8VD4sIEMgZXh0ZW5kcyBEYnhMaXN0V3JhcHBlckNvbmZpZzxULCBWPiA9IERieExpc3RXcmFwcGVyQ29uZmlnPFQsIFY+LCBTIGV4dGVuZHMgTGlzdExvYWRpbmdTdGF0ZTxUPiA9IExpc3RMb2FkaW5nU3RhdGU8VD4+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIERieExpc3RWaWV3V3JhcHBlcjxULCBTPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaW5pdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8T2JzZXJ2YWJsZU9yVmFsdWU8Qz4+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBjb25maWckID0gdGhpcy5faW5pdC5waXBlKFxuICAgIGZpbHRlck1heWJlKCksXG4gICAgdmFsdWVGcm9tT2JzZXJ2YWJsZU9yVmFsdWUoKSxcbiAgICBtYXAoKHg6IEMpID0+IHRoaXMuX2J1aWxkTGlzdENvbmZpZyh4KSksXG4gICAgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkPzogTWF5YmU8Ym9vbGVhbj47XG5cbiAgQElucHV0KClcbiAgc2VsZWN0aW9uTW9kZT86IE1heWJlPERieExpc3RTZWxlY3Rpb25Nb2RlPjtcblxuICBASW5wdXQoKVxuICBzdGF0ZSQ/OiBNYXliZTxPYnNlcnZhYmxlPFM+PjtcblxuICBAT3V0cHV0KClcbiAgY2xpY2tJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xuXG4gIEBPdXRwdXQoKVxuICBsb2FkTW9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBpbml0Q29uZmlnOiBPYnNlcnZhYmxlT3JWYWx1ZTxDPikgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5faW5pdC5uZXh0KHRoaXMuaW5pdENvbmZpZyk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbml0LmNvbXBsZXRlKCk7XG4gICAgdGhpcy5jbGlja0l0ZW0uY29tcGxldGUoKTtcbiAgICB0aGlzLmxvYWRNb3JlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2J1aWxkTGlzdENvbmZpZyhjb25maWc6IEMpOiBEYnhMaXN0Q29uZmlnPFQsIFY+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgb25DbGljazogKHgpID0+IHRoaXMuY2xpY2tJdGVtLmVtaXQoeCksXG4gICAgICBsb2FkTW9yZTogKCkgPT4gdGhpcy5sb2FkTW9yZS5lbWl0KClcbiAgICB9O1xuICB9XG5cbn1cblxuLy8gTUFSSzogU2VsZWN0aW9uIFdyYXBwZXJcbmV4cG9ydCBpbnRlcmZhY2UgRGJ4U2VsZWN0aW9uTGlzdFdyYXBwZXJDb25maWc8VCwgViBleHRlbmRzIERieExpc3RWaWV3PFQ+ID0gRGJ4TGlzdFZpZXc8VD4+IGV4dGVuZHMgT21pdDxEYnhMaXN0V3JhcHBlckNvbmZpZzxULCBWPiwgJ29uU2VsZWN0aW9uQ2hhbmdlJz4geyB9XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RGJ4U2VsZWN0aW9uTGlzdFdyYXBwZXJEaXJlY3RpdmU8VCwgViBleHRlbmRzIERieExpc3RWaWV3PFQ+ID0gRGJ4TGlzdFZpZXc8VD4sIEMgZXh0ZW5kcyBEYnhTZWxlY3Rpb25MaXN0V3JhcHBlckNvbmZpZzxULCBWPiA9IERieFNlbGVjdGlvbkxpc3RXcmFwcGVyQ29uZmlnPFQsIFY+LCBTIGV4dGVuZHMgTGlzdExvYWRpbmdTdGF0ZTxUPiA9IExpc3RMb2FkaW5nU3RhdGU8VD4+IGV4dGVuZHMgQWJzdHJhY3REYnhMaXN0V3JhcHBlckRpcmVjdGl2ZTxULCBWLCBDLCBTPiB7XG5cbiAgQE91dHB1dCgpXG4gIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TGlzdFNlbGVjdGlvblN0YXRlPFQ+PigpO1xuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgX2J1aWxkTGlzdENvbmZpZyhjb25maWc6IEMpOiBEYnhMaXN0Q29uZmlnPFQsIFY+IHtcbiAgICBjb25zdCByZXN1bHQgPSBzdXBlci5fYnVpbGRMaXN0Q29uZmlnKGNvbmZpZyk7XG4gICAgcmVzdWx0Lm9uU2VsZWN0aW9uQ2hhbmdlID0gKHgpID0+IHRoaXMuc2VsZWN0aW9uQ2hhbmdlLm5leHQoeCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG59XG4iXX0=