@koobiq/components 16.0.0-beta.6 → 16.0.0-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. package/autocomplete/autocomplete-trigger.directive.d.ts +5 -15
  2. package/button-toggle/_button-toggle-theme.scss +26 -45
  3. package/button-toggle/button-toggle.component.d.ts +2 -2
  4. package/button-toggle/button-toggle.scss +40 -87
  5. package/card/_card-theme.scss +1 -1
  6. package/checkbox/_checkbox-theme.scss +10 -2
  7. package/checkbox/checkbox.d.ts +1 -1
  8. package/code-block/README.md +14 -14
  9. package/code-block/_code-block-theme.scss +8 -0
  10. package/code-block/code-block.component.d.ts +1 -1
  11. package/core/animation/index.d.ts +1 -1
  12. package/core/animation/select-animations.d.ts +1 -1
  13. package/core/formatters/index.d.ts +1 -1
  14. package/core/formatters/number/formatter.d.ts +56 -1
  15. package/core/forms/forms.directive.d.ts +2 -2
  16. package/core/locales/en-US.d.ts +19 -1
  17. package/core/locales/es-LA.d.ts +27 -0
  18. package/core/locales/fa-IR.d.ts +28 -0
  19. package/core/locales/locale-service.d.ts +148 -3
  20. package/core/locales/pt-BR.d.ts +27 -0
  21. package/core/locales/ru-RU.d.ts +20 -1
  22. package/core/locales/zh-CN.d.ts +26 -0
  23. package/core/option/_optgroup-theme.scss +1 -1
  24. package/core/option/_option-theme.scss +2 -2
  25. package/core/option/action.d.ts +1 -1
  26. package/core/option/optgroup.d.ts +1 -1
  27. package/core/option/option.d.ts +37 -8
  28. package/core/option/option.scss +4 -4
  29. package/core/overlay/overlay-position-map.d.ts +7 -1
  30. package/core/pop-up/constants.d.ts +2 -1
  31. package/core/public-api.d.ts +1 -0
  32. package/core/select/constants.d.ts +2 -2
  33. package/core/services/theme.service.d.ts +23 -0
  34. package/core/styles/_koobiq-theme.scss +6 -0
  35. package/core/styles/_variables.scss +1 -0
  36. package/core/styles/common/_animation.scss +10 -6
  37. package/core/styles/common/_overlay.scss +1 -1
  38. package/core/styles/common/_select.scss +79 -65
  39. package/core/styles/theming/_components-theming.scss +205 -23
  40. package/core/styles/theming/_theming.scss +2 -2
  41. package/datepicker/_datepicker-theme.scss +43 -57
  42. package/datepicker/calendar-body.component.d.ts +1 -1
  43. package/datepicker/calendar-body.scss +11 -26
  44. package/datepicker/calendar-header.component.d.ts +9 -3
  45. package/datepicker/calendar-header.scss +7 -31
  46. package/datepicker/calendar.component.d.ts +4 -5
  47. package/datepicker/calendar.scss +20 -25
  48. package/datepicker/datepicker-animations.d.ts +1 -1
  49. package/datepicker/datepicker-content.scss +17 -10
  50. package/datepicker/datepicker-input.directive.d.ts +4 -4
  51. package/datepicker/datepicker-input.scss +1 -1
  52. package/datepicker/datepicker-toggle.component.d.ts +3 -3
  53. package/datepicker/datepicker.component.d.ts +2 -2
  54. package/datepicker/month-view.component.d.ts +5 -6
  55. package/dl/_dl-theme.scss +2 -56
  56. package/dl/dl.component.d.ts +1 -2
  57. package/dl/dl.scss +10 -47
  58. package/dropdown/_dropdown-theme.scss +2 -2
  59. package/dropdown/dropdown-animations.d.ts +1 -1
  60. package/dropdown/dropdown-content.directive.d.ts +1 -1
  61. package/dropdown/dropdown-item.component.d.ts +1 -1
  62. package/dropdown/dropdown-item.scss +1 -1
  63. package/dropdown/dropdown-trigger.directive.d.ts +2 -2
  64. package/dropdown/dropdown.component.d.ts +1 -1
  65. package/dropdown/dropdown.types.d.ts +1 -1
  66. package/esm2022/alert/alert.component.mjs +2 -2
  67. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +27 -24
  68. package/esm2022/button/button.component.mjs +3 -2
  69. package/esm2022/button-toggle/button-toggle.component.mjs +15 -15
  70. package/esm2022/checkbox/checkbox.mjs +3 -3
  71. package/esm2022/code-block/actionbar.component.mjs +1 -1
  72. package/esm2022/code-block/code-block.component.mjs +3 -3
  73. package/esm2022/core/animation/index.mjs +2 -2
  74. package/esm2022/core/animation/select-animations.mjs +4 -4
  75. package/esm2022/core/formatters/index.mjs +10 -2
  76. package/esm2022/core/formatters/number/formatter.mjs +224 -3
  77. package/esm2022/core/forms/forms.directive.mjs +5 -5
  78. package/esm2022/core/locales/en-US.mjs +22 -4
  79. package/esm2022/core/locales/es-LA.mjs +31 -2
  80. package/esm2022/core/locales/fa-IR.mjs +30 -2
  81. package/esm2022/core/locales/locale-service.mjs +4 -4
  82. package/esm2022/core/locales/pt-BR.mjs +29 -2
  83. package/esm2022/core/locales/ru-RU.mjs +23 -2
  84. package/esm2022/core/locales/zh-CN.mjs +28 -2
  85. package/esm2022/core/option/action.mjs +3 -3
  86. package/esm2022/core/option/optgroup.mjs +3 -3
  87. package/esm2022/core/option/option.mjs +47 -10
  88. package/esm2022/core/overlay/overlay-position-map.mjs +7 -1
  89. package/esm2022/core/pop-up/constants.mjs +2 -1
  90. package/esm2022/core/pop-up/pop-up-trigger.mjs +12 -3
  91. package/esm2022/core/public-api.mjs +2 -1
  92. package/esm2022/core/select/constants.mjs +3 -3
  93. package/esm2022/core/services/theme.service.mjs +60 -0
  94. package/esm2022/core/version.mjs +2 -2
  95. package/esm2022/datepicker/calendar-body.component.mjs +7 -5
  96. package/esm2022/datepicker/calendar-header.component.mjs +9 -8
  97. package/esm2022/datepicker/calendar.component.mjs +8 -17
  98. package/esm2022/datepicker/datepicker-animations.mjs +2 -2
  99. package/esm2022/datepicker/datepicker-input.directive.mjs +29 -20
  100. package/esm2022/datepicker/datepicker-toggle.component.mjs +6 -6
  101. package/esm2022/datepicker/datepicker.component.mjs +12 -12
  102. package/esm2022/datepicker/month-view.component.mjs +9 -18
  103. package/esm2022/dl/dl.component.mjs +3 -7
  104. package/esm2022/dropdown/dropdown-animations.mjs +4 -4
  105. package/esm2022/dropdown/dropdown-content.directive.mjs +3 -3
  106. package/esm2022/dropdown/dropdown-errors.mjs +6 -6
  107. package/esm2022/dropdown/dropdown-item.component.mjs +5 -5
  108. package/esm2022/dropdown/dropdown-trigger.directive.mjs +10 -9
  109. package/esm2022/dropdown/dropdown.component.mjs +8 -8
  110. package/esm2022/dropdown/dropdown.types.mjs +1 -1
  111. package/esm2022/file-upload/file-drop.mjs +4 -4
  112. package/esm2022/file-upload/multiple-file-upload.component.mjs +13 -9
  113. package/esm2022/file-upload/single-file-upload.component.mjs +16 -13
  114. package/esm2022/form-field/cleaner.mjs +3 -3
  115. package/esm2022/form-field/form-field.mjs +7 -7
  116. package/esm2022/form-field/hint.mjs +4 -4
  117. package/esm2022/form-field/password-hint.mjs +11 -11
  118. package/esm2022/form-field/password-toggle.mjs +21 -8
  119. package/esm2022/form-field/suffix.mjs +3 -3
  120. package/esm2022/form-field/validate.directive.mjs +4 -4
  121. package/esm2022/input/input-number.mjs +259 -43
  122. package/esm2022/link/link.component.mjs +3 -3
  123. package/esm2022/list/list-selection.component.mjs +8 -8
  124. package/esm2022/list/list.component.mjs +2 -2
  125. package/esm2022/loader-overlay/loader-overlay.component.mjs +2 -2
  126. package/esm2022/modal/modal-control.service.mjs +5 -5
  127. package/esm2022/modal/modal-ref.class.mjs +1 -1
  128. package/esm2022/modal/modal.component.mjs +124 -111
  129. package/esm2022/modal/modal.service.mjs +23 -23
  130. package/esm2022/modal/modal.type.mjs +1 -3
  131. package/esm2022/navbar/navbar-item.component.mjs +6 -6
  132. package/esm2022/navbar/navbar.component.mjs +18 -9
  133. package/esm2022/navbar/vertical-navbar.component.mjs +9 -6
  134. package/esm2022/popover/popover-animations.mjs +2 -2
  135. package/esm2022/popover/popover-confirm.component.mjs +9 -9
  136. package/esm2022/popover/popover.component.mjs +24 -24
  137. package/esm2022/radio/radio.component.mjs +10 -8
  138. package/esm2022/select/select-option.directive.mjs +15 -3
  139. package/esm2022/select/select.component.mjs +37 -21
  140. package/esm2022/sidebar/sidebar-animations.mjs +2 -2
  141. package/esm2022/sidebar/sidebar.component.mjs +9 -9
  142. package/esm2022/sidepanel/sidepanel-container.component.mjs +3 -3
  143. package/esm2022/sidepanel/sidepanel-directives.mjs +2 -2
  144. package/esm2022/splitter/splitter.component.mjs +3 -3
  145. package/esm2022/table/table.component.mjs +3 -3
  146. package/esm2022/tabs/tab-body.component.mjs +7 -7
  147. package/esm2022/tabs/tab-content.directive.mjs +3 -3
  148. package/esm2022/tabs/tab-group.component.mjs +3 -3
  149. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +6 -6
  150. package/esm2022/tabs/tab.component.mjs +14 -5
  151. package/esm2022/tabs/tabs-animations.mjs +2 -2
  152. package/esm2022/tags/tag-input.mjs +3 -3
  153. package/esm2022/tags/tag-list.component.mjs +5 -5
  154. package/esm2022/tags/tag.component.mjs +10 -10
  155. package/esm2022/timepicker/timepicker.directive.mjs +10 -10
  156. package/esm2022/timezone/timezone-option.component.mjs +4 -4
  157. package/esm2022/timezone/timezone-select.component.mjs +5 -5
  158. package/esm2022/title/title.directive.mjs +5 -5
  159. package/esm2022/toast/toast.module.mjs +10 -4
  160. package/esm2022/toggle/toggle.component.mjs +4 -4
  161. package/esm2022/tooltip/tooltip.component.mjs +18 -17
  162. package/esm2022/tree/control/base-tree-control.mjs +1 -1
  163. package/esm2022/tree/control/flat-tree-control.mjs +4 -4
  164. package/esm2022/tree/control/tree-control.mjs +1 -1
  165. package/esm2022/tree/node.mjs +5 -5
  166. package/esm2022/tree/outlet.mjs +3 -3
  167. package/esm2022/tree/padding.directive.mjs +7 -7
  168. package/esm2022/tree/toggle.mjs +9 -11
  169. package/esm2022/tree/tree-base.mjs +3 -3
  170. package/esm2022/tree/tree-option.component.mjs +8 -5
  171. package/esm2022/tree/tree-selection.component.mjs +8 -6
  172. package/esm2022/tree/tree.mjs +3 -3
  173. package/esm2022/tree-select/tree-select.component.mjs +14 -15
  174. package/fesm2022/koobiq-components-alert.mjs +2 -2
  175. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  176. package/fesm2022/koobiq-components-autocomplete.mjs +27 -24
  177. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  178. package/fesm2022/koobiq-components-button-toggle.mjs +14 -14
  179. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-button.mjs +2 -1
  181. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  183. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-code-block.mjs +3 -3
  185. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-core.mjs +526 -39
  187. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-datepicker.mjs +72 -78
  189. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-dl.mjs +2 -6
  191. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-dropdown.mjs +30 -29
  193. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-file-upload.mjs +26 -19
  195. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-form-field.mjs +46 -34
  197. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-input.mjs +257 -43
  199. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  200. package/fesm2022/koobiq-components-link.mjs +2 -2
  201. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  202. package/fesm2022/koobiq-components-list.mjs +9 -9
  203. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  204. package/fesm2022/koobiq-components-loader-overlay.mjs +2 -2
  205. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  206. package/fesm2022/koobiq-components-modal.mjs +149 -140
  207. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  208. package/fesm2022/koobiq-components-navbar.mjs +28 -20
  209. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  210. package/fesm2022/koobiq-components-popover.mjs +31 -31
  211. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  212. package/fesm2022/koobiq-components-radio.mjs +9 -7
  213. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  214. package/fesm2022/koobiq-components-select.mjs +50 -22
  215. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  216. package/fesm2022/koobiq-components-sidebar.mjs +8 -8
  217. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  218. package/fesm2022/koobiq-components-sidepanel.mjs +3 -3
  219. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  220. package/fesm2022/koobiq-components-splitter.mjs +2 -2
  221. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  222. package/fesm2022/koobiq-components-table.mjs +2 -2
  223. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  224. package/fesm2022/koobiq-components-tabs.mjs +29 -20
  225. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  226. package/fesm2022/koobiq-components-tags.mjs +15 -15
  227. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  228. package/fesm2022/koobiq-components-timepicker.mjs +9 -9
  229. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  230. package/fesm2022/koobiq-components-timezone.mjs +7 -7
  231. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  232. package/fesm2022/koobiq-components-title.mjs +4 -4
  233. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  234. package/fesm2022/koobiq-components-toast.mjs +8 -2
  235. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  236. package/fesm2022/koobiq-components-toggle.mjs +3 -3
  237. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  238. package/fesm2022/koobiq-components-tooltip.mjs +17 -16
  239. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  240. package/fesm2022/koobiq-components-tree-select.mjs +13 -14
  241. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  242. package/fesm2022/koobiq-components-tree.mjs +42 -38
  243. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  244. package/file-upload/_file-upload-theme.scss +54 -40
  245. package/file-upload/file-drop.d.ts +1 -1
  246. package/file-upload/file-upload.scss +2 -9
  247. package/file-upload/multiple-file-upload.component.d.ts +4 -3
  248. package/file-upload/multiple-file-upload.component.scss +170 -59
  249. package/file-upload/single-file-upload.component.d.ts +4 -3
  250. package/file-upload/single-file-upload.component.scss +42 -22
  251. package/form-field/_hint-theme.scss +1 -1
  252. package/form-field/cleaner.d.ts +1 -1
  253. package/form-field/form-field.d.ts +2 -2
  254. package/form-field/form-field.scss +2 -2
  255. package/form-field/hint.d.ts +1 -1
  256. package/form-field/password-hint.d.ts +2 -1
  257. package/form-field/password-toggle.d.ts +11 -6
  258. package/form-field/suffix.d.ts +1 -1
  259. package/form-field/validate.directive.d.ts +1 -1
  260. package/icon/_icon-theme.scss +12 -22
  261. package/input/input-number.d.ts +61 -10
  262. package/link/_link-theme.scss +6 -2
  263. package/link/link.component.d.ts +1 -1
  264. package/list/_list-theme.scss +2 -2
  265. package/list/list-selection.component.d.ts +1 -1
  266. package/list/list.scss +1 -5
  267. package/loader-overlay/loader-overlay.scss +3 -0
  268. package/markdown/_markdown-theme.scss +2 -2
  269. package/modal/README.md +5 -5
  270. package/modal/_modal-theme.scss +10 -18
  271. package/modal/modal-ref.class.d.ts +2 -2
  272. package/modal/modal.component.d.ts +51 -47
  273. package/modal/modal.scss +0 -1
  274. package/modal/modal.type.d.ts +35 -36
  275. package/navbar/_navbar-theme.scss +1 -1
  276. package/navbar/navbar-item.component.d.ts +2 -2
  277. package/navbar/navbar.component.d.ts +5 -2
  278. package/navbar/vertical-navbar.component.d.ts +4 -2
  279. package/package.json +28 -30
  280. package/popover/README.md +14 -14
  281. package/popover/_popover-theme.scss +15 -78
  282. package/popover/popover-animations.d.ts +1 -1
  283. package/popover/popover-confirm.component.d.ts +1 -1
  284. package/popover/popover.component.d.ts +3 -3
  285. package/popover/popover.scss +60 -50
  286. package/prebuilt-themes/dark-theme.css +1 -1
  287. package/prebuilt-themes/light-theme.css +1 -1
  288. package/radio/_radio-theme.scss +17 -4
  289. package/radio/radio.component.d.ts +2 -2
  290. package/radio/radio.scss +13 -0
  291. package/select/_select-theme.scss +1 -1
  292. package/select/select-option.directive.d.ts +2 -0
  293. package/select/select.component.d.ts +14 -11
  294. package/sidebar/sidebar-animations.d.ts +1 -1
  295. package/sidebar/sidebar.component.d.ts +3 -3
  296. package/sidepanel/_sidepanel-theme.scss +5 -0
  297. package/splitter/splitter.component.d.ts +1 -1
  298. package/table/_table-theme.scss +1 -1
  299. package/table/table.component.d.ts +1 -1
  300. package/tabs/tab-body.component.d.ts +1 -1
  301. package/tabs/tab-content.directive.d.ts +1 -1
  302. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +2 -2
  303. package/tabs/tab.component.d.ts +1 -1
  304. package/tabs/tabs-animations.d.ts +1 -1
  305. package/tags/_tag-theme.scss +1 -1
  306. package/tags/tag-input.d.ts +2 -2
  307. package/tags/tag-list.component.d.ts +2 -2
  308. package/tags/tag-list.scss +2 -0
  309. package/tags/tag.component.d.ts +3 -3
  310. package/timepicker/timepicker.directive.d.ts +2 -2
  311. package/timezone/timezone-option.component.d.ts +1 -1
  312. package/timezone/timezone-select.component.d.ts +1 -1
  313. package/title/title.directive.d.ts +1 -1
  314. package/toggle/_toggle-theme.scss +9 -1
  315. package/toggle/toggle.component.d.ts +1 -1
  316. package/toggle/toggle.scss +5 -2
  317. package/tooltip/tooltip.component.d.ts +3 -3
  318. package/tree/_tree-theme.scss +2 -2
  319. package/tree/control/base-tree-control.d.ts +1 -1
  320. package/tree/control/tree-control.d.ts +1 -1
  321. package/tree/node.d.ts +1 -1
  322. package/tree/outlet.d.ts +1 -1
  323. package/tree/padding.directive.d.ts +1 -1
  324. package/tree/toggle.d.ts +3 -3
  325. package/tree/tree-base.d.ts +1 -1
  326. package/tree/tree-option.component.d.ts +1 -1
  327. package/tree/tree-option.scss +2 -0
  328. package/tree/tree-selection.component.d.ts +1 -1
  329. package/tree/tree.d.ts +1 -1
  330. package/tree-select/_tree-select-theme.scss +1 -1
  331. package/tree-select/tree-select.component.d.ts +1 -1
@@ -72,13 +72,13 @@ export class KbqTitleDirective extends KbqTooltipTrigger {
72
72
  });
73
73
  }
74
74
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqTitleDirective, deps: [{ token: i1.Overlay }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.ScrollDispatcher }, { token: i0.ViewContainerRef }, { token: i2.FocusMonitor }, { token: KBQ_TOOLTIP_SCROLL_STRATEGY }, { token: i3.Directionality, optional: true }, { token: KBQ_TITLE_TEXT_REF, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
75
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqTitleDirective, selector: "[kbq-title]", host: { listeners: { "mouseenter": "handleElementEnter()", "mouseleave": "hideTooltip()", "window:resize": "resizeStream.next($event)" } }, queries: [{ propertyName: "childContainer", first: true, predicate: ["mcTitleText"], descendants: true, static: true }, { propertyName: "parentContainer", first: true, predicate: ["mcTitleContainer"], descendants: true }], exportAs: ["mcTitle"], usesInheritance: true, ngImport: i0 }); }
75
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqTitleDirective, selector: "[kbq-title]", host: { listeners: { "mouseenter": "handleElementEnter()", "mouseleave": "hideTooltip()", "window:resize": "resizeStream.next($event)" } }, queries: [{ propertyName: "childContainer", first: true, predicate: ["kbqTitleText"], descendants: true, static: true }, { propertyName: "parentContainer", first: true, predicate: ["kbqTitleContainer"], descendants: true }], exportAs: ["kbqTitle"], usesInheritance: true, ngImport: i0 }); }
76
76
  }
77
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqTitleDirective, decorators: [{
78
78
  type: Directive,
79
79
  args: [{
80
80
  selector: '[kbq-title]',
81
- exportAs: 'mcTitle',
81
+ exportAs: 'kbqTitle',
82
82
  host: {
83
83
  '(mouseenter)': 'handleElementEnter()',
84
84
  '(mouseleave)': 'hideTooltip()',
@@ -99,9 +99,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
99
99
  args: [KBQ_TITLE_TEXT_REF]
100
100
  }] }]; }, propDecorators: { childContainer: [{
101
101
  type: ContentChild,
102
- args: ['mcTitleText', { descendants: true, static: true }]
102
+ args: ['kbqTitleText', { descendants: true, static: true }]
103
103
  }], parentContainer: [{
104
104
  type: ContentChild,
105
- args: ['mcTitleContainer']
105
+ args: ['kbqTitleContainer']
106
106
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90aXRsZS90aXRsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakUsT0FBTyxFQUVILFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxFQUNWLElBQUksRUFDSixNQUFNLEVBQ04sTUFBTSxFQUNOLFFBQVEsRUFDUixnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFtQixNQUFNLHlCQUF5QixDQUFDO0FBQzlFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVGLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVk5QyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsaUJBQWlCO0lBQ3BELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7SUFDbEgsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVB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QUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl4RCxlQUFlO3NCQUR0QixZQUFZO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgT3ZlcmxheSwgU2Nyb2xsRGlzcGF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdCxcbiAgICBJbmplY3QsXG4gICAgTmdab25lLFxuICAgIE9wdGlvbmFsLFxuICAgIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLQlFfVElUTEVfVEVYVF9SRUYsIEticVRpdGxlVGV4dFJlZiB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9jb3JlJztcbmltcG9ydCB7IEtCUV9UT09MVElQX1NDUk9MTF9TVFJBVEVHWSwgS2JxVG9vbHRpcFRyaWdnZXIgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ticS10aXRsZV0nLFxuICAgIGV4cG9ydEFzOiAnbWNUaXRsZScsXG4gICAgaG9zdDoge1xuICAgICAgICAnKG1vdXNlZW50ZXIpJzogJ2hhbmRsZUVsZW1lbnRFbnRlcigpJyxcbiAgICAgICAgJyhtb3VzZWxlYXZlKSc6ICdoaWRlVG9vbHRpcCgpJyxcbiAgICAgICAgJyh3aW5kb3c6cmVzaXplKSc6ICdyZXNpemVTdHJlYW0ubmV4dCgkZXZlbnQpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxVGl0bGVEaXJlY3RpdmUgZXh0ZW5kcyBLYnFUb29sdGlwVHJpZ2dlciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIGdldCBpc092ZXJmbG93bigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyZW50LmNsaWVudFdpZHRoIDwgdGhpcy5jaGlsZC5zY3JvbGxXaWR0aCB8fCB0aGlzLnBhcmVudC5jbGllbnRIZWlnaHQgPCB0aGlzLmNoaWxkLnNjcm9sbEhlaWdodDtcbiAgICB9XG5cbiAgICBnZXQgdmlld1ZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAodGhpcy5wYXJlbnQudGV4dENvbnRlbnQgfHwgJycpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBnZXQgcGFyZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyZW50Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQgfHwgdGhpcy5wYXJlbnRDb250YWluZXI7XG4gICAgfVxuXG4gICAgZ2V0IGNoaWxkKCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRDb250YWluZXIubmF0aXZlRWxlbWVudCB8fCB0aGlzLmNoaWxkQ29udGFpbmVyO1xuICAgIH1cblxuICAgIHJlYWRvbmx5IHJlc2l6ZVN0cmVhbSA9IG5ldyBTdWJqZWN0PEV2ZW50PigpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWJvdW5jZUludGVydmFsOiBudW1iZXIgPSAxMDA7XG5cbiAgICBwcml2YXRlIHJlc2l6ZVN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcbiAgICBwcml2YXRlIG11dGF0aW9uU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuICAgIHByaXZhdGUgZm9jdXNNb25pdG9yU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXG4gICAgQENvbnRlbnRDaGlsZCgnbWNUaXRsZVRleHQnLCB7IGRlc2NlbmRhbnRzOiB0cnVlLCBzdGF0aWM6IHRydWUgfSlcbiAgICBwcml2YXRlIGNoaWxkQ29udGFpbmVyOiBFbGVtZW50UmVmO1xuXG4gICAgQENvbnRlbnRDaGlsZCgnbWNUaXRsZUNvbnRhaW5lcicpXG4gICAgcHJpdmF0ZSBwYXJlbnRDb250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHNjcm9sbERpc3BhdGNoZXI6IFNjcm9sbERpc3BhdGNoZXIsXG4gICAgICAgIGhvc3RWaWV3OiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgICAgICBASW5qZWN0KEtCUV9UT09MVElQX1NDUk9MTF9TVFJBVEVHWSkgc2Nyb2xsU3RyYXRlZ3ksXG4gICAgICAgIEBPcHRpb25hbCgpIGRpcmVjdGlvbjogRGlyZWN0aW9uYWxpdHksXG4gICAgICAgIEBIb3N0KCkgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfVElUTEVfVEVYVF9SRUYpIHByaXZhdGUgY29tcG9uZW50SW5zdGFuY2U/OiBLYnFUaXRsZVRleHRSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIob3ZlcmxheSwgZWxlbWVudFJlZiwgbmdab25lLCBzY3JvbGxEaXNwYXRjaGVyLCBob3N0Vmlldywgc2Nyb2xsU3RyYXRlZ3ksIGRpcmVjdGlvbik7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLnBhcmVudENvbnRhaW5lciA9IHRoaXMucGFyZW50Q29udGFpbmVyIHx8IHRoaXMuY29tcG9uZW50SW5zdGFuY2U/LnBhcmVudFRleHRFbGVtZW50IHx8IHRoaXMuZWxlbWVudFJlZjtcbiAgICAgICAgdGhpcy5jaGlsZENvbnRhaW5lciA9IHRoaXMuY2hpbGRDb250YWluZXIgfHwgdGhpcy5jb21wb25lbnRJbnN0YW5jZT8udGV4dEVsZW1lbnQgfHwgdGhpcy5lbGVtZW50UmVmO1xuICAgICAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLnZpZXdWYWx1ZTtcblxuICAgICAgICB0aGlzLnJlc2l6ZVN1YnNjcmlwdGlvbiA9IHRoaXMucmVzaXplU3RyZWFtXG4gICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZUludGVydmFsKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5kaXNhYmxlZCA9ICF0aGlzLmlzT3ZlcmZsb3duKTtcblxuICAgICAgICB0aGlzLm11dGF0aW9uU3Vic2NyaXB0aW9uID0gdGhpcy5jcmVhdGVNdXRhdGlvbk9ic2VydmVyKClcbiAgICAgICAgICAgIC5waXBlKHRocm90dGxlVGltZSh0aGlzLmRlYm91bmNlSW50ZXJ2YWwpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9ICF0aGlzLmlzT3ZlcmZsb3duO1xuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudCA9IHRoaXMudmlld1ZhbHVlO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5mb2N1c01vbml0b3JTdWJzY3JpcHRpb24gPSB0aGlzLmZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuZWxlbWVudFJlZikuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKG9yaWdpbikgPT4gKG9yaWdpbiA9PT0gJ2tleWJvYXJkJylcbiAgICAgICAgICAgICAgICA/IHRoaXMuaGFuZGxlRWxlbWVudEVudGVyKCkgOiB0aGlzLmhpZGVUb29sdGlwKClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcblxuICAgICAgICB0aGlzLnJlc2l6ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLm11dGF0aW9uU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuZm9jdXNNb25pdG9yU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuZWxlbWVudFJlZik7XG4gICAgfVxuXG4gICAgaGFuZGxlRWxlbWVudEVudGVyKCkge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gIXRoaXMuaXNPdmVyZmxvd247XG4gICAgfVxuXG4gICAgaGlkZVRvb2x0aXAoKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlTXV0YXRpb25PYnNlcnZlcigpOiBPYnNlcnZhYmxlPE11dGF0aW9uUmVjb3JkW10+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgbXV0YXRpb25PYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKFxuICAgICAgICAgICAgICAgIChtdXRhdGlvbnMpID0+IG9ic2VydmVyLm5leHQobXV0YXRpb25zKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnBhcmVudCwge1xuICAgICAgICAgICAgICAgIGNoYXJhY3RlckRhdGE6IHRydWUsIGF0dHJpYnV0ZXM6IGZhbHNlLCBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6IHRydWVcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gKCkgPT4gbXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90aXRsZS90aXRsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakUsT0FBTyxFQUVILFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxFQUNWLElBQUksRUFDSixNQUFNLEVBQ04sTUFBTSxFQUNOLFFBQVEsRUFDUixnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFtQixNQUFNLHlCQUF5QixDQUFDO0FBQzlFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVGLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVk5QyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsaUJBQWlCO0lBQ3BELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7SUFDbEgsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVB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QUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl6RCxlQUFlO3NCQUR0QixZQUFZO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgT3ZlcmxheSwgU2Nyb2xsRGlzcGF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdCxcbiAgICBJbmplY3QsXG4gICAgTmdab25lLFxuICAgIE9wdGlvbmFsLFxuICAgIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLQlFfVElUTEVfVEVYVF9SRUYsIEticVRpdGxlVGV4dFJlZiB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9jb3JlJztcbmltcG9ydCB7IEtCUV9UT09MVElQX1NDUk9MTF9TVFJBVEVHWSwgS2JxVG9vbHRpcFRyaWdnZXIgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ticS10aXRsZV0nLFxuICAgIGV4cG9ydEFzOiAna2JxVGl0bGUnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhtb3VzZWVudGVyKSc6ICdoYW5kbGVFbGVtZW50RW50ZXIoKScsXG4gICAgICAgICcobW91c2VsZWF2ZSknOiAnaGlkZVRvb2x0aXAoKScsXG4gICAgICAgICcod2luZG93OnJlc2l6ZSknOiAncmVzaXplU3RyZWFtLm5leHQoJGV2ZW50KSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticVRpdGxlRGlyZWN0aXZlIGV4dGVuZHMgS2JxVG9vbHRpcFRyaWdnZXIgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBnZXQgaXNPdmVyZmxvd24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhcmVudC5jbGllbnRXaWR0aCA8IHRoaXMuY2hpbGQuc2Nyb2xsV2lkdGggfHwgdGhpcy5wYXJlbnQuY2xpZW50SGVpZ2h0IDwgdGhpcy5jaGlsZC5zY3JvbGxIZWlnaHQ7XG4gICAgfVxuXG4gICAgZ2V0IHZpZXdWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gKHRoaXMucGFyZW50LnRleHRDb250ZW50IHx8ICcnKS50cmltKCk7XG4gICAgfVxuXG4gICAgZ2V0IHBhcmVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhcmVudENvbnRhaW5lci5uYXRpdmVFbGVtZW50IHx8IHRoaXMucGFyZW50Q29udGFpbmVyO1xuICAgIH1cblxuICAgIGdldCBjaGlsZCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQgfHwgdGhpcy5jaGlsZENvbnRhaW5lcjtcbiAgICB9XG5cbiAgICByZWFkb25seSByZXNpemVTdHJlYW0gPSBuZXcgU3ViamVjdDxFdmVudD4oKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVib3VuY2VJbnRlcnZhbDogbnVtYmVyID0gMTAwO1xuXG4gICAgcHJpdmF0ZSByZXNpemVTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG4gICAgcHJpdmF0ZSBtdXRhdGlvblN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcbiAgICBwcml2YXRlIGZvY3VzTW9uaXRvclN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICAgIEBDb250ZW50Q2hpbGQoJ2ticVRpdGxlVGV4dCcsIHsgZGVzY2VuZGFudHM6IHRydWUsIHN0YXRpYzogdHJ1ZSB9KVxuICAgIHByaXZhdGUgY2hpbGRDb250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgICBAQ29udGVudENoaWxkKCdrYnFUaXRsZUNvbnRhaW5lcicpXG4gICAgcHJpdmF0ZSBwYXJlbnRDb250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHNjcm9sbERpc3BhdGNoZXI6IFNjcm9sbERpc3BhdGNoZXIsXG4gICAgICAgIGhvc3RWaWV3OiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgICAgICBASW5qZWN0KEtCUV9UT09MVElQX1NDUk9MTF9TVFJBVEVHWSkgc2Nyb2xsU3RyYXRlZ3ksXG4gICAgICAgIEBPcHRpb25hbCgpIGRpcmVjdGlvbjogRGlyZWN0aW9uYWxpdHksXG4gICAgICAgIEBIb3N0KCkgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfVElUTEVfVEVYVF9SRUYpIHByaXZhdGUgY29tcG9uZW50SW5zdGFuY2U/OiBLYnFUaXRsZVRleHRSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIob3ZlcmxheSwgZWxlbWVudFJlZiwgbmdab25lLCBzY3JvbGxEaXNwYXRjaGVyLCBob3N0Vmlldywgc2Nyb2xsU3RyYXRlZ3ksIGRpcmVjdGlvbik7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLnBhcmVudENvbnRhaW5lciA9IHRoaXMucGFyZW50Q29udGFpbmVyIHx8IHRoaXMuY29tcG9uZW50SW5zdGFuY2U/LnBhcmVudFRleHRFbGVtZW50IHx8IHRoaXMuZWxlbWVudFJlZjtcbiAgICAgICAgdGhpcy5jaGlsZENvbnRhaW5lciA9IHRoaXMuY2hpbGRDb250YWluZXIgfHwgdGhpcy5jb21wb25lbnRJbnN0YW5jZT8udGV4dEVsZW1lbnQgfHwgdGhpcy5lbGVtZW50UmVmO1xuICAgICAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLnZpZXdWYWx1ZTtcblxuICAgICAgICB0aGlzLnJlc2l6ZVN1YnNjcmlwdGlvbiA9IHRoaXMucmVzaXplU3RyZWFtXG4gICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZUludGVydmFsKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5kaXNhYmxlZCA9ICF0aGlzLmlzT3ZlcmZsb3duKTtcblxuICAgICAgICB0aGlzLm11dGF0aW9uU3Vic2NyaXB0aW9uID0gdGhpcy5jcmVhdGVNdXRhdGlvbk9ic2VydmVyKClcbiAgICAgICAgICAgIC5waXBlKHRocm90dGxlVGltZSh0aGlzLmRlYm91bmNlSW50ZXJ2YWwpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9ICF0aGlzLmlzT3ZlcmZsb3duO1xuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudCA9IHRoaXMudmlld1ZhbHVlO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5mb2N1c01vbml0b3JTdWJzY3JpcHRpb24gPSB0aGlzLmZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuZWxlbWVudFJlZikuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKG9yaWdpbikgPT4gKG9yaWdpbiA9PT0gJ2tleWJvYXJkJylcbiAgICAgICAgICAgICAgICA/IHRoaXMuaGFuZGxlRWxlbWVudEVudGVyKCkgOiB0aGlzLmhpZGVUb29sdGlwKClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcblxuICAgICAgICB0aGlzLnJlc2l6ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLm11dGF0aW9uU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuZm9jdXNNb25pdG9yU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuZWxlbWVudFJlZik7XG4gICAgfVxuXG4gICAgaGFuZGxlRWxlbWVudEVudGVyKCkge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gIXRoaXMuaXNPdmVyZmxvd247XG4gICAgfVxuXG4gICAgaGlkZVRvb2x0aXAoKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlTXV0YXRpb25PYnNlcnZlcigpOiBPYnNlcnZhYmxlPE11dGF0aW9uUmVjb3JkW10+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgbXV0YXRpb25PYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKFxuICAgICAgICAgICAgICAgIChtdXRhdGlvbnMpID0+IG9ic2VydmVyLm5leHQobXV0YXRpb25zKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnBhcmVudCwge1xuICAgICAgICAgICAgICAgIGNoYXJhY3RlckRhdGE6IHRydWUsIGF0dHJpYnV0ZXM6IGZhbHNlLCBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6IHRydWVcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gKCkgPT4gbXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -6,7 +6,7 @@ import { KbqButtonModule } from '@koobiq/components/button';
6
6
  import { KbqIconModule } from '@koobiq/components/icon';
7
7
  import { KbqToastContainerComponent } from './toast-container.component';
8
8
  import { KbqToastCloseButton, KbqToastComponent } from './toast.component';
9
- import { KBQ_TOAST_FACTORY } from './toast.service';
9
+ import { KBQ_TOAST_FACTORY, KbqToastService } from './toast.service';
10
10
  import * as i0 from "@angular/core";
11
11
  export class KbqToastModule {
12
12
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -19,7 +19,10 @@ export class KbqToastModule {
19
19
  KbqButtonModule], exports: [KbqToastComponent,
20
20
  KbqToastContainerComponent,
21
21
  KbqToastCloseButton] }); }
22
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqToastModule, providers: [{ provide: KBQ_TOAST_FACTORY, useFactory: (() => KbqToastComponent) }], imports: [CommonModule,
22
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqToastModule, providers: [
23
+ KbqToastService,
24
+ { provide: KBQ_TOAST_FACTORY, useFactory: (() => KbqToastComponent) }
25
+ ], imports: [CommonModule,
23
26
  OverlayModule,
24
27
  A11yModule,
25
28
  KbqIconModule,
@@ -45,7 +48,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
45
48
  KbqToastContainerComponent,
46
49
  KbqToastCloseButton
47
50
  ],
48
- providers: [{ provide: KBQ_TOAST_FACTORY, useFactory: (() => KbqToastComponent) }]
51
+ providers: [
52
+ KbqToastService,
53
+ { provide: KBQ_TOAST_FACTORY, useFactory: (() => KbqToastComponent) }
54
+ ]
49
55
  }]
50
56
  }] });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90b2FzdC90b2FzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQXVCcEQsTUFBTSxPQUFPLGNBQWM7aUlBQWQsY0FBYztrSUFBZCxjQUFjLGlCQWxCbkIsaUJBQWlCO1lBQ2pCLDBCQUEwQjtZQUMxQixtQkFBbUIsYUFHbkIsWUFBWTtZQUNaLGFBQWE7WUFDYixVQUFVO1lBQ1YsYUFBYTtZQUNiLGVBQWUsYUFHZixpQkFBaUI7WUFDakIsMEJBQTBCO1lBQzFCLG1CQUFtQjtrSUFJZCxjQUFjLGFBRlosQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEdBQUUsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUEsRUFBRSxDQUFDLFlBWDVFLFlBQVk7WUFDWixhQUFhO1lBQ2IsVUFBVTtZQUNWLGFBQWE7WUFDYixlQUFlOzsyRkFTVixjQUFjO2tCQXBCMUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsaUJBQWlCO3dCQUNqQiwwQkFBMEI7d0JBQzFCLG1CQUFtQjtxQkFDdEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixVQUFVO3dCQUNWLGFBQWE7d0JBQ2IsZUFBZTtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGlCQUFpQjt3QkFDakIsMEJBQTBCO3dCQUMxQixtQkFBbUI7cUJBQ3RCO29CQUNELFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsR0FBRSxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQSxFQUFFLENBQUM7aUJBQ25GIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEticUJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgS2JxSWNvbk1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9pY29uJztcblxuaW1wb3J0IHsgS2JxVG9hc3RDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3RvYXN0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2JxVG9hc3RDbG9zZUJ1dHRvbiwgS2JxVG9hc3RDb21wb25lbnQgfSBmcm9tICcuL3RvYXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBLQlFfVE9BU1RfRkFDVE9SWSB9IGZyb20gJy4vdG9hc3Quc2VydmljZSc7XG5cblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgS2JxVG9hc3RDb21wb25lbnQsXG4gICAgICAgIEticVRvYXN0Q29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgICBLYnFUb2FzdENsb3NlQnV0dG9uXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgT3ZlcmxheU1vZHVsZSxcbiAgICAgICAgQTExeU1vZHVsZSxcbiAgICAgICAgS2JxSWNvbk1vZHVsZSxcbiAgICAgICAgS2JxQnV0dG9uTW9kdWxlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEticVRvYXN0Q29tcG9uZW50LFxuICAgICAgICBLYnFUb2FzdENvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgS2JxVG9hc3RDbG9zZUJ1dHRvblxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBLQlFfVE9BU1RfRkFDVE9SWSwgdXNlRmFjdG9yeTogKCkgPT4gS2JxVG9hc3RDb21wb25lbnQgfV1cbn0pXG5leHBvcnQgY2xhc3MgS2JxVG9hc3RNb2R1bGUge31cbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90b2FzdC90b2FzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUEwQnJFLE1BQU0sT0FBTyxjQUFjO2lJQUFkLGNBQWM7a0lBQWQsY0FBYyxpQkFyQm5CLGlCQUFpQjtZQUNqQiwwQkFBMEI7WUFDMUIsbUJBQW1CLGFBR25CLFlBQVk7WUFDWixhQUFhO1lBQ2IsVUFBVTtZQUNWLGFBQWE7WUFDYixlQUFlLGFBR2YsaUJBQWlCO1lBQ2pCLDBCQUEwQjtZQUMxQixtQkFBbUI7a0lBT2QsY0FBYyxhQUxaO1lBQ1AsZUFBZTtZQUNmLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsR0FBRSxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQSxFQUFFO1NBQ3RFLFlBZEcsWUFBWTtZQUNaLGFBQWE7WUFDYixVQUFVO1lBQ1YsYUFBYTtZQUNiLGVBQWU7OzJGQVlWLGNBQWM7a0JBdkIxQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVixpQkFBaUI7d0JBQ2pCLDBCQUEwQjt3QkFDMUIsbUJBQW1CO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixhQUFhO3dCQUNiLFVBQVU7d0JBQ1YsYUFBYTt3QkFDYixlQUFlO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsaUJBQWlCO3dCQUNqQiwwQkFBMEI7d0JBQzFCLG1CQUFtQjtxQkFDdEI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2YsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxHQUFFLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFBLEVBQUU7cUJBQ3RFO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEticUJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgS2JxSWNvbk1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9pY29uJztcblxuaW1wb3J0IHsgS2JxVG9hc3RDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3RvYXN0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2JxVG9hc3RDbG9zZUJ1dHRvbiwgS2JxVG9hc3RDb21wb25lbnQgfSBmcm9tICcuL3RvYXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBLQlFfVE9BU1RfRkFDVE9SWSwgS2JxVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi90b2FzdC5zZXJ2aWNlJztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBLYnFUb2FzdENvbXBvbmVudCxcbiAgICAgICAgS2JxVG9hc3RDb250YWluZXJDb21wb25lbnQsXG4gICAgICAgIEticVRvYXN0Q2xvc2VCdXR0b25cbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBPdmVybGF5TW9kdWxlLFxuICAgICAgICBBMTF5TW9kdWxlLFxuICAgICAgICBLYnFJY29uTW9kdWxlLFxuICAgICAgICBLYnFCdXR0b25Nb2R1bGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgS2JxVG9hc3RDb21wb25lbnQsXG4gICAgICAgIEticVRvYXN0Q29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgICBLYnFUb2FzdENsb3NlQnV0dG9uXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgS2JxVG9hc3RTZXJ2aWNlLFxuICAgICAgICB7IHByb3ZpZGU6IEtCUV9UT0FTVF9GQUNUT1JZLCB1c2VGYWN0b3J5OiAoKSA9PiBLYnFUb2FzdENvbXBvbmVudCB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBLYnFUb2FzdE1vZHVsZSB7fVxuIl19
@@ -105,7 +105,7 @@ export class KbqToggleComponent extends KbqToggleMixinBase {
105
105
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqToggleComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
106
106
  /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqToggleComponent, selector: "kbq-toggle", inputs: { color: "color", tabIndex: "tabIndex", big: "big", labelPosition: "labelPosition", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], id: "id", name: "name", value: "value", disabled: "disabled", checked: "checked" }, outputs: { change: "change" }, host: { properties: { "class.kbq-toggle_big": "big", "id": "id", "attr.id": "id", "class.kbq-disabled": "disabled", "class.kbq-active": "checked" }, classAttribute: "kbq-toggle" }, providers: [{
107
107
  provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => KbqToggleComponent)), multi: true
108
- }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], exportAs: ["mcToggle"], usesInheritance: true, ngImport: i0, template: "<label\n [attr.for]=\"inputId\"\n class=\"kbq-toggle-layout\"\n [class.left]=\"labelPosition === 'left'\">\n\n <input #input\n type=\"checkbox\"\n role=\"switch\"\n class=\"kbq-toggle-input cdk-visually-hidden\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-checked]=\"getAriaChecked()\"\n (click)=\"onInputClick($event)\"\n (change)=\"onChangeEvent($event)\"/>\n <div class=\"kbq-toggle-bar\">\n <div class=\"kbq-toggle__circle\" [@switch]=\"checked\"></div>\n </div>\n\n <div class=\"kbq-toggle__content\"\n [class.left]=\"labelPosition === 'left'\"\n [class.right]=\"labelPosition === 'right'\">\n <span class=\"kbq-toggle-label\" (cdkObserveContent)=\"onLabelTextChange()\">\n <ng-content></ng-content>\n </span>\n\n <ng-content select=\"kbq-hint\"></ng-content>\n </div>\n</label>\n", styles: [".kbq-toggle{display:inline-block}.kbq-toggle .kbq-toggle__circle{position:absolute;border-radius:50%;transform:translate(-1px);height:10px;width:10px}.kbq-toggle .kbq-toggle-layout{display:flex;flex-direction:row;align-items:flex-start;cursor:inherit}.kbq-toggle .kbq-toggle-layout.left{flex-direction:row-reverse}.kbq-toggle .kbq-toggle-bar{position:relative;box-sizing:border-box;display:flex;align-items:center;border-width:1px;border-style:solid;border-radius:8px;height:var(--kbq-toggle-size-normal-height, 16px);width:var(--kbq-toggle-size-normal-width, 28px)}.kbq-toggle .kbq-hint{margin-top:var(--kbq-toggle-size-normal-vertical-content-padding, 8px)}.kbq-toggle__content{display:flex;flex-direction:column;flex:1}.kbq-toggle__content.left{margin-right:var(--kbq-toggle-size-normal-horizontal-content-padding, 8px)}.kbq-toggle__content.right{margin-left:var(--kbq-toggle-size-normal-horizontal-content-padding, 8px)}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar{margin-top:2px;height:var(--kbq-toggle-size-big-height, 16px);width:var(--kbq-toggle-size-big-width, 28px)}.kbq-toggle.kbq-toggle_big .kbq-hint{margin-top:var(--kbq-toggle-size-big-vertical-content-padding, 8px)}.kbq-toggle:not(.kbq-disabled){cursor:pointer}\n"], animations: [
108
+ }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], exportAs: ["kbqToggle"], usesInheritance: true, ngImport: i0, template: "<label\n [attr.for]=\"inputId\"\n class=\"kbq-toggle-layout\"\n [class.left]=\"labelPosition === 'left'\">\n\n <input #input\n type=\"checkbox\"\n role=\"switch\"\n class=\"kbq-toggle-input cdk-visually-hidden\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-checked]=\"getAriaChecked()\"\n (click)=\"onInputClick($event)\"\n (change)=\"onChangeEvent($event)\"/>\n <div class=\"kbq-toggle-bar-container\">\n <div class=\"kbq-toggle-bar\">\n <div class=\"kbq-toggle__circle\" [@switch]=\"checked\"></div>\n </div>\n </div>\n\n <div class=\"kbq-toggle__content\"\n [class.left]=\"labelPosition === 'left'\"\n [class.right]=\"labelPosition === 'right'\">\n <span class=\"kbq-toggle-label\" (cdkObserveContent)=\"onLabelTextChange()\">\n <ng-content></ng-content>\n </span>\n\n <ng-content select=\"kbq-hint\"></ng-content>\n </div>\n</label>\n", styles: [".kbq-toggle{display:inline-block}.kbq-toggle .kbq-toggle__circle{position:absolute;border-radius:50%;transform:translate(-1px);height:10px;width:10px}.kbq-toggle .kbq-toggle-layout{display:flex;flex-direction:row;align-items:flex-start;cursor:inherit}.kbq-toggle .kbq-toggle-layout.left{flex-direction:row-reverse}.kbq-toggle .kbq-toggle-bar-container{display:flex;align-items:center}.kbq-toggle .kbq-toggle-bar{position:relative;box-sizing:border-box;display:flex;align-items:center;border-width:1px;border-style:solid;border-radius:8px;height:var(--kbq-toggle-size-normal-height, 16px);width:var(--kbq-toggle-size-normal-width, 28px)}.kbq-toggle .kbq-hint{margin-top:var(--kbq-toggle-size-normal-vertical-content-padding, 8px)}.kbq-toggle__content{display:flex;flex-direction:column;flex:1}.kbq-toggle__content.left{margin-right:var(--kbq-toggle-size-normal-horizontal-content-padding, 8px)}.kbq-toggle__content.right{margin-left:var(--kbq-toggle-size-normal-horizontal-content-padding, 8px)}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar{height:var(--kbq-toggle-size-big-height, 16px);width:var(--kbq-toggle-size-big-width, 28px)}.kbq-toggle.kbq-toggle_big .kbq-hint{margin-top:var(--kbq-toggle-size-big-vertical-content-padding, 8px)}.kbq-toggle:not(.kbq-disabled){cursor:pointer}\n"], animations: [
109
109
  trigger('switch', [
110
110
  state('true', style({ left: 'calc(100% - 11px)' })),
111
111
  state('false', style({ left: '3px' })),
@@ -115,7 +115,7 @@ export class KbqToggleComponent extends KbqToggleMixinBase {
115
115
  }
116
116
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqToggleComponent, decorators: [{
117
117
  type: Component,
118
- args: [{ selector: 'kbq-toggle', exportAs: 'mcToggle', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['color', 'tabIndex'], host: {
118
+ args: [{ selector: 'kbq-toggle', exportAs: 'kbqToggle', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['color', 'tabIndex'], host: {
119
119
  class: 'kbq-toggle',
120
120
  '[class.kbq-toggle_big]': 'big',
121
121
  '[id]': 'id',
@@ -130,7 +130,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
130
130
  ])
131
131
  ], providers: [{
132
132
  provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => KbqToggleComponent)), multi: true
133
- }], template: "<label\n [attr.for]=\"inputId\"\n class=\"kbq-toggle-layout\"\n [class.left]=\"labelPosition === 'left'\">\n\n <input #input\n type=\"checkbox\"\n role=\"switch\"\n class=\"kbq-toggle-input cdk-visually-hidden\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-checked]=\"getAriaChecked()\"\n (click)=\"onInputClick($event)\"\n (change)=\"onChangeEvent($event)\"/>\n <div class=\"kbq-toggle-bar\">\n <div class=\"kbq-toggle__circle\" [@switch]=\"checked\"></div>\n </div>\n\n <div class=\"kbq-toggle__content\"\n [class.left]=\"labelPosition === 'left'\"\n [class.right]=\"labelPosition === 'right'\">\n <span class=\"kbq-toggle-label\" (cdkObserveContent)=\"onLabelTextChange()\">\n <ng-content></ng-content>\n </span>\n\n <ng-content select=\"kbq-hint\"></ng-content>\n </div>\n</label>\n", styles: [".kbq-toggle{display:inline-block}.kbq-toggle .kbq-toggle__circle{position:absolute;border-radius:50%;transform:translate(-1px);height:10px;width:10px}.kbq-toggle .kbq-toggle-layout{display:flex;flex-direction:row;align-items:flex-start;cursor:inherit}.kbq-toggle .kbq-toggle-layout.left{flex-direction:row-reverse}.kbq-toggle .kbq-toggle-bar{position:relative;box-sizing:border-box;display:flex;align-items:center;border-width:1px;border-style:solid;border-radius:8px;height:var(--kbq-toggle-size-normal-height, 16px);width:var(--kbq-toggle-size-normal-width, 28px)}.kbq-toggle .kbq-hint{margin-top:var(--kbq-toggle-size-normal-vertical-content-padding, 8px)}.kbq-toggle__content{display:flex;flex-direction:column;flex:1}.kbq-toggle__content.left{margin-right:var(--kbq-toggle-size-normal-horizontal-content-padding, 8px)}.kbq-toggle__content.right{margin-left:var(--kbq-toggle-size-normal-horizontal-content-padding, 8px)}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar{margin-top:2px;height:var(--kbq-toggle-size-big-height, 16px);width:var(--kbq-toggle-size-big-width, 28px)}.kbq-toggle.kbq-toggle_big .kbq-hint{margin-top:var(--kbq-toggle-size-big-vertical-content-padding, 8px)}.kbq-toggle:not(.kbq-disabled){cursor:pointer}\n"] }]
133
+ }], template: "<label\n [attr.for]=\"inputId\"\n class=\"kbq-toggle-layout\"\n [class.left]=\"labelPosition === 'left'\">\n\n <input #input\n type=\"checkbox\"\n role=\"switch\"\n class=\"kbq-toggle-input cdk-visually-hidden\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-checked]=\"getAriaChecked()\"\n (click)=\"onInputClick($event)\"\n (change)=\"onChangeEvent($event)\"/>\n <div class=\"kbq-toggle-bar-container\">\n <div class=\"kbq-toggle-bar\">\n <div class=\"kbq-toggle__circle\" [@switch]=\"checked\"></div>\n </div>\n </div>\n\n <div class=\"kbq-toggle__content\"\n [class.left]=\"labelPosition === 'left'\"\n [class.right]=\"labelPosition === 'right'\">\n <span class=\"kbq-toggle-label\" (cdkObserveContent)=\"onLabelTextChange()\">\n <ng-content></ng-content>\n </span>\n\n <ng-content select=\"kbq-hint\"></ng-content>\n </div>\n</label>\n", styles: [".kbq-toggle{display:inline-block}.kbq-toggle .kbq-toggle__circle{position:absolute;border-radius:50%;transform:translate(-1px);height:10px;width:10px}.kbq-toggle .kbq-toggle-layout{display:flex;flex-direction:row;align-items:flex-start;cursor:inherit}.kbq-toggle .kbq-toggle-layout.left{flex-direction:row-reverse}.kbq-toggle .kbq-toggle-bar-container{display:flex;align-items:center}.kbq-toggle .kbq-toggle-bar{position:relative;box-sizing:border-box;display:flex;align-items:center;border-width:1px;border-style:solid;border-radius:8px;height:var(--kbq-toggle-size-normal-height, 16px);width:var(--kbq-toggle-size-normal-width, 28px)}.kbq-toggle .kbq-hint{margin-top:var(--kbq-toggle-size-normal-vertical-content-padding, 8px)}.kbq-toggle__content{display:flex;flex-direction:column;flex:1}.kbq-toggle__content.left{margin-right:var(--kbq-toggle-size-normal-horizontal-content-padding, 8px)}.kbq-toggle__content.right{margin-left:var(--kbq-toggle-size-normal-horizontal-content-padding, 8px)}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar{height:var(--kbq-toggle-size-big-height, 16px);width:var(--kbq-toggle-size-big-width, 28px)}.kbq-toggle.kbq-toggle_big .kbq-hint{margin-top:var(--kbq-toggle-size-big-vertical-content-padding, 8px)}.kbq-toggle:not(.kbq-disabled){cursor:pointer}\n"] }]
134
134
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { big: [{
135
135
  type: Input
136
136
  }], inputElement: [{
@@ -157,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
157
157
  }], change: [{
158
158
  type: Output
159
159
  }] } });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdG9nZ2xlL3RvZ2dsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQU9ILFVBQVUsRUFDVixhQUFhLEVBQ2IsYUFBYSxFQUNiLGtCQUFrQixFQUNyQixNQUFNLHlCQUF5QixDQUFDOzs7QUFHakMsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBSXJCLG9CQUFvQjtBQUNwQixNQUFNLE9BQU8sYUFBYTtJQUN0QixZQUFtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQztDQUNoRDtBQUVELG9CQUFvQjtBQUNwQixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FJSixhQUFhLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBRTdHLE1BQU0sT0FBTyxlQUFlO0NBRzNCO0FBNkJELE1BQU0sT0FBTyxrQkFB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c0JBQVYsS0FBSztnQkFNRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUdGLFFBQVE7c0JBRFgsS0FBSztnQkFtQkYsT0FBTztzQkFEVixLQUFLO2dCQVVhLE1BQU07c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQ2FuQ29sb3IsXG4gICAgQ2FuQ29sb3JDdG9yLFxuICAgIENhbkRpc2FibGUsXG4gICAgQ2FuRGlzYWJsZUN0b3IsXG4gICAgSGFzVGFiSW5kZXgsXG4gICAgSGFzVGFiSW5kZXhDdG9yLFxuICAgIG1peGluQ29sb3IsXG4gICAgbWl4aW5EaXNhYmxlZCxcbiAgICBtaXhpblRhYkluZGV4LFxuICAgIEticUNvbXBvbmVudENvbG9yc1xufSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvY29yZSc7XG5cblxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbnR5cGUgVG9nZ2xlTGFiZWxQb3NpdGlvblR5cGUgPSAnbGVmdCcgfCAncmlnaHQnO1xuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGNsYXNzIEticVRvZ2dsZUJhc2Uge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxufVxuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGNvbnN0IEticVRvZ2dsZU1peGluQmFzZTpcbiAgICBIYXNUYWJJbmRleEN0b3IgJlxuICAgIENhbkRpc2FibGVDdG9yICZcbiAgICBDYW5Db2xvckN0b3IgJlxuICAgIHR5cGVvZiBLYnFUb2dnbGVCYXNlID0gbWl4aW5UYWJJbmRleChtaXhpbkNvbG9yKG1peGluRGlzYWJsZWQoS2JxVG9nZ2xlQmFzZSksIEticUNvbXBvbmVudENvbG9ycy5UaGVtZSkpO1xuXG5leHBvcnQgY2xhc3MgS2JxVG9nZ2xlQ2hhbmdlIHtcbiAgICBzb3VyY2U6IEticVRvZ2dsZUNvbXBvbmVudDtcbiAgICBjaGVja2VkOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ticS10b2dnbGUnLFxuICAgIGV4cG9ydEFzOiAnbWNUb2dnbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b2dnbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RvZ2dsZS5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbnB1dHM6IFsnY29sb3InLCAndGFiSW5kZXgnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLXRvZ2dsZScsXG4gICAgICAgICdbY2xhc3Mua2JxLXRvZ2dsZV9iaWddJzogJ2JpZycsXG4gICAgICAgICdbaWRdJzogJ2lkJyxcbiAgICAgICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gICAgICAgICdbY2xhc3Mua2JxLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgICAgICdbY2xhc3Mua2JxLWFjdGl2ZV0nOiAnY2hlY2tlZCdcbiAgICB9LFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignc3dpdGNoJywgW1xuICAgICAgICAgICAgc3RhdGUoJ3RydWUnICwgc3R5bGUoeyBsZWZ0OiAnY2FsYygxMDAlIC0gMTFweCknIH0pKSxcbiAgICAgICAgICAgIHN0YXRlKCdmYWxzZScsIHN0eWxlKHsgbGVmdDogJzNweCcgfSkpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbigndHJ1ZSA8PT4gZmFsc2UnLCBhbmltYXRlKCcxNTBtcycpKVxuICAgICAgICBdKVxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbe1xuICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gS2JxVG9nZ2xlQ29tcG9uZW50KSwgbXVsdGk6IHRydWVcbiAgICB9XVxufSlcbmV4cG9ydCBjbGFzcyBLYnFUb2dnbGVDb21wb25lbnQgZXh0ZW5kcyBLYnFUb2dnbGVNaXhpbkJhc2VcbiAgICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBDYW5Db2xvciwgQ2FuRGlzYWJsZSwgSGFzVGFiSW5kZXgge1xuXG4gICAgQElucHV0KCkgYmlnOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiBmYWxzZSB9KSBpbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgICBASW5wdXQoKSBsYWJlbFBvc2l0aW9uOiBUb2dnbGVMYWJlbFBvc2l0aW9uVHlwZSA9ICdyaWdodCc7XG5cbiAgICBASW5wdXQoJ2FyaWEtbGFiZWwnKSBhcmlhTGFiZWw6IHN0cmluZyA9ICcnO1xuICAgIEBJbnB1dCgnYXJpYS1sYWJlbGxlZGJ5JykgYXJpYUxhYmVsbGVkYnk6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZztcblxuICAgIGdldCBpbnB1dElkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmlkIHx8IHRoaXMudW5pcXVlSWR9LWlucHV0YDtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBkaXNhYmxlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICAgIH1cblxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogYW55KSB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5fZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBnZXQgY2hlY2tlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NoZWNrZWQ7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgY2hlY2tlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuX2NoZWNrZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2NoZWNrZWQgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY2hlY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IGNoYW5nZTogRXZlbnRFbWl0dGVyPEticVRvZ2dsZUNoYW5nZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEticVRvZ2dsZUNoYW5nZT4oKTtcblxuICAgIHByaXZhdGUgdW5pcXVlSWQ6IHN0cmluZyA9IGBrYnEtdG9nZ2xlLSR7KytuZXh0VW5pcXVlSWR9YDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBfZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmKTtcblxuICAgICAgICB0aGlzLmlkID0gIHRoaXMudW5pcXVlSWQ7XG5cbiAgICAgICAgdGhpcy5fZm9jdXNNb25pdG9yLm1vbml0b3IodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRydWUpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb2N1c01vbml0b3IuZm9jdXNWaWEodGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2tleWJvYXJkJyk7XG4gICAgfVxuXG4gICAgZ2V0QXJpYUNoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoZWNrZWQ7XG4gICAgfVxuXG4gICAgb25DaGFuZ2VFdmVudChldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVNb2RlbFZhbHVlKCk7XG4gICAgICAgIHRoaXMuZW1pdENoYW5nZUV2ZW50KCk7XG4gICAgfVxuXG4gICAgb25MYWJlbFRleHRDaGFuZ2UoKSB7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIG9uSW5wdXRDbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5jaGVja2VkID0gISF2YWx1ZTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1lbXB0eVxuICAgIHByaXZhdGUgb25Ub3VjaGVkQ2FsbGJhY2sgPSAoKSA9PiB7fTtcblxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1lbXB0eVxuICAgIHByaXZhdGUgb25DaGFuZ2VDYWxsYmFjayA9IChfOiBhbnkpID0+IHt9O1xuXG4gICAgcHJpdmF0ZSB1cGRhdGVNb2RlbFZhbHVlKCkge1xuICAgICAgICB0aGlzLl9jaGVja2VkID0gIXRoaXMuY2hlY2tlZDtcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjaygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZW1pdENoYW5nZUV2ZW50KCkge1xuICAgICAgICBjb25zdCBldmVudCA9IG5ldyBLYnFUb2dnbGVDaGFuZ2UoKTtcbiAgICAgICAgZXZlbnQuc291cmNlID0gdGhpcztcbiAgICAgICAgZXZlbnQuY2hlY2tlZCA9IHRoaXMuY2hlY2tlZDtcblxuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodGhpcy5jaGVja2VkKTtcbiAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdChldmVudCk7XG4gICAgfVxufVxuIiwiPGxhYmVsXG4gICAgW2F0dHIuZm9yXT1cImlucHV0SWRcIlxuICAgIGNsYXNzPVwia2JxLXRvZ2dsZS1sYXlvdXRcIlxuICAgIFtjbGFzcy5sZWZ0XT1cImxhYmVsUG9zaXRpb24gPT09ICdsZWZ0J1wiPlxuXG4gICAgPGlucHV0ICNpbnB1dFxuICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICByb2xlPVwic3dpdGNoXCJcbiAgICAgICAgICAgY2xhc3M9XCJrYnEtdG9nZ2xlLWlucHV0IGNkay12aXN1YWxseS1oaWRkZW5cIlxuICAgICAgICAgICBbaWRdPVwiaW5wdXRJZFwiXG4gICAgICAgICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxuICAgICAgICAgICBbYXR0ci52YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICAgICAgIFt0YWJJbmRleF09XCJ0YWJJbmRleFwiXG4gICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsIHx8IG51bGxcIlxuICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkYnlcIlxuICAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiZ2V0QXJpYUNoZWNrZWQoKVwiXG4gICAgICAgICAgIChjbGljayk9XCJvbklucHV0Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgIChjaGFuZ2UpPVwib25DaGFuZ2VFdmVudCgkZXZlbnQpXCIvPlxuICAgIDxkaXYgY2xhc3M9XCJrYnEtdG9nZ2xlLWJhclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwia2JxLXRvZ2dsZV9fY2lyY2xlXCIgW0Bzd2l0Y2hdPVwiY2hlY2tlZFwiPjwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImticS10b2dnbGVfX2NvbnRlbnRcIlxuICAgICAgICAgW2NsYXNzLmxlZnRdPVwibGFiZWxQb3NpdGlvbiA9PT0gJ2xlZnQnXCJcbiAgICAgICAgIFtjbGFzcy5yaWdodF09XCJsYWJlbFBvc2l0aW9uID09PSAncmlnaHQnXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwia2JxLXRvZ2dsZS1sYWJlbFwiIChjZGtPYnNlcnZlQ29udGVudCk9XCJvbkxhYmVsVGV4dENoYW5nZSgpXCI+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJrYnEtaGludFwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbjwvbGFiZWw+XG4iXX0=
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdG9nZ2xlL3RvZ2dsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQU9ILFVBQVUsRUFDVixhQUFhLEVBQ2IsYUFBYSxFQUNiLGtCQUFrQixFQUNyQixNQUFNLHlCQUF5QixDQUFDOzs7QUFHakMsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBSXJCLG9CQUFvQjtBQUNwQixNQUFNLE9BQU8sYUFBYTtJQUN0QixZQUFtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQztDQUNoRDtBQUVELG9CQUFvQjtBQUNwQixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FJSixhQUFhLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBRTdHLE1BQU0sT0FBTyxlQUFlO0NBRzNCO0FBNkJELE1BQU0sT0FBTyxrQkFB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c0JBQVYsS0FBSztnQkFNRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUdGLFFBQVE7c0JBRFgsS0FBSztnQkFtQkYsT0FBTztzQkFEVixLQUFLO2dCQVVhLE1BQU07c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQ2FuQ29sb3IsXG4gICAgQ2FuQ29sb3JDdG9yLFxuICAgIENhbkRpc2FibGUsXG4gICAgQ2FuRGlzYWJsZUN0b3IsXG4gICAgSGFzVGFiSW5kZXgsXG4gICAgSGFzVGFiSW5kZXhDdG9yLFxuICAgIG1peGluQ29sb3IsXG4gICAgbWl4aW5EaXNhYmxlZCxcbiAgICBtaXhpblRhYkluZGV4LFxuICAgIEticUNvbXBvbmVudENvbG9yc1xufSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvY29yZSc7XG5cblxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbnR5cGUgVG9nZ2xlTGFiZWxQb3NpdGlvblR5cGUgPSAnbGVmdCcgfCAncmlnaHQnO1xuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGNsYXNzIEticVRvZ2dsZUJhc2Uge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxufVxuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGNvbnN0IEticVRvZ2dsZU1peGluQmFzZTpcbiAgICBIYXNUYWJJbmRleEN0b3IgJlxuICAgIENhbkRpc2FibGVDdG9yICZcbiAgICBDYW5Db2xvckN0b3IgJlxuICAgIHR5cGVvZiBLYnFUb2dnbGVCYXNlID0gbWl4aW5UYWJJbmRleChtaXhpbkNvbG9yKG1peGluRGlzYWJsZWQoS2JxVG9nZ2xlQmFzZSksIEticUNvbXBvbmVudENvbG9ycy5UaGVtZSkpO1xuXG5leHBvcnQgY2xhc3MgS2JxVG9nZ2xlQ2hhbmdlIHtcbiAgICBzb3VyY2U6IEticVRvZ2dsZUNvbXBvbmVudDtcbiAgICBjaGVja2VkOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ticS10b2dnbGUnLFxuICAgIGV4cG9ydEFzOiAna2JxVG9nZ2xlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9nZ2xlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90b2dnbGUuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaW5wdXRzOiBbJ2NvbG9yJywgJ3RhYkluZGV4J10sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS10b2dnbGUnLFxuICAgICAgICAnW2NsYXNzLmticS10b2dnbGVfYmlnXSc6ICdiaWcnLFxuICAgICAgICAnW2lkXSc6ICdpZCcsXG4gICAgICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgICAgICAnW2NsYXNzLmticS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICAgICAnW2NsYXNzLmticS1hY3RpdmVdJzogJ2NoZWNrZWQnXG4gICAgfSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ3N3aXRjaCcsIFtcbiAgICAgICAgICAgIHN0YXRlKCd0cnVlJyAsIHN0eWxlKHsgbGVmdDogJ2NhbGMoMTAwJSAtIDExcHgpJyB9KSksXG4gICAgICAgICAgICBzdGF0ZSgnZmFsc2UnLCBzdHlsZSh7IGxlZnQ6ICczcHgnIH0pKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ3RydWUgPD0+IGZhbHNlJywgYW5pbWF0ZSgnMTUwbXMnKSlcbiAgICAgICAgXSlcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW3tcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEticVRvZ2dsZUNvbXBvbmVudCksIG11bHRpOiB0cnVlXG4gICAgfV1cbn0pXG5leHBvcnQgY2xhc3MgS2JxVG9nZ2xlQ29tcG9uZW50IGV4dGVuZHMgS2JxVG9nZ2xlTWl4aW5CYXNlXG4gICAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQ2FuQ29sb3IsIENhbkRpc2FibGUsIEhhc1RhYkluZGV4IHtcblxuICAgIEBJbnB1dCgpIGJpZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogZmFsc2UgfSkgaW5wdXRFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gICAgQElucHV0KCkgbGFiZWxQb3NpdGlvbjogVG9nZ2xlTGFiZWxQb3NpdGlvblR5cGUgPSAncmlnaHQnO1xuXG4gICAgQElucHV0KCdhcmlhLWxhYmVsJykgYXJpYUxhYmVsOiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoJ2FyaWEtbGFiZWxsZWRieScpIGFyaWFMYWJlbGxlZGJ5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG5cbiAgICBnZXQgaW5wdXRJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5pZCB8fCB0aGlzLnVuaXF1ZUlkfS1pbnB1dGA7XG4gICAgfVxuXG4gICAgQElucHV0KCkgbmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgZGlzYWJsZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBzZXQgZGlzYWJsZWQodmFsdWU6IGFueSkge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuX2Rpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgZ2V0IGNoZWNrZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jaGVja2VkO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGNoZWNrZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLl9jaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLl9jaGVja2VkID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSByZWFkb25seSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxLYnFUb2dnbGVDaGFuZ2U+ID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFUb2dnbGVDaGFuZ2U+KCk7XG5cbiAgICBwcml2YXRlIHVuaXF1ZUlkOiBzdHJpbmcgPSBga2JxLXRvZ2dsZS0keysrbmV4dFVuaXF1ZUlkfWA7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgX2ZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZik7XG5cbiAgICAgICAgdGhpcy5pZCA9ICB0aGlzLnVuaXF1ZUlkO1xuXG4gICAgICAgIHRoaXMuX2ZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0cnVlKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5fZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9jdXNNb25pdG9yLmZvY3VzVmlhKHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdrZXlib2FyZCcpO1xuICAgIH1cblxuICAgIGdldEFyaWFDaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGVja2VkO1xuICAgIH1cblxuICAgIG9uQ2hhbmdlRXZlbnQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlTW9kZWxWYWx1ZSgpO1xuICAgICAgICB0aGlzLmVtaXRDaGFuZ2VFdmVudCgpO1xuICAgIH1cblxuICAgIG9uTGFiZWxUZXh0Q2hhbmdlKCkge1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBvbklucHV0Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuY2hlY2tlZCA9ICEhdmFsdWU7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tZW1wdHlcbiAgICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrID0gKCkgPT4ge307XG5cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tZW1wdHlcbiAgICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2sgPSAoXzogYW55KSA9PiB7fTtcblxuICAgIHByaXZhdGUgdXBkYXRlTW9kZWxWYWx1ZSgpIHtcbiAgICAgICAgdGhpcy5fY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2soKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGVtaXRDaGFuZ2VFdmVudCgpIHtcbiAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgS2JxVG9nZ2xlQ2hhbmdlKCk7XG4gICAgICAgIGV2ZW50LnNvdXJjZSA9IHRoaXM7XG4gICAgICAgIGV2ZW50LmNoZWNrZWQgPSB0aGlzLmNoZWNrZWQ7XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHRoaXMuY2hlY2tlZCk7XG4gICAgICAgIHRoaXMuY2hhbmdlLmVtaXQoZXZlbnQpO1xuICAgIH1cbn1cbiIsIjxsYWJlbFxuICAgIFthdHRyLmZvcl09XCJpbnB1dElkXCJcbiAgICBjbGFzcz1cImticS10b2dnbGUtbGF5b3V0XCJcbiAgICBbY2xhc3MubGVmdF09XCJsYWJlbFBvc2l0aW9uID09PSAnbGVmdCdcIj5cblxuICAgIDxpbnB1dCAjaW5wdXRcbiAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgcm9sZT1cInN3aXRjaFwiXG4gICAgICAgICAgIGNsYXNzPVwia2JxLXRvZ2dsZS1pbnB1dCBjZGstdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgICAgICAgW2lkXT1cImlucHV0SWRcIlxuICAgICAgICAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICAgICAgICAgW2F0dHIudmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICAgICAgICAgICBbdGFiSW5kZXhdPVwidGFiSW5kZXhcIlxuICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCB8fCBudWxsXCJcbiAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZGJ5XCJcbiAgICAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cImdldEFyaWFDaGVja2VkKClcIlxuICAgICAgICAgICAoY2xpY2spPVwib25JbnB1dENsaWNrKCRldmVudClcIlxuICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlRXZlbnQoJGV2ZW50KVwiLz5cbiAgICA8ZGl2IGNsYXNzPVwia2JxLXRvZ2dsZS1iYXItY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJrYnEtdG9nZ2xlLWJhclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImticS10b2dnbGVfX2NpcmNsZVwiIFtAc3dpdGNoXT1cImNoZWNrZWRcIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwia2JxLXRvZ2dsZV9fY29udGVudFwiXG4gICAgICAgICBbY2xhc3MubGVmdF09XCJsYWJlbFBvc2l0aW9uID09PSAnbGVmdCdcIlxuICAgICAgICAgW2NsYXNzLnJpZ2h0XT1cImxhYmVsUG9zaXRpb24gPT09ICdyaWdodCdcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJrYnEtdG9nZ2xlLWxhYmVsXCIgKGNka09ic2VydmVDb250ZW50KT1cIm9uTGFiZWxUZXh0Q2hhbmdlKClcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImticS1oaW50XCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9sYWJlbD5cbiJdfQ==
@@ -164,7 +164,7 @@ export class KbqTooltipTrigger extends KbqPopUpTrigger {
164
164
  this.instance.markForCheck();
165
165
  }
166
166
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqTooltipTrigger, deps: [{ token: i2.Overlay }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i2.ScrollDispatcher }, { token: i0.ViewContainerRef }, { token: KBQ_TOOLTIP_SCROLL_STRATEGY }, { token: i3.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
167
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqTooltipTrigger, selector: "[kbqTooltip]", inputs: { tooltipVisible: ["mcVisible", "tooltipVisible"], tooltipPlacement: ["mcPlacement", "tooltipPlacement"], tooltipPlacementPriority: ["mcPlacementPriority", "tooltipPlacementPriority"], content: ["kbqTooltip", "content"], disabled: ["kbqTooltipDisabled", "disabled"], enterDelay: ["mcEnterDelay", "enterDelay"], leaveDelay: ["mcLeaveDelay", "leaveDelay"], trigger: ["mcTrigger", "trigger"], customClass: ["kbqTooltipClass", "customClass"], color: "color" }, outputs: { placementChange: "mcPlacementChange", visibleChange: "mcVisibleChange" }, host: { listeners: { "keydown": "handleKeydown($event)", "touchend": "handleTouchend()" }, properties: { "class.kbq-tooltip_open": "isOpen" } }, exportAs: ["kbqTooltip"], usesInheritance: true, ngImport: i0 }); }
167
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqTooltipTrigger, selector: "[kbqTooltip]", inputs: { tooltipVisible: ["kbqVisible", "tooltipVisible"], tooltipPlacement: ["kbqPlacement", "tooltipPlacement"], tooltipPlacementPriority: ["kbqPlacementPriority", "tooltipPlacementPriority"], content: ["kbqTooltip", "content"], disabled: ["kbqTooltipDisabled", "disabled"], enterDelay: ["mcEnterDelay", "enterDelay"], leaveDelay: ["mcLeaveDelay", "leaveDelay"], trigger: ["kbqTrigger", "trigger"], customClass: ["kbqTooltipClass", "customClass"], color: ["kbqTooltipColor", "color"] }, outputs: { placementChange: "kbqPlacementChange", visibleChange: "kbqVisibleChange" }, host: { listeners: { "keydown": "handleKeydown($event)", "touchend": "handleTouchend()" }, properties: { "class.kbq-tooltip_open": "isOpen" } }, exportAs: ["kbqTooltip"], usesInheritance: true, ngImport: i0 }); }
168
168
  }
169
169
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqTooltipTrigger, decorators: [{
170
170
  type: Directive,
@@ -184,13 +184,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
184
184
  type: Optional
185
185
  }] }]; }, propDecorators: { tooltipVisible: [{
186
186
  type: Input,
187
- args: ['mcVisible']
187
+ args: ['kbqVisible']
188
188
  }], tooltipPlacement: [{
189
189
  type: Input,
190
- args: ['mcPlacement']
190
+ args: ['kbqPlacement']
191
191
  }], tooltipPlacementPriority: [{
192
192
  type: Input,
193
- args: ['mcPlacementPriority']
193
+ args: ['kbqPlacementPriority']
194
194
  }], content: [{
195
195
  type: Input,
196
196
  args: ['kbqTooltip']
@@ -205,18 +205,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
205
205
  args: ['mcLeaveDelay']
206
206
  }], trigger: [{
207
207
  type: Input,
208
- args: ['mcTrigger']
208
+ args: ['kbqTrigger']
209
209
  }], customClass: [{
210
210
  type: Input,
211
211
  args: ['kbqTooltipClass']
212
212
  }], color: [{
213
- type: Input
213
+ type: Input,
214
+ args: ['kbqTooltipColor']
214
215
  }], placementChange: [{
215
216
  type: Output,
216
- args: ['mcPlacementChange']
217
+ args: ['kbqPlacementChange']
217
218
  }], visibleChange: [{
218
219
  type: Output,
219
- args: ['mcVisibleChange']
220
+ args: ['kbqVisibleChange']
220
221
  }] } });
221
222
  export class KbqWarningTooltipTrigger extends KbqTooltipTrigger {
222
223
  get content() {
@@ -231,13 +232,13 @@ export class KbqWarningTooltipTrigger extends KbqTooltipTrigger {
231
232
  this.modifier = TooltipModifier.Warning;
232
233
  }
233
234
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqWarningTooltipTrigger, deps: [{ token: i2.Overlay }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i2.ScrollDispatcher }, { token: i0.ViewContainerRef }, { token: KBQ_TOOLTIP_SCROLL_STRATEGY }, { token: i3.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
234
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqWarningTooltipTrigger, selector: "[mcWarningTooltip]", inputs: { content: ["mcWarningTooltip", "content"] }, host: { listeners: { "keydown": "handleKeydown($event)", "touchend": "handleTouchend()" }, properties: { "class.kbq-tooltip_open": "isOpen" } }, exportAs: ["mcWarningTooltip"], usesInheritance: true, ngImport: i0 }); }
235
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqWarningTooltipTrigger, selector: "[kbqWarningTooltip]", inputs: { content: ["kbqWarningTooltip", "content"] }, host: { listeners: { "keydown": "handleKeydown($event)", "touchend": "handleTouchend()" }, properties: { "class.kbq-tooltip_open": "isOpen" } }, exportAs: ["kbqWarningTooltip"], usesInheritance: true, ngImport: i0 }); }
235
236
  }
236
237
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqWarningTooltipTrigger, decorators: [{
237
238
  type: Directive,
238
239
  args: [{
239
- selector: '[mcWarningTooltip]',
240
- exportAs: 'mcWarningTooltip',
240
+ selector: '[kbqWarningTooltip]',
241
+ exportAs: 'kbqWarningTooltip',
241
242
  host: {
242
243
  '[class.kbq-tooltip_open]': 'isOpen',
243
244
  '(keydown)': 'handleKeydown($event)',
@@ -251,7 +252,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
251
252
  type: Optional
252
253
  }] }]; }, propDecorators: { content: [{
253
254
  type: Input,
254
- args: ['mcWarningTooltip']
255
+ args: ['kbqWarningTooltip']
255
256
  }] } });
256
257
  export class KbqExtendedTooltipTrigger extends KbqTooltipTrigger {
257
258
  get content() {
@@ -280,13 +281,13 @@ export class KbqExtendedTooltipTrigger extends KbqTooltipTrigger {
280
281
  this.instance.header = this.header;
281
282
  }
282
283
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqExtendedTooltipTrigger, deps: [{ token: i2.Overlay }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i2.ScrollDispatcher }, { token: i0.ViewContainerRef }, { token: KBQ_TOOLTIP_SCROLL_STRATEGY }, { token: i3.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
283
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqExtendedTooltipTrigger, selector: "[mcExtendedTooltip]", inputs: { content: ["mcExtendedTooltip", "content"], header: ["kbqTooltipHeader", "header"] }, host: { listeners: { "keydown": "handleKeydown($event)", "touchend": "handleTouchend()" }, properties: { "class.kbq-tooltip_open": "isOpen" } }, exportAs: ["mcExtendedTooltip"], usesInheritance: true, ngImport: i0 }); }
284
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqExtendedTooltipTrigger, selector: "[kbqExtendedTooltip]", inputs: { content: ["kbqExtendedTooltip", "content"], header: ["kbqTooltipHeader", "header"] }, host: { listeners: { "keydown": "handleKeydown($event)", "touchend": "handleTouchend()" }, properties: { "class.kbq-tooltip_open": "isOpen" } }, exportAs: ["kbqExtendedTooltip"], usesInheritance: true, ngImport: i0 }); }
284
285
  }
285
286
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqExtendedTooltipTrigger, decorators: [{
286
287
  type: Directive,
287
288
  args: [{
288
- selector: '[mcExtendedTooltip]',
289
- exportAs: 'mcExtendedTooltip',
289
+ selector: '[kbqExtendedTooltip]',
290
+ exportAs: 'kbqExtendedTooltip',
290
291
  host: {
291
292
  '[class.kbq-tooltip_open]': 'isOpen',
292
293
  '(keydown)': 'handleKeydown($event)',
@@ -300,9 +301,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
300
301
  type: Optional
301
302
  }] }]; }, propDecorators: { content: [{
302
303
  type: Input,
303
- args: ['mcExtendedTooltip']
304
+ args: ['kbqExtendedTooltip']
304
305
  }], header: [{
305
306
  type: Input,
306
307
  args: ['kbqTooltipHeader']
307
308
  }] } });
308
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUNILE9BQU8sRUFDUCxnQkFBZ0IsRUFHbkIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFDUixNQUFNLEVBR04sZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsUUFBUSxFQUNSLGVBQWUsRUFDZixlQUFlLEVBQ2YsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDckIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFHNUQsTUFBTSxDQUFOLElBQVksZUFJWDtBQUpELFdBQVksZUFBZTtJQUN2QixzQ0FBbUIsQ0FBQTtJQUNuQixzQ0FBbUIsQ0FBQTtJQUNuQix3Q0FBcUIsQ0FBQTtBQUN6QixDQUFDLEVBSlcsZUFBZSxLQUFmLGVBQWUsUUFJMUI7QUFFRCxNQUFNLENBQUMsTUFBTSxx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Q0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZDLENBQUM7aUlBNUNRLHlCQUF5Qix5SkFpQ3RCLDJCQUEyQjtxSEFqQzlCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFWckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixJQUFJLEVBQUU7d0JBQ0YsMEJBQTBCLEVBQUUsUUFBUTt3QkFFcEMsV0FBVyxFQUFFLHVCQUF1Qjt3QkFDcEMsWUFBWSxFQUFFLGtCQUFrQjtxQkFDbkM7aUJBQ0o7OzBCQWtDUSxNQUFNOzJCQUFDLDJCQUEyQjs7MEJBQ2xDLFFBQVE7NENBaENULE9BQU87c0JBRFYsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBWXRCLE1BQU07c0JBRFQsS0FBSzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIE92ZXJsYXksXG4gICAgU2Nyb2xsRGlzcGF0Y2hlcixcbiAgICBTY3JvbGxTdHJhdGVneSxcbiAgICBPdmVybGF5Q29uZmlnXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBUeXBlLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEticVBvcFVwLFxuICAgIEticVBvcFVwVHJpZ2dlcixcbiAgICBQb3BVcFBsYWNlbWVudHMsXG4gICAgUG9wVXBUcmlnZ2VycyxcbiAgICBQT1NJVElPTl9UT19DU1NfTUFQLFxuICAgIEticUNvbXBvbmVudENvbG9yc1xufSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvY29yZSc7XG5pbXBvcnQgeyBFTVBUWSwgbWVyZ2UgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsga2JxVG9vbHRpcEFuaW1hdGlvbnMgfSBmcm9tICcuL3Rvb2x0aXAuYW5pbWF0aW9ucyc7XG5cblxuZXhwb3J0IGVudW0gVG9vbHRpcE1vZGlmaWVyIHtcbiAgICBEZWZhdWx0ID0gJ2RlZmF1bHQnLFxuICAgIFdhcm5pbmcgPSAnd2FybmluZycsXG4gICAgRXh0ZW5kZWQgPSAnZXh0ZW5kZWQnXG59XG5cbmV4cG9ydCBjb25zdCBLQlFfVE9PTFRJUF9PUEVOX1RJTUUgPSBuZXcgSW5qZWN0aW9uVG9rZW48KCkgPT4gU2Nyb2xsU3RyYXRlZ3k+KCdrYnEtdG9vbHRpcC1vcGVuLXRpbWUnKTtcblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBjb25zdCBLQlFfVE9PTFRJUF9PUEVOX1RJTUVfUFJPVklERVIgPSB7XG4gICAgcHJvdmlkZTogS0JRX1RPT0xUSVBfT1BFTl9USU1FLFxuICAgIHVzZVZhbHVlOiB7IHZhbHVlOiAwIH1cbn07XG5cbmV4cG9ydCBjb25zdCBNSU5fVElNRV9GT1JfREVMQVkgPSAyMDAwO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2JxLXRvb2x0aXAtY29tcG9uZW50JyxcbiAgICBhbmltYXRpb25zOiBba2JxVG9vbHRpcEFuaW1hdGlvbnMudG9vbHRpcFN0YXRlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9vbHRpcC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdG9vbHRpcC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtLQlFfVE9PTFRJUF9PUEVOX1RJTUVfUFJPVklERVJdXG59KVxuZXhwb3J0IGNsYXNzIEticVRvb2x0aXBDb21wb25lbnQgZXh0ZW5kcyBLYnFQb3BVcCB7XG4gICAgcHJlZml4ID0gJ2ticS10b29sdGlwJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoS0JRX1RPT0xUSVBfT1BFTl9USU1FKSBwcml2YXRlIG9wZW5UaW1lXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBzaG93KGRlbGF5OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRlbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1tYWdpYy1udW1iZXJzXG4gICAgICAgIHN1cGVyLnNob3coRGF0ZS5ub3coKSAtIHRoaXMub3BlblRpbWUudmFsdWUgPCBNSU5fVElNRV9GT1JfREVMQVkgPyAwIDogZGVsYXkpO1xuXG4gICAgICAgIHRoaXMub3BlblRpbWUudmFsdWUgPSBEYXRlLm5vdygpO1xuICAgIH1cblxuICAgIHVwZGF0ZUNsYXNzTWFwKHBsYWNlbWVudDogc3RyaW5nLCBjdXN0b21DbGFzczogc3RyaW5nLCB7IG1vZGlmaWVyIH0pIHtcbiAgICAgICAgY29uc3QgY2xhc3NNYXAgPSB7XG4gICAgICAgICAgICBbYCR7dGhpcy5wcmVmaXh9XyR7bW9kaWZpZXJ9YF06IHRydWVcbiAgICAgICAgfTtcblxuICAgICAgICBzdXBlci51cGRhdGVDbGFzc01hcChwbGFjZW1lbnQsIGN1c3RvbUNsYXNzLCBjbGFzc01hcCk7XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgS0JRX1RPT0xUSVBfU0NST0xMX1NUUkFURUdZID1cbiAgICBuZXcgSW5qZWN0aW9uVG9rZW48KCkgPT4gU2Nyb2xsU3RyYXRlZ3k+KCdrYnEtdG9vbHRpcC1zY3JvbGwtc3RyYXRlZ3knKTtcblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBmdW5jdGlvbiBrYnFUb29sdGlwU2Nyb2xsU3RyYXRlZ3lGYWN0b3J5KG92ZXJsYXk6IE92ZXJsYXkpOiAoKSA9PiBTY3JvbGxTdHJhdGVneSB7XG4gICAgcmV0dXJuICgpID0+IG92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpO1xufVxuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGNvbnN0IEtCUV9UT09MVElQX1NDUk9MTF9TVFJBVEVHWV9GQUNUT1JZX1BST1ZJREVSID0ge1xuICAgIHByb3ZpZGU6IEtCUV9UT09MVElQX1NDUk9MTF9TVFJBVEVHWSxcbiAgICBkZXBzOiBbT3ZlcmxheV0sXG4gICAgdXNlRmFjdG9yeToga2JxVG9vbHRpcFNjcm9sbFN0cmF0ZWd5RmFjdG9yeVxufTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdba2JxVG9vbHRpcF0nLFxuICAgIGV4cG9ydEFzOiAna2JxVG9vbHRpcCcsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLmticS10b29sdGlwX29wZW5dJzogJ2lzT3BlbicsXG5cbiAgICAgICAgJyhrZXlkb3duKSc6ICdoYW5kbGVLZXlkb3duKCRldmVudCknLFxuICAgICAgICAnKHRvdWNoZW5kKSc6ICdoYW5kbGVUb3VjaGVuZCgpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxVG9vbHRpcFRyaWdnZXIgZXh0ZW5kcyBLYnFQb3BVcFRyaWdnZXI8S2JxVG9vbHRpcENvbXBvbmVudD4ge1xuICAgIEBJbnB1dCgnbWNWaXNpYmxlJylcbiAgICBnZXQgdG9vbHRpcFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZpc2libGU7XG4gICAgfVxuXG4gICAgc2V0IHRvb2x0aXBWaXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHN1cGVyLnVwZGF0ZVZpc2libGUodmFsdWUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgnbWNQbGFjZW1lbnQnKVxuICAgIGdldCB0b29sdGlwUGxhY2VtZW50KCk6IFBvcFVwUGxhY2VtZW50cyB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYWNlbWVudDtcbiAgICB9XG5cbiAgICBzZXQgdG9vbHRpcFBsYWNlbWVudCh2YWx1ZTogUG9wVXBQbGFjZW1lbnRzKSB7XG4gICAgICAgIHN1cGVyLnVwZGF0ZVBsYWNlbWVudCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgQElucHV0KCdtY1BsYWNlbWVudFByaW9yaXR5JylcbiAgICBnZXQgdG9vbHRpcFBsYWNlbWVudFByaW9yaXR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGFjZW1lbnRQcmlvcml0eTtcbiAgICB9XG5cbiAgICBzZXQgdG9vbHRpcFBsYWNlbWVudFByaW9yaXR5KHZhbHVlKSB7XG4gICAgICAgIHN1cGVyLnVwZGF0ZVBsYWNlbWVudFByaW9yaXR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ2ticVRvb2x0aXAnKVxuICAgIGdldCBjb250ZW50KCk6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29udGVudDtcbiAgICB9XG5cbiAgICBzZXQgY29udGVudChjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgICAgIHRoaXMuX2NvbnRlbnQgPSBjb250ZW50O1xuXG4gICAgICAgIHRoaXMudXBkYXRlRGF0YSgpO1xuICAgIH1cblxuICAgIEBJbnB1dCgna2JxVG9vbHRpcERpc2FibGVkJylcbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBzZXQgZGlzYWJsZWQodmFsdWUpIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgnbWNFbnRlckRlbGF5JykgZW50ZXJEZWxheSA9IDQwMDtcbiAgICBASW5wdXQoJ21jTGVhdmVEZWxheScpIGxlYXZlRGVsYXkgPSAwO1xuXG4gICAgQElucHV0KCdtY1RyaWdnZXInKVxuICAgIGdldCB0cmlnZ2VyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl90cmlnZ2VyO1xuICAgIH1cblxuICAgIHNldCB0cmlnZ2VyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl90cmlnZ2VyID0gdmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl90cmlnZ2VyID0gYCR7UG9wVXBUcmlnZ2Vycy5Ib3Zlcn0sICR7UG9wVXBUcmlnZ2Vycy5Gb2N1c31gO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbml0TGlzdGVuZXJzKCk7XG4gICAgfVxuXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5hbWluZy1jb252ZW50aW9uXG4gICAgcHJvdGVjdGVkIF90cmlnZ2VyID0gYCR7UG9wVXBUcmlnZ2Vycy5Ib3Zlcn0sICR7UG9wVXBUcmlnZ2Vycy5Gb2N1c31gO1xuXG4gICAgQElucHV0KCdrYnFUb29sdGlwQ2xhc3MnKVxuICAgIGdldCBjdXN0b21DbGFzcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fY3VzdG9tQ2xhc3MgfHwgJyc7XG4gICAgfVxuXG4gICAgc2V0IGN1c3RvbUNsYXNzKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9jdXN0b21DbGFzcyA9IHZhbHVlO1xuXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzTWFwKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9jdXN0b21DbGFzcyA9ICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBnZXQgY29sb3IoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGBrYnEtJHt0aGlzLl9jb2xvcn1gO1xuICAgIH1cblxuICAgIHNldCBjb2xvcih2YWx1ZTogS2JxQ29tcG9uZW50Q29sb3JzIHwgc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2NvbG9yID0gdmFsdWUgfHwgS2JxQ29tcG9uZW50Q29sb3JzLkNvbnRyYXN0O1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NvbG9yOiBLYnFDb21wb25lbnRDb2xvcnMgfCBzdHJpbmcgPSBLYnFDb21wb25lbnRDb2xvcnMuQ29udHJhc3Q7XG5cbiAgICBAT3V0cHV0KCdtY1BsYWNlbWVudENoYW5nZScpIHBsYWNlbWVudENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoJ21jVmlzaWJsZUNoYW5nZScpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBwcml2YXRlIGdldCBoYXNDbGlja0luVHJpZ2dlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJpZ2dlci5pbmNsdWRlcyhQb3BVcFRyaWdnZXJzLkNsaWNrKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3JpZ2luU2VsZWN0b3IgPSAnLmticS10b29sdGlwJztcblxuICAgIHByb3RlY3RlZCBvdmVybGF5Q29uZmlnOiBPdmVybGF5Q29uZmlnID0ge1xuICAgICAgICBwYW5lbENsYXNzOiAna2JxLXRvb2x0aXAtcGFuZWwnXG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBtb2RpZmllcjogVG9vbHRpcE1vZGlmaWVyID0gVG9vbHRpcE1vZGlmaWVyLkRlZmF1bHQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHNjcm9sbERpc3BhdGNoZXI6IFNjcm9sbERpc3BhdGNoZXIsXG4gICAgICAgIGhvc3RWaWV3OiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBASW5qZWN0KEtCUV9UT09MVElQX1NDUk9MTF9TVFJBVEVHWSkgc2Nyb2xsU3RyYXRlZ3ksXG4gICAgICAgIEBPcHRpb25hbCgpIGRpcmVjdGlvbjogRGlyZWN0aW9uYWxpdHlcbiAgICApIHtcbiAgICAgICAgc3VwZXIob3ZlcmxheSwgZWxlbWVudFJlZiwgbmdab25lLCBzY3JvbGxEaXNwYXRjaGVyLCBob3N0Vmlldywgc2Nyb2xsU3RyYXRlZ3ksIGRpcmVjdGlvbik7XG4gICAgfVxuXG4gICAgdXBkYXRlRGF0YSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmluc3RhbmNlKSB7IHJldHVybjsgfVxuXG4gICAgICAgIHRoaXMuaW5zdGFuY2UuY29udGVudCA9IHRoaXMuY29udGVudDtcbiAgICAgICAgdGhpcy5pbnN0YW5jZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgY2xvc2luZ0FjdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiBtZXJnZShcbiAgICAgICAgICAgIHRoaXMuaGFzQ2xpY2tJblRyaWdnZXIgPyB0aGlzLm92ZXJsYXlSZWYhLm91dHNpZGVQb2ludGVyRXZlbnRzKCkgOiBFTVBUWSxcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZiEuZGV0YWNobWVudHMoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldE92ZXJsYXlIYW5kbGVDb21wb25lbnRUeXBlKCk6IFR5cGU8S2JxVG9vbHRpcENvbXBvbmVudD4ge1xuICAgICAgICByZXR1cm4gS2JxVG9vbHRpcENvbXBvbmVudDtcbiAgICB9XG5cbiAgICB1cGRhdGVDbGFzc01hcChuZXdQbGFjZW1lbnQ6IHN0cmluZyA9IHRoaXMucGxhY2VtZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5pbnN0YW5jZSkgeyByZXR1cm47IH1cblxuICAgICAgICB0aGlzLmluc3RhbmNlLnVwZGF0ZUNsYXNzTWFwKFxuICAgICAgICAgICAgUE9TSVRJT05fVE9fQ1NTX01BUFtuZXdQbGFjZW1lbnRdLFxuICAgICAgICAgICAgYCR7dGhpcy5jdXN0b21DbGFzc30gJHt0aGlzLmNvbG9yfWAsXG4gICAgICAgICAgICB7IG1vZGlmaWVyOiB0aGlzLm1vZGlmaWVyIH1cbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5pbnN0YW5jZS5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG5cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbWNXYXJuaW5nVG9vbHRpcF0nLFxuICAgIGV4cG9ydEFzOiAnbWNXYXJuaW5nVG9vbHRpcCcsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLmticS10b29sdGlwX29wZW5dJzogJ2lzT3BlbicsXG5cbiAgICAgICAgJyhrZXlkb3duKSc6ICdoYW5kbGVLZXlkb3duKCRldmVudCknLFxuICAgICAgICAnKHRvdWNoZW5kKSc6ICdoYW5kbGVUb3VjaGVuZCgpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxV2FybmluZ1Rvb2x0aXBUcmlnZ2VyIGV4dGVuZHMgS2JxVG9vbHRpcFRyaWdnZXIge1xuICAgIEBJbnB1dCgnbWNXYXJuaW5nVG9vbHRpcCcpXG4gICAgZ2V0IGNvbnRlbnQoKTogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250ZW50O1xuICAgIH1cblxuICAgIHNldCBjb250ZW50KGNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICAgICAgdGhpcy5fY29udGVudCA9IGNvbnRlbnQ7XG5cbiAgICAgICAgdGhpcy51cGRhdGVEYXRhKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG1vZGlmaWVyOiBUb29sdGlwTW9kaWZpZXIgPSBUb29sdGlwTW9kaWZpZXIuV2FybmluZztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBvdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgc2Nyb2xsRGlzcGF0Y2hlcjogU2Nyb2xsRGlzcGF0Y2hlcixcbiAgICAgICAgaG9zdFZpZXc6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIEBJbmplY3QoS0JRX1RPT0xUSVBfU0NST0xMX1NUUkFURUdZKSBzY3JvbGxTdHJhdGVneSxcbiAgICAgICAgQE9wdGlvbmFsKCkgZGlyZWN0aW9uOiBEaXJlY3Rpb25hbGl0eVxuICAgICkge1xuICAgICAgICBzdXBlcihvdmVybGF5LCBlbGVtZW50UmVmLCBuZ1pvbmUsIHNjcm9sbERpc3BhdGNoZXIsIGhvc3RWaWV3LCBzY3JvbGxTdHJhdGVneSwgZGlyZWN0aW9uKTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW21jRXh0ZW5kZWRUb29sdGlwXScsXG4gICAgZXhwb3J0QXM6ICdtY0V4dGVuZGVkVG9vbHRpcCcsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLmticS10b29sdGlwX29wZW5dJzogJ2lzT3BlbicsXG5cbiAgICAgICAgJyhrZXlkb3duKSc6ICdoYW5kbGVLZXlkb3duKCRldmVudCknLFxuICAgICAgICAnKHRvdWNoZW5kKSc6ICdoYW5kbGVUb3VjaGVuZCgpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxRXh0ZW5kZWRUb29sdGlwVHJpZ2dlciBleHRlbmRzIEticVRvb2x0aXBUcmlnZ2VyIHtcbiAgICBASW5wdXQoJ21jRXh0ZW5kZWRUb29sdGlwJylcbiAgICBnZXQgY29udGVudCgpOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRlbnQ7XG4gICAgfVxuXG4gICAgc2V0IGNvbnRlbnQoY29udGVudDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55Pikge1xuICAgICAgICB0aGlzLl9jb250ZW50ID0gY29udGVudDtcblxuICAgICAgICB0aGlzLnVwZGF0ZURhdGEoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ2ticVRvb2x0aXBIZWFkZXInKVxuICAgIGdldCBoZWFkZXIoKTogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oZWFkZXI7XG4gICAgfVxuXG4gICAgc2V0IGhlYWRlcihoZWFkZXI6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICAgICAgdGhpcy5faGVhZGVyID0gaGVhZGVyO1xuXG4gICAgICAgIHRoaXMudXBkYXRlRGF0YSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2hlYWRlcjogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIHByb3RlY3RlZCBtb2RpZmllcjogVG9vbHRpcE1vZGlmaWVyID0gVG9vbHRpcE1vZGlmaWVyLkV4dGVuZGVkO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIG5nWm9uZTogTmdab25lLFxuICAgICAgICBzY3JvbGxEaXNwYXRjaGVyOiBTY3JvbGxEaXNwYXRjaGVyLFxuICAgICAgICBob3N0VmlldzogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgQEluamVjdChLQlFfVE9PTFRJUF9TQ1JPTExfU1RSQVRFR1kpIHNjcm9sbFN0cmF0ZWd5LFxuICAgICAgICBAT3B0aW9uYWwoKSBkaXJlY3Rpb246IERpcmVjdGlvbmFsaXR5XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKG92ZXJsYXksIGVsZW1lbnRSZWYsIG5nWm9uZSwgc2Nyb2xsRGlzcGF0Y2hlciwgaG9zdFZpZXcsIHNjcm9sbFN0cmF0ZWd5LCBkaXJlY3Rpb24pO1xuICAgIH1cblxuICAgIHVwZGF0ZURhdGEoKSB7XG4gICAgICAgIGlmICghdGhpcy5pbnN0YW5jZSkgeyByZXR1cm47IH1cblxuICAgICAgICBzdXBlci51cGRhdGVEYXRhKCk7XG4gICAgICAgIHRoaXMuaW5zdGFuY2UuaGVhZGVyID0gdGhpcy5oZWFkZXI7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImticS10b29sdGlwXCJcbiAgICAgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIlxuICAgICBbQHN0YXRlXT1cInZpc2liaWxpdHlcIlxuICAgICAoQHN0YXRlLnN0YXJ0KT1cImFuaW1hdGlvblN0YXJ0KClcIlxuICAgICAoQHN0YXRlLmRvbmUpPVwiYW5pbWF0aW9uRG9uZSgkZXZlbnQpXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwia2JxLXRvb2x0aXBfX2lubmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJrYnEtdG9vbHRpcF9fYXJyb3dcIj48L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwia2JxLXRvb2x0aXBfX2hlYWRlclwiICpuZ0lmPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNUZW1wbGF0ZVJlZihoZWFkZXIpXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiJGFueShoZWFkZXIpXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGVSZWYoaGVhZGVyKVwiPlxuICAgICAgICAgICAgICAgIDxkaXY+e3sgaGVhZGVyIH19PC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJrYnEtdG9vbHRpcF9fY29udGVudFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGVtcGxhdGVSZWYoY29udGVudClcIiBbbmdUZW1wbGF0ZU91dGxldF09XCIkYW55KGNvbnRlbnQpXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGVSZWYoY29udGVudClcIj5cbiAgICAgICAgICAgICAgICA8ZGl2Pnt7IGNvbnRlbnQgfX08L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
309
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUNILE9BQU8sRUFDUCxnQkFBZ0IsRUFHbkIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFDUixNQUFNLEVBR04sZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsUUFBUSxFQUNSLGVBQWUsRUFDZixlQUFlLEVBQ2YsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDckIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFHNUQsTUFBTSxDQUFOLElBQVksZUFJWDtBQUpELFdBQVksZUFBZTtJQUN2QixzQ0FBbUIsQ0FBQTtJQUNuQixzQ0FBbUIsQ0FBQTtJQUNuQix3Q0FBcUIsQ0FBQTtBQUN6QixDQUFDLEVBSlcsZUFBZSxLQUFmLGVBQWUsUUFJMUI7QUFFRCxNQUFNLENBQUMsTUFBTSxx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QyxVQUFVLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZDLENBQUM7aUlBNUNRLHlCQUF5Qix5SkFpQ3RCLDJCQUEyQjtxSEFqQzlCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFWckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixJQUFJLEVBQUU7d0JBQ0YsMEJBQTBCLEVBQUUsUUFBUTt3QkFFcEMsV0FBVyxFQUFFLHVCQUF1Qjt3QkFDcEMsWUFBWSxFQUFFLGtCQUFrQjtxQkFDbkM7aUJBQ0o7OzBCQWtDUSxNQUFNOzJCQUFDLDJCQUEyQjs7MEJBQ2xDLFFBQVE7NENBaENULE9BQU87c0JBRFYsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBWXZCLE1BQU07c0JBRFQsS0FBSzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIE92ZXJsYXksXG4gICAgU2Nyb2xsRGlzcGF0Y2hlcixcbiAgICBTY3JvbGxTdHJhdGVneSxcbiAgICBPdmVybGF5Q29uZmlnXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBUeXBlLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEticVBvcFVwLFxuICAgIEticVBvcFVwVHJpZ2dlcixcbiAgICBQb3BVcFBsYWNlbWVudHMsXG4gICAgUG9wVXBUcmlnZ2VycyxcbiAgICBQT1NJVElPTl9UT19DU1NfTUFQLFxuICAgIEticUNvbXBvbmVudENvbG9yc1xufSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvY29yZSc7XG5pbXBvcnQgeyBFTVBUWSwgbWVyZ2UgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsga2JxVG9vbHRpcEFuaW1hdGlvbnMgfSBmcm9tICcuL3Rvb2x0aXAuYW5pbWF0aW9ucyc7XG5cblxuZXhwb3J0IGVudW0gVG9vbHRpcE1vZGlmaWVyIHtcbiAgICBEZWZhdWx0ID0gJ2RlZmF1bHQnLFxuICAgIFdhcm5pbmcgPSAnd2FybmluZycsXG4gICAgRXh0ZW5kZWQgPSAnZXh0ZW5kZWQnXG59XG5cbmV4cG9ydCBjb25zdCBLQlFfVE9PTFRJUF9PUEVOX1RJTUUgPSBuZXcgSW5qZWN0aW9uVG9rZW48KCkgPT4gU2Nyb2xsU3RyYXRlZ3k+KCdrYnEtdG9vbHRpcC1vcGVuLXRpbWUnKTtcblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBjb25zdCBLQlFfVE9PTFRJUF9PUEVOX1RJTUVfUFJPVklERVIgPSB7XG4gICAgcHJvdmlkZTogS0JRX1RPT0xUSVBfT1BFTl9USU1FLFxuICAgIHVzZVZhbHVlOiB7IHZhbHVlOiAwIH1cbn07XG5cbmV4cG9ydCBjb25zdCBNSU5fVElNRV9GT1JfREVMQVkgPSAyMDAwO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2JxLXRvb2x0aXAtY29tcG9uZW50JyxcbiAgICBhbmltYXRpb25zOiBba2JxVG9vbHRpcEFuaW1hdGlvbnMudG9vbHRpcFN0YXRlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9vbHRpcC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdG9vbHRpcC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtLQlFfVE9PTFRJUF9PUEVOX1RJTUVfUFJPVklERVJdXG59KVxuZXhwb3J0IGNsYXNzIEticVRvb2x0aXBDb21wb25lbnQgZXh0ZW5kcyBLYnFQb3BVcCB7XG4gICAgcHJlZml4ID0gJ2ticS10b29sdGlwJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoS0JRX1RPT0xUSVBfT1BFTl9USU1FKSBwcml2YXRlIG9wZW5UaW1lXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBzaG93KGRlbGF5OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRlbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1tYWdpYy1udW1iZXJzXG4gICAgICAgIHN1cGVyLnNob3coRGF0ZS5ub3coKSAtIHRoaXMub3BlblRpbWUudmFsdWUgPCBNSU5fVElNRV9GT1JfREVMQVkgPyAwIDogZGVsYXkpO1xuXG4gICAgICAgIHRoaXMub3BlblRpbWUudmFsdWUgPSBEYXRlLm5vdygpO1xuICAgIH1cblxuICAgIHVwZGF0ZUNsYXNzTWFwKHBsYWNlbWVudDogc3RyaW5nLCBjdXN0b21DbGFzczogc3RyaW5nLCB7IG1vZGlmaWVyIH0pIHtcbiAgICAgICAgY29uc3QgY2xhc3NNYXAgPSB7XG4gICAgICAgICAgICBbYCR7dGhpcy5wcmVmaXh9XyR7bW9kaWZpZXJ9YF06IHRydWVcbiAgICAgICAgfTtcblxuICAgICAgICBzdXBlci51cGRhdGVDbGFzc01hcChwbGFjZW1lbnQsIGN1c3RvbUNsYXNzLCBjbGFzc01hcCk7XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgS0JRX1RPT0xUSVBfU0NST0xMX1NUUkFURUdZID1cbiAgICBuZXcgSW5qZWN0aW9uVG9rZW48KCkgPT4gU2Nyb2xsU3RyYXRlZ3k+KCdrYnEtdG9vbHRpcC1zY3JvbGwtc3RyYXRlZ3knKTtcblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBmdW5jdGlvbiBrYnFUb29sdGlwU2Nyb2xsU3RyYXRlZ3lGYWN0b3J5KG92ZXJsYXk6IE92ZXJsYXkpOiAoKSA9PiBTY3JvbGxTdHJhdGVneSB7XG4gICAgcmV0dXJuICgpID0+IG92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpO1xufVxuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGNvbnN0IEtCUV9UT09MVElQX1NDUk9MTF9TVFJBVEVHWV9GQUNUT1JZX1BST1ZJREVSID0ge1xuICAgIHByb3ZpZGU6IEtCUV9UT09MVElQX1NDUk9MTF9TVFJBVEVHWSxcbiAgICBkZXBzOiBbT3ZlcmxheV0sXG4gICAgdXNlRmFjdG9yeToga2JxVG9vbHRpcFNjcm9sbFN0cmF0ZWd5RmFjdG9yeVxufTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdba2JxVG9vbHRpcF0nLFxuICAgIGV4cG9ydEFzOiAna2JxVG9vbHRpcCcsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLmticS10b29sdGlwX29wZW5dJzogJ2lzT3BlbicsXG5cbiAgICAgICAgJyhrZXlkb3duKSc6ICdoYW5kbGVLZXlkb3duKCRldmVudCknLFxuICAgICAgICAnKHRvdWNoZW5kKSc6ICdoYW5kbGVUb3VjaGVuZCgpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxVG9vbHRpcFRyaWdnZXIgZXh0ZW5kcyBLYnFQb3BVcFRyaWdnZXI8S2JxVG9vbHRpcENvbXBvbmVudD4ge1xuICAgIEBJbnB1dCgna2JxVmlzaWJsZScpXG4gICAgZ2V0IHRvb2x0aXBWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52aXNpYmxlO1xuICAgIH1cblxuICAgIHNldCB0b29sdGlwVmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBzdXBlci51cGRhdGVWaXNpYmxlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ2ticVBsYWNlbWVudCcpXG4gICAgZ2V0IHRvb2x0aXBQbGFjZW1lbnQoKTogUG9wVXBQbGFjZW1lbnRzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxhY2VtZW50O1xuICAgIH1cblxuICAgIHNldCB0b29sdGlwUGxhY2VtZW50KHZhbHVlOiBQb3BVcFBsYWNlbWVudHMpIHtcbiAgICAgICAgc3VwZXIudXBkYXRlUGxhY2VtZW50KHZhbHVlKTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ2ticVBsYWNlbWVudFByaW9yaXR5JylcbiAgICBnZXQgdG9vbHRpcFBsYWNlbWVudFByaW9yaXR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGFjZW1lbnRQcmlvcml0eTtcbiAgICB9XG5cbiAgICBzZXQgdG9vbHRpcFBsYWNlbWVudFByaW9yaXR5KHZhbHVlKSB7XG4gICAgICAgIHN1cGVyLnVwZGF0ZVBsYWNlbWVudFByaW9yaXR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ2ticVRvb2x0aXAnKVxuICAgIGdldCBjb250ZW50KCk6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29udGVudDtcbiAgICB9XG5cbiAgICBzZXQgY29udGVudChjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgICAgIHRoaXMuX2NvbnRlbnQgPSBjb250ZW50O1xuXG4gICAgICAgIHRoaXMudXBkYXRlRGF0YSgpO1xuICAgIH1cblxuICAgIEBJbnB1dCgna2JxVG9vbHRpcERpc2FibGVkJylcbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBzZXQgZGlzYWJsZWQodmFsdWUpIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgnbWNFbnRlckRlbGF5JykgZW50ZXJEZWxheSA9IDQwMDtcbiAgICBASW5wdXQoJ21jTGVhdmVEZWxheScpIGxlYXZlRGVsYXkgPSAwO1xuXG4gICAgQElucHV0KCdrYnFUcmlnZ2VyJylcbiAgICBnZXQgdHJpZ2dlcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHJpZ2dlcjtcbiAgICB9XG5cbiAgICBzZXQgdHJpZ2dlcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdHJpZ2dlciA9IHZhbHVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fdHJpZ2dlciA9IGAke1BvcFVwVHJpZ2dlcnMuSG92ZXJ9LCAke1BvcFVwVHJpZ2dlcnMuRm9jdXN9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5pdExpc3RlbmVycygpO1xuICAgIH1cblxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuYW1pbmctY29udmVudGlvblxuICAgIHByb3RlY3RlZCBfdHJpZ2dlciA9IGAke1BvcFVwVHJpZ2dlcnMuSG92ZXJ9LCAke1BvcFVwVHJpZ2dlcnMuRm9jdXN9YDtcblxuICAgIEBJbnB1dCgna2JxVG9vbHRpcENsYXNzJylcbiAgICBnZXQgY3VzdG9tQ2xhc3MoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1c3RvbUNsYXNzIHx8ICcnO1xuICAgIH1cblxuICAgIHNldCBjdXN0b21DbGFzcyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fY3VzdG9tQ2xhc3MgPSB2YWx1ZTtcblxuICAgICAgICAgICAgdGhpcy51cGRhdGVDbGFzc01hcCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fY3VzdG9tQ2xhc3MgPSAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgna2JxVG9vbHRpcENvbG9yJylcbiAgICBnZXQgY29sb3IoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGBrYnEtJHt0aGlzLl9jb2xvcn1gO1xuICAgIH1cblxuICAgIHNldCBjb2xvcih2YWx1ZTogS2JxQ29tcG9uZW50Q29sb3JzIHwgc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2NvbG9yID0gdmFsdWUgfHwgS2JxQ29tcG9uZW50Q29sb3JzLkNvbnRyYXN0O1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NvbG9yOiBLYnFDb21wb25lbnRDb2xvcnMgfCBzdHJpbmcgPSBLYnFDb21wb25lbnRDb2xvcnMuQ29udHJhc3Q7XG5cbiAgICBAT3V0cHV0KCdrYnFQbGFjZW1lbnRDaGFuZ2UnKSBwbGFjZW1lbnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KCdrYnFWaXNpYmxlQ2hhbmdlJykgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIHByaXZhdGUgZ2V0IGhhc0NsaWNrSW5UcmlnZ2VyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50cmlnZ2VyLmluY2x1ZGVzKFBvcFVwVHJpZ2dlcnMuQ2xpY2spO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvcmlnaW5TZWxlY3RvciA9ICcua2JxLXRvb2x0aXAnO1xuXG4gICAgcHJvdGVjdGVkIG92ZXJsYXlDb25maWc6IE92ZXJsYXlDb25maWcgPSB7XG4gICAgICAgIHBhbmVsQ2xhc3M6ICdrYnEtdG9vbHRpcC1wYW5lbCdcbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIG1vZGlmaWVyOiBUb29sdGlwTW9kaWZpZXIgPSBUb29sdGlwTW9kaWZpZXIuRGVmYXVsdDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBvdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgc2Nyb2xsRGlzcGF0Y2hlcjogU2Nyb2xsRGlzcGF0Y2hlcixcbiAgICAgICAgaG9zdFZpZXc6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIEBJbmplY3QoS0JRX1RPT0xUSVBfU0NST0xMX1NUUkFURUdZKSBzY3JvbGxTdHJhdGVneSxcbiAgICAgICAgQE9wdGlvbmFsKCkgZGlyZWN0aW9uOiBEaXJlY3Rpb25hbGl0eVxuICAgICkge1xuICAgICAgICBzdXBlcihvdmVybGF5LCBlbGVtZW50UmVmLCBuZ1pvbmUsIHNjcm9sbERpc3BhdGNoZXIsIGhvc3RWaWV3LCBzY3JvbGxTdHJhdGVneSwgZGlyZWN0aW9uKTtcbiAgICB9XG5cbiAgICB1cGRhdGVEYXRhKCkge1xuICAgICAgICBpZiAoIXRoaXMuaW5zdGFuY2UpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgdGhpcy5pbnN0YW5jZS5jb250ZW50ID0gdGhpcy5jb250ZW50O1xuICAgICAgICB0aGlzLmluc3RhbmNlLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBjbG9zaW5nQWN0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICAgICAgdGhpcy5oYXNDbGlja0luVHJpZ2dlciA/IHRoaXMub3ZlcmxheVJlZiEub3V0c2lkZVBvaW50ZXJFdmVudHMoKSA6IEVNUFRZLFxuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmIS5kZXRhY2htZW50cygpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0T3ZlcmxheUhhbmRsZUNvbXBvbmVudFR5cGUoKTogVHlwZTxLYnFUb29sdGlwQ29tcG9uZW50PiB7XG4gICAgICAgIHJldHVybiBLYnFUb29sdGlwQ29tcG9uZW50O1xuICAgIH1cblxuICAgIHVwZGF0ZUNsYXNzTWFwKG5ld1BsYWNlbWVudDogc3RyaW5nID0gdGhpcy5wbGFjZW1lbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmluc3RhbmNlKSB7IHJldHVybjsgfVxuXG4gICAgICAgIHRoaXMuaW5zdGFuY2UudXBkYXRlQ2xhc3NNYXAoXG4gICAgICAgICAgICBQT1NJVElPTl9UT19DU1NfTUFQW25ld1BsYWNlbWVudF0sXG4gICAgICAgICAgICBgJHt0aGlzLmN1c3RvbUNsYXNzfSAke3RoaXMuY29sb3J9YCxcbiAgICAgICAgICAgIHsgbW9kaWZpZXI6IHRoaXMubW9kaWZpZXIgfVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmluc3RhbmNlLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbn1cblxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1trYnFXYXJuaW5nVG9vbHRpcF0nLFxuICAgIGV4cG9ydEFzOiAna2JxV2FybmluZ1Rvb2x0aXAnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5rYnEtdG9vbHRpcF9vcGVuXSc6ICdpc09wZW4nLFxuXG4gICAgICAgICcoa2V5ZG93biknOiAnaGFuZGxlS2V5ZG93bigkZXZlbnQpJyxcbiAgICAgICAgJyh0b3VjaGVuZCknOiAnaGFuZGxlVG91Y2hlbmQoKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticVdhcm5pbmdUb29sdGlwVHJpZ2dlciBleHRlbmRzIEticVRvb2x0aXBUcmlnZ2VyIHtcbiAgICBASW5wdXQoJ2ticVdhcm5pbmdUb29sdGlwJylcbiAgICBnZXQgY29udGVudCgpOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRlbnQ7XG4gICAgfVxuXG4gICAgc2V0IGNvbnRlbnQoY29udGVudDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55Pikge1xuICAgICAgICB0aGlzLl9jb250ZW50ID0gY29udGVudDtcblxuICAgICAgICB0aGlzLnVwZGF0ZURhdGEoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbW9kaWZpZXI6IFRvb2x0aXBNb2RpZmllciA9IFRvb2x0aXBNb2RpZmllci5XYXJuaW5nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIG5nWm9uZTogTmdab25lLFxuICAgICAgICBzY3JvbGxEaXNwYXRjaGVyOiBTY3JvbGxEaXNwYXRjaGVyLFxuICAgICAgICBob3N0VmlldzogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgQEluamVjdChLQlFfVE9PTFRJUF9TQ1JPTExfU1RSQVRFR1kpIHNjcm9sbFN0cmF0ZWd5LFxuICAgICAgICBAT3B0aW9uYWwoKSBkaXJlY3Rpb246IERpcmVjdGlvbmFsaXR5XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKG92ZXJsYXksIGVsZW1lbnRSZWYsIG5nWm9uZSwgc2Nyb2xsRGlzcGF0Y2hlciwgaG9zdFZpZXcsIHNjcm9sbFN0cmF0ZWd5LCBkaXJlY3Rpb24pO1xuICAgIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdba2JxRXh0ZW5kZWRUb29sdGlwXScsXG4gICAgZXhwb3J0QXM6ICdrYnFFeHRlbmRlZFRvb2x0aXAnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5rYnEtdG9vbHRpcF9vcGVuXSc6ICdpc09wZW4nLFxuXG4gICAgICAgICcoa2V5ZG93biknOiAnaGFuZGxlS2V5ZG93bigkZXZlbnQpJyxcbiAgICAgICAgJyh0b3VjaGVuZCknOiAnaGFuZGxlVG91Y2hlbmQoKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticUV4dGVuZGVkVG9vbHRpcFRyaWdnZXIgZXh0ZW5kcyBLYnFUb29sdGlwVHJpZ2dlciB7XG4gICAgQElucHV0KCdrYnFFeHRlbmRlZFRvb2x0aXAnKVxuICAgIGdldCBjb250ZW50KCk6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29udGVudDtcbiAgICB9XG5cbiAgICBzZXQgY29udGVudChjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgICAgIHRoaXMuX2NvbnRlbnQgPSBjb250ZW50O1xuXG4gICAgICAgIHRoaXMudXBkYXRlRGF0YSgpO1xuICAgIH1cblxuICAgIEBJbnB1dCgna2JxVG9vbHRpcEhlYWRlcicpXG4gICAgZ2V0IGhlYWRlcigpOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hlYWRlcjtcbiAgICB9XG5cbiAgICBzZXQgaGVhZGVyKGhlYWRlcjogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55Pikge1xuICAgICAgICB0aGlzLl9oZWFkZXIgPSBoZWFkZXI7XG5cbiAgICAgICAgdGhpcy51cGRhdGVEYXRhKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaGVhZGVyOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgcHJvdGVjdGVkIG1vZGlmaWVyOiBUb29sdGlwTW9kaWZpZXIgPSBUb29sdGlwTW9kaWZpZXIuRXh0ZW5kZWQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHNjcm9sbERpc3BhdGNoZXI6IFNjcm9sbERpc3BhdGNoZXIsXG4gICAgICAgIGhvc3RWaWV3OiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBASW5qZWN0KEtCUV9UT09MVElQX1NDUk9MTF9TVFJBVEVHWSkgc2Nyb2xsU3RyYXRlZ3ksXG4gICAgICAgIEBPcHRpb25hbCgpIGRpcmVjdGlvbjogRGlyZWN0aW9uYWxpdHlcbiAgICApIHtcbiAgICAgICAgc3VwZXIob3ZlcmxheSwgZWxlbWVudFJlZiwgbmdab25lLCBzY3JvbGxEaXNwYXRjaGVyLCBob3N0Vmlldywgc2Nyb2xsU3RyYXRlZ3ksIGRpcmVjdGlvbik7XG4gICAgfVxuXG4gICAgdXBkYXRlRGF0YSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmluc3RhbmNlKSB7IHJldHVybjsgfVxuXG4gICAgICAgIHN1cGVyLnVwZGF0ZURhdGEoKTtcbiAgICAgICAgdGhpcy5pbnN0YW5jZS5oZWFkZXIgPSB0aGlzLmhlYWRlcjtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwia2JxLXRvb2x0aXBcIlxuICAgICBbbmdDbGFzc109XCJjbGFzc01hcFwiXG4gICAgIFtAc3RhdGVdPVwidmlzaWJpbGl0eVwiXG4gICAgIChAc3RhdGUuc3RhcnQpPVwiYW5pbWF0aW9uU3RhcnQoKVwiXG4gICAgIChAc3RhdGUuZG9uZSk9XCJhbmltYXRpb25Eb25lKCRldmVudClcIj5cblxuICAgIDxkaXYgY2xhc3M9XCJrYnEtdG9vbHRpcF9faW5uZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImticS10b29sdGlwX19hcnJvd1wiPjwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJrYnEtdG9vbHRpcF9faGVhZGVyXCIgKm5nSWY9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1RlbXBsYXRlUmVmKGhlYWRlcilcIiBbbmdUZW1wbGF0ZU91dGxldF09XCIkYW55KGhlYWRlcilcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNUZW1wbGF0ZVJlZihoZWFkZXIpXCI+XG4gICAgICAgICAgICAgICAgPGRpdj57eyBoZWFkZXIgfX08L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImticS10b29sdGlwX19jb250ZW50XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNUZW1wbGF0ZVJlZihjb250ZW50KVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIiRhbnkoY29udGVudClcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNUZW1wbGF0ZVJlZihjb250ZW50KVwiPlxuICAgICAgICAgICAgICAgIDxkaXY+e3sgY29udGVudCB9fTwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -57,4 +57,4 @@ export class BaseTreeControl {
57
57
  this.expansionModel.deselect(...toBeProcessed);
58
58
  }
59
59
  }
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10cmVlLWNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RyZWUvY29udHJvbC9iYXNlLXRyZWUtY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUtuRCwrRkFBK0Y7QUFDL0YsZ0RBQWdEO0FBQ2hELE1BQU0sT0FBZ0IsZUFBZTtJQUFyQztRQUdJLHdFQUF3RTtRQUN4RSxtQkFBYyxHQUFzQixJQUFJLGNBQWMsQ0FBSSxJQUFJLENBQUMsQ0FBQztRQUVoRSxnQkFBVyxHQUFzQixJQUFJLGNBQWMsQ0FBSSxJQUFJLENBQUMsQ0FBQztRQUU3RCxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBdUVsRCxDQUFDO0lBbkRHLCtEQUErRDtJQUMvRCxNQUFNLENBQUMsUUFBVztRQUNkLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFFdkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELG9DQUFvQztJQUNwQyxNQUFNLENBQUMsUUFBVztRQUNkLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFFdkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELHNDQUFzQztJQUN0QyxRQUFRLENBQUMsUUFBVztRQUNoQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFO1lBQUUsT0FBTztTQUFFO1FBRXZDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCwrRkFBK0Y7SUFDL0YsVUFBVSxDQUFDLFFBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsc0RBQXNEO0lBQ3RELGlCQUFpQixDQUFDLFFBQVc7UUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELDBDQUEwQztJQUMxQyxXQUFXO1FBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsK0RBQStEO0lBQy9ELGlCQUFpQixDQUFDLFFBQVc7UUFDekIsTUFBTSxhQUFhLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGlFQUFpRTtJQUNqRSxtQkFBbUIsQ0FBQyxRQUFXO1FBQzNCLE1BQU0sYUFBYSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBUcmVlQ29udHJvbCB9IGZyb20gJy4vdHJlZS1jb250cm9sJztcblxuXG4vKiogQmFzZSB0cmVlIGNvbnRyb2wuIEl0IGhhcyBiYXNpYyB0b2dnbGUvZXhwYW5kL2NvbGxhcHNlIG9wZXJhdGlvbnMgb24gYSBzaW5nbGUgZGF0YSBub2RlLiAqL1xuLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5hbWluZy1jb252ZW50aW9uICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVRyZWVDb250cm9sPFQ+IGltcGxlbWVudHMgVHJlZUNvbnRyb2w8VD4ge1xuICAgIGRhdGFOb2RlczogVFtdO1xuXG4gICAgLyoqIEEgc2VsZWN0aW9uIG1vZGVsIHdpdGggbXVsdGktc2VsZWN0aW9uIHRvIHRyYWNrIGV4cGFuc2lvbiBzdGF0dXMuICovXG4gICAgZXhwYW5zaW9uTW9kZWw6IFNlbGVjdGlvbk1vZGVsPFQ+ID0gbmV3IFNlbGVjdGlvbk1vZGVsPFQ+KHRydWUpO1xuXG4gICAgZmlsdGVyTW9kZWw6IFNlbGVjdGlvbk1vZGVsPFQ+ID0gbmV3IFNlbGVjdGlvbk1vZGVsPFQ+KHRydWUpO1xuXG4gICAgZmlsdGVyVmFsdWUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuXG4gICAgLyoqIEdldCBkZXB0aCBvZiBhIGdpdmVuIGRhdGEgbm9kZSwgcmV0dXJuIHRoZSBsZXZlbCBudW1iZXIuIFRoaXMgaXMgZm9yIGZsYXQgdHJlZSBub2RlLiAqL1xuICAgIGdldExldmVsOiAoZGF0YU5vZGU6IFQpID0+IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGRhdGEgbm9kZSBpcyBleHBhbmRhYmxlLiBSZXR1cm5zIHRydWUgaWYgZXhwYW5kYWJsZS5cbiAgICAgKiBUaGlzIGlzIGZvciBmbGF0IHRyZWUgbm9kZS5cbiAgICAgKi9cbiAgICBpc0V4cGFuZGFibGU6IChkYXRhTm9kZTogVCkgPT4gYm9vbGVhbjtcblxuICAgIC8qKiBHZXRzIGEgc3RyZWFtIHRoYXQgZW1pdHMgd2hlbmV2ZXIgdGhlIGdpdmVuIGRhdGEgbm9kZSdzIGNoaWxkcmVuIGNoYW5nZS4gKi9cbiAgICBnZXRDaGlsZHJlbjogKGRhdGFOb2RlOiBUKSA9PiBPYnNlcnZhYmxlPFRbXT47XG5cbiAgICAvKiogR2V0cyBhIGxpc3Qgb2YgZGVzY2VuZGVudCBkYXRhIG5vZGVzIG9mIGEgc3VidHJlZSByb290ZWQgYXQgZ2l2ZW4gZGF0YSBub2RlIHJlY3Vyc2l2ZWx5LiAqL1xuICAgIGFic3RyYWN0IGdldERlc2NlbmRhbnRzKGRhdGFOb2RlOiBUKTogVFtdO1xuXG4gICAgLyoqIEV4cGFuZHMgYWxsIGRhdGEgbm9kZXMgaW4gdGhlIHRyZWUuICovXG4gICAgYWJzdHJhY3QgZXhwYW5kQWxsKCk6IHZvaWQ7XG5cbiAgICAvKiogVG9nZ2xlcyBvbmUgc2luZ2xlIGRhdGEgbm9kZSdzIGV4cGFuZGVkL2NvbGxhcHNlZCBzdGF0ZS4gKi9cbiAgICB0b2dnbGUoZGF0YU5vZGU6IFQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyVmFsdWUudmFsdWUpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgdGhpcy5leHBhbnNpb25Nb2RlbC50b2dnbGUoZGF0YU5vZGUpO1xuICAgIH1cblxuICAgIC8qKiBFeHBhbmRzIG9uZSBzaW5nbGUgZGF0YSBub2RlLiAqL1xuICAgIGV4cGFuZChkYXRhTm9kZTogVCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5maWx0ZXJWYWx1ZS52YWx1ZSkgeyByZXR1cm47IH1cblxuICAgICAgICB0aGlzLmV4cGFuc2lvbk1vZGVsLnNlbGVjdChkYXRhTm9kZSk7XG4gICAgfVxuXG4gICAgLyoqIENvbGxhcHNlcyBvbmUgc2luZ2xlIGRhdGEgbm9kZS4gKi9cbiAgICBjb2xsYXBzZShkYXRhTm9kZTogVCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5maWx0ZXJWYWx1ZS52YWx1ZSkgeyByZXR1cm47IH1cblxuICAgICAgICB0aGlzLmV4cGFuc2lvbk1vZGVsLmRlc2VsZWN0KGRhdGFOb2RlKTtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciBhIGdpdmVuIGRhdGEgbm9kZSBpcyBleHBhbmRlZCBvciBub3QuIFJldHVybnMgdHJ1ZSBpZiB0aGUgZGF0YSBub2RlIGlzIGV4cGFuZGVkLiAqL1xuICAgIGlzRXhwYW5kZWQoZGF0YU5vZGU6IFQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXhwYW5zaW9uTW9kZWwuaXNTZWxlY3RlZChkYXRhTm9kZSk7XG4gICAgfVxuXG4gICAgLyoqIFRvZ2dsZXMgYSBzdWJ0cmVlIHJvb3RlZCBhdCBgbm9kZWAgcmVjdXJzaXZlbHkuICovXG4gICAgdG9nZ2xlRGVzY2VuZGFudHMoZGF0YU5vZGU6IFQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5leHBhbnNpb25Nb2RlbC5pc1NlbGVjdGVkKGRhdGFOb2RlKVxuICAgICAgICAgICAgPyB0aGlzLmNvbGxhcHNlRGVzY2VuZGFudHMoZGF0YU5vZGUpXG4gICAgICAgICAgICA6IHRoaXMuZXhwYW5kRGVzY2VuZGFudHMoZGF0YU5vZGUpO1xuICAgIH1cblxuICAgIC8qKiBDb2xsYXBzZSBhbGwgZGF0YU5vZGVzIGluIHRoZSB0cmVlLiAqL1xuICAgIGNvbGxhcHNlQWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV4cGFuc2lvbk1vZGVsLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgLyoqIEV4cGFuZHMgYSBzdWJ0cmVlIHJvb3RlZCBhdCBnaXZlbiBkYXRhIG5vZGUgcmVjdXJzaXZlbHkuICovXG4gICAgZXhwYW5kRGVzY2VuZGFudHMoZGF0YU5vZGU6IFQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdG9CZVByb2Nlc3NlZCA9IFtkYXRhTm9kZV07XG4gICAgICAgIHRvQmVQcm9jZXNzZWQucHVzaCguLi50aGlzLmdldERlc2NlbmRhbnRzKGRhdGFOb2RlKSk7XG4gICAgICAgIHRoaXMuZXhwYW5zaW9uTW9kZWwuc2VsZWN0KC4uLnRvQmVQcm9jZXNzZWQpO1xuICAgIH1cblxuICAgIC8qKiBDb2xsYXBzZXMgYSBzdWJ0cmVlIHJvb3RlZCBhdCBnaXZlbiBkYXRhIG5vZGUgcmVjdXJzaXZlbHkuICovXG4gICAgY29sbGFwc2VEZXNjZW5kYW50cyhkYXRhTm9kZTogVCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0b0JlUHJvY2Vzc2VkID0gW2RhdGFOb2RlXTtcbiAgICAgICAgdG9CZVByb2Nlc3NlZC5wdXNoKC4uLnRoaXMuZ2V0RGVzY2VuZGFudHMoZGF0YU5vZGUpKTtcbiAgICAgICAgdGhpcy5leHBhbnNpb25Nb2RlbC5kZXNlbGVjdCguLi50b0JlUHJvY2Vzc2VkKTtcbiAgICB9XG59XG4iXX0=
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10cmVlLWNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RyZWUvY29udHJvbC9iYXNlLXRyZWUtY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUtuRCwrRkFBK0Y7QUFDL0YsZ0RBQWdEO0FBQ2hELE1BQU0sT0FBZ0IsZUFBZTtJQUFyQztRQUdJLHdFQUF3RTtRQUN4RSxtQkFBYyxHQUFzQixJQUFJLGNBQWMsQ0FBSSxJQUFJLENBQUMsQ0FBQztRQUVoRSxnQkFBVyxHQUFzQixJQUFJLGNBQWMsQ0FBSSxJQUFJLENBQUMsQ0FBQztRQUU3RCxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFFLENBQUMsQ0FBQztJQXVFekQsQ0FBQztJQW5ERywrREFBK0Q7SUFDL0QsTUFBTSxDQUFDLFFBQVc7UUFDZCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFO1lBQUUsT0FBTztTQUFFO1FBRXZDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxvQ0FBb0M7SUFDcEMsTUFBTSxDQUFDLFFBQVc7UUFDZCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFO1lBQUUsT0FBTztTQUFFO1FBRXZDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxzQ0FBc0M7SUFDdEMsUUFBUSxDQUFDLFFBQVc7UUFDaEIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRTtZQUFFLE9BQU87U0FBRTtRQUV2QyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsK0ZBQStGO0lBQy9GLFVBQVUsQ0FBQyxRQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELHNEQUFzRDtJQUN0RCxpQkFBaUIsQ0FBQyxRQUFXO1FBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNwQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztZQUNwQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCwwQ0FBMEM7SUFDMUMsV0FBVztRQUNQLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELCtEQUErRDtJQUMvRCxpQkFBaUIsQ0FBQyxRQUFXO1FBQ3pCLE1BQU0sYUFBYSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxpRUFBaUU7SUFDakUsbUJBQW1CLENBQUMsUUFBVztRQUMzQixNQUFNLGFBQWEsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQztJQUNuRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgVHJlZUNvbnRyb2wgfSBmcm9tICcuL3RyZWUtY29udHJvbCc7XG5cblxuLyoqIEJhc2UgdHJlZSBjb250cm9sLiBJdCBoYXMgYmFzaWMgdG9nZ2xlL2V4cGFuZC9jb2xsYXBzZSBvcGVyYXRpb25zIG9uIGEgc2luZ2xlIGRhdGEgbm9kZS4gKi9cbi8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuYW1pbmctY29udmVudGlvbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VUcmVlQ29udHJvbDxUPiBpbXBsZW1lbnRzIFRyZWVDb250cm9sPFQ+IHtcbiAgICBkYXRhTm9kZXM6IFRbXTtcblxuICAgIC8qKiBBIHNlbGVjdGlvbiBtb2RlbCB3aXRoIG11bHRpLXNlbGVjdGlvbiB0byB0cmFjayBleHBhbnNpb24gc3RhdHVzLiAqL1xuICAgIGV4cGFuc2lvbk1vZGVsOiBTZWxlY3Rpb25Nb2RlbDxUPiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxUPih0cnVlKTtcblxuICAgIGZpbHRlck1vZGVsOiBTZWxlY3Rpb25Nb2RlbDxUPiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxUPih0cnVlKTtcblxuICAgIGZpbHRlclZhbHVlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPignJyk7XG5cbiAgICAvKiogR2V0IGRlcHRoIG9mIGEgZ2l2ZW4gZGF0YSBub2RlLCByZXR1cm4gdGhlIGxldmVsIG51bWJlci4gVGhpcyBpcyBmb3IgZmxhdCB0cmVlIG5vZGUuICovXG4gICAgZ2V0TGV2ZWw6IChkYXRhTm9kZTogVCkgPT4gbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgZGF0YSBub2RlIGlzIGV4cGFuZGFibGUuIFJldHVybnMgdHJ1ZSBpZiBleHBhbmRhYmxlLlxuICAgICAqIFRoaXMgaXMgZm9yIGZsYXQgdHJlZSBub2RlLlxuICAgICAqL1xuICAgIGlzRXhwYW5kYWJsZTogKGRhdGFOb2RlOiBUKSA9PiBib29sZWFuO1xuXG4gICAgLyoqIEdldHMgYSBzdHJlYW0gdGhhdCBlbWl0cyB3aGVuZXZlciB0aGUgZ2l2ZW4gZGF0YSBub2RlJ3MgY2hpbGRyZW4gY2hhbmdlLiAqL1xuICAgIGdldENoaWxkcmVuOiAoZGF0YU5vZGU6IFQpID0+IE9ic2VydmFibGU8VFtdPjtcblxuICAgIC8qKiBHZXRzIGEgbGlzdCBvZiBkZXNjZW5kZW50IGRhdGEgbm9kZXMgb2YgYSBzdWJ0cmVlIHJvb3RlZCBhdCBnaXZlbiBkYXRhIG5vZGUgcmVjdXJzaXZlbHkuICovXG4gICAgYWJzdHJhY3QgZ2V0RGVzY2VuZGFudHMoZGF0YU5vZGU6IFQpOiBUW107XG5cbiAgICAvKiogRXhwYW5kcyBhbGwgZGF0YSBub2RlcyBpbiB0aGUgdHJlZS4gKi9cbiAgICBhYnN0cmFjdCBleHBhbmRBbGwoKTogdm9pZDtcblxuICAgIC8qKiBUb2dnbGVzIG9uZSBzaW5nbGUgZGF0YSBub2RlJ3MgZXhwYW5kZWQvY29sbGFwc2VkIHN0YXRlLiAqL1xuICAgIHRvZ2dsZShkYXRhTm9kZTogVCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5maWx0ZXJWYWx1ZS52YWx1ZSkgeyByZXR1cm47IH1cblxuICAgICAgICB0aGlzLmV4cGFuc2lvbk1vZGVsLnRvZ2dsZShkYXRhTm9kZSk7XG4gICAgfVxuXG4gICAgLyoqIEV4cGFuZHMgb25lIHNpbmdsZSBkYXRhIG5vZGUuICovXG4gICAgZXhwYW5kKGRhdGFOb2RlOiBUKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZpbHRlclZhbHVlLnZhbHVlKSB7IHJldHVybjsgfVxuXG4gICAgICAgIHRoaXMuZXhwYW5zaW9uTW9kZWwuc2VsZWN0KGRhdGFOb2RlKTtcbiAgICB9XG5cbiAgICAvKiogQ29sbGFwc2VzIG9uZSBzaW5nbGUgZGF0YSBub2RlLiAqL1xuICAgIGNvbGxhcHNlKGRhdGFOb2RlOiBUKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZpbHRlclZhbHVlLnZhbHVlKSB7IHJldHVybjsgfVxuXG4gICAgICAgIHRoaXMuZXhwYW5zaW9uTW9kZWwuZGVzZWxlY3QoZGF0YU5vZGUpO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIGEgZ2l2ZW4gZGF0YSBub2RlIGlzIGV4cGFuZGVkIG9yIG5vdC4gUmV0dXJucyB0cnVlIGlmIHRoZSBkYXRhIG5vZGUgaXMgZXhwYW5kZWQuICovXG4gICAgaXNFeHBhbmRlZChkYXRhTm9kZTogVCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5leHBhbnNpb25Nb2RlbC5pc1NlbGVjdGVkKGRhdGFOb2RlKTtcbiAgICB9XG5cbiAgICAvKiogVG9nZ2xlcyBhIHN1YnRyZWUgcm9vdGVkIGF0IGBub2RlYCByZWN1cnNpdmVseS4gKi9cbiAgICB0b2dnbGVEZXNjZW5kYW50cyhkYXRhTm9kZTogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV4cGFuc2lvbk1vZGVsLmlzU2VsZWN0ZWQoZGF0YU5vZGUpXG4gICAgICAgICAgICA/IHRoaXMuY29sbGFwc2VEZXNjZW5kYW50cyhkYXRhTm9kZSlcbiAgICAgICAgICAgIDogdGhpcy5leHBhbmREZXNjZW5kYW50cyhkYXRhTm9kZSk7XG4gICAgfVxuXG4gICAgLyoqIENvbGxhcHNlIGFsbCBkYXRhTm9kZXMgaW4gdGhlIHRyZWUuICovXG4gICAgY29sbGFwc2VBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwYW5zaW9uTW9kZWwuY2xlYXIoKTtcbiAgICB9XG5cbiAgICAvKiogRXhwYW5kcyBhIHN1YnRyZWUgcm9vdGVkIGF0IGdpdmVuIGRhdGEgbm9kZSByZWN1cnNpdmVseS4gKi9cbiAgICBleHBhbmREZXNjZW5kYW50cyhkYXRhTm9kZTogVCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0b0JlUHJvY2Vzc2VkID0gW2RhdGFOb2RlXTtcbiAgICAgICAgdG9CZVByb2Nlc3NlZC5wdXNoKC4uLnRoaXMuZ2V0RGVzY2VuZGFudHMoZGF0YU5vZGUpKTtcbiAgICAgICAgdGhpcy5leHBhbnNpb25Nb2RlbC5zZWxlY3QoLi4udG9CZVByb2Nlc3NlZCk7XG4gICAgfVxuXG4gICAgLyoqIENvbGxhcHNlcyBhIHN1YnRyZWUgcm9vdGVkIGF0IGdpdmVuIGRhdGEgbm9kZSByZWN1cnNpdmVseS4gKi9cbiAgICBjb2xsYXBzZURlc2NlbmRhbnRzKGRhdGFOb2RlOiBUKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRvQmVQcm9jZXNzZWQgPSBbZGF0YU5vZGVdO1xuICAgICAgICB0b0JlUHJvY2Vzc2VkLnB1c2goLi4udGhpcy5nZXREZXNjZW5kYW50cyhkYXRhTm9kZSkpO1xuICAgICAgICB0aGlzLmV4cGFuc2lvbk1vZGVsLmRlc2VsZWN0KC4uLnRvQmVQcm9jZXNzZWQpO1xuICAgIH1cbn1cbiJdfQ==