@koobiq/components 18.35.0 → 18.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (546) hide show
  1. package/accordion/accordion.component.d.ts +1 -1
  2. package/app-switcher/_app-switcher-theme.scss +34 -0
  3. package/app-switcher/app-switcher-animations.d.ts +5 -0
  4. package/app-switcher/app-switcher-dropdown-app.d.ts +11 -0
  5. package/app-switcher/app-switcher-dropdown-app.scss +85 -0
  6. package/app-switcher/app-switcher-dropdown-site.d.ts +9 -0
  7. package/app-switcher/app-switcher-dropdown-site.scss +53 -0
  8. package/app-switcher/app-switcher.d.ts +191 -0
  9. package/app-switcher/app-switcher.module.d.ts +10 -0
  10. package/app-switcher/app-switcher.scss +64 -0
  11. package/app-switcher/index.d.ts +1 -0
  12. package/app-switcher/kbq-app-switcher-list-item.d.ts +16 -0
  13. package/app-switcher/kbq-app-switcher-list-item.scss +180 -0
  14. package/app-switcher/public-api.d.ts +6 -0
  15. package/badge/badge.component.d.ts +1 -1
  16. package/badge/badge.component.scss +2 -0
  17. package/breadcrumbs/breadcrumbs.scss +4 -0
  18. package/button/button.component.d.ts +2 -2
  19. package/core/common-behaviors/clipboard.d.ts +1 -1
  20. package/core/common-behaviors/color.d.ts +5 -5
  21. package/core/common-behaviors/focus-monitor.d.ts +19 -0
  22. package/core/common-behaviors/hovered.d.ts +13 -0
  23. package/core/common-behaviors/index.d.ts +4 -0
  24. package/core/common-behaviors/orientation.d.ts +4 -0
  25. package/core/common-behaviors/read-state.d.ts +12 -0
  26. package/core/locales/en-US.d.ts +62 -0
  27. package/core/locales/es-LA.d.ts +62 -0
  28. package/core/locales/fa-IR.d.ts +62 -0
  29. package/core/locales/locale-service.d.ts +434 -0
  30. package/core/locales/pt-BR.d.ts +62 -0
  31. package/core/locales/ru-RU.d.ts +62 -0
  32. package/core/locales/tk-TM.d.ts +62 -0
  33. package/core/locales/types.d.ts +22 -0
  34. package/core/locales/zh-CN.d.ts +62 -0
  35. package/core/navbar/rectangle-item.d.ts +1 -1
  36. package/core/option/action.d.ts +1 -1
  37. package/core/option/option.d.ts +1 -1
  38. package/core/pop-up/constants.d.ts +2 -1
  39. package/core/pop-up/pop-up-trigger.d.ts +3 -3
  40. package/core/pop-up/pop-up.d.ts +2 -1
  41. package/core/select/common.d.ts +3 -0
  42. package/core/select/constants.d.ts +5 -0
  43. package/core/styles/common/_select.scss +5 -0
  44. package/core/utils/dom.d.ts +1 -6
  45. package/divider/divider.scss +1 -0
  46. package/dropdown/dropdown.component.d.ts +5 -1
  47. package/dropdown/dropdown.module.d.ts +1 -1
  48. package/esm2022/accordion/accordion-content.mjs +3 -3
  49. package/esm2022/accordion/accordion-header.mjs +3 -3
  50. package/esm2022/accordion/accordion-item.mjs +3 -3
  51. package/esm2022/accordion/accordion-trigger.component.mjs +3 -3
  52. package/esm2022/accordion/accordion.component.mjs +5 -5
  53. package/esm2022/accordion/accordion.module.mjs +4 -4
  54. package/esm2022/actions-panel/actions-panel-container.mjs +3 -3
  55. package/esm2022/actions-panel/actions-panel.mjs +3 -3
  56. package/esm2022/actions-panel/module.mjs +4 -4
  57. package/esm2022/alert/alert.component.mjs +12 -12
  58. package/esm2022/alert/alert.module.mjs +4 -4
  59. package/esm2022/app-switcher/app-switcher-animations.mjs +18 -0
  60. package/esm2022/app-switcher/app-switcher-dropdown-app.mjs +75 -0
  61. package/esm2022/app-switcher/app-switcher-dropdown-site.mjs +60 -0
  62. package/esm2022/app-switcher/app-switcher.mjs +446 -0
  63. package/esm2022/app-switcher/app-switcher.module.mjs +45 -0
  64. package/esm2022/app-switcher/index.mjs +2 -0
  65. package/esm2022/app-switcher/kbq-app-switcher-list-item.mjs +84 -0
  66. package/esm2022/app-switcher/koobiq-components-app-switcher.mjs +5 -0
  67. package/esm2022/app-switcher/public-api.mjs +7 -0
  68. package/esm2022/autocomplete/autocomplete-origin.directive.mjs +3 -3
  69. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +3 -3
  70. package/esm2022/autocomplete/autocomplete.component.mjs +3 -3
  71. package/esm2022/autocomplete/autocomplete.module.mjs +4 -4
  72. package/esm2022/badge/badge.component.mjs +11 -11
  73. package/esm2022/badge/badge.module.mjs +4 -4
  74. package/esm2022/breadcrumbs/breadcrumbs.mjs +17 -17
  75. package/esm2022/breadcrumbs/breadcrumbs.module.mjs +4 -4
  76. package/esm2022/button/button.component.mjs +7 -7
  77. package/esm2022/button/button.dropdown-trigger.directive.mjs +3 -3
  78. package/esm2022/button/button.module.mjs +4 -4
  79. package/esm2022/button-toggle/button-toggle.component.mjs +6 -6
  80. package/esm2022/button-toggle/button-toggle.module.mjs +4 -4
  81. package/esm2022/checkbox/checkbox-module.mjs +4 -4
  82. package/esm2022/checkbox/checkbox-required-validator.mjs +3 -3
  83. package/esm2022/checkbox/checkbox.mjs +3 -3
  84. package/esm2022/clamped-text/clamped-text.mjs +3 -3
  85. package/esm2022/clamped-text/module.mjs +4 -4
  86. package/esm2022/code-block/code-block-highlight.mjs +7 -7
  87. package/esm2022/code-block/code-block.mjs +4 -4
  88. package/esm2022/code-block/code-block.module.mjs +4 -4
  89. package/esm2022/content-panel/content-panel.mjs +24 -24
  90. package/esm2022/content-panel/module.mjs +4 -4
  91. package/esm2022/content-panel/resizable.mjs +6 -6
  92. package/esm2022/core/common-behaviors/clipboard.mjs +4 -4
  93. package/esm2022/core/common-behaviors/color.mjs +6 -7
  94. package/esm2022/core/common-behaviors/common-module.mjs +4 -4
  95. package/esm2022/core/common-behaviors/focus-monitor.mjs +37 -0
  96. package/esm2022/core/common-behaviors/hovered.mjs +31 -0
  97. package/esm2022/core/common-behaviors/index.mjs +5 -1
  98. package/esm2022/core/common-behaviors/orientation.mjs +2 -0
  99. package/esm2022/core/common-behaviors/read-state.mjs +33 -0
  100. package/esm2022/core/error/error-state-matcher.mjs +9 -9
  101. package/esm2022/core/form-field/field-sizing-content.mjs +3 -3
  102. package/esm2022/core/formatters/date/formatter.mjs +3 -3
  103. package/esm2022/core/formatters/date/formatter.pipe.mjs +78 -78
  104. package/esm2022/core/formatters/filesize/formatter.mjs +3 -3
  105. package/esm2022/core/formatters/index.mjs +4 -4
  106. package/esm2022/core/formatters/number/formatter.mjs +12 -12
  107. package/esm2022/core/forms/forms-module.mjs +4 -4
  108. package/esm2022/core/forms/forms.directive.mjs +6 -6
  109. package/esm2022/core/highlight/highlight.pipe.mjs +3 -3
  110. package/esm2022/core/highlight/index.mjs +4 -4
  111. package/esm2022/core/line/line.mjs +7 -7
  112. package/esm2022/core/locales/en-US.mjs +105 -1
  113. package/esm2022/core/locales/es-LA.mjs +105 -1
  114. package/esm2022/core/locales/fa-IR.mjs +75 -1
  115. package/esm2022/core/locales/locale-service.mjs +3 -3
  116. package/esm2022/core/locales/locale-service.module.mjs +4 -4
  117. package/esm2022/core/locales/pt-BR.mjs +105 -1
  118. package/esm2022/core/locales/ru-RU.mjs +119 -1
  119. package/esm2022/core/locales/tk-TM.mjs +105 -1
  120. package/esm2022/core/locales/types.mjs +1 -1
  121. package/esm2022/core/locales/zh-CN.mjs +63 -1
  122. package/esm2022/core/navbar/rectangle-item.mjs +7 -6
  123. package/esm2022/core/option/action-container.mjs +3 -3
  124. package/esm2022/core/option/action.mjs +4 -4
  125. package/esm2022/core/option/optgroup.mjs +3 -3
  126. package/esm2022/core/option/option-module.mjs +4 -4
  127. package/esm2022/core/option/option.mjs +4 -4
  128. package/esm2022/core/pop-up/constants.mjs +2 -1
  129. package/esm2022/core/pop-up/pop-up-trigger.mjs +6 -6
  130. package/esm2022/core/pop-up/pop-up.mjs +4 -4
  131. package/esm2022/core/select/common.mjs +27 -17
  132. package/esm2022/core/select/constants.mjs +6 -1
  133. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  134. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +4 -4
  135. package/esm2022/core/services/measure-scrollbar.service.mjs +3 -3
  136. package/esm2022/core/services/theme.service.mjs +3 -3
  137. package/esm2022/core/utils/dom.mjs +2 -8
  138. package/esm2022/core/version.mjs +2 -2
  139. package/esm2022/datepicker/calendar-body.component.mjs +3 -3
  140. package/esm2022/datepicker/calendar-header.component.mjs +3 -3
  141. package/esm2022/datepicker/calendar.component.mjs +3 -3
  142. package/esm2022/datepicker/datepicker-input.directive.mjs +6 -6
  143. package/esm2022/datepicker/datepicker-intl.mjs +3 -3
  144. package/esm2022/datepicker/datepicker-module.mjs +4 -4
  145. package/esm2022/datepicker/datepicker-toggle.component.mjs +9 -9
  146. package/esm2022/datepicker/datepicker.component.mjs +6 -6
  147. package/esm2022/datepicker/month-view.component.mjs +3 -3
  148. package/esm2022/divider/divider.component.mjs +4 -4
  149. package/esm2022/divider/divider.module.mjs +4 -4
  150. package/esm2022/dl/dl.component.mjs +9 -9
  151. package/esm2022/dl/dl.module.mjs +4 -4
  152. package/esm2022/dropdown/dropdown-content.directive.mjs +3 -3
  153. package/esm2022/dropdown/dropdown-item.component.mjs +3 -3
  154. package/esm2022/dropdown/dropdown-trigger.directive.mjs +5 -5
  155. package/esm2022/dropdown/dropdown.component.mjs +18 -8
  156. package/esm2022/dropdown/dropdown.module.mjs +14 -10
  157. package/esm2022/dynamic-translation/dynamic-translation.mjs +9 -9
  158. package/esm2022/dynamic-translation/module.mjs +4 -4
  159. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +7 -7
  160. package/esm2022/empty-state/empty-state.component.mjs +15 -15
  161. package/esm2022/empty-state/empty-state.module.mjs +4 -4
  162. package/esm2022/file-upload/file-drop.mjs +3 -3
  163. package/esm2022/file-upload/file-upload.mjs +1 -1
  164. package/esm2022/file-upload/file-upload.module.mjs +4 -4
  165. package/esm2022/file-upload/multiple-file-upload.component.mjs +19 -8
  166. package/esm2022/file-upload/single-file-upload.component.mjs +13 -5
  167. package/esm2022/filter-bar/filter-bar-button.mjs +3 -3
  168. package/esm2022/filter-bar/filter-bar.mjs +3 -3
  169. package/esm2022/filter-bar/filter-bar.module.mjs +4 -4
  170. package/esm2022/filter-bar/filter-refresher.mjs +3 -3
  171. package/esm2022/filter-bar/filter-reset.mjs +3 -3
  172. package/esm2022/filter-bar/filter-search.mjs +3 -3
  173. package/esm2022/filter-bar/filters.mjs +4 -4
  174. package/esm2022/filter-bar/pipe-add.mjs +5 -5
  175. package/esm2022/filter-bar/pipe.directive.mjs +3 -3
  176. package/esm2022/filter-bar/pipes/base-pipe.mjs +7 -7
  177. package/esm2022/filter-bar/pipes/pipe-button.mjs +3 -3
  178. package/esm2022/filter-bar/pipes/pipe-date.mjs +6 -6
  179. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +6 -6
  180. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +12 -7
  181. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +12 -7
  182. package/esm2022/filter-bar/pipes/pipe-readonly.mjs +6 -6
  183. package/esm2022/filter-bar/pipes/pipe-select.mjs +6 -6
  184. package/esm2022/filter-bar/pipes/pipe-state.mjs +3 -3
  185. package/esm2022/filter-bar/pipes/pipe-text.mjs +6 -6
  186. package/esm2022/filter-bar/pipes/pipe-title.mjs +3 -3
  187. package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +6 -6
  188. package/esm2022/form-field/cleaner.mjs +3 -3
  189. package/esm2022/form-field/error.mjs +3 -3
  190. package/esm2022/form-field/fieldset.mjs +11 -11
  191. package/esm2022/form-field/form-field.mjs +11 -11
  192. package/esm2022/form-field/form-field.module.mjs +4 -4
  193. package/esm2022/form-field/hint.mjs +3 -3
  194. package/esm2022/form-field/label.mjs +3 -3
  195. package/esm2022/form-field/password-hint.mjs +3 -3
  196. package/esm2022/form-field/password-toggle.mjs +7 -7
  197. package/esm2022/form-field/prefix.mjs +3 -3
  198. package/esm2022/form-field/reactive-password-hint.mjs +3 -3
  199. package/esm2022/form-field/stepper.mjs +3 -3
  200. package/esm2022/form-field/suffix.mjs +3 -3
  201. package/esm2022/form-field/validate.directive.mjs +3 -3
  202. package/esm2022/icon/icon-button.component.mjs +3 -3
  203. package/esm2022/icon/icon-item.component.mjs +3 -3
  204. package/esm2022/icon/icon.component.mjs +4 -4
  205. package/esm2022/icon/icon.module.mjs +4 -4
  206. package/esm2022/inline-edit/index.mjs +3 -0
  207. package/esm2022/inline-edit/inline-edit.mjs +378 -0
  208. package/esm2022/inline-edit/koobiq-components-inline-edit.mjs +5 -0
  209. package/esm2022/inline-edit/module.mjs +25 -0
  210. package/esm2022/input/input-number-validators.mjs +6 -6
  211. package/esm2022/input/input-number.mjs +4 -4
  212. package/esm2022/input/input-password.mjs +4 -4
  213. package/esm2022/input/input.mjs +7 -7
  214. package/esm2022/input/input.module.mjs +4 -4
  215. package/esm2022/link/link.component.mjs +6 -6
  216. package/esm2022/link/link.module.mjs +4 -4
  217. package/esm2022/list/list-selection.component.mjs +10 -10
  218. package/esm2022/list/list.component.mjs +6 -6
  219. package/esm2022/list/list.module.mjs +4 -4
  220. package/esm2022/loader-overlay/loader-overlay.component.mjs +13 -13
  221. package/esm2022/loader-overlay/loader-overlay.module.mjs +4 -4
  222. package/esm2022/markdown/markdown.component.mjs +5 -5
  223. package/esm2022/markdown/markdown.module.mjs +4 -4
  224. package/esm2022/markdown/markdown.service.mjs +3 -3
  225. package/esm2022/modal/css-unit.pipe.mjs +3 -3
  226. package/esm2022/modal/modal-control.service.mjs +3 -3
  227. package/esm2022/modal/modal.component.mjs +4 -4
  228. package/esm2022/modal/modal.directive.mjs +12 -12
  229. package/esm2022/modal/modal.module.mjs +4 -4
  230. package/esm2022/modal/modal.service.mjs +3 -3
  231. package/esm2022/navbar/navbar-item.component.mjs +49 -38
  232. package/esm2022/navbar/navbar.component.mjs +10 -10
  233. package/esm2022/navbar/navbar.module.mjs +4 -4
  234. package/esm2022/navbar/vertical-navbar.component.mjs +4 -4
  235. package/esm2022/navbar-ic/navbar-ic-header.mjs +7 -7
  236. package/esm2022/navbar-ic/navbar-ic-item.mjs +30 -38
  237. package/esm2022/navbar-ic/navbar-ic.mjs +18 -13
  238. package/esm2022/navbar-ic/navbar-ic.module.mjs +4 -4
  239. package/esm2022/notification-center/index.mjs +2 -0
  240. package/esm2022/notification-center/koobiq-components-notification-center.mjs +5 -0
  241. package/esm2022/notification-center/notification-center-animations.mjs +18 -0
  242. package/esm2022/notification-center/notification-center.mjs +353 -0
  243. package/esm2022/notification-center/notification-center.module.mjs +38 -0
  244. package/esm2022/notification-center/notification-center.service.mjs +127 -0
  245. package/esm2022/notification-center/notification-item.mjs +70 -0
  246. package/esm2022/notification-center/public-api.mjs +5 -0
  247. package/esm2022/overflow-items/module.mjs +4 -4
  248. package/esm2022/overflow-items/overflow-items.mjs +95 -41
  249. package/esm2022/popover/popover-confirm.component.mjs +10 -10
  250. package/esm2022/popover/popover.component.mjs +18 -13
  251. package/esm2022/popover/popover.module.mjs +4 -4
  252. package/esm2022/progress-bar/progress-bar.component.mjs +9 -9
  253. package/esm2022/progress-bar/progress-bar.module.mjs +4 -4
  254. package/esm2022/progress-spinner/progress-spinner.component.mjs +9 -9
  255. package/esm2022/progress-spinner/progress-spinner.module.mjs +4 -4
  256. package/esm2022/radio/radio.component.mjs +6 -6
  257. package/esm2022/radio/radio.module.mjs +4 -4
  258. package/esm2022/risk-level/risk-level.component.mjs +3 -3
  259. package/esm2022/risk-level/risk-level.module.mjs +4 -4
  260. package/esm2022/scrollbar/scrollbar.component.mjs +3 -3
  261. package/esm2022/scrollbar/scrollbar.directive.mjs +3 -3
  262. package/esm2022/scrollbar/scrollbar.module.mjs +4 -4
  263. package/esm2022/search-expandable/index.mjs +2 -0
  264. package/esm2022/search-expandable/koobiq-components-search-expandable.mjs +5 -0
  265. package/esm2022/search-expandable/public-api.mjs +3 -0
  266. package/esm2022/search-expandable/search-expandable.mjs +177 -0
  267. package/esm2022/search-expandable/search-expandable.module.mjs +18 -0
  268. package/esm2022/select/select-option.directive.mjs +3 -3
  269. package/esm2022/select/select.component.mjs +37 -10
  270. package/esm2022/select/select.module.mjs +4 -4
  271. package/esm2022/sidebar/sidebar.component.mjs +9 -9
  272. package/esm2022/sidebar/sidebar.module.mjs +4 -4
  273. package/esm2022/sidepanel/sidepanel-container.component.mjs +3 -3
  274. package/esm2022/sidepanel/sidepanel-directives.mjs +15 -15
  275. package/esm2022/sidepanel/sidepanel.module.mjs +4 -4
  276. package/esm2022/sidepanel/sidepanel.service.mjs +3 -3
  277. package/esm2022/split-button/index.mjs +2 -0
  278. package/esm2022/split-button/koobiq-components-split-button.mjs +5 -0
  279. package/esm2022/split-button/public-api.mjs +3 -0
  280. package/esm2022/split-button/split-button.mjs +92 -0
  281. package/esm2022/split-button/split-button.module.mjs +18 -0
  282. package/esm2022/splitter/splitter.component.mjs +13 -13
  283. package/esm2022/splitter/splitter.module.mjs +4 -4
  284. package/esm2022/table/table.component.mjs +6 -6
  285. package/esm2022/table/table.module.mjs +4 -4
  286. package/esm2022/tabs/paginated-tab-header.mjs +4 -4
  287. package/esm2022/tabs/tab-body.component.mjs +6 -6
  288. package/esm2022/tabs/tab-content.directive.mjs +3 -3
  289. package/esm2022/tabs/tab-group.component.mjs +15 -15
  290. package/esm2022/tabs/tab-header.component.mjs +4 -4
  291. package/esm2022/tabs/tab-label-wrapper.directive.mjs +4 -4
  292. package/esm2022/tabs/tab-label.directive.mjs +3 -3
  293. package/esm2022/tabs/tab-nav-bar.mjs +10 -10
  294. package/esm2022/tabs/tab.component.mjs +3 -3
  295. package/esm2022/tabs/tabs.module.mjs +4 -4
  296. package/esm2022/tags/tag-input.mjs +17 -11
  297. package/esm2022/tags/tag-list.component.mjs +236 -194
  298. package/esm2022/tags/tag.component.mjs +209 -138
  299. package/esm2022/tags/tag.module.mjs +4 -4
  300. package/esm2022/textarea/textarea.component.mjs +5 -5
  301. package/esm2022/textarea/textarea.module.mjs +4 -4
  302. package/esm2022/time-range/constants.mjs +21 -0
  303. package/esm2022/time-range/index.mjs +8 -0
  304. package/esm2022/time-range/koobiq-components-time-range.mjs +5 -0
  305. package/esm2022/time-range/module.mjs +36 -0
  306. package/esm2022/time-range/time-range-editor.mjs +219 -0
  307. package/esm2022/time-range/time-range-title-as-form-field.mjs +59 -0
  308. package/esm2022/time-range/time-range-title.mjs +112 -0
  309. package/esm2022/time-range/time-range.mjs +229 -0
  310. package/esm2022/time-range/time-range.service.mjs +189 -0
  311. package/esm2022/time-range/types.mjs +2 -0
  312. package/esm2022/timepicker/timepicker.directive.mjs +4 -4
  313. package/esm2022/timepicker/timepicker.module.mjs +4 -4
  314. package/esm2022/timezone/cities-by-filter.pipe.mjs +3 -3
  315. package/esm2022/timezone/timezone-option.component.mjs +3 -3
  316. package/esm2022/timezone/timezone-option.directive.mjs +3 -3
  317. package/esm2022/timezone/timezone-select.component.mjs +9 -9
  318. package/esm2022/timezone/timezone.module.mjs +4 -4
  319. package/esm2022/timezone/utc-offset.pipe.mjs +3 -3
  320. package/esm2022/title/title.directive.mjs +3 -3
  321. package/esm2022/title/title.module.mjs +4 -4
  322. package/esm2022/toast/toast-container.component.mjs +3 -3
  323. package/esm2022/toast/toast.component.mjs +20 -14
  324. package/esm2022/toast/toast.module.mjs +4 -4
  325. package/esm2022/toast/toast.service.mjs +5 -4
  326. package/esm2022/toast/toast.type.mjs +1 -1
  327. package/esm2022/toggle/toggle.component.mjs +3 -3
  328. package/esm2022/toggle/toggle.module.mjs +4 -4
  329. package/esm2022/tooltip/tooltip.component.mjs +19 -19
  330. package/esm2022/tooltip/tooltip.module.mjs +4 -4
  331. package/esm2022/top-bar/module.mjs +4 -4
  332. package/esm2022/top-bar/top-bar.mjs +9 -9
  333. package/esm2022/tree/node.mjs +3 -3
  334. package/esm2022/tree/outlet.mjs +3 -3
  335. package/esm2022/tree/padding.directive.mjs +3 -3
  336. package/esm2022/tree/toggle.mjs +16 -12
  337. package/esm2022/tree/tree-base.mjs +7 -7
  338. package/esm2022/tree/tree-option.component.mjs +5 -9
  339. package/esm2022/tree/tree-selection.component.mjs +4 -4
  340. package/esm2022/tree/tree.mjs +3 -3
  341. package/esm2022/tree/tree.module.mjs +4 -4
  342. package/esm2022/tree-select/tree-select.component.mjs +54 -14
  343. package/esm2022/tree-select/tree-select.module.mjs +4 -4
  344. package/esm2022/username/module.mjs +4 -4
  345. package/esm2022/username/username.mjs +15 -15
  346. package/esm2022/username/username.pipe.mjs +8 -8
  347. package/fesm2022/koobiq-components-accordion.mjs +20 -20
  348. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  349. package/fesm2022/koobiq-components-actions-panel.mjs +10 -10
  350. package/fesm2022/koobiq-components-alert.mjs +16 -16
  351. package/fesm2022/koobiq-components-app-switcher.mjs +704 -0
  352. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -0
  353. package/fesm2022/koobiq-components-autocomplete.mjs +13 -13
  354. package/fesm2022/koobiq-components-badge.mjs +14 -14
  355. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  356. package/fesm2022/koobiq-components-breadcrumbs.mjs +20 -20
  357. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  358. package/fesm2022/koobiq-components-button-toggle.mjs +10 -10
  359. package/fesm2022/koobiq-components-button.mjs +13 -13
  360. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  361. package/fesm2022/koobiq-components-checkbox.mjs +10 -10
  362. package/fesm2022/koobiq-components-clamped-text.mjs +7 -7
  363. package/fesm2022/koobiq-components-code-block.mjs +13 -13
  364. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  365. package/fesm2022/koobiq-components-content-panel.mjs +34 -34
  366. package/fesm2022/koobiq-components-core.mjs +1032 -263
  367. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  368. package/fesm2022/koobiq-components-datepicker.mjs +40 -40
  369. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  370. package/fesm2022/koobiq-components-divider.mjs +8 -8
  371. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  372. package/fesm2022/koobiq-components-dl.mjs +13 -13
  373. package/fesm2022/koobiq-components-dropdown.mjs +39 -25
  374. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  375. package/fesm2022/koobiq-components-dynamic-translation.mjs +13 -13
  376. package/fesm2022/koobiq-components-ellipsis-center.mjs +7 -7
  377. package/fesm2022/koobiq-components-empty-state.mjs +19 -19
  378. package/fesm2022/koobiq-components-file-upload.mjs +36 -18
  379. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  380. package/fesm2022/koobiq-components-filter-bar.mjs +96 -86
  381. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  382. package/fesm2022/koobiq-components-form-field.mjs +60 -60
  383. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  384. package/fesm2022/koobiq-components-icon.mjs +13 -13
  385. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  386. package/fesm2022/koobiq-components-inline-edit.mjs +407 -0
  387. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -0
  388. package/fesm2022/koobiq-components-input.mjs +22 -22
  389. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  390. package/fesm2022/koobiq-components-link.mjs +10 -10
  391. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  392. package/fesm2022/koobiq-components-list.mjs +19 -19
  393. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  394. package/fesm2022/koobiq-components-loader-overlay.mjs +16 -16
  395. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  396. package/fesm2022/koobiq-components-markdown.mjs +12 -12
  397. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  398. package/fesm2022/koobiq-components-modal.mjs +28 -28
  399. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  400. package/fesm2022/koobiq-components-navbar-ic.mjs +53 -56
  401. package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -1
  402. package/fesm2022/koobiq-components-navbar.mjs +65 -54
  403. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  404. package/fesm2022/koobiq-components-notification-center.mjs +586 -0
  405. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -0
  406. package/fesm2022/koobiq-components-overflow-items.mjs +98 -44
  407. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  408. package/fesm2022/koobiq-components-popover.mjs +30 -25
  409. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  410. package/fesm2022/koobiq-components-progress-bar.mjs +13 -13
  411. package/fesm2022/koobiq-components-progress-spinner.mjs +13 -13
  412. package/fesm2022/koobiq-components-radio.mjs +10 -10
  413. package/fesm2022/koobiq-components-risk-level.mjs +7 -7
  414. package/fesm2022/koobiq-components-scrollbar.mjs +10 -10
  415. package/fesm2022/koobiq-components-search-expandable.mjs +199 -0
  416. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -0
  417. package/fesm2022/koobiq-components-select.mjs +43 -16
  418. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  419. package/fesm2022/koobiq-components-sidebar.mjs +13 -13
  420. package/fesm2022/koobiq-components-sidepanel.mjs +25 -25
  421. package/fesm2022/koobiq-components-split-button.mjs +114 -0
  422. package/fesm2022/koobiq-components-split-button.mjs.map +1 -0
  423. package/fesm2022/koobiq-components-splitter.mjs +16 -16
  424. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  425. package/fesm2022/koobiq-components-table.mjs +10 -10
  426. package/fesm2022/koobiq-components-tabs.mjs +52 -52
  427. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  428. package/fesm2022/koobiq-components-tags.mjs +461 -346
  429. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  430. package/fesm2022/koobiq-components-textarea.mjs +8 -8
  431. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  432. package/fesm2022/koobiq-components-time-range.mjs +840 -0
  433. package/fesm2022/koobiq-components-time-range.mjs.map +1 -0
  434. package/fesm2022/koobiq-components-timepicker.mjs +7 -7
  435. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  436. package/fesm2022/koobiq-components-timezone.mjs +24 -24
  437. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  438. package/fesm2022/koobiq-components-title.mjs +7 -7
  439. package/fesm2022/koobiq-components-toast.mjs +28 -21
  440. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  441. package/fesm2022/koobiq-components-toggle.mjs +7 -7
  442. package/fesm2022/koobiq-components-tooltip.mjs +22 -22
  443. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  444. package/fesm2022/koobiq-components-top-bar.mjs +13 -13
  445. package/fesm2022/koobiq-components-tree-select.mjs +57 -17
  446. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  447. package/fesm2022/koobiq-components-tree.mjs +44 -44
  448. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  449. package/fesm2022/koobiq-components-username.mjs +27 -27
  450. package/file-upload/_file-upload-theme.scss +1 -1
  451. package/file-upload/file-upload.d.ts +1 -1
  452. package/file-upload/multiple-file-upload.component.d.ts +1 -0
  453. package/file-upload/single-file-upload.component.d.ts +1 -0
  454. package/filter-bar/pipes/base-pipe.d.ts +1 -1
  455. package/filter-bar/pipes/base-pipe.scss +3 -3
  456. package/filter-bar/pipes/pipe-date.scss +1 -0
  457. package/form-field/fieldset-tokens.scss +1 -1
  458. package/form-field/form-field-tokens.scss +1 -1
  459. package/form-field/form-field.d.ts +1 -1
  460. package/form-field/form-field.scss +1 -9
  461. package/form-field/password-toggle.d.ts +1 -1
  462. package/icon/icon.component.d.ts +2 -2
  463. package/inline-edit/index.d.ts +2 -0
  464. package/inline-edit/inline-edit-tokens.scss +8 -0
  465. package/inline-edit/inline-edit.d.ts +136 -0
  466. package/inline-edit/inline-edit.scss +208 -0
  467. package/inline-edit/module.d.ts +7 -0
  468. package/input/input-number.d.ts +1 -1
  469. package/input/input-password.d.ts +2 -2
  470. package/input/input.d.ts +2 -2
  471. package/link/link.component.d.ts +3 -3
  472. package/list/list-selection.component.d.ts +1 -1
  473. package/loader-overlay/loader-overlay.component.d.ts +1 -1
  474. package/markdown/_markdown-theme.scss +1 -1
  475. package/markdown/markdown-tokens.scss +1 -0
  476. package/markdown/markdown.scss +8 -0
  477. package/modal/modal.component.d.ts +1 -1
  478. package/navbar/navbar-item.component.d.ts +3 -2
  479. package/navbar/navbar.component.d.ts +4 -4
  480. package/navbar/vertical-navbar.component.d.ts +2 -2
  481. package/navbar-ic/navbar-ic-header.d.ts +1 -1
  482. package/navbar-ic/navbar-ic-item.d.ts +2 -2
  483. package/navbar-ic/navbar-ic.d.ts +4 -2
  484. package/notification-center/_notification-center-theme.scss +27 -0
  485. package/notification-center/index.d.ts +1 -0
  486. package/notification-center/notification-center-animations.d.ts +5 -0
  487. package/notification-center/notification-center.d.ts +153 -0
  488. package/notification-center/notification-center.module.d.ts +7 -0
  489. package/notification-center/notification-center.scss +126 -0
  490. package/notification-center/notification-center.service.d.ts +72 -0
  491. package/notification-center/notification-item.d.ts +27 -0
  492. package/notification-center/notification-item.scss +157 -0
  493. package/notification-center/public-api.d.ts +4 -0
  494. package/overflow-items/overflow-items.d.ts +23 -9
  495. package/package.json +46 -10
  496. package/popover/popover.component.d.ts +5 -1
  497. package/popover/popover.scss +15 -7
  498. package/prebuilt-themes/dark-theme.css +1 -1
  499. package/prebuilt-themes/light-theme.css +1 -1
  500. package/prebuilt-themes/theme.css +1 -1
  501. package/schematics/ng-add/index.js +5 -5
  502. package/search-expandable/index.d.ts +1 -0
  503. package/search-expandable/public-api.d.ts +2 -0
  504. package/search-expandable/search-expandable.d.ts +70 -0
  505. package/search-expandable/search-expandable.module.d.ts +7 -0
  506. package/search-expandable/search-expandable.scss +21 -0
  507. package/select/select.component.d.ts +38 -3
  508. package/split-button/_split-button-theme.scss +59 -0
  509. package/split-button/index.d.ts +1 -0
  510. package/split-button/public-api.d.ts +2 -0
  511. package/split-button/split-button.d.ts +31 -0
  512. package/split-button/split-button.module.d.ts +7 -0
  513. package/split-button/split-button.scss +83 -0
  514. package/splitter/splitter.component.d.ts +5 -5
  515. package/tabs/paginated-tab-header.d.ts +1 -1
  516. package/tabs/tab-header.component.d.ts +2 -2
  517. package/tabs/tab-label-wrapper.directive.d.ts +2 -2
  518. package/tabs/tab-nav-bar.d.ts +3 -3
  519. package/tags/_tag-theme.scss +21 -15
  520. package/tags/tag-input.d.ts +2 -0
  521. package/tags/tag-list.component.d.ts +133 -45
  522. package/tags/tag-list.scss +11 -0
  523. package/tags/tag-tokens.scss +17 -1
  524. package/tags/tag.component.d.ts +79 -20
  525. package/tags/tag.scss +9 -0
  526. package/textarea/textarea.component.d.ts +2 -2
  527. package/time-range/constants.d.ts +8 -0
  528. package/time-range/index.d.ts +7 -0
  529. package/time-range/module.d.ts +10 -0
  530. package/time-range/time-range-editor.d.ts +67 -0
  531. package/time-range/time-range-title-as-form-field.d.ts +40 -0
  532. package/time-range/time-range-title.d.ts +18 -0
  533. package/time-range/time-range.d.ts +75 -0
  534. package/time-range/time-range.scss +66 -0
  535. package/time-range/time-range.service.d.ts +29 -0
  536. package/time-range/types.d.ts +43 -0
  537. package/timepicker/timepicker.directive.d.ts +2 -2
  538. package/toast/toast.component.d.ts +6 -4
  539. package/toast/toast.component.scss +11 -1
  540. package/toast/toast.service.d.ts +1 -0
  541. package/toast/toast.type.d.ts +1 -0
  542. package/tree/toggle.d.ts +1 -1
  543. package/tree/tree-base.d.ts +2 -2
  544. package/tree/tree-option.component.d.ts +1 -1
  545. package/tree/tree-selection.component.d.ts +1 -1
  546. package/tree-select/tree-select.component.d.ts +44 -3
@@ -203,10 +203,10 @@ export class KbqFilters {
203
203
  ? this.filters.filter((filter) => filter.name.toLowerCase().includes(searchFilter.toLowerCase()))
204
204
  : this.filters;
205
205
  }
206
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqFilters, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
207
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: KbqFilters, isStandalone: true, selector: "kbq-filters", inputs: { filters: "filters" }, outputs: { onSelectFilter: "onSelectFilter", onSave: "onSave", onChangeFilter: "onChangeFilter", onSaveAsNew: "onSaveAsNew", onRemoveFilter: "onRemoveFilter", onResetFilterChanges: "onResetFilterChanges" }, host: { classAttribute: "kbq-filters" }, viewQueries: [{ propertyName: "button", first: true, predicate: KbqButton, descendants: true }, { propertyName: "popover", first: true, predicate: KbqPopoverTrigger, descendants: true }, { propertyName: "dropdown", first: true, predicate: KbqDropdownTrigger, descendants: true }, { propertyName: "search", first: true, predicate: ["search"], descendants: true }, { propertyName: "newFilterName", first: true, predicate: ["newFilterName"], descendants: true }], exportAs: ["kbqFilters"], ngImport: i0, template: "<button\n kbq-button\n kbq-title\n kbqFilterBarButton\n kbqPopover\n [kbqDropdownTriggerFor]=\"savedFilters\"\n [kbqPopoverArrow]=\"false\"\n [kbqPopoverClass]=\"'kbq-filters__save-as-new-filter-popover'\"\n [kbqPopoverContent]=\"saveAsNewPopoverContent\"\n [kbqPopoverFooter]=\"saveAsNewPopoverFooter\"\n [kbqPopoverHeader]=\"saveAsNewPopoverHeader\"\n [kbqPopoverPlacement]=\"placements.BottomLeft\"\n [kbqPopoverPlacementPriority]=\"[placements.BottomLeft, placements.TopLeft]\"\n [kbqPopoverSize]=\"popoverSize\"\n [kbqTrigger]=\"'manual'\"\n [class.kbq-active]=\"opened\"\n [disabled]=\"isSaving\"\n (dropdownClosed)=\"searchControl.setValue('')\"\n (dropdownOpened)=\"onDropdownOpen()\"\n>\n <span #kbqTitleText class=\"kbq-filters__filter-name\">\n @if (filter?.name) {\n {{ filter!.name }}\n } @else {\n <ng-content>\n <i kbq-icon=\"kbq-list_16\"></i>\n {{ localeData.defaultName }}\n </ng-content>\n }\n </span>\n</button>\n\n@if (filterBar.isChanged && !filterBar.isSaved) {\n <button\n kbq-button\n kbqFilterBarButton\n class=\"kbq-button_action\"\n kbqTooltip=\"{{ localeData.saveNewFilterTooltip }}\"\n [color]=\"colors.Empty\"\n [disabled]=\"isSaving\"\n (click)=\"openSaveAsNewFilterPopover()\"\n >\n <i kbq-icon=\"kbq-floppy-disk_16\"></i>\n </button>\n}\n\n@if (filterBar.isSaved) {\n <button\n kbq-button\n kbqFilterBarButton\n class=\"kbq-button_action\"\n [color]=\"colors.Empty\"\n [kbqDropdownTriggerFor]=\"filterActions\"\n [disabled]=\"isSaving\"\n [ngClass]=\"{ 'kbq-button_changed-saved-filter': filterBar.isSavedAndChanged }\"\n >\n <i kbq-icon=\"kbq-ellipsis-vertical_16\"></i>\n </button>\n\n <i kbq-icon=\"kbq-chevron-right-s_16\" class=\"kbq-filter-bar__arrow\" [color]=\"'theme'\"></i>\n} @else {\n <kbq-divider class=\"kbq-filter-bar__separator\" [vertical]=\"true\" />\n}\n\n<kbq-dropdown #savedFilters=\"kbqDropdown\" [class]=\"'kbq-filters__dropdown'\">\n <div [style.display]=\"isEmpty ? 'none' : 'initial'\">\n <kbq-form-field kbqFormFieldWithoutBorders>\n <i kbq-icon=\"kbq-magnifying-glass_16\" kbqPrefix></i>\n\n <input\n #search\n autocomplete=\"off\"\n kbqInput\n placeholder=\"{{ localeData.searchPlaceholder }}\"\n [formControl]=\"searchControl\"\n (click)=\"stopEventPropagation($event)\"\n (keydown)=\"searchKeydownHandler($event)\"\n />\n <kbq-cleaner />\n </kbq-form-field>\n\n <kbq-divider />\n\n @for (filter of filteredOptions | async; track filter) {\n <button\n kbq-dropdown-item\n kbq-title\n [class.kbq-selected]=\"filterBar.filter?.name === filter.name\"\n (click)=\"selectFilter(filter)\"\n >\n {{ filter.name }}\n </button>\n } @empty {\n <button kbq-dropdown-item [disabled]=\"true\">\n {{ localeData.searchEmptyResult }}\n </button>\n }\n\n <kbq-divider />\n </div>\n\n <button kbq-dropdown-item (click)=\"openSaveAsNewFilterPopover()\">\n <i kbq-icon=\"kbq-plus_16\"></i>\n {{ localeData.saveAsNewFilter }}\n </button>\n</kbq-dropdown>\n\n<kbq-dropdown #filterActions=\"kbqDropdown\" [class]=\"'kbq-filters__dropdown'\">\n @if (filterBar.isSavedAndChanged && !filterBar.isReadOnly) {\n <button\n kbq-dropdown-item\n [ngClass]=\"{ 'kbq-button_changed-saved-filter': filterBar.isSavedAndChanged }\"\n (click)=\"saveChanges()\"\n >\n <i kbq-icon=\"kbq-floppy-disk_16\"></i>\n {{ localeData.saveChanges }}\n @if (filterBar.isSavedAndChanged) {\n <i class=\"kbq kbq-icon kbq-icon-button kbq-circle-xs_16 kbq-warning layout-margin-left-xs\"></i>\n }\n </button>\n }\n <button kbq-dropdown-item (click)=\"openSaveAsNewFilterPopover()\">\n <i kbq-icon=\"kbq-plus_16\"></i>\n {{ localeData.saveAsNew }}\n </button>\n\n @if (!filterBar.isReadOnly) {\n <button kbq-dropdown-item (click)=\"openChangeFilterNamePopover()\">\n <i kbq-icon=\"kbq-pencil_16\"></i>\n {{ localeData.change }}\n </button>\n }\n\n @if (filterBar.isSavedAndChanged || !filterBar.isReadOnly) {\n <kbq-divider />\n }\n\n @if (filterBar.isSavedAndChanged) {\n <button kbq-dropdown-item (click)=\"resetFilterChanges()\">\n <i kbq-icon=\"kbq-xmark-circle_16\"></i>\n {{ localeData.resetChanges }}\n </button>\n }\n @if (!filterBar.isReadOnly) {\n <button kbq-dropdown-item (click)=\"this.onRemoveFilter.next(this.filter!)\">\n <i kbq-icon=\"kbq-trash_16\"></i>\n {{ localeData.remove }}\n </button>\n }\n</kbq-dropdown>\n\n<ng-template #saveAsNewPopoverHeader>{{ popoverHeader }}</ng-template>\n\n<ng-template #saveAsNewPopoverContent>\n @if (showFilterSavingError) {\n <kbq-alert class=\"layout-margin-bottom-m\" [alertColor]=\"'error'\" [alertStyle]=\"'colored'\" [compact]=\"true\">\n {{ filterSavingErrorText }}\n </kbq-alert>\n }\n <div class=\"kbq-form-vertical\">\n <div class=\"kbq-form__row\">\n <label class=\"kbq-form__label\">{{ localeData.name }}</label>\n\n <kbq-form-field class=\"kbq-form__control\">\n <input\n #newFilterName\n kbqInput\n type=\"text\"\n [formControl]=\"filterName\"\n (keydown.enter)=\"saveAsNew($event)\"\n />\n\n @if (filterName.hasError('filterNameAlreadyExist')) {\n <kbq-error>{{ localeData.error }}</kbq-error>\n }\n </kbq-form-field>\n </div>\n </div>\n</ng-template>\n\n<ng-template #saveAsNewPopoverFooter>\n <button\n kbq-button\n class=\"layout-margin-right-l\"\n [class.kbq-progress]=\"isSaving\"\n [disabled]=\"isSaving\"\n [color]=\"'contrast'\"\n [kbqStyle]=\"'filled'\"\n (click)=\"saveAsNew()\"\n >\n {{ localeData.saveButton }}\n </button>\n <button kbq-button [color]=\"'contrast-fade'\" [kbqStyle]=\"'filled'\" [disabled]=\"isSaving\" (click)=\"closePopover()\">\n {{ localeData.cancelButton }}\n </button>\n</ng-template>\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-size-border-width))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-filters{display:flex}.kbq-filters>.kbq-button{max-width:320px}.kbq-filters>.kbq-button .kbq-button-wrapper{width:100%}.kbq-filters>.kbq-button .kbq-icon{margin-right:var(--kbq-size-xxs)}.kbq-filters .kbq-filters__filter-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-filters .kbq-filters__filter-name .kbq-icon{margin-bottom:var(--kbq-size-3xs)}.kbq-filters .kbq-filter-bar__separator{align-self:center;height:var(--kbq-size-m)!important;margin-left:calc(var(--kbq-size-s) + var(--kbq-size-xs))!important;margin-right:var(--kbq-size-xs)!important}.kbq-filters .kbq-filter-bar__arrow{align-self:center;margin-left:var(--kbq-size-s)}.kbq-filters .kbq-button.kbq-button_changed-filter{border-bottom-right-radius:unset;border-top-right-radius:unset}.kbq-filters .kbq-button-icon{margin-left:-1px;border-bottom-left-radius:unset;border-top-left-radius:unset}.kbq-filters .kbq-button_changed-saved-filter:before{content:\"\";position:absolute;right:-4px;top:-4px;width:var(--kbq-size-s);height:var(--kbq-size-s);border:2px solid var(--kbq-background-bg);border-radius:var(--kbq-size-xs);background:var(--kbq-icon-warning)}.kbq-filters .kbq-button:not(:hover,.kbq-active)+.kbq-button_action:not(:hover,.kbq-active):after{content:\"\";position:absolute;left:0;top:10px;width:1px;height:var(--kbq-size-m);background:var(--kbq-line-contrast-less)}.kbq-filters__save-as-new-filter-popover .kbq-popover__container{width:400px}.kbq-filters__save-as-new-filter-popover .kbq-popover__content{padding:var(--kbq-size-s) var(--kbq-size-xxl)}.kbq-filters__dropdown .kbq-dropdown-item{padding-right:var(--kbq-size-s)}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: KbqButtonModule }, { kind: "component", type: i2.KbqButton, selector: "[kbq-button]", inputs: ["kbqStyle", "disabled", "tabIndex"] }, { kind: "directive", type: i2.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "directive", type: i2.KbqButtonDropdownTrigger, selector: "[kbq-button][kbqDropdownTriggerFor]" }, { kind: "ngmodule", type: KbqDropdownModule }, { kind: "component", type: i3.KbqDropdown, selector: "kbq-dropdown", inputs: ["navigationWithWrap", "xPosition", "yPosition", "overlapTriggerY", "overlapTriggerX", "hasBackdrop", "class", "backdropClass"], outputs: ["closed"], exportAs: ["kbqDropdown"] }, { kind: "component", type: i3.KbqDropdownItem, selector: "kbq-dropdown-item, [kbq-dropdown-item]", inputs: ["disabled"], exportAs: ["kbqDropdownItem"] }, { kind: "directive", type: i3.KbqDropdownTrigger, selector: "[kbqDropdownTriggerFor]", inputs: ["offsetX", "offsetY", "kbqDropdownTriggerData", "openByArrowDown", "kbqDropdownTriggerRestoreFocus", "kbqDropdownTriggerFor"], outputs: ["dropdownOpened", "dropdownClosed"], exportAs: ["kbqDropdownTrigger"] }, { kind: "ngmodule", type: KbqDividerModule }, { kind: "component", type: i4.KbqDivider, selector: "kbq-divider", inputs: ["vertical", "inset", "paddings"] }, { kind: "component", type: KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "ngmodule", type: KbqTitleModule }, { kind: "directive", type: i5.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }, { kind: "ngmodule", type: KbqFormFieldModule }, { kind: "component", type: i6.KbqCleaner, selector: "kbq-cleaner", exportAs: ["kbqCleaner"] }, { kind: "component", type: i6.KbqFormField, selector: "kbq-form-field", inputs: ["noBorders"], exportAs: ["kbqFormField"] }, { kind: "directive", type: i6.KbqPrefix, selector: "[kbqPrefix]", exportAs: ["kbqPrefix"] }, { kind: "component", type: i6.KbqError, selector: "kbq-error", exportAs: ["kbqError"] }, { kind: "directive", type: i6.KbqFormFieldWithoutBorders, selector: "kbq-form-field[kbqFormFieldWithoutBorders]", exportAs: ["kbqFormFieldWithoutBorders"] }, { kind: "directive", type: i6.KbqValidateDirective, selector: " input[kbqInput], input[kbqNumberInput], input[kbqInputPassword], input[kbqTimepicker], input[kbqDatepicker], textarea[kbqTextarea], kbq-select, kbq-tree-select, kbq-tag-list ", exportAs: ["KbqValidate"] }, { kind: "directive", type: i6.KbqTrim, selector: "[kbqInput], [kbqTextarea]", exportAs: ["KbqTrim"] }, { kind: "ngmodule", type: KbqInputModule }, { kind: "directive", type: i7.KbqInput, selector: "input[kbqInput],input[kbqNumberInput]", inputs: ["errorStateMatcher", "placeholder", "disabled", "id", "required", "type", "value"], exportAs: ["kbqInput"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: KbqFilterBarButton, selector: "[kbqFilterBarButton]" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: KbqTooltipTrigger, selector: "[kbqTooltip]", inputs: ["hideWithTimeout", "kbqVisible", "kbqPlacement", "kbqRelativeToPointer", "kbqPlacementPriority", "kbqTooltip", "kbqTooltipDisabled", "kbqEnterDelay", "kbqLeaveDelay", "kbqTrigger", "kbqTooltipClass", "kbqTooltipContext", "kbqTooltipColor", "kbqTooltipArrow", "kbqTooltipOffset"], outputs: ["kbqPlacementChange", "kbqVisibleChange"], exportAs: ["kbqTooltip"] }, { kind: "ngmodule", type: KbqPopoverModule }, { kind: "directive", type: i8.KbqPopoverTrigger, selector: "[kbqPopover]", inputs: ["kbqPopoverPreventClose", "kbqPopoverVisible", "kbqPopoverPlacement", "kbqPopoverPlacementPriority", "hasBackdrop", "kbqPopoverHeader", "kbqPopoverContent", "kbqPopoverFooter", "kbqPopoverDisabled", "kbqTrigger", "kbqPopoverSize", "kbqPopoverClass", "hasCloseButton", "closeOnScroll", "backdropClass", "kbqPopoverArrow", "kbqPopoverOffset", "kbqLeaveDelay"], outputs: ["kbqPopoverPlacementChange", "kbqPopoverVisibleChange"], exportAs: ["kbqPopover"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: KbqFormsModule }, { kind: "directive", type: i9.KbqForm, selector: ".kbq-form-vertical, .kbq-form-horizontal", exportAs: ["kbqForm"] }, { kind: "directive", type: i9.KbqFormElement, selector: ".kbq-form__row, .kbq-form__fieldset, .kbq-form__legend", exportAs: ["kbqFormElement"] }, { kind: "ngmodule", type: KbqAlertModule }, { kind: "component", type: i10.KbqAlert, selector: "kbq-alert", inputs: ["compact", "alertStyle", "alertColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
206
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqFilters, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
207
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KbqFilters, isStandalone: true, selector: "kbq-filters", inputs: { filters: "filters" }, outputs: { onSelectFilter: "onSelectFilter", onSave: "onSave", onChangeFilter: "onChangeFilter", onSaveAsNew: "onSaveAsNew", onRemoveFilter: "onRemoveFilter", onResetFilterChanges: "onResetFilterChanges" }, host: { classAttribute: "kbq-filters" }, viewQueries: [{ propertyName: "button", first: true, predicate: KbqButton, descendants: true }, { propertyName: "popover", first: true, predicate: KbqPopoverTrigger, descendants: true }, { propertyName: "dropdown", first: true, predicate: KbqDropdownTrigger, descendants: true }, { propertyName: "search", first: true, predicate: ["search"], descendants: true }, { propertyName: "newFilterName", first: true, predicate: ["newFilterName"], descendants: true }], exportAs: ["kbqFilters"], ngImport: i0, template: "<button\n kbq-button\n kbq-title\n kbqFilterBarButton\n kbqPopover\n [kbqDropdownTriggerFor]=\"savedFilters\"\n [kbqPopoverArrow]=\"false\"\n [kbqPopoverClass]=\"'kbq-filters__save-as-new-filter-popover'\"\n [kbqPopoverContent]=\"saveAsNewPopoverContent\"\n [kbqPopoverFooter]=\"saveAsNewPopoverFooter\"\n [kbqPopoverHeader]=\"saveAsNewPopoverHeader\"\n [kbqPopoverPlacement]=\"placements.BottomLeft\"\n [kbqPopoverPlacementPriority]=\"[placements.BottomLeft, placements.TopLeft]\"\n [kbqPopoverSize]=\"popoverSize\"\n [kbqTrigger]=\"'manual'\"\n [class.kbq-active]=\"opened\"\n [disabled]=\"isSaving\"\n (dropdownClosed)=\"searchControl.setValue('')\"\n (dropdownOpened)=\"onDropdownOpen()\"\n>\n <span #kbqTitleText class=\"kbq-filters__filter-name\">\n @if (filter?.name) {\n {{ filter!.name }}\n } @else {\n <ng-content>\n <i kbq-icon=\"kbq-list_16\"></i>\n {{ localeData.defaultName }}\n </ng-content>\n }\n </span>\n</button>\n\n@if (filterBar.isChanged && !filterBar.isSaved) {\n <button\n kbq-button\n kbqFilterBarButton\n class=\"kbq-button_action\"\n kbqTooltip=\"{{ localeData.saveNewFilterTooltip }}\"\n [color]=\"colors.Empty\"\n [disabled]=\"isSaving\"\n (click)=\"openSaveAsNewFilterPopover()\"\n >\n <i kbq-icon=\"kbq-floppy-disk_16\"></i>\n </button>\n}\n\n@if (filterBar.isSaved) {\n <button\n kbq-button\n kbqFilterBarButton\n class=\"kbq-button_action\"\n [color]=\"colors.Empty\"\n [kbqDropdownTriggerFor]=\"filterActions\"\n [disabled]=\"isSaving\"\n [ngClass]=\"{ 'kbq-button_changed-saved-filter': filterBar.isSavedAndChanged }\"\n >\n <i kbq-icon=\"kbq-ellipsis-vertical_16\"></i>\n </button>\n\n <i kbq-icon=\"kbq-chevron-right-s_16\" class=\"kbq-filter-bar__arrow\" [color]=\"'theme'\"></i>\n} @else {\n <kbq-divider class=\"kbq-filter-bar__separator\" [vertical]=\"true\" />\n}\n\n<kbq-dropdown #savedFilters=\"kbqDropdown\" [class]=\"'kbq-filters__dropdown'\">\n <div [style.display]=\"isEmpty ? 'none' : 'initial'\">\n <kbq-form-field kbqFormFieldWithoutBorders>\n <i kbq-icon=\"kbq-magnifying-glass_16\" kbqPrefix></i>\n\n <input\n #search\n autocomplete=\"off\"\n kbqInput\n placeholder=\"{{ localeData.searchPlaceholder }}\"\n [formControl]=\"searchControl\"\n (click)=\"stopEventPropagation($event)\"\n (keydown)=\"searchKeydownHandler($event)\"\n />\n <kbq-cleaner />\n </kbq-form-field>\n\n <kbq-divider />\n\n @for (filter of filteredOptions | async; track filter) {\n <button\n kbq-dropdown-item\n kbq-title\n [class.kbq-selected]=\"filterBar.filter?.name === filter.name\"\n (click)=\"selectFilter(filter)\"\n >\n {{ filter.name }}\n </button>\n } @empty {\n <button kbq-dropdown-item [disabled]=\"true\">\n {{ localeData.searchEmptyResult }}\n </button>\n }\n\n <kbq-divider />\n </div>\n\n <button kbq-dropdown-item (click)=\"openSaveAsNewFilterPopover()\">\n <i kbq-icon=\"kbq-plus_16\"></i>\n {{ localeData.saveAsNewFilter }}\n </button>\n</kbq-dropdown>\n\n<kbq-dropdown #filterActions=\"kbqDropdown\" [class]=\"'kbq-filters__dropdown'\">\n @if (filterBar.isSavedAndChanged && !filterBar.isReadOnly) {\n <button\n kbq-dropdown-item\n [ngClass]=\"{ 'kbq-button_changed-saved-filter': filterBar.isSavedAndChanged }\"\n (click)=\"saveChanges()\"\n >\n <i kbq-icon=\"kbq-floppy-disk_16\"></i>\n {{ localeData.saveChanges }}\n @if (filterBar.isSavedAndChanged) {\n <i class=\"kbq kbq-icon kbq-icon-button kbq-circle-xs_16 kbq-warning layout-margin-left-xs\"></i>\n }\n </button>\n }\n <button kbq-dropdown-item (click)=\"openSaveAsNewFilterPopover()\">\n <i kbq-icon=\"kbq-plus_16\"></i>\n {{ localeData.saveAsNew }}\n </button>\n\n @if (!filterBar.isReadOnly) {\n <button kbq-dropdown-item (click)=\"openChangeFilterNamePopover()\">\n <i kbq-icon=\"kbq-pencil_16\"></i>\n {{ localeData.change }}\n </button>\n }\n\n @if (filterBar.isSavedAndChanged || !filterBar.isReadOnly) {\n <kbq-divider />\n }\n\n @if (filterBar.isSavedAndChanged) {\n <button kbq-dropdown-item (click)=\"resetFilterChanges()\">\n <i kbq-icon=\"kbq-xmark-circle_16\"></i>\n {{ localeData.resetChanges }}\n </button>\n }\n @if (!filterBar.isReadOnly) {\n <button kbq-dropdown-item (click)=\"this.onRemoveFilter.next(this.filter!)\">\n <i kbq-icon=\"kbq-trash_16\"></i>\n {{ localeData.remove }}\n </button>\n }\n</kbq-dropdown>\n\n<ng-template #saveAsNewPopoverHeader>{{ popoverHeader }}</ng-template>\n\n<ng-template #saveAsNewPopoverContent>\n @if (showFilterSavingError) {\n <kbq-alert class=\"layout-margin-bottom-m\" [alertColor]=\"'error'\" [alertStyle]=\"'colored'\" [compact]=\"true\">\n {{ filterSavingErrorText }}\n </kbq-alert>\n }\n <div class=\"kbq-form-vertical\">\n <div class=\"kbq-form__row\">\n <label class=\"kbq-form__label\">{{ localeData.name }}</label>\n\n <kbq-form-field class=\"kbq-form__control\">\n <input\n #newFilterName\n kbqInput\n type=\"text\"\n [formControl]=\"filterName\"\n (keydown.enter)=\"saveAsNew($event)\"\n />\n\n @if (filterName.hasError('filterNameAlreadyExist')) {\n <kbq-error>{{ localeData.error }}</kbq-error>\n }\n </kbq-form-field>\n </div>\n </div>\n</ng-template>\n\n<ng-template #saveAsNewPopoverFooter>\n <button\n kbq-button\n class=\"layout-margin-right-l\"\n [class.kbq-progress]=\"isSaving\"\n [disabled]=\"isSaving\"\n [color]=\"'contrast'\"\n [kbqStyle]=\"'filled'\"\n (click)=\"saveAsNew()\"\n >\n {{ localeData.saveButton }}\n </button>\n <button kbq-button [color]=\"'contrast-fade'\" [kbqStyle]=\"'filled'\" [disabled]=\"isSaving\" (click)=\"closePopover()\">\n {{ localeData.cancelButton }}\n </button>\n</ng-template>\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-size-border-width))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-size-border-radius)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-filters{display:flex}.kbq-filters>.kbq-button{max-width:320px}.kbq-filters>.kbq-button .kbq-button-wrapper{width:100%}.kbq-filters>.kbq-button .kbq-icon{margin-right:var(--kbq-size-xxs)}.kbq-filters .kbq-filters__filter-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-filters .kbq-filters__filter-name .kbq-icon{margin-bottom:var(--kbq-size-3xs)}.kbq-filters .kbq-filter-bar__separator{align-self:center;height:var(--kbq-size-m)!important;margin-left:calc(var(--kbq-size-s) + var(--kbq-size-xs))!important;margin-right:var(--kbq-size-xs)!important}.kbq-filters .kbq-filter-bar__arrow{align-self:center;margin-left:var(--kbq-size-s)}.kbq-filters .kbq-button.kbq-button_changed-filter{border-bottom-right-radius:unset;border-top-right-radius:unset}.kbq-filters .kbq-button-icon{margin-left:-1px;border-bottom-left-radius:unset;border-top-left-radius:unset}.kbq-filters .kbq-button_changed-saved-filter:before{content:\"\";position:absolute;right:-4px;top:-4px;width:var(--kbq-size-s);height:var(--kbq-size-s);border:2px solid var(--kbq-background-bg);border-radius:var(--kbq-size-xs);background:var(--kbq-icon-warning)}.kbq-filters .kbq-button:not(:hover,.kbq-active)+.kbq-button_action:not(:hover,.kbq-active):after{content:\"\";position:absolute;left:0;top:10px;width:1px;height:var(--kbq-size-m);background:var(--kbq-line-contrast-less)}.kbq-filters__save-as-new-filter-popover .kbq-popover__container{width:400px}.kbq-filters__save-as-new-filter-popover .kbq-popover__content{padding:var(--kbq-size-s) var(--kbq-size-xxl)}.kbq-filters__dropdown .kbq-dropdown-item{padding-right:var(--kbq-size-s)}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: KbqButtonModule }, { kind: "component", type: i2.KbqButton, selector: "[kbq-button]", inputs: ["kbqStyle", "disabled", "tabIndex"] }, { kind: "directive", type: i2.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "directive", type: i2.KbqButtonDropdownTrigger, selector: "[kbq-button][kbqDropdownTriggerFor]" }, { kind: "ngmodule", type: KbqDropdownModule }, { kind: "component", type: i3.KbqDropdown, selector: "kbq-dropdown", inputs: ["navigationWithWrap", "xPosition", "yPosition", "overlapTriggerY", "overlapTriggerX", "hasBackdrop", "class", "backdropClass"], outputs: ["closed"], exportAs: ["kbqDropdown"] }, { kind: "component", type: i3.KbqDropdownItem, selector: "kbq-dropdown-item, [kbq-dropdown-item]", inputs: ["disabled"], exportAs: ["kbqDropdownItem"] }, { kind: "directive", type: i3.KbqDropdownTrigger, selector: "[kbqDropdownTriggerFor]", inputs: ["offsetX", "offsetY", "kbqDropdownTriggerData", "openByArrowDown", "kbqDropdownTriggerRestoreFocus", "kbqDropdownTriggerFor"], outputs: ["dropdownOpened", "dropdownClosed"], exportAs: ["kbqDropdownTrigger"] }, { kind: "ngmodule", type: KbqDividerModule }, { kind: "component", type: i4.KbqDivider, selector: "kbq-divider", inputs: ["vertical", "inset", "paddings"] }, { kind: "component", type: KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "ngmodule", type: KbqTitleModule }, { kind: "directive", type: i5.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }, { kind: "ngmodule", type: KbqFormFieldModule }, { kind: "component", type: i6.KbqCleaner, selector: "kbq-cleaner", exportAs: ["kbqCleaner"] }, { kind: "component", type: i6.KbqFormField, selector: "kbq-form-field", inputs: ["noBorders"], exportAs: ["kbqFormField"] }, { kind: "directive", type: i6.KbqPrefix, selector: "[kbqPrefix]", exportAs: ["kbqPrefix"] }, { kind: "component", type: i6.KbqError, selector: "kbq-error", exportAs: ["kbqError"] }, { kind: "directive", type: i6.KbqFormFieldWithoutBorders, selector: "kbq-form-field[kbqFormFieldWithoutBorders]", exportAs: ["kbqFormFieldWithoutBorders"] }, { kind: "directive", type: i6.KbqValidateDirective, selector: " input[kbqInput], input[kbqNumberInput], input[kbqInputPassword], input[kbqTimepicker], input[kbqDatepicker], textarea[kbqTextarea], kbq-select, kbq-tree-select, kbq-tag-list ", exportAs: ["KbqValidate"] }, { kind: "directive", type: i6.KbqTrim, selector: "[kbqInput], [kbqTextarea]", exportAs: ["KbqTrim"] }, { kind: "ngmodule", type: KbqInputModule }, { kind: "directive", type: i7.KbqInput, selector: "input[kbqInput],input[kbqNumberInput]", inputs: ["errorStateMatcher", "placeholder", "disabled", "id", "required", "type", "value"], exportAs: ["kbqInput"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: KbqFilterBarButton, selector: "[kbqFilterBarButton]" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: KbqTooltipTrigger, selector: "[kbqTooltip]", inputs: ["hideWithTimeout", "kbqVisible", "kbqPlacement", "kbqRelativeToPointer", "kbqPlacementPriority", "kbqTooltip", "kbqTooltipDisabled", "kbqEnterDelay", "kbqLeaveDelay", "kbqTrigger", "kbqTooltipClass", "kbqTooltipContext", "kbqTooltipColor", "kbqTooltipArrow", "kbqTooltipOffset"], outputs: ["kbqPlacementChange", "kbqVisibleChange"], exportAs: ["kbqTooltip"] }, { kind: "ngmodule", type: KbqPopoverModule }, { kind: "directive", type: i8.KbqPopoverTrigger, selector: "[kbqPopover]", inputs: ["kbqPopoverPreventClose", "defaultPaddings", "kbqPopoverVisible", "kbqPopoverPlacement", "kbqPopoverPlacementPriority", "hasBackdrop", "kbqPopoverHeader", "kbqPopoverContent", "kbqPopoverFooter", "kbqPopoverDisabled", "kbqTrigger", "kbqPopoverSize", "kbqPopoverClass", "hasCloseButton", "closeOnScroll", "backdropClass", "kbqPopoverArrow", "kbqPopoverOffset", "kbqLeaveDelay"], outputs: ["kbqPopoverPlacementChange", "kbqPopoverVisibleChange"], exportAs: ["kbqPopover"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: KbqFormsModule }, { kind: "directive", type: i9.KbqForm, selector: ".kbq-form-vertical, .kbq-form-horizontal", exportAs: ["kbqForm"] }, { kind: "directive", type: i9.KbqFormElement, selector: ".kbq-form__row, .kbq-form__fieldset, .kbq-form__legend", exportAs: ["kbqFormElement"] }, { kind: "ngmodule", type: KbqAlertModule }, { kind: "component", type: i10.KbqAlert, selector: "kbq-alert", inputs: ["compact", "alertStyle", "alertColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
208
208
  }
209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqFilters, decorators: [{
209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqFilters, decorators: [{
210
210
  type: Component,
211
211
  args: [{ standalone: true, exportAs: 'kbqFilters', selector: 'kbq-filters', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
212
212
  class: 'kbq-filters'
@@ -258,4 +258,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
258
258
  }], onResetFilterChanges: [{
259
259
  type: Output
260
260
  }] } });
261
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZmlsdGVyLWJhci9maWx0ZXJzLnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9maWx0ZXItYmFyL2ZpbHRlcnMuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0csT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FB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QUFoQyxNQUFNO2dCQUVZLG9CQUFvQjtzQkFBdEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEticUFsZXJ0TW9kdWxlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2FsZXJ0JztcbmltcG9ydCB7IEticUJ1dHRvbiwgS2JxQnV0dG9uTW9kdWxlLCBLYnFCdXR0b25TdHlsZXMgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEticUNvbXBvbmVudENvbG9ycywgS2JxRm9ybXNNb2R1bGUsIFBvcFVwUGxhY2VtZW50cywgUG9wVXBTaXplcyB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9jb3JlJztcbmltcG9ydCB7IEticURpdmlkZXJNb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvZGl2aWRlcic7XG5pbXBvcnQgeyBLYnFEcm9wZG93bk1vZHVsZSwgS2JxRHJvcGRvd25UcmlnZ2VyIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEticUZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEticUljb24gfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvaWNvbic7XG5pbXBvcnQgeyBLYnFJbnB1dE1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9pbnB1dCc7XG5pbXBvcnQgeyBLYnFQb3BvdmVyTW9kdWxlLCBLYnFQb3BvdmVyVHJpZ2dlciB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9wb3BvdmVyJztcbmltcG9ydCB7IEticVRpdGxlTW9kdWxlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL3RpdGxlJztcbmltcG9ydCB7IEticVRvb2x0aXBUcmlnZ2VyIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgbWVyZ2UsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEticUZpbHRlckJhciB9IGZyb20gJy4vZmlsdGVyLWJhcic7XG5pbXBvcnQgeyBLYnFGaWx0ZXJCYXJCdXR0b24gfSBmcm9tICcuL2ZpbHRlci1iYXItYnV0dG9uJztcbmltcG9ydCB7IEticUZpbHRlciwgS2JxU2F2ZUZpbHRlckVycm9yLCBLYnFTYXZlRmlsdGVyRXZlbnQsIEticVNhdmVGaWx0ZXJTdGF0dXNlcyB9IGZyb20gJy4vZmlsdGVyLWJhci50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgZXhwb3J0QXM6ICdrYnFGaWx0ZXJzJyxcbiAgICBzZWxlY3RvcjogJ2ticS1maWx0ZXJzJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2ZpbHRlcnMuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ2ZpbHRlcnMuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS1maWx0ZXJzJ1xuICAgIH0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBLYnFCdXR0b25Nb2R1bGUsXG4gICAgICAgIEticURyb3Bkb3duTW9kdWxlLFxuICAgICAgICBLYnFEaXZpZGVyTW9kdWxlLFxuICAgICAgICBLYnFJY29uLFxuICAgICAgICBLYnFUaXRsZU1vZHVsZSxcbiAgICAgICAgS2JxRm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBLYnFJbnB1dE1vZHVsZSxcbiAgICAgICAgTmdDbGFzcyxcbiAgICAgICAgS2JxRmlsdGVyQmFyQnV0dG9uLFxuICAgICAgICBBc3luY1BpcGUsXG4gICAgICAgIEticVRvb2x0aXBUcmlnZ2VyLFxuICAgICAgICBLYnFQb3BvdmVyTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgS2JxRm9ybXNNb2R1bGUsXG4gICAgICAgIEticUFsZXJ0TW9kdWxlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBLYnFGaWx0ZXJzIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBwbGFjZW1lbnRzID0gUG9wVXBQbGFjZW1lbnRzO1xuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0eWxlcyA9IEticUJ1dHRvblN0eWxlcztcbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb2xvcnMgPSBLYnFDb21wb25lbnRDb2xvcnM7XG5cbiAgICAvKiogS2JxRmlsdGVyQmFyIGluc3RhbmNlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGZpbHRlckJhciA9IGluamVjdChLYnFGaWx0ZXJCYXIpO1xuXG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIEBWaWV3Q2hpbGQoS2JxQnV0dG9uKSBwcml2YXRlIGJ1dHRvbjogS2JxQnV0dG9uO1xuICAgIEBWaWV3Q2hpbGQoS2JxUG9wb3ZlclRyaWdnZXIpIHByaXZhdGUgcG9wb3ZlcjogS2JxUG9wb3ZlclRyaWdnZXI7XG4gICAgQFZpZXdDaGlsZChLYnFEcm9wZG93blRyaWdnZXIpIHByaXZhdGUgZHJvcGRvd246IEticURyb3Bkb3duVHJpZ2dlcjtcbiAgICBAVmlld0NoaWxkKCdzZWFyY2gnKSBwcml2YXRlIHNlYXJjaDogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCduZXdGaWx0ZXJOYW1lJykgcHJpdmF0ZSBuZXdGaWx0ZXJOYW1lOiBFbGVtZW50UmVmO1xuXG4gICAgLyoqIGNvbnRyb2wgZm9yIHNlYXJjaCBmaWx0ZXIgKi9cbiAgICBzZWFyY2hDb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCk7XG4gICAgLyoqIGZpbHRlcmVkIGJ5IHNlYXJjaCBmaWx0ZXJzICovXG4gICAgZmlsdGVyZWRPcHRpb25zOiBPYnNlcnZhYmxlPEticUZpbHRlcltdPjtcblxuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcG9wb3ZlclNpemUgPSBQb3BVcFNpemVzLk1lZGl1bTtcblxuICAgIC8qKiBuZXcgZmlsdGVyIG5hbWUgZm9yIHNhdmluZyAqL1xuICAgIGZpbHRlck5hbWU6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuXG4gICAgLyoqIHRydWUgaWYgc2F2aW5nIGEgbmV3IGZpbHRlciwgZmFsc2UgaWYgc2F2aW5nIGNoYW5nZXMgaW4gZmlsdGVyICovXG4gICAgc2F2ZU5ld0ZpbHRlcjogYm9vbGVhbjtcblxuICAgIHNob3dGaWx0ZXJTYXZpbmdFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGZpbHRlclNhdmluZ0Vycm9yVGV4dDogc3RyaW5nO1xuXG4gICAgaXNTYXZpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGZpbHRlcnM6IEticUZpbHRlcltdO1xuXG4gICAgLyoqIEV2ZW50IHRoYXQgaXMgZ2VuZXJhdGVkIHdoZW5ldmVyIHRoZSB1c2VyIHNlbGVjdHMgYSBmaWx0ZXIuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uU2VsZWN0RmlsdGVyID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFGaWx0ZXI+KCk7XG4gICAgLyoqIEV2ZW50IHRoYXQgaXMgZ2VuZXJhdGVkIHdoZW5ldmVyIHRoZSB1c2VyIHNhdmUgYSBmaWx0ZXIuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uU2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8S2JxU2F2ZUZpbHRlckV2ZW50PigpO1xuICAgIC8qKiBFdmVudCB0aGF0IGlzIGdlbmVyYXRlZCB3aGVuZXZlciB0aGUgdXNlciBjaGFuZ2UgYSBmaWx0ZXIuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uQ2hhbmdlRmlsdGVyID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFTYXZlRmlsdGVyRXZlbnQ+KCk7XG4gICAgLyoqIEV2ZW50IHRoYXQgaXMgZ2VuZXJhdGVkIHdoZW5ldmVyIHRoZSB1c2VyIHNhdmVzIGEgZmlsdGVyIGFzIG5ldy5cbiAgICAgKiBAZGVwcmVjYXRlZCB1c2Ugb25TYXZlIHdpdGggc3RhdHVzID0gbmV3RmlsdGVyLiAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBvblNhdmVBc05ldyA9IG5ldyBFdmVudEVtaXR0ZXI8S2JxU2F2ZUZpbHRlckV2ZW50PigpO1xuICAgIC8qKiBFdmVudCB0aGF0IGlzIGdlbmVyYXRlZCB3aGVuZXZlciB0aGUgdXNlciByZW1vdmUgYSBmaWx0ZXIuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uUmVtb3ZlRmlsdGVyID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFGaWx0ZXI+KCk7XG4gICAgLyoqIEV2ZW50IHRoYXQgaXMgZ2VuZXJhdGVkIHdoZW5ldmVyIHRoZSB1c2VyIHJlc2V0IGEgZmlsdGVyIGNoYW5nZXMuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uUmVzZXRGaWx0ZXJDaGFuZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFGaWx0ZXIgfCBudWxsPigpO1xuXG4gICAgLyoqIGhlYWRlciBvZiBwb3BvdmVyLiBEZXBlbmRzIG9uIHRoZSBtb2RlICovXG4gICAgZ2V0IHBvcG92ZXJIZWFkZXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2F2ZU5ld0ZpbHRlciA/IHRoaXMubG9jYWxlRGF0YS5zYXZlQXNOZXcgOiB0aGlzLmxvY2FsZURhdGEuc2F2ZUNoYW5nZXM7XG4gICAgfVxuXG4gICAgLyoqIENvbXBvbmVudCBzdGF0ZS4gdHJ1ZSBpZiBvcGVuZWQgZHJvcGRvd24gb3IgcG9wdXAgKi9cbiAgICBnZXQgb3BlbmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3BvdmVyPy5pc09wZW4gfHwgdGhpcy5kcm9wZG93bj8ub3BlbmVkO1xuICAgIH1cblxuICAgIC8qKiBTZWxlY3RlZCBmaWx0ZXIgKi9cbiAgICBnZXQgZmlsdGVyKCk6IEticUZpbHRlciB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJCYXIuZmlsdGVyO1xuICAgIH1cblxuICAgIC8qKiBDb21wb25lbnQgc3RhdGUuIFRydWUgaWYgJ2ZpbHRlcnMnIGlucHV0IGNvbnRhaW5zIG5vIGVsZW1lbnRzLiAqL1xuICAgIGdldCBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJzLmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICAvKiogbG9jYWxpemVkIGRhdGFcbiAgICAgKiBAZG9jcy1wcml2YXRlICovXG4gICAgZ2V0IGxvY2FsZURhdGEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlckJhci5jb25maWd1cmF0aW9uLmZpbHRlcnM7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyQmFyLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IG1lcmdlKFxuICAgICAgICAgICAgb2YodGhpcy5maWx0ZXJzKSxcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShtYXAoKHZhbHVlKSA9PiB0aGlzLmdldEZpbHRlcmVkT3B0aW9ucyh2YWx1ZSkpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHNlbGVjdEZpbHRlcihmaWx0ZXI6IEticUZpbHRlcikge1xuICAgICAgICB0aGlzLmZpbHRlckJhci5pbnRlcm5hbEZpbHRlckNoYW5nZXMubmV4dChzdHJ1Y3R1cmVkQ2xvbmUoZmlsdGVyKSk7XG5cbiAgICAgICAgdGhpcy5vblNlbGVjdEZpbHRlci5uZXh0KGZpbHRlcik7XG4gICAgfVxuXG4gICAgc2F2ZUNoYW5nZXMoKSB7XG4gICAgICAgIGlmICghdGhpcy5maWx0ZXJCYXIuZmlsdGVyKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5maWx0ZXJCYXIuZmlsdGVyLnNhdmVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5maWx0ZXJCYXIuZmlsdGVyLmNoYW5nZWQgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLmZpbHRlckJhci5pbnRlcm5hbEZpbHRlckNoYW5nZXMubmV4dCh0aGlzLmZpbHRlckJhci5maWx0ZXIpO1xuXG4gICAgICAgIHRoaXMub25TYXZlLmVtaXQoe1xuICAgICAgICAgICAgZmlsdGVyOiB0aGlzLmZpbHRlckJhci5maWx0ZXIsXG4gICAgICAgICAgICBmaWx0ZXJCYXI6IHRoaXMuZmlsdGVyQmFyLFxuICAgICAgICAgICAgc3RhdHVzOiBLYnFTYXZlRmlsdGVyU3RhdHVzZXMuT25seUNoYW5nZXNcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2F2ZUFzTmV3KGV2ZW50PzogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyTmFtZS5pbnZhbGlkKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgbmFtZSA9IHRoaXMuZmlsdGVyTmFtZS52YWx1ZSB8fCAnJztcblxuICAgICAgICAvLyBAdG9kbyBkZWZhdWx0IGZpbHRlclxuICAgICAgICBjb25zdCBmaWx0ZXIgPSBzdHJ1Y3R1cmVkQ2xvbmU8S2JxRmlsdGVyPih0aGlzLmZpbHRlciBhcyBLYnFGaWx0ZXIpIHx8IHsgcGlwZXM6IFtdIH07XG5cbiAgICAgICAgZmlsdGVyLm5hbWUgPSBuYW1lO1xuICAgICAgICBmaWx0ZXIuc2F2ZWQgPSB0cnVlO1xuICAgICAgICBmaWx0ZXIuY2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuaXNTYXZpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnBvcG92ZXIucHJldmVudENsb3NlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5maWx0ZXJOYW1lLmRpc2FibGUoKTtcblxuICAgICAgICBpZiAodGhpcy5zYXZlTmV3RmlsdGVyKSB7XG4gICAgICAgICAgICB0aGlzLm9uU2F2ZUFzTmV3LmVtaXQoeyBmaWx0ZXIsIGZpbHRlckJhcjogdGhpcy5maWx0ZXJCYXIgfSk7XG4gICAgICAgICAgICB0aGlzLm9uU2F2ZS5lbWl0KHsgZmlsdGVyLCBmaWx0ZXJCYXI6IHRoaXMuZmlsdGVyQmFyLCBzdGF0dXM6IEticVNhdmVGaWx0ZXJTdGF0dXNlcy5OZXdGaWx0ZXIgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uU2F2ZS5lbWl0KHsgZmlsdGVyLCBmaWx0ZXJCYXI6IHRoaXMuZmlsdGVyQmFyLCBzdGF0dXM6IEticVNhdmVGaWx0ZXJTdGF0dXNlcy5OZXdOYW1lIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgc2hvd0Vycm9yKGVycm9yPzogS2JxU2F2ZUZpbHRlckVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvcj8ubmFtZUFscmVhZHlFeGlzdHMpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyTmFtZS5zZXRFcnJvcnMoeyBmaWx0ZXJOYW1lQWxyZWFkeUV4aXN0OiB0cnVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zaG93RmlsdGVyU2F2aW5nRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuZmlsdGVyU2F2aW5nRXJyb3JUZXh0ID0gZXJyb3I/LnRleHQgPz8gdGhpcy5maWx0ZXJCYXIuY29uZmlndXJhdGlvbi5maWx0ZXJzLmVycm9ySGludDtcbiAgICB9XG5cbiAgICByZXN0b3JlRm9jdXMoKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJlcGFyZVBvcG92ZXIoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyTmFtZSA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KHRoaXMuZmlsdGVyPy5uYW1lIHx8ICcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcblxuICAgICAgICB0aGlzLmZpbHRlck5hbWUudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiAodGhpcy5zaG93RmlsdGVyU2F2aW5nRXJyb3IgPSBmYWxzZSkpO1xuXG4gICAgICAgIHRoaXMucG9wb3Zlci5zaG93KCk7XG5cbiAgICAgICAgbWVyZ2UoLi4udGhpcy5wb3BvdmVyLmRlZmF1bHRDbG9zaW5nQWN0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoZmlsdGVyKCgpID0+ICF0aGlzLmlzU2F2aW5nKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy5jbG9zZVBvcG92ZXIpO1xuXG4gICAgICAgIHRoaXMucG9wb3Zlci52aXNpYmxlQ2hhbmdlLnBpcGUoZmlsdGVyKChzdGF0ZSkgPT4gIXN0YXRlKSkuc3Vic2NyaWJlKHRoaXMuY2xvc2VQb3BvdmVyKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubmV3RmlsdGVyTmFtZS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICB0aGlzLmZpbHRlck5hbWUuc2V0RXJyb3JzKG51bGwpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvcGVuU2F2ZUFzTmV3RmlsdGVyUG9wb3ZlcigpIHtcbiAgICAgICAgdGhpcy5zYXZlTmV3RmlsdGVyID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLnByZXBhcmVQb3BvdmVyKCk7XG4gICAgfVxuXG4gICAgb3BlbkNoYW5nZUZpbHRlck5hbWVQb3BvdmVyKCkge1xuICAgICAgICB0aGlzLnNhdmVOZXdGaWx0ZXIgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLnByZXBhcmVQb3BvdmVyKCk7XG4gICAgfVxuXG4gICAgY2xvc2VQb3BvdmVyID0gKCkgPT4ge1xuICAgICAgICB0aGlzLnBvcG92ZXIuaGlkZSgpO1xuXG4gICAgICAgIHRoaXMucmVzdG9yZUZvY3VzKCk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKSk7XG5cbiAgICAgICAgdGhpcy5zaG93RmlsdGVyU2F2aW5nRXJyb3IgPSBmYWxzZTtcbiAgICB9O1xuXG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBzdG9wRXZlbnRQcm9wYWdhdGlvbihldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBzZWFyY2hLZXlkb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVBvcG92ZXIoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcEV2ZW50UHJvcGFnYXRpb24oZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBvbkRyb3Bkb3duT3BlbigpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hDb250cm9sLnNldFZhbHVlKG51bGwpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2VhcmNoLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSk7XG4gICAgfVxuXG4gICAgcmVzZXRGaWx0ZXJDaGFuZ2VzKCkge1xuICAgICAgICB0aGlzLmZpbHRlckJhci5yZXNldEZpbHRlckNoYW5nZWRTdGF0ZSgpO1xuXG4gICAgICAgIHRoaXMub25SZXNldEZpbHRlckNoYW5nZXMuZW1pdCh0aGlzLmZpbHRlciEpO1xuICAgIH1cblxuICAgIC8qKiBIaWRlIHRoZSBwb3B1cCBhbmQgcmVzdG9yZSBmb2N1cy5cbiAgICAgKiBVc2UgdGhpcyBtZXRob2QgaW4gdGhlIG9uU2F2ZSwgb25TYXZlQXNOZXcsIG9yIG9uQ2hhbmdlRmlsdGVyIGV2ZW50cyBhZnRlciB0aGUgZGF0YSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgc2F2ZWQuICovXG4gICAgZmlsdGVyU2F2ZWRTdWNjZXNzZnVsbHkoKSB7XG4gICAgICAgIHRoaXMuaXNTYXZpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5wb3BvdmVyLnByZXZlbnRDbG9zZSA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMucG9wb3Zlci5oaWRlKCk7XG4gICAgICAgIHRoaXMucmVzdG9yZUZvY3VzKCk7XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogU2hvd3MgYW4gZXJyb3IuIFVzZSB0aGlzIG1ldGhvZCBpbiB0aGUgb25TYXZlLCBvblNhdmVBc05ldywgb3Igb25DaGFuZ2VGaWx0ZXIgZXZlbnRzIGlmIHNhdmluZyBkYXRhIGZhaWxlZC4gKi9cbiAgICBmaWx0ZXJTYXZlZFVuc3VjY2Vzc2Z1bGx5KGVycm9yPzogS2JxU2F2ZUZpbHRlckVycm9yKSB7XG4gICAgICAgIHRoaXMuaXNTYXZpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5wb3BvdmVyLnByZXZlbnRDbG9zZSA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuc2hvd0Vycm9yKGVycm9yKTtcblxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmlsdGVyZWRPcHRpb25zKHZhbHVlKTogS2JxRmlsdGVyW10ge1xuICAgICAgICBjb25zdCBzZWFyY2hGaWx0ZXIgPSB2YWx1ZSAmJiB2YWx1ZS5uZXcgPyB2YWx1ZS52YWx1ZSA6IHZhbHVlO1xuXG4gICAgICAgIHJldHVybiBzZWFyY2hGaWx0ZXJcbiAgICAgICAgICAgID8gdGhpcy5maWx0ZXJzLmZpbHRlcigoZmlsdGVyKSA9PiBmaWx0ZXIubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaEZpbHRlci50b0xvd2VyQ2FzZSgpKSlcbiAgICAgICAgICAgIDogdGhpcy5maWx0ZXJzO1xuICAgIH1cbn1cbiIsIjxidXR0b25cbiAgICBrYnEtYnV0dG9uXG4gICAga2JxLXRpdGxlXG4gICAga2JxRmlsdGVyQmFyQnV0dG9uXG4gICAga2JxUG9wb3ZlclxuICAgIFtrYnFEcm9wZG93blRyaWdnZXJGb3JdPVwic2F2ZWRGaWx0ZXJzXCJcbiAgICBba2JxUG9wb3ZlckFycm93XT1cImZhbHNlXCJcbiAgICBba2JxUG9wb3ZlckNsYXNzXT1cIidrYnEtZmlsdGVyc19fc2F2ZS1hcy1uZXctZmlsdGVyLXBvcG92ZXInXCJcbiAgICBba2JxUG9wb3ZlckNvbnRlbnRdPVwic2F2ZUFzTmV3UG9wb3ZlckNvbnRlbnRcIlxuICAgIFtrYnFQb3BvdmVyRm9vdGVyXT1cInNhdmVBc05ld1BvcG92ZXJGb290ZXJcIlxuICAgIFtrYnFQb3BvdmVySGVhZGVyXT1cInNhdmVBc05ld1BvcG92ZXJIZWFkZXJcIlxuICAgIFtrYnFQb3BvdmVyUGxhY2VtZW50XT1cInBsYWNlbWVudHMuQm90dG9tTGVmdFwiXG4gICAgW2ticVBvcG92ZXJQbGFjZW1lbnRQcmlvcml0eV09XCJbcGxhY2VtZW50cy5Cb3R0b21MZWZ0LCBwbGFjZW1lbnRzLlRvcExlZnRdXCJcbiAgICBba2JxUG9wb3ZlclNpemVdPVwicG9wb3ZlclNpemVcIlxuICAgIFtrYnFUcmlnZ2VyXT1cIidtYW51YWwnXCJcbiAgICBbY2xhc3Mua2JxLWFjdGl2ZV09XCJvcGVuZWRcIlxuICAgIFtkaXNhYmxlZF09XCJpc1NhdmluZ1wiXG4gICAgKGRyb3Bkb3duQ2xvc2VkKT1cInNlYXJjaENvbnRyb2wuc2V0VmFsdWUoJycpXCJcbiAgICAoZHJvcGRvd25PcGVuZWQpPVwib25Ecm9wZG93bk9wZW4oKVwiXG4+XG4gICAgPHNwYW4gI2ticVRpdGxlVGV4dCBjbGFzcz1cImticS1maWx0ZXJzX19maWx0ZXItbmFtZVwiPlxuICAgICAgICBAaWYgKGZpbHRlcj8ubmFtZSkge1xuICAgICAgICAgICAge3sgZmlsdGVyIS5uYW1lIH19XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGkga2JxLWljb249XCJrYnEtbGlzdF8xNlwiPjwvaT5cbiAgICAgICAgICAgICAgICB7eyBsb2NhbGVEYXRhLmRlZmF1bHROYW1lIH19XG4gICAgICAgICAgICA8L25nLWNvbnRlbnQ+XG4gICAgICAgIH1cbiAgICA8L3NwYW4+XG48L2J1dHRvbj5cblxuQGlmIChmaWx0ZXJCYXIuaXNDaGFuZ2VkICYmICFmaWx0ZXJCYXIuaXNTYXZlZCkge1xuICAgIDxidXR0b25cbiAgICAgICAga2JxLWJ1dHRvblxuICAgICAgICBrYnFGaWx0ZXJCYXJCdXR0b25cbiAgICAgICAgY2xhc3M9XCJrYnEtYnV0dG9uX2FjdGlvblwiXG4gICAgICAgIGticVRvb2x0aXA9XCJ7eyBsb2NhbGVEYXRhLnNhdmVOZXdGaWx0ZXJUb29sdGlwIH19XCJcbiAgICAgICAgW2NvbG9yXT1cImNvbG9ycy5FbXB0eVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc1NhdmluZ1wiXG4gICAgICAgIChjbGljayk9XCJvcGVuU2F2ZUFzTmV3RmlsdGVyUG9wb3ZlcigpXCJcbiAgICA+XG4gICAgICAgIDxpIGticS1pY29uPVwia2JxLWZsb3BweS1kaXNrXzE2XCI+PC9pPlxuICAgIDwvYnV0dG9uPlxufVxuXG5AaWYgKGZpbHRlckJhci5pc1NhdmVkKSB7XG4gICAgPGJ1dHRvblxuICAgICAgICBrYnEtYnV0dG9uXG4gICAgICAgIGticUZpbHRlckJhckJ1dHRvblxuICAgICAgICBjbGFzcz1cImticS1idXR0b25fYWN0aW9uXCJcbiAgICAgICAgW2NvbG9yXT1cImNvbG9ycy5FbXB0eVwiXG4gICAgICAgIFtrYnFEcm9wZG93blRyaWdnZXJGb3JdPVwiZmlsdGVyQWN0aW9uc1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc1NhdmluZ1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ticS1idXR0b25fY2hhbmdlZC1zYXZlZC1maWx0ZXInOiBmaWx0ZXJCYXIuaXNTYXZlZEFuZENoYW5nZWQgfVwiXG4gICAgPlxuICAgICAgICA8aSBrYnEtaWNvbj1cImticS1lbGxpcHNpcy12ZXJ0aWNhbF8xNlwiPjwvaT5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxpIGticS1pY29uPVwia2JxLWNoZXZyb24tcmlnaHQtc18xNlwiIGNsYXNzPVwia2JxLWZpbHRlci1iYXJfX2Fycm93XCIgW2NvbG9yXT1cIid0aGVtZSdcIj48L2k+XG59IEBlbHNlIHtcbiAgICA8a2JxLWRpdmlkZXIgY2xhc3M9XCJrYnEtZmlsdGVyLWJhcl9fc2VwYXJhdG9yXCIgW3ZlcnRpY2FsXT1cInRydWVcIiAvPlxufVxuXG48a2JxLWRyb3Bkb3duICNzYXZlZEZpbHRlcnM9XCJrYnFEcm9wZG93blwiIFtjbGFzc109XCIna2JxLWZpbHRlcnNfX2Ryb3Bkb3duJ1wiPlxuICAgIDxkaXYgW3N0eWxlLmRpc3BsYXldPVwiaXNFbXB0eSA/ICdub25lJyA6ICdpbml0aWFsJ1wiPlxuICAgICAgICA8a2JxLWZvcm0tZmllbGQga2JxRm9ybUZpZWxkV2l0aG91dEJvcmRlcnM+XG4gICAgICAgICAgICA8aSBrYnEtaWNvbj1cImticS1tYWduaWZ5aW5nLWdsYXNzXzE2XCIga2JxUHJlZml4PjwvaT5cblxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgI3NlYXJjaFxuICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAga2JxSW5wdXRcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IGxvY2FsZURhdGEuc2VhcmNoUGxhY2Vob2xkZXIgfX1cIlxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzZWFyY2hDb250cm9sXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic3RvcEV2ZW50UHJvcGFnYXRpb24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwic2VhcmNoS2V5ZG93bkhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGticS1jbGVhbmVyIC8+XG4gICAgICAgIDwva2JxLWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPGticS1kaXZpZGVyIC8+XG5cbiAgICAgICAgQGZvciAoZmlsdGVyIG9mIGZpbHRlcmVkT3B0aW9ucyB8IGFzeW5jOyB0cmFjayBmaWx0ZXIpIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBrYnEtZHJvcGRvd24taXRlbVxuICAgICAgICAgICAgICAgIGticS10aXRsZVxuICAgICAgICAgICAgICAgIFtjbGFzcy5rYnEtc2VsZWN0ZWRdPVwiZmlsdGVyQmFyLmZpbHRlcj8ubmFtZSA9PT0gZmlsdGVyLm5hbWVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RGaWx0ZXIoZmlsdGVyKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgZmlsdGVyLm5hbWUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9IEBlbXB0eSB7XG4gICAgICAgICAgICA8YnV0dG9uIGticS1kcm9wZG93bi1pdGVtIFtkaXNhYmxlZF09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAge3sgbG9jYWxlRGF0YS5zZWFyY2hFbXB0eVJlc3VsdCB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cblxuICAgICAgICA8a2JxLWRpdmlkZXIgLz5cbiAgICA8L2Rpdj5cblxuICAgIDxidXR0b24ga2JxLWRyb3Bkb3duLWl0ZW0gKGNsaWNrKT1cIm9wZW5TYXZlQXNOZXdGaWx0ZXJQb3BvdmVyKClcIj5cbiAgICAgICAgPGkga2JxLWljb249XCJrYnEtcGx1c18xNlwiPjwvaT5cbiAgICAgICAge3sgbG9jYWxlRGF0YS5zYXZlQXNOZXdGaWx0ZXIgfX1cbiAgICA8L2J1dHRvbj5cbjwva2JxLWRyb3Bkb3duPlxuXG48a2JxLWRyb3Bkb3duICNmaWx0ZXJBY3Rpb25zPVwia2JxRHJvcGRvd25cIiBbY2xhc3NdPVwiJ2ticS1maWx0ZXJzX19kcm9wZG93bidcIj5cbiAgICBAaWYgKGZpbHRlckJhci5pc1NhdmVkQW5kQ2hhbmdlZCAmJiAhZmlsdGVyQmFyLmlzUmVhZE9ubHkpIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAga2JxLWRyb3Bkb3duLWl0ZW1cbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ticS1idXR0b25fY2hhbmdlZC1zYXZlZC1maWx0ZXInOiBmaWx0ZXJCYXIuaXNTYXZlZEFuZENoYW5nZWQgfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2F2ZUNoYW5nZXMoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxpIGticS1pY29uPVwia2JxLWZsb3BweS1kaXNrXzE2XCI+PC9pPlxuICAgICAgICAgICAge3sgbG9jYWxlRGF0YS5zYXZlQ2hhbmdlcyB9fVxuICAgICAgICAgICAgQGlmIChmaWx0ZXJCYXIuaXNTYXZlZEFuZENoYW5nZWQpIHtcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImticSBrYnEtaWNvbiBrYnEtaWNvbi1idXR0b24ga2JxLWNpcmNsZS14c18xNiBrYnEtd2FybmluZyBsYXlvdXQtbWFyZ2luLWxlZnQteHNcIj48L2k+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgICA8YnV0dG9uIGticS1kcm9wZG93bi1pdGVtIChjbGljayk9XCJvcGVuU2F2ZUFzTmV3RmlsdGVyUG9wb3ZlcigpXCI+XG4gICAgICAgIDxpIGticS1pY29uPVwia2JxLXBsdXNfMTZcIj48L2k+XG4gICAgICAgIHt7IGxvY2FsZURhdGEuc2F2ZUFzTmV3IH19XG4gICAgPC9idXR0b24+XG5cbiAgICBAaWYgKCFmaWx0ZXJCYXIuaXNSZWFkT25seSkge1xuICAgICAgICA8YnV0dG9uIGticS1kcm9wZG93bi1pdGVtIChjbGljayk9XCJvcGVuQ2hhbmdlRmlsdGVyTmFtZVBvcG92ZXIoKVwiPlxuICAgICAgICAgICAgPGkga2JxLWljb249XCJrYnEtcGVuY2lsXzE2XCI+PC9pPlxuICAgICAgICAgICAge3sgbG9jYWxlRGF0YS5jaGFuZ2UgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgfVxuXG4gICAgQGlmIChmaWx0ZXJCYXIuaXNTYXZlZEFuZENoYW5nZWQgfHwgIWZpbHRlckJhci5pc1JlYWRPbmx5KSB7XG4gICAgICAgIDxrYnEtZGl2aWRlciAvPlxuICAgIH1cblxuICAgIEBpZiAoZmlsdGVyQmFyLmlzU2F2ZWRBbmRDaGFuZ2VkKSB7XG4gICAgICAgIDxidXR0b24ga2JxLWRyb3Bkb3duLWl0ZW0gKGNsaWNrKT1cInJlc2V0RmlsdGVyQ2hhbmdlcygpXCI+XG4gICAgICAgICAgICA8aSBrYnEtaWNvbj1cImticS14bWFyay1jaXJjbGVfMTZcIj48L2k+XG4gICAgICAgICAgICB7eyBsb2NhbGVEYXRhLnJlc2V0Q2hhbmdlcyB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICB9XG4gICAgQGlmICghZmlsdGVyQmFyLmlzUmVhZE9ubHkpIHtcbiAgICAgICAgPGJ1dHRvbiBrYnEtZHJvcGRvd24taXRlbSAoY2xpY2spPVwidGhpcy5vblJlbW92ZUZpbHRlci5uZXh0KHRoaXMuZmlsdGVyISlcIj5cbiAgICAgICAgICAgIDxpIGticS1pY29uPVwia2JxLXRyYXNoXzE2XCI+PC9pPlxuICAgICAgICAgICAge3sgbG9jYWxlRGF0YS5yZW1vdmUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgfVxuPC9rYnEtZHJvcGRvd24+XG5cbjxuZy10ZW1wbGF0ZSAjc2F2ZUFzTmV3UG9wb3ZlckhlYWRlcj57eyBwb3BvdmVySGVhZGVyIH19PC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzYXZlQXNOZXdQb3BvdmVyQ29udGVudD5cbiAgICBAaWYgKHNob3dGaWx0ZXJTYXZpbmdFcnJvcikge1xuICAgICAgICA8a2JxLWFsZXJ0IGNsYXNzPVwibGF5b3V0LW1hcmdpbi1ib3R0b20tbVwiIFthbGVydENvbG9yXT1cIidlcnJvcidcIiBbYWxlcnRTdHlsZV09XCInY29sb3JlZCdcIiBbY29tcGFjdF09XCJ0cnVlXCI+XG4gICAgICAgICAgICB7eyBmaWx0ZXJTYXZpbmdFcnJvclRleHQgfX1cbiAgICAgICAgPC9rYnEtYWxlcnQ+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJrYnEtZm9ybS12ZXJ0aWNhbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwia2JxLWZvcm1fX3Jvd1wiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwia2JxLWZvcm1fX2xhYmVsXCI+e3sgbG9jYWxlRGF0YS5uYW1lIH19PC9sYWJlbD5cblxuICAgICAgICAgICAgPGticS1mb3JtLWZpZWxkIGNsYXNzPVwia2JxLWZvcm1fX2NvbnRyb2xcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgI25ld0ZpbHRlck5hbWVcbiAgICAgICAgICAgICAgICAgICAga2JxSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZmlsdGVyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInNhdmVBc05ldygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgQGlmIChmaWx0ZXJOYW1lLmhhc0Vycm9yKCdmaWx0ZXJOYW1lQWxyZWFkeUV4aXN0JykpIHtcbiAgICAgICAgICAgICAgICAgICAgPGticS1lcnJvcj57eyBsb2NhbGVEYXRhLmVycm9yIH19PC9rYnEtZXJyb3I+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9rYnEtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3NhdmVBc05ld1BvcG92ZXJGb290ZXI+XG4gICAgPGJ1dHRvblxuICAgICAgICBrYnEtYnV0dG9uXG4gICAgICAgIGNsYXNzPVwibGF5b3V0LW1hcmdpbi1yaWdodC1sXCJcbiAgICAgICAgW2NsYXNzLmticS1wcm9ncmVzc109XCJpc1NhdmluZ1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc1NhdmluZ1wiXG4gICAgICAgIFtjb2xvcl09XCInY29udHJhc3QnXCJcbiAgICAgICAgW2ticVN0eWxlXT1cIidmaWxsZWQnXCJcbiAgICAgICAgKGNsaWNrKT1cInNhdmVBc05ldygpXCJcbiAgICA+XG4gICAgICAgIHt7IGxvY2FsZURhdGEuc2F2ZUJ1dHRvbiB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24ga2JxLWJ1dHRvbiBbY29sb3JdPVwiJ2NvbnRyYXN0LWZhZGUnXCIgW2ticVN0eWxlXT1cIidmaWxsZWQnXCIgW2Rpc2FibGVkXT1cImlzU2F2aW5nXCIgKGNsaWNrKT1cImNsb3NlUG9wb3ZlcigpXCI+XG4gICAgICAgIHt7IGxvY2FsZURhdGEuY2FuY2VsQnV0dG9uIH19XG4gICAgPC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuIl19
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZmlsdGVyLWJhci9maWx0ZXJzLnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9maWx0ZXItYmFyL2ZpbHRlcnMuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0csT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FB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QUFoQyxNQUFNO2dCQUVZLG9CQUFvQjtzQkFBdEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEticUFsZXJ0TW9kdWxlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2FsZXJ0JztcbmltcG9ydCB7IEticUJ1dHRvbiwgS2JxQnV0dG9uTW9kdWxlLCBLYnFCdXR0b25TdHlsZXMgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEticUNvbXBvbmVudENvbG9ycywgS2JxRm9ybXNNb2R1bGUsIFBvcFVwUGxhY2VtZW50cywgUG9wVXBTaXplcyB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9jb3JlJztcbmltcG9ydCB7IEticURpdmlkZXJNb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvZGl2aWRlcic7XG5pbXBvcnQgeyBLYnFEcm9wZG93bk1vZHVsZSwgS2JxRHJvcGRvd25UcmlnZ2VyIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEticUZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEticUljb24gfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvaWNvbic7XG5pbXBvcnQgeyBLYnFJbnB1dE1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9pbnB1dCc7XG5pbXBvcnQgeyBLYnFQb3BvdmVyTW9kdWxlLCBLYnFQb3BvdmVyVHJpZ2dlciB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9wb3BvdmVyJztcbmltcG9ydCB7IEticVRpdGxlTW9kdWxlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL3RpdGxlJztcbmltcG9ydCB7IEticVRvb2x0aXBUcmlnZ2VyIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgbWVyZ2UsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEticUZpbHRlckJhciB9IGZyb20gJy4vZmlsdGVyLWJhcic7XG5pbXBvcnQgeyBLYnFGaWx0ZXJCYXJCdXR0b24gfSBmcm9tICcuL2ZpbHRlci1iYXItYnV0dG9uJztcbmltcG9ydCB7IEticUZpbHRlciwgS2JxU2F2ZUZpbHRlckVycm9yLCBLYnFTYXZlRmlsdGVyRXZlbnQsIEticVNhdmVGaWx0ZXJTdGF0dXNlcyB9IGZyb20gJy4vZmlsdGVyLWJhci50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgZXhwb3J0QXM6ICdrYnFGaWx0ZXJzJyxcbiAgICBzZWxlY3RvcjogJ2ticS1maWx0ZXJzJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2ZpbHRlcnMuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ2ZpbHRlcnMuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS1maWx0ZXJzJ1xuICAgIH0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBLYnFCdXR0b25Nb2R1bGUsXG4gICAgICAgIEticURyb3Bkb3duTW9kdWxlLFxuICAgICAgICBLYnFEaXZpZGVyTW9kdWxlLFxuICAgICAgICBLYnFJY29uLFxuICAgICAgICBLYnFUaXRsZU1vZHVsZSxcbiAgICAgICAgS2JxRm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBLYnFJbnB1dE1vZHVsZSxcbiAgICAgICAgTmdDbGFzcyxcbiAgICAgICAgS2JxRmlsdGVyQmFyQnV0dG9uLFxuICAgICAgICBBc3luY1BpcGUsXG4gICAgICAgIEticVRvb2x0aXBUcmlnZ2VyLFxuICAgICAgICBLYnFQb3BvdmVyTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgS2JxRm9ybXNNb2R1bGUsXG4gICAgICAgIEticUFsZXJ0TW9kdWxlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBLYnFGaWx0ZXJzIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBwbGFjZW1lbnRzID0gUG9wVXBQbGFjZW1lbnRzO1xuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0eWxlcyA9IEticUJ1dHRvblN0eWxlcztcbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb2xvcnMgPSBLYnFDb21wb25lbnRDb2xvcnM7XG5cbiAgICAvKiogS2JxRmlsdGVyQmFyIGluc3RhbmNlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGZpbHRlckJhciA9IGluamVjdChLYnFGaWx0ZXJCYXIpO1xuXG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIEBWaWV3Q2hpbGQoS2JxQnV0dG9uKSBwcml2YXRlIGJ1dHRvbjogS2JxQnV0dG9uO1xuICAgIEBWaWV3Q2hpbGQoS2JxUG9wb3ZlclRyaWdnZXIpIHByaXZhdGUgcG9wb3ZlcjogS2JxUG9wb3ZlclRyaWdnZXI7XG4gICAgQFZpZXdDaGlsZChLYnFEcm9wZG93blRyaWdnZXIpIHByaXZhdGUgZHJvcGRvd246IEticURyb3Bkb3duVHJpZ2dlcjtcbiAgICBAVmlld0NoaWxkKCdzZWFyY2gnKSBwcml2YXRlIHNlYXJjaDogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCduZXdGaWx0ZXJOYW1lJykgcHJpdmF0ZSBuZXdGaWx0ZXJOYW1lOiBFbGVtZW50UmVmO1xuXG4gICAgLyoqIGNvbnRyb2wgZm9yIHNlYXJjaCBmaWx0ZXIgKi9cbiAgICBzZWFyY2hDb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCk7XG4gICAgLyoqIGZpbHRlcmVkIGJ5IHNlYXJjaCBmaWx0ZXJzICovXG4gICAgZmlsdGVyZWRPcHRpb25zOiBPYnNlcnZhYmxlPEticUZpbHRlcltdPjtcblxuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcG9wb3ZlclNpemUgPSBQb3BVcFNpemVzLk1lZGl1bTtcblxuICAgIC8qKiBuZXcgZmlsdGVyIG5hbWUgZm9yIHNhdmluZyAqL1xuICAgIGZpbHRlck5hbWU6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuXG4gICAgLyoqIHRydWUgaWYgc2F2aW5nIGEgbmV3IGZpbHRlciwgZmFsc2UgaWYgc2F2aW5nIGNoYW5nZXMgaW4gZmlsdGVyICovXG4gICAgc2F2ZU5ld0ZpbHRlcjogYm9vbGVhbjtcblxuICAgIHNob3dGaWx0ZXJTYXZpbmdFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGZpbHRlclNhdmluZ0Vycm9yVGV4dDogc3RyaW5nO1xuXG4gICAgaXNTYXZpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGZpbHRlcnM6IEticUZpbHRlcltdO1xuXG4gICAgLyoqIEV2ZW50IHRoYXQgaXMgZ2VuZXJhdGVkIHdoZW5ldmVyIHRoZSB1c2VyIHNlbGVjdHMgYSBmaWx0ZXIuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uU2VsZWN0RmlsdGVyID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFGaWx0ZXI+KCk7XG4gICAgLyoqIEV2ZW50IHRoYXQgaXMgZ2VuZXJhdGVkIHdoZW5ldmVyIHRoZSB1c2VyIHNhdmUgYSBmaWx0ZXIuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uU2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8S2JxU2F2ZUZpbHRlckV2ZW50PigpO1xuICAgIC8qKiBFdmVudCB0aGF0IGlzIGdlbmVyYXRlZCB3aGVuZXZlciB0aGUgdXNlciBjaGFuZ2UgYSBmaWx0ZXIuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uQ2hhbmdlRmlsdGVyID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFTYXZlRmlsdGVyRXZlbnQ+KCk7XG4gICAgLyoqIEV2ZW50IHRoYXQgaXMgZ2VuZXJhdGVkIHdoZW5ldmVyIHRoZSB1c2VyIHNhdmVzIGEgZmlsdGVyIGFzIG5ldy5cbiAgICAgKiBAZGVwcmVjYXRlZCB1c2Ugb25TYXZlIHdpdGggc3RhdHVzID0gbmV3RmlsdGVyLiAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBvblNhdmVBc05ldyA9IG5ldyBFdmVudEVtaXR0ZXI8S2JxU2F2ZUZpbHRlckV2ZW50PigpO1xuICAgIC8qKiBFdmVudCB0aGF0IGlzIGdlbmVyYXRlZCB3aGVuZXZlciB0aGUgdXNlciByZW1vdmUgYSBmaWx0ZXIuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uUmVtb3ZlRmlsdGVyID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFGaWx0ZXI+KCk7XG4gICAgLyoqIEV2ZW50IHRoYXQgaXMgZ2VuZXJhdGVkIHdoZW5ldmVyIHRoZSB1c2VyIHJlc2V0IGEgZmlsdGVyIGNoYW5nZXMuICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uUmVzZXRGaWx0ZXJDaGFuZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFGaWx0ZXIgfCBudWxsPigpO1xuXG4gICAgLyoqIGhlYWRlciBvZiBwb3BvdmVyLiBEZXBlbmRzIG9uIHRoZSBtb2RlICovXG4gICAgZ2V0IHBvcG92ZXJIZWFkZXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2F2ZU5ld0ZpbHRlciA/IHRoaXMubG9jYWxlRGF0YS5zYXZlQXNOZXcgOiB0aGlzLmxvY2FsZURhdGEuc2F2ZUNoYW5nZXM7XG4gICAgfVxuXG4gICAgLyoqIENvbXBvbmVudCBzdGF0ZS4gdHJ1ZSBpZiBvcGVuZWQgZHJvcGRvd24gb3IgcG9wdXAgKi9cbiAgICBnZXQgb3BlbmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3BvdmVyPy5pc09wZW4gfHwgdGhpcy5kcm9wZG93bj8ub3BlbmVkO1xuICAgIH1cblxuICAgIC8qKiBTZWxlY3RlZCBmaWx0ZXIgKi9cbiAgICBnZXQgZmlsdGVyKCk6IEticUZpbHRlciB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJCYXIuZmlsdGVyO1xuICAgIH1cblxuICAgIC8qKiBDb21wb25lbnQgc3RhdGUuIFRydWUgaWYgJ2ZpbHRlcnMnIGlucHV0IGNvbnRhaW5zIG5vIGVsZW1lbnRzLiAqL1xuICAgIGdldCBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJzLmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICAvKiogbG9jYWxpemVkIGRhdGFcbiAgICAgKiBAZG9jcy1wcml2YXRlICovXG4gICAgZ2V0IGxvY2FsZURhdGEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlckJhci5jb25maWd1cmF0aW9uLmZpbHRlcnM7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyQmFyLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IG1lcmdlKFxuICAgICAgICAgICAgb2YodGhpcy5maWx0ZXJzKSxcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShtYXAoKHZhbHVlKSA9PiB0aGlzLmdldEZpbHRlcmVkT3B0aW9ucyh2YWx1ZSkpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHNlbGVjdEZpbHRlcihmaWx0ZXI6IEticUZpbHRlcikge1xuICAgICAgICB0aGlzLmZpbHRlckJhci5pbnRlcm5hbEZpbHRlckNoYW5nZXMubmV4dChzdHJ1Y3R1cmVkQ2xvbmUoZmlsdGVyKSk7XG5cbiAgICAgICAgdGhpcy5vblNlbGVjdEZpbHRlci5uZXh0KGZpbHRlcik7XG4gICAgfVxuXG4gICAgc2F2ZUNoYW5nZXMoKSB7XG4gICAgICAgIGlmICghdGhpcy5maWx0ZXJCYXIuZmlsdGVyKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5maWx0ZXJCYXIuZmlsdGVyLnNhdmVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5maWx0ZXJCYXIuZmlsdGVyLmNoYW5nZWQgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLmZpbHRlckJhci5pbnRlcm5hbEZpbHRlckNoYW5nZXMubmV4dCh0aGlzLmZpbHRlckJhci5maWx0ZXIpO1xuXG4gICAgICAgIHRoaXMub25TYXZlLmVtaXQoe1xuICAgICAgICAgICAgZmlsdGVyOiB0aGlzLmZpbHRlckJhci5maWx0ZXIsXG4gICAgICAgICAgICBmaWx0ZXJCYXI6IHRoaXMuZmlsdGVyQmFyLFxuICAgICAgICAgICAgc3RhdHVzOiBLYnFTYXZlRmlsdGVyU3RhdHVzZXMuT25seUNoYW5nZXNcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2F2ZUFzTmV3KGV2ZW50PzogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyTmFtZS5pbnZhbGlkKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgbmFtZSA9IHRoaXMuZmlsdGVyTmFtZS52YWx1ZSB8fCAnJztcblxuICAgICAgICAvLyBAdG9kbyBkZWZhdWx0IGZpbHRlclxuICAgICAgICBjb25zdCBmaWx0ZXIgPSBzdHJ1Y3R1cmVkQ2xvbmU8S2JxRmlsdGVyPih0aGlzLmZpbHRlciBhcyBLYnFGaWx0ZXIpIHx8IHsgcGlwZXM6IFtdIH07XG5cbiAgICAgICAgZmlsdGVyLm5hbWUgPSBuYW1lO1xuICAgICAgICBmaWx0ZXIuc2F2ZWQgPSB0cnVlO1xuICAgICAgICBmaWx0ZXIuY2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuaXNTYXZpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnBvcG92ZXIucHJldmVudENsb3NlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5maWx0ZXJOYW1lLmRpc2FibGUoKTtcblxuICAgICAgICBpZiAodGhpcy5zYXZlTmV3RmlsdGVyKSB7XG4gICAgICAgICAgICB0aGlzLm9uU2F2ZUFzTmV3LmVtaXQoeyBmaWx0ZXIsIGZpbHRlckJhcjogdGhpcy5maWx0ZXJCYXIgfSk7XG4gICAgICAgICAgICB0aGlzLm9uU2F2ZS5lbWl0KHsgZmlsdGVyLCBmaWx0ZXJCYXI6IHRoaXMuZmlsdGVyQmFyLCBzdGF0dXM6IEticVNhdmVGaWx0ZXJTdGF0dXNlcy5OZXdGaWx0ZXIgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uU2F2ZS5lbWl0KHsgZmlsdGVyLCBmaWx0ZXJCYXI6IHRoaXMuZmlsdGVyQmFyLCBzdGF0dXM6IEticVNhdmVGaWx0ZXJTdGF0dXNlcy5OZXdOYW1lIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgc2hvd0Vycm9yKGVycm9yPzogS2JxU2F2ZUZpbHRlckVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvcj8ubmFtZUFscmVhZHlFeGlzdHMpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyTmFtZS5zZXRFcnJvcnMoeyBmaWx0ZXJOYW1lQWxyZWFkeUV4aXN0OiB0cnVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zaG93RmlsdGVyU2F2aW5nRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuZmlsdGVyU2F2aW5nRXJyb3JUZXh0ID0gZXJyb3I/LnRleHQgPz8gdGhpcy5maWx0ZXJCYXIuY29uZmlndXJhdGlvbi5maWx0ZXJzLmVycm9ySGludDtcbiAgICB9XG5cbiAgICByZXN0b3JlRm9jdXMoKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJlcGFyZVBvcG92ZXIoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyTmFtZSA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KHRoaXMuZmlsdGVyPy5uYW1lIHx8ICcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcblxuICAgICAgICB0aGlzLmZpbHRlck5hbWUudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiAodGhpcy5zaG93RmlsdGVyU2F2aW5nRXJyb3IgPSBmYWxzZSkpO1xuXG4gICAgICAgIHRoaXMucG9wb3Zlci5zaG93KCk7XG5cbiAgICAgICAgbWVyZ2UoLi4udGhpcy5wb3BvdmVyLmRlZmF1bHRDbG9zaW5nQWN0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoZmlsdGVyKCgpID0+ICF0aGlzLmlzU2F2aW5nKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy5jbG9zZVBvcG92ZXIpO1xuXG4gICAgICAgIHRoaXMucG9wb3Zlci52aXNpYmxlQ2hhbmdlLnBpcGUoZmlsdGVyKChzdGF0ZSkgPT4gIXN0YXRlKSkuc3Vic2NyaWJlKHRoaXMuY2xvc2VQb3BvdmVyKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubmV3RmlsdGVyTmFtZS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICB0aGlzLmZpbHRlck5hbWUuc2V0RXJyb3JzKG51bGwpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvcGVuU2F2ZUFzTmV3RmlsdGVyUG9wb3ZlcigpIHtcbiAgICAgICAgdGhpcy5zYXZlTmV3RmlsdGVyID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLnByZXBhcmVQb3BvdmVyKCk7XG4gICAgfVxuXG4gICAgb3BlbkNoYW5nZUZpbHRlck5hbWVQb3BvdmVyKCkge1xuICAgICAgICB0aGlzLnNhdmVOZXdGaWx0ZXIgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLnByZXBhcmVQb3BvdmVyKCk7XG4gICAgfVxuXG4gICAgY2xvc2VQb3BvdmVyID0gKCkgPT4ge1xuICAgICAgICB0aGlzLnBvcG92ZXIuaGlkZSgpO1xuXG4gICAgICAgIHRoaXMucmVzdG9yZUZvY3VzKCk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKSk7XG5cbiAgICAgICAgdGhpcy5zaG93RmlsdGVyU2F2aW5nRXJyb3IgPSBmYWxzZTtcbiAgICB9O1xuXG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBzdG9wRXZlbnRQcm9wYWdhdGlvbihldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBzZWFyY2hLZXlkb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVBvcG92ZXIoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcEV2ZW50UHJvcGFnYXRpb24oZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBvbkRyb3Bkb3duT3BlbigpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hDb250cm9sLnNldFZhbHVlKG51bGwpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2VhcmNoLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSk7XG4gICAgfVxuXG4gICAgcmVzZXRGaWx0ZXJDaGFuZ2VzKCkge1xuICAgICAgICB0aGlzLmZpbHRlckJhci5yZXNldEZpbHRlckNoYW5nZWRTdGF0ZSgpO1xuXG4gICAgICAgIHRoaXMub25SZXNldEZpbHRlckNoYW5nZXMuZW1pdCh0aGlzLmZpbHRlciEpO1xuICAgIH1cblxuICAgIC8qKiBIaWRlIHRoZSBwb3B1cCBhbmQgcmVzdG9yZSBmb2N1cy5cbiAgICAgKiBVc2UgdGhpcyBtZXRob2QgaW4gdGhlIG9uU2F2ZSwgb25TYXZlQXNOZXcsIG9yIG9uQ2hhbmdlRmlsdGVyIGV2ZW50cyBhZnRlciB0aGUgZGF0YSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgc2F2ZWQuICovXG4gICAgZmlsdGVyU2F2ZWRTdWNjZXNzZnVsbHkoKSB7XG4gICAgICAgIHRoaXMuaXNTYXZpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5wb3BvdmVyLnByZXZlbnRDbG9zZSA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMucG9wb3Zlci5oaWRlKCk7XG4gICAgICAgIHRoaXMucmVzdG9yZUZvY3VzKCk7XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogU2hvd3MgYW4gZXJyb3IuIFVzZSB0aGlzIG1ldGhvZCBpbiB0aGUgb25TYXZlLCBvblNhdmVBc05ldywgb3Igb25DaGFuZ2VGaWx0ZXIgZXZlbnRzIGlmIHNhdmluZyBkYXRhIGZhaWxlZC4gKi9cbiAgICBmaWx0ZXJTYXZlZFVuc3VjY2Vzc2Z1bGx5KGVycm9yPzogS2JxU2F2ZUZpbHRlckVycm9yKSB7XG4gICAgICAgIHRoaXMuaXNTYXZpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5wb3BvdmVyLnByZXZlbnRDbG9zZSA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuc2hvd0Vycm9yKGVycm9yKTtcblxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmlsdGVyZWRPcHRpb25zKHZhbHVlKTogS2JxRmlsdGVyW10ge1xuICAgICAgICBjb25zdCBzZWFyY2hGaWx0ZXIgPSB2YWx1ZSAmJiB2YWx1ZS5uZXcgPyB2YWx1ZS52YWx1ZSA6IHZhbHVlO1xuXG4gICAgICAgIHJldHVybiBzZWFyY2hGaWx0ZXJcbiAgICAgICAgICAgID8gdGhpcy5maWx0ZXJzLmZpbHRlcigoZmlsdGVyKSA9PiBmaWx0ZXIubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaEZpbHRlci50b0xvd2VyQ2FzZSgpKSlcbiAgICAgICAgICAgIDogdGhpcy5maWx0ZXJzO1xuICAgIH1cbn1cbiIsIjxidXR0b25cbiAgICBrYnEtYnV0dG9uXG4gICAga2JxLXRpdGxlXG4gICAga2JxRmlsdGVyQmFyQnV0dG9uXG4gICAga2JxUG9wb3ZlclxuICAgIFtrYnFEcm9wZG93blRyaWdnZXJGb3JdPVwic2F2ZWRGaWx0ZXJzXCJcbiAgICBba2JxUG9wb3ZlckFycm93XT1cImZhbHNlXCJcbiAgICBba2JxUG9wb3ZlckNsYXNzXT1cIidrYnEtZmlsdGVyc19fc2F2ZS1hcy1uZXctZmlsdGVyLXBvcG92ZXInXCJcbiAgICBba2JxUG9wb3ZlckNvbnRlbnRdPVwic2F2ZUFzTmV3UG9wb3ZlckNvbnRlbnRcIlxuICAgIFtrYnFQb3BvdmVyRm9vdGVyXT1cInNhdmVBc05ld1BvcG92ZXJGb290ZXJcIlxuICAgIFtrYnFQb3BvdmVySGVhZGVyXT1cInNhdmVBc05ld1BvcG92ZXJIZWFkZXJcIlxuICAgIFtrYnFQb3BvdmVyUGxhY2VtZW50XT1cInBsYWNlbWVudHMuQm90dG9tTGVmdFwiXG4gICAgW2ticVBvcG92ZXJQbGFjZW1lbnRQcmlvcml0eV09XCJbcGxhY2VtZW50cy5Cb3R0b21MZWZ0LCBwbGFjZW1lbnRzLlRvcExlZnRdXCJcbiAgICBba2JxUG9wb3ZlclNpemVdPVwicG9wb3ZlclNpemVcIlxuICAgIFtrYnFUcmlnZ2VyXT1cIidtYW51YWwnXCJcbiAgICBbY2xhc3Mua2JxLWFjdGl2ZV09XCJvcGVuZWRcIlxuICAgIFtkaXNhYmxlZF09XCJpc1NhdmluZ1wiXG4gICAgKGRyb3Bkb3duQ2xvc2VkKT1cInNlYXJjaENvbnRyb2wuc2V0VmFsdWUoJycpXCJcbiAgICAoZHJvcGRvd25PcGVuZWQpPVwib25Ecm9wZG93bk9wZW4oKVwiXG4+XG4gICAgPHNwYW4gI2ticVRpdGxlVGV4dCBjbGFzcz1cImticS1maWx0ZXJzX19maWx0ZXItbmFtZVwiPlxuICAgICAgICBAaWYgKGZpbHRlcj8ubmFtZSkge1xuICAgICAgICAgICAge3sgZmlsdGVyIS5uYW1lIH19XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGkga2JxLWljb249XCJrYnEtbGlzdF8xNlwiPjwvaT5cbiAgICAgICAgICAgICAgICB7eyBsb2NhbGVEYXRhLmRlZmF1bHROYW1lIH19XG4gICAgICAgICAgICA8L25nLWNvbnRlbnQ+XG4gICAgICAgIH1cbiAgICA8L3NwYW4+XG48L2J1dHRvbj5cblxuQGlmIChmaWx0ZXJCYXIuaXNDaGFuZ2VkICYmICFmaWx0ZXJCYXIuaXNTYXZlZCkge1xuICAgIDxidXR0b25cbiAgICAgICAga2JxLWJ1dHRvblxuICAgICAgICBrYnFGaWx0ZXJCYXJCdXR0b25cbiAgICAgICAgY2xhc3M9XCJrYnEtYnV0dG9uX2FjdGlvblwiXG4gICAgICAgIGticVRvb2x0aXA9XCJ7eyBsb2NhbGVEYXRhLnNhdmVOZXdGaWx0ZXJUb29sdGlwIH19XCJcbiAgICAgICAgW2NvbG9yXT1cImNvbG9ycy5FbXB0eVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc1NhdmluZ1wiXG4gICAgICAgIChjbGljayk9XCJvcGVuU2F2ZUFzTmV3RmlsdGVyUG9wb3ZlcigpXCJcbiAgICA+XG4gICAgICAgIDxpIGticS1pY29uPVwia2JxLWZsb3BweS1kaXNrXzE2XCI+PC9pPlxuICAgIDwvYnV0dG9uPlxufVxuXG5AaWYgKGZpbHRlckJhci5pc1NhdmVkKSB7XG4gICAgPGJ1dHRvblxuICAgICAgICBrYnEtYnV0dG9uXG4gICAgICAgIGticUZpbHRlckJhckJ1dHRvblxuICAgICAgICBjbGFzcz1cImticS1idXR0b25fYWN0aW9uXCJcbiAgICAgICAgW2NvbG9yXT1cImNvbG9ycy5FbXB0eVwiXG4gICAgICAgIFtrYnFEcm9wZG93blRyaWdnZXJGb3JdPVwiZmlsdGVyQWN0aW9uc1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc1NhdmluZ1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ticS1idXR0b25fY2hhbmdlZC1zYXZlZC1maWx0ZXInOiBmaWx0ZXJCYXIuaXNTYXZlZEFuZENoYW5nZWQgfVwiXG4gICAgPlxuICAgICAgICA8aSBrYnEtaWNvbj1cImticS1lbGxpcHNpcy12ZXJ0aWNhbF8xNlwiPjwvaT5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxpIGticS1pY29uPVwia2JxLWNoZXZyb24tcmlnaHQtc18xNlwiIGNsYXNzPVwia2JxLWZpbHRlci1iYXJfX2Fycm93XCIgW2NvbG9yXT1cIid0aGVtZSdcIj48L2k+XG59IEBlbHNlIHtcbiAgICA8a2JxLWRpdmlkZXIgY2xhc3M9XCJrYnEtZmlsdGVyLWJhcl9fc2VwYXJhdG9yXCIgW3ZlcnRpY2FsXT1cInRydWVcIiAvPlxufVxuXG48a2JxLWRyb3Bkb3duICNzYXZlZEZpbHRlcnM9XCJrYnFEcm9wZG93blwiIFtjbGFzc109XCIna2JxLWZpbHRlcnNfX2Ryb3Bkb3duJ1wiPlxuICAgIDxkaXYgW3N0eWxlLmRpc3BsYXldPVwiaXNFbXB0eSA/ICdub25lJyA6ICdpbml0aWFsJ1wiPlxuICAgICAgICA8a2JxLWZvcm0tZmllbGQga2JxRm9ybUZpZWxkV2l0aG91dEJvcmRlcnM+XG4gICAgICAgICAgICA8aSBrYnEtaWNvbj1cImticS1tYWduaWZ5aW5nLWdsYXNzXzE2XCIga2JxUHJlZml4PjwvaT5cblxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgI3NlYXJjaFxuICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAga2JxSW5wdXRcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IGxvY2FsZURhdGEuc2VhcmNoUGxhY2Vob2xkZXIgfX1cIlxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzZWFyY2hDb250cm9sXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic3RvcEV2ZW50UHJvcGFnYXRpb24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwic2VhcmNoS2V5ZG93bkhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGticS1jbGVhbmVyIC8+XG4gICAgICAgIDwva2JxLWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPGticS1kaXZpZGVyIC8+XG5cbiAgICAgICAgQGZvciAoZmlsdGVyIG9mIGZpbHRlcmVkT3B0aW9ucyB8IGFzeW5jOyB0cmFjayBmaWx0ZXIpIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBrYnEtZHJvcGRvd24taXRlbVxuICAgICAgICAgICAgICAgIGticS10aXRsZVxuICAgICAgICAgICAgICAgIFtjbGFzcy5rYnEtc2VsZWN0ZWRdPVwiZmlsdGVyQmFyLmZpbHRlcj8ubmFtZSA9PT0gZmlsdGVyLm5hbWVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RGaWx0ZXIoZmlsdGVyKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgZmlsdGVyLm5hbWUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9IEBlbXB0eSB7XG4gICAgICAgICAgICA8YnV0dG9uIGticS1kcm9wZG93bi1pdGVtIFtkaXNhYmxlZF09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAge3sgbG9jYWxlRGF0YS5zZWFyY2hFbXB0eVJlc3VsdCB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cblxuICAgICAgICA8a2JxLWRpdmlkZXIgLz5cbiAgICA8L2Rpdj5cblxuICAgIDxidXR0b24ga2JxLWRyb3Bkb3duLWl0ZW0gKGNsaWNrKT1cIm9wZW5TYXZlQXNOZXdGaWx0ZXJQb3BvdmVyKClcIj5cbiAgICAgICAgPGkga2JxLWljb249XCJrYnEtcGx1c18xNlwiPjwvaT5cbiAgICAgICAge3sgbG9jYWxlRGF0YS5zYXZlQXNOZXdGaWx0ZXIgfX1cbiAgICA8L2J1dHRvbj5cbjwva2JxLWRyb3Bkb3duPlxuXG48a2JxLWRyb3Bkb3duICNmaWx0ZXJBY3Rpb25zPVwia2JxRHJvcGRvd25cIiBbY2xhc3NdPVwiJ2ticS1maWx0ZXJzX19kcm9wZG93bidcIj5cbiAgICBAaWYgKGZpbHRlckJhci5pc1NhdmVkQW5kQ2hhbmdlZCAmJiAhZmlsdGVyQmFyLmlzUmVhZE9ubHkpIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAga2JxLWRyb3Bkb3duLWl0ZW1cbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ticS1idXR0b25fY2hhbmdlZC1zYXZlZC1maWx0ZXInOiBmaWx0ZXJCYXIuaXNTYXZlZEFuZENoYW5nZWQgfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2F2ZUNoYW5nZXMoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxpIGticS1pY29uPVwia2JxLWZsb3BweS1kaXNrXzE2XCI+PC9pPlxuICAgICAgICAgICAge3sgbG9jYWxlRGF0YS5zYXZlQ2hhbmdlcyB9fVxuICAgICAgICAgICAgQGlmIChmaWx0ZXJCYXIuaXNTYXZlZEFuZENoYW5nZWQpIHtcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImticSBrYnEtaWNvbiBrYnEtaWNvbi1idXR0b24ga2JxLWNpcmNsZS14c18xNiBrYnEtd2FybmluZyBsYXlvdXQtbWFyZ2luLWxlZnQteHNcIj48L2k+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgICA8YnV0dG9uIGticS1kcm9wZG93bi1pdGVtIChjbGljayk9XCJvcGVuU2F2ZUFzTmV3RmlsdGVyUG9wb3ZlcigpXCI+XG4gICAgICAgIDxpIGticS1pY29uPVwia2JxLXBsdXNfMTZcIj48L2k+XG4gICAgICAgIHt7IGxvY2FsZURhdGEuc2F2ZUFzTmV3IH19XG4gICAgPC9idXR0b24+XG5cbiAgICBAaWYgKCFmaWx0ZXJCYXIuaXNSZWFkT25seSkge1xuICAgICAgICA8YnV0dG9uIGticS1kcm9wZG93bi1pdGVtIChjbGljayk9XCJvcGVuQ2hhbmdlRmlsdGVyTmFtZVBvcG92ZXIoKVwiPlxuICAgICAgICAgICAgPGkga2JxLWljb249XCJrYnEtcGVuY2lsXzE2XCI+PC9pPlxuICAgICAgICAgICAge3sgbG9jYWxlRGF0YS5jaGFuZ2UgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgfVxuXG4gICAgQGlmIChmaWx0ZXJCYXIuaXNTYXZlZEFuZENoYW5nZWQgfHwgIWZpbHRlckJhci5pc1JlYWRPbmx5KSB7XG4gICAgICAgIDxrYnEtZGl2aWRlciAvPlxuICAgIH1cblxuICAgIEBpZiAoZmlsdGVyQmFyLmlzU2F2ZWRBbmRDaGFuZ2VkKSB7XG4gICAgICAgIDxidXR0b24ga2JxLWRyb3Bkb3duLWl0ZW0gKGNsaWNrKT1cInJlc2V0RmlsdGVyQ2hhbmdlcygpXCI+XG4gICAgICAgICAgICA8aSBrYnEtaWNvbj1cImticS14bWFyay1jaXJjbGVfMTZcIj48L2k+XG4gICAgICAgICAgICB7eyBsb2NhbGVEYXRhLnJlc2V0Q2hhbmdlcyB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICB9XG4gICAgQGlmICghZmlsdGVyQmFyLmlzUmVhZE9ubHkpIHtcbiAgICAgICAgPGJ1dHRvbiBrYnEtZHJvcGRvd24taXRlbSAoY2xpY2spPVwidGhpcy5vblJlbW92ZUZpbHRlci5uZXh0KHRoaXMuZmlsdGVyISlcIj5cbiAgICAgICAgICAgIDxpIGticS1pY29uPVwia2JxLXRyYXNoXzE2XCI+PC9pPlxuICAgICAgICAgICAge3sgbG9jYWxlRGF0YS5yZW1vdmUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgfVxuPC9rYnEtZHJvcGRvd24+XG5cbjxuZy10ZW1wbGF0ZSAjc2F2ZUFzTmV3UG9wb3ZlckhlYWRlcj57eyBwb3BvdmVySGVhZGVyIH19PC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzYXZlQXNOZXdQb3BvdmVyQ29udGVudD5cbiAgICBAaWYgKHNob3dGaWx0ZXJTYXZpbmdFcnJvcikge1xuICAgICAgICA8a2JxLWFsZXJ0IGNsYXNzPVwibGF5b3V0LW1hcmdpbi1ib3R0b20tbVwiIFthbGVydENvbG9yXT1cIidlcnJvcidcIiBbYWxlcnRTdHlsZV09XCInY29sb3JlZCdcIiBbY29tcGFjdF09XCJ0cnVlXCI+XG4gICAgICAgICAgICB7eyBmaWx0ZXJTYXZpbmdFcnJvclRleHQgfX1cbiAgICAgICAgPC9rYnEtYWxlcnQ+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJrYnEtZm9ybS12ZXJ0aWNhbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwia2JxLWZvcm1fX3Jvd1wiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwia2JxLWZvcm1fX2xhYmVsXCI+e3sgbG9jYWxlRGF0YS5uYW1lIH19PC9sYWJlbD5cblxuICAgICAgICAgICAgPGticS1mb3JtLWZpZWxkIGNsYXNzPVwia2JxLWZvcm1fX2NvbnRyb2xcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgI25ld0ZpbHRlck5hbWVcbiAgICAgICAgICAgICAgICAgICAga2JxSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZmlsdGVyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInNhdmVBc05ldygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgQGlmIChmaWx0ZXJOYW1lLmhhc0Vycm9yKCdmaWx0ZXJOYW1lQWxyZWFkeUV4aXN0JykpIHtcbiAgICAgICAgICAgICAgICAgICAgPGticS1lcnJvcj57eyBsb2NhbGVEYXRhLmVycm9yIH19PC9rYnEtZXJyb3I+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9rYnEtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3NhdmVBc05ld1BvcG92ZXJGb290ZXI+XG4gICAgPGJ1dHRvblxuICAgICAgICBrYnEtYnV0dG9uXG4gICAgICAgIGNsYXNzPVwibGF5b3V0LW1hcmdpbi1yaWdodC1sXCJcbiAgICAgICAgW2NsYXNzLmticS1wcm9ncmVzc109XCJpc1NhdmluZ1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc1NhdmluZ1wiXG4gICAgICAgIFtjb2xvcl09XCInY29udHJhc3QnXCJcbiAgICAgICAgW2ticVN0eWxlXT1cIidmaWxsZWQnXCJcbiAgICAgICAgKGNsaWNrKT1cInNhdmVBc05ldygpXCJcbiAgICA+XG4gICAgICAgIHt7IGxvY2FsZURhdGEuc2F2ZUJ1dHRvbiB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24ga2JxLWJ1dHRvbiBbY29sb3JdPVwiJ2NvbnRyYXN0LWZhZGUnXCIgW2ticVN0eWxlXT1cIidmaWxsZWQnXCIgW2Rpc2FibGVkXT1cImlzU2F2aW5nXCIgKGNsaWNrKT1cImNsb3NlUG9wb3ZlcigpXCI+XG4gICAgICAgIHt7IGxvY2FsZURhdGEuY2FuY2VsQnV0dG9uIH19XG4gICAgPC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -61,8 +61,8 @@ export class KbqPipeAdd {
61
61
  compareWith(o1, o2) {
62
62
  return getId(o1) === o2;
63
63
  }
64
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqPipeAdd, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
65
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: KbqPipeAdd, isStandalone: true, selector: "kbq-pipe-add", inputs: { filterTemplate: "filterTemplate" }, outputs: { onAddPipe: "onAddPipe" }, host: { classAttribute: "kbq-pipe-add" }, viewQueries: [{ propertyName: "select", first: true, predicate: KbqSelect, descendants: true }], ngImport: i0, template: `
64
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqPipeAdd, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
65
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KbqPipeAdd, isStandalone: true, selector: "kbq-pipe-add", inputs: { filterTemplate: "filterTemplate" }, outputs: { onAddPipe: "onAddPipe" }, host: { classAttribute: "kbq-pipe-add" }, viewQueries: [{ propertyName: "select", first: true, predicate: KbqSelect, descendants: true }], ngImport: i0, template: `
66
66
  <kbq-select #select [tabIndex]="-1" [multiple]="true" [value]="addedPipes" [compareWith]="compareWith">
67
67
  <button
68
68
  kbq-button
@@ -87,9 +87,9 @@ export class KbqPipeAdd {
87
87
  </kbq-option>
88
88
  }
89
89
  </kbq-select>
90
- `, isInline: true, styles: [".kbq-pipe-add .kbq-select .kbq-select__trigger{height:unset}\n"], dependencies: [{ kind: "ngmodule", type: KbqDropdownModule }, { kind: "ngmodule", type: KbqToolTipModule }, { kind: "directive", type: i1.KbqTooltipTrigger, selector: "[kbqTooltip]", inputs: ["hideWithTimeout", "kbqVisible", "kbqPlacement", "kbqRelativeToPointer", "kbqPlacementPriority", "kbqTooltip", "kbqTooltipDisabled", "kbqEnterDelay", "kbqLeaveDelay", "kbqTrigger", "kbqTooltipClass", "kbqTooltipContext", "kbqTooltipColor", "kbqTooltipArrow", "kbqTooltipOffset"], outputs: ["kbqPlacementChange", "kbqVisibleChange"], exportAs: ["kbqTooltip"] }, { kind: "ngmodule", type: KbqButtonModule }, { kind: "component", type: i2.KbqButton, selector: "[kbq-button]", inputs: ["kbqStyle", "disabled", "tabIndex"] }, { kind: "directive", type: i2.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "component", type: KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "ngmodule", type: KbqOptionModule }, { kind: "component", type: i3.KbqOption, selector: "kbq-option", inputs: ["value", "selectable", "userSelect", "showCheckbox", "viewValue", "disabled"], outputs: ["onSelectionChange"], exportAs: ["kbqOption"] }, { kind: "directive", type: KbqSelectMatcher, selector: "kbq-select-matcher, [kbq-select-matcher]" }, { kind: "ngmodule", type: KbqSelectModule }, { kind: "component", type: i4.KbqSelect, selector: "kbq-select", inputs: ["hiddenItemsText", "panelClass", "backdropClass", "errorStateMatcher", "sortComparator", "multiline", "hasBackdrop", "placeholder", "required", "multiple", "compareWith", "selectAllHandler", "panelWidth", "panelMinWidth", "value", "id", "tabIndex", "disabled", "hiddenItemsTextFormatter"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["kbqSelect"] }, { kind: "directive", type: i4.KbqOptionTooltip, selector: "kbq-option" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
90
+ `, isInline: true, styles: [".kbq-pipe-add .kbq-select .kbq-select__trigger{height:unset}\n"], dependencies: [{ kind: "ngmodule", type: KbqDropdownModule }, { kind: "ngmodule", type: KbqToolTipModule }, { kind: "directive", type: i1.KbqTooltipTrigger, selector: "[kbqTooltip]", inputs: ["hideWithTimeout", "kbqVisible", "kbqPlacement", "kbqRelativeToPointer", "kbqPlacementPriority", "kbqTooltip", "kbqTooltipDisabled", "kbqEnterDelay", "kbqLeaveDelay", "kbqTrigger", "kbqTooltipClass", "kbqTooltipContext", "kbqTooltipColor", "kbqTooltipArrow", "kbqTooltipOffset"], outputs: ["kbqPlacementChange", "kbqVisibleChange"], exportAs: ["kbqTooltip"] }, { kind: "ngmodule", type: KbqButtonModule }, { kind: "component", type: i2.KbqButton, selector: "[kbq-button]", inputs: ["kbqStyle", "disabled", "tabIndex"] }, { kind: "directive", type: i2.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "component", type: KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "ngmodule", type: KbqOptionModule }, { kind: "component", type: i3.KbqOption, selector: "kbq-option", inputs: ["value", "selectable", "userSelect", "showCheckbox", "viewValue", "disabled"], outputs: ["onSelectionChange"], exportAs: ["kbqOption"] }, { kind: "directive", type: KbqSelectMatcher, selector: "kbq-select-matcher, [kbq-select-matcher]" }, { kind: "ngmodule", type: KbqSelectModule }, { kind: "component", type: i4.KbqSelect, selector: "kbq-select", inputs: ["hiddenItemsText", "panelClass", "backdropClass", "errorStateMatcher", "sortComparator", "multiline", "searchMinOptionsThreshold", "hasBackdrop", "placeholder", "required", "multiple", "compareWith", "selectAllHandler", "panelWidth", "panelMinWidth", "value", "id", "tabIndex", "disabled", "hiddenItemsTextFormatter"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["kbqSelect"] }, { kind: "directive", type: i4.KbqOptionTooltip, selector: "kbq-option" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
91
91
  }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqPipeAdd, decorators: [{
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqPipeAdd, decorators: [{
93
93
  type: Component,
94
94
  args: [{ standalone: true, selector: 'kbq-pipe-add', template: `
95
95
  <kbq-select #select [tabIndex]="-1" [multiple]="true" [value]="addedPipes" [compareWith]="compareWith">
@@ -136,4 +136,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
136
136
  }], filterTemplate: [{
137
137
  type: Input
138
138
  }] } });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZS1hZGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2ZpbHRlci1iYXIvcGlwZS1hZGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQWEsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU1QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7OztBQWdEMUMsTUFBTSxPQUFPLFVBQVU7SUF3Qm5CO1FBdkJBLDRCQUE0QjtRQUNULGNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFLcEQsOENBQThDO1FBQzNCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUVuRSx5QkFBeUI7UUFDaEIsbUJBQWMsR0FBYztZQUNqQyxJQUFJLEVBQUUsRUFB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QyxTQUFTO2dCQUdELFNBQVM7c0JBQTNCLE1BQU07Z0JBR0UsY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgS2JxQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBLYnFPcHRpb24sIEticU9wdGlvbk1vZHVsZSwgS2JxU2VsZWN0TWF0Y2hlciB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9jb3JlJztcbmltcG9ydCB7IEticURyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEticUljb24gfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvaWNvbic7XG5pbXBvcnQgeyBLYnFTZWxlY3QsIEticVNlbGVjdE1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9zZWxlY3QnO1xuaW1wb3J0IHsgS2JxVG9vbFRpcE1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IEticUZpbHRlckJhciB9IGZyb20gJy4vZmlsdGVyLWJhcic7XG5pbXBvcnQgeyBLYnFGaWx0ZXIsIEticVBpcGUsIEticVBpcGVUZW1wbGF0ZSB9IGZyb20gJy4vZmlsdGVyLWJhci50eXBlcyc7XG5pbXBvcnQgeyBnZXRJZCB9IGZyb20gJy4vcGlwZXMvYmFzZS1waXBlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2ticS1waXBlLWFkZCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGticS1zZWxlY3QgI3NlbGVjdCBbdGFiSW5kZXhdPVwiLTFcIiBbbXVsdGlwbGVdPVwidHJ1ZVwiIFt2YWx1ZV09XCJhZGRlZFBpcGVzXCIgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVXaXRoXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAga2JxLWJ1dHRvblxuICAgICAgICAgICAgICAgIGticS1zZWxlY3QtbWF0Y2hlclxuICAgICAgICAgICAgICAgIFtjb2xvcl09XCInY29udHJhc3QtZmFkZSdcIlxuICAgICAgICAgICAgICAgIFtrYnFTdHlsZV09XCInb3V0bGluZSdcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ticS1hY3RpdmUnOiBzZWxlY3QucGFuZWxPcGVuIH1cIlxuICAgICAgICAgICAgICAgIGticVRvb2x0aXA9XCJ7eyBmaWx0ZXJCYXIuY29uZmlndXJhdGlvbi5hZGQudG9vbHRpcCB9fVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGkga2JxLWljb249XCJrYnEtcGx1c18xNlwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICBAZm9yICh0ZW1wbGF0ZSBvZiBmaWx0ZXJCYXIucGlwZVRlbXBsYXRlczsgdHJhY2sgdGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICA8a2JxLW9wdGlvblxuICAgICAgICAgICAgICAgICAgICAjb3B0aW9uXG4gICAgICAgICAgICAgICAgICAgIFt1c2VyU2VsZWN0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwidGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbc2hvd0NoZWNrYm94XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZFBpcGVGcm9tVGVtcGxhdGUob3B0aW9uKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyB0ZW1wbGF0ZS5uYW1lIH19XG4gICAgICAgICAgICAgICAgPC9rYnEtb3B0aW9uPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2ticS1zZWxlY3Q+XG4gICAgYCxcbiAgICBzdHlsZVVybDogJ3BpcGUtYWRkLnNjc3MnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtcGlwZS1hZGQnXG4gICAgfSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEticURyb3Bkb3duTW9kdWxlLFxuICAgICAgICBLYnFUb29sVGlwTW9kdWxlLFxuICAgICAgICBLYnFCdXR0b25Nb2R1bGUsXG4gICAgICAgIEticUljb24sXG4gICAgICAgIEticU9wdGlvbk1vZHVsZSxcbiAgICAgICAgS2JxU2VsZWN0TWF0Y2hlcixcbiAgICAgICAgS2JxU2VsZWN0TW9kdWxlLFxuICAgICAgICBOZ0NsYXNzXG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEticVBpcGVBZGQge1xuICAgIC8qKiBLYnFGaWx0ZXJCYXIgaW5zdGFuY2UgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmlsdGVyQmFyID0gaW5qZWN0KEticUZpbHRlckJhcik7XG5cbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIEBWaWV3Q2hpbGQoS2JxU2VsZWN0KSBzZWxlY3Q6IEticVNlbGVjdDtcblxuICAgIC8qKiBFdmVudCB0aGF0IGlzIGdlbmVyYXRlZCBhZnRlciBhZGQgcGlwZS4gKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgb25BZGRQaXBlID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFQaXBlVGVtcGxhdGU+KCk7XG5cbiAgICAvKiogdGVtcGxhdGUgb2YgZmlsdGVyICovXG4gICAgQElucHV0KCkgZmlsdGVyVGVtcGxhdGU6IEticUZpbHRlciA9IHtcbiAgICAgICAgbmFtZTogJycsXG4gICAgICAgIHBpcGVzOiBbXSxcblxuICAgICAgICByZWFkb25seTogZmFsc2UsXG4gICAgICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICAgICAgY2hhbmdlZDogZmFsc2UsXG4gICAgICAgIHNhdmVkOiBmYWxzZVxuICAgIH07XG5cbiAgICAvKiogYWxyZWFkeSBhZGRlZCBwaXBlcy4gVXNlZCB0byBvcGVuIGFuIGFscmVhZHkgYWRkZWQgcGlwZS4gKi9cbiAgICBhZGRlZFBpcGVzOiAoc3RyaW5nIHwgbnVtYmVyKVtdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJCYXIuY2hhbmdlcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmlsdGVyQmFyPy5maWx0ZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZGVkUGlwZXMgPSB0aGlzLmZpbHRlckJhci5maWx0ZXIucGlwZXMubWFwKChwaXBlOiBLYnFQaXBlKSA9PiBnZXRJZChwaXBlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFkZFBpcGVGcm9tVGVtcGxhdGUob3B0aW9uOiBLYnFPcHRpb24pIHtcbiAgICAgICAgaWYgKG9wdGlvbi5zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJCYXIub3BlblBpcGUubmV4dChnZXRJZChvcHRpb24udmFsdWUpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG9wdGlvbi5zZWxlY3QoKTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLmZpbHRlckJhci5maWx0ZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckJhci5maWx0ZXIgPSBzdHJ1Y3R1cmVkQ2xvbmUodGhpcy5maWx0ZXJUZW1wbGF0ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuZmlsdGVyQmFyLmZpbHRlci5jaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyQmFyLmZpbHRlci5waXBlcy5wdXNoKFxuICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbi52YWx1ZSwgeyB2YWx1ZXM6IHVuZGVmaW5lZCwgdmFsdWVUZW1wbGF0ZTogdW5kZWZpbmVkLCBvcGVuT25BZGQ6IHRydWUgfSlcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHRoaXMub25BZGRQaXBlLm5leHQob3B0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyQmFyLmZpbHRlckNoYW5nZS5lbWl0KHRoaXMuZmlsdGVyQmFyLmZpbHRlcik7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlbGVjdC5jbG9zZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIHRvIGNvbXBhcmUgdGhlIG9wdGlvbiB2YWx1ZXMgd2l0aCB0aGUgc2VsZWN0ZWQgdmFsdWVzLiBUaGUgZmlyc3QgYXJndW1lbnRcbiAgICAgKiBpcyBhIHZhbHVlIGZyb20gYW4gb3B0aW9uLiBUaGUgc2Vjb25kIGlzIGEgdmFsdWUgZnJvbSB0aGUgc2VsZWN0aW9uLiBBIGJvb2xlYW5cbiAgICAgKiBzaG91bGQgYmUgcmV0dXJuZWQuXG4gICAgICovXG4gICAgY29tcGFyZVdpdGgobzE6IEticVBpcGUsIG8yOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGdldElkKG8xKSA9PT0gbzI7XG4gICAgfVxufVxuIl19
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZS1hZGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2ZpbHRlci1iYXIvcGlwZS1hZGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQWEsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU1QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7OztBQWdEMUMsTUFBTSxPQUFPLFVBQVU7SUF3Qm5CO1FBdkJBLDRCQUE0QjtRQUNULGNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFLcEQsOENBQThDO1FBQzNCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUVuRSx5QkFBeUI7UUFDaEIsbUJBQWMsR0FBYztZQUNqQyxJQUFJLEVBQUUsRUFB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QyxTQUFTO2dCQUdELFNBQVM7c0JBQTNCLE1BQU07Z0JBR0UsY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgS2JxQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBLYnFPcHRpb24sIEticU9wdGlvbk1vZHVsZSwgS2JxU2VsZWN0TWF0Y2hlciB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9jb3JlJztcbmltcG9ydCB7IEticURyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEticUljb24gfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvaWNvbic7XG5pbXBvcnQgeyBLYnFTZWxlY3QsIEticVNlbGVjdE1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9zZWxlY3QnO1xuaW1wb3J0IHsgS2JxVG9vbFRpcE1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IEticUZpbHRlckJhciB9IGZyb20gJy4vZmlsdGVyLWJhcic7XG5pbXBvcnQgeyBLYnFGaWx0ZXIsIEticVBpcGUsIEticVBpcGVUZW1wbGF0ZSB9IGZyb20gJy4vZmlsdGVyLWJhci50eXBlcyc7XG5pbXBvcnQgeyBnZXRJZCB9IGZyb20gJy4vcGlwZXMvYmFzZS1waXBlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2ticS1waXBlLWFkZCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGticS1zZWxlY3QgI3NlbGVjdCBbdGFiSW5kZXhdPVwiLTFcIiBbbXVsdGlwbGVdPVwidHJ1ZVwiIFt2YWx1ZV09XCJhZGRlZFBpcGVzXCIgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVXaXRoXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAga2JxLWJ1dHRvblxuICAgICAgICAgICAgICAgIGticS1zZWxlY3QtbWF0Y2hlclxuICAgICAgICAgICAgICAgIFtjb2xvcl09XCInY29udHJhc3QtZmFkZSdcIlxuICAgICAgICAgICAgICAgIFtrYnFTdHlsZV09XCInb3V0bGluZSdcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ticS1hY3RpdmUnOiBzZWxlY3QucGFuZWxPcGVuIH1cIlxuICAgICAgICAgICAgICAgIGticVRvb2x0aXA9XCJ7eyBmaWx0ZXJCYXIuY29uZmlndXJhdGlvbi5hZGQudG9vbHRpcCB9fVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGkga2JxLWljb249XCJrYnEtcGx1c18xNlwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICBAZm9yICh0ZW1wbGF0ZSBvZiBmaWx0ZXJCYXIucGlwZVRlbXBsYXRlczsgdHJhY2sgdGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICA8a2JxLW9wdGlvblxuICAgICAgICAgICAgICAgICAgICAjb3B0aW9uXG4gICAgICAgICAgICAgICAgICAgIFt1c2VyU2VsZWN0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwidGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbc2hvd0NoZWNrYm94XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZFBpcGVGcm9tVGVtcGxhdGUob3B0aW9uKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyB0ZW1wbGF0ZS5uYW1lIH19XG4gICAgICAgICAgICAgICAgPC9rYnEtb3B0aW9uPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2ticS1zZWxlY3Q+XG4gICAgYCxcbiAgICBzdHlsZVVybDogJ3BpcGUtYWRkLnNjc3MnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtcGlwZS1hZGQnXG4gICAgfSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEticURyb3Bkb3duTW9kdWxlLFxuICAgICAgICBLYnFUb29sVGlwTW9kdWxlLFxuICAgICAgICBLYnFCdXR0b25Nb2R1bGUsXG4gICAgICAgIEticUljb24sXG4gICAgICAgIEticU9wdGlvbk1vZHVsZSxcbiAgICAgICAgS2JxU2VsZWN0TWF0Y2hlcixcbiAgICAgICAgS2JxU2VsZWN0TW9kdWxlLFxuICAgICAgICBOZ0NsYXNzXG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEticVBpcGVBZGQge1xuICAgIC8qKiBLYnFGaWx0ZXJCYXIgaW5zdGFuY2UgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmlsdGVyQmFyID0gaW5qZWN0KEticUZpbHRlckJhcik7XG5cbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIEBWaWV3Q2hpbGQoS2JxU2VsZWN0KSBzZWxlY3Q6IEticVNlbGVjdDtcblxuICAgIC8qKiBFdmVudCB0aGF0IGlzIGdlbmVyYXRlZCBhZnRlciBhZGQgcGlwZS4gKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgb25BZGRQaXBlID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFQaXBlVGVtcGxhdGU+KCk7XG5cbiAgICAvKiogdGVtcGxhdGUgb2YgZmlsdGVyICovXG4gICAgQElucHV0KCkgZmlsdGVyVGVtcGxhdGU6IEticUZpbHRlciA9IHtcbiAgICAgICAgbmFtZTogJycsXG4gICAgICAgIHBpcGVzOiBbXSxcblxuICAgICAgICByZWFkb25seTogZmFsc2UsXG4gICAgICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICAgICAgY2hhbmdlZDogZmFsc2UsXG4gICAgICAgIHNhdmVkOiBmYWxzZVxuICAgIH07XG5cbiAgICAvKiogYWxyZWFkeSBhZGRlZCBwaXBlcy4gVXNlZCB0byBvcGVuIGFuIGFscmVhZHkgYWRkZWQgcGlwZS4gKi9cbiAgICBhZGRlZFBpcGVzOiAoc3RyaW5nIHwgbnVtYmVyKVtdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJCYXIuY2hhbmdlcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmlsdGVyQmFyPy5maWx0ZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZGVkUGlwZXMgPSB0aGlzLmZpbHRlckJhci5maWx0ZXIucGlwZXMubWFwKChwaXBlOiBLYnFQaXBlKSA9PiBnZXRJZChwaXBlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFkZFBpcGVGcm9tVGVtcGxhdGUob3B0aW9uOiBLYnFPcHRpb24pIHtcbiAgICAgICAgaWYgKG9wdGlvbi5zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJCYXIub3BlblBpcGUubmV4dChnZXRJZChvcHRpb24udmFsdWUpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG9wdGlvbi5zZWxlY3QoKTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLmZpbHRlckJhci5maWx0ZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckJhci5maWx0ZXIgPSBzdHJ1Y3R1cmVkQ2xvbmUodGhpcy5maWx0ZXJUZW1wbGF0ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuZmlsdGVyQmFyLmZpbHRlci5jaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyQmFyLmZpbHRlci5waXBlcy5wdXNoKFxuICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbi52YWx1ZSwgeyB2YWx1ZXM6IHVuZGVmaW5lZCwgdmFsdWVUZW1wbGF0ZTogdW5kZWZpbmVkLCBvcGVuT25BZGQ6IHRydWUgfSlcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHRoaXMub25BZGRQaXBlLm5leHQob3B0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyQmFyLmZpbHRlckNoYW5nZS5lbWl0KHRoaXMuZmlsdGVyQmFyLmZpbHRlcik7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlbGVjdC5jbG9zZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIHRvIGNvbXBhcmUgdGhlIG9wdGlvbiB2YWx1ZXMgd2l0aCB0aGUgc2VsZWN0ZWQgdmFsdWVzLiBUaGUgZmlyc3QgYXJndW1lbnRcbiAgICAgKiBpcyBhIHZhbHVlIGZyb20gYW4gb3B0aW9uLiBUaGUgc2Vjb25kIGlzIGEgdmFsdWUgZnJvbSB0aGUgc2VsZWN0aW9uLiBBIGJvb2xlYW5cbiAgICAgKiBzaG91bGQgYmUgcmV0dXJuZWQuXG4gICAgICovXG4gICAgY29tcGFyZVdpdGgobzE6IEticVBpcGUsIG8yOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGdldElkKG8xKSA9PT0gbzI7XG4gICAgfVxufVxuIl19
@@ -21,10 +21,10 @@ export class KbqPipeDirective {
21
21
  parent: this.injector
22
22
  });
23
23
  }
24
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqPipeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
25
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: KbqPipeDirective, isStandalone: true, selector: "[kbqPipe]", inputs: { pipe: ["kbqPipe", "pipe"] }, ngImport: i0 }); }
24
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqPipeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
25
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: KbqPipeDirective, isStandalone: true, selector: "[kbqPipe]", inputs: { pipe: ["kbqPipe", "pipe"] }, ngImport: i0 }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqPipeDirective, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqPipeDirective, decorators: [{
28
28
  type: Directive,
29
29
  args: [{
30
30
  standalone: true,
@@ -84,10 +84,10 @@ export class KbqBasePipe {
84
84
  this.stateChanges.next();
85
85
  this.filterBar?.onChangePipe.next(this.data);
86
86
  }
87
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqBasePipe, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
88
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: KbqBasePipe, isStandalone: true, host: { properties: { "class": "\"kbq-pipe__\" + data.type", "class.kbq-pipe_empty": "isEmpty", "class.kbq-pipe_cleanable": "data.cleanable", "class.kbq-pipe_removable": "data.removable", "class.kbq-pipe_disabled": "data.disabled" }, classAttribute: "kbq-pipe" }, ngImport: i0 }); }
87
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqBasePipe, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
88
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: KbqBasePipe, isStandalone: true, host: { properties: { "class": "\"kbq-pipe__\" + data.type", "class.kbq-pipe_empty": "isEmpty", "class.kbq-pipe_cleanable": "data.cleanable", "class.kbq-pipe_removable": "data.removable", "class.kbq-pipe_disabled": "data.disabled" }, classAttribute: "kbq-pipe" }, ngImport: i0 }); }
89
89
  }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqBasePipe, decorators: [{
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqBasePipe, decorators: [{
91
91
  type: Directive,
92
92
  args: [{
93
93
  standalone: true,
@@ -122,10 +122,10 @@ export class KbqPipeMinWidth {
122
122
  this.filterBar?.changes.pipe(delay(0)).subscribe(this.update);
123
123
  afterNextRender({ read: this.update });
124
124
  }
125
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqPipeMinWidth, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
126
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: KbqPipeMinWidth, isStandalone: true, selector: "[kbqPipeMinWidth]", host: { properties: { "style.min-width": "minWidth" } }, ngImport: i0 }); }
125
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqPipeMinWidth, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
126
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: KbqPipeMinWidth, isStandalone: true, selector: "[kbqPipeMinWidth]", host: { properties: { "style.min-width": "minWidth" } }, ngImport: i0 }); }
127
127
  }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqPipeMinWidth, decorators: [{
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqPipeMinWidth, decorators: [{
129
129
  type: Directive,
130
130
  args: [{
131
131
  standalone: true,
@@ -135,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
135
135
  }
136
136
  }]
137
137
  }], ctorParameters: () => [] });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9maWx0ZXItYmFyL3BpcGVzL2Jhc2UtcGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZUFBZSxFQUVmLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sY0FBYyxFQUNkLFdBQVcsRUFDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzdDLGdFQUFnRTtBQUNoRSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFakUsc0RBQXNEO0FBQ3RELE1BQU0sVUFBVSxLQUFLLENBQUMsSUFBcUI7SUFDdkMsT0FBTyxJQUFJLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxJQUFJLENBQUM7QUFDbEMsQ0FBQztBQWFELE1BQU0sT0FBZ0IsV0FBVztJQTBCN0IsdUVBQXVFO0lBQ3ZFLElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsd0ZBQXdGO0lBQ3hGLElBQUksZ0JBQWdCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJ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QUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBSWpFLHlEQUF5RDtRQUN6RCw0QkFBdUIsR0FBVyxFQUFFLENBQUM7UUFhckMsV0FBTSxHQUFHLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ3pGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQyxDQUFDLENBQUM7UUFSRSxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5RCxlQUFlLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztrSUF2QlEsZUFBZTtzSEFBZixlQUFlOzs0RkFBZixlQUFlO2tCQVAzQixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixJQUFJLEVBQUU7d0JBQ0YsbUJBQW1CLEVBQUUsVUFBVTtxQkFDbEM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGFmdGVyTmV4dFJlbmRlcixcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgaW5qZWN0LFxuICAgIEluamVjdGlvblRva2VuLFxuICAgIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgaXNNYWMgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWxheSwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgS2JxRmlsdGVyQmFyIH0gZnJvbSAnLi4vZmlsdGVyLWJhcic7XG5pbXBvcnQgeyBLYnFQaXBlRGF0YSwgS2JxUGlwZVRlbXBsYXRlLCBLYnFQaXBlVHlwZSB9IGZyb20gJy4uL2ZpbHRlci1iYXIudHlwZXMnO1xuXG4vKiogSW5qZWN0aW9uIFRva2VuIGZvciBwcm92aWRpbmcgY29uZmlndXJhdGlvbiBvZiBmaWx0ZXItYmFyICovXG5leHBvcnQgY29uc3QgS0JRX1BJUEVfREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbignS0JRX1BJUEVfREFUQScpO1xuXG4vKiogZnVuY3Rpb24gdG8gZ2V0IHVuaXF1ZSBpZGVudGlmaWVyIG9mIGFuIGVsZW1lbnQgKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRJZChpdGVtOiBLYnFQaXBlVGVtcGxhdGUpOiBLYnFQaXBlVHlwZSB8IHN0cmluZyB8IG51bWJlciB7XG4gICAgcmV0dXJuIGl0ZW0/LmlkID8/IGl0ZW0/Lm5hbWU7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS1waXBlJyxcbiAgICAgICAgJ1tjbGFzc10nOiAnXCJrYnEtcGlwZV9fXCIgKyBkYXRhLnR5cGUnLFxuICAgICAgICAnW2NsYXNzLmticS1waXBlX2VtcHR5XSc6ICdpc0VtcHR5JyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtcGlwZV9jbGVhbmFibGVdJzogJ2RhdGEuY2xlYW5hYmxlJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtcGlwZV9yZW1vdmFibGVdJzogJ2RhdGEucmVtb3ZhYmxlJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtcGlwZV9kaXNhYmxlZF0nOiAnZGF0YS5kaXNhYmxlZCdcbiAgICB9XG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEticUJhc2VQaXBlPFY+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqIGNoYW5nZXMgb2Ygc3RhdGUgKi9cbiAgICByZWFkb25seSBzdGF0ZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIC8qKiBwaXBlIGRhdGEuIFByb3ZpZGVkIGZyb20gc3ViY2xhc3MgKi9cbiAgICByZWFkb25seSBkYXRhID0gaW5qZWN0PEticVBpcGVEYXRhPFY+PihLQlFfUElQRV9EQVRBKTtcblxuICAgIC8qKiBLYnFGaWx0ZXJCYXIgaW5zdGFuY2VcbiAgICAgKiBAZG9jcy1wcml2YXRlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGZpbHRlckJhciA9IGluamVjdChLYnFGaWx0ZXJCYXIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogdmFsdWVzIHRvIHNlbGVjdCBmcm9tIHRoZSBwaXBlIHRlbXBsYXRlICovXG4gICAgcHJvdGVjdGVkIHZhbHVlcztcbiAgICAvKiogVGVtcGxhdGVSZWYgZm9yIHNlbGVjdGluZyBhbiBvcHRpb24gKi9cbiAgICBwcm90ZWN0ZWQgdmFsdWVUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT4gfCBzdHJpbmc7XG5cbiAgICAvKiogV2hldGhlciB0aGUgY3VycmVudCBwbGF0Zm9ybSBpcyBhIE1hYy4gKi9cbiAgICBpc01hYyA9IGlzTWFjKCk7XG5cbiAgICAvKiogRGF0YSBmb3IgdGhlIHBpcGUuXG4gICAgICogIEBkb2NzLXByaXZhdGUgKi9cbiAgICAkaW1wbGljaXQ6IHVua25vd247XG5cbiAgICAvKiogV2hldGhlciB0aGUgY3VycmVudCBwaXBlIGlzIGVtcHR5LiBVc2VkIGZvciBhcHBseSBzdHlsZSBtb2RpZmllciAqL1xuICAgIGdldCBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnZhbHVlID09PSBudWxsIHx8IHRoaXMuZGF0YS52YWx1ZSA9PT0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSBjdXJyZW50IHBpcGUgaXMgcmVtb3ZhYmxlIG9yIGNsZWFuYWJsZS4gVXNlZCBmb3IgYXBwbHkgc3R5bGUgbW9kaWZpZXIgKi9cbiAgICBnZXQgc2hvd1JlbW92ZUJ1dHRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5yZW1vdmFibGUgfHwgKHRoaXMuZGF0YS5jbGVhbmFibGUgJiYgIXRoaXMuaXNFbXB0eSk7XG4gICAgfVxuXG4gICAgLyoqIGxvY2FsaXplZCBkYXRhXG4gICAgICogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIGdldCBsb2NhbGVEYXRhKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJCYXI/LmNvbmZpZ3VyYXRpb247XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuJGltcGxpY2l0ID0gdGhpcztcblxuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5maWx0ZXJCYXI/LmludGVybmFsVGVtcGxhdGVzQ2hhbmdlcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUodGhpcy51cGRhdGVUZW1wbGF0ZXMpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5vcGVuT25BZGQpIHtcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmRhdGEub3Blbk9uQWRkO1xuXG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZmlsdGVyQmFyPy5vcGVuUGlwZS5waXBlKGZpbHRlcihCb29sZWFuKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoaWQpID0+IHtcbiAgICAgICAgICAgIGlmIChnZXRJZCh0aGlzLmRhdGEpID09PSBpZCkge1xuICAgICAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5kYXRhLm9wZW5PblJlc2V0KSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlckJhcj8ub25SZXNldEZpbHRlci5waXBlKGZpbHRlcihCb29sZWFuKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiB0ZW1wbGF0ZVJlZiBjaGVja2VyIHV0aWxpdHkgKi9cbiAgICBpc1RlbXBsYXRlUmVmKHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmO1xuICAgIH1cblxuICAgIC8qKiB1cGRhdGVzIHZhbHVlcyBmb3Igc2VsZWN0aW9uIGFuZCB2YWx1ZSB0ZW1wbGF0ZSAqL1xuICAgIHVwZGF0ZVRlbXBsYXRlcyA9ICh0ZW1wbGF0ZXM6IEticVBpcGVUZW1wbGF0ZVtdIHwgbnVsbCkgPT4ge1xuICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IHRlbXBsYXRlcz8uZmluZCgodGVtcGxhdGUpID0+IGdldElkKHRlbXBsYXRlKSA9PT0gZ2V0SWQodGhpcy5kYXRhKSk7XG5cbiAgICAgICAgaWYgKHRlbXBsYXRlPy52YWx1ZXMpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWVzID0gdGVtcGxhdGUudmFsdWVzO1xuICAgICAgICAgICAgdGhpcy52YWx1ZVRlbXBsYXRlID0gdGVtcGxhdGUudmFsdWVUZW1wbGF0ZTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICAvKiogcmVtb3ZlcyBwaXBlIGZyb20gZmlsdGVyLWJhciBhbmQgdHJpZ2dlcnMgY2hhbmdlcyAqL1xuICAgIG9uUmVtb3ZlKCkge1xuICAgICAgICB0aGlzLmZpbHRlckJhcj8ucmVtb3ZlUGlwZSh0aGlzLmRhdGEpO1xuXG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogY2xlYXJzIHRoZSBwaXBlIGFuZCB0cmlnZ2VycyBjaGFuZ2VzICovXG4gICAgb25DbGVhcigpIHtcbiAgICAgICAgdGhpcy5kYXRhLnZhbHVlID0gbnVsbDtcblxuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG5cbiAgICAgICAgdGhpcy5maWx0ZXJCYXI/Lm9uQ2hhbmdlUGlwZS5uZXh0KHRoaXMuZGF0YSk7XG4gICAgfVxuXG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBhYnN0cmFjdCBvcGVuKCk6IHZvaWQ7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdba2JxUGlwZU1pbldpZHRoXScsXG4gICAgaG9zdDoge1xuICAgICAgICAnW3N0eWxlLm1pbi13aWR0aF0nOiAnbWluV2lkdGgnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBLYnFQaXBlTWluV2lkdGgge1xuICAgIC8qKiBLYnFGaWx0ZXJCYXIgaW5zdGFuY2UgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmlsdGVyQmFyID0gaW5qZWN0KEticUZpbHRlckJhciwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBwcm90ZWN0ZWQgbWluV2lkdGg6IHN0cmluZztcbiAgICAvKiogbWF4aW1hbCBzeW1ib2xzIGZvciBhcHBseSBmaXQtY29udGVudCB0byBtaW4td2lkdGggKi9cbiAgICBtYXhTeW1ib2xzRm9yRml0Q29udGVudDogbnVtYmVyID0gMjA7XG5cbiAgICAvKiogY3VycmVudCBsZW5ndGggb2YgdGV4dCAqL1xuICAgIGdldCB0ZXh0TGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pbm5lclRleHQ/Lmxlbmd0aCB8fCAwO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmZpbHRlckJhcj8uY2hhbmdlcy5waXBlKGRlbGF5KDApKS5zdWJzY3JpYmUodGhpcy51cGRhdGUpO1xuXG4gICAgICAgIGFmdGVyTmV4dFJlbmRlcih7IHJlYWQ6IHRoaXMudXBkYXRlIH0pO1xuICAgIH1cblxuICAgIHVwZGF0ZSA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5taW5XaWR0aCA9IHRoaXMudGV4dExlbmd0aCA8IHRoaXMubWF4U3ltYm9sc0ZvckZpdENvbnRlbnQgPyAnZml0LWNvbnRlbnQnIDogJ3Vuc2V0JztcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9O1xufVxuIl19
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9maWx0ZXItYmFyL3BpcGVzL2Jhc2UtcGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZUFBZSxFQUVmLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sY0FBYyxFQUNkLFdBQVcsRUFDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzdDLGdFQUFnRTtBQUNoRSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFakUsc0RBQXNEO0FBQ3RELE1BQU0sVUFBVSxLQUFLLENBQUMsSUFBcUI7SUFDdkMsT0FBTyxJQUFJLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxJQUFJLENBQUM7QUFDbEMsQ0FBQztBQWFELE1BQU0sT0FBZ0IsV0FBVztJQTBCN0IsdUVBQXVFO0lBQ3ZFLElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsd0ZBQXdGO0lBQ3hGLElBQUksZ0JBQWdCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJ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R0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUlqRSx5REFBeUQ7UUFDekQsNEJBQXVCLEdBQVcsRUFBRSxDQUFDO1FBYXJDLFdBQU0sR0FBRyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUN6RixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUMsQ0FBQyxDQUFDO1FBUkUsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFOUQsZUFBZSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7a0lBdkJRLGVBQWU7c0hBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFQM0IsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsSUFBSSxFQUFFO3dCQUNGLG1CQUFtQixFQUFFLFVBQVU7cUJBQ2xDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBhZnRlck5leHRSZW5kZXIsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBEZXN0cm95UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGlzTWFjIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVsYXksIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEticUZpbHRlckJhciB9IGZyb20gJy4uL2ZpbHRlci1iYXInO1xuaW1wb3J0IHsgS2JxUGlwZURhdGEsIEticVBpcGVUZW1wbGF0ZSwgS2JxUGlwZVR5cGUgfSBmcm9tICcuLi9maWx0ZXItYmFyLnR5cGVzJztcblxuLyoqIEluamVjdGlvbiBUb2tlbiBmb3IgcHJvdmlkaW5nIGNvbmZpZ3VyYXRpb24gb2YgZmlsdGVyLWJhciAqL1xuZXhwb3J0IGNvbnN0IEtCUV9QSVBFX0RBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0tCUV9QSVBFX0RBVEEnKTtcblxuLyoqIGZ1bmN0aW9uIHRvIGdldCB1bmlxdWUgaWRlbnRpZmllciBvZiBhbiBlbGVtZW50ICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0SWQoaXRlbTogS2JxUGlwZVRlbXBsYXRlKTogS2JxUGlwZVR5cGUgfCBzdHJpbmcgfCBudW1iZXIge1xuICAgIHJldHVybiBpdGVtPy5pZCA/PyBpdGVtPy5uYW1lO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtcGlwZScsXG4gICAgICAgICdbY2xhc3NdJzogJ1wia2JxLXBpcGVfX1wiICsgZGF0YS50eXBlJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtcGlwZV9lbXB0eV0nOiAnaXNFbXB0eScsXG4gICAgICAgICdbY2xhc3Mua2JxLXBpcGVfY2xlYW5hYmxlXSc6ICdkYXRhLmNsZWFuYWJsZScsXG4gICAgICAgICdbY2xhc3Mua2JxLXBpcGVfcmVtb3ZhYmxlXSc6ICdkYXRhLnJlbW92YWJsZScsXG4gICAgICAgICdbY2xhc3Mua2JxLXBpcGVfZGlzYWJsZWRdJzogJ2RhdGEuZGlzYWJsZWQnXG4gICAgfVxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBLYnFCYXNlUGlwZTxWPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIC8qKiBjaGFuZ2VzIG9mIHN0YXRlICovXG4gICAgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICAvKiogcGlwZSBkYXRhLiBQcm92aWRlZCBmcm9tIHN1YmNsYXNzICovXG4gICAgcmVhZG9ubHkgZGF0YSA9IGluamVjdDxLYnFQaXBlRGF0YTxWPj4oS0JRX1BJUEVfREFUQSk7XG5cbiAgICAvKiogS2JxRmlsdGVyQmFyIGluc3RhbmNlXG4gICAgICogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBmaWx0ZXJCYXIgPSBpbmplY3QoS2JxRmlsdGVyQmFyLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIHZhbHVlcyB0byBzZWxlY3QgZnJvbSB0aGUgcGlwZSB0ZW1wbGF0ZSAqL1xuICAgIHByb3RlY3RlZCB2YWx1ZXM7XG4gICAgLyoqIFRlbXBsYXRlUmVmIGZvciBzZWxlY3RpbmcgYW4gb3B0aW9uICovXG4gICAgcHJvdGVjdGVkIHZhbHVlVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+IHwgc3RyaW5nO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGN1cnJlbnQgcGxhdGZvcm0gaXMgYSBNYWMuICovXG4gICAgaXNNYWMgPSBpc01hYygpO1xuXG4gICAgLyoqIERhdGEgZm9yIHRoZSBwaXBlLlxuICAgICAqICBAZG9jcy1wcml2YXRlICovXG4gICAgJGltcGxpY2l0OiB1bmtub3duO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGN1cnJlbnQgcGlwZSBpcyBlbXB0eS4gVXNlZCBmb3IgYXBwbHkgc3R5bGUgbW9kaWZpZXIgKi9cbiAgICBnZXQgaXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS52YWx1ZSA9PT0gbnVsbCB8fCB0aGlzLmRhdGEudmFsdWUgPT09IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgY3VycmVudCBwaXBlIGlzIHJlbW92YWJsZSBvciBjbGVhbmFibGUuIFVzZWQgZm9yIGFwcGx5IHN0eWxlIG1vZGlmaWVyICovXG4gICAgZ2V0IHNob3dSZW1vdmVCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEucmVtb3ZhYmxlIHx8ICh0aGlzLmRhdGEuY2xlYW5hYmxlICYmICF0aGlzLmlzRW1wdHkpO1xuICAgIH1cblxuICAgIC8qKiBsb2NhbGl6ZWQgZGF0YVxuICAgICAqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBnZXQgbG9jYWxlRGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyQmFyPy5jb25maWd1cmF0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLiRpbXBsaWNpdCA9IHRoaXM7XG5cbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZmlsdGVyQmFyPy5pbnRlcm5hbFRlbXBsYXRlc0NoYW5nZXMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKHRoaXMudXBkYXRlVGVtcGxhdGVzKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRhdGEub3Blbk9uQWRkKSB7XG4gICAgICAgICAgICBkZWxldGUgdGhpcy5kYXRhLm9wZW5PbkFkZDtcblxuICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZpbHRlckJhcj8ub3BlblBpcGUucGlwZShmaWx0ZXIoQm9vbGVhbiksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKGlkKSA9PiB7XG4gICAgICAgICAgICBpZiAoZ2V0SWQodGhpcy5kYXRhKSA9PT0gaWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZGF0YS5vcGVuT25SZXNldCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJCYXI/Lm9uUmVzZXRGaWx0ZXIucGlwZShmaWx0ZXIoQm9vbGVhbiksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogdGVtcGxhdGVSZWYgY2hlY2tlciB1dGlsaXR5ICovXG4gICAgaXNUZW1wbGF0ZVJlZih2YWx1ZTogdW5rbm93bik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZjtcbiAgICB9XG5cbiAgICAvKiogdXBkYXRlcyB2YWx1ZXMgZm9yIHNlbGVjdGlvbiBhbmQgdmFsdWUgdGVtcGxhdGUgKi9cbiAgICB1cGRhdGVUZW1wbGF0ZXMgPSAodGVtcGxhdGVzOiBLYnFQaXBlVGVtcGxhdGVbXSB8IG51bGwpID0+IHtcbiAgICAgICAgY29uc3QgdGVtcGxhdGUgPSB0ZW1wbGF0ZXM/LmZpbmQoKHRlbXBsYXRlKSA9PiBnZXRJZCh0ZW1wbGF0ZSkgPT09IGdldElkKHRoaXMuZGF0YSkpO1xuXG4gICAgICAgIGlmICh0ZW1wbGF0ZT8udmFsdWVzKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlcyA9IHRlbXBsYXRlLnZhbHVlcztcbiAgICAgICAgICAgIHRoaXMudmFsdWVUZW1wbGF0ZSA9IHRlbXBsYXRlLnZhbHVlVGVtcGxhdGU7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgLyoqIHJlbW92ZXMgcGlwZSBmcm9tIGZpbHRlci1iYXIgYW5kIHRyaWdnZXJzIGNoYW5nZXMgKi9cbiAgICBvblJlbW92ZSgpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJCYXI/LnJlbW92ZVBpcGUodGhpcy5kYXRhKTtcblxuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIGNsZWFycyB0aGUgcGlwZSBhbmQgdHJpZ2dlcnMgY2hhbmdlcyAqL1xuICAgIG9uQ2xlYXIoKSB7XG4gICAgICAgIHRoaXMuZGF0YS52YWx1ZSA9IG51bGw7XG5cbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuXG4gICAgICAgIHRoaXMuZmlsdGVyQmFyPy5vbkNoYW5nZVBpcGUubmV4dCh0aGlzLmRhdGEpO1xuICAgIH1cblxuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgYWJzdHJhY3Qgb3BlbigpOiB2b2lkO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW2ticVBpcGVNaW5XaWR0aF0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tzdHlsZS5taW4td2lkdGhdJzogJ21pbldpZHRoJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxUGlwZU1pbldpZHRoIHtcbiAgICAvKiogS2JxRmlsdGVyQmFyIGluc3RhbmNlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGZpbHRlckJhciA9IGluamVjdChLYnFGaWx0ZXJCYXIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHByb3RlY3RlZCBtaW5XaWR0aDogc3RyaW5nO1xuICAgIC8qKiBtYXhpbWFsIHN5bWJvbHMgZm9yIGFwcGx5IGZpdC1jb250ZW50IHRvIG1pbi13aWR0aCAqL1xuICAgIG1heFN5bWJvbHNGb3JGaXRDb250ZW50OiBudW1iZXIgPSAyMDtcblxuICAgIC8qKiBjdXJyZW50IGxlbmd0aCBvZiB0ZXh0ICovXG4gICAgZ2V0IHRleHRMZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmlubmVyVGV4dD8ubGVuZ3RoIHx8IDA7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyQmFyPy5jaGFuZ2VzLnBpcGUoZGVsYXkoMCkpLnN1YnNjcmliZSh0aGlzLnVwZGF0ZSk7XG5cbiAgICAgICAgYWZ0ZXJOZXh0UmVuZGVyKHsgcmVhZDogdGhpcy51cGRhdGUgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlID0gKCkgPT4ge1xuICAgICAgICB0aGlzLm1pbldpZHRoID0gdGhpcy50ZXh0TGVuZ3RoIDwgdGhpcy5tYXhTeW1ib2xzRm9yRml0Q29udGVudCA/ICdmaXQtY29udGVudCcgOiAndW5zZXQnO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH07XG59XG4iXX0=
@@ -28,8 +28,8 @@ export class KbqPipeButton {
28
28
  .pipe(takeUntilDestroyed())
29
29
  .subscribe(() => this.changeDetectorRef.markForCheck());
30
30
  }
31
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqPipeButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.13", type: KbqPipeButton, isStandalone: true, selector: "kbq-pipe-button", inputs: { readonly: ["readonly", "readonly", booleanAttribute] }, host: { classAttribute: "kbq-pipe-button" }, ngImport: i0, template: `
31
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqPipeButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.14", type: KbqPipeButton, isStandalone: true, selector: "kbq-pipe-button", inputs: { readonly: ["readonly", "readonly", booleanAttribute] }, host: { classAttribute: "kbq-pipe-button" }, ngImport: i0, template: `
33
33
  <button
34
34
  class="kbq-pipe__remove-button"
35
35
  kbq-button
@@ -43,7 +43,7 @@ export class KbqPipeButton {
43
43
  </button>
44
44
  `, isInline: true, styles: [".kbq-pipe-button{display:flex;position:relative}\n"], dependencies: [{ kind: "component", type: KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "ngmodule", type: KbqButtonModule }, { kind: "component", type: i1.KbqButton, selector: "[kbq-button]", inputs: ["kbqStyle", "disabled", "tabIndex"] }, { kind: "directive", type: i1.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "directive", type: KbqPipeState, selector: "[kbqPipeState]", inputs: ["kbqPipeState"] }, { kind: "directive", type: KbqTooltipTrigger, selector: "[kbqTooltip]", inputs: ["hideWithTimeout", "kbqVisible", "kbqPlacement", "kbqRelativeToPointer", "kbqPlacementPriority", "kbqTooltip", "kbqTooltipDisabled", "kbqEnterDelay", "kbqLeaveDelay", "kbqTrigger", "kbqTooltipClass", "kbqTooltipContext", "kbqTooltipColor", "kbqTooltipArrow", "kbqTooltipOffset"], outputs: ["kbqPlacementChange", "kbqVisibleChange"], exportAs: ["kbqTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KbqPipeButton, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqPipeButton, decorators: [{
47
47
  type: Component,
48
48
  args: [{ standalone: true, selector: 'kbq-pipe-button', template: `
49
49
  <button