@ng-nest/ui 16.0.10 → 16.0.12

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 (494) hide show
  1. package/checkbox/checkbox.component.d.ts +0 -1
  2. package/checkbox/checkbox.property.d.ts +16 -1
  3. package/date-picker/date-range.component.d.ts +1 -1
  4. package/esm2022/affix/affix.component.mjs +4 -4
  5. package/esm2022/affix/affix.module.mjs +5 -5
  6. package/esm2022/affix/affix.property.mjs +4 -4
  7. package/esm2022/alert/alert.component.mjs +4 -4
  8. package/esm2022/alert/alert.module.mjs +5 -5
  9. package/esm2022/alert/alert.property.mjs +4 -4
  10. package/esm2022/anchor/anchor-inner.component.mjs +4 -4
  11. package/esm2022/anchor/anchor.component.mjs +4 -4
  12. package/esm2022/anchor/anchor.module.mjs +5 -5
  13. package/esm2022/anchor/anchor.property.mjs +7 -7
  14. package/esm2022/api/api.component.mjs +4 -4
  15. package/esm2022/api/api.module.mjs +5 -5
  16. package/esm2022/auto-complete/auto-complete-portal.component.mjs +5 -5
  17. package/esm2022/auto-complete/auto-complete.component.mjs +5 -5
  18. package/esm2022/auto-complete/auto-complete.module.mjs +5 -5
  19. package/esm2022/auto-complete/auto-complete.property.mjs +4 -4
  20. package/esm2022/avatar/avatar-group.component.mjs +4 -4
  21. package/esm2022/avatar/avatar.component.mjs +4 -4
  22. package/esm2022/avatar/avatar.module.mjs +5 -5
  23. package/esm2022/avatar/avatar.property.mjs +7 -7
  24. package/esm2022/back-top/back-top.component.mjs +4 -4
  25. package/esm2022/back-top/back-top.module.mjs +5 -5
  26. package/esm2022/back-top/back-top.property.mjs +4 -4
  27. package/esm2022/badge/badge.component.mjs +4 -4
  28. package/esm2022/badge/badge.module.mjs +5 -5
  29. package/esm2022/badge/badge.property.mjs +4 -4
  30. package/esm2022/base-form/base-form.component.mjs +4 -4
  31. package/esm2022/base-form/base-form.module.mjs +5 -5
  32. package/esm2022/base-form/base-form.property.mjs +4 -4
  33. package/esm2022/border/border.component.mjs +4 -4
  34. package/esm2022/border/border.module.mjs +5 -5
  35. package/esm2022/button/button.component.mjs +4 -4
  36. package/esm2022/button/button.module.mjs +5 -5
  37. package/esm2022/button/button.property.mjs +7 -7
  38. package/esm2022/button/buttons.component.mjs +4 -4
  39. package/esm2022/calendar/calendar.component.mjs +4 -4
  40. package/esm2022/calendar/calendar.module.mjs +5 -5
  41. package/esm2022/calendar/calendar.property.mjs +4 -4
  42. package/esm2022/card/card.component.mjs +4 -4
  43. package/esm2022/card/card.module.mjs +5 -5
  44. package/esm2022/card/card.property.mjs +4 -4
  45. package/esm2022/carousel/carousel-panel.component.mjs +4 -4
  46. package/esm2022/carousel/carousel.component.mjs +4 -4
  47. package/esm2022/carousel/carousel.module.mjs +5 -5
  48. package/esm2022/carousel/carousel.property.mjs +7 -7
  49. package/esm2022/cascade/cascade-portal.component.mjs +4 -4
  50. package/esm2022/cascade/cascade.component.mjs +4 -4
  51. package/esm2022/cascade/cascade.module.mjs +5 -5
  52. package/esm2022/cascade/cascade.property.mjs +4 -4
  53. package/esm2022/checkbox/checkbox.component.mjs +5 -7
  54. package/esm2022/checkbox/checkbox.module.mjs +5 -5
  55. package/esm2022/checkbox/checkbox.property.mjs +30 -4
  56. package/esm2022/collapse/collapse-panel.component.mjs +4 -4
  57. package/esm2022/collapse/collapse.component.mjs +4 -4
  58. package/esm2022/collapse/collapse.module.mjs +5 -5
  59. package/esm2022/collapse/collapse.property.mjs +7 -7
  60. package/esm2022/color/color.component.mjs +4 -4
  61. package/esm2022/color/color.module.mjs +5 -5
  62. package/esm2022/color/color.property.mjs +4 -4
  63. package/esm2022/color-picker/color-picker-portal.component.mjs +4 -4
  64. package/esm2022/color-picker/color-picker.component.mjs +4 -4
  65. package/esm2022/color-picker/color-picker.module.mjs +5 -5
  66. package/esm2022/color-picker/color-picker.property.mjs +4 -4
  67. package/esm2022/comment/comment-reply.component.mjs +4 -4
  68. package/esm2022/comment/comment.component.mjs +4 -4
  69. package/esm2022/comment/comment.module.mjs +5 -5
  70. package/esm2022/comment/comment.property.mjs +7 -7
  71. package/esm2022/container/aside.component.mjs +4 -4
  72. package/esm2022/container/container.component.mjs +4 -4
  73. package/esm2022/container/container.module.mjs +5 -5
  74. package/esm2022/container/container.property.mjs +13 -13
  75. package/esm2022/container/footer.component.mjs +4 -4
  76. package/esm2022/container/header.component.mjs +4 -4
  77. package/esm2022/container/main.component.mjs +4 -4
  78. package/esm2022/core/config/config.service.mjs +4 -4
  79. package/esm2022/core/services/http.service.mjs +4 -4
  80. package/esm2022/core/services/preloading-strategy.service.mjs +4 -4
  81. package/esm2022/core/services/storage.service.mjs +4 -4
  82. package/esm2022/core/theme/theme.service.mjs +4 -4
  83. package/esm2022/crumb/crumb.component.mjs +4 -4
  84. package/esm2022/crumb/crumb.module.mjs +5 -5
  85. package/esm2022/crumb/crumb.property.mjs +4 -4
  86. package/esm2022/date-picker/date-picker-portal.component.mjs +4 -4
  87. package/esm2022/date-picker/date-picker.component.mjs +4 -4
  88. package/esm2022/date-picker/date-picker.module.mjs +5 -5
  89. package/esm2022/date-picker/date-picker.property.mjs +19 -19
  90. package/esm2022/date-picker/date-quarter.pipe.mjs +4 -4
  91. package/esm2022/date-picker/date-range-portal.component.mjs +4 -4
  92. package/esm2022/date-picker/date-range.component.mjs +4 -4
  93. package/esm2022/date-picker/picker-date.component.mjs +4 -4
  94. package/esm2022/date-picker/picker-month.component.mjs +4 -4
  95. package/esm2022/date-picker/picker-quarter.component.mjs +4 -4
  96. package/esm2022/date-picker/picker-year.component.mjs +4 -4
  97. package/esm2022/description/description-item.component.mjs +4 -4
  98. package/esm2022/description/description.component.mjs +4 -4
  99. package/esm2022/description/description.module.mjs +5 -5
  100. package/esm2022/description/description.property.mjs +7 -7
  101. package/esm2022/dialog/dialog-container.component.mjs +4 -4
  102. package/esm2022/dialog/dialog-portal.component.mjs +4 -4
  103. package/esm2022/dialog/dialog-portal.directives.mjs +19 -19
  104. package/esm2022/dialog/dialog.component.mjs +4 -4
  105. package/esm2022/dialog/dialog.module.mjs +5 -5
  106. package/esm2022/dialog/dialog.property.mjs +7 -7
  107. package/esm2022/dialog/dialog.service.mjs +4 -4
  108. package/esm2022/doc/doc.component.mjs +5 -5
  109. package/esm2022/doc/doc.module.mjs +5 -5
  110. package/esm2022/drag/drag.directive.mjs +4 -4
  111. package/esm2022/drag/drag.module.mjs +5 -5
  112. package/esm2022/drag/drag.property.mjs +4 -4
  113. package/esm2022/drawer/drawer-container.component.mjs +4 -4
  114. package/esm2022/drawer/drawer-portal.component.mjs +4 -4
  115. package/esm2022/drawer/drawer-portal.directives.mjs +10 -10
  116. package/esm2022/drawer/drawer.component.mjs +4 -4
  117. package/esm2022/drawer/drawer.module.mjs +5 -5
  118. package/esm2022/drawer/drawer.property.mjs +7 -7
  119. package/esm2022/drawer/drawer.service.mjs +4 -4
  120. package/esm2022/dropdown/dropdown-portal.component.mjs +4 -4
  121. package/esm2022/dropdown/dropdown.component.mjs +4 -4
  122. package/esm2022/dropdown/dropdown.module.mjs +5 -5
  123. package/esm2022/dropdown/dropdown.property.mjs +4 -4
  124. package/esm2022/empty/empty.component.mjs +4 -4
  125. package/esm2022/empty/empty.module.mjs +5 -5
  126. package/esm2022/empty/empty.property.mjs +4 -4
  127. package/esm2022/examples/examples.component.mjs +4 -4
  128. package/esm2022/examples/examples.module.mjs +5 -5
  129. package/esm2022/find/find.component.mjs +4 -4
  130. package/esm2022/find/find.module.mjs +5 -5
  131. package/esm2022/find/find.property.mjs +4 -4
  132. package/esm2022/form/control.component.mjs +4 -4
  133. package/esm2022/form/form.component.mjs +4 -4
  134. package/esm2022/form/form.module.mjs +5 -5
  135. package/esm2022/form/form.property.mjs +7 -7
  136. package/esm2022/highlight/highlight.component.mjs +4 -4
  137. package/esm2022/highlight/highlight.module.mjs +5 -5
  138. package/esm2022/highlight/highlight.property.mjs +4 -4
  139. package/esm2022/i18n/i18n.directive.mjs +4 -4
  140. package/esm2022/i18n/i18n.module.mjs +5 -5
  141. package/esm2022/i18n/i18n.pipe.mjs +4 -4
  142. package/esm2022/i18n/i18n.service.mjs +4 -4
  143. package/esm2022/icon/icon.component.mjs +4 -4
  144. package/esm2022/icon/icon.module.mjs +5 -5
  145. package/esm2022/icon/icon.property.mjs +4 -4
  146. package/esm2022/icon/icon.service.mjs +4 -4
  147. package/esm2022/image/image-group.component.mjs +4 -4
  148. package/esm2022/image/image-preview.component.mjs +4 -4
  149. package/esm2022/image/image.component.mjs +4 -4
  150. package/esm2022/image/image.module.mjs +5 -5
  151. package/esm2022/image/image.property.mjs +7 -7
  152. package/esm2022/inner/inner.component.mjs +4 -4
  153. package/esm2022/inner/inner.module.mjs +5 -5
  154. package/esm2022/inner/inner.property.mjs +4 -4
  155. package/esm2022/input/input-group.component.mjs +4 -4
  156. package/esm2022/input/input.component.mjs +4 -4
  157. package/esm2022/input/input.module.mjs +5 -5
  158. package/esm2022/input/input.property.mjs +7 -7
  159. package/esm2022/input-number/input-number.component.mjs +4 -4
  160. package/esm2022/input-number/input-number.module.mjs +5 -5
  161. package/esm2022/input-number/input-number.property.mjs +4 -4
  162. package/esm2022/keyword/keyword.directive.mjs +4 -4
  163. package/esm2022/keyword/keyword.module.mjs +5 -5
  164. package/esm2022/keyword/keyword.property.mjs +4 -4
  165. package/esm2022/layout/col.component.mjs +4 -4
  166. package/esm2022/layout/layout.module.mjs +5 -5
  167. package/esm2022/layout/layout.property.mjs +7 -7
  168. package/esm2022/layout/row.component.mjs +4 -4
  169. package/esm2022/link/link.component.mjs +4 -4
  170. package/esm2022/link/link.module.mjs +5 -5
  171. package/esm2022/link/link.property.mjs +4 -4
  172. package/esm2022/list/list-drop-group.directive.mjs +4 -4
  173. package/esm2022/list/list-option.component.mjs +4 -4
  174. package/esm2022/list/list.component.mjs +4 -4
  175. package/esm2022/list/list.module.mjs +5 -5
  176. package/esm2022/list/list.property.mjs +7 -7
  177. package/esm2022/loading/loading.component.mjs +4 -4
  178. package/esm2022/loading/loading.module.mjs +5 -5
  179. package/esm2022/loading/loading.property.mjs +4 -4
  180. package/esm2022/menu/menu-node.component.mjs +4 -4
  181. package/esm2022/menu/menu.component.mjs +4 -4
  182. package/esm2022/menu/menu.module.mjs +5 -5
  183. package/esm2022/menu/menu.property.mjs +7 -7
  184. package/esm2022/message/message.component.mjs +4 -4
  185. package/esm2022/message/message.module.mjs +5 -5
  186. package/esm2022/message/message.service.mjs +4 -4
  187. package/esm2022/message-box/message-box.component.mjs +4 -4
  188. package/esm2022/message-box/message-box.module.mjs +5 -5
  189. package/esm2022/message-box/message-box.service.mjs +4 -4
  190. package/esm2022/notification/notification.component.mjs +4 -4
  191. package/esm2022/notification/notification.module.mjs +5 -5
  192. package/esm2022/notification/notification.service.mjs +4 -4
  193. package/esm2022/outlet/outlet.directive.mjs +4 -4
  194. package/esm2022/outlet/outlet.module.mjs +5 -5
  195. package/esm2022/page-header/page-header.component.mjs +4 -4
  196. package/esm2022/page-header/page-header.module.mjs +5 -5
  197. package/esm2022/page-header/page-header.property.mjs +4 -4
  198. package/esm2022/pagination/pagination.component.mjs +4 -4
  199. package/esm2022/pagination/pagination.module.mjs +5 -5
  200. package/esm2022/pagination/pagination.property.mjs +4 -4
  201. package/esm2022/pattern/pattern.component.mjs +4 -4
  202. package/esm2022/pattern/pattern.module.mjs +5 -5
  203. package/esm2022/popconfirm/popconfirm.component.mjs +4 -4
  204. package/esm2022/popconfirm/popconfirm.module.mjs +5 -5
  205. package/esm2022/popconfirm/popconfirm.property.mjs +4 -4
  206. package/esm2022/popover/popover-portal.component.mjs +4 -4
  207. package/esm2022/popover/popover.directive.mjs +4 -4
  208. package/esm2022/popover/popover.module.mjs +5 -5
  209. package/esm2022/popover/popover.property.mjs +4 -4
  210. package/esm2022/portal/portal.module.mjs +5 -5
  211. package/esm2022/portal/portal.service.mjs +4 -4
  212. package/esm2022/progress/progress.component.mjs +4 -4
  213. package/esm2022/progress/progress.module.mjs +5 -5
  214. package/esm2022/progress/progress.property.mjs +4 -4
  215. package/esm2022/radio/radio.component.mjs +5 -5
  216. package/esm2022/radio/radio.module.mjs +5 -5
  217. package/esm2022/radio/radio.property.mjs +14 -4
  218. package/esm2022/rate/rate.component.mjs +4 -4
  219. package/esm2022/rate/rate.module.mjs +5 -5
  220. package/esm2022/rate/rate.property.mjs +4 -4
  221. package/esm2022/resizable/resizable.directive.mjs +4 -4
  222. package/esm2022/resizable/resizable.module.mjs +5 -5
  223. package/esm2022/resizable/resizable.property.mjs +4 -4
  224. package/esm2022/result/result.component.mjs +4 -4
  225. package/esm2022/result/result.module.mjs +5 -5
  226. package/esm2022/result/result.property.mjs +4 -4
  227. package/esm2022/ripple/ripple.directive.mjs +4 -4
  228. package/esm2022/ripple/ripple.module.mjs +5 -5
  229. package/esm2022/ripple/ripple.property.mjs +4 -4
  230. package/esm2022/select/select-portal.component.mjs +5 -5
  231. package/esm2022/select/select.component.mjs +5 -5
  232. package/esm2022/select/select.module.mjs +5 -5
  233. package/esm2022/select/select.property.mjs +4 -4
  234. package/esm2022/skeleton/skeleton.component.mjs +4 -4
  235. package/esm2022/skeleton/skeleton.module.mjs +5 -5
  236. package/esm2022/skeleton/skeleton.property.mjs +4 -4
  237. package/esm2022/slider/slider.component.mjs +4 -4
  238. package/esm2022/slider/slider.module.mjs +5 -5
  239. package/esm2022/slider/slider.property.mjs +4 -4
  240. package/esm2022/slider-select/slider-select.component.mjs +8 -8
  241. package/esm2022/slider-select/slider-select.module.mjs +5 -5
  242. package/esm2022/slider-select/slider-select.property.mjs +6 -4
  243. package/esm2022/statistic/countdown.component.mjs +4 -4
  244. package/esm2022/statistic/statistic.component.mjs +4 -4
  245. package/esm2022/statistic/statistic.module.mjs +5 -5
  246. package/esm2022/statistic/statistic.property.mjs +7 -7
  247. package/esm2022/steps/steps.component.mjs +4 -4
  248. package/esm2022/steps/steps.module.mjs +5 -5
  249. package/esm2022/steps/steps.property.mjs +4 -4
  250. package/esm2022/switch/switch.component.mjs +4 -4
  251. package/esm2022/switch/switch.module.mjs +5 -5
  252. package/esm2022/switch/switch.property.mjs +4 -4
  253. package/esm2022/table/table-body.component.mjs +5 -5
  254. package/esm2022/table/table-foot.component.mjs +4 -4
  255. package/esm2022/table/table-head.component.mjs +5 -5
  256. package/esm2022/table/table.component.mjs +4 -4
  257. package/esm2022/table/table.module.mjs +5 -5
  258. package/esm2022/table/table.property.mjs +13 -13
  259. package/esm2022/tabs/tab-content.component.mjs +4 -4
  260. package/esm2022/tabs/tab-link.directive.mjs +7 -7
  261. package/esm2022/tabs/tab.component.mjs +4 -4
  262. package/esm2022/tabs/tabs.component.mjs +4 -4
  263. package/esm2022/tabs/tabs.module.mjs +5 -5
  264. package/esm2022/tabs/tabs.property.mjs +7 -7
  265. package/esm2022/tag/tag.component.mjs +4 -4
  266. package/esm2022/tag/tag.module.mjs +5 -5
  267. package/esm2022/tag/tag.property.mjs +4 -4
  268. package/esm2022/text-retract/text-retract.component.mjs +4 -4
  269. package/esm2022/text-retract/text-retract.module.mjs +5 -5
  270. package/esm2022/text-retract/text-retract.property.mjs +4 -4
  271. package/esm2022/textarea/textarea.component.mjs +4 -4
  272. package/esm2022/textarea/textarea.module.mjs +5 -5
  273. package/esm2022/textarea/textarea.property.mjs +4 -4
  274. package/esm2022/theme/theme.component.mjs +4 -4
  275. package/esm2022/theme/theme.module.mjs +5 -5
  276. package/esm2022/theme/theme.property.mjs +4 -4
  277. package/esm2022/time-ago/time-ago.module.mjs +5 -5
  278. package/esm2022/time-ago/time-ago.pipe.mjs +4 -4
  279. package/esm2022/time-picker/time-picker-frame.component.mjs +4 -4
  280. package/esm2022/time-picker/time-picker-portal.component.mjs +4 -4
  281. package/esm2022/time-picker/time-picker.component.mjs +4 -4
  282. package/esm2022/time-picker/time-picker.module.mjs +5 -5
  283. package/esm2022/time-picker/time-picker.property.mjs +4 -4
  284. package/esm2022/time-range/time-range.module.mjs +5 -5
  285. package/esm2022/time-range/time-range.pipe.mjs +4 -4
  286. package/esm2022/timeline/timeline.component.mjs +5 -5
  287. package/esm2022/timeline/timeline.module.mjs +5 -5
  288. package/esm2022/timeline/timeline.property.mjs +4 -4
  289. package/esm2022/tooltip/tooltip-portal.component.mjs +6 -5
  290. package/esm2022/tooltip/tooltip.directive.mjs +4 -4
  291. package/esm2022/tooltip/tooltip.module.mjs +7 -6
  292. package/esm2022/tooltip/tooltip.property.mjs +4 -4
  293. package/esm2022/transfer/transfer.component.mjs +5 -5
  294. package/esm2022/transfer/transfer.module.mjs +5 -5
  295. package/esm2022/transfer/transfer.property.mjs +4 -4
  296. package/esm2022/tree/tree-node.component.mjs +5 -5
  297. package/esm2022/tree/tree.component.mjs +4 -4
  298. package/esm2022/tree/tree.module.mjs +5 -5
  299. package/esm2022/tree/tree.property.mjs +7 -7
  300. package/esm2022/tree/tree.service.mjs +4 -4
  301. package/esm2022/tree-file/tree-file.component.mjs +4 -4
  302. package/esm2022/tree-file/tree-file.module.mjs +5 -5
  303. package/esm2022/tree-file/tree-file.property.mjs +4 -4
  304. package/esm2022/tree-select/tree-select-portal.component.mjs +5 -5
  305. package/esm2022/tree-select/tree-select.component.mjs +5 -5
  306. package/esm2022/tree-select/tree-select.module.mjs +5 -5
  307. package/esm2022/tree-select/tree-select.property.mjs +4 -4
  308. package/esm2022/typography/typography.component.mjs +4 -4
  309. package/esm2022/typography/typography.module.mjs +5 -5
  310. package/esm2022/typography/typography.property.mjs +4 -4
  311. package/esm2022/upload/upload-portal.component.mjs +4 -4
  312. package/esm2022/upload/upload.component.mjs +4 -4
  313. package/esm2022/upload/upload.module.mjs +5 -5
  314. package/esm2022/upload/upload.property.mjs +4 -4
  315. package/fesm2022/ng-nest-ui-affix.mjs +10 -10
  316. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  317. package/fesm2022/ng-nest-ui-alert.mjs +10 -10
  318. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  319. package/fesm2022/ng-nest-ui-anchor.mjs +16 -16
  320. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  321. package/fesm2022/ng-nest-ui-api.mjs +7 -7
  322. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  323. package/fesm2022/ng-nest-ui-auto-complete.mjs +15 -15
  324. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  325. package/fesm2022/ng-nest-ui-avatar.mjs +16 -16
  326. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  327. package/fesm2022/ng-nest-ui-back-top.mjs +10 -10
  328. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  329. package/fesm2022/ng-nest-ui-badge.mjs +10 -10
  330. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  331. package/fesm2022/ng-nest-ui-base-form.mjs +10 -10
  332. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  333. package/fesm2022/ng-nest-ui-border.mjs +7 -7
  334. package/fesm2022/ng-nest-ui-border.mjs.map +1 -1
  335. package/fesm2022/ng-nest-ui-button.mjs +16 -16
  336. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  337. package/fesm2022/ng-nest-ui-calendar.mjs +10 -10
  338. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  339. package/fesm2022/ng-nest-ui-card.mjs +10 -10
  340. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  341. package/fesm2022/ng-nest-ui-carousel.mjs +16 -16
  342. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  343. package/fesm2022/ng-nest-ui-cascade.mjs +13 -13
  344. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  345. package/fesm2022/ng-nest-ui-checkbox.mjs +37 -13
  346. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  347. package/fesm2022/ng-nest-ui-collapse.mjs +16 -16
  348. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  349. package/fesm2022/ng-nest-ui-color-picker.mjs +13 -13
  350. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  351. package/fesm2022/ng-nest-ui-color.mjs +10 -10
  352. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  353. package/fesm2022/ng-nest-ui-comment.mjs +16 -16
  354. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  355. package/fesm2022/ng-nest-ui-container.mjs +31 -31
  356. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  357. package/fesm2022/ng-nest-ui-core.mjs +15 -15
  358. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  359. package/fesm2022/ng-nest-ui-crumb.mjs +10 -10
  360. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  361. package/fesm2022/ng-nest-ui-date-picker.mjs +49 -49
  362. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  363. package/fesm2022/ng-nest-ui-description.mjs +16 -16
  364. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  365. package/fesm2022/ng-nest-ui-dialog.mjs +40 -40
  366. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  367. package/fesm2022/ng-nest-ui-doc.mjs +8 -8
  368. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  369. package/fesm2022/ng-nest-ui-drag.mjs +10 -10
  370. package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
  371. package/fesm2022/ng-nest-ui-drawer.mjs +31 -31
  372. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  373. package/fesm2022/ng-nest-ui-dropdown.mjs +13 -13
  374. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  375. package/fesm2022/ng-nest-ui-empty.mjs +10 -10
  376. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  377. package/fesm2022/ng-nest-ui-examples.mjs +7 -7
  378. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  379. package/fesm2022/ng-nest-ui-find.mjs +10 -10
  380. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  381. package/fesm2022/ng-nest-ui-form.mjs +16 -16
  382. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  383. package/fesm2022/ng-nest-ui-highlight.mjs +10 -10
  384. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  385. package/fesm2022/ng-nest-ui-i18n.mjs +13 -13
  386. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  387. package/fesm2022/ng-nest-ui-icon.mjs +13 -13
  388. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  389. package/fesm2022/ng-nest-ui-image.mjs +19 -19
  390. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  391. package/fesm2022/ng-nest-ui-inner.mjs +10 -10
  392. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  393. package/fesm2022/ng-nest-ui-input-number.mjs +10 -10
  394. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  395. package/fesm2022/ng-nest-ui-input.mjs +16 -16
  396. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  397. package/fesm2022/ng-nest-ui-keyword.mjs +10 -10
  398. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  399. package/fesm2022/ng-nest-ui-layout.mjs +16 -16
  400. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  401. package/fesm2022/ng-nest-ui-link.mjs +10 -10
  402. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  403. package/fesm2022/ng-nest-ui-list.mjs +19 -19
  404. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  405. package/fesm2022/ng-nest-ui-loading.mjs +10 -10
  406. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  407. package/fesm2022/ng-nest-ui-menu.mjs +16 -16
  408. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  409. package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
  410. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  411. package/fesm2022/ng-nest-ui-message.mjs +10 -10
  412. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  413. package/fesm2022/ng-nest-ui-notification.mjs +10 -10
  414. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
  415. package/fesm2022/ng-nest-ui-outlet.mjs +7 -7
  416. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  417. package/fesm2022/ng-nest-ui-page-header.mjs +10 -10
  418. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  419. package/fesm2022/ng-nest-ui-pagination.mjs +10 -10
  420. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  421. package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
  422. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  423. package/fesm2022/ng-nest-ui-popconfirm.mjs +10 -10
  424. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  425. package/fesm2022/ng-nest-ui-popover.mjs +13 -13
  426. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  427. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  428. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  429. package/fesm2022/ng-nest-ui-progress.mjs +10 -10
  430. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  431. package/fesm2022/ng-nest-ui-radio.mjs +21 -11
  432. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  433. package/fesm2022/ng-nest-ui-rate.mjs +10 -10
  434. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  435. package/fesm2022/ng-nest-ui-resizable.mjs +10 -10
  436. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  437. package/fesm2022/ng-nest-ui-result.mjs +10 -10
  438. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  439. package/fesm2022/ng-nest-ui-ripple.mjs +10 -10
  440. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  441. package/fesm2022/ng-nest-ui-select.mjs +15 -15
  442. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  443. package/fesm2022/ng-nest-ui-skeleton.mjs +10 -10
  444. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  445. package/fesm2022/ng-nest-ui-slider-select.mjs +16 -14
  446. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  447. package/fesm2022/ng-nest-ui-slider.mjs +10 -10
  448. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  449. package/fesm2022/ng-nest-ui-statistic.mjs +16 -16
  450. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  451. package/fesm2022/ng-nest-ui-steps.mjs +10 -10
  452. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  453. package/fesm2022/ng-nest-ui-switch.mjs +10 -10
  454. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  455. package/fesm2022/ng-nest-ui-table.mjs +30 -30
  456. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  457. package/fesm2022/ng-nest-ui-tabs.mjs +25 -25
  458. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  459. package/fesm2022/ng-nest-ui-tag.mjs +10 -10
  460. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  461. package/fesm2022/ng-nest-ui-text-retract.mjs +10 -10
  462. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  463. package/fesm2022/ng-nest-ui-textarea.mjs +10 -10
  464. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  465. package/fesm2022/ng-nest-ui-theme.mjs +10 -10
  466. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  467. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  468. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
  469. package/fesm2022/ng-nest-ui-time-picker.mjs +16 -16
  470. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  471. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  472. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
  473. package/fesm2022/ng-nest-ui-timeline.mjs +11 -11
  474. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  475. package/fesm2022/ng-nest-ui-tooltip.mjs +19 -17
  476. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  477. package/fesm2022/ng-nest-ui-transfer.mjs +11 -11
  478. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  479. package/fesm2022/ng-nest-ui-tree-file.mjs +10 -10
  480. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  481. package/fesm2022/ng-nest-ui-tree-select.mjs +15 -15
  482. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  483. package/fesm2022/ng-nest-ui-tree.mjs +20 -20
  484. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  485. package/fesm2022/ng-nest-ui-typography.mjs +10 -10
  486. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  487. package/fesm2022/ng-nest-ui-upload.mjs +13 -13
  488. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  489. package/package.json +37 -37
  490. package/radio/radio.property.d.ts +6 -1
  491. package/slider-select/slider-select.property.d.ts +6 -1
  492. package/tooltip/tooltip-portal.component.d.ts +2 -2
  493. package/tooltip/tooltip.module.d.ts +2 -1
  494. package/tooltip/tooltip.property.d.ts +2 -2
@@ -13,8 +13,8 @@ const X_CONFIG_NAME = 'link';
13
13
  * Link Property
14
14
  */
15
15
  class XLinkProperty extends XProperty {
16
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XLinkProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
17
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: XLinkProperty, selector: "x-link-property", inputs: { href: "href", icon: "icon", underline: "underline", disabled: "disabled", iconRight: "iconRight", preventDefault: "preventDefault", type: "type", target: "target" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
16
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XLinkProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
17
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: XLinkProperty, selector: "x-link-property", inputs: { href: "href", icon: "icon", underline: "underline", disabled: "disabled", iconRight: "iconRight", preventDefault: "preventDefault", type: "type", target: "target" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
18
18
  }
19
19
  __decorate([
20
20
  XWithConfig(X_CONFIG_NAME, false),
@@ -32,7 +32,7 @@ __decorate([
32
32
  XInputBoolean()
33
33
  ], XLinkProperty.prototype, "preventDefault", void 0);
34
34
  export { XLinkProperty };
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XLinkProperty, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XLinkProperty, decorators: [{
36
36
  type: Component,
37
37
  args: [{ selector: `${XLinkPrefix}-property`, template: '' }]
38
38
  }], propDecorators: { href: [{
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
52
52
  }], target: [{
53
53
  type: Input
54
54
  }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2xpbmsvbGluay5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQVksV0FBVyxFQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDMUYsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRWpEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDO0FBQ3BDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQztBQUU3Qjs7R0FFRztBQUNILE1BQ2EsYUFBYyxTQUFRLFNBQVM7aUlBQS9CLGFBQWE7cUhBQWIsYUFBYSw4UEFEa0MsRUFBRTs7QUFnQlc7SUFBN0QsV0FBVyxDQUFXLGFBQWEsRUFBRSxLQUFLLENBQUM7SUFBRSxhQUFhLEVBQUU7Z0RBQXNCO0FBS2xFO0lBQWhCLGFBQWEsRUFBRTsrQ0FBcUI7QUFLeUI7SUFBN0QsV0FBVyxDQUFXLGFBQWEsRUFBRSxLQUFLLENBQUM7SUFBRSxhQUFhLEVBQUU7Z0RBQXNCO0FBS3JCO0lBQTdELFdBQVcsQ0FBVyxhQUFhLEVBQUUsS0FBSyxDQUFDO0lBQUUsYUFBYSxFQUFFO3FEQUEyQjtTQTlCdEYsYUFBYTsyRkFBYixhQUFhO2tCQUR6QixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsV0FBVyxXQUFXLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs4QkFNckQsSUFBSTtzQkFBWixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFLaUUsU0FBUztzQkFBL0UsS0FBSztnQkFLb0IsUUFBUTtzQkFBakMsS0FBSztnQkFLaUUsU0FBUztzQkFBL0UsS0FBSztnQkFLaUUsY0FBYztzQkFBcEYsS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWFByb3BlcnR5LCBYSW5wdXRCb29sZWFuLCBYQm9vbGVhbiwgWFdpdGhDb25maWcsIFhUeXBlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IElucHV0LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBMaW5rXHJcbiAqIEBzZWxlY3RvciB4LWxpbmtcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYTGlua1ByZWZpeCA9ICd4LWxpbmsnO1xyXG5jb25zdCBYX0NPTkZJR19OQU1FID0gJ2xpbmsnO1xyXG5cclxuLyoqXHJcbiAqIExpbmsgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyBzZWxlY3RvcjogYCR7WExpbmtQcmVmaXh9LXByb3BlcnR5YCwgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYTGlua1Byb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6ZO+5o6lXHJcbiAgICogQGVuX1VTIExpbmtcclxuICAgKi9cclxuICBASW5wdXQoKSBocmVmPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm77moIdcclxuICAgKiBAZW5fVVMgSWNvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGljb24/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS4i+WIkue6v1xyXG4gICAqIEBlbl9VUyBVbmRlcnNjb3JlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSB1bmRlcmxpbmU/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55SoXHJcbiAgICogQGVuX1VTIERpc2FibGVkXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBkaXNhYmxlZD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm77moIfpnaDlj7Plr7npvZBcclxuICAgKiBAZW5fVVMgSWNvbnMgYXJlIGFsaWduZWQgdG8gdGhlIHJpZ2h0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSBpY29uUmlnaHQ/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Zi75q2i6LaF6ZO+5o6l55qE6buY6K6k6KGM5Li6XHJcbiAgICogQGVuX1VTIEJsb2NrIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIGh5cGVybGlua3NcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIGZhbHNlKSBAWElucHV0Qm9vbGVhbigpIHByZXZlbnREZWZhdWx0PzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmTvuaOpeexu+Wei1xyXG4gICAqIEBlbl9VUyBMaW5rIHR5cGVcclxuICAgKi9cclxuICBASW5wdXQoKSB0eXBlPzogWExpbmtUeXBlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmiZPlvIDmlrnlvI9cclxuICAgKiBAZW5fVVMgT3BlbiBtZXRob2RcclxuICAgKi9cclxuICBASW5wdXQoKSB0YXJnZXQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g6ZO+5o6l57G75Z6LXHJcbiAqIEBlbl9VUyBMaW5rIHR5cGVcclxuICovXHJcbmV4cG9ydCB0eXBlIFhMaW5rVHlwZSA9IFhUeXBlO1xyXG4iXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2xpbmsvbGluay5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQVksV0FBVyxFQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDMUYsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRWpEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDO0FBQ3BDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQztBQUU3Qjs7R0FFRztBQUNILE1BQ2EsYUFBYyxTQUFRLFNBQVM7a0lBQS9CLGFBQWE7c0hBQWIsYUFBYSw4UEFEa0MsRUFBRTs7QUFnQlc7SUFBN0QsV0FBVyxDQUFXLGFBQWEsRUFBRSxLQUFLLENBQUM7SUFBRSxhQUFhLEVBQUU7Z0RBQXNCO0FBS2xFO0lBQWhCLGFBQWEsRUFBRTsrQ0FBcUI7QUFLeUI7SUFBN0QsV0FBVyxDQUFXLGFBQWEsRUFBRSxLQUFLLENBQUM7SUFBRSxhQUFhLEVBQUU7Z0RBQXNCO0FBS3JCO0lBQTdELFdBQVcsQ0FBVyxhQUFhLEVBQUUsS0FBSyxDQUFDO0lBQUUsYUFBYSxFQUFFO3FEQUEyQjtTQTlCdEYsYUFBYTs0RkFBYixhQUFhO2tCQUR6QixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsV0FBVyxXQUFXLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs4QkFNckQsSUFBSTtzQkFBWixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFLaUUsU0FBUztzQkFBL0UsS0FBSztnQkFLb0IsUUFBUTtzQkFBakMsS0FBSztnQkFLaUUsU0FBUztzQkFBL0UsS0FBSztnQkFLaUUsY0FBYztzQkFBcEYsS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWFByb3BlcnR5LCBYSW5wdXRCb29sZWFuLCBYQm9vbGVhbiwgWFdpdGhDb25maWcsIFhUeXBlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IElucHV0LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBMaW5rXHJcbiAqIEBzZWxlY3RvciB4LWxpbmtcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYTGlua1ByZWZpeCA9ICd4LWxpbmsnO1xyXG5jb25zdCBYX0NPTkZJR19OQU1FID0gJ2xpbmsnO1xyXG5cclxuLyoqXHJcbiAqIExpbmsgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyBzZWxlY3RvcjogYCR7WExpbmtQcmVmaXh9LXByb3BlcnR5YCwgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYTGlua1Byb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6ZO+5o6lXHJcbiAgICogQGVuX1VTIExpbmtcclxuICAgKi9cclxuICBASW5wdXQoKSBocmVmPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm77moIdcclxuICAgKiBAZW5fVVMgSWNvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGljb24/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS4i+WIkue6v1xyXG4gICAqIEBlbl9VUyBVbmRlcnNjb3JlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSB1bmRlcmxpbmU/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55SoXHJcbiAgICogQGVuX1VTIERpc2FibGVkXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBkaXNhYmxlZD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm77moIfpnaDlj7Plr7npvZBcclxuICAgKiBAZW5fVVMgSWNvbnMgYXJlIGFsaWduZWQgdG8gdGhlIHJpZ2h0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSBpY29uUmlnaHQ/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Zi75q2i6LaF6ZO+5o6l55qE6buY6K6k6KGM5Li6XHJcbiAgICogQGVuX1VTIEJsb2NrIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIGh5cGVybGlua3NcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIGZhbHNlKSBAWElucHV0Qm9vbGVhbigpIHByZXZlbnREZWZhdWx0PzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmTvuaOpeexu+Wei1xyXG4gICAqIEBlbl9VUyBMaW5rIHR5cGVcclxuICAgKi9cclxuICBASW5wdXQoKSB0eXBlPzogWExpbmtUeXBlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmiZPlvIDmlrnlvI9cclxuICAgKiBAZW5fVVMgT3BlbiBtZXRob2RcclxuICAgKi9cclxuICBASW5wdXQoKSB0YXJnZXQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g6ZO+5o6l57G75Z6LXHJcbiAqIEBlbl9VUyBMaW5rIHR5cGVcclxuICovXHJcbmV4cG9ydCB0eXBlIFhMaW5rVHlwZSA9IFhUeXBlO1xyXG4iXX0=
@@ -31,11 +31,11 @@ class XListDropGroup {
31
31
  ngOnDestroy() {
32
32
  this.dropLists.clear();
33
33
  }
34
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XListDropGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
35
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.5", type: XListDropGroup, selector: "[xListDropGroup]", inputs: { disabled: ["xListDropGroupDisabled", "disabled"] }, providers: [{ provide: X_LIST_DROP_GROUP, useExisting: XListDropGroup }], ngImport: i0 }); }
34
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XListDropGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
35
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: XListDropGroup, selector: "[xListDropGroup]", inputs: { disabled: ["xListDropGroupDisabled", "disabled"] }, providers: [{ provide: X_LIST_DROP_GROUP, useExisting: XListDropGroup }], ngImport: i0 }); }
36
36
  }
37
37
  export { XListDropGroup };
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XListDropGroup, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XListDropGroup, decorators: [{
39
39
  type: Directive,
40
40
  args: [{
41
41
  selector: '[xListDropGroup]',
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
45
45
  type: Input,
46
46
  args: ['xListDropGroupDisabled']
47
47
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1kcm9wLWdyb3VwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2xpc3QvbGlzdC1kcm9wLWdyb3VwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpGLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQzs7QUFFNUUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQWlCLGdCQUFnQixDQUFDLENBQUM7QUFFdEYsTUFJYSxjQUFjO0lBSjNCO1FBS1csY0FBUyxHQUFHLElBQUksR0FBRyxFQUFlLENBQUM7UUFTcEMsY0FBUyxHQUFHLEtBQUssQ0FBQztLQW9CM0I7SUEzQkMsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFtQjtRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFHRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUMzQixJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRTtvQkFDbEIsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNyQjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7d0JBQzNDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUNwQztpQkFDRjtZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztpSUE3QlUsY0FBYztxSEFBZCxjQUFjLHlHQUZkLENBQUMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxDQUFDOztTQUU3RCxjQUFjOzJGQUFkLGNBQWM7a0JBSjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxnQkFBZ0IsRUFBRSxDQUFDO2lCQUN6RTs4QkFLSyxRQUFRO3NCQURYLEtBQUs7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VBcnJheSwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHsgQ2RrRHJvcExpc3QgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFhfTElTVF9EUk9QX0dST1VQID0gbmV3IEluamVjdGlvblRva2VuPFhMaXN0RHJvcEdyb3VwPignWExpc3REcm9wR3JvdXAnKTtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3hMaXN0RHJvcEdyb3VwXScsXHJcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBYX0xJU1RfRFJPUF9HUk9VUCwgdXNlRXhpc3Rpbmc6IFhMaXN0RHJvcEdyb3VwIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYTGlzdERyb3BHcm91cCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcmVhZG9ubHkgZHJvcExpc3RzID0gbmV3IFNldDxDZGtEcm9wTGlzdD4oKTtcclxuXHJcbiAgQElucHV0KCd4TGlzdERyb3BHcm91cERpc2FibGVkJylcclxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XHJcbiAgfVxyXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XHJcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gIHNldENvbm5lY3RlZFRvKCkge1xyXG4gICAgdGhpcy5kcm9wTGlzdHMuZm9yRWFjaCgoeCkgPT4ge1xyXG4gICAgICB0aGlzLmRyb3BMaXN0cy5mb3JFYWNoKCh5KSA9PiB7XHJcbiAgICAgICAgaWYgKCF5LmNvbm5lY3RlZFRvKSB7XHJcbiAgICAgICAgICB5LmNvbm5lY3RlZFRvID0gW3hdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAoIWNvZXJjZUFycmF5KHkuY29ubmVjdGVkVG8pLmluY2x1ZGVzKHgpKSB7XHJcbiAgICAgICAgICAgIGNvZXJjZUFycmF5KHkuY29ubmVjdGVkVG8pLnB1c2goeCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgY29uc29sZS5sb2codGhpcy5kcm9wTGlzdHMpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmRyb3BMaXN0cy5jbGVhcigpO1xyXG4gIH1cclxufVxyXG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1kcm9wLWdyb3VwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2xpc3QvbGlzdC1kcm9wLWdyb3VwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpGLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQzs7QUFFNUUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQWlCLGdCQUFnQixDQUFDLENBQUM7QUFFdEYsTUFJYSxjQUFjO0lBSjNCO1FBS1csY0FBUyxHQUFHLElBQUksR0FBRyxFQUFlLENBQUM7UUFTcEMsY0FBUyxHQUFHLEtBQUssQ0FBQztLQW9CM0I7SUEzQkMsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFtQjtRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFHRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUMzQixJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRTtvQkFDbEIsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNyQjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7d0JBQzNDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUNwQztpQkFDRjtZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztrSUE3QlUsY0FBYztzSEFBZCxjQUFjLHlHQUZkLENBQUMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxDQUFDOztTQUU3RCxjQUFjOzRGQUFkLGNBQWM7a0JBSjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxnQkFBZ0IsRUFBRSxDQUFDO2lCQUN6RTs4QkFLSyxRQUFRO3NCQURYLEtBQUs7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VBcnJheSwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHsgQ2RrRHJvcExpc3QgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFhfTElTVF9EUk9QX0dST1VQID0gbmV3IEluamVjdGlvblRva2VuPFhMaXN0RHJvcEdyb3VwPignWExpc3REcm9wR3JvdXAnKTtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3hMaXN0RHJvcEdyb3VwXScsXHJcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBYX0xJU1RfRFJPUF9HUk9VUCwgdXNlRXhpc3Rpbmc6IFhMaXN0RHJvcEdyb3VwIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYTGlzdERyb3BHcm91cCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcmVhZG9ubHkgZHJvcExpc3RzID0gbmV3IFNldDxDZGtEcm9wTGlzdD4oKTtcclxuXHJcbiAgQElucHV0KCd4TGlzdERyb3BHcm91cERpc2FibGVkJylcclxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XHJcbiAgfVxyXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XHJcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gIHNldENvbm5lY3RlZFRvKCkge1xyXG4gICAgdGhpcy5kcm9wTGlzdHMuZm9yRWFjaCgoeCkgPT4ge1xyXG4gICAgICB0aGlzLmRyb3BMaXN0cy5mb3JFYWNoKCh5KSA9PiB7XHJcbiAgICAgICAgaWYgKCF5LmNvbm5lY3RlZFRvKSB7XHJcbiAgICAgICAgICB5LmNvbm5lY3RlZFRvID0gW3hdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAoIWNvZXJjZUFycmF5KHkuY29ubmVjdGVkVG8pLmluY2x1ZGVzKHgpKSB7XHJcbiAgICAgICAgICAgIGNvZXJjZUFycmF5KHkuY29ubmVjdGVkVG8pLnB1c2goeCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgY29uc29sZS5sb2codGhpcy5kcm9wTGlzdHMpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmRyb3BMaXN0cy5jbGVhcigpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -42,15 +42,15 @@ class XListOptionComponent extends XListOptionProperty {
42
42
  getLabel() {
43
43
  return this.label;
44
44
  }
45
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XListOptionComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
46
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: XListOptionComponent, selector: "x-list-option", host: { properties: { "attr.role": "this.role" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"x-list-option\"\r\n [ngClass]=\"classMap\"\r\n [class.x-selected]=\"selected\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-open-portal]=\"node?.openPortal\"\r\n [class.x-active]=\"active\"\r\n [class.x-list-icon]=\"icon\"\r\n [class.x-list-divided]=\"divided\"\r\n>\r\n <div class=\"x-list-option-content\">\r\n <ng-container *ngIf=\"!nodeTpl\">\r\n <x-icon [type]=\"icon\" *ngIf=\"icon\"></x-icon>\r\n <span x-keyword [text]=\"keywordText\" [caseSensitive]=\"caseSensitive\">{{ label }}</span>\r\n </ng-container>\r\n <ng-container *ngIf=\"nodeTpl\">\r\n <ng-template *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-template>\r\n </ng-container>\r\n </div>\r\n <x-icon class=\"x-list-leaf\" type=\"fto-chevron-right\" *ngIf=\"leaf\"></x-icon>\r\n <x-icon class=\"x-list-checked\" type=\"fto-check\" *ngIf=\"checked && !leaf && selected\"></x-icon>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list-option{display:block}.x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;transition:border-color var(--x-animation-duration-base),background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-list-option-content{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none;display:inline-block}.x-list-option:not(:first-child){margin-top:var(--x-border-width)}.x-list-option:hover:not(.x-disabled),.x-list-option.x-active:not(.x-disabled){background-color:var(--x-background-a200)}.x-list-option.x-list-divided{margin-top:.8125rem}.x-list-option.x-list-divided:before{content:\" \";position:absolute;top:0;left:0;width:100%;margin-top:-.5rem;border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-list-option.x-selected:not(.x-disabled){background-color:var(--x-background-a400);color:var(--x-primary)}.x-list-option.x-selected:not(.x-disabled)>x-icon{color:var(--x-primary)}.x-list-option.x-disabled{color:var(--x-text-500);cursor:not-allowed}.x-list-option.x-disabled:hover{background-color:inherit}.x-list-option.x-disabled>span x-icon{color:var(--x-text-500)}.x-list-option-big{padding:0 var(--x-padding-big);height:var(--x-height-big);line-height:var(--x-height-big)}.x-list-option-large{padding:0 var(--x-padding-large);height:var(--x-height-large);line-height:var(--x-height-large)}.x-list-option-medium{padding:0 var(--x-padding-medium);height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-list-option-small{padding:0 var(--x-padding-small);height:var(--x-height-small);line-height:var(--x-height-small)}.x-list-option-mini{padding:0 var(--x-padding-mini);height:var(--x-height-mini);line-height:var(--x-height-mini)}body>x-list-option{display:block}body>x-list-option.cdk-drag-preview .x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}body>x-list-option.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.XIconComponent, selector: "x-icon" }, { kind: "directive", type: i4.XKeywordDirective, selector: "[x-keyword]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
45
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XListOptionComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
46
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: XListOptionComponent, selector: "x-list-option", host: { properties: { "attr.role": "this.role" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"x-list-option\"\r\n [ngClass]=\"classMap\"\r\n [class.x-selected]=\"selected\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-open-portal]=\"node?.openPortal\"\r\n [class.x-active]=\"active\"\r\n [class.x-list-icon]=\"icon\"\r\n [class.x-list-divided]=\"divided\"\r\n>\r\n <div class=\"x-list-option-content\">\r\n <ng-container *ngIf=\"!nodeTpl\">\r\n <x-icon [type]=\"icon\" *ngIf=\"icon\"></x-icon>\r\n <span x-keyword [text]=\"keywordText\" [caseSensitive]=\"caseSensitive\">{{ label }}</span>\r\n </ng-container>\r\n <ng-container *ngIf=\"nodeTpl\">\r\n <ng-template *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-template>\r\n </ng-container>\r\n </div>\r\n <x-icon class=\"x-list-leaf\" type=\"fto-chevron-right\" *ngIf=\"leaf\"></x-icon>\r\n <x-icon class=\"x-list-checked\" type=\"fto-check\" *ngIf=\"checked && !leaf && selected\"></x-icon>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list-option{display:block}.x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;transition:border-color var(--x-animation-duration-base),background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-list-option-content{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none;display:inline-block}.x-list-option:not(:first-child){margin-top:var(--x-border-width)}.x-list-option:hover:not(.x-disabled),.x-list-option.x-active:not(.x-disabled){background-color:var(--x-background-a200)}.x-list-option.x-list-divided{margin-top:.8125rem}.x-list-option.x-list-divided:before{content:\" \";position:absolute;top:0;left:0;width:100%;margin-top:-.5rem;border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-list-option.x-selected:not(.x-disabled){background-color:var(--x-background-a400);color:var(--x-primary)}.x-list-option.x-selected:not(.x-disabled)>x-icon{color:var(--x-primary)}.x-list-option.x-disabled{color:var(--x-text-500);cursor:not-allowed}.x-list-option.x-disabled:hover{background-color:inherit}.x-list-option.x-disabled>span x-icon{color:var(--x-text-500)}.x-list-option-big{padding:0 var(--x-padding-big);height:var(--x-height-big);line-height:var(--x-height-big)}.x-list-option-large{padding:0 var(--x-padding-large);height:var(--x-height-large);line-height:var(--x-height-large)}.x-list-option-medium{padding:0 var(--x-padding-medium);height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-list-option-small{padding:0 var(--x-padding-small);height:var(--x-height-small);line-height:var(--x-height-small)}.x-list-option-mini{padding:0 var(--x-padding-mini);height:var(--x-height-mini);line-height:var(--x-height-mini)}body>x-list-option{display:block}body>x-list-option.cdk-drag-preview .x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}body>x-list-option.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.XIconComponent, selector: "x-icon" }, { kind: "directive", type: i4.XKeywordDirective, selector: "[x-keyword]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
47
47
  }
48
48
  export { XListOptionComponent };
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XListOptionComponent, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XListOptionComponent, decorators: [{
50
50
  type: Component,
51
51
  args: [{ selector: `${XListOptionPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"x-list-option\"\r\n [ngClass]=\"classMap\"\r\n [class.x-selected]=\"selected\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-open-portal]=\"node?.openPortal\"\r\n [class.x-active]=\"active\"\r\n [class.x-list-icon]=\"icon\"\r\n [class.x-list-divided]=\"divided\"\r\n>\r\n <div class=\"x-list-option-content\">\r\n <ng-container *ngIf=\"!nodeTpl\">\r\n <x-icon [type]=\"icon\" *ngIf=\"icon\"></x-icon>\r\n <span x-keyword [text]=\"keywordText\" [caseSensitive]=\"caseSensitive\">{{ label }}</span>\r\n </ng-container>\r\n <ng-container *ngIf=\"nodeTpl\">\r\n <ng-template *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-template>\r\n </ng-container>\r\n </div>\r\n <x-icon class=\"x-list-leaf\" type=\"fto-chevron-right\" *ngIf=\"leaf\"></x-icon>\r\n <x-icon class=\"x-list-checked\" type=\"fto-check\" *ngIf=\"checked && !leaf && selected\"></x-icon>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list-option{display:block}.x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;transition:border-color var(--x-animation-duration-base),background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-list-option-content{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none;display:inline-block}.x-list-option:not(:first-child){margin-top:var(--x-border-width)}.x-list-option:hover:not(.x-disabled),.x-list-option.x-active:not(.x-disabled){background-color:var(--x-background-a200)}.x-list-option.x-list-divided{margin-top:.8125rem}.x-list-option.x-list-divided:before{content:\" \";position:absolute;top:0;left:0;width:100%;margin-top:-.5rem;border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-list-option.x-selected:not(.x-disabled){background-color:var(--x-background-a400);color:var(--x-primary)}.x-list-option.x-selected:not(.x-disabled)>x-icon{color:var(--x-primary)}.x-list-option.x-disabled{color:var(--x-text-500);cursor:not-allowed}.x-list-option.x-disabled:hover{background-color:inherit}.x-list-option.x-disabled>span x-icon{color:var(--x-text-500)}.x-list-option-big{padding:0 var(--x-padding-big);height:var(--x-height-big);line-height:var(--x-height-big)}.x-list-option-large{padding:0 var(--x-padding-large);height:var(--x-height-large);line-height:var(--x-height-large)}.x-list-option-medium{padding:0 var(--x-padding-medium);height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-list-option-small{padding:0 var(--x-padding-small);height:var(--x-height-small);line-height:var(--x-height-small)}.x-list-option-mini{padding:0 var(--x-padding-mini);height:var(--x-height-mini);line-height:var(--x-height-mini)}body>x-list-option{display:block}body>x-list-option.cdk-drag-preview .x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}body>x-list-option.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"] }]
52
52
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { role: [{
53
53
  type: HostBinding,
54
54
  args: ['attr.role']
55
55
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvbGlzdC9saXN0LW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9saXN0L2xpc3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFdBQVcsRUFFWCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekUsT0FBTyxFQUFhLFdBQVcsRUFBa0IsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQUVyRixNQU9hLG9CQUFxQixTQUFRLG1CQUFtQjtJQUkzRCxZQUFtQixVQUFtQyxFQUFVLEdBQXNCLEVBQVMsYUFBNkI7UUFDMUgsS0FBSyxFQUFFLENBQUM7UUFEUyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVMsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBSGxHLFNBQUksR0FBRyxRQUFRLENBQUM7UUFDMUMsYUFBUSxHQUFjLEVBQUUsQ0FBQztJQUl6QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUk7WUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDM0IsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELFdBQVc7UUFDVCxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNoRixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFDRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQWUsQ0FBQztJQUM5QixDQUFDO2lJQXRDVSxvQkFBb0I7cUhBQXBCLG9CQUFvQixxSkNwQmpDLDA2QkFzQkE7O1NERmEsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0UsR0FBRyxpQkFBaUIsRUFBRSxpQkFHakIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs4SkFHckIsSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhMaXN0T3B0aW9uUHJlZml4LCBYTGlzdE9wdGlvblByb3BlcnR5IH0gZnJvbSAnLi9saXN0LnByb3BlcnR5JztcclxuaW1wb3J0IHsgSGlnaGxpZ2h0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcclxuaW1wb3J0IHsgWENsYXNzTWFwLCBYQ2xlYXJDbGFzcywgWENvbmZpZ1NlcnZpY2UsIFhJc0NoYW5nZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hMaXN0T3B0aW9uUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9saXN0LW9wdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhMaXN0T3B0aW9uQ29tcG9uZW50IGV4dGVuZHMgWExpc3RPcHRpb25Qcm9wZXJ0eSBpbXBsZW1lbnRzIEhpZ2hsaWdodGFibGUge1xyXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdvcHRpb24nO1xyXG4gIGNsYXNzTWFwOiBYQ2xhc3NNYXAgPSB7fTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMubm9kZSlcclxuICAgICAgdGhpcy5ub2RlLmNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH07XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IHNpemUgfSA9IGNoYW5nZXM7XHJcbiAgICBYSXNDaGFuZ2Uoc2l6ZSkgJiYgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICBYQ2xlYXJDbGFzcyh0aGlzLmNsYXNzTWFwKTtcclxuICAgIHRoaXMuY2xhc3NNYXBbYCR7WExpc3RPcHRpb25QcmVmaXh9LSR7dGhpcy5zaXplfWBdID0gdGhpcy5zaXplID8gdHJ1ZSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc2V0QWN0aXZlU3R5bGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xyXG4gICAgdGhpcy5hY3RpdmVDaGFuZ2UuZW1pdCh0aGlzLmFjdGl2ZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIHNldEluYWN0aXZlU3R5bGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcclxuICAgIHRoaXMuYWN0aXZlQ2hhbmdlLmVtaXQodGhpcy5hY3RpdmUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TGFiZWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5sYWJlbCBhcyBzdHJpbmc7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cIngtbGlzdC1vcHRpb25cIlxyXG4gIFtuZ0NsYXNzXT1cImNsYXNzTWFwXCJcclxuICBbY2xhc3MueC1zZWxlY3RlZF09XCJzZWxlY3RlZFwiXHJcbiAgW2NsYXNzLngtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gIFtjbGFzcy54LW9wZW4tcG9ydGFsXT1cIm5vZGU/Lm9wZW5Qb3J0YWxcIlxyXG4gIFtjbGFzcy54LWFjdGl2ZV09XCJhY3RpdmVcIlxyXG4gIFtjbGFzcy54LWxpc3QtaWNvbl09XCJpY29uXCJcclxuICBbY2xhc3MueC1saXN0LWRpdmlkZWRdPVwiZGl2aWRlZFwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwieC1saXN0LW9wdGlvbi1jb250ZW50XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW5vZGVUcGxcIj5cclxuICAgICAgPHgtaWNvbiBbdHlwZV09XCJpY29uXCIgKm5nSWY9XCJpY29uXCI+PC94LWljb24+XHJcbiAgICAgIDxzcGFuIHgta2V5d29yZCBbdGV4dF09XCJrZXl3b3JkVGV4dFwiIFtjYXNlU2Vuc2l0aXZlXT1cImNhc2VTZW5zaXRpdmVcIj57eyBsYWJlbCB9fTwvc3Bhbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vZGVUcGxcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZVRwbDsgY29udGV4dDogeyAkbm9kZTogbm9kZSB9XCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDx4LWljb24gY2xhc3M9XCJ4LWxpc3QtbGVhZlwiIHR5cGU9XCJmdG8tY2hldnJvbi1yaWdodFwiICpuZ0lmPVwibGVhZlwiPjwveC1pY29uPlxyXG4gIDx4LWljb24gY2xhc3M9XCJ4LWxpc3QtY2hlY2tlZFwiIHR5cGU9XCJmdG8tY2hlY2tcIiAqbmdJZj1cImNoZWNrZWQgJiYgIWxlYWYgJiYgc2VsZWN0ZWRcIj48L3gtaWNvbj5cclxuPC9kaXY+XHJcbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvbGlzdC9saXN0LW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9saXN0L2xpc3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFdBQVcsRUFFWCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekUsT0FBTyxFQUFhLFdBQVcsRUFBa0IsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQUVyRixNQU9hLG9CQUFxQixTQUFRLG1CQUFtQjtJQUkzRCxZQUFtQixVQUFtQyxFQUFVLEdBQXNCLEVBQVMsYUFBNkI7UUFDMUgsS0FBSyxFQUFFLENBQUM7UUFEUyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVMsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBSGxHLFNBQUksR0FBRyxRQUFRLENBQUM7UUFDMUMsYUFBUSxHQUFjLEVBQUUsQ0FBQztJQUl6QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUk7WUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDM0IsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELFdBQVc7UUFDVCxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNoRixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFDRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQWUsQ0FBQztJQUM5QixDQUFDO2tJQXRDVSxvQkFBb0I7c0hBQXBCLG9CQUFvQixxSkNwQmpDLDA2QkFzQkE7O1NERmEsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0UsR0FBRyxpQkFBaUIsRUFBRSxpQkFHakIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs4SkFHckIsSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhMaXN0T3B0aW9uUHJlZml4LCBYTGlzdE9wdGlvblByb3BlcnR5IH0gZnJvbSAnLi9saXN0LnByb3BlcnR5JztcclxuaW1wb3J0IHsgSGlnaGxpZ2h0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcclxuaW1wb3J0IHsgWENsYXNzTWFwLCBYQ2xlYXJDbGFzcywgWENvbmZpZ1NlcnZpY2UsIFhJc0NoYW5nZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hMaXN0T3B0aW9uUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9saXN0LW9wdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhMaXN0T3B0aW9uQ29tcG9uZW50IGV4dGVuZHMgWExpc3RPcHRpb25Qcm9wZXJ0eSBpbXBsZW1lbnRzIEhpZ2hsaWdodGFibGUge1xyXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdvcHRpb24nO1xyXG4gIGNsYXNzTWFwOiBYQ2xhc3NNYXAgPSB7fTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMubm9kZSlcclxuICAgICAgdGhpcy5ub2RlLmNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH07XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IHNpemUgfSA9IGNoYW5nZXM7XHJcbiAgICBYSXNDaGFuZ2Uoc2l6ZSkgJiYgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICBYQ2xlYXJDbGFzcyh0aGlzLmNsYXNzTWFwKTtcclxuICAgIHRoaXMuY2xhc3NNYXBbYCR7WExpc3RPcHRpb25QcmVmaXh9LSR7dGhpcy5zaXplfWBdID0gdGhpcy5zaXplID8gdHJ1ZSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc2V0QWN0aXZlU3R5bGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xyXG4gICAgdGhpcy5hY3RpdmVDaGFuZ2UuZW1pdCh0aGlzLmFjdGl2ZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIHNldEluYWN0aXZlU3R5bGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcclxuICAgIHRoaXMuYWN0aXZlQ2hhbmdlLmVtaXQodGhpcy5hY3RpdmUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TGFiZWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5sYWJlbCBhcyBzdHJpbmc7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cIngtbGlzdC1vcHRpb25cIlxyXG4gIFtuZ0NsYXNzXT1cImNsYXNzTWFwXCJcclxuICBbY2xhc3MueC1zZWxlY3RlZF09XCJzZWxlY3RlZFwiXHJcbiAgW2NsYXNzLngtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gIFtjbGFzcy54LW9wZW4tcG9ydGFsXT1cIm5vZGU/Lm9wZW5Qb3J0YWxcIlxyXG4gIFtjbGFzcy54LWFjdGl2ZV09XCJhY3RpdmVcIlxyXG4gIFtjbGFzcy54LWxpc3QtaWNvbl09XCJpY29uXCJcclxuICBbY2xhc3MueC1saXN0LWRpdmlkZWRdPVwiZGl2aWRlZFwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwieC1saXN0LW9wdGlvbi1jb250ZW50XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW5vZGVUcGxcIj5cclxuICAgICAgPHgtaWNvbiBbdHlwZV09XCJpY29uXCIgKm5nSWY9XCJpY29uXCI+PC94LWljb24+XHJcbiAgICAgIDxzcGFuIHgta2V5d29yZCBbdGV4dF09XCJrZXl3b3JkVGV4dFwiIFtjYXNlU2Vuc2l0aXZlXT1cImNhc2VTZW5zaXRpdmVcIj57eyBsYWJlbCB9fTwvc3Bhbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vZGVUcGxcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZVRwbDsgY29udGV4dDogeyAkbm9kZTogbm9kZSB9XCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDx4LWljb24gY2xhc3M9XCJ4LWxpc3QtbGVhZlwiIHR5cGU9XCJmdG8tY2hldnJvbi1yaWdodFwiICpuZ0lmPVwibGVhZlwiPjwveC1pY29uPlxyXG4gIDx4LWljb24gY2xhc3M9XCJ4LWxpc3QtY2hlY2tlZFwiIHR5cGU9XCJmdG8tY2hlY2tcIiAqbmdJZj1cImNoZWNrZWQgJiYgIWxlYWYgJiYgc2VsZWN0ZWRcIj48L3gtaWNvbj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -345,11 +345,11 @@ class XListComponent extends XListProperty {
345
345
  if (num > -1)
346
346
  this.nodes[num].active = false;
347
347
  }
348
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XListComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.XConfigService }, { token: i2.XI18nService }, { token: X_LIST_DROP_GROUP, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
349
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: XListComponent, selector: "x-list", host: { listeners: { "keydown": "keydown($event)" }, properties: { "attr.role": "this.role", "attr.tabindex": "this.tabindex" } }, providers: [XValueAccessor(XListComponent)], viewQueries: [{ propertyName: "headerRef", first: true, predicate: ["headerRef"], descendants: true }, { propertyName: "footerRef", first: true, predicate: ["footerRef"], descendants: true }, { propertyName: "selectAllRef", first: true, predicate: ["selectAllRef"], descendants: true }, { propertyName: "loadMoreRef", first: true, predicate: ["loadMoreRef"], descendants: true }, { propertyName: "virtualBody", first: true, predicate: ["virtualBody"], descendants: true }, { propertyName: "dropList", first: true, predicate: CdkDropList, descendants: true }, { propertyName: "listItems", first: true, predicate: ["listItems"], descendants: true }, { propertyName: "options", predicate: XListOptionComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-list\">\r\n <ng-container *ngIf=\"header\">\r\n <div #headerRef class=\"x-list-header\" *xOutlet=\"header\">{{ header }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectAll && multiple === 0\">\r\n <div #selectAllRef class=\"x-list-select-all\">\r\n <x-list-option\r\n [size]=\"size\"\r\n [label]=\"getSelectAllText\"\r\n [checked]=\"true\"\r\n [selected]=\"isSelectAll\"\r\n (click)=\"onSelectAllNodes()\"\r\n ></x-list-option>\r\n </div>\r\n </ng-container>\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n *ngIf=\"virtualScroll; else contentTpl\"\r\n [itemSize]=\"getItemSize\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n class=\"x-list-content\"\r\n [style.height.px]=\"getVirtualScrollHeight\"\r\n [hidden]=\"isEmpty\"\r\n >\r\n <x-list-option\r\n *cdkVirtualFor=\"let node of nodes; trackBy: trackByNode\"\r\n [node]=\"node\"\r\n [checked]=\"checked\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [selected]=\"node.selected\"\r\n [disabled]=\"node.disabled\"\r\n [openPortal]=\"node.openPortal\"\r\n [(active)]=\"node.active\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf\"\r\n [size]=\"size\"\r\n [keywordText]=\"keywordText\"\r\n [caseSensitive]=\"caseSensitive\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n </cdk-virtual-scroll-viewport>\r\n\r\n <ng-container *ngIf=\"loadMore && !isEmpty\">\r\n <div #loadMoreRef class=\"x-list-load-more\">\r\n <x-list-option [size]=\"size\" [nodeTpl]=\"loadMoreTpl\" (click)=\"onLoadMore()\"></x-list-option>\r\n </div>\r\n <ng-template #loadMoreTpl>\r\n <x-icon *ngIf=\"icon && iconSpin\" [type]=\"icon\" [spin]=\"iconSpin\"></x-icon>\r\n {{ icon && iconSpin ? getLoadingMoreText : getLoadMoreText }}\r\n </ng-template>\r\n </ng-container>\r\n <x-empty *ngIf=\"isEmpty\"></x-empty>\r\n <ng-container *ngIf=\"footer\">\r\n <div #footerRef class=\"x-list-footer\" *xOutlet=\"footer\">{{ footer }}</div>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #contentTpl>\r\n <div\r\n class=\"x-list-content\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListDisabled]=\"!drag\"\r\n [hidden]=\"isEmpty\"\r\n [cdkDropListData]=\"nodes\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n >\r\n <x-list-option\r\n *ngFor=\"let node of nodes; trackBy: trackByNode\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"node.disabled\"\r\n [node]=\"node\"\r\n [checked]=\"checked\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [selected]=\"node.selected\"\r\n [disabled]=\"node.disabled\"\r\n [(active)]=\"node.active\"\r\n [openPortal]=\"node.openPortal\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf\"\r\n [size]=\"size\"\r\n [keywordText]=\"keywordText\"\r\n [caseSensitive]=\"caseSensitive\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";x-list{width:100%}x-list:focus{outline:none}.x-list{margin:0;padding:0;width:100%}.x-list:focus{outline:none}.x-list-select-all{cursor:pointer;font-weight:700}.x-list-load-more,.x-list-content{cursor:pointer}.x-list-content.cdk-drop-list-dragging x-list-option.cdk-drag-placeholder .x-list-option{border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}.x-list-content.cdk-drop-list-dragging x-list-option:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-list-header,.x-list-footer{padding:0 .4rem;height:calc(var(--x-font-size) + 1rem);line-height:calc(var(--x-font-size) + 1rem);font-weight:700}.x-list-leaf,.x-list-checked{right:0;margin-left:.4rem;color:var(--x-text-400)}.x-list-icon>span x-icon{color:var(--x-text-300);margin-right:.25rem}.x-list>x-empty{margin:1rem;display:block}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i5.XIconComponent, selector: "x-icon" }, { kind: "component", type: i6.XEmptyComponent, selector: "x-empty" }, { kind: "directive", type: i7.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "directive", type: i8.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i8.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i8.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: i9.XListOptionComponent, selector: "x-list-option" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
348
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XListComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.XConfigService }, { token: i2.XI18nService }, { token: X_LIST_DROP_GROUP, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
349
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: XListComponent, selector: "x-list", host: { listeners: { "keydown": "keydown($event)" }, properties: { "attr.role": "this.role", "attr.tabindex": "this.tabindex" } }, providers: [XValueAccessor(XListComponent)], viewQueries: [{ propertyName: "headerRef", first: true, predicate: ["headerRef"], descendants: true }, { propertyName: "footerRef", first: true, predicate: ["footerRef"], descendants: true }, { propertyName: "selectAllRef", first: true, predicate: ["selectAllRef"], descendants: true }, { propertyName: "loadMoreRef", first: true, predicate: ["loadMoreRef"], descendants: true }, { propertyName: "virtualBody", first: true, predicate: ["virtualBody"], descendants: true }, { propertyName: "dropList", first: true, predicate: CdkDropList, descendants: true }, { propertyName: "listItems", first: true, predicate: ["listItems"], descendants: true }, { propertyName: "options", predicate: XListOptionComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-list\">\r\n <ng-container *ngIf=\"header\">\r\n <div #headerRef class=\"x-list-header\" *xOutlet=\"header\">{{ header }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectAll && multiple === 0\">\r\n <div #selectAllRef class=\"x-list-select-all\">\r\n <x-list-option\r\n [size]=\"size\"\r\n [label]=\"getSelectAllText\"\r\n [checked]=\"true\"\r\n [selected]=\"isSelectAll\"\r\n (click)=\"onSelectAllNodes()\"\r\n ></x-list-option>\r\n </div>\r\n </ng-container>\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n *ngIf=\"virtualScroll; else contentTpl\"\r\n [itemSize]=\"getItemSize\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n class=\"x-list-content\"\r\n [style.height.px]=\"getVirtualScrollHeight\"\r\n [hidden]=\"isEmpty\"\r\n >\r\n <x-list-option\r\n *cdkVirtualFor=\"let node of nodes; trackBy: trackByNode\"\r\n [node]=\"node\"\r\n [checked]=\"checked\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [selected]=\"node.selected\"\r\n [disabled]=\"node.disabled\"\r\n [openPortal]=\"node.openPortal\"\r\n [(active)]=\"node.active\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf\"\r\n [size]=\"size\"\r\n [keywordText]=\"keywordText\"\r\n [caseSensitive]=\"caseSensitive\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n </cdk-virtual-scroll-viewport>\r\n\r\n <ng-container *ngIf=\"loadMore && !isEmpty\">\r\n <div #loadMoreRef class=\"x-list-load-more\">\r\n <x-list-option [size]=\"size\" [nodeTpl]=\"loadMoreTpl\" (click)=\"onLoadMore()\"></x-list-option>\r\n </div>\r\n <ng-template #loadMoreTpl>\r\n <x-icon *ngIf=\"icon && iconSpin\" [type]=\"icon\" [spin]=\"iconSpin\"></x-icon>\r\n {{ icon && iconSpin ? getLoadingMoreText : getLoadMoreText }}\r\n </ng-template>\r\n </ng-container>\r\n <x-empty *ngIf=\"isEmpty\"></x-empty>\r\n <ng-container *ngIf=\"footer\">\r\n <div #footerRef class=\"x-list-footer\" *xOutlet=\"footer\">{{ footer }}</div>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #contentTpl>\r\n <div\r\n class=\"x-list-content\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListDisabled]=\"!drag\"\r\n [hidden]=\"isEmpty\"\r\n [cdkDropListData]=\"nodes\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n >\r\n <x-list-option\r\n *ngFor=\"let node of nodes; trackBy: trackByNode\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"node.disabled\"\r\n [node]=\"node\"\r\n [checked]=\"checked\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [selected]=\"node.selected\"\r\n [disabled]=\"node.disabled\"\r\n [(active)]=\"node.active\"\r\n [openPortal]=\"node.openPortal\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf\"\r\n [size]=\"size\"\r\n [keywordText]=\"keywordText\"\r\n [caseSensitive]=\"caseSensitive\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";x-list{width:100%}x-list:focus{outline:none}.x-list{margin:0;padding:0;width:100%}.x-list:focus{outline:none}.x-list-select-all{cursor:pointer;font-weight:700}.x-list-load-more,.x-list-content{cursor:pointer}.x-list-content.cdk-drop-list-dragging x-list-option.cdk-drag-placeholder .x-list-option{border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}.x-list-content.cdk-drop-list-dragging x-list-option:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-list-header,.x-list-footer{padding:0 .4rem;height:calc(var(--x-font-size) + 1rem);line-height:calc(var(--x-font-size) + 1rem);font-weight:700}.x-list-leaf,.x-list-checked{right:0;margin-left:.4rem;color:var(--x-text-400)}.x-list-icon>span x-icon{color:var(--x-text-300);margin-right:.25rem}.x-list>x-empty{margin:1rem;display:block}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i5.XIconComponent, selector: "x-icon" }, { kind: "component", type: i6.XEmptyComponent, selector: "x-empty" }, { kind: "directive", type: i7.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "directive", type: i8.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i8.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i8.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: i9.XListOptionComponent, selector: "x-list-option" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
350
350
  }
351
351
  export { XListComponent };
352
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XListComponent, decorators: [{
352
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XListComponent, decorators: [{
353
353
  type: Component,
354
354
  args: [{ selector: `${XListPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XListComponent)], template: "<div class=\"x-list\">\r\n <ng-container *ngIf=\"header\">\r\n <div #headerRef class=\"x-list-header\" *xOutlet=\"header\">{{ header }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectAll && multiple === 0\">\r\n <div #selectAllRef class=\"x-list-select-all\">\r\n <x-list-option\r\n [size]=\"size\"\r\n [label]=\"getSelectAllText\"\r\n [checked]=\"true\"\r\n [selected]=\"isSelectAll\"\r\n (click)=\"onSelectAllNodes()\"\r\n ></x-list-option>\r\n </div>\r\n </ng-container>\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n *ngIf=\"virtualScroll; else contentTpl\"\r\n [itemSize]=\"getItemSize\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n class=\"x-list-content\"\r\n [style.height.px]=\"getVirtualScrollHeight\"\r\n [hidden]=\"isEmpty\"\r\n >\r\n <x-list-option\r\n *cdkVirtualFor=\"let node of nodes; trackBy: trackByNode\"\r\n [node]=\"node\"\r\n [checked]=\"checked\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [selected]=\"node.selected\"\r\n [disabled]=\"node.disabled\"\r\n [openPortal]=\"node.openPortal\"\r\n [(active)]=\"node.active\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf\"\r\n [size]=\"size\"\r\n [keywordText]=\"keywordText\"\r\n [caseSensitive]=\"caseSensitive\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n </cdk-virtual-scroll-viewport>\r\n\r\n <ng-container *ngIf=\"loadMore && !isEmpty\">\r\n <div #loadMoreRef class=\"x-list-load-more\">\r\n <x-list-option [size]=\"size\" [nodeTpl]=\"loadMoreTpl\" (click)=\"onLoadMore()\"></x-list-option>\r\n </div>\r\n <ng-template #loadMoreTpl>\r\n <x-icon *ngIf=\"icon && iconSpin\" [type]=\"icon\" [spin]=\"iconSpin\"></x-icon>\r\n {{ icon && iconSpin ? getLoadingMoreText : getLoadMoreText }}\r\n </ng-template>\r\n </ng-container>\r\n <x-empty *ngIf=\"isEmpty\"></x-empty>\r\n <ng-container *ngIf=\"footer\">\r\n <div #footerRef class=\"x-list-footer\" *xOutlet=\"footer\">{{ footer }}</div>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #contentTpl>\r\n <div\r\n class=\"x-list-content\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListDisabled]=\"!drag\"\r\n [hidden]=\"isEmpty\"\r\n [cdkDropListData]=\"nodes\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n >\r\n <x-list-option\r\n *ngFor=\"let node of nodes; trackBy: trackByNode\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"node.disabled\"\r\n [node]=\"node\"\r\n [checked]=\"checked\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [selected]=\"node.selected\"\r\n [disabled]=\"node.disabled\"\r\n [(active)]=\"node.active\"\r\n [openPortal]=\"node.openPortal\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf\"\r\n [size]=\"size\"\r\n [keywordText]=\"keywordText\"\r\n [caseSensitive]=\"caseSensitive\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";x-list{width:100%}x-list:focus{outline:none}.x-list{margin:0;padding:0;width:100%}.x-list:focus{outline:none}.x-list-select-all{cursor:pointer;font-weight:700}.x-list-load-more,.x-list-content{cursor:pointer}.x-list-content.cdk-drop-list-dragging x-list-option.cdk-drag-placeholder .x-list-option{border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}.x-list-content.cdk-drop-list-dragging x-list-option:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-list-header,.x-list-footer{padding:0 .4rem;height:calc(var(--x-font-size) + 1rem);line-height:calc(var(--x-font-size) + 1rem);font-weight:700}.x-list-leaf,.x-list-checked{right:0;margin-left:.4rem;color:var(--x-text-400)}.x-list-icon>span x-icon{color:var(--x-text-300);margin-right:.25rem}.x-list>x-empty{margin:1rem;display:block}\n"] }]
355
355
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.XConfigService }, { type: i2.XI18nService }, { type: i10.XListDropGroup, decorators: [{
@@ -393,4 +393,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
393
393
  type: HostListener,
394
394
  args: ['keydown', ['$event']]
395
395
  }] } });
396
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9saXN0L2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvbGlzdC9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBT3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFlBQVksRUFDWixRQUFRLEVBQ1IsTUFBTSxFQUNOLFFBQVEsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFhLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFrQixRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7QUFDbEksT0FBTyxFQUF3QixXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd2RCxPQUFPLEVBQWtCLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7OztBQUVoRixNQVFhLGNBQWUsU0FBUSxh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Y0FBYztnQkFDQyxXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ0UsV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhO2dCQUNBLFFBQVE7c0JBQS9CLFNBQVM7dUJBQUMsV0FBVztnQkFDRSxTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBRXRCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxvQkFBb0I7Z0JBVVIsSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXO2dCQUNNLFFBQVE7c0JBQXJDLFdBQVc7dUJBQUMsZUFBZTtnQkFFUyxPQUFPO3NCQUEzQyxZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBRdWVyeUxpc3QsXHJcbiAgRWxlbWVudFJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIFZpZXdDaGlsZHJlbixcclxuICBPcHRpb25hbCxcclxuICBJbmplY3QsXHJcbiAgU2tpcFNlbGZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWExpc3RQcmVmaXgsIFhMaXN0Tm9kZSwgWExpc3RQcm9wZXJ0eSB9IGZyb20gJy4vbGlzdC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJc0NoYW5nZSwgWFNldERhdGEsIFhDb25maWdTZXJ2aWNlLCBYSXNFbXB0eSwgWElzVW5kZWZpbmVkLCBYSXNOdWxsLCBYUmVzaXplLCBYUmVzaXplT2JzZXJ2ZXIgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgQ2RrRHJhZywgQ2RrRHJhZ0Ryb3AsIENka0Ryb3BMaXN0LCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgWExpc3RPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL2xpc3Qtb3B0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xyXG5pbXBvcnQgeyBFTlRFUiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XHJcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsLCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFhWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuaW1wb3J0IHsgWEkxOG5MaXN0LCBYSTE4blNlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XHJcbmltcG9ydCB7IFhMaXN0RHJvcEdyb3VwLCBYX0xJU1RfRFJPUF9HUk9VUCB9IGZyb20gJy4vbGlzdC1kcm9wLWdyb3VwLmRpcmVjdGl2ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WExpc3RQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbWFZhbHVlQWNjZXNzb3IoWExpc3RDb21wb25lbnQpXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWExpc3RDb21wb25lbnQgZXh0ZW5kcyBYTGlzdFByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIG5vZGVzOiBYTGlzdE5vZGVbXSA9IFtdO1xyXG4gIHNlbGVjdGVkTm9kZXM6IFhMaXN0Tm9kZVtdID0gW107XHJcbiAgQFZpZXdDaGlsZCgnaGVhZGVyUmVmJykgaGVhZGVyUmVmITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnZm9vdGVyUmVmJykgZm9vdGVyUmVmITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnc2VsZWN0QWxsUmVmJykgc2VsZWN0QWxsUmVmITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnbG9hZE1vcmVSZWYnKSBsb2FkTW9yZVJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ3ZpcnR1YWxCb2R5JykgdmlydHVhbEJvZHkhOiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XHJcbiAgQFZpZXdDaGlsZChDZGtEcm9wTGlzdCkgZHJvcExpc3QhOiBDZGtEcm9wTGlzdDtcclxuICBAVmlld0NoaWxkKCdsaXN0SXRlbXMnKSBsaXN0SXRlbXMhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkcmVuKFhMaXN0T3B0aW9uQ29tcG9uZW50KVxyXG4gIG9wdGlvbnMhOiBRdWVyeUxpc3Q8WExpc3RPcHRpb25Db21wb25lbnQ+O1xyXG4gIGtleU1hbmFnZXIhOiBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcjxYTGlzdE9wdGlvbkNvbXBvbmVudD47XHJcbiAgaXNTZWxlY3RBbGwgPSBmYWxzZTtcclxuICBsb2NhbGU6IFhJMThuTGlzdCA9IHt9O1xyXG4gIGxvYWRNb3JlSW5kZXggPSAwO1xyXG4gIGljb246IHN0cmluZyA9ICcnO1xyXG4gIGljb25TcGluOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXIhOiBYUmVzaXplT2JzZXJ2ZXI7XHJcblxyXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdsaXN0Ym94JztcclxuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKSB0YWJpbmRleCA9IC0xO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSkga2V5ZG93bigkZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIHRoaXMua2V5TWFuYWdlci5vbktleWRvd24oJGV2ZW50KTtcclxuICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gdGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCBhcyBudW1iZXI7XHJcbiAgICBpZiAoJGV2ZW50LmtleUNvZGUgPT09IEVOVEVSICYmICFYSXNVbmRlZmluZWQoYWN0aXZlSW5kZXgpKSB7XHJcbiAgICAgIHRoaXMuc2V0VW5BY3RpdmUoYWN0aXZlSW5kZXgpO1xyXG4gICAgICB0aGlzLm9uTm9kZUNsaWNrKCRldmVudCwgdGhpcy5ub2Rlc1thY3RpdmVJbmRleF0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXRlbVNpemVNYXA6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0gPSB7XHJcbiAgICBtaW5pOiAyMixcclxuICAgIHNtYWxsOiAyNCxcclxuICAgIG1lZGl1bTogMjgsXHJcbiAgICBsYXJnZTogMzIsXHJcbiAgICBiaWc6IDM2XHJcbiAgfTtcclxuXHJcbiAgZ2V0IGdldEl0ZW1TaXplKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbVNpemVNYXBbdGhpcy5zaXplXTtcclxuICB9XHJcblxyXG4gIGdldCBpc0VtcHR5KCkge1xyXG4gICAgcmV0dXJuIFhJc0VtcHR5KHRoaXMubm9kZXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdldFNlbGVjdEFsbFRleHQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RBbGxUZXh0IHx8IHRoaXMubG9jYWxlLnNlbGVjdEFsbFRleHQ7XHJcbiAgfVxyXG5cclxuICBnZXQgZ2V0TG9hZE1vcmVUZXh0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMubG9hZE1vcmVUZXh0IHx8IHRoaXMubG9jYWxlLmxvYWRNb3JlVGV4dDtcclxuICB9XHJcblxyXG4gIGdldCBnZXRMb2FkaW5nTW9yZVRleHQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5sb2FkaW5nTW9yZVRleHQgfHwgdGhpcy5sb2NhbGUubG9hZGluZ01vcmVUZXh0O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdldFZpcnR1YWxTY3JvbGxIZWlnaHQoKSB7XHJcbiAgICBsZXQgaGVhZGVySCA9IDAsXHJcbiAgICAgIGZvb3RlckggPSAwLFxyXG4gICAgICBzZWxlY3RBbGxIID0gMCxcclxuICAgICAgbG9hZE1vcmVIID0gMDtcclxuICAgIGlmICh0aGlzLmhlYWRlclJlZikgaGVhZGVySCA9IHRoaXMuaGVhZGVyUmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgaWYgKHRoaXMuZm9vdGVyUmVmKSBmb290ZXJIID0gdGhpcy5mb290ZXJSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RBbGxSZWYpIHNlbGVjdEFsbEggPSB0aGlzLnNlbGVjdEFsbFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuICAgIGlmICh0aGlzLmxvYWRNb3JlUmVmKSBsb2FkTW9yZUggPSB0aGlzLmxvYWRNb3JlUmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xyXG5cclxuICAgIHJldHVybiBOdW1iZXIodGhpcy5zY3JvbGxIZWlnaHQpIC0gaGVhZGVySCAtIGZvb3RlckggLSBzZWxlY3RBbGxIIC0gbG9hZE1vcmVIO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLnNldFNlbGVjdGVkKCk7XHJcbiAgICB0aGlzLnNldEtleU1hbmFnZXIoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgb3ZlcnJpZGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgaTE4bjogWEkxOG5TZXJ2aWNlLFxyXG4gICAgQE9wdGlvbmFsKClcclxuICAgIEBJbmplY3QoWF9MSVNUX0RST1BfR1JPVVApXHJcbiAgICBAU2tpcFNlbGYoKVxyXG4gICAgcHJpdmF0ZSBncm91cD86IFhMaXN0RHJvcEdyb3VwXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeCkgPT4geC5saXN0IGFzIFhJMThuTGlzdCksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2NhbGUgPSB4O1xyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgZGF0YSB9ID0gY2hhbmdlcztcclxuICAgIFhJc0NoYW5nZShkYXRhKSAmJiB0aGlzLnNldERhdGEoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuaW5pdEtleU1hbmFnZXIoKTtcclxuICAgIGlmICh0aGlzLnZpcnR1YWxTY3JvbGwgJiYgdGhpcy5oZWlnaHRBZGFwdGlvbikge1xyXG4gICAgICB0aGlzLnNldFZpcnR1YWxTY3JvbGxIZWlnaHQoKTtcclxuICAgICAgWFJlc2l6ZSh0aGlzLmhlaWdodEFkYXB0aW9uIGFzIEhUTUxFbGVtZW50KVxyXG4gICAgICAgIC5waXBlKGRlYm91bmNlVGltZSgzMCksIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyID0geC5yZXNpemVPYnNlcnZlcjtcclxuICAgICAgICAgIHRoaXMuc2V0VmlydHVhbFNjcm9sbEhlaWdodCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZ3JvdXAgJiYgdGhpcy5kcm9wTGlzdCkge1xyXG4gICAgICB0aGlzLmdyb3VwLmRyb3BMaXN0cy5hZGQodGhpcy5kcm9wTGlzdCk7XHJcbiAgICAgIHRoaXMuZ3JvdXAuc2V0Q29ubmVjdGVkVG8oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcclxuICAgIHRoaXMuZ3JvdXA/LmRyb3BMaXN0cy5kZWxldGUodGhpcy5kcm9wTGlzdCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFZpcnR1YWxTY3JvbGxIZWlnaHQoKSB7XHJcbiAgICB0aGlzLnNjcm9sbEhlaWdodCA9ICh0aGlzLmhlaWdodEFkYXB0aW9uIGFzIEhUTUxFbGVtZW50KS5jbGllbnRIZWlnaHQ7XHJcbiAgICB0aGlzLm1pbkJ1ZmZlclB4ID0gdGhpcy5nZXRWaXJ0dWFsU2Nyb2xsSGVpZ2h0O1xyXG4gICAgdGhpcy5tYXhCdWZmZXJQeCA9IHRoaXMuZ2V0VmlydHVhbFNjcm9sbEhlaWdodCAqIDEuMjtcclxuICAgIHRoaXMudmlydHVhbEJvZHlbJ19zY3JvbGxTdHJhdGVneSddWydfbWluQnVmZmVyUHgnXSA9IHRoaXMubWluQnVmZmVyUHg7XHJcbiAgICB0aGlzLnZpcnR1YWxCb2R5Wydfc2Nyb2xsU3RyYXRlZ3knXVsnX21heEJ1ZmZlclB4J10gPSB0aGlzLm1heEJ1ZmZlclB4O1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXREYXRhKCkge1xyXG4gICAgaWYgKHRoaXMubG9hZE1vcmUpIHtcclxuICAgICAgdGhpcy5pY29uID0gJ2Z0by1sb2FkZXInO1xyXG4gICAgICB0aGlzLmljb25TcGluID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIFhTZXREYXRhPFhMaXN0Tm9kZT4odGhpcy5kYXRhLCB0aGlzLl91blN1YmplY3QsIHRydWUsIHRoaXMubG9hZE1vcmVJbmRleCkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmxvYWRNb3JlKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlcyA9IFsuLi50aGlzLm5vZGVzLCAuLi54XTtcclxuICAgICAgICB0aGlzLmljb24gPSAnJztcclxuICAgICAgICB0aGlzLmljb25TcGluID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ub2RlcyA9IHg7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZXRTZWxlY3RlZCgpO1xyXG4gICAgICB0aGlzLnNldEtleU1hbmFnZXIoKTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRLZXlNYW5hZ2VyKCkge1xyXG4gICAgdGhpcy5rZXlNYW5hZ2VyID0gbmV3IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyPFhMaXN0T3B0aW9uQ29tcG9uZW50Pih0aGlzLm9wdGlvbnMpLndpdGhXcmFwKCk7XHJcblxyXG4gICAgdGhpcy5rZXlNYW5hZ2VyLnRhYk91dC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNldFVuQWN0aXZlKHRoaXMua2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXggYXMgbnVtYmVyKTtcclxuICAgICAgdGhpcy5rZXlNYW5hZ2VyVGFiT3V0LmVtaXQoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMua2V5TWFuYWdlci5jaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKChudW06IG51bWJlcikgPT4ge1xyXG4gICAgICB0aGlzLnNldFNjb3JsbFRvcChudW0pO1xyXG4gICAgICB0aGlzLmtleU1hbmFnZXJDaGFuZ2UuZW1pdChudW0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRTY29ybGxUb3AoX251bTogbnVtYmVyKSB7XHJcbiAgICBpZiAoIXRoaXMuc2Nyb2xsRWxlbWVudCB8fCAhdGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0pIHJldHVybjtcclxuICAgIGxldCBlbGUgPSB0aGlzLmtleU1hbmFnZXIuYWN0aXZlSXRlbSEuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgbGV0IGxpc3QgPSB0aGlzLnNjcm9sbEVsZW1lbnQ7XHJcbiAgICBsZXQgbWluID0gbGlzdC5zY3JvbGxUb3A7XHJcbiAgICBsZXQgbWF4ID0gbGlzdC5zY3JvbGxUb3AgKyBsaXN0LmNsaWVudEhlaWdodDtcclxuICAgIGlmIChlbGUub2Zmc2V0VG9wICsgZWxlLmNsaWVudEhlaWdodCA+IG1heCkge1xyXG4gICAgICBsZXQgc2Nyb2xsVG9wID0gZWxlLm9mZnNldFRvcCArIGVsZS5jbGllbnRIZWlnaHQgLSBsaXN0LmNsaWVudEhlaWdodDtcclxuICAgICAgbGlzdC5zY3JvbGxUb3AgPSBzY3JvbGxUb3A7XHJcbiAgICB9XHJcbiAgICBpZiAoZWxlLm9mZnNldFRvcCA8IG1pbikge1xyXG4gICAgICBsaXN0LnNjcm9sbFRvcCA9IGVsZS5vZmZzZXRUb3A7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3RlZCgpIHtcclxuICAgIGlmICh0aGlzLm5vZGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5ub2Rlc1xyXG4gICAgICAgIC5maWx0ZXIoKHgpID0+IHguc2VsZWN0ZWQpXHJcbiAgICAgICAgLm1hcCgoeCkgPT4ge1xyXG4gICAgICAgICAgeC5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICBsZXQgdmFsQXJyeTogYW55W10gPSBbXTtcclxuICAgICAgaWYgKHRoaXMudmFsdWUgaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICAgIHZhbEFycnkgPSB0aGlzLnZhbHVlO1xyXG4gICAgICAgIGlmICh2YWxBcnJ5Lmxlbmd0aCA9PT0gdGhpcy5ub2Rlcy5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMuaXNTZWxlY3RBbGwgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB2YWxBcnJ5ID0gW3RoaXMudmFsdWVdO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgaWRzID0gW107XHJcbiAgICAgIGxldCBzZWxlY3RlZE5vZGVzID0gW107XHJcbiAgICAgIGlmICh0aGlzLm9iamVjdEFycmF5KSB7XHJcbiAgICAgICAgaWRzID0gdmFsQXJyeS5maWx0ZXIoKHgpID0+ICFYSXNVbmRlZmluZWQoeCkgJiYgIVhJc051bGwoeCkpLm1hcCgoeCkgPT4geC5pZCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWRzID0gdmFsQXJyeTtcclxuICAgICAgfVxyXG4gICAgICBmb3IgKGxldCBpZCBvZiBpZHMpIHtcclxuICAgICAgICBsZXQgbm9kZSA9IHRoaXMubm9kZXMuZmluZCgoeCkgPT4geC5pZCA9PT0gaWQpO1xyXG4gICAgICAgIGlmIChub2RlKSB7XHJcbiAgICAgICAgICBub2RlLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICAgIHNlbGVjdGVkTm9kZXMucHVzaChub2RlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gc2VsZWN0ZWROb2RlcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEtleU1hbmFnZXIoKSB7XHJcbiAgICBpZiAoWElzVW5kZWZpbmVkKHRoaXMua2V5TWFuYWdlcikgfHwgWElzVW5kZWZpbmVkKHRoaXMubm9kZXMpIHx8IHRoaXMubm9kZXMubGVuZ3RoID09PSAwKSByZXR1cm47XHJcbiAgICBsZXQgYWN0aXZlSW5kZXggPSAwO1xyXG4gICAgaWYgKFhJc0VtcHR5KHRoaXMudmFsdWUpKSB7XHJcbiAgICAgIHRoaXMua2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKGFjdGl2ZUluZGV4KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IHZhbEFycnk6IGFueVtdID0gW107XHJcbiAgICBpZiAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgIHZhbEFycnkgPSB0aGlzLnZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdmFsQXJyeSA9IFt0aGlzLnZhbHVlXTtcclxuICAgIH1cclxuICAgIGNvbnN0IGZpcnN0ID0gdmFsQXJyeVswXTtcclxuICAgIGlmICh0aGlzLm9iamVjdEFycmF5KSB7XHJcbiAgICAgIGFjdGl2ZUluZGV4ID0gdGhpcy5ub2Rlcy5maW5kSW5kZXgoKHgpID0+IHguaWQgPT09IGZpcnN0LmlkKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGFjdGl2ZUluZGV4ID0gdGhpcy5ub2Rlcy5maW5kSW5kZXgoKHgpID0+IHguaWQgPT09IGZpcnN0KTtcclxuICAgIH1cclxuICAgIHRoaXMua2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKGFjdGl2ZUluZGV4KTtcclxuICAgIHRoaXMuc2V0U2NvcmxsVG9wKGFjdGl2ZUluZGV4KTtcclxuICB9XHJcblxyXG4gIG9uTm9kZUNsaWNrKGV2ZW50OiBFdmVudCwgbm9kZTogWExpc3ROb2RlKSB7XHJcbiAgICBpZiAoWElzVW5kZWZpbmVkKG5vZGUpIHx8IG5vZGUuZGlzYWJsZWQpIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChub2RlLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICBpZiAobm9kZS5zZWxlY3RlZCAmJiB0aGlzLm11bHRpcGxlID09PSAxKSB7XHJcbiAgICAgIG5vZGUuZXZlbnQgPSBldmVudDtcclxuICAgICAgdGhpcy5ub2RlQ2xpY2suZW1pdChub2RlKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgc2VsZWN0ZWQgPSAhbm9kZS5zZWxlY3RlZDtcclxuICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZE5vZGVzLmxlbmd0aCA8IE51bWJlcih0aGlzLm11bHRpcGxlKSB8fCB0aGlzLm11bHRpcGxlID09PSAwKSB7XHJcbiAgICAgICAgbm9kZS5zZWxlY3RlZCA9IHNlbGVjdGVkO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IFsuLi50aGlzLnNlbGVjdGVkTm9kZXMsIG5vZGVdO1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSB0aGlzLm5vZGVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgdGhpcy5pc1NlbGVjdEFsbCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLm11bHRpcGxlID09PSAxICYmIHRoaXMuc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICBub2RlLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzWzBdLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzWzBdID0gbm9kZTtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBub2RlLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2Rlcy5zcGxpY2UoXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzLmZpbmRJbmRleCgoeCkgPT4geC5pZCA9PSBub2RlLmlkKSxcclxuICAgICAgICAxXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuaXNTZWxlY3RBbGwgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm11bHRpcGxlID09PSAxICYmIHRoaXMuc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMub2JqZWN0QXJyYXkgPyB0aGlzLnNlbGVjdGVkTm9kZXNbMF0gOiB0aGlzLnNlbGVjdGVkTm9kZXNbMF0uaWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5vYmplY3RBcnJheSA/IHRoaXMuc2VsZWN0ZWROb2RlcyA6IHRoaXMuc2VsZWN0ZWROb2Rlcy5tYXAoKHgpID0+IHguaWQpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICBub2RlLmV2ZW50ID0gZXZlbnQ7XHJcbiAgICB0aGlzLm5vZGVDbGljay5lbWl0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgb25Nb3VzZWVudGVyKGV2ZW50OiBFdmVudCwgbm9kZTogWExpc3ROb2RlKSB7XHJcbiAgICBpZiAobm9kZS5kaXNhYmxlZCkge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbm9kZS5ldmVudCA9IGV2ZW50O1xyXG4gICAgdGhpcy5ub2RlTW91c2VlbnRlci5lbWl0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgb25Nb3VzZWxlYXZlKGV2ZW50OiBFdmVudCwgbm9kZTogWExpc3ROb2RlKSB7XHJcbiAgICBpZiAobm9kZS5kaXNhYmxlZCkge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbm9kZS5ldmVudCA9IGV2ZW50O1xyXG4gICAgdGhpcy5ub2RlTW91c2VsZWF2ZS5lbWl0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgZHJvcENkayhldmVudDogQ2RrRHJhZ0Ryb3A8WExpc3ROb2RlW10+KSB7XHJcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5ub2RlcywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICAgIHRoaXMuZHJvcExpc3REcm9wcGVkLmVtaXQoe1xyXG4gICAgICBkYXRhOiB0aGlzLm5vZGVzLFxyXG4gICAgICBjdXJyZW50OiB0aGlzLm5vZGVzW2V2ZW50LmN1cnJlbnRJbmRleF0sXHJcbiAgICAgIGN1cnJlbnRJbmRleDogZXZlbnQuY3VycmVudEluZGV4LFxyXG4gICAgICBldmVudDogZXZlbnRcclxuICAgIH0pO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJlZGljYXRlKF9kcmFnOiBDZGtEcmFnPFhMaXN0Tm9kZT4sIF9kcm9wOiBDZGtEcm9wTGlzdDxYTGlzdE5vZGU+KSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0QWxsTm9kZXMoKSB7XHJcbiAgICB0aGlzLmlzU2VsZWN0QWxsID0gIXRoaXMuaXNTZWxlY3RBbGw7XHJcbiAgICBpZiAodGhpcy5pc1NlbGVjdEFsbCkge1xyXG4gICAgICB0aGlzLm5vZGVzLm1hcCgoeCkgPT4ge1xyXG4gICAgICAgIHguc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIHJldHVybiB4O1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gWy4uLnRoaXMubm9kZXNdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5ub2Rlcy5tYXAoKHgpID0+IHtcclxuICAgICAgICB4LnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIHg7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBbXTtcclxuICAgIH1cclxuICAgIHRoaXMudmFsdWUgPSB0aGlzLm9iamVjdEFycmF5ID8gdGhpcy5zZWxlY3RlZE5vZGVzIDogdGhpcy5zZWxlY3RlZE5vZGVzLm1hcCgoeCkgPT4geC5pZCk7XHJcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMub25TZWxlY3RBbGwuZW1pdCh0aGlzLmlzU2VsZWN0QWxsKTtcclxuICB9XHJcblxyXG4gIG9uTG9hZE1vcmUoKSB7XHJcbiAgICB0aGlzLmxvYWRNb3JlSW5kZXgrKztcclxuICAgIHRoaXMuc2V0RGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeU5vZGUoX2luZGV4OiBudW1iZXIsIGl0ZW06IFhMaXN0Tm9kZSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG5cclxuICBzZXRVbkFjdGl2ZShudW06IG51bWJlcikge1xyXG4gICAgaWYgKG51bSA+IC0xKSB0aGlzLm5vZGVzW251bV0uYWN0aXZlID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LWxpc3RcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGVhZGVyXCI+XHJcbiAgICA8ZGl2ICNoZWFkZXJSZWYgY2xhc3M9XCJ4LWxpc3QtaGVhZGVyXCIgKnhPdXRsZXQ9XCJoZWFkZXJcIj57eyBoZWFkZXIgfX08L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0QWxsICYmIG11bHRpcGxlID09PSAwXCI+XHJcbiAgICA8ZGl2ICNzZWxlY3RBbGxSZWYgY2xhc3M9XCJ4LWxpc3Qtc2VsZWN0LWFsbFwiPlxyXG4gICAgICA8eC1saXN0LW9wdGlvblxyXG4gICAgICAgIFtzaXplXT1cInNpemVcIlxyXG4gICAgICAgIFtsYWJlbF09XCJnZXRTZWxlY3RBbGxUZXh0XCJcclxuICAgICAgICBbY2hlY2tlZF09XCJ0cnVlXCJcclxuICAgICAgICBbc2VsZWN0ZWRdPVwiaXNTZWxlY3RBbGxcIlxyXG4gICAgICAgIChjbGljayk9XCJvblNlbGVjdEFsbE5vZGVzKClcIlxyXG4gICAgICA+PC94LWxpc3Qtb3B0aW9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydFxyXG4gICAgI3ZpcnR1YWxCb2R5XHJcbiAgICAqbmdJZj1cInZpcnR1YWxTY3JvbGw7IGVsc2UgY29udGVudFRwbFwiXHJcbiAgICBbaXRlbVNpemVdPVwiZ2V0SXRlbVNpemVcIlxyXG4gICAgW21pbkJ1ZmZlclB4XT1cIm1pbkJ1ZmZlclB4XCJcclxuICAgIFttYXhCdWZmZXJQeF09XCJtYXhCdWZmZXJQeFwiXHJcbiAgICBjbGFzcz1cIngtbGlzdC1jb250ZW50XCJcclxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiZ2V0VmlydHVhbFNjcm9sbEhlaWdodFwiXHJcbiAgICBbaGlkZGVuXT1cImlzRW1wdHlcIlxyXG4gID5cclxuICAgIDx4LWxpc3Qtb3B0aW9uXHJcbiAgICAgICpjZGtWaXJ0dWFsRm9yPVwibGV0IG5vZGUgb2Ygbm9kZXM7IHRyYWNrQnk6IHRyYWNrQnlOb2RlXCJcclxuICAgICAgW25vZGVdPVwibm9kZVwiXHJcbiAgICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxyXG4gICAgICBbbm9kZVRwbF09XCJub2RlVHBsXCJcclxuICAgICAgW3NlbGVjdGVkXT1cIm5vZGUuc2VsZWN0ZWRcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwibm9kZS5kaXNhYmxlZFwiXHJcbiAgICAgIFtvcGVuUG9ydGFsXT1cIm5vZGUub3BlblBvcnRhbFwiXHJcbiAgICAgIFsoYWN0aXZlKV09XCJub2RlLmFjdGl2ZVwiXHJcbiAgICAgIFtpY29uXT1cIm5vZGUuaWNvblwiXHJcbiAgICAgIFtsYWJlbF09XCJub2RlLmxhYmVsXCJcclxuICAgICAgW2xlYWZdPVwibm9kZS5sZWFmXCJcclxuICAgICAgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgIFtrZXl3b3JkVGV4dF09XCJrZXl3b3JkVGV4dFwiXHJcbiAgICAgIFtjYXNlU2Vuc2l0aXZlXT1cImNhc2VTZW5zaXRpdmVcIlxyXG4gICAgICAoY2xpY2spPVwib25Ob2RlQ2xpY2soJGV2ZW50LCBub2RlKVwiXHJcbiAgICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VlbnRlcigkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZWxlYXZlKCRldmVudCwgbm9kZSlcIlxyXG4gICAgPjwveC1saXN0LW9wdGlvbj5cclxuICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRNb3JlICYmICFpc0VtcHR5XCI+XHJcbiAgICA8ZGl2ICNsb2FkTW9yZVJlZiBjbGFzcz1cIngtbGlzdC1sb2FkLW1vcmVcIj5cclxuICAgICAgPHgtbGlzdC1vcHRpb24gW3NpemVdPVwic2l6ZVwiIFtub2RlVHBsXT1cImxvYWRNb3JlVHBsXCIgKGNsaWNrKT1cIm9uTG9hZE1vcmUoKVwiPjwveC1saXN0LW9wdGlvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlICNsb2FkTW9yZVRwbD5cclxuICAgICAgPHgtaWNvbiAqbmdJZj1cImljb24gJiYgaWNvblNwaW5cIiBbdHlwZV09XCJpY29uXCIgW3NwaW5dPVwiaWNvblNwaW5cIj48L3gtaWNvbj5cclxuICAgICAge3sgaWNvbiAmJiBpY29uU3BpbiA/IGdldExvYWRpbmdNb3JlVGV4dCA6IGdldExvYWRNb3JlVGV4dCB9fVxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8eC1lbXB0eSAqbmdJZj1cImlzRW1wdHlcIj48L3gtZW1wdHk+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvb3RlclwiPlxyXG4gICAgPGRpdiAjZm9vdGVyUmVmIGNsYXNzPVwieC1saXN0LWZvb3RlclwiICp4T3V0bGV0PVwiZm9vdGVyXCI+e3sgZm9vdGVyIH19PC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNjb250ZW50VHBsPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwieC1saXN0LWNvbnRlbnRcIlxyXG4gICAgY2RrRHJvcExpc3RcclxuICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcENkaygkZXZlbnQpXCJcclxuICAgIFtjZGtEcm9wTGlzdERpc2FibGVkXT1cIiFkcmFnXCJcclxuICAgIFtoaWRkZW5dPVwiaXNFbXB0eVwiXHJcbiAgICBbY2RrRHJvcExpc3REYXRhXT1cIm5vZGVzXCJcclxuICAgIFtjZGtEcm9wTGlzdEVudGVyUHJlZGljYXRlXT1cInByZWRpY2F0ZVwiXHJcbiAgPlxyXG4gICAgPHgtbGlzdC1vcHRpb25cclxuICAgICAgKm5nRm9yPVwibGV0IG5vZGUgb2Ygbm9kZXM7IHRyYWNrQnk6IHRyYWNrQnlOb2RlXCJcclxuICAgICAgY2RrRHJhZ1xyXG4gICAgICBbY2RrRHJhZ0Rpc2FibGVkXT1cIm5vZGUuZGlzYWJsZWRcIlxyXG4gICAgICBbbm9kZV09XCJub2RlXCJcclxuICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXHJcbiAgICAgIFtub2RlVHBsXT1cIm5vZGVUcGxcIlxyXG4gICAgICBbc2VsZWN0ZWRdPVwibm9kZS5zZWxlY3RlZFwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJub2RlLmRpc2FibGVkXCJcclxuICAgICAgWyhhY3RpdmUpXT1cIm5vZGUuYWN0aXZlXCJcclxuICAgICAgW29wZW5Qb3J0YWxdPVwibm9kZS5vcGVuUG9ydGFsXCJcclxuICAgICAgW2ljb25dPVwibm9kZS5pY29uXCJcclxuICAgICAgW2xhYmVsXT1cIm5vZGUubGFiZWxcIlxyXG4gICAgICBbbGVhZl09XCJub2RlLmxlYWZcIlxyXG4gICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgW2tleXdvcmRUZXh0XT1cImtleXdvcmRUZXh0XCJcclxuICAgICAgW2Nhc2VTZW5zaXRpdmVdPVwiY2FzZVNlbnNpdGl2ZVwiXHJcbiAgICAgIChjbGljayk9XCJvbk5vZGVDbGljaygkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgKG1vdXNlZW50ZXIpPVwib25Nb3VzZWVudGVyKCRldmVudCwgbm9kZSlcIlxyXG4gICAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlbGVhdmUoJGV2ZW50LCBub2RlKVwiXHJcbiAgICA+PC94LWxpc3Qtb3B0aW9uPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
396
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9saXN0L2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvbGlzdC9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBT3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFlBQVksRUFDWixRQUFRLEVBQ1IsTUFBTSxFQUNOLFFBQVEsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFhLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFrQixRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7QUFDbEksT0FBTyxFQUF3QixXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd2RCxPQUFPLEVBQWtCLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7OztBQUVoRixNQVFhLGNBQWUsU0FBUSxh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Y0FBYztnQkFDQyxXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ0UsV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhO2dCQUNBLFFBQVE7c0JBQS9CLFNBQVM7dUJBQUMsV0FBVztnQkFDRSxTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBRXRCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxvQkFBb0I7Z0JBVVIsSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXO2dCQUNNLFFBQVE7c0JBQXJDLFdBQVc7dUJBQUMsZUFBZTtnQkFFUyxPQUFPO3NCQUEzQyxZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBRdWVyeUxpc3QsXHJcbiAgRWxlbWVudFJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIFZpZXdDaGlsZHJlbixcclxuICBPcHRpb25hbCxcclxuICBJbmplY3QsXHJcbiAgU2tpcFNlbGZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWExpc3RQcmVmaXgsIFhMaXN0Tm9kZSwgWExpc3RQcm9wZXJ0eSB9IGZyb20gJy4vbGlzdC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJc0NoYW5nZSwgWFNldERhdGEsIFhDb25maWdTZXJ2aWNlLCBYSXNFbXB0eSwgWElzVW5kZWZpbmVkLCBYSXNOdWxsLCBYUmVzaXplLCBYUmVzaXplT2JzZXJ2ZXIgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgQ2RrRHJhZywgQ2RrRHJhZ0Ryb3AsIENka0Ryb3BMaXN0LCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgWExpc3RPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL2xpc3Qtb3B0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xyXG5pbXBvcnQgeyBFTlRFUiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XHJcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsLCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFhWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuaW1wb3J0IHsgWEkxOG5MaXN0LCBYSTE4blNlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XHJcbmltcG9ydCB7IFhMaXN0RHJvcEdyb3VwLCBYX0xJU1RfRFJPUF9HUk9VUCB9IGZyb20gJy4vbGlzdC1kcm9wLWdyb3VwLmRpcmVjdGl2ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WExpc3RQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbWFZhbHVlQWNjZXNzb3IoWExpc3RDb21wb25lbnQpXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWExpc3RDb21wb25lbnQgZXh0ZW5kcyBYTGlzdFByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIG5vZGVzOiBYTGlzdE5vZGVbXSA9IFtdO1xyXG4gIHNlbGVjdGVkTm9kZXM6IFhMaXN0Tm9kZVtdID0gW107XHJcbiAgQFZpZXdDaGlsZCgnaGVhZGVyUmVmJykgaGVhZGVyUmVmITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnZm9vdGVyUmVmJykgZm9vdGVyUmVmITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnc2VsZWN0QWxsUmVmJykgc2VsZWN0QWxsUmVmITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnbG9hZE1vcmVSZWYnKSBsb2FkTW9yZVJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ3ZpcnR1YWxCb2R5JykgdmlydHVhbEJvZHkhOiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XHJcbiAgQFZpZXdDaGlsZChDZGtEcm9wTGlzdCkgZHJvcExpc3QhOiBDZGtEcm9wTGlzdDtcclxuICBAVmlld0NoaWxkKCdsaXN0SXRlbXMnKSBsaXN0SXRlbXMhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkcmVuKFhMaXN0T3B0aW9uQ29tcG9uZW50KVxyXG4gIG9wdGlvbnMhOiBRdWVyeUxpc3Q8WExpc3RPcHRpb25Db21wb25lbnQ+O1xyXG4gIGtleU1hbmFnZXIhOiBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcjxYTGlzdE9wdGlvbkNvbXBvbmVudD47XHJcbiAgaXNTZWxlY3RBbGwgPSBmYWxzZTtcclxuICBsb2NhbGU6IFhJMThuTGlzdCA9IHt9O1xyXG4gIGxvYWRNb3JlSW5kZXggPSAwO1xyXG4gIGljb246IHN0cmluZyA9ICcnO1xyXG4gIGljb25TcGluOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXIhOiBYUmVzaXplT2JzZXJ2ZXI7XHJcblxyXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdsaXN0Ym94JztcclxuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKSB0YWJpbmRleCA9IC0xO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSkga2V5ZG93bigkZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIHRoaXMua2V5TWFuYWdlci5vbktleWRvd24oJGV2ZW50KTtcclxuICAgIGNvbnN0IGFjdGl2ZUluZGV4ID0gdGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCBhcyBudW1iZXI7XHJcbiAgICBpZiAoJGV2ZW50LmtleUNvZGUgPT09IEVOVEVSICYmICFYSXNVbmRlZmluZWQoYWN0aXZlSW5kZXgpKSB7XHJcbiAgICAgIHRoaXMuc2V0VW5BY3RpdmUoYWN0aXZlSW5kZXgpO1xyXG4gICAgICB0aGlzLm9uTm9kZUNsaWNrKCRldmVudCwgdGhpcy5ub2Rlc1thY3RpdmVJbmRleF0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXRlbVNpemVNYXA6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0gPSB7XHJcbiAgICBtaW5pOiAyMixcclxuICAgIHNtYWxsOiAyNCxcclxuICAgIG1lZGl1bTogMjgsXHJcbiAgICBsYXJnZTogMzIsXHJcbiAgICBiaWc6IDM2XHJcbiAgfTtcclxuXHJcbiAgZ2V0IGdldEl0ZW1TaXplKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbVNpemVNYXBbdGhpcy5zaXplXTtcclxuICB9XHJcblxyXG4gIGdldCBpc0VtcHR5KCkge1xyXG4gICAgcmV0dXJuIFhJc0VtcHR5KHRoaXMubm9kZXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdldFNlbGVjdEFsbFRleHQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RBbGxUZXh0IHx8IHRoaXMubG9jYWxlLnNlbGVjdEFsbFRleHQ7XHJcbiAgfVxyXG5cclxuICBnZXQgZ2V0TG9hZE1vcmVUZXh0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMubG9hZE1vcmVUZXh0IHx8IHRoaXMubG9jYWxlLmxvYWRNb3JlVGV4dDtcclxuICB9XHJcblxyXG4gIGdldCBnZXRMb2FkaW5nTW9yZVRleHQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5sb2FkaW5nTW9yZVRleHQgfHwgdGhpcy5sb2NhbGUubG9hZGluZ01vcmVUZXh0O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdldFZpcnR1YWxTY3JvbGxIZWlnaHQoKSB7XHJcbiAgICBsZXQgaGVhZGVySCA9IDAsXHJcbiAgICAgIGZvb3RlckggPSAwLFxyXG4gICAgICBzZWxlY3RBbGxIID0gMCxcclxuICAgICAgbG9hZE1vcmVIID0gMDtcclxuICAgIGlmICh0aGlzLmhlYWRlclJlZikgaGVhZGVySCA9IHRoaXMuaGVhZGVyUmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgaWYgKHRoaXMuZm9vdGVyUmVmKSBmb290ZXJIID0gdGhpcy5mb290ZXJSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RBbGxSZWYpIHNlbGVjdEFsbEggPSB0aGlzLnNlbGVjdEFsbFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuICAgIGlmICh0aGlzLmxvYWRNb3JlUmVmKSBsb2FkTW9yZUggPSB0aGlzLmxvYWRNb3JlUmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xyXG5cclxuICAgIHJldHVybiBOdW1iZXIodGhpcy5zY3JvbGxIZWlnaHQpIC0gaGVhZGVySCAtIGZvb3RlckggLSBzZWxlY3RBbGxIIC0gbG9hZE1vcmVIO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLnNldFNlbGVjdGVkKCk7XHJcbiAgICB0aGlzLnNldEtleU1hbmFnZXIoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgb3ZlcnJpZGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgaTE4bjogWEkxOG5TZXJ2aWNlLFxyXG4gICAgQE9wdGlvbmFsKClcclxuICAgIEBJbmplY3QoWF9MSVNUX0RST1BfR1JPVVApXHJcbiAgICBAU2tpcFNlbGYoKVxyXG4gICAgcHJpdmF0ZSBncm91cD86IFhMaXN0RHJvcEdyb3VwXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeCkgPT4geC5saXN0IGFzIFhJMThuTGlzdCksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2NhbGUgPSB4O1xyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgZGF0YSB9ID0gY2hhbmdlcztcclxuICAgIFhJc0NoYW5nZShkYXRhKSAmJiB0aGlzLnNldERhdGEoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuaW5pdEtleU1hbmFnZXIoKTtcclxuICAgIGlmICh0aGlzLnZpcnR1YWxTY3JvbGwgJiYgdGhpcy5oZWlnaHRBZGFwdGlvbikge1xyXG4gICAgICB0aGlzLnNldFZpcnR1YWxTY3JvbGxIZWlnaHQoKTtcclxuICAgICAgWFJlc2l6ZSh0aGlzLmhlaWdodEFkYXB0aW9uIGFzIEhUTUxFbGVtZW50KVxyXG4gICAgICAgIC5waXBlKGRlYm91bmNlVGltZSgzMCksIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyID0geC5yZXNpemVPYnNlcnZlcjtcclxuICAgICAgICAgIHRoaXMuc2V0VmlydHVhbFNjcm9sbEhlaWdodCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZ3JvdXAgJiYgdGhpcy5kcm9wTGlzdCkge1xyXG4gICAgICB0aGlzLmdyb3VwLmRyb3BMaXN0cy5hZGQodGhpcy5kcm9wTGlzdCk7XHJcbiAgICAgIHRoaXMuZ3JvdXAuc2V0Q29ubmVjdGVkVG8oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcclxuICAgIHRoaXMuZ3JvdXA/LmRyb3BMaXN0cy5kZWxldGUodGhpcy5kcm9wTGlzdCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFZpcnR1YWxTY3JvbGxIZWlnaHQoKSB7XHJcbiAgICB0aGlzLnNjcm9sbEhlaWdodCA9ICh0aGlzLmhlaWdodEFkYXB0aW9uIGFzIEhUTUxFbGVtZW50KS5jbGllbnRIZWlnaHQ7XHJcbiAgICB0aGlzLm1pbkJ1ZmZlclB4ID0gdGhpcy5nZXRWaXJ0dWFsU2Nyb2xsSGVpZ2h0O1xyXG4gICAgdGhpcy5tYXhCdWZmZXJQeCA9IHRoaXMuZ2V0VmlydHVhbFNjcm9sbEhlaWdodCAqIDEuMjtcclxuICAgIHRoaXMudmlydHVhbEJvZHlbJ19zY3JvbGxTdHJhdGVneSddWydfbWluQnVmZmVyUHgnXSA9IHRoaXMubWluQnVmZmVyUHg7XHJcbiAgICB0aGlzLnZpcnR1YWxCb2R5Wydfc2Nyb2xsU3RyYXRlZ3knXVsnX21heEJ1ZmZlclB4J10gPSB0aGlzLm1heEJ1ZmZlclB4O1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXREYXRhKCkge1xyXG4gICAgaWYgKHRoaXMubG9hZE1vcmUpIHtcclxuICAgICAgdGhpcy5pY29uID0gJ2Z0by1sb2FkZXInO1xyXG4gICAgICB0aGlzLmljb25TcGluID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIFhTZXREYXRhPFhMaXN0Tm9kZT4odGhpcy5kYXRhLCB0aGlzLl91blN1YmplY3QsIHRydWUsIHRoaXMubG9hZE1vcmVJbmRleCkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmxvYWRNb3JlKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlcyA9IFsuLi50aGlzLm5vZGVzLCAuLi54XTtcclxuICAgICAgICB0aGlzLmljb24gPSAnJztcclxuICAgICAgICB0aGlzLmljb25TcGluID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ub2RlcyA9IHg7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZXRTZWxlY3RlZCgpO1xyXG4gICAgICB0aGlzLnNldEtleU1hbmFnZXIoKTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRLZXlNYW5hZ2VyKCkge1xyXG4gICAgdGhpcy5rZXlNYW5hZ2VyID0gbmV3IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyPFhMaXN0T3B0aW9uQ29tcG9uZW50Pih0aGlzLm9wdGlvbnMpLndpdGhXcmFwKCk7XHJcblxyXG4gICAgdGhpcy5rZXlNYW5hZ2VyLnRhYk91dC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNldFVuQWN0aXZlKHRoaXMua2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXggYXMgbnVtYmVyKTtcclxuICAgICAgdGhpcy5rZXlNYW5hZ2VyVGFiT3V0LmVtaXQoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMua2V5TWFuYWdlci5jaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKChudW06IG51bWJlcikgPT4ge1xyXG4gICAgICB0aGlzLnNldFNjb3JsbFRvcChudW0pO1xyXG4gICAgICB0aGlzLmtleU1hbmFnZXJDaGFuZ2UuZW1pdChudW0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRTY29ybGxUb3AoX251bTogbnVtYmVyKSB7XHJcbiAgICBpZiAoIXRoaXMuc2Nyb2xsRWxlbWVudCB8fCAhdGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0pIHJldHVybjtcclxuICAgIGxldCBlbGUgPSB0aGlzLmtleU1hbmFnZXIuYWN0aXZlSXRlbSEuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgbGV0IGxpc3QgPSB0aGlzLnNjcm9sbEVsZW1lbnQ7XHJcbiAgICBsZXQgbWluID0gbGlzdC5zY3JvbGxUb3A7XHJcbiAgICBsZXQgbWF4ID0gbGlzdC5zY3JvbGxUb3AgKyBsaXN0LmNsaWVudEhlaWdodDtcclxuICAgIGlmIChlbGUub2Zmc2V0VG9wICsgZWxlLmNsaWVudEhlaWdodCA+IG1heCkge1xyXG4gICAgICBsZXQgc2Nyb2xsVG9wID0gZWxlLm9mZnNldFRvcCArIGVsZS5jbGllbnRIZWlnaHQgLSBsaXN0LmNsaWVudEhlaWdodDtcclxuICAgICAgbGlzdC5zY3JvbGxUb3AgPSBzY3JvbGxUb3A7XHJcbiAgICB9XHJcbiAgICBpZiAoZWxlLm9mZnNldFRvcCA8IG1pbikge1xyXG4gICAgICBsaXN0LnNjcm9sbFRvcCA9IGVsZS5vZmZzZXRUb3A7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3RlZCgpIHtcclxuICAgIGlmICh0aGlzLm5vZGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5ub2Rlc1xyXG4gICAgICAgIC5maWx0ZXIoKHgpID0+IHguc2VsZWN0ZWQpXHJcbiAgICAgICAgLm1hcCgoeCkgPT4ge1xyXG4gICAgICAgICAgeC5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICBsZXQgdmFsQXJyeTogYW55W10gPSBbXTtcclxuICAgICAgaWYgKHRoaXMudmFsdWUgaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICAgIHZhbEFycnkgPSB0aGlzLnZhbHVlO1xyXG4gICAgICAgIGlmICh2YWxBcnJ5Lmxlbmd0aCA9PT0gdGhpcy5ub2Rlcy5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMuaXNTZWxlY3RBbGwgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB2YWxBcnJ5ID0gW3RoaXMudmFsdWVdO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgaWRzID0gW107XHJcbiAgICAgIGxldCBzZWxlY3RlZE5vZGVzID0gW107XHJcbiAgICAgIGlmICh0aGlzLm9iamVjdEFycmF5KSB7XHJcbiAgICAgICAgaWRzID0gdmFsQXJyeS5maWx0ZXIoKHgpID0+ICFYSXNVbmRlZmluZWQoeCkgJiYgIVhJc051bGwoeCkpLm1hcCgoeCkgPT4geC5pZCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWRzID0gdmFsQXJyeTtcclxuICAgICAgfVxyXG4gICAgICBmb3IgKGxldCBpZCBvZiBpZHMpIHtcclxuICAgICAgICBsZXQgbm9kZSA9IHRoaXMubm9kZXMuZmluZCgoeCkgPT4geC5pZCA9PT0gaWQpO1xyXG4gICAgICAgIGlmIChub2RlKSB7XHJcbiAgICAgICAgICBub2RlLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICAgIHNlbGVjdGVkTm9kZXMucHVzaChub2RlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gc2VsZWN0ZWROb2RlcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEtleU1hbmFnZXIoKSB7XHJcbiAgICBpZiAoWElzVW5kZWZpbmVkKHRoaXMua2V5TWFuYWdlcikgfHwgWElzVW5kZWZpbmVkKHRoaXMubm9kZXMpIHx8IHRoaXMubm9kZXMubGVuZ3RoID09PSAwKSByZXR1cm47XHJcbiAgICBsZXQgYWN0aXZlSW5kZXggPSAwO1xyXG4gICAgaWYgKFhJc0VtcHR5KHRoaXMudmFsdWUpKSB7XHJcbiAgICAgIHRoaXMua2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKGFjdGl2ZUluZGV4KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IHZhbEFycnk6IGFueVtdID0gW107XHJcbiAgICBpZiAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgIHZhbEFycnkgPSB0aGlzLnZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdmFsQXJyeSA9IFt0aGlzLnZhbHVlXTtcclxuICAgIH1cclxuICAgIGNvbnN0IGZpcnN0ID0gdmFsQXJyeVswXTtcclxuICAgIGlmICh0aGlzLm9iamVjdEFycmF5KSB7XHJcbiAgICAgIGFjdGl2ZUluZGV4ID0gdGhpcy5ub2Rlcy5maW5kSW5kZXgoKHgpID0+IHguaWQgPT09IGZpcnN0LmlkKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGFjdGl2ZUluZGV4ID0gdGhpcy5ub2Rlcy5maW5kSW5kZXgoKHgpID0+IHguaWQgPT09IGZpcnN0KTtcclxuICAgIH1cclxuICAgIHRoaXMua2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKGFjdGl2ZUluZGV4KTtcclxuICAgIHRoaXMuc2V0U2NvcmxsVG9wKGFjdGl2ZUluZGV4KTtcclxuICB9XHJcblxyXG4gIG9uTm9kZUNsaWNrKGV2ZW50OiBFdmVudCwgbm9kZTogWExpc3ROb2RlKSB7XHJcbiAgICBpZiAoWElzVW5kZWZpbmVkKG5vZGUpIHx8IG5vZGUuZGlzYWJsZWQpIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChub2RlLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICBpZiAobm9kZS5zZWxlY3RlZCAmJiB0aGlzLm11bHRpcGxlID09PSAxKSB7XHJcbiAgICAgIG5vZGUuZXZlbnQgPSBldmVudDtcclxuICAgICAgdGhpcy5ub2RlQ2xpY2suZW1pdChub2RlKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgc2VsZWN0ZWQgPSAhbm9kZS5zZWxlY3RlZDtcclxuICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZE5vZGVzLmxlbmd0aCA8IE51bWJlcih0aGlzLm11bHRpcGxlKSB8fCB0aGlzLm11bHRpcGxlID09PSAwKSB7XHJcbiAgICAgICAgbm9kZS5zZWxlY3RlZCA9IHNlbGVjdGVkO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IFsuLi50aGlzLnNlbGVjdGVkTm9kZXMsIG5vZGVdO1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSB0aGlzLm5vZGVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgdGhpcy5pc1NlbGVjdEFsbCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLm11bHRpcGxlID09PSAxICYmIHRoaXMuc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICBub2RlLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzWzBdLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzWzBdID0gbm9kZTtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBub2RlLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2Rlcy5zcGxpY2UoXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzLmZpbmRJbmRleCgoeCkgPT4geC5pZCA9PSBub2RlLmlkKSxcclxuICAgICAgICAxXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuaXNTZWxlY3RBbGwgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm11bHRpcGxlID09PSAxICYmIHRoaXMuc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMub2JqZWN0QXJyYXkgPyB0aGlzLnNlbGVjdGVkTm9kZXNbMF0gOiB0aGlzLnNlbGVjdGVkTm9kZXNbMF0uaWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5vYmplY3RBcnJheSA/IHRoaXMuc2VsZWN0ZWROb2RlcyA6IHRoaXMuc2VsZWN0ZWROb2Rlcy5tYXAoKHgpID0+IHguaWQpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICBub2RlLmV2ZW50ID0gZXZlbnQ7XHJcbiAgICB0aGlzLm5vZGVDbGljay5lbWl0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgb25Nb3VzZWVudGVyKGV2ZW50OiBFdmVudCwgbm9kZTogWExpc3ROb2RlKSB7XHJcbiAgICBpZiAobm9kZS5kaXNhYmxlZCkge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbm9kZS5ldmVudCA9IGV2ZW50O1xyXG4gICAgdGhpcy5ub2RlTW91c2VlbnRlci5lbWl0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgb25Nb3VzZWxlYXZlKGV2ZW50OiBFdmVudCwgbm9kZTogWExpc3ROb2RlKSB7XHJcbiAgICBpZiAobm9kZS5kaXNhYmxlZCkge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbm9kZS5ldmVudCA9IGV2ZW50O1xyXG4gICAgdGhpcy5ub2RlTW91c2VsZWF2ZS5lbWl0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgZHJvcENkayhldmVudDogQ2RrRHJhZ0Ryb3A8WExpc3ROb2RlW10+KSB7XHJcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5ub2RlcywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICAgIHRoaXMuZHJvcExpc3REcm9wcGVkLmVtaXQoe1xyXG4gICAgICBkYXRhOiB0aGlzLm5vZGVzLFxyXG4gICAgICBjdXJyZW50OiB0aGlzLm5vZGVzW2V2ZW50LmN1cnJlbnRJbmRleF0sXHJcbiAgICAgIGN1cnJlbnRJbmRleDogZXZlbnQuY3VycmVudEluZGV4LFxyXG4gICAgICBldmVudDogZXZlbnRcclxuICAgIH0pO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJlZGljYXRlKF9kcmFnOiBDZGtEcmFnPFhMaXN0Tm9kZT4sIF9kcm9wOiBDZGtEcm9wTGlzdDxYTGlzdE5vZGU+KSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0QWxsTm9kZXMoKSB7XHJcbiAgICB0aGlzLmlzU2VsZWN0QWxsID0gIXRoaXMuaXNTZWxlY3RBbGw7XHJcbiAgICBpZiAodGhpcy5pc1NlbGVjdEFsbCkge1xyXG4gICAgICB0aGlzLm5vZGVzLm1hcCgoeCkgPT4ge1xyXG4gICAgICAgIHguc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIHJldHVybiB4O1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gWy4uLnRoaXMubm9kZXNdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5ub2Rlcy5tYXAoKHgpID0+IHtcclxuICAgICAgICB4LnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIHg7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBbXTtcclxuICAgIH1cclxuICAgIHRoaXMudmFsdWUgPSB0aGlzLm9iamVjdEFycmF5ID8gdGhpcy5zZWxlY3RlZE5vZGVzIDogdGhpcy5zZWxlY3RlZE5vZGVzLm1hcCgoeCkgPT4geC5pZCk7XHJcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMub25TZWxlY3RBbGwuZW1pdCh0aGlzLmlzU2VsZWN0QWxsKTtcclxuICB9XHJcblxyXG4gIG9uTG9hZE1vcmUoKSB7XHJcbiAgICB0aGlzLmxvYWRNb3JlSW5kZXgrKztcclxuICAgIHRoaXMuc2V0RGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeU5vZGUoX2luZGV4OiBudW1iZXIsIGl0ZW06IFhMaXN0Tm9kZSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG5cclxuICBzZXRVbkFjdGl2ZShudW06IG51bWJlcikge1xyXG4gICAgaWYgKG51bSA+IC0xKSB0aGlzLm5vZGVzW251bV0uYWN0aXZlID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LWxpc3RcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGVhZGVyXCI+XHJcbiAgICA8ZGl2ICNoZWFkZXJSZWYgY2xhc3M9XCJ4LWxpc3QtaGVhZGVyXCIgKnhPdXRsZXQ9XCJoZWFkZXJcIj57eyBoZWFkZXIgfX08L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0QWxsICYmIG11bHRpcGxlID09PSAwXCI+XHJcbiAgICA8ZGl2ICNzZWxlY3RBbGxSZWYgY2xhc3M9XCJ4LWxpc3Qtc2VsZWN0LWFsbFwiPlxyXG4gICAgICA8eC1saXN0LW9wdGlvblxyXG4gICAgICAgIFtzaXplXT1cInNpemVcIlxyXG4gICAgICAgIFtsYWJlbF09XCJnZXRTZWxlY3RBbGxUZXh0XCJcclxuICAgICAgICBbY2hlY2tlZF09XCJ0cnVlXCJcclxuICAgICAgICBbc2VsZWN0ZWRdPVwiaXNTZWxlY3RBbGxcIlxyXG4gICAgICAgIChjbGljayk9XCJvblNlbGVjdEFsbE5vZGVzKClcIlxyXG4gICAgICA+PC94LWxpc3Qtb3B0aW9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydFxyXG4gICAgI3ZpcnR1YWxCb2R5XHJcbiAgICAqbmdJZj1cInZpcnR1YWxTY3JvbGw7IGVsc2UgY29udGVudFRwbFwiXHJcbiAgICBbaXRlbVNpemVdPVwiZ2V0SXRlbVNpemVcIlxyXG4gICAgW21pbkJ1ZmZlclB4XT1cIm1pbkJ1ZmZlclB4XCJcclxuICAgIFttYXhCdWZmZXJQeF09XCJtYXhCdWZmZXJQeFwiXHJcbiAgICBjbGFzcz1cIngtbGlzdC1jb250ZW50XCJcclxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiZ2V0VmlydHVhbFNjcm9sbEhlaWdodFwiXHJcbiAgICBbaGlkZGVuXT1cImlzRW1wdHlcIlxyXG4gID5cclxuICAgIDx4LWxpc3Qtb3B0aW9uXHJcbiAgICAgICpjZGtWaXJ0dWFsRm9yPVwibGV0IG5vZGUgb2Ygbm9kZXM7IHRyYWNrQnk6IHRyYWNrQnlOb2RlXCJcclxuICAgICAgW25vZGVdPVwibm9kZVwiXHJcbiAgICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxyXG4gICAgICBbbm9kZVRwbF09XCJub2RlVHBsXCJcclxuICAgICAgW3NlbGVjdGVkXT1cIm5vZGUuc2VsZWN0ZWRcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwibm9kZS5kaXNhYmxlZFwiXHJcbiAgICAgIFtvcGVuUG9ydGFsXT1cIm5vZGUub3BlblBvcnRhbFwiXHJcbiAgICAgIFsoYWN0aXZlKV09XCJub2RlLmFjdGl2ZVwiXHJcbiAgICAgIFtpY29uXT1cIm5vZGUuaWNvblwiXHJcbiAgICAgIFtsYWJlbF09XCJub2RlLmxhYmVsXCJcclxuICAgICAgW2xlYWZdPVwibm9kZS5sZWFmXCJcclxuICAgICAgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgIFtrZXl3b3JkVGV4dF09XCJrZXl3b3JkVGV4dFwiXHJcbiAgICAgIFtjYXNlU2Vuc2l0aXZlXT1cImNhc2VTZW5zaXRpdmVcIlxyXG4gICAgICAoY2xpY2spPVwib25Ob2RlQ2xpY2soJGV2ZW50LCBub2RlKVwiXHJcbiAgICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VlbnRlcigkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZWxlYXZlKCRldmVudCwgbm9kZSlcIlxyXG4gICAgPjwveC1saXN0LW9wdGlvbj5cclxuICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRNb3JlICYmICFpc0VtcHR5XCI+XHJcbiAgICA8ZGl2ICNsb2FkTW9yZVJlZiBjbGFzcz1cIngtbGlzdC1sb2FkLW1vcmVcIj5cclxuICAgICAgPHgtbGlzdC1vcHRpb24gW3NpemVdPVwic2l6ZVwiIFtub2RlVHBsXT1cImxvYWRNb3JlVHBsXCIgKGNsaWNrKT1cIm9uTG9hZE1vcmUoKVwiPjwveC1saXN0LW9wdGlvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlICNsb2FkTW9yZVRwbD5cclxuICAgICAgPHgtaWNvbiAqbmdJZj1cImljb24gJiYgaWNvblNwaW5cIiBbdHlwZV09XCJpY29uXCIgW3NwaW5dPVwiaWNvblNwaW5cIj48L3gtaWNvbj5cclxuICAgICAge3sgaWNvbiAmJiBpY29uU3BpbiA/IGdldExvYWRpbmdNb3JlVGV4dCA6IGdldExvYWRNb3JlVGV4dCB9fVxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8eC1lbXB0eSAqbmdJZj1cImlzRW1wdHlcIj48L3gtZW1wdHk+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvb3RlclwiPlxyXG4gICAgPGRpdiAjZm9vdGVyUmVmIGNsYXNzPVwieC1saXN0LWZvb3RlclwiICp4T3V0bGV0PVwiZm9vdGVyXCI+e3sgZm9vdGVyIH19PC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNjb250ZW50VHBsPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwieC1saXN0LWNvbnRlbnRcIlxyXG4gICAgY2RrRHJvcExpc3RcclxuICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcENkaygkZXZlbnQpXCJcclxuICAgIFtjZGtEcm9wTGlzdERpc2FibGVkXT1cIiFkcmFnXCJcclxuICAgIFtoaWRkZW5dPVwiaXNFbXB0eVwiXHJcbiAgICBbY2RrRHJvcExpc3REYXRhXT1cIm5vZGVzXCJcclxuICAgIFtjZGtEcm9wTGlzdEVudGVyUHJlZGljYXRlXT1cInByZWRpY2F0ZVwiXHJcbiAgPlxyXG4gICAgPHgtbGlzdC1vcHRpb25cclxuICAgICAgKm5nRm9yPVwibGV0IG5vZGUgb2Ygbm9kZXM7IHRyYWNrQnk6IHRyYWNrQnlOb2RlXCJcclxuICAgICAgY2RrRHJhZ1xyXG4gICAgICBbY2RrRHJhZ0Rpc2FibGVkXT1cIm5vZGUuZGlzYWJsZWRcIlxyXG4gICAgICBbbm9kZV09XCJub2RlXCJcclxuICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXHJcbiAgICAgIFtub2RlVHBsXT1cIm5vZGVUcGxcIlxyXG4gICAgICBbc2VsZWN0ZWRdPVwibm9kZS5zZWxlY3RlZFwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJub2RlLmRpc2FibGVkXCJcclxuICAgICAgWyhhY3RpdmUpXT1cIm5vZGUuYWN0aXZlXCJcclxuICAgICAgW29wZW5Qb3J0YWxdPVwibm9kZS5vcGVuUG9ydGFsXCJcclxuICAgICAgW2ljb25dPVwibm9kZS5pY29uXCJcclxuICAgICAgW2xhYmVsXT1cIm5vZGUubGFiZWxcIlxyXG4gICAgICBbbGVhZl09XCJub2RlLmxlYWZcIlxyXG4gICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgW2tleXdvcmRUZXh0XT1cImtleXdvcmRUZXh0XCJcclxuICAgICAgW2Nhc2VTZW5zaXRpdmVdPVwiY2FzZVNlbnNpdGl2ZVwiXHJcbiAgICAgIChjbGljayk9XCJvbk5vZGVDbGljaygkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgKG1vdXNlZW50ZXIpPVwib25Nb3VzZWVudGVyKCRldmVudCwgbm9kZSlcIlxyXG4gICAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlbGVhdmUoJGV2ZW50LCBub2RlKVwiXHJcbiAgICA+PC94LWxpc3Qtb3B0aW9uPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -16,8 +16,8 @@ import { XKeywordModule } from '@ng-nest/ui/keyword';
16
16
  import { XListDropGroup } from './list-drop-group.directive';
17
17
  import * as i0 from "@angular/core";
18
18
  class XListModule {
19
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.5", ngImport: i0, type: XListModule, declarations: [XListComponent, XListDropGroup, XListOptionComponent, XListProperty, XListOptionProperty], imports: [CommonModule,
19
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: XListModule, declarations: [XListComponent, XListDropGroup, XListOptionComponent, XListProperty, XListOptionProperty], imports: [CommonModule,
21
21
  FormsModule,
22
22
  ReactiveFormsModule,
23
23
  DragDropModule,
@@ -29,7 +29,7 @@ class XListModule {
29
29
  XOutletModule,
30
30
  ScrollingModule,
31
31
  XKeywordModule], exports: [XListComponent, XListDropGroup, XListOptionComponent] }); }
32
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XListModule, imports: [CommonModule,
32
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XListModule, imports: [CommonModule,
33
33
  FormsModule,
34
34
  ReactiveFormsModule,
35
35
  DragDropModule,
@@ -43,7 +43,7 @@ class XListModule {
43
43
  XKeywordModule] }); }
44
44
  }
45
45
  export { XListModule };
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XListModule, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XListModule, decorators: [{
47
47
  type: NgModule,
48
48
  args: [{
49
49
  declarations: [XListComponent, XListDropGroup, XListOptionComponent, XListProperty, XListOptionProperty],
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
64
64
  ]
65
65
  }]
66
66
  }] });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9saXN0L2xpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFN0QsTUFrQmEsV0FBVztpSUFBWCxXQUFXO2tJQUFYLFdBQVcsaUJBakJQLGNBQWMsRUFBRSxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixhQUdyRyxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2QsVUFBVTtZQUNWLFdBQVc7WUFDWCxZQUFZO1lBQ1osZUFBZTtZQUNmLFdBQVc7WUFDWCxhQUFhO1lBQ2IsZUFBZTtZQUNmLGNBQWMsYUFiTixjQUFjLEVBQUUsY0FBYyxFQUFFLG9CQUFvQjtrSUFnQm5ELFdBQVcsWUFkcEIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLFVBQVU7WUFDVixXQUFXO1lBQ1gsWUFBWTtZQUNaLGVBQWU7WUFDZixXQUFXO1lBQ1gsYUFBYTtZQUNiLGVBQWU7WUFDZixjQUFjOztTQUdMLFdBQVc7MkZBQVgsV0FBVztrQkFsQnZCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLENBQUM7b0JBQ3hHLE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsb0JBQW9CLENBQUM7b0JBQy9ELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLFVBQVU7d0JBQ1YsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsY0FBYztxQkFDZjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFhMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhMaXN0T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LW9wdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYSWNvbk1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2ljb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgWExpc3RPcHRpb25Qcm9wZXJ0eSwgWExpc3RQcm9wZXJ0eSB9IGZyb20gJy4vbGlzdC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhFbXB0eU1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2VtcHR5JztcclxuaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcclxuaW1wb3J0IHsgWEJhc2VGb3JtTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuaW1wb3J0IHsgWE91dGxldE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL291dGxldCc7XHJcbmltcG9ydCB7IFhJMThuTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaTE4bic7XHJcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xyXG5pbXBvcnQgeyBYS2V5d29yZE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2tleXdvcmQnO1xyXG5pbXBvcnQgeyBYTGlzdERyb3BHcm91cCB9IGZyb20gJy4vbGlzdC1kcm9wLWdyb3VwLmRpcmVjdGl2ZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1hMaXN0Q29tcG9uZW50LCBYTGlzdERyb3BHcm91cCwgWExpc3RPcHRpb25Db21wb25lbnQsIFhMaXN0UHJvcGVydHksIFhMaXN0T3B0aW9uUHJvcGVydHldLFxyXG4gIGV4cG9ydHM6IFtYTGlzdENvbXBvbmVudCwgWExpc3REcm9wR3JvdXAsIFhMaXN0T3B0aW9uQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBEcmFnRHJvcE1vZHVsZSxcclxuICAgIEExMXlNb2R1bGUsXHJcbiAgICBYSWNvbk1vZHVsZSxcclxuICAgIFhFbXB0eU1vZHVsZSxcclxuICAgIFhCYXNlRm9ybU1vZHVsZSxcclxuICAgIFhJMThuTW9kdWxlLFxyXG4gICAgWE91dGxldE1vZHVsZSxcclxuICAgIFNjcm9sbGluZ01vZHVsZSxcclxuICAgIFhLZXl3b3JkTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWExpc3RNb2R1bGUge31cclxuIl19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9saXN0L2xpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFN0QsTUFrQmEsV0FBVztrSUFBWCxXQUFXO21JQUFYLFdBQVcsaUJBakJQLGNBQWMsRUFBRSxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixhQUdyRyxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2QsVUFBVTtZQUNWLFdBQVc7WUFDWCxZQUFZO1lBQ1osZUFBZTtZQUNmLFdBQVc7WUFDWCxhQUFhO1lBQ2IsZUFBZTtZQUNmLGNBQWMsYUFiTixjQUFjLEVBQUUsY0FBYyxFQUFFLG9CQUFvQjttSUFnQm5ELFdBQVcsWUFkcEIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLFVBQVU7WUFDVixXQUFXO1lBQ1gsWUFBWTtZQUNaLGVBQWU7WUFDZixXQUFXO1lBQ1gsYUFBYTtZQUNiLGVBQWU7WUFDZixjQUFjOztTQUdMLFdBQVc7NEZBQVgsV0FBVztrQkFsQnZCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLENBQUM7b0JBQ3hHLE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsb0JBQW9CLENBQUM7b0JBQy9ELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLFVBQVU7d0JBQ1YsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsY0FBYztxQkFDZjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFhMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhMaXN0T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LW9wdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYSWNvbk1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2ljb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgWExpc3RPcHRpb25Qcm9wZXJ0eSwgWExpc3RQcm9wZXJ0eSB9IGZyb20gJy4vbGlzdC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhFbXB0eU1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2VtcHR5JztcclxuaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcclxuaW1wb3J0IHsgWEJhc2VGb3JtTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuaW1wb3J0IHsgWE91dGxldE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL291dGxldCc7XHJcbmltcG9ydCB7IFhJMThuTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaTE4bic7XHJcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xyXG5pbXBvcnQgeyBYS2V5d29yZE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2tleXdvcmQnO1xyXG5pbXBvcnQgeyBYTGlzdERyb3BHcm91cCB9IGZyb20gJy4vbGlzdC1kcm9wLWdyb3VwLmRpcmVjdGl2ZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1hMaXN0Q29tcG9uZW50LCBYTGlzdERyb3BHcm91cCwgWExpc3RPcHRpb25Db21wb25lbnQsIFhMaXN0UHJvcGVydHksIFhMaXN0T3B0aW9uUHJvcGVydHldLFxyXG4gIGV4cG9ydHM6IFtYTGlzdENvbXBvbmVudCwgWExpc3REcm9wR3JvdXAsIFhMaXN0T3B0aW9uQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBEcmFnRHJvcE1vZHVsZSxcclxuICAgIEExMXlNb2R1bGUsXHJcbiAgICBYSWNvbk1vZHVsZSxcclxuICAgIFhFbXB0eU1vZHVsZSxcclxuICAgIFhCYXNlRm9ybU1vZHVsZSxcclxuICAgIFhJMThuTW9kdWxlLFxyXG4gICAgWE91dGxldE1vZHVsZSxcclxuICAgIFNjcm9sbGluZ01vZHVsZSxcclxuICAgIFhLZXl3b3JkTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWExpc3RNb2R1bGUge31cclxuIl19