@ng-nest/ui 12.0.6 → 12.0.11

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 (787) hide show
  1. package/auto-complete/auto-complete-portal.component.d.ts +3 -3
  2. package/auto-complete/auto-complete.component.d.ts +5 -1
  3. package/auto-complete/auto-complete.property.d.ts +6 -1
  4. package/back-top/back-top.component.d.ts +1 -2
  5. package/base-form/base-form.component.d.ts +1 -1
  6. package/base-form/base-form.property.d.ts +22 -2
  7. package/bundles/ng-nest-ui-affix.umd.js +25 -21
  8. package/bundles/ng-nest-ui-affix.umd.js.map +1 -1
  9. package/bundles/ng-nest-ui-alert.umd.js +25 -21
  10. package/bundles/ng-nest-ui-alert.umd.js.map +1 -1
  11. package/bundles/ng-nest-ui-anchor.umd.js +26 -22
  12. package/bundles/ng-nest-ui-anchor.umd.js.map +1 -1
  13. package/bundles/ng-nest-ui-api.umd.js +12 -14
  14. package/bundles/ng-nest-ui-api.umd.js.map +1 -1
  15. package/bundles/ng-nest-ui-auto-complete.umd.js +52 -29
  16. package/bundles/ng-nest-ui-auto-complete.umd.js.map +1 -1
  17. package/bundles/ng-nest-ui-avatar.umd.js +25 -21
  18. package/bundles/ng-nest-ui-avatar.umd.js.map +1 -1
  19. package/bundles/ng-nest-ui-back-top.umd.js +27 -23
  20. package/bundles/ng-nest-ui-back-top.umd.js.map +1 -1
  21. package/bundles/ng-nest-ui-badge.umd.js +27 -22
  22. package/bundles/ng-nest-ui-badge.umd.js.map +1 -1
  23. package/bundles/ng-nest-ui-base-form.umd.js +50 -22
  24. package/bundles/ng-nest-ui-base-form.umd.js.map +1 -1
  25. package/bundles/ng-nest-ui-border.umd.js +12 -14
  26. package/bundles/ng-nest-ui-border.umd.js.map +1 -1
  27. package/bundles/ng-nest-ui-button.umd.js +36 -29
  28. package/bundles/ng-nest-ui-button.umd.js.map +1 -1
  29. package/bundles/ng-nest-ui-calendar.umd.js +29 -24
  30. package/bundles/ng-nest-ui-calendar.umd.js.map +1 -1
  31. package/bundles/ng-nest-ui-card.umd.js +25 -21
  32. package/bundles/ng-nest-ui-card.umd.js.map +1 -1
  33. package/bundles/ng-nest-ui-carousel.umd.js +44 -39
  34. package/bundles/ng-nest-ui-carousel.umd.js.map +1 -1
  35. package/bundles/ng-nest-ui-cascade.umd.js +94 -36
  36. package/bundles/ng-nest-ui-cascade.umd.js.map +1 -1
  37. package/bundles/ng-nest-ui-checkbox.umd.js +28 -23
  38. package/bundles/ng-nest-ui-checkbox.umd.js.map +1 -1
  39. package/bundles/ng-nest-ui-collapse.umd.js +31 -27
  40. package/bundles/ng-nest-ui-collapse.umd.js.map +1 -1
  41. package/bundles/ng-nest-ui-color-picker.umd.js +79 -44
  42. package/bundles/ng-nest-ui-color-picker.umd.js.map +1 -1
  43. package/bundles/ng-nest-ui-color.umd.js +26 -22
  44. package/bundles/ng-nest-ui-color.umd.js.map +1 -1
  45. package/bundles/ng-nest-ui-comment.umd.js +34 -29
  46. package/bundles/ng-nest-ui-comment.umd.js.map +1 -1
  47. package/bundles/ng-nest-ui-container.umd.js +46 -42
  48. package/bundles/ng-nest-ui-container.umd.js.map +1 -1
  49. package/bundles/ng-nest-ui-core.umd.js +136 -35
  50. package/bundles/ng-nest-ui-core.umd.js.map +1 -1
  51. package/bundles/ng-nest-ui-crumb.umd.js +28 -23
  52. package/bundles/ng-nest-ui-crumb.umd.js.map +1 -1
  53. package/bundles/ng-nest-ui-date-picker.umd.js +387 -246
  54. package/bundles/ng-nest-ui-date-picker.umd.js.map +1 -1
  55. package/bundles/ng-nest-ui-description.umd.js +35 -32
  56. package/bundles/ng-nest-ui-description.umd.js.map +1 -1
  57. package/bundles/ng-nest-ui-dialog.umd.js +27 -22
  58. package/bundles/ng-nest-ui-dialog.umd.js.map +1 -1
  59. package/bundles/ng-nest-ui-doc.umd.js +12 -14
  60. package/bundles/ng-nest-ui-doc.umd.js.map +1 -1
  61. package/bundles/ng-nest-ui-drawer.umd.js +27 -22
  62. package/bundles/ng-nest-ui-drawer.umd.js.map +1 -1
  63. package/bundles/ng-nest-ui-dropdown.umd.js +32 -27
  64. package/bundles/ng-nest-ui-dropdown.umd.js.map +1 -1
  65. package/bundles/ng-nest-ui-empty.umd.js +25 -21
  66. package/bundles/ng-nest-ui-empty.umd.js.map +1 -1
  67. package/bundles/ng-nest-ui-examples.umd.js +12 -14
  68. package/bundles/ng-nest-ui-examples.umd.js.map +1 -1
  69. package/bundles/ng-nest-ui-find.umd.js +45 -27
  70. package/bundles/ng-nest-ui-find.umd.js.map +1 -1
  71. package/bundles/ng-nest-ui-form.umd.js +36 -36
  72. package/bundles/ng-nest-ui-form.umd.js.map +1 -1
  73. package/bundles/ng-nest-ui-highlight.umd.js +27 -22
  74. package/bundles/ng-nest-ui-highlight.umd.js.map +1 -1
  75. package/bundles/ng-nest-ui-i18n.umd.js +537 -138
  76. package/bundles/ng-nest-ui-i18n.umd.js.map +1 -1
  77. package/bundles/ng-nest-ui-icon.umd.js +34 -29
  78. package/bundles/ng-nest-ui-icon.umd.js.map +1 -1
  79. package/bundles/ng-nest-ui-inner.umd.js +26 -22
  80. package/bundles/ng-nest-ui-inner.umd.js.map +1 -1
  81. package/bundles/ng-nest-ui-input-number.umd.js +44 -24
  82. package/bundles/ng-nest-ui-input-number.umd.js.map +1 -1
  83. package/bundles/ng-nest-ui-input.umd.js +65 -32
  84. package/bundles/ng-nest-ui-input.umd.js.map +1 -1
  85. package/bundles/ng-nest-ui-layout.umd.js +31 -27
  86. package/bundles/ng-nest-ui-layout.umd.js.map +1 -1
  87. package/bundles/ng-nest-ui-link.umd.js +25 -21
  88. package/bundles/ng-nest-ui-link.umd.js.map +1 -1
  89. package/bundles/ng-nest-ui-list.umd.js +35 -30
  90. package/bundles/ng-nest-ui-list.umd.js.map +1 -1
  91. package/bundles/ng-nest-ui-loading.umd.js +27 -22
  92. package/bundles/ng-nest-ui-loading.umd.js.map +1 -1
  93. package/bundles/ng-nest-ui-menu.umd.js +37 -33
  94. package/bundles/ng-nest-ui-menu.umd.js.map +1 -1
  95. package/bundles/ng-nest-ui-message-box.umd.js +53 -47
  96. package/bundles/ng-nest-ui-message-box.umd.js.map +1 -1
  97. package/bundles/ng-nest-ui-message.umd.js +26 -22
  98. package/bundles/ng-nest-ui-message.umd.js.map +1 -1
  99. package/bundles/ng-nest-ui-notification.umd.js +26 -22
  100. package/bundles/ng-nest-ui-notification.umd.js.map +1 -1
  101. package/bundles/ng-nest-ui-outlet.umd.js +22 -18
  102. package/bundles/ng-nest-ui-outlet.umd.js.map +1 -1
  103. package/bundles/ng-nest-ui-page-header.umd.js +25 -21
  104. package/bundles/ng-nest-ui-page-header.umd.js.map +1 -1
  105. package/bundles/ng-nest-ui-pagination.umd.js +115 -26
  106. package/bundles/ng-nest-ui-pagination.umd.js.map +1 -1
  107. package/bundles/ng-nest-ui-pattern.umd.js +12 -14
  108. package/bundles/ng-nest-ui-pattern.umd.js.map +1 -1
  109. package/bundles/ng-nest-ui-popconfirm.umd.js +25 -21
  110. package/bundles/ng-nest-ui-popconfirm.umd.js.map +1 -1
  111. package/bundles/ng-nest-ui-popover.umd.js +31 -26
  112. package/bundles/ng-nest-ui-popover.umd.js.map +1 -1
  113. package/bundles/ng-nest-ui-portal.umd.js +22 -18
  114. package/bundles/ng-nest-ui-portal.umd.js.map +1 -1
  115. package/bundles/ng-nest-ui-progress.umd.js +28 -23
  116. package/bundles/ng-nest-ui-progress.umd.js.map +1 -1
  117. package/bundles/ng-nest-ui-radio.umd.js +28 -23
  118. package/bundles/ng-nest-ui-radio.umd.js.map +1 -1
  119. package/bundles/ng-nest-ui-rate.umd.js +30 -26
  120. package/bundles/ng-nest-ui-rate.umd.js.map +1 -1
  121. package/bundles/ng-nest-ui-result.umd.js +25 -21
  122. package/bundles/ng-nest-ui-result.umd.js.map +1 -1
  123. package/bundles/ng-nest-ui-ripple.umd.js +25 -21
  124. package/bundles/ng-nest-ui-ripple.umd.js.map +1 -1
  125. package/bundles/ng-nest-ui-select.umd.js +53 -34
  126. package/bundles/ng-nest-ui-select.umd.js.map +1 -1
  127. package/bundles/ng-nest-ui-skeleton.umd.js +27 -22
  128. package/bundles/ng-nest-ui-skeleton.umd.js.map +1 -1
  129. package/bundles/ng-nest-ui-slider-select.umd.js +25 -21
  130. package/bundles/ng-nest-ui-slider-select.umd.js.map +1 -1
  131. package/bundles/ng-nest-ui-slider.umd.js +32 -29
  132. package/bundles/ng-nest-ui-slider.umd.js.map +1 -1
  133. package/bundles/ng-nest-ui-statistic.umd.js +37 -31
  134. package/bundles/ng-nest-ui-statistic.umd.js.map +1 -1
  135. package/bundles/ng-nest-ui-steps.umd.js +35 -27
  136. package/bundles/ng-nest-ui-steps.umd.js.map +1 -1
  137. package/bundles/ng-nest-ui-switch.umd.js +25 -21
  138. package/bundles/ng-nest-ui-switch.umd.js.map +1 -1
  139. package/bundles/ng-nest-ui-table.umd.js +58 -51
  140. package/bundles/ng-nest-ui-table.umd.js.map +1 -1
  141. package/bundles/ng-nest-ui-tabs.umd.js +39 -34
  142. package/bundles/ng-nest-ui-tabs.umd.js.map +1 -1
  143. package/bundles/ng-nest-ui-tag.umd.js +36 -21
  144. package/bundles/ng-nest-ui-tag.umd.js.map +1 -1
  145. package/bundles/ng-nest-ui-text-retract.umd.js +27 -22
  146. package/bundles/ng-nest-ui-text-retract.umd.js.map +1 -1
  147. package/bundles/ng-nest-ui-textarea.umd.js +27 -32
  148. package/bundles/ng-nest-ui-textarea.umd.js.map +1 -1
  149. package/bundles/ng-nest-ui-theme.umd.js +26 -22
  150. package/bundles/ng-nest-ui-theme.umd.js.map +1 -1
  151. package/bundles/ng-nest-ui-time-ago.umd.js +12 -14
  152. package/bundles/ng-nest-ui-time-ago.umd.js.map +1 -1
  153. package/bundles/ng-nest-ui-time-picker.umd.js +87 -46
  154. package/bundles/ng-nest-ui-time-picker.umd.js.map +1 -1
  155. package/bundles/ng-nest-ui-time-range.umd.js +22 -18
  156. package/bundles/ng-nest-ui-time-range.umd.js.map +1 -1
  157. package/bundles/ng-nest-ui-timeline.umd.js +28 -23
  158. package/bundles/ng-nest-ui-timeline.umd.js.map +1 -1
  159. package/bundles/ng-nest-ui-tooltip.umd.js +31 -26
  160. package/bundles/ng-nest-ui-tooltip.umd.js.map +1 -1
  161. package/bundles/ng-nest-ui-transfer.umd.js +28 -23
  162. package/bundles/ng-nest-ui-transfer.umd.js.map +1 -1
  163. package/bundles/ng-nest-ui-tree-file.umd.js +25 -21
  164. package/bundles/ng-nest-ui-tree-file.umd.js.map +1 -1
  165. package/bundles/ng-nest-ui-tree.umd.js +39 -34
  166. package/bundles/ng-nest-ui-tree.umd.js.map +1 -1
  167. package/bundles/ng-nest-ui-typography.umd.js +25 -21
  168. package/bundles/ng-nest-ui-typography.umd.js.map +1 -1
  169. package/bundles/ng-nest-ui-upload.umd.js +32 -27
  170. package/bundles/ng-nest-ui-upload.umd.js.map +1 -1
  171. package/bundles/ng-nest-ui.umd.js +83 -243
  172. package/bundles/ng-nest-ui.umd.js.map +1 -1
  173. package/button/buttons.component.d.ts +1 -1
  174. package/calendar/calendar.component.d.ts +2 -2
  175. package/carousel/carousel-panel.component.d.ts +2 -3
  176. package/carousel/carousel.component.d.ts +1 -1
  177. package/cascade/cascade-portal.component.d.ts +13 -7
  178. package/cascade/cascade.component.d.ts +7 -1
  179. package/cascade/cascade.property.d.ts +33 -3
  180. package/checkbox/checkbox.component.d.ts +1 -1
  181. package/color/color.component.d.ts +2 -2
  182. package/color-picker/color-picker-portal.component.d.ts +3 -3
  183. package/color-picker/color-picker.component.d.ts +10 -4
  184. package/color-picker/color-picker.property.d.ts +12 -2
  185. package/comment/comment.component.d.ts +1 -1
  186. package/core/config/config.d.ts +25 -0
  187. package/core/functions/clone-deep.d.ts +1 -0
  188. package/core/functions/drop.d.ts +1 -0
  189. package/core/functions/flex.d.ts +1 -1
  190. package/core/functions/has-in.d.ts +1 -0
  191. package/core/functions/order-by.d.ts +1 -0
  192. package/core/functions/public-api.d.ts +5 -0
  193. package/core/functions/remove.d.ts +1 -0
  194. package/core/services/reuse-strategy.service.d.ts +1 -1
  195. package/crumb/crumb.component.d.ts +1 -1
  196. package/date-picker/date-picker-portal.component.d.ts +4 -11
  197. package/date-picker/date-picker.component.d.ts +3 -4
  198. package/date-picker/date-picker.property.d.ts +55 -30
  199. package/date-picker/date-range-portal.component.d.ts +10 -6
  200. package/date-picker/date-range.component.d.ts +15 -11
  201. package/date-picker/picker-date.component.d.ts +13 -4
  202. package/date-picker/picker-month.component.d.ts +6 -3
  203. package/date-picker/picker-year.component.d.ts +4 -2
  204. package/description/description.component.d.ts +2 -4
  205. package/dropdown/dropdown-portal.component.d.ts +1 -3
  206. package/dropdown/dropdown.component.d.ts +2 -2
  207. package/esm2015/affix/affix.component.js +3 -3
  208. package/esm2015/affix/affix.module.js +4 -4
  209. package/esm2015/affix/affix.property.js +3 -3
  210. package/esm2015/alert/alert.component.js +4 -4
  211. package/esm2015/alert/alert.module.js +4 -4
  212. package/esm2015/alert/alert.property.js +3 -3
  213. package/esm2015/anchor/anchor.component.js +5 -5
  214. package/esm2015/anchor/anchor.module.js +4 -4
  215. package/esm2015/anchor/anchor.property.js +4 -4
  216. package/esm2015/api/api.component.js +3 -3
  217. package/esm2015/api/api.module.js +4 -4
  218. package/esm2015/auto-complete/auto-complete-portal.component.js +6 -6
  219. package/esm2015/auto-complete/auto-complete.component.js +20 -7
  220. package/esm2015/auto-complete/auto-complete.module.js +4 -4
  221. package/esm2015/auto-complete/auto-complete.property.js +10 -4
  222. package/esm2015/avatar/avatar.component.js +3 -3
  223. package/esm2015/avatar/avatar.module.js +4 -4
  224. package/esm2015/avatar/avatar.property.js +3 -3
  225. package/esm2015/back-top/back-top.component.js +6 -6
  226. package/esm2015/back-top/back-top.module.js +4 -4
  227. package/esm2015/back-top/back-top.property.js +3 -3
  228. package/esm2015/badge/badge.component.js +6 -5
  229. package/esm2015/badge/badge.module.js +4 -4
  230. package/esm2015/badge/badge.property.js +3 -3
  231. package/esm2015/base-form/base-form.component.js +5 -5
  232. package/esm2015/base-form/base-form.module.js +4 -4
  233. package/esm2015/base-form/base-form.property.js +29 -5
  234. package/esm2015/border/border.component.js +3 -3
  235. package/esm2015/border/border.module.js +4 -4
  236. package/esm2015/button/button.component.js +10 -7
  237. package/esm2015/button/button.module.js +4 -4
  238. package/esm2015/button/button.property.js +6 -6
  239. package/esm2015/button/buttons.component.js +4 -4
  240. package/esm2015/calendar/calendar.component.js +8 -7
  241. package/esm2015/calendar/calendar.module.js +4 -4
  242. package/esm2015/calendar/calendar.property.js +3 -3
  243. package/esm2015/card/card.component.js +3 -3
  244. package/esm2015/card/card.module.js +4 -4
  245. package/esm2015/card/card.property.js +3 -3
  246. package/esm2015/carousel/carousel-panel.component.js +15 -14
  247. package/esm2015/carousel/carousel.component.js +7 -6
  248. package/esm2015/carousel/carousel.module.js +4 -4
  249. package/esm2015/carousel/carousel.property.js +6 -6
  250. package/esm2015/cascade/cascade-portal.component.js +23 -11
  251. package/esm2015/cascade/cascade.component.js +25 -9
  252. package/esm2015/cascade/cascade.module.js +4 -4
  253. package/esm2015/cascade/cascade.property.js +28 -5
  254. package/esm2015/checkbox/checkbox.component.js +7 -6
  255. package/esm2015/checkbox/checkbox.module.js +4 -4
  256. package/esm2015/checkbox/checkbox.property.js +4 -4
  257. package/esm2015/collapse/collapse-panel.component.js +4 -4
  258. package/esm2015/collapse/collapse.component.js +3 -3
  259. package/esm2015/collapse/collapse.module.js +4 -4
  260. package/esm2015/collapse/collapse.property.js +6 -6
  261. package/esm2015/color/color.component.js +5 -5
  262. package/esm2015/color/color.module.js +4 -4
  263. package/esm2015/color/color.property.js +3 -3
  264. package/esm2015/color-picker/color-picker-portal.component.js +5 -5
  265. package/esm2015/color-picker/color-picker.component.js +33 -14
  266. package/esm2015/color-picker/color-picker.module.js +4 -4
  267. package/esm2015/color-picker/color-picker.property.js +16 -5
  268. package/esm2015/comment/comment-reply.component.js +3 -3
  269. package/esm2015/comment/comment.component.js +7 -6
  270. package/esm2015/comment/comment.module.js +4 -4
  271. package/esm2015/comment/comment.property.js +6 -6
  272. package/esm2015/container/aside.component.js +3 -3
  273. package/esm2015/container/container.component.js +5 -5
  274. package/esm2015/container/container.module.js +4 -4
  275. package/esm2015/container/container.property.js +12 -12
  276. package/esm2015/container/footer.component.js +3 -3
  277. package/esm2015/container/header.component.js +3 -3
  278. package/esm2015/container/main.component.js +3 -3
  279. package/esm2015/core/animation/fade.js +1 -1
  280. package/esm2015/core/config/config.js +1 -1
  281. package/esm2015/core/config/config.service.js +3 -3
  282. package/esm2015/core/functions/clone-deep.js +12 -0
  283. package/esm2015/core/functions/drop.js +8 -0
  284. package/esm2015/core/functions/flex.js +18 -7
  285. package/esm2015/core/functions/has-in.js +4 -0
  286. package/esm2015/core/functions/order-by.js +31 -0
  287. package/esm2015/core/functions/public-api.js +6 -1
  288. package/esm2015/core/functions/remove.js +15 -0
  289. package/esm2015/core/services/http.service.js +5 -5
  290. package/esm2015/core/services/preloading-strategy.service.js +5 -5
  291. package/esm2015/core/services/reuse-strategy.service.js +2 -2
  292. package/esm2015/core/services/storage.service.js +3 -3
  293. package/esm2015/core/theme/theme.service.js +3 -3
  294. package/esm2015/crumb/crumb.component.js +7 -6
  295. package/esm2015/crumb/crumb.module.js +4 -4
  296. package/esm2015/crumb/crumb.property.js +3 -3
  297. package/esm2015/date-picker/date-picker-portal.component.js +11 -43
  298. package/esm2015/date-picker/date-picker.component.js +13 -14
  299. package/esm2015/date-picker/date-picker.module.js +4 -4
  300. package/esm2015/date-picker/date-picker.property.js +102 -38
  301. package/esm2015/date-picker/date-range-portal.component.js +41 -20
  302. package/esm2015/date-picker/date-range.component.js +66 -47
  303. package/esm2015/date-picker/picker-date.component.js +50 -15
  304. package/esm2015/date-picker/picker-month.component.js +25 -9
  305. package/esm2015/date-picker/picker-year.component.js +21 -9
  306. package/esm2015/description/description-item.component.js +4 -4
  307. package/esm2015/description/description.component.js +8 -9
  308. package/esm2015/description/description.module.js +4 -4
  309. package/esm2015/description/description.property.js +6 -6
  310. package/esm2015/dialog/dialog.component.js +6 -5
  311. package/esm2015/dialog/dialog.module.js +4 -4
  312. package/esm2015/dialog/dialog.property.js +4 -4
  313. package/esm2015/doc/doc.component.js +3 -3
  314. package/esm2015/doc/doc.module.js +4 -4
  315. package/esm2015/drawer/drawer.component.js +6 -5
  316. package/esm2015/drawer/drawer.module.js +4 -4
  317. package/esm2015/drawer/drawer.property.js +3 -3
  318. package/esm2015/dropdown/dropdown-portal.component.js +5 -5
  319. package/esm2015/dropdown/dropdown.component.js +7 -6
  320. package/esm2015/dropdown/dropdown.module.js +4 -4
  321. package/esm2015/dropdown/dropdown.property.js +3 -3
  322. package/esm2015/empty/empty.component.js +3 -3
  323. package/esm2015/empty/empty.module.js +4 -4
  324. package/esm2015/empty/empty.property.js +3 -3
  325. package/esm2015/examples/examples.component.js +3 -3
  326. package/esm2015/examples/examples.module.js +4 -4
  327. package/esm2015/find/find.component.js +13 -10
  328. package/esm2015/find/find.module.js +4 -4
  329. package/esm2015/find/find.property.js +16 -5
  330. package/esm2015/form/control.component.js +4 -4
  331. package/esm2015/form/form.component.js +9 -8
  332. package/esm2015/form/form.module.js +4 -4
  333. package/esm2015/form/form.property.js +8 -13
  334. package/esm2015/highlight/highlight.component.js +6 -5
  335. package/esm2015/highlight/highlight.module.js +4 -4
  336. package/esm2015/highlight/highlight.property.js +4 -4
  337. package/esm2015/i18n/i18n.directive.js +6 -5
  338. package/esm2015/i18n/i18n.module.js +4 -4
  339. package/esm2015/i18n/i18n.pipe.js +3 -3
  340. package/esm2015/i18n/i18n.service.js +3 -3
  341. package/esm2015/i18n/languages/ar_EG.js +11 -3
  342. package/esm2015/i18n/languages/bg_BG.js +11 -3
  343. package/esm2015/i18n/languages/ca_ES.js +11 -3
  344. package/esm2015/i18n/languages/cs_CZ.js +11 -3
  345. package/esm2015/i18n/languages/da_DK.js +11 -3
  346. package/esm2015/i18n/languages/de_DE.js +11 -3
  347. package/esm2015/i18n/languages/el_GR.js +11 -3
  348. package/esm2015/i18n/languages/en_GB.js +11 -3
  349. package/esm2015/i18n/languages/en_US.js +7 -2
  350. package/esm2015/i18n/languages/es_ES.js +11 -3
  351. package/esm2015/i18n/languages/et_EE.js +11 -3
  352. package/esm2015/i18n/languages/fa_IR.js +11 -3
  353. package/esm2015/i18n/languages/fi_FI.js +11 -3
  354. package/esm2015/i18n/languages/fr_BE.js +10 -2
  355. package/esm2015/i18n/languages/fr_FR.js +11 -3
  356. package/esm2015/i18n/languages/he_IL.js +11 -3
  357. package/esm2015/i18n/languages/hi_IN.js +11 -3
  358. package/esm2015/i18n/languages/hr_HR.js +11 -3
  359. package/esm2015/i18n/languages/hu_HU.js +11 -3
  360. package/esm2015/i18n/languages/hy_AM.js +11 -3
  361. package/esm2015/i18n/languages/id_ID.js +11 -3
  362. package/esm2015/i18n/languages/is_IS.js +11 -3
  363. package/esm2015/i18n/languages/it_IT.js +11 -3
  364. package/esm2015/i18n/languages/ja_JP.js +11 -3
  365. package/esm2015/i18n/languages/ka_GE.js +11 -3
  366. package/esm2015/i18n/languages/kn_IN.js +11 -3
  367. package/esm2015/i18n/languages/ko_KR.js +11 -3
  368. package/esm2015/i18n/languages/ku_IQ.js +11 -3
  369. package/esm2015/i18n/languages/lv_LV.js +11 -3
  370. package/esm2015/i18n/languages/mn_MN.js +11 -3
  371. package/esm2015/i18n/languages/ms_MY.js +11 -3
  372. package/esm2015/i18n/languages/nb_NO.js +11 -3
  373. package/esm2015/i18n/languages/ne_NP.js +11 -3
  374. package/esm2015/i18n/languages/nl_BE.js +11 -3
  375. package/esm2015/i18n/languages/nl_NL.js +11 -3
  376. package/esm2015/i18n/languages/pl_PL.js +11 -3
  377. package/esm2015/i18n/languages/pt_BR.js +11 -3
  378. package/esm2015/i18n/languages/pt_PT.js +11 -3
  379. package/esm2015/i18n/languages/ro_RO.js +11 -3
  380. package/esm2015/i18n/languages/ru_RU.js +11 -3
  381. package/esm2015/i18n/languages/sk_SK.js +11 -3
  382. package/esm2015/i18n/languages/sl_SI.js +11 -3
  383. package/esm2015/i18n/languages/sr_RS.js +11 -3
  384. package/esm2015/i18n/languages/sv_SE.js +11 -3
  385. package/esm2015/i18n/languages/ta_IN.js +11 -3
  386. package/esm2015/i18n/languages/th_TH.js +29 -21
  387. package/esm2015/i18n/languages/tr_TR.js +11 -3
  388. package/esm2015/i18n/languages/uk_UA.js +11 -3
  389. package/esm2015/i18n/languages/vi_VN.js +11 -3
  390. package/esm2015/i18n/languages/zh_CN.js +6 -2
  391. package/esm2015/i18n/languages/zh_TW.js +10 -3
  392. package/esm2015/icon/icon.component.js +7 -6
  393. package/esm2015/icon/icon.module.js +4 -4
  394. package/esm2015/icon/icon.property.js +3 -3
  395. package/esm2015/icon/icon.service.js +6 -6
  396. package/esm2015/inner/inner.component.js +5 -5
  397. package/esm2015/inner/inner.module.js +4 -4
  398. package/esm2015/inner/inner.property.js +3 -3
  399. package/esm2015/input/input-group.component.js +4 -6
  400. package/esm2015/input/input.component.js +20 -7
  401. package/esm2015/input/input.module.js +4 -4
  402. package/esm2015/input/input.property.js +14 -7
  403. package/esm2015/input-number/input-number.component.js +9 -5
  404. package/esm2015/input-number/input-number.module.js +7 -6
  405. package/esm2015/input-number/input-number.property.js +17 -5
  406. package/esm2015/layout/col.component.js +3 -3
  407. package/esm2015/layout/layout.module.js +4 -4
  408. package/esm2015/layout/layout.property.js +6 -6
  409. package/esm2015/layout/row.component.js +3 -3
  410. package/esm2015/link/link.component.js +3 -3
  411. package/esm2015/link/link.module.js +4 -4
  412. package/esm2015/link/link.property.js +3 -3
  413. package/esm2015/list/list-option.component.js +3 -3
  414. package/esm2015/list/list.component.js +8 -7
  415. package/esm2015/list/list.module.js +4 -4
  416. package/esm2015/list/list.property.js +7 -7
  417. package/esm2015/loading/loading.component.js +6 -5
  418. package/esm2015/loading/loading.module.js +4 -4
  419. package/esm2015/loading/loading.property.js +3 -3
  420. package/esm2015/menu/menu-node.component.js +4 -4
  421. package/esm2015/menu/menu.component.js +10 -10
  422. package/esm2015/menu/menu.module.js +4 -4
  423. package/esm2015/menu/menu.property.js +6 -6
  424. package/esm2015/message/message.component.js +5 -5
  425. package/esm2015/message/message.module.js +4 -4
  426. package/esm2015/message/message.service.js +3 -3
  427. package/esm2015/message-box/message-box.component.js +20 -24
  428. package/esm2015/message-box/message-box.module.js +4 -4
  429. package/esm2015/message-box/message-box.service.js +10 -8
  430. package/esm2015/notification/notification.component.js +5 -5
  431. package/esm2015/notification/notification.module.js +4 -4
  432. package/esm2015/notification/notification.property.js +1 -1
  433. package/esm2015/notification/notification.service.js +3 -3
  434. package/esm2015/outlet/outlet.directive.js +3 -3
  435. package/esm2015/outlet/outlet.module.js +4 -4
  436. package/esm2015/page-header/page-header.component.js +3 -3
  437. package/esm2015/page-header/page-header.module.js +4 -4
  438. package/esm2015/page-header/page-header.property.js +3 -3
  439. package/esm2015/pagination/pagination.component.js +45 -7
  440. package/esm2015/pagination/pagination.module.js +10 -6
  441. package/esm2015/pagination/pagination.property.js +52 -4
  442. package/esm2015/pattern/pattern.component.js +3 -3
  443. package/esm2015/pattern/pattern.module.js +4 -4
  444. package/esm2015/popconfirm/popconfirm.component.js +3 -3
  445. package/esm2015/popconfirm/popconfirm.module.js +4 -4
  446. package/esm2015/popconfirm/popconfirm.property.js +3 -3
  447. package/esm2015/popover/popover-portal.component.js +4 -4
  448. package/esm2015/popover/popover.directive.js +7 -6
  449. package/esm2015/popover/popover.module.js +4 -4
  450. package/esm2015/popover/popover.property.js +3 -3
  451. package/esm2015/portal/portal.module.js +4 -4
  452. package/esm2015/portal/portal.service.js +3 -3
  453. package/esm2015/progress/progress.component.js +7 -6
  454. package/esm2015/progress/progress.module.js +4 -4
  455. package/esm2015/progress/progress.property.js +3 -3
  456. package/esm2015/radio/radio.component.js +7 -6
  457. package/esm2015/radio/radio.module.js +4 -4
  458. package/esm2015/radio/radio.property.js +4 -4
  459. package/esm2015/rate/rate.component.js +9 -9
  460. package/esm2015/rate/rate.module.js +4 -4
  461. package/esm2015/rate/rate.property.js +3 -3
  462. package/esm2015/result/result.component.js +3 -3
  463. package/esm2015/result/result.module.js +4 -4
  464. package/esm2015/result/result.property.js +3 -3
  465. package/esm2015/ripple/ripple.directive.js +4 -4
  466. package/esm2015/ripple/ripple.module.js +4 -4
  467. package/esm2015/ripple/ripple.property.js +4 -4
  468. package/esm2015/select/select-portal.component.js +6 -6
  469. package/esm2015/select/select.component.js +15 -11
  470. package/esm2015/select/select.module.js +4 -4
  471. package/esm2015/select/select.property.js +15 -4
  472. package/esm2015/skeleton/skeleton.component.js +6 -5
  473. package/esm2015/skeleton/skeleton.module.js +4 -4
  474. package/esm2015/skeleton/skeleton.property.js +3 -3
  475. package/esm2015/slider/slider.component.js +11 -12
  476. package/esm2015/slider/slider.module.js +4 -4
  477. package/esm2015/slider/slider.property.js +3 -3
  478. package/esm2015/slider-select/slider-select.component.js +3 -3
  479. package/esm2015/slider-select/slider-select.module.js +4 -4
  480. package/esm2015/slider-select/slider-select.property.js +3 -3
  481. package/esm2015/statistic/countdown.component.js +8 -7
  482. package/esm2015/statistic/statistic.component.js +6 -5
  483. package/esm2015/statistic/statistic.module.js +4 -4
  484. package/esm2015/statistic/statistic.property.js +6 -6
  485. package/esm2015/steps/steps.component.js +9 -7
  486. package/esm2015/steps/steps.module.js +7 -6
  487. package/esm2015/steps/steps.property.js +6 -4
  488. package/esm2015/switch/switch.component.js +3 -3
  489. package/esm2015/switch/switch.module.js +4 -4
  490. package/esm2015/switch/switch.property.js +3 -3
  491. package/esm2015/table/drag.directive.js +5 -5
  492. package/esm2015/table/table-body.component.js +7 -6
  493. package/esm2015/table/table-foot.component.js +4 -4
  494. package/esm2015/table/table-head.component.js +7 -6
  495. package/esm2015/table/table.component.js +9 -8
  496. package/esm2015/table/table.module.js +4 -4
  497. package/esm2015/table/table.property.js +13 -13
  498. package/esm2015/tabs/tab-content.component.js +3 -3
  499. package/esm2015/tabs/tab.component.js +4 -4
  500. package/esm2015/tabs/tabs.component.js +9 -8
  501. package/esm2015/tabs/tabs.module.js +4 -4
  502. package/esm2015/tabs/tabs.property.js +6 -6
  503. package/esm2015/tag/tag.component.js +10 -5
  504. package/esm2015/tag/tag.module.js +4 -4
  505. package/esm2015/tag/tag.property.js +10 -4
  506. package/esm2015/text-retract/text-retract.component.js +6 -5
  507. package/esm2015/text-retract/text-retract.module.js +4 -4
  508. package/esm2015/text-retract/text-retract.property.js +3 -3
  509. package/esm2015/textarea/textarea.component.js +6 -5
  510. package/esm2015/textarea/textarea.module.js +4 -4
  511. package/esm2015/textarea/textarea.property.js +4 -14
  512. package/esm2015/theme/theme.component.js +5 -5
  513. package/esm2015/theme/theme.module.js +4 -4
  514. package/esm2015/theme/theme.property.js +4 -4
  515. package/esm2015/time-ago/time-ago.module.js +4 -4
  516. package/esm2015/time-ago/time-ago.pipe.js +3 -3
  517. package/esm2015/time-picker/time-picker-frame.component.js +22 -12
  518. package/esm2015/time-picker/time-picker-portal.component.js +5 -5
  519. package/esm2015/time-picker/time-picker.component.js +31 -15
  520. package/esm2015/time-picker/time-picker.module.js +4 -4
  521. package/esm2015/time-picker/time-picker.property.js +16 -5
  522. package/esm2015/time-range/time-range.module.js +4 -4
  523. package/esm2015/time-range/time-range.pipe.js +3 -3
  524. package/esm2015/timeline/timeline.component.js +7 -6
  525. package/esm2015/timeline/timeline.module.js +4 -4
  526. package/esm2015/timeline/timeline.property.js +3 -3
  527. package/esm2015/tooltip/tooltip-portal.component.js +4 -4
  528. package/esm2015/tooltip/tooltip.directive.js +7 -6
  529. package/esm2015/tooltip/tooltip.module.js +4 -4
  530. package/esm2015/tooltip/tooltip.property.js +4 -4
  531. package/esm2015/transfer/transfer.component.js +7 -6
  532. package/esm2015/transfer/transfer.module.js +4 -4
  533. package/esm2015/transfer/transfer.property.js +3 -3
  534. package/esm2015/tree/tree-node.component.js +5 -5
  535. package/esm2015/tree/tree.component.js +11 -10
  536. package/esm2015/tree/tree.module.js +4 -4
  537. package/esm2015/tree/tree.property.js +7 -7
  538. package/esm2015/tree-file/tree-file.component.js +3 -3
  539. package/esm2015/tree-file/tree-file.module.js +4 -4
  540. package/esm2015/tree-file/tree-file.property.js +3 -3
  541. package/esm2015/typography/typography.component.js +3 -3
  542. package/esm2015/typography/typography.module.js +4 -4
  543. package/esm2015/typography/typography.property.js +3 -3
  544. package/esm2015/upload/upload-portal.component.js +5 -5
  545. package/esm2015/upload/upload.component.js +7 -6
  546. package/esm2015/upload/upload.module.js +4 -4
  547. package/esm2015/upload/upload.property.js +3 -3
  548. package/fesm2015/ng-nest-ui-affix.js +10 -10
  549. package/fesm2015/ng-nest-ui-alert.js +10 -10
  550. package/fesm2015/ng-nest-ui-alert.js.map +1 -1
  551. package/fesm2015/ng-nest-ui-anchor.js +11 -11
  552. package/fesm2015/ng-nest-ui-anchor.js.map +1 -1
  553. package/fesm2015/ng-nest-ui-api.js +7 -7
  554. package/fesm2015/ng-nest-ui-auto-complete.js +37 -18
  555. package/fesm2015/ng-nest-ui-auto-complete.js.map +1 -1
  556. package/fesm2015/ng-nest-ui-avatar.js +10 -10
  557. package/fesm2015/ng-nest-ui-back-top.js +12 -12
  558. package/fesm2015/ng-nest-ui-back-top.js.map +1 -1
  559. package/fesm2015/ng-nest-ui-badge.js +12 -11
  560. package/fesm2015/ng-nest-ui-badge.js.map +1 -1
  561. package/fesm2015/ng-nest-ui-base-form.js +36 -12
  562. package/fesm2015/ng-nest-ui-base-form.js.map +1 -1
  563. package/fesm2015/ng-nest-ui-border.js +7 -7
  564. package/fesm2015/ng-nest-ui-button.js +22 -19
  565. package/fesm2015/ng-nest-ui-button.js.map +1 -1
  566. package/fesm2015/ng-nest-ui-calendar.js +14 -13
  567. package/fesm2015/ng-nest-ui-calendar.js.map +1 -1
  568. package/fesm2015/ng-nest-ui-card.js +10 -10
  569. package/fesm2015/ng-nest-ui-carousel.js +28 -27
  570. package/fesm2015/ng-nest-ui-carousel.js.map +1 -1
  571. package/fesm2015/ng-nest-ui-cascade.js +80 -28
  572. package/fesm2015/ng-nest-ui-cascade.js.map +1 -1
  573. package/fesm2015/ng-nest-ui-checkbox.js +13 -12
  574. package/fesm2015/ng-nest-ui-checkbox.js.map +1 -1
  575. package/fesm2015/ng-nest-ui-collapse.js +16 -16
  576. package/fesm2015/ng-nest-ui-collapse.js.map +1 -1
  577. package/fesm2015/ng-nest-ui-color-picker.js +55 -24
  578. package/fesm2015/ng-nest-ui-color-picker.js.map +1 -1
  579. package/fesm2015/ng-nest-ui-color.js +11 -11
  580. package/fesm2015/ng-nest-ui-color.js.map +1 -1
  581. package/fesm2015/ng-nest-ui-comment.js +19 -18
  582. package/fesm2015/ng-nest-ui-comment.js.map +1 -1
  583. package/fesm2015/ng-nest-ui-container.js +32 -32
  584. package/fesm2015/ng-nest-ui-container.js.map +1 -1
  585. package/fesm2015/ng-nest-ui-core.js +106 -25
  586. package/fesm2015/ng-nest-ui-core.js.map +1 -1
  587. package/fesm2015/ng-nest-ui-crumb.js +13 -12
  588. package/fesm2015/ng-nest-ui-crumb.js.map +1 -1
  589. package/fesm2015/ng-nest-ui-date-picker.js +325 -190
  590. package/fesm2015/ng-nest-ui-date-picker.js.map +1 -1
  591. package/fesm2015/ng-nest-ui-description.js +21 -22
  592. package/fesm2015/ng-nest-ui-description.js.map +1 -1
  593. package/fesm2015/ng-nest-ui-dialog.js +12 -11
  594. package/fesm2015/ng-nest-ui-dialog.js.map +1 -1
  595. package/fesm2015/ng-nest-ui-doc.js +7 -7
  596. package/fesm2015/ng-nest-ui-drawer.js +12 -11
  597. package/fesm2015/ng-nest-ui-drawer.js.map +1 -1
  598. package/fesm2015/ng-nest-ui-dropdown.js +17 -16
  599. package/fesm2015/ng-nest-ui-dropdown.js.map +1 -1
  600. package/fesm2015/ng-nest-ui-empty.js +10 -10
  601. package/fesm2015/ng-nest-ui-examples.js +7 -7
  602. package/fesm2015/ng-nest-ui-find.js +31 -17
  603. package/fesm2015/ng-nest-ui-find.js.map +1 -1
  604. package/fesm2015/ng-nest-ui-form.js +22 -26
  605. package/fesm2015/ng-nest-ui-form.js.map +1 -1
  606. package/fesm2015/ng-nest-ui-highlight.js +12 -11
  607. package/fesm2015/ng-nest-ui-highlight.js.map +1 -1
  608. package/fesm2015/ng-nest-ui-i18n.js +532 -131
  609. package/fesm2015/ng-nest-ui-i18n.js.map +1 -1
  610. package/fesm2015/ng-nest-ui-icon.js +18 -18
  611. package/fesm2015/ng-nest-ui-icon.js.map +1 -1
  612. package/fesm2015/ng-nest-ui-inner.js +11 -11
  613. package/fesm2015/ng-nest-ui-inner.js.map +1 -1
  614. package/fesm2015/ng-nest-ui-input-number.js +31 -14
  615. package/fesm2015/ng-nest-ui-input-number.js.map +1 -1
  616. package/fesm2015/ng-nest-ui-input.js +39 -21
  617. package/fesm2015/ng-nest-ui-input.js.map +1 -1
  618. package/fesm2015/ng-nest-ui-layout.js +16 -16
  619. package/fesm2015/ng-nest-ui-link.js +10 -10
  620. package/fesm2015/ng-nest-ui-list.js +20 -19
  621. package/fesm2015/ng-nest-ui-list.js.map +1 -1
  622. package/fesm2015/ng-nest-ui-loading.js +12 -11
  623. package/fesm2015/ng-nest-ui-loading.js.map +1 -1
  624. package/fesm2015/ng-nest-ui-menu.js +22 -22
  625. package/fesm2015/ng-nest-ui-menu.js.map +1 -1
  626. package/fesm2015/ng-nest-ui-message-box.js +32 -34
  627. package/fesm2015/ng-nest-ui-message-box.js.map +1 -1
  628. package/fesm2015/ng-nest-ui-message.js +11 -11
  629. package/fesm2015/ng-nest-ui-message.js.map +1 -1
  630. package/fesm2015/ng-nest-ui-notification.js +11 -11
  631. package/fesm2015/ng-nest-ui-notification.js.map +1 -1
  632. package/fesm2015/ng-nest-ui-outlet.js +7 -7
  633. package/fesm2015/ng-nest-ui-page-header.js +10 -10
  634. package/fesm2015/ng-nest-ui-pagination.js +104 -14
  635. package/fesm2015/ng-nest-ui-pagination.js.map +1 -1
  636. package/fesm2015/ng-nest-ui-pattern.js +7 -7
  637. package/fesm2015/ng-nest-ui-popconfirm.js +10 -10
  638. package/fesm2015/ng-nest-ui-popover.js +16 -15
  639. package/fesm2015/ng-nest-ui-popover.js.map +1 -1
  640. package/fesm2015/ng-nest-ui-portal.js +7 -7
  641. package/fesm2015/ng-nest-ui-progress.js +13 -12
  642. package/fesm2015/ng-nest-ui-progress.js.map +1 -1
  643. package/fesm2015/ng-nest-ui-radio.js +13 -12
  644. package/fesm2015/ng-nest-ui-radio.js.map +1 -1
  645. package/fesm2015/ng-nest-ui-rate.js +15 -15
  646. package/fesm2015/ng-nest-ui-rate.js.map +1 -1
  647. package/fesm2015/ng-nest-ui-result.js +10 -10
  648. package/fesm2015/ng-nest-ui-ripple.js +10 -10
  649. package/fesm2015/ng-nest-ui-ripple.js.map +1 -1
  650. package/fesm2015/ng-nest-ui-select.js +37 -22
  651. package/fesm2015/ng-nest-ui-select.js.map +1 -1
  652. package/fesm2015/ng-nest-ui-skeleton.js +12 -11
  653. package/fesm2015/ng-nest-ui-skeleton.js.map +1 -1
  654. package/fesm2015/ng-nest-ui-slider-select.js +10 -10
  655. package/fesm2015/ng-nest-ui-slider.js +17 -18
  656. package/fesm2015/ng-nest-ui-slider.js.map +1 -1
  657. package/fesm2015/ng-nest-ui-statistic.js +22 -20
  658. package/fesm2015/ng-nest-ui-statistic.js.map +1 -1
  659. package/fesm2015/ng-nest-ui-steps.js +19 -14
  660. package/fesm2015/ng-nest-ui-steps.js.map +1 -1
  661. package/fesm2015/ng-nest-ui-switch.js +10 -10
  662. package/fesm2015/ng-nest-ui-table.js +43 -40
  663. package/fesm2015/ng-nest-ui-table.js.map +1 -1
  664. package/fesm2015/ng-nest-ui-tabs.js +24 -23
  665. package/fesm2015/ng-nest-ui-tabs.js.map +1 -1
  666. package/fesm2015/ng-nest-ui-tag.js +22 -11
  667. package/fesm2015/ng-nest-ui-tag.js.map +1 -1
  668. package/fesm2015/ng-nest-ui-text-retract.js +12 -11
  669. package/fesm2015/ng-nest-ui-text-retract.js.map +1 -1
  670. package/fesm2015/ng-nest-ui-textarea.js +12 -21
  671. package/fesm2015/ng-nest-ui-textarea.js.map +1 -1
  672. package/fesm2015/ng-nest-ui-theme.js +11 -11
  673. package/fesm2015/ng-nest-ui-theme.js.map +1 -1
  674. package/fesm2015/ng-nest-ui-time-ago.js +7 -7
  675. package/fesm2015/ng-nest-ui-time-picker.js +73 -36
  676. package/fesm2015/ng-nest-ui-time-picker.js.map +1 -1
  677. package/fesm2015/ng-nest-ui-time-range.js +7 -7
  678. package/fesm2015/ng-nest-ui-timeline.js +13 -12
  679. package/fesm2015/ng-nest-ui-timeline.js.map +1 -1
  680. package/fesm2015/ng-nest-ui-tooltip.js +16 -15
  681. package/fesm2015/ng-nest-ui-tooltip.js.map +1 -1
  682. package/fesm2015/ng-nest-ui-transfer.js +13 -12
  683. package/fesm2015/ng-nest-ui-transfer.js.map +1 -1
  684. package/fesm2015/ng-nest-ui-tree-file.js +10 -10
  685. package/fesm2015/ng-nest-ui-tree.js +24 -23
  686. package/fesm2015/ng-nest-ui-tree.js.map +1 -1
  687. package/fesm2015/ng-nest-ui-typography.js +10 -10
  688. package/fesm2015/ng-nest-ui-upload.js +17 -16
  689. package/fesm2015/ng-nest-ui-upload.js.map +1 -1
  690. package/find/find.component.d.ts +1 -1
  691. package/find/find.property.d.ts +22 -2
  692. package/form/control.component.d.ts +1 -1
  693. package/form/form.component.d.ts +1 -1
  694. package/form/form.property.d.ts +6 -6
  695. package/i18n/languages/ar_EG.d.ts +8 -0
  696. package/i18n/languages/bg_BG.d.ts +8 -0
  697. package/i18n/languages/ca_ES.d.ts +8 -0
  698. package/i18n/languages/cs_CZ.d.ts +8 -0
  699. package/i18n/languages/da_DK.d.ts +8 -0
  700. package/i18n/languages/de_DE.d.ts +8 -0
  701. package/i18n/languages/el_GR.d.ts +8 -0
  702. package/i18n/languages/en_GB.d.ts +8 -0
  703. package/i18n/languages/en_US.d.ts +5 -0
  704. package/i18n/languages/es_ES.d.ts +8 -0
  705. package/i18n/languages/et_EE.d.ts +8 -0
  706. package/i18n/languages/fa_IR.d.ts +8 -0
  707. package/i18n/languages/fi_FI.d.ts +8 -0
  708. package/i18n/languages/fr_BE.d.ts +8 -0
  709. package/i18n/languages/fr_FR.d.ts +8 -0
  710. package/i18n/languages/he_IL.d.ts +8 -0
  711. package/i18n/languages/hi_IN.d.ts +8 -0
  712. package/i18n/languages/hr_HR.d.ts +8 -0
  713. package/i18n/languages/hu_HU.d.ts +8 -0
  714. package/i18n/languages/hy_AM.d.ts +8 -0
  715. package/i18n/languages/id_ID.d.ts +8 -0
  716. package/i18n/languages/is_IS.d.ts +8 -0
  717. package/i18n/languages/it_IT.d.ts +8 -0
  718. package/i18n/languages/ja_JP.d.ts +8 -0
  719. package/i18n/languages/ka_GE.d.ts +8 -0
  720. package/i18n/languages/kn_IN.d.ts +8 -0
  721. package/i18n/languages/ko_KR.d.ts +8 -0
  722. package/i18n/languages/ku_IQ.d.ts +8 -0
  723. package/i18n/languages/lv_LV.d.ts +8 -0
  724. package/i18n/languages/mn_MN.d.ts +8 -0
  725. package/i18n/languages/ms_MY.d.ts +8 -0
  726. package/i18n/languages/nb_NO.d.ts +8 -0
  727. package/i18n/languages/ne_NP.d.ts +8 -0
  728. package/i18n/languages/nl_BE.d.ts +8 -0
  729. package/i18n/languages/nl_NL.d.ts +8 -0
  730. package/i18n/languages/pl_PL.d.ts +8 -0
  731. package/i18n/languages/pt_BR.d.ts +8 -0
  732. package/i18n/languages/pt_PT.d.ts +8 -0
  733. package/i18n/languages/ro_RO.d.ts +8 -0
  734. package/i18n/languages/ru_RU.d.ts +8 -0
  735. package/i18n/languages/sk_SK.d.ts +8 -0
  736. package/i18n/languages/sl_SI.d.ts +8 -0
  737. package/i18n/languages/sr_RS.d.ts +8 -0
  738. package/i18n/languages/sv_SE.d.ts +8 -0
  739. package/i18n/languages/ta_IN.d.ts +8 -0
  740. package/i18n/languages/th_TH.d.ts +8 -0
  741. package/i18n/languages/tr_TR.d.ts +8 -0
  742. package/i18n/languages/uk_UA.d.ts +8 -0
  743. package/i18n/languages/vi_VN.d.ts +8 -0
  744. package/i18n/languages/zh_CN.d.ts +4 -0
  745. package/i18n/languages/zh_TW.d.ts +7 -0
  746. package/inner/inner.component.d.ts +1 -1
  747. package/input/input-group.component.d.ts +2 -4
  748. package/input/input.component.d.ts +3 -1
  749. package/input/input.property.d.ts +13 -1
  750. package/input-number/input-number.component.d.ts +3 -0
  751. package/input-number/input-number.module.d.ts +4 -3
  752. package/input-number/input-number.property.d.ts +12 -2
  753. package/list/list.component.d.ts +2 -2
  754. package/menu/menu.component.d.ts +1 -1
  755. package/message/message.component.d.ts +1 -1
  756. package/message-box/message-box.component.d.ts +2 -1
  757. package/notification/notification.component.d.ts +1 -1
  758. package/package.json +1 -1
  759. package/pagination/pagination.component.d.ts +5 -1
  760. package/pagination/pagination.module.d.ts +7 -3
  761. package/pagination/pagination.property.d.ts +49 -3
  762. package/radio/radio.component.d.ts +1 -1
  763. package/rate/rate.component.d.ts +5 -5
  764. package/select/select-portal.component.d.ts +3 -3
  765. package/select/select.component.d.ts +1 -1
  766. package/select/select.property.d.ts +12 -2
  767. package/slider/slider.component.d.ts +1 -1
  768. package/steps/steps.component.d.ts +1 -1
  769. package/steps/steps.module.d.ts +2 -1
  770. package/steps/steps.property.d.ts +7 -2
  771. package/table/table-body.component.d.ts +1 -1
  772. package/table/table-head.component.d.ts +1 -1
  773. package/table/table.component.d.ts +1 -1
  774. package/table/table.property.d.ts +10 -0
  775. package/tag/tag.component.d.ts +2 -1
  776. package/tag/tag.property.d.ts +6 -1
  777. package/textarea/textarea.property.d.ts +1 -6
  778. package/theme/theme.component.d.ts +1 -1
  779. package/time-picker/time-picker-frame.component.d.ts +4 -0
  780. package/time-picker/time-picker-portal.component.d.ts +3 -3
  781. package/time-picker/time-picker.component.d.ts +5 -3
  782. package/time-picker/time-picker.property.d.ts +12 -2
  783. package/timeline/timeline.component.d.ts +1 -1
  784. package/transfer/transfer.component.d.ts +1 -1
  785. package/tree/tree-node.component.d.ts +1 -1
  786. package/tree/tree.component.d.ts +1 -1
  787. package/upload/upload.component.d.ts +3 -3
@@ -159,9 +159,9 @@ export class XControlComponent extends XControlProperty {
159
159
  }
160
160
  }
161
161
  }
162
- /** @nocollapse */ XControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XControlComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
163
- /** @nocollapse */ XControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XControlComponent, selector: "x-control", inputs: { option: "option", form: "form" }, viewQueries: [{ propertyName: "control", first: true, predicate: FormControlName, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"x-control\" [formGroup]=\"form.formGroup\">\r\n <ng-container [ngSwitch]=\"option.control\">\r\n <ng-container *ngSwitchCase=\"'input'\">\r\n <x-input [formControlName]=\"option.id\" (clearEmit)=\"option.clearClick && option.clearClick($event)\"></x-input>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'select'\">\r\n <x-select [formControlName]=\"option.id\"></x-select>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'cascade'\">\r\n <x-cascade [formControlName]=\"option.id\" (nodeEmit)=\"option.nodeClick && option.nodeClick($event)\"></x-cascade>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <x-checkbox [formControlName]=\"option.id\"></x-checkbox>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'color-picker'\">\r\n <x-color-picker [formControlName]=\"option.id\"></x-color-picker>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-picker'\">\r\n <x-date-picker [formControlName]=\"option.id\" (nodeEmit)=\"option.nodeClick && option.nodeClick($event)\"></x-date-picker>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'input-number'\">\r\n <x-input-number [formControlName]=\"option.id\"></x-input-number>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <x-radio [formControlName]=\"option.id\"></x-radio>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'rate'\">\r\n <x-rate [formControlName]=\"option.id\"></x-rate>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'slider-select'\">\r\n <x-slider-select [formControlName]=\"option.id\"></x-slider-select>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'switch'\">\r\n <x-switch [formControlName]=\"option.id\"></x-switch>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'time-picker'\">\r\n <x-time-picker [formControlName]=\"option.id\"></x-time-picker>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'textarea'\">\r\n <x-textarea [formControlName]=\"option.id\" (clearEmit)=\"option.clearClick && option.clearClick($event)\"></x-textarea>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'auto-complete'\">\r\n <x-auto-complete [formControlName]=\"option.id\" (nodeEmit)=\"option.nodeClick && option.nodeClick($event)\"></x-auto-complete>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'find'\">\r\n <x-find [formControlName]=\"option.id\"></x-find>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n", components: [{ type: i2.XInputComponent, selector: "x-input" }, { type: i3.XSelectComponent, selector: "x-select" }, { type: i4.XCascadeComponent, selector: "x-cascade" }, { type: i5.XCheckboxComponent, selector: "x-checkbox" }, { type: i6.XColorPickerComponent, selector: "x-color-picker" }, { type: i7.XDatePickerComponent, selector: "x-date-picker" }, { type: i8.XInputNumberComponent, selector: "x-input-number" }, { type: i9.XRadioComponent, selector: "x-radio" }, { type: i10.XRateComponent, selector: "x-rate" }, { type: i11.XSliderSelectComponent, selector: "x-slider-select" }, { type: i12.XSwitchComponent, selector: "x-switch" }, { type: i13.XTimePickerComponent, selector: "x-time-picker" }, { type: i14.XTextareaComponent, selector: "x-textarea" }, { type: i15.XAutoCompleteComponent, selector: "x-auto-complete" }, { type: i16.XFindComponent, selector: "x-find" }], directives: [{ type: i17.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i17.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i18.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i18.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i17.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i17.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XControlComponent, decorators: [{
162
+ /** @nocollapse */ XControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XControlComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
163
+ /** @nocollapse */ XControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XControlComponent, selector: "x-control", inputs: { option: "option", form: "form" }, viewQueries: [{ propertyName: "control", first: true, predicate: FormControlName, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"x-control\" [formGroup]=\"form.formGroup\">\r\n <ng-container [ngSwitch]=\"option.control\">\r\n <ng-container *ngSwitchCase=\"'input'\">\r\n <x-input [formControlName]=\"option.id\" (clearEmit)=\"option.clearClick && option.clearClick($event)\"></x-input>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'select'\">\r\n <x-select [formControlName]=\"option.id\"></x-select>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'cascade'\">\r\n <x-cascade [formControlName]=\"option.id\" (nodeEmit)=\"option.nodeClick && option.nodeClick($event)\"></x-cascade>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <x-checkbox [formControlName]=\"option.id\"></x-checkbox>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'color-picker'\">\r\n <x-color-picker [formControlName]=\"option.id\"></x-color-picker>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-picker'\">\r\n <x-date-picker [formControlName]=\"option.id\" (nodeEmit)=\"option.nodeClick && option.nodeClick($event)\"></x-date-picker>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'input-number'\">\r\n <x-input-number [formControlName]=\"option.id\"></x-input-number>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <x-radio [formControlName]=\"option.id\"></x-radio>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'rate'\">\r\n <x-rate [formControlName]=\"option.id\"></x-rate>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'slider-select'\">\r\n <x-slider-select [formControlName]=\"option.id\"></x-slider-select>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'switch'\">\r\n <x-switch [formControlName]=\"option.id\"></x-switch>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'time-picker'\">\r\n <x-time-picker [formControlName]=\"option.id\"></x-time-picker>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'textarea'\">\r\n <x-textarea [formControlName]=\"option.id\" (clearEmit)=\"option.clearClick && option.clearClick($event)\"></x-textarea>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'auto-complete'\">\r\n <x-auto-complete [formControlName]=\"option.id\" (nodeEmit)=\"option.nodeClick && option.nodeClick($event)\"></x-auto-complete>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'find'\">\r\n <x-find [formControlName]=\"option.id\"></x-find>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n", components: [{ type: i2.XInputComponent, selector: "x-input" }, { type: i3.XSelectComponent, selector: "x-select" }, { type: i4.XCascadeComponent, selector: "x-cascade" }, { type: i5.XCheckboxComponent, selector: "x-checkbox" }, { type: i6.XColorPickerComponent, selector: "x-color-picker" }, { type: i7.XDatePickerComponent, selector: "x-date-picker" }, { type: i8.XInputNumberComponent, selector: "x-input-number" }, { type: i9.XRadioComponent, selector: "x-radio" }, { type: i10.XRateComponent, selector: "x-rate" }, { type: i11.XSliderSelectComponent, selector: "x-slider-select" }, { type: i12.XSwitchComponent, selector: "x-switch" }, { type: i13.XTimePickerComponent, selector: "x-time-picker" }, { type: i14.XTextareaComponent, selector: "x-textarea" }, { type: i15.XAutoCompleteComponent, selector: "x-auto-complete" }, { type: i16.XFindComponent, selector: "x-find" }], directives: [{ type: i17.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i17.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i18.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i18.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i17.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i17.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XControlComponent, decorators: [{
165
165
  type: Component,
166
166
  args: [{
167
167
  selector: 'x-control',
@@ -177,4 +177,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
177
177
  type: ViewChild,
178
178
  args: [FormControlName, { static: false }]
179
179
  }] } });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9mb3JtL2NvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZm9ybS9jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixLQUFLLEVBR0wsU0FBUyxFQUtWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxnQkFBZ0IsRUFJaEIsZUFBZSxFQUVmLGFBQWEsRUFFYixjQUFjLEVBRWQsZ0JBQWdCLEVBRWhCLGFBQWEsRUFHYixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBRW5CLGNBQWMsRUFFZCxZQUFZLEVBRVosb0JBQW9CLEVBRXBCLGtCQUFrQixFQUVsQixtQkFBbUIsRUFHbkIsWUFBWSxFQUdaLGdCQUFnQixFQUNoQixvQkFBb0IsRUFFckIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsUUFBUSxFQUFrQixNQUFNLGtCQUFrQixDQUFDO0FBQzVELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVEzQyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsZ0JBQWdCO0lBV3JEO0lBQ0UsbURBQW1EO0lBQzVDLEdBQXNCLEVBQ3RCLGFBQTZCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBSEQsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBVjlCLGlCQUFZLEdBQUcsQ0FB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QyxDQUFDO1lBQzlELEtBQUssY0FBYztnQkFDakIsT0FBTyxJQUFJLG1CQUFtQixDQUFDLE1BQW1DLENBQUMsQ0FBQztZQUN0RSxLQUFLLFVBQVU7Z0JBQ2IsT0FBTyxJQUFJLGdCQUFnQixDQUFDLE1BQWdDLENBQUMsQ0FBQztZQUNoRSxLQUFLLE1BQU07Z0JBQ1QsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUE0QixDQUFDLENBQUM7WUFDeEQsS0FBSyxlQUFlO2dCQUNsQixPQUFPLElBQUksb0JBQW9CLENBQUMsTUFBb0MsQ0FBQyxDQUFDO1lBQ3hFO2dCQUNFLE9BQU8sSUFBSSxhQUFhLENBQUMsTUFBNkIsQ0FBQyxDQUFDO1NBQzNEO0lBQ0gsQ0FBQzs7aUlBL0lVLGlCQUFpQjtxSEFBakIsaUJBQWlCLHNJQUdqQixlQUFlLHVFQ2hFNUIsbWhGQWlEQTsyRkRZYSxpQkFBaUI7a0JBTjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFdBQVcsRUFBRSwwQkFBMEI7b0JBQ3ZDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7cUlBRVUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDeUMsT0FBTztzQkFBckQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgSW5wdXQsXHJcbiAgSG9zdCxcclxuICBPcHRpb25hbCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgT25Jbml0LFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgT25EZXN0cm95XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgWENvbnRyb2xQcm9wZXJ0eSxcclxuICBYRm9ybUNvbnRyb2xPcHRpb24sXHJcbiAgWEZvcm1Db250cm9sQ29tcG9uZW50LFxyXG4gIFhGb3JtQ29udHJvbFR5cGUsXHJcbiAgWENhc2NhZGVDb250cm9sLFxyXG4gIFhDYXNjYWRlQ29udHJvbE9wdGlvbixcclxuICBYSW5wdXRDb250cm9sLFxyXG4gIFhJbnB1dENvbnRyb2xPcHRpb24sXHJcbiAgWFNlbGVjdENvbnRyb2wsXHJcbiAgWFNlbGVjdENvbnRyb2xPcHRpb24sXHJcbiAgWENoZWNrYm94Q29udHJvbCxcclxuICBYQ2hlY2tib3hDb250cm9sT3B0aW9uLFxyXG4gIFhSYWRpb0NvbnRyb2wsXHJcbiAgWFJhZGlvQ29udHJvbE9wdGlvbixcclxuICBYRGF0ZVBpY2tlckNvbnRyb2xPcHRpb24sXHJcbiAgWERhdGVQaWNrZXJDb250cm9sLFxyXG4gIFhJbnB1dE51bWJlckNvbnRyb2wsXHJcbiAgWElucHV0TnVtYmVyQ29udHJvbE9wdGlvbixcclxuICBYU3dpdGNoQ29udHJvbCxcclxuICBYU3dpdGNoQ29udHJvbE9wdGlvbixcclxuICBYUmF0ZUNvbnRyb2wsXHJcbiAgWFJhdGVDb250cm9sT3B0aW9uLFxyXG4gIFhTbGlkZXJTZWxlY3RDb250cm9sLFxyXG4gIFhTbGlkZXJTZWxlY3RDb250cm9sT3B0aW9uLFxyXG4gIFhUaW1lUGlja2VyQ29udHJvbCxcclxuICBYVGltZVBpY2tlckNvbnRyb2xPcHRpb24sXHJcbiAgWENvbG9yUGlja2VyQ29udHJvbCxcclxuICBYQ29sb3JQaWNrZXJDb250cm9sT3B0aW9uLFxyXG4gIFhGb3JtQ29udHJvbCxcclxuICBYRmluZENvbnRyb2wsXHJcbiAgWEZpbmRDb250cm9sT3B0aW9uLFxyXG4gIFhUZXh0YXJlYUNvbnRyb2xPcHRpb24sXHJcbiAgWFRleHRhcmVhQ29udHJvbCxcclxuICBYQXV0b0NvbXBsZXRlQ29udHJvbCxcclxuICBYQXV0b0NvbXBsZXRlQ29udHJvbE9wdGlvblxyXG59IGZyb20gJy4vZm9ybS5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sTmFtZSwgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBYSXNFbXB0eSwgWENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3gtY29udHJvbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhDb250cm9sQ29tcG9uZW50IGV4dGVuZHMgWENvbnRyb2xQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBvcHRpb24hOiBYRm9ybUNvbnRyb2xPcHRpb247XHJcbiAgQElucHV0KCkgZm9ybTogYW55O1xyXG4gIEBWaWV3Q2hpbGQoRm9ybUNvbnRyb2xOYW1lLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udHJvbCE6IEZvcm1Db250cm9sTmFtZTtcclxuICBwcml2YXRlIF9zaGFyZWRQcm9wcyA9IFsnc3BhbicsICdkaXJlY3Rpb24nLCAnanVzdGlmeScsICdhbGlnbicsICdsYWJlbFdpZHRoJywgJ2xhYmVsQWxpZ24nXTtcclxuICBwcml2YXRlIF9jaGFuZ2VQcm9wcyA9IFsnbGFiZWwnLCAuLi50aGlzLl9zaGFyZWRQcm9wc107XHJcbiAgcHJpdmF0ZSBfY29udHJvbCE6IFhGb3JtQ29udHJvbFR5cGU7XHJcbiAgcHJpdmF0ZSBfdmFsaWRhdG9yRm5zOiBWYWxpZGF0b3JGbltdID0gW107XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3QoKTtcclxuICBwcml2YXRlIF9mb3JtQ29udHJvbCE6IEZvcm1Db250cm9sO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIEBIb3N0KCkgQE9wdGlvbmFsKCkgcHVibGljIGZvcm06IFhGb3JtQ29tcG9uZW50LFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0UHJvcHMoKTtcclxuICAgIHRoaXMub3B0aW9uLmxhYmVsID0gYCR7dGhpcy5vcHRpb24ubGFiZWx9JHt0aGlzLmZvcm0ubGFiZWxTdWZmaXh9YDtcclxuICAgIHRoaXMuX2NvbnRyb2wgPSB0aGlzLmNyZWF0ZUNvbnRyb2wodGhpcy5vcHRpb24pO1xyXG4gICAgdGhpcy5fZm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2wodGhpcy5fY29udHJvbC52YWx1ZSk7XHJcbiAgICB0aGlzLnNldFZhbGlkYXRvcnMoKTtcclxuICAgIHRoaXMuX2Zvcm1Db250cm9sLnN0YXR1c0NoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0TWVzc2FnZXMoeCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX2NvbnRyb2wuc2V0VmFsaWRhdG9ycyA9ICgpID0+IHRoaXMuc2V0VmFsaWRhdG9ycygpO1xyXG4gICAgdGhpcy5mb3JtLmZvcm1Hcm91cC5hZGRDb250cm9sKHRoaXMuX2NvbnRyb2wuaWQsIHRoaXMuX2Zvcm1Db250cm9sKTtcclxuICAgIHRoaXMub3B0aW9uLmNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgdGhpcy5fY2hhbmdlUHJvcHMuZm9yRWFjaCgoeDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC52YWx1ZUFjY2Vzc29yICYmIHRoaXMub3B0aW9uW3hdKSB7XHJcbiAgICAgICAgICAodGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgYXMgYW55KVt4XSA9IHRoaXMub3B0aW9uW3hdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuZm9ybS5jb250cm9sQ29tcG9uZW50c1t0aGlzLl9jb250cm9sLmlkXS5mb3JtQ29udHJvbENoYW5nZXMoKTtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMuY29udHJvbC52YWx1ZUFjY2Vzc29yLCB0aGlzLl9jb250cm9sKTtcclxuICAgIHRoaXMuZm9ybS5jb250cm9sVHlwZXNbdGhpcy5fY29udHJvbC5pZF0gPSB0aGlzLl9jb250cm9sO1xyXG4gICAgdGhpcy5mb3JtLmNvbnRyb2xDb21wb25lbnRzW3RoaXMuX2NvbnRyb2wuaWRdID0gdGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgYXMgWEZvcm1Db250cm9sQ29tcG9uZW50O1xyXG4gICAgdGhpcy5mb3JtLmNvbnRyb2xDb21wb25lbnRzW3RoaXMuX2NvbnRyb2wuaWRdLmZvcm1Db250cm9sQ2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRWYWxpZGF0b3JzKCkge1xyXG4gICAgdGhpcy5fdmFsaWRhdG9yRm5zID0gW107XHJcbiAgICBpZiAodGhpcy5fY29udHJvbC5kaXNhYmxlZCB8fCB0aGlzLmZvcm0uZGlzYWJsZWQpIHtcclxuICAgICAgdGhpcy5fZm9ybUNvbnRyb2wuZGlzYWJsZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fZm9ybUNvbnRyb2wuZW5hYmxlKCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5fY29udHJvbC5yZXF1aXJlZCAmJiAhdGhpcy5mb3JtLmRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuX3ZhbGlkYXRvckZucyA9IFsuLi50aGlzLl92YWxpZGF0b3JGbnMsIFZhbGlkYXRvcnMucmVxdWlyZWRdO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX2NvbnRyb2wucGF0dGVybikge1xyXG4gICAgICB0aGlzLnNldFBhdHRlcm4oKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2Zvcm1Db250cm9sLnNldFZhbGlkYXRvcnModGhpcy5fdmFsaWRhdG9yRm5zKTtcclxuICAgIHRoaXMuX2Zvcm1Db250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICB9XHJcblxyXG4gIHNldFByb3BzKCkge1xyXG4gICAgZm9yIChsZXQgcHJvcCBvZiB0aGlzLl9zaGFyZWRQcm9wcykge1xyXG4gICAgICBpZiAoWElzRW1wdHkodGhpcy5vcHRpb25bcHJvcF0pKSB0aGlzLm9wdGlvbltwcm9wXSA9ICh0aGlzLmZvcm0gYXMgYW55KVtwcm9wXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFBhdHRlcm4oKSB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLl9jb250cm9sLnBhdHRlcm4pKSB7XHJcbiAgICAgIGZvciAoY29uc3QgcHQgb2YgdGhpcy5fY29udHJvbC5wYXR0ZXJuKSB7XHJcbiAgICAgICAgdGhpcy5fdmFsaWRhdG9yRm5zID0gWy4uLnRoaXMuX3ZhbGlkYXRvckZucywgVmFsaWRhdG9ycy5wYXR0ZXJuKHB0KV07XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX3ZhbGlkYXRvckZucyA9IFsuLi50aGlzLl92YWxpZGF0b3JGbnMsIFZhbGlkYXRvcnMucGF0dGVybih0aGlzLl9jb250cm9sLnBhdHRlcm4gYXMgUmVnRXhwKV07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRQYXR0ZXJuTXNnKHBhdHRlcm46IHN0cmluZykge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5fY29udHJvbC5wYXR0ZXJuKSkge1xyXG4gICAgICByZXR1cm4gKHRoaXMuX2NvbnRyb2wubWVzc2FnZSBhcyBBcnJheTxhbnk+KVt0aGlzLl9jb250cm9sLnBhdHRlcm4uZmluZEluZGV4KCh4KSA9PiBTdHJpbmcoeCkgPT09IHBhdHRlcm4pXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9jb250cm9sLm1lc3NhZ2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRNZXNzYWdlcyhzdGF0ZTogJ0lOVkFMSUQnIHwgJ1ZBTElEJyB8ICdESVNBQkxFRCcpIHtcclxuICAgIGxldCBjb250cm9sOiBYRm9ybUNvbnRyb2wgPSB0aGlzLl9mb3JtQ29udHJvbDtcclxuICAgIGlmIChzdGF0ZSA9PT0gJ0lOVkFMSUQnICYmIHRoaXMuX2Zvcm1Db250cm9sLmVycm9ycyAhPT0gbnVsbCkge1xyXG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBjb250cm9sLmVycm9ycykge1xyXG4gICAgICAgIGlmIChrZXkgPT09ICdyZXF1aXJlZCcpIHtcclxuICAgICAgICAgIGNvbnRyb2wubWVzc2FnZXMgPSBbYCR7dGhpcy5fY29udHJvbC5sYWJlbH0g5b+F5aGrYF07XHJcbiAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICdwYXR0ZXJuJykge1xyXG4gICAgICAgICAgY29udHJvbC5tZXNzYWdlcyA9IFtgJHt0aGlzLl9jb250cm9sLmxhYmVsfSAke3RoaXMuZ2V0UGF0dGVybk1zZyhjb250cm9sLmVycm9yc1trZXldLnJlcXVpcmVkUGF0dGVybil9YF07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHN0YXRlID09PSAnVkFMSUQnKSB7XHJcbiAgICAgIGNvbnRyb2wubWVzc2FnZXMgPSBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNyZWF0ZUNvbnRyb2wob3B0aW9uOiBYRm9ybUNvbnRyb2xPcHRpb24pIHtcclxuICAgIHN3aXRjaCAob3B0aW9uLmNvbnRyb2wpIHtcclxuICAgICAgY2FzZSAnaW5wdXQnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWElucHV0Q29udHJvbChvcHRpb24gYXMgWElucHV0Q29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ3NlbGVjdCc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYU2VsZWN0Q29udHJvbChvcHRpb24gYXMgWFNlbGVjdENvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdjaGVja2JveCc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYQ2hlY2tib3hDb250cm9sKG9wdGlvbiBhcyBYQ2hlY2tib3hDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAncmFkaW8nOlxyXG4gICAgICAgIHJldHVybiBuZXcgWFJhZGlvQ29udHJvbChvcHRpb24gYXMgWFJhZGlvQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ3N3aXRjaCc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYU3dpdGNoQ29udHJvbChvcHRpb24gYXMgWFN3aXRjaENvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdyYXRlJzpcclxuICAgICAgICByZXR1cm4gbmV3IFhSYXRlQ29udHJvbChvcHRpb24gYXMgWFJhdGVDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAnZGF0ZS1waWNrZXInOlxyXG4gICAgICAgIHJldHVybiBuZXcgWERhdGVQaWNrZXJDb250cm9sKG9wdGlvbiBhcyBYRGF0ZVBpY2tlckNvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICd0aW1lLXBpY2tlcic6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYVGltZVBpY2tlckNvbnRyb2wob3B0aW9uIGFzIFhUaW1lUGlja2VyQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ2lucHV0LW51bWJlcic6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYSW5wdXROdW1iZXJDb250cm9sKG9wdGlvbiBhcyBYSW5wdXROdW1iZXJDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAnc2xpZGVyLXNlbGVjdCc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYU2xpZGVyU2VsZWN0Q29udHJvbChvcHRpb24gYXMgWFNsaWRlclNlbGVjdENvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdjYXNjYWRlJzpcclxuICAgICAgICByZXR1cm4gbmV3IFhDYXNjYWRlQ29udHJvbChvcHRpb24gYXMgWENhc2NhZGVDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAnY29sb3ItcGlja2VyJzpcclxuICAgICAgICByZXR1cm4gbmV3IFhDb2xvclBpY2tlckNvbnRyb2wob3B0aW9uIGFzIFhDb2xvclBpY2tlckNvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICd0ZXh0YXJlYSc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYVGV4dGFyZWFDb250cm9sKG9wdGlvbiBhcyBYVGV4dGFyZWFDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAnZmluZCc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYRmluZENvbnRyb2wob3B0aW9uIGFzIFhGaW5kQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ2F1dG8tY29tcGxldGUnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWEF1dG9Db21wbGV0ZUNvbnRyb2wob3B0aW9uIGFzIFhBdXRvQ29tcGxldGVDb250cm9sT3B0aW9uKTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gbmV3IFhJbnB1dENvbnRyb2wob3B0aW9uIGFzIFhJbnB1dENvbnRyb2xPcHRpb24pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwieC1jb250cm9sXCIgW2Zvcm1Hcm91cF09XCJmb3JtLmZvcm1Hcm91cFwiPlxyXG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIm9wdGlvbi5jb250cm9sXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInaW5wdXQnXCI+XHJcbiAgICAgIDx4LWlucHV0IFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCIgKGNsZWFyRW1pdCk9XCJvcHRpb24uY2xlYXJDbGljayAmJiBvcHRpb24uY2xlYXJDbGljaygkZXZlbnQpXCI+PC94LWlucHV0PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiPlxyXG4gICAgICA8eC1zZWxlY3QgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIj48L3gtc2VsZWN0PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY2FzY2FkZSdcIj5cclxuICAgICAgPHgtY2FzY2FkZSBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiIChub2RlRW1pdCk9XCJvcHRpb24ubm9kZUNsaWNrICYmIG9wdGlvbi5ub2RlQ2xpY2soJGV2ZW50KVwiPjwveC1jYXNjYWRlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCI+XHJcbiAgICAgIDx4LWNoZWNrYm94IFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCI+PC94LWNoZWNrYm94PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY29sb3ItcGlja2VyJ1wiPlxyXG4gICAgICA8eC1jb2xvci1waWNrZXIgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIj48L3gtY29sb3ItcGlja2VyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF0ZS1waWNrZXInXCI+XHJcbiAgICAgIDx4LWRhdGUtcGlja2VyIFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCIgKG5vZGVFbWl0KT1cIm9wdGlvbi5ub2RlQ2xpY2sgJiYgb3B0aW9uLm5vZGVDbGljaygkZXZlbnQpXCI+PC94LWRhdGUtcGlja2VyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInaW5wdXQtbnVtYmVyJ1wiPlxyXG4gICAgICA8eC1pbnB1dC1udW1iZXIgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIj48L3gtaW5wdXQtbnVtYmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncmFkaW8nXCI+XHJcbiAgICAgIDx4LXJhZGlvIFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCI+PC94LXJhZGlvPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncmF0ZSdcIj5cclxuICAgICAgPHgtcmF0ZSBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiPjwveC1yYXRlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc2xpZGVyLXNlbGVjdCdcIj5cclxuICAgICAgPHgtc2xpZGVyLXNlbGVjdCBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiPjwveC1zbGlkZXItc2VsZWN0PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc3dpdGNoJ1wiPlxyXG4gICAgICA8eC1zd2l0Y2ggW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIj48L3gtc3dpdGNoPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGltZS1waWNrZXInXCI+XHJcbiAgICAgIDx4LXRpbWUtcGlja2VyIFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCI+PC94LXRpbWUtcGlja2VyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGV4dGFyZWEnXCI+XHJcbiAgICAgIDx4LXRleHRhcmVhIFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCIgKGNsZWFyRW1pdCk9XCJvcHRpb24uY2xlYXJDbGljayAmJiBvcHRpb24uY2xlYXJDbGljaygkZXZlbnQpXCI+PC94LXRleHRhcmVhPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInYXV0by1jb21wbGV0ZSdcIj5cclxuICAgICAgPHgtYXV0by1jb21wbGV0ZSBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiIChub2RlRW1pdCk9XCJvcHRpb24ubm9kZUNsaWNrICYmIG9wdGlvbi5ub2RlQ2xpY2soJGV2ZW50KVwiPjwveC1hdXRvLWNvbXBsZXRlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZmluZCdcIj5cclxuICAgICAgPHgtZmluZCBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiPjwveC1maW5kPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG4iXX0=
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9mb3JtL2NvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZm9ybS9jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsU0FBUyxFQUtWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxnQkFBZ0IsRUFJaEIsZUFBZSxFQUVmLGFBQWEsRUFFYixjQUFjLEVBRWQsZ0JBQWdCLEVBRWhCLGFBQWEsRUFHYixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBRW5CLGNBQWMsRUFFZCxZQUFZLEVBRVosb0JBQW9CLEVBRXBCLGtCQUFrQixFQUVsQixtQkFBbUIsRUFHbkIsWUFBWSxFQUdaLGdCQUFnQixFQUNoQixvQkFBb0IsRUFFckIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsUUFBUSxFQUFrQixNQUFNLGtCQUFrQixDQUFDO0FBQzVELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVEzQyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsZ0JBQWdCO0lBV3JEO0lBQ0UsbURBQW1EO0lBQzVDLEdBQXNCLEVBQ3RCLGFBQTZCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBSEQsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBVjlCLGlCQUFZLEdBQUcsQ0FB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QyxDQUFDO1lBQzlELEtBQUssY0FBYztnQkFDakIsT0FBTyxJQUFJLG1CQUFtQixDQUFDLE1BQW1DLENBQUMsQ0FBQztZQUN0RSxLQUFLLFVBQVU7Z0JBQ2IsT0FBTyxJQUFJLGdCQUFnQixDQUFDLE1BQWdDLENBQUMsQ0FBQztZQUNoRSxLQUFLLE1BQU07Z0JBQ1QsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUE0QixDQUFDLENBQUM7WUFDeEQsS0FBSyxlQUFlO2dCQUNsQixPQUFPLElBQUksb0JBQW9CLENBQUMsTUFBb0MsQ0FBQyxDQUFDO1lBQ3hFO2dCQUNFLE9BQU8sSUFBSSxhQUFhLENBQUMsTUFBNkIsQ0FBQyxDQUFDO1NBQzNEO0lBQ0gsQ0FBQzs7aUlBL0lVLGlCQUFpQjtxSEFBakIsaUJBQWlCLHNJQUdqQixlQUFlLHVFQzlENUIsbWhGQWlEQTsyRkRVYSxpQkFBaUI7a0JBTjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFdBQVcsRUFBRSwwQkFBMEI7b0JBQ3ZDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7cUlBRVUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDeUMsT0FBTztzQkFBckQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgSW5wdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE9uSW5pdCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIE9uRGVzdHJveVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFhDb250cm9sUHJvcGVydHksXHJcbiAgWEZvcm1Db250cm9sT3B0aW9uLFxyXG4gIFhGb3JtQ29udHJvbENvbXBvbmVudCxcclxuICBYRm9ybUNvbnRyb2xUeXBlLFxyXG4gIFhDYXNjYWRlQ29udHJvbCxcclxuICBYQ2FzY2FkZUNvbnRyb2xPcHRpb24sXHJcbiAgWElucHV0Q29udHJvbCxcclxuICBYSW5wdXRDb250cm9sT3B0aW9uLFxyXG4gIFhTZWxlY3RDb250cm9sLFxyXG4gIFhTZWxlY3RDb250cm9sT3B0aW9uLFxyXG4gIFhDaGVja2JveENvbnRyb2wsXHJcbiAgWENoZWNrYm94Q29udHJvbE9wdGlvbixcclxuICBYUmFkaW9Db250cm9sLFxyXG4gIFhSYWRpb0NvbnRyb2xPcHRpb24sXHJcbiAgWERhdGVQaWNrZXJDb250cm9sT3B0aW9uLFxyXG4gIFhEYXRlUGlja2VyQ29udHJvbCxcclxuICBYSW5wdXROdW1iZXJDb250cm9sLFxyXG4gIFhJbnB1dE51bWJlckNvbnRyb2xPcHRpb24sXHJcbiAgWFN3aXRjaENvbnRyb2wsXHJcbiAgWFN3aXRjaENvbnRyb2xPcHRpb24sXHJcbiAgWFJhdGVDb250cm9sLFxyXG4gIFhSYXRlQ29udHJvbE9wdGlvbixcclxuICBYU2xpZGVyU2VsZWN0Q29udHJvbCxcclxuICBYU2xpZGVyU2VsZWN0Q29udHJvbE9wdGlvbixcclxuICBYVGltZVBpY2tlckNvbnRyb2wsXHJcbiAgWFRpbWVQaWNrZXJDb250cm9sT3B0aW9uLFxyXG4gIFhDb2xvclBpY2tlckNvbnRyb2wsXHJcbiAgWENvbG9yUGlja2VyQ29udHJvbE9wdGlvbixcclxuICBYRm9ybUNvbnRyb2wsXHJcbiAgWEZpbmRDb250cm9sLFxyXG4gIFhGaW5kQ29udHJvbE9wdGlvbixcclxuICBYVGV4dGFyZWFDb250cm9sT3B0aW9uLFxyXG4gIFhUZXh0YXJlYUNvbnRyb2wsXHJcbiAgWEF1dG9Db21wbGV0ZUNvbnRyb2wsXHJcbiAgWEF1dG9Db21wbGV0ZUNvbnRyb2xPcHRpb25cclxufSBmcm9tICcuL2Zvcm0ucHJvcGVydHknO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbE5hbWUsIFZhbGlkYXRvcnMsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgWElzRW1wdHksIFhDb25maWdTZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd4LWNvbnRyb2wnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250cm9sLmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYQ29udHJvbENvbXBvbmVudCBleHRlbmRzIFhDb250cm9sUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgb3B0aW9uITogWEZvcm1Db250cm9sT3B0aW9uO1xyXG4gIEBJbnB1dCgpIGZvcm06IGFueTtcclxuICBAVmlld0NoaWxkKEZvcm1Db250cm9sTmFtZSwgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbnRyb2whOiBGb3JtQ29udHJvbE5hbWU7XHJcbiAgcHJpdmF0ZSBfc2hhcmVkUHJvcHMgPSBbJ3NwYW4nLCAnZGlyZWN0aW9uJywgJ2p1c3RpZnknLCAnYWxpZ24nLCAnbGFiZWxXaWR0aCcsICdsYWJlbEFsaWduJ107XHJcbiAgcHJpdmF0ZSBfY2hhbmdlUHJvcHMgPSBbJ2xhYmVsJywgLi4udGhpcy5fc2hhcmVkUHJvcHNdO1xyXG4gIHByaXZhdGUgX2NvbnRyb2whOiBYRm9ybUNvbnRyb2xUeXBlO1xyXG4gIHByaXZhdGUgX3ZhbGlkYXRvckZuczogVmFsaWRhdG9yRm5bXSA9IFtdO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBfZm9ybUNvbnRyb2whOiBGb3JtQ29udHJvbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBASG9zdCgpIEBPcHRpb25hbCgpIHB1YmxpYyBmb3JtOiBYRm9ybUNvbXBvbmVudCxcclxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldFByb3BzKCk7XHJcbiAgICB0aGlzLm9wdGlvbi5sYWJlbCA9IGAke3RoaXMub3B0aW9uLmxhYmVsfSR7dGhpcy5mb3JtLmxhYmVsU3VmZml4fWA7XHJcbiAgICB0aGlzLl9jb250cm9sID0gdGhpcy5jcmVhdGVDb250cm9sKHRoaXMub3B0aW9uKTtcclxuICAgIHRoaXMuX2Zvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKHRoaXMuX2NvbnRyb2wudmFsdWUpO1xyXG4gICAgdGhpcy5zZXRWYWxpZGF0b3JzKCk7XHJcbiAgICB0aGlzLl9mb3JtQ29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLnNldE1lc3NhZ2VzKHgpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9jb250cm9sLnNldFZhbGlkYXRvcnMgPSAoKSA9PiB0aGlzLnNldFZhbGlkYXRvcnMoKTtcclxuICAgIHRoaXMuZm9ybS5mb3JtR3JvdXAuYWRkQ29udHJvbCh0aGlzLl9jb250cm9sLmlkLCB0aGlzLl9mb3JtQ29udHJvbCk7XHJcbiAgICB0aGlzLm9wdGlvbi5jaGFuZ2UgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2NoYW5nZVByb3BzLmZvckVhY2goKHg6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciAmJiB0aGlzLm9wdGlvblt4XSkge1xyXG4gICAgICAgICAgKHRoaXMuY29udHJvbC52YWx1ZUFjY2Vzc29yIGFzIGFueSlbeF0gPSB0aGlzLm9wdGlvblt4XTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmZvcm0uY29udHJvbENvbXBvbmVudHNbdGhpcy5fY29udHJvbC5pZF0uZm9ybUNvbnRyb2xDaGFuZ2VzKCk7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciwgdGhpcy5fY29udHJvbCk7XHJcbiAgICB0aGlzLmZvcm0uY29udHJvbFR5cGVzW3RoaXMuX2NvbnRyb2wuaWRdID0gdGhpcy5fY29udHJvbDtcclxuICAgIHRoaXMuZm9ybS5jb250cm9sQ29tcG9uZW50c1t0aGlzLl9jb250cm9sLmlkXSA9IHRoaXMuY29udHJvbC52YWx1ZUFjY2Vzc29yIGFzIFhGb3JtQ29udHJvbENvbXBvbmVudDtcclxuICAgIHRoaXMuZm9ybS5jb250cm9sQ29tcG9uZW50c1t0aGlzLl9jb250cm9sLmlkXS5mb3JtQ29udHJvbENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0VmFsaWRhdG9ycygpIHtcclxuICAgIHRoaXMuX3ZhbGlkYXRvckZucyA9IFtdO1xyXG4gICAgaWYgKHRoaXMuX2NvbnRyb2wuZGlzYWJsZWQgfHwgdGhpcy5mb3JtLmRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuX2Zvcm1Db250cm9sLmRpc2FibGUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2Zvcm1Db250cm9sLmVuYWJsZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX2NvbnRyb2wucmVxdWlyZWQgJiYgIXRoaXMuZm9ybS5kaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLl92YWxpZGF0b3JGbnMgPSBbLi4udGhpcy5fdmFsaWRhdG9yRm5zLCBWYWxpZGF0b3JzLnJlcXVpcmVkXTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9jb250cm9sLnBhdHRlcm4pIHtcclxuICAgICAgdGhpcy5zZXRQYXR0ZXJuKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9mb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKHRoaXMuX3ZhbGlkYXRvckZucyk7XHJcbiAgICB0aGlzLl9mb3JtQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG5cclxuICBzZXRQcm9wcygpIHtcclxuICAgIGZvciAobGV0IHByb3Agb2YgdGhpcy5fc2hhcmVkUHJvcHMpIHtcclxuICAgICAgaWYgKFhJc0VtcHR5KHRoaXMub3B0aW9uW3Byb3BdKSkgdGhpcy5vcHRpb25bcHJvcF0gPSAodGhpcy5mb3JtIGFzIGFueSlbcHJvcF07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRQYXR0ZXJuKCkge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5fY29udHJvbC5wYXR0ZXJuKSkge1xyXG4gICAgICBmb3IgKGNvbnN0IHB0IG9mIHRoaXMuX2NvbnRyb2wucGF0dGVybikge1xyXG4gICAgICAgIHRoaXMuX3ZhbGlkYXRvckZucyA9IFsuLi50aGlzLl92YWxpZGF0b3JGbnMsIFZhbGlkYXRvcnMucGF0dGVybihwdCldO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl92YWxpZGF0b3JGbnMgPSBbLi4udGhpcy5fdmFsaWRhdG9yRm5zLCBWYWxpZGF0b3JzLnBhdHRlcm4odGhpcy5fY29udHJvbC5wYXR0ZXJuIGFzIFJlZ0V4cCldO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0UGF0dGVybk1zZyhwYXR0ZXJuOiBzdHJpbmcpIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuX2NvbnRyb2wucGF0dGVybikpIHtcclxuICAgICAgcmV0dXJuICh0aGlzLl9jb250cm9sLm1lc3NhZ2UgYXMgQXJyYXk8YW55PilbdGhpcy5fY29udHJvbC5wYXR0ZXJuLmZpbmRJbmRleCgoeCkgPT4gU3RyaW5nKHgpID09PSBwYXR0ZXJuKV07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5fY29udHJvbC5tZXNzYWdlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0TWVzc2FnZXMoc3RhdGU6ICdWQUxJRCcgfCAnSU5WQUxJRCcgfCAnUEVORElORycgfCAnRElTQUJMRUQnKSB7XHJcbiAgICBsZXQgY29udHJvbDogWEZvcm1Db250cm9sID0gdGhpcy5fZm9ybUNvbnRyb2w7XHJcbiAgICBpZiAoc3RhdGUgPT09ICdJTlZBTElEJyAmJiB0aGlzLl9mb3JtQ29udHJvbC5lcnJvcnMgIT09IG51bGwpIHtcclxuICAgICAgZm9yIChjb25zdCBrZXkgaW4gY29udHJvbC5lcnJvcnMpIHtcclxuICAgICAgICBpZiAoa2V5ID09PSAncmVxdWlyZWQnKSB7XHJcbiAgICAgICAgICBjb250cm9sLm1lc3NhZ2VzID0gW2Ake3RoaXMuX2NvbnRyb2wubGFiZWx9IOW/heWhq2BdO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAncGF0dGVybicpIHtcclxuICAgICAgICAgIGNvbnRyb2wubWVzc2FnZXMgPSBbYCR7dGhpcy5fY29udHJvbC5sYWJlbH0gJHt0aGlzLmdldFBhdHRlcm5Nc2coY29udHJvbC5lcnJvcnNba2V5XS5yZXF1aXJlZFBhdHRlcm4pfWBdO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChzdGF0ZSA9PT0gJ1ZBTElEJykge1xyXG4gICAgICBjb250cm9sLm1lc3NhZ2VzID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjcmVhdGVDb250cm9sKG9wdGlvbjogWEZvcm1Db250cm9sT3B0aW9uKSB7XHJcbiAgICBzd2l0Y2ggKG9wdGlvbi5jb250cm9sKSB7XHJcbiAgICAgIGNhc2UgJ2lucHV0JzpcclxuICAgICAgICByZXR1cm4gbmV3IFhJbnB1dENvbnRyb2wob3B0aW9uIGFzIFhJbnB1dENvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdzZWxlY3QnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWFNlbGVjdENvbnRyb2wob3B0aW9uIGFzIFhTZWxlY3RDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAnY2hlY2tib3gnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWENoZWNrYm94Q29udHJvbChvcHRpb24gYXMgWENoZWNrYm94Q29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ3JhZGlvJzpcclxuICAgICAgICByZXR1cm4gbmV3IFhSYWRpb0NvbnRyb2wob3B0aW9uIGFzIFhSYWRpb0NvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdzd2l0Y2gnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWFN3aXRjaENvbnRyb2wob3B0aW9uIGFzIFhTd2l0Y2hDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAncmF0ZSc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYUmF0ZUNvbnRyb2wob3B0aW9uIGFzIFhSYXRlQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ2RhdGUtcGlja2VyJzpcclxuICAgICAgICByZXR1cm4gbmV3IFhEYXRlUGlja2VyQ29udHJvbChvcHRpb24gYXMgWERhdGVQaWNrZXJDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAndGltZS1waWNrZXInOlxyXG4gICAgICAgIHJldHVybiBuZXcgWFRpbWVQaWNrZXJDb250cm9sKG9wdGlvbiBhcyBYVGltZVBpY2tlckNvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdpbnB1dC1udW1iZXInOlxyXG4gICAgICAgIHJldHVybiBuZXcgWElucHV0TnVtYmVyQ29udHJvbChvcHRpb24gYXMgWElucHV0TnVtYmVyQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ3NsaWRlci1zZWxlY3QnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWFNsaWRlclNlbGVjdENvbnRyb2wob3B0aW9uIGFzIFhTbGlkZXJTZWxlY3RDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAnY2FzY2FkZSc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYQ2FzY2FkZUNvbnRyb2wob3B0aW9uIGFzIFhDYXNjYWRlQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ2NvbG9yLXBpY2tlcic6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYQ29sb3JQaWNrZXJDb250cm9sKG9wdGlvbiBhcyBYQ29sb3JQaWNrZXJDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAndGV4dGFyZWEnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWFRleHRhcmVhQ29udHJvbChvcHRpb24gYXMgWFRleHRhcmVhQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ2ZpbmQnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWEZpbmRDb250cm9sKG9wdGlvbiBhcyBYRmluZENvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdhdXRvLWNvbXBsZXRlJzpcclxuICAgICAgICByZXR1cm4gbmV3IFhBdXRvQ29tcGxldGVDb250cm9sKG9wdGlvbiBhcyBYQXV0b0NvbXBsZXRlQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYSW5wdXRDb250cm9sKG9wdGlvbiBhcyBYSW5wdXRDb250cm9sT3B0aW9uKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIngtY29udHJvbFwiIFtmb3JtR3JvdXBdPVwiZm9ybS5mb3JtR3JvdXBcIj5cclxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJvcHRpb24uY29udHJvbFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2lucHV0J1wiPlxyXG4gICAgICA8eC1pbnB1dCBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiIChjbGVhckVtaXQpPVwib3B0aW9uLmNsZWFyQ2xpY2sgJiYgb3B0aW9uLmNsZWFyQ2xpY2soJGV2ZW50KVwiPjwveC1pbnB1dD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdCdcIj5cclxuICAgICAgPHgtc2VsZWN0IFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCI+PC94LXNlbGVjdD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2Nhc2NhZGUnXCI+XHJcbiAgICAgIDx4LWNhc2NhZGUgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIiAobm9kZUVtaXQpPVwib3B0aW9uLm5vZGVDbGljayAmJiBvcHRpb24ubm9kZUNsaWNrKCRldmVudClcIj48L3gtY2FzY2FkZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NoZWNrYm94J1wiPlxyXG4gICAgICA8eC1jaGVja2JveCBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiPjwveC1jaGVja2JveD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NvbG9yLXBpY2tlcidcIj5cclxuICAgICAgPHgtY29sb3ItcGlja2VyIFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCI+PC94LWNvbG9yLXBpY2tlcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUtcGlja2VyJ1wiPlxyXG4gICAgICA8eC1kYXRlLXBpY2tlciBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiIChub2RlRW1pdCk9XCJvcHRpb24ubm9kZUNsaWNrICYmIG9wdGlvbi5ub2RlQ2xpY2soJGV2ZW50KVwiPjwveC1kYXRlLXBpY2tlcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2lucHV0LW51bWJlcidcIj5cclxuICAgICAgPHgtaW5wdXQtbnVtYmVyIFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCI+PC94LWlucHV0LW51bWJlcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3JhZGlvJ1wiPlxyXG4gICAgICA8eC1yYWRpbyBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiPjwveC1yYWRpbz5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3JhdGUnXCI+XHJcbiAgICAgIDx4LXJhdGUgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIj48L3gtcmF0ZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NsaWRlci1zZWxlY3QnXCI+XHJcbiAgICAgIDx4LXNsaWRlci1zZWxlY3QgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIj48L3gtc2xpZGVyLXNlbGVjdD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3N3aXRjaCdcIj5cclxuICAgICAgPHgtc3dpdGNoIFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCI+PC94LXN3aXRjaD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RpbWUtcGlja2VyJ1wiPlxyXG4gICAgICA8eC10aW1lLXBpY2tlciBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiPjwveC10aW1lLXBpY2tlcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RleHRhcmVhJ1wiPlxyXG4gICAgICA8eC10ZXh0YXJlYSBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiIChjbGVhckVtaXQpPVwib3B0aW9uLmNsZWFyQ2xpY2sgJiYgb3B0aW9uLmNsZWFyQ2xpY2soJGV2ZW50KVwiPjwveC10ZXh0YXJlYT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2F1dG8tY29tcGxldGUnXCI+XHJcbiAgICAgIDx4LWF1dG8tY29tcGxldGUgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIiAobm9kZUVtaXQpPVwib3B0aW9uLm5vZGVDbGljayAmJiBvcHRpb24ubm9kZUNsaWNrKCRldmVudClcIj48L3gtYXV0by1jb21wbGV0ZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ZpbmQnXCI+XHJcbiAgICAgIDx4LWZpbmQgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIj48L3gtZmluZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuIl19
@@ -18,7 +18,8 @@ export class XFormComponent extends XFormProperty {
18
18
  this.controlTypes = {};
19
19
  }
20
20
  ngOnChanges(changes) {
21
- XIsChange(changes.disabled) && this.setDisabled();
21
+ const { disabled } = changes;
22
+ XIsChange(disabled) && this.setDisabled();
22
23
  }
23
24
  ngOnInit() {
24
25
  this.setControls();
@@ -44,7 +45,7 @@ export class XFormComponent extends XFormProperty {
44
45
  control.disabled = true;
45
46
  control.required = false;
46
47
  delete control.pattern;
47
- type.setValidators();
48
+ type.setValidators && type.setValidators();
48
49
  control.formControlChanges();
49
50
  }
50
51
  }
@@ -54,7 +55,7 @@ export class XFormComponent extends XFormProperty {
54
55
  control.disabled = type.disabled;
55
56
  control.required = type.required;
56
57
  control.pattern = type.pattern;
57
- type.setValidators();
58
+ type.setValidators && type.setValidators();
58
59
  control.formControlChanges();
59
60
  }
60
61
  }
@@ -84,13 +85,13 @@ export class XFormComponent extends XFormProperty {
84
85
  }
85
86
  return result;
86
87
  }
87
- trackByControl(index, item) {
88
+ trackByControl(_index, item) {
88
89
  return item.id;
89
90
  }
90
91
  }
91
- /** @nocollapse */ XFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XFormComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
92
- /** @nocollapse */ XFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XFormComponent, selector: "x-form", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form\r\n #form\r\n class=\"x-form\"\r\n [formGroup]=\"formGroup\"\r\n [style.width]=\"width\"\r\n [style.padding-bottom.rem]=\"controlsType === 'controls' ? this.space : 0\"\r\n [ngClass]=\"classMap\"\r\n>\r\n <ng-container [ngSwitch]=\"controlsType\">\r\n <ng-container *ngSwitchCase=\"'controls'\">\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: controls }\"> </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'rows'\">\r\n <ng-container *ngTemplateOutlet=\"rowsTemp; context: { rows: controls }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</form>\r\n\r\n<ng-template #rowsTemp let-rows=\"rows\">\r\n <ng-container *ngFor=\"let row of rows\">\r\n <x-row [hidden]=\"row.hidden\">\r\n <ng-container *ngTemplateOutlet=\"titleTemp; context: { row: row }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: row.controls }\"></ng-container>\r\n </x-row>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #controlsTemp let-controls=\"controls\">\r\n <x-row [space]=\"space\">\r\n <x-col\r\n [style.padding-top.rem]=\"space\"\r\n [span]=\"!control.span ? span : control.span\"\r\n *ngFor=\"let control of controls; trackBy: trackByControl\"\r\n [hidden]=\"control.hidden\"\r\n >\r\n <ng-container *xOutlet=\"controlTpl[control.id]; context: { $option: control }\">\r\n <x-control [option]=\"control\" [form]=\"this\"></x-control>\r\n </ng-container>\r\n </x-col>\r\n </x-row>\r\n</ng-template>\r\n\r\n<ng-template #titleTemp let-row=\"row\">\r\n <label class=\"x-form-title\">\r\n <x-icon *ngIf=\"row.icon\" [type]=\"row.icon\"></x-icon>\r\n <span>{{ row.title }}</span>\r\n </label>\r\n</ng-template>\r\n", styles: [".x-form{margin:0;padding:0;display:inline-block}.x-form-title{display:flex;align-items:center;font-size:var(--x-font-size-medium)}.x-form-title>x-icon{margin-right:.25rem}.x-form-rows>x-row[hidden]{display:none}.x-form-rows>x-row:not(:first-child){margin-top:1.5rem}.x-form x-col[hidden]{display:none}"], components: [{ type: i2.XRowComponent, selector: "x-row" }, { type: i2.XColComponent, selector: "x-col" }, { type: i3.XControlComponent, selector: "x-control", inputs: ["option", "form"] }, { type: i4.XIconComponent, selector: "x-icon" }], directives: [{ type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XFormComponent, decorators: [{
92
+ /** @nocollapse */ XFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XFormComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
93
+ /** @nocollapse */ XFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XFormComponent, selector: "x-form", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form\r\n #form\r\n class=\"x-form\"\r\n [formGroup]=\"formGroup\"\r\n [style.width]=\"width\"\r\n [style.padding-bottom.rem]=\"controlsType === 'controls' ? this.space : 0\"\r\n [ngClass]=\"classMap\"\r\n>\r\n <ng-container [ngSwitch]=\"controlsType\">\r\n <ng-container *ngSwitchCase=\"'controls'\">\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: controls }\"> </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'rows'\">\r\n <ng-container *ngTemplateOutlet=\"rowsTemp; context: { rows: controls }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</form>\r\n\r\n<ng-template #rowsTemp let-rows=\"rows\">\r\n <ng-container *ngFor=\"let row of rows\">\r\n <x-row [hidden]=\"row.hidden\">\r\n <ng-container *ngTemplateOutlet=\"titleTemp; context: { row: row }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: row.controls }\"></ng-container>\r\n </x-row>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #controlsTemp let-controls=\"controls\">\r\n <x-row [space]=\"space\">\r\n <x-col\r\n [style.padding-top.rem]=\"space\"\r\n [span]=\"!control.span ? span : control.span\"\r\n *ngFor=\"let control of controls; trackBy: trackByControl\"\r\n [hidden]=\"control.hidden\"\r\n >\r\n <ng-container *xOutlet=\"controlTpl[control.id]; context: { $option: control }\">\r\n <x-control [option]=\"control\" [form]=\"this\"></x-control>\r\n </ng-container>\r\n </x-col>\r\n </x-row>\r\n</ng-template>\r\n\r\n<ng-template #titleTemp let-row=\"row\">\r\n <label class=\"x-form-title\">\r\n <x-icon *ngIf=\"row.icon\" [type]=\"row.icon\"></x-icon>\r\n <span>{{ row.title }}</span>\r\n </label>\r\n</ng-template>\r\n", styles: [".x-form{margin:0;padding:0;display:inline-block}.x-form-title{display:flex;align-items:center;font-size:var(--x-font-size-medium)}.x-form-title>x-icon{margin-right:.25rem}.x-form-rows>x-row[hidden]{display:none}.x-form-rows>x-row:not(:first-child){margin-top:1.5rem}.x-form x-col[hidden]{display:none}\n"], components: [{ type: i2.XRowComponent, selector: "x-row" }, { type: i2.XColComponent, selector: "x-col" }, { type: i3.XControlComponent, selector: "x-control", inputs: ["option", "form"] }, { type: i4.XIconComponent, selector: "x-icon" }], directives: [{ type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XFormComponent, decorators: [{
94
95
  type: Component,
95
96
  args: [{
96
97
  selector: `${XFormPrefix}`,
@@ -100,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
100
101
  changeDetection: ChangeDetectionStrategy.OnPush
101
102
  }]
102
103
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9mb3JtL2Zvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZm9ybS9mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQ2hJLE9BQU8sRUFDTCxhQUFhLEVBRWIsV0FBVyxFQUtaLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFNBQVMsRUFBNEIsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7O0FBU3ZFLE1BQU0sT0FBTyxjQUFlLFNBQVEsYUFBYTtJQUsvQyxZQUFtQixHQUFzQixFQUFTLGFBQTZCO1FBQzdFLEtBQUssRUFBRSxDQUFDO1FBRFMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFIL0Usc0JBQWlCLEdBQWtELEVBQUUsQ0FBQztRQUN0RSxpQkFBWSxHQUE2QyxFQUFFLENBQUM7SUFJNUQsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzdDLElBQUksQ0FB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QXdCO1FBQ3BELE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDOzs4SEFqRlUsY0FBYztrSEFBZCxjQUFjLDBGQ25CM0Isd3hEQWdEQTsyRkQ3QmEsY0FBYztrQkFQMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsR0FBRyxXQUFXLEVBQUU7b0JBQzFCLFdBQVcsRUFBRSx1QkFBdUI7b0JBQ3BDLFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUNwQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBYRm9ybVByb3BlcnR5LFxyXG4gIFhGb3JtUm93LFxyXG4gIFhGb3JtUHJlZml4LFxyXG4gIFhGb3JtQ29udHJvbE9wdGlvbixcclxuICBYRm9ybUNvbnRyb2wsXHJcbiAgWEZvcm1Db250cm9sQ29tcG9uZW50LFxyXG4gIFhGb3JtQ29udHJvbFR5cGVcclxufSBmcm9tICcuL2Zvcm0ucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYSXNDaGFuZ2UsIFhCb29sZWFuLCBYQ29uZmlnU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hGb3JtUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvcm0uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYRm9ybUNvbXBvbmVudCBleHRlbmRzIFhGb3JtUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnRyb2xzVHlwZSE6ICdjb250cm9scycgfCAncm93cyc7XHJcbiAgY29udHJvbENvbXBvbmVudHM6IHsgW3Byb3BlcnR5OiBzdHJpbmddOiBYRm9ybUNvbnRyb2xDb21wb25lbnQgfSA9IHt9O1xyXG4gIGNvbnRyb2xUeXBlczogeyBbcHJvcGVydHk6IHN0cmluZ106IFhGb3JtQ29udHJvbFR5cGUgfSA9IHt9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgWElzQ2hhbmdlKGNoYW5nZXMuZGlzYWJsZWQpICYmIHRoaXMuc2V0RGlzYWJsZWQoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRDb250cm9scygpO1xyXG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5zZXREaXNhYmxlZCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29udHJvbHMoKSB7XHJcbiAgICBpZiAodGhpcy5jb250cm9scyAmJiB0aGlzLmNvbnRyb2xzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5jb250cm9sc1R5cGUgPSB0aGlzLmNvbnRyb2xzWzBdLmNvbnRyb2xzID8gJ3Jvd3MnIDogJ2NvbnRyb2xzJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgdGhpcy5jbGFzc01hcFtgJHtYRm9ybVByZWZpeH0tJHt0aGlzLmNvbnRyb2xzVHlwZX1gXSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZCgpIHtcclxuICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLmNvbnRyb2xDb21wb25lbnRzKS5sZW5ndGggPT09IDApIHJldHVybjtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIGZvciAobGV0IGtleSBpbiB0aGlzLmNvbnRyb2xDb21wb25lbnRzKSB7XHJcbiAgICAgICAgbGV0IFtjb250cm9sLCB0eXBlXSA9IFt0aGlzLmNvbnRyb2xDb21wb25lbnRzW2tleV0sIHRoaXMuY29udHJvbFR5cGVzW2tleV1dO1xyXG4gICAgICAgIGNvbnRyb2wuZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgIGNvbnRyb2wucmVxdWlyZWQgPSBmYWxzZTtcclxuICAgICAgICBkZWxldGUgKGNvbnRyb2wgYXMgYW55KS5wYXR0ZXJuO1xyXG4gICAgICAgIHR5cGUuc2V0VmFsaWRhdG9ycygpO1xyXG4gICAgICAgIGNvbnRyb2wuZm9ybUNvbnRyb2xDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZvciAobGV0IGtleSBpbiB0aGlzLmNvbnRyb2xDb21wb25lbnRzKSB7XHJcbiAgICAgICAgbGV0IFtjb250cm9sLCB0eXBlXSA9IFt0aGlzLmNvbnRyb2xDb21wb25lbnRzW2tleV0sIHRoaXMuY29udHJvbFR5cGVzW2tleV1dO1xyXG4gICAgICAgIGNvbnRyb2wuZGlzYWJsZWQgPSB0eXBlLmRpc2FibGVkIGFzIFhCb29sZWFuO1xyXG4gICAgICAgIGNvbnRyb2wucmVxdWlyZWQgPSB0eXBlLnJlcXVpcmVkIGFzIFhCb29sZWFuO1xyXG4gICAgICAgIGNvbnRyb2wucGF0dGVybiA9IHR5cGUucGF0dGVybiBhcyBSZWdFeHAgfCBSZWdFeHBbXTtcclxuICAgICAgICB0eXBlLnNldFZhbGlkYXRvcnMoKTtcclxuICAgICAgICBjb250cm9sLmZvcm1Db250cm9sQ2hhbmdlcygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1Hcm91cC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG5cclxuICBnZXRWYWxpZGF0b3JNZXNzYWdlcygpOiBzdHJpbmdbXSB7XHJcbiAgICBsZXQgcmVzdWx0OiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLnZhbGlkKSByZXR1cm4gcmVzdWx0O1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnN0IGVhY2hDb250cm9scyA9IChhcnJheTogWEZvcm1Db250cm9sT3B0aW9uW10pID0+IHtcclxuICAgICAgICBmb3IgKGNvbnN0IGN0ciBvZiBhcnJheSkge1xyXG4gICAgICAgICAgY29uc3QgZm9ybUN0ciA9IHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzW2N0ci5pZF0gYXMgWEZvcm1Db250cm9sO1xyXG4gICAgICAgICAgaWYgKGZvcm1DdHIgJiYgZm9ybUN0ci5pbnZhbGlkKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IFsuLi5yZXN1bHQsIC4uLihmb3JtQ3RyLm1lc3NhZ2VzIGFzIHN0cmluZ1tdKV07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgICBpZiAodGhpcy5jb250cm9sc1R5cGUgPT09ICdyb3dzJykge1xyXG4gICAgICAgIGZvciAoY29uc3Qgcm93IG9mIHRoaXMuY29udHJvbHMgYXMgWEZvcm1Sb3dbXSkge1xyXG4gICAgICAgICAgZWFjaENvbnRyb2xzKHJvdy5jb250cm9scyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGVhY2hDb250cm9scyh0aGlzLmNvbnRyb2xzIGFzIFhGb3JtQ29udHJvbE9wdGlvbltdKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlDb250cm9sKGluZGV4OiBudW1iZXIsIGl0ZW06IFhGb3JtQ29udHJvbE9wdGlvbikge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG59XHJcbiIsIjxmb3JtXHJcbiAgI2Zvcm1cclxuICBjbGFzcz1cIngtZm9ybVwiXHJcbiAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxyXG4gIFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiXHJcbiAgW3N0eWxlLnBhZGRpbmctYm90dG9tLnJlbV09XCJjb250cm9sc1R5cGUgPT09ICdjb250cm9scycgPyB0aGlzLnNwYWNlIDogMFwiXHJcbiAgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIlxyXG4+XHJcbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29udHJvbHNUeXBlXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY29udHJvbHMnXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250cm9sc1RlbXA7IGNvbnRleHQ6IHsgY29udHJvbHM6IGNvbnRyb2xzIH1cIj4gPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidyb3dzJ1wiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicm93c1RlbXA7IGNvbnRleHQ6IHsgcm93czogY29udHJvbHMgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZm9ybT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcm93c1RlbXAgbGV0LXJvd3M9XCJyb3dzXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcm93IG9mIHJvd3NcIj5cclxuICAgIDx4LXJvdyBbaGlkZGVuXT1cInJvdy5oaWRkZW5cIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRpdGxlVGVtcDsgY29udGV4dDogeyByb3c6IHJvdyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250cm9sc1RlbXA7IGNvbnRleHQ6IHsgY29udHJvbHM6IHJvdy5jb250cm9scyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L3gtcm93PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNjb250cm9sc1RlbXAgbGV0LWNvbnRyb2xzPVwiY29udHJvbHNcIj5cclxuICA8eC1yb3cgW3NwYWNlXT1cInNwYWNlXCI+XHJcbiAgICA8eC1jb2xcclxuICAgICAgW3N0eWxlLnBhZGRpbmctdG9wLnJlbV09XCJzcGFjZVwiXHJcbiAgICAgIFtzcGFuXT1cIiFjb250cm9sLnNwYW4gPyBzcGFuIDogY29udHJvbC5zcGFuXCJcclxuICAgICAgKm5nRm9yPVwibGV0IGNvbnRyb2wgb2YgY29udHJvbHM7IHRyYWNrQnk6IHRyYWNrQnlDb250cm9sXCJcclxuICAgICAgW2hpZGRlbl09XCJjb250cm9sLmhpZGRlblwiXHJcbiAgICA+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJjb250cm9sVHBsW2NvbnRyb2wuaWRdOyBjb250ZXh0OiB7ICRvcHRpb246IGNvbnRyb2wgfVwiPlxyXG4gICAgICAgIDx4LWNvbnRyb2wgW29wdGlvbl09XCJjb250cm9sXCIgW2Zvcm1dPVwidGhpc1wiPjwveC1jb250cm9sPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwveC1jb2w+XHJcbiAgPC94LXJvdz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdGl0bGVUZW1wIGxldC1yb3c9XCJyb3dcIj5cclxuICA8bGFiZWwgY2xhc3M9XCJ4LWZvcm0tdGl0bGVcIj5cclxuICAgIDx4LWljb24gKm5nSWY9XCJyb3cuaWNvblwiIFt0eXBlXT1cInJvdy5pY29uXCI+PC94LWljb24+XHJcbiAgICA8c3Bhbj57eyByb3cudGl0bGUgfX08L3NwYW4+XHJcbiAgPC9sYWJlbD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9mb3JtL2Zvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZm9ybS9mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQ2hJLE9BQU8sRUFDTCxhQUFhLEVBRWIsV0FBVyxFQUtaLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFNBQVMsRUFBNEIsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7O0FBU3ZFLE1BQU0sT0FBTyxjQUFlLFNBQVEsYUFBYTtJQUsvQyxZQUFtQixHQUFzQixFQUFTLGFBQTZCO1FBQzdFLEtBQUssRUFBRSxDQUFDO1FBRFMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFIL0Usc0JBQWlCLEdBQWtELEVBQUUsQ0FBQztRQUN0RSxpQkFBWSxHQUE2QyxFQUFFLENBQUM7SUFJNUQsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzdCLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFB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QzthQUNyRDtTQUNGO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFjLEVBQUUsSUFBd0I7UUFDckQsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7OzhIQWxGVSxjQUFjO2tIQUFkLGNBQWMsMEZDbkIzQix3eERBZ0RBOzJGRDdCYSxjQUFjO2tCQVAxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxHQUFHLFdBQVcsRUFBRTtvQkFDMUIsV0FBVyxFQUFFLHVCQUF1QjtvQkFDcEMsU0FBUyxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ3BDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFhGb3JtUHJvcGVydHksXHJcbiAgWEZvcm1Sb3csXHJcbiAgWEZvcm1QcmVmaXgsXHJcbiAgWEZvcm1Db250cm9sT3B0aW9uLFxyXG4gIFhGb3JtQ29udHJvbCxcclxuICBYRm9ybUNvbnRyb2xDb21wb25lbnQsXHJcbiAgWEZvcm1Db250cm9sVHlwZVxyXG59IGZyb20gJy4vZm9ybS5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJc0NoYW5nZSwgWEJvb2xlYW4sIFhDb25maWdTZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WEZvcm1QcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhGb3JtQ29tcG9uZW50IGV4dGVuZHMgWEZvcm1Qcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29udHJvbHNUeXBlITogJ2NvbnRyb2xzJyB8ICdyb3dzJztcclxuICBjb250cm9sQ29tcG9uZW50czogeyBbcHJvcGVydHk6IHN0cmluZ106IFhGb3JtQ29udHJvbENvbXBvbmVudCB9ID0ge307XHJcbiAgY29udHJvbFR5cGVzOiB7IFtwcm9wZXJ0eTogc3RyaW5nXTogWEZvcm1Db250cm9sVHlwZSB9ID0ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCB7IGRpc2FibGVkIH0gPSBjaGFuZ2VzO1xyXG4gICAgWElzQ2hhbmdlKGRpc2FibGVkKSAmJiB0aGlzLnNldERpc2FibGVkKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0Q29udHJvbHMoKTtcclxuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc2V0RGlzYWJsZWQoKTtcclxuICB9XHJcblxyXG4gIHNldENvbnRyb2xzKCkge1xyXG4gICAgaWYgKHRoaXMuY29udHJvbHMgJiYgdGhpcy5jb250cm9scy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbHNUeXBlID0gdGhpcy5jb250cm9sc1swXS5jb250cm9scyA/ICdyb3dzJyA6ICdjb250cm9scyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIHRoaXMuY2xhc3NNYXBbYCR7WEZvcm1QcmVmaXh9LSR7dGhpcy5jb250cm9sc1R5cGV9YF0gPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWQoKSB7XHJcbiAgICBpZiAoT2JqZWN0LmtleXModGhpcy5jb250cm9sQ29tcG9uZW50cykubGVuZ3RoID09PSAwKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICBmb3IgKGxldCBrZXkgaW4gdGhpcy5jb250cm9sQ29tcG9uZW50cykge1xyXG4gICAgICAgIGxldCBbY29udHJvbCwgdHlwZV0gPSBbdGhpcy5jb250cm9sQ29tcG9uZW50c1trZXldLCB0aGlzLmNvbnRyb2xUeXBlc1trZXldXTtcclxuICAgICAgICBjb250cm9sLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICBjb250cm9sLnJlcXVpcmVkID0gZmFsc2U7XHJcbiAgICAgICAgZGVsZXRlIChjb250cm9sIGFzIGFueSkucGF0dGVybjtcclxuICAgICAgICB0eXBlLnNldFZhbGlkYXRvcnMgJiYgdHlwZS5zZXRWYWxpZGF0b3JzKCk7XHJcbiAgICAgICAgY29udHJvbC5mb3JtQ29udHJvbENoYW5nZXMoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZm9yIChsZXQga2V5IGluIHRoaXMuY29udHJvbENvbXBvbmVudHMpIHtcclxuICAgICAgICBsZXQgW2NvbnRyb2wsIHR5cGVdID0gW3RoaXMuY29udHJvbENvbXBvbmVudHNba2V5XSwgdGhpcy5jb250cm9sVHlwZXNba2V5XV07XHJcbiAgICAgICAgY29udHJvbC5kaXNhYmxlZCA9IHR5cGUuZGlzYWJsZWQgYXMgWEJvb2xlYW47XHJcbiAgICAgICAgY29udHJvbC5yZXF1aXJlZCA9IHR5cGUucmVxdWlyZWQgYXMgWEJvb2xlYW47XHJcbiAgICAgICAgY29udHJvbC5wYXR0ZXJuID0gdHlwZS5wYXR0ZXJuIGFzIFJlZ0V4cCB8IFJlZ0V4cFtdO1xyXG4gICAgICAgIHR5cGUuc2V0VmFsaWRhdG9ycyAmJiB0eXBlLnNldFZhbGlkYXRvcnMoKTtcclxuICAgICAgICBjb250cm9sLmZvcm1Db250cm9sQ2hhbmdlcygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1Hcm91cC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG5cclxuICBnZXRWYWxpZGF0b3JNZXNzYWdlcygpOiBzdHJpbmdbXSB7XHJcbiAgICBsZXQgcmVzdWx0OiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLnZhbGlkKSByZXR1cm4gcmVzdWx0O1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnN0IGVhY2hDb250cm9scyA9IChhcnJheTogWEZvcm1Db250cm9sT3B0aW9uW10pID0+IHtcclxuICAgICAgICBmb3IgKGNvbnN0IGN0ciBvZiBhcnJheSkge1xyXG4gICAgICAgICAgY29uc3QgZm9ybUN0ciA9IHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzW2N0ci5pZF0gYXMgWEZvcm1Db250cm9sO1xyXG4gICAgICAgICAgaWYgKGZvcm1DdHIgJiYgZm9ybUN0ci5pbnZhbGlkKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IFsuLi5yZXN1bHQsIC4uLihmb3JtQ3RyLm1lc3NhZ2VzIGFzIHN0cmluZ1tdKV07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgICBpZiAodGhpcy5jb250cm9sc1R5cGUgPT09ICdyb3dzJykge1xyXG4gICAgICAgIGZvciAoY29uc3Qgcm93IG9mIHRoaXMuY29udHJvbHMgYXMgWEZvcm1Sb3dbXSkge1xyXG4gICAgICAgICAgZWFjaENvbnRyb2xzKHJvdy5jb250cm9scyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGVhY2hDb250cm9scyh0aGlzLmNvbnRyb2xzIGFzIFhGb3JtQ29udHJvbE9wdGlvbltdKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlDb250cm9sKF9pbmRleDogbnVtYmVyLCBpdGVtOiBYRm9ybUNvbnRyb2xPcHRpb24pIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybVxyXG4gICNmb3JtXHJcbiAgY2xhc3M9XCJ4LWZvcm1cIlxyXG4gIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcclxuICBbc3R5bGUud2lkdGhdPVwid2lkdGhcIlxyXG4gIFtzdHlsZS5wYWRkaW5nLWJvdHRvbS5yZW1dPVwiY29udHJvbHNUeXBlID09PSAnY29udHJvbHMnID8gdGhpcy5zcGFjZSA6IDBcIlxyXG4gIFtuZ0NsYXNzXT1cImNsYXNzTWFwXCJcclxuPlxyXG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbnRyb2xzVHlwZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NvbnRyb2xzJ1wiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udHJvbHNUZW1wOyBjb250ZXh0OiB7IGNvbnRyb2xzOiBjb250cm9scyB9XCI+IDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncm93cydcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJvd3NUZW1wOyBjb250ZXh0OiB7IHJvd3M6IGNvbnRyb2xzIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Zvcm0+XHJcblxyXG48bmctdGVtcGxhdGUgI3Jvd3NUZW1wIGxldC1yb3dzPVwicm93c1wiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiByb3dzXCI+XHJcbiAgICA8eC1yb3cgW2hpZGRlbl09XCJyb3cuaGlkZGVuXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aXRsZVRlbXA7IGNvbnRleHQ6IHsgcm93OiByb3cgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udHJvbHNUZW1wOyBjb250ZXh0OiB7IGNvbnRyb2xzOiByb3cuY29udHJvbHMgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC94LXJvdz5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY29udHJvbHNUZW1wIGxldC1jb250cm9scz1cImNvbnRyb2xzXCI+XHJcbiAgPHgtcm93IFtzcGFjZV09XCJzcGFjZVwiPlxyXG4gICAgPHgtY29sXHJcbiAgICAgIFtzdHlsZS5wYWRkaW5nLXRvcC5yZW1dPVwic3BhY2VcIlxyXG4gICAgICBbc3Bhbl09XCIhY29udHJvbC5zcGFuID8gc3BhbiA6IGNvbnRyb2wuc3BhblwiXHJcbiAgICAgICpuZ0Zvcj1cImxldCBjb250cm9sIG9mIGNvbnRyb2xzOyB0cmFja0J5OiB0cmFja0J5Q29udHJvbFwiXHJcbiAgICAgIFtoaWRkZW5dPVwiY29udHJvbC5oaWRkZW5cIlxyXG4gICAgPlxyXG4gICAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwiY29udHJvbFRwbFtjb250cm9sLmlkXTsgY29udGV4dDogeyAkb3B0aW9uOiBjb250cm9sIH1cIj5cclxuICAgICAgICA8eC1jb250cm9sIFtvcHRpb25dPVwiY29udHJvbFwiIFtmb3JtXT1cInRoaXNcIj48L3gtY29udHJvbD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L3gtY29sPlxyXG4gIDwveC1yb3c+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3RpdGxlVGVtcCBsZXQtcm93PVwicm93XCI+XHJcbiAgPGxhYmVsIGNsYXNzPVwieC1mb3JtLXRpdGxlXCI+XHJcbiAgICA8eC1pY29uICpuZ0lmPVwicm93Lmljb25cIiBbdHlwZV09XCJyb3cuaWNvblwiPjwveC1pY29uPlxyXG4gICAgPHNwYW4+e3sgcm93LnRpdGxlIH19PC9zcGFuPlxyXG4gIDwvbGFiZWw+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -47,8 +47,8 @@ const modules = [
47
47
  ];
48
48
  export class XFormModule {
49
49
  }
50
- /** @nocollapse */ XFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
51
- /** @nocollapse */ XFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XFormModule, declarations: [XFormComponent, XControlComponent, XFormProperty, XControlProperty], imports: [CommonModule, FormsModule, ReactiveFormsModule, XLayoutModule,
50
+ /** @nocollapse */ XFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
51
+ /** @nocollapse */ XFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XFormModule, declarations: [XFormComponent, XControlComponent, XFormProperty, XControlProperty], imports: [CommonModule, FormsModule, ReactiveFormsModule, XLayoutModule,
52
52
  XIconModule,
53
53
  XInputModule,
54
54
  XSelectModule,
@@ -67,8 +67,8 @@ export class XFormModule {
67
67
  XAutoCompleteModule,
68
68
  XOutletModule,
69
69
  XBaseFormModule], exports: [XFormComponent, XControlComponent] });
70
- /** @nocollapse */ XFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XFormModule, imports: [[CommonModule, FormsModule, ReactiveFormsModule, ...modules]] });
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XFormModule, decorators: [{
70
+ /** @nocollapse */ XFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XFormModule, imports: [[CommonModule, FormsModule, ReactiveFormsModule, ...modules]] });
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XFormModule, decorators: [{
72
72
  type: NgModule,
73
73
  args: [{
74
74
  declarations: [XFormComponent, XControlComponent, XFormProperty, XControlProperty],
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { XIdentity, XIsEmpty, XInputNumber, XInputBoolean, XWithConfig } from '@ng-nest/ui/core';
2
+ import { XIdentity, XIsEmpty, XInputNumber, XWithConfig } from '@ng-nest/ui/core';
3
3
  import { Input, Component } from '@angular/core';
4
4
  import { FormControl, FormGroup } from '@angular/forms';
5
5
  import { XFormProp } from '@ng-nest/ui/base-form';
@@ -39,8 +39,8 @@ export class XFormProperty extends XFormProp {
39
39
  this.controlTpl = {};
40
40
  }
41
41
  }
42
- /** @nocollapse */ XFormProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XFormProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
43
- /** @nocollapse */ XFormProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XFormProperty, selector: "ng-component", inputs: { formGroup: "formGroup", title: "title", space: "space", span: "span", labelSuffix: "labelSuffix", controls: "controls", width: "width", disabled: "disabled", controlTpl: "controlTpl" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
42
+ /** @nocollapse */ XFormProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XFormProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
43
+ /** @nocollapse */ XFormProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XFormProperty, selector: "ng-component", inputs: { formGroup: "formGroup", title: "title", space: "space", span: "span", labelSuffix: "labelSuffix", controls: "controls", width: "width", controlTpl: "controlTpl" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
44
44
  __decorate([
45
45
  XWithConfig(X_CONFIG_NAME, 1),
46
46
  XInputNumber()
@@ -54,10 +54,7 @@ __decorate([
54
54
  __decorate([
55
55
  XWithConfig(X_CONFIG_NAME, '100%')
56
56
  ], XFormProperty.prototype, "width", void 0);
57
- __decorate([
58
- XInputBoolean()
59
- ], XFormProperty.prototype, "disabled", void 0);
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XFormProperty, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XFormProperty, decorators: [{
61
58
  type: Component,
62
59
  args: [{ template: '' }]
63
60
  }], propDecorators: { formGroup: [{
@@ -74,8 +71,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
74
71
  type: Input
75
72
  }], width: [{
76
73
  type: Input
77
- }], disabled: [{
78
- type: Input
79
74
  }], controlTpl: [{
80
75
  type: Input
81
76
  }] } });
@@ -102,9 +97,9 @@ export const XControlPrefix = 'x-control';
102
97
  */
103
98
  export class XControlProperty {
104
99
  }
105
- /** @nocollapse */ XControlProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XControlProperty, deps: [], target: i0.ɵɵFactoryTarget.Component });
106
- /** @nocollapse */ XControlProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XControlProperty, selector: "ng-component", inputs: { option: "option" }, ngImport: i0, template: '', isInline: true });
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XControlProperty, decorators: [{
100
+ /** @nocollapse */ XControlProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XControlProperty, deps: [], target: i0.ɵɵFactoryTarget.Component });
101
+ /** @nocollapse */ XControlProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XControlProperty, selector: "ng-component", inputs: { option: "option" }, ngImport: i0, template: '', isInline: true });
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XControlProperty, decorators: [{
108
103
  type: Component,
109
104
  args: [{ template: '' }]
110
105
  }], propDecorators: { option: [{
@@ -195,4 +190,4 @@ export class XAutoCompleteControl extends XControl {
195
190
  super(option);
196
191
  }
197
192
  }
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2Zvcm0vZm9ybS5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBK0IsUUFBUSxFQUFXLFlBQVksRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkksT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQWV4RCxPQUFPLEVBQWUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRy9EOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDO0FBQ3BDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQztBQU83Qjs7R0FFRztBQUVILE1BQU0sT0FBTyxhQUFjLFNBQVEsU0FBUztJQUQ1Qzs7UUFFRTs7O1dBR0c7UUFDTSxjQUFTLEdBQWMsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFxQmxEOzs7V0FHRztRQUNNLGFBQVEsR0FBc0MsRUFBRSxDQUFDO1FBQzFEOzs7V0FHRztRQUNrRCxVQUFLLEdBQVcsTUFBTSxDQUFDO1FBTTVFOzs7V0FHRztRQUNNLGVBQVUsR0FBa0IsRUFBRSxDQUFDO0tBQ3pDOzs2SEE5Q1ksYUFBYTtpSEFBYixhQUFhLCtRQURILEVBQUU7QUFnQjBDO0lBQXZELFdBQVcsQ0FBVSxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQUUsWUFBWSxFQUFFOzRDQUFpQjtBQUt4RDtJQUFmLFlBQVksRUFBRTsyQ0FBZ0I7QUFLVTtJQUF4QyxXQUFXLENBQVUsYUFBYSxFQUFFLEVBQUUsQ0FBQztrREFBc0I7QUFVbEI7SUFBM0MsV0FBVyxDQUFTLGFBQWEsRUFBRSxN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RCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztDQUNGO0FBTUQsTUFBTSxPQUFPLGNBQWUsU0FBUSxRQUFRO0lBQzFDLFlBQVksU0FBK0IsRUFBRTtRQUMzQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztDQUNGO0FBTUQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFFBQVE7SUFDOUMsWUFBWSxTQUFtQyxFQUFFO1FBQy9DLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUFNRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsUUFBUTtJQUM1QyxZQUFZLFNBQWlDLEVBQUU7UUFDN0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7Q0FDRjtBQU1ELE1BQU0sT0FBTyxZQUFhLFNBQVEsUUFBUTtJQUN4QyxZQUFZLFNBQTZCLEVBQUU7UUFDekMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7Q0FDRjtBQU1ELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxRQUFRO0lBQ2hELFlBQVksU0FBcUMsRUFBRTtRQUNqRCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWElkZW50aXR5LCBYSWRlbnRpdHlQcm9wZXJ0eSwgWEJvb2xlYW4sIFhJc0VtcHR5LCBYTnVtYmVyLCBYSW5wdXROdW1iZXIsIFhJbnB1dEJvb2xlYW4sIFhXaXRoQ29uZmlnIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IElucHV0LCBDb21wb25lbnQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFhJbnB1dE9wdGlvbiwgWElucHV0Q29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvaW5wdXQnO1xyXG5pbXBvcnQgeyBYU2VsZWN0T3B0aW9uLCBYU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvc2VsZWN0JztcclxuaW1wb3J0IHsgWENhc2NhZGVPcHRpb24sIFhDYXNjYWRlQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvY2FzY2FkZSc7XHJcbmltcG9ydCB7IFhDaGVja2JveE9wdGlvbiwgWENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBYQ29sb3JQaWNrZXJPcHRpb24sIFhDb2xvclBpY2tlckNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvbG9yLXBpY2tlcic7XHJcbmltcG9ydCB7IFhEYXRlUGlja2VyT3B0aW9uLCBYRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2RhdGUtcGlja2VyJztcclxuaW1wb3J0IHsgWElucHV0TnVtYmVyT3B0aW9uLCBYSW5wdXROdW1iZXJDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9pbnB1dC1udW1iZXInO1xyXG5pbXBvcnQgeyBYUmFkaW9PcHRpb24sIFhSYWRpb0NvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL3JhZGlvJztcclxuaW1wb3J0IHsgWFJhdGVPcHRpb24sIFhSYXRlQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvcmF0ZSc7XHJcbmltcG9ydCB7IFhTbGlkZXJTZWxlY3RPcHRpb24sIFhTbGlkZXJTZWxlY3RDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9zbGlkZXItc2VsZWN0JztcclxuaW1wb3J0IHsgWFN3aXRjaE9wdGlvbiwgWFN3aXRjaENvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL3N3aXRjaCc7XHJcbmltcG9ydCB7IFhUaW1lUGlja2VyT3B0aW9uLCBYVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL3RpbWUtcGlja2VyJztcclxuaW1wb3J0IHsgWFRleHRhcmVhT3B0aW9uLCBYVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS90ZXh0YXJlYSc7XHJcbmltcG9ydCB7IFhGaW5kT3B0aW9uLCBYRmluZENvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2ZpbmQnO1xyXG5pbXBvcnQgeyBYRm9ybU9wdGlvbiwgWEZvcm1Qcm9wIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuaW1wb3J0IHsgWEF1dG9Db21wbGV0ZU9wdGlvbiwgWEF1dG9Db21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2F1dG8tY29tcGxldGUnO1xyXG5cclxuLyoqXHJcbiAqIEZvcm1cclxuICogQHNlbGVjdG9yIHgtZm9ybVxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhGb3JtUHJlZml4ID0gJ3gtZm9ybSc7XHJcbmNvbnN0IFhfQ09ORklHX05BTUUgPSAnZm9ybSc7XHJcblxyXG4vKipcclxuICogQHpoX0NOIOaooeadv1xyXG4gKiBAZW5fVVMgVGVtcGxhdGVcclxuICovXHJcbmV4cG9ydCB0eXBlIFhGb3JtVGVtcGxhdGUgPSB7IFtwcm9wZXJ0eTogc3RyaW5nXTogVGVtcGxhdGVSZWY8YW55PiB9O1xyXG4vKipcclxuICogRm9ybSBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWEZvcm1Qcm9wZXJ0eSBleHRlbmRzIFhGb3JtUHJvcCB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOWNlSBGb3JtR3JvdXBcclxuICAgKiBAZW5fVVMgRm9ybSBGb3JtR3JvdXBcclxuICAgKi9cclxuICBASW5wdXQoKSBmb3JtR3JvdXA6IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajljZXlkI3np7BcclxuICAgKiBAZW5fVVMgRm9ybSBuYW1lXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaOp+S7tumXtOi3ne+8jOWNleS9jXJlbVxyXG4gICAqIEBlbl9VUyBDb250cm9sIHNwYWNpbmcsIHVuaXQgcmVtXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhOdW1iZXI+KFhfQ09ORklHX05BTUUsIDEpIEBYSW5wdXROdW1iZXIoKSBzcGFjZT86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaOp+S7tuWuveW6pu+8jDI05qCF5qC8XHJcbiAgICogQGVuX1VTIENvbnRyb2wgd2lkdGgsIDI0IGdyaWRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgc3Bhbj86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagh+etvuWQjue8gFxyXG4gICAqIEBlbl9VUyBMYWJlbCBzdWZmaXhcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WE51bWJlcj4oWF9DT05GSUdfTkFNRSwgJycpIGxhYmVsU3VmZml4Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajljZXmjqfku7ZcclxuICAgKiBAZW5fVVMgRm9ybSBjb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KCkgY29udHJvbHM6IFhGb3JtQ29udHJvbE9wdGlvbltdIHwgWEZvcm1Sb3dbXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajljZXlrr3luqZcclxuICAgKiBAZW5fVVMgRm9ybSB3aWR0aFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxzdHJpbmc+KFhfQ09ORklHX05BTUUsICcxMDAlJykgd2lkdGg6IHN0cmluZyA9ICcxMDAlJztcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5Y2V56aB55SoXHJcbiAgICogQGVuX1VTIEZvcm0gZGlzYWJsZWRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGRpc2FibGVkITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBDdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBjb250cm9sVHBsOiBYRm9ybVRlbXBsYXRlID0ge307XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5o6n5Lu25a+56LGhXHJcbiAqIEBlbl9VUyBDb250cm9sIG9iamVjdFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYQ29udHJvbE9wdGlvbiBleHRlbmRzIFhJZGVudGl0eVByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YC8XHJcbiAgICogQGVuX1VTIFZhbHVlXHJcbiAgICovXHJcbiAgdmFsdWU/OiBhbnk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaOp+S7tuexu+Wei1xyXG4gICAqIEBlbl9VUyBDb250cm9sIHR5cGVcclxuICAgKi9cclxuICBjb250cm9sPzogWENvbnRyb2xUeXBlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKhcclxuICAgKiBAZW5fVVMgRGlzYWJsZWRcclxuICAgKi9cclxuICBkaXNhYmxlZD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlj6ror7tcclxuICAgKiBAZW5fVVMgUmVhZCBvbmx5XHJcbiAgICovXHJcbiAgcmVhZG9ubHk/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b+F5aGrXHJcbiAgICogQGVuX1VTIFJlcXVpcmVkXHJcbiAgICovXHJcbiAgcmVxdWlyZWQ/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6ZqQ6JePXHJcbiAgICogQGVuX1VTIEhpZGVcclxuICAgKi9cclxuICBoaWRkZW4/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5a69XHJcbiAgICogQGVuX1VTIENvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIHNwYW4/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOato+WImemqjOivgeinhOWImVxyXG4gICAqIEBlbl9VUyBSZWd1bGFyIHZhbGlkYXRpb24gcnVsZXNcclxuICAgKi9cclxuICBwYXR0ZXJuPzogUmVnRXhwIHwgUmVnRXhwW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmqjOivgeS4jemAmui/h+aPkOekuuaWh+Wtl1xyXG4gICAqIEBlbl9VUyBWZXJpZmljYXRpb24gZmFpbGVkIHByb21wdCB0ZXh0XHJcbiAgICovXHJcbiAgbWVzc2FnZT86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpJbpg6jmlLnlj5jkuovku7ZcclxuICAgKiBAZW5fVVMgRXh0ZXJuYWwgY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgY2hhbmdlPzogKCkgPT4gdm9pZDtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5bGe5oCnXHJcbiAgICogQGVuX1VTIEN1c3RvbSBhdHRyaWJ1dGVzXHJcbiAgICovXHJcbiAgW3Byb3BlcnR5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5o6n5Lu25a+56LGhXHJcbiAqIEBlbl9VUyBDb250cm9sIG9iamVjdFxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFhDb250cm9sIGV4dGVuZHMgWElkZW50aXR5IGltcGxlbWVudHMgWENvbnRyb2xPcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlgLxcclxuICAgKiBAZW5fVVMgVmFsdWVcclxuICAgKi9cclxuICB2YWx1ZT86IGFueTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5o6n5Lu257G75Z6LXHJcbiAgICogQGVuX1VTIENvbnRyb2wgdHlwZVxyXG4gICAqL1xyXG4gIGNvbnRyb2w/OiBYQ29udHJvbFR5cGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqFxyXG4gICAqIEBlbl9VUyBEaXNhYmxlZFxyXG4gICAqL1xyXG4gIGRpc2FibGVkPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWPquivu1xyXG4gICAqIEBlbl9VUyBSZWFkIG9ubHlcclxuICAgKi9cclxuICByZWFkb25seT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlv4XloatcclxuICAgKiBAZW5fVVMgUmVxdWlyZWRcclxuICAgKi9cclxuICByZXF1aXJlZD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpmpDol49cclxuICAgKiBAZW5fVVMgSGlkZVxyXG4gICAqL1xyXG4gIGhpZGRlbj86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflrr1cclxuICAgKiBAZW5fVVMgQ29sdW1uIHdpZHRoXHJcbiAgICovXHJcbiAgc3Bhbj86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5q2j5YiZ6aqM6K+B6KeE5YiZXHJcbiAgICogQGVuX1VTIFJlZ3VsYXIgdmFsaWRhdGlvbiBydWxlc1xyXG4gICAqL1xyXG4gIHBhdHRlcm4/OiBSZWdFeHAgfCBSZWdFeHBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6aqM6K+B5LiN6YCa6L+H5o+Q56S65paH5a2XXHJcbiAgICogQGVuX1VTIFZlcmlmaWNhdGlvbiBmYWlsZWQgcHJvbXB0IHRleHRcclxuICAgKi9cclxuICBtZXNzYWdlPzogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWklumDqOaUueWPmOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFeHRlcm5hbCBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICBjaGFuZ2U/OiAoKSA9PiB2b2lkO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnlsZ7mgKdcclxuICAgKiBAZW5fVVMgQ3VzdG9tIGF0dHJpYnV0ZXNcclxuICAgKi9cclxuICBbcHJvcGVydHk6IHN0cmluZ106IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYQ29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgaWYgKFhJc0VtcHR5KHRoaXMudmFsdWUpKSB0aGlzLnZhbHVlID0gJyc7XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIG9wdGlvbik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOihqOWNleihjOWvueixoVxyXG4gKiBAZW5fVVMgRm9ybSByb3cgb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhGb3JtUm93IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5qCH6aKYXHJcbiAgICogQGVuX1VTIFJvdyBoZWFkZXJcclxuICAgKi9cclxuICB0aXRsZT86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5Zu+5qCHXHJcbiAgICogQGVuX1VTIFJvdyBpY29uXHJcbiAgICovXHJcbiAgaWNvbj86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5Lit55qE5o6n5Lu2XHJcbiAgICogQGVuX1VTIENvbnRyb2wgaW4gcm93XHJcbiAgICovXHJcbiAgY29udHJvbHM6IFhGb3JtQ29udHJvbE9wdGlvbltdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpmpDol49cclxuICAgKiBAZW5fVVMgSGlkZGVuXHJcbiAgICovXHJcbiAgaGlkZGVuPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb250cm9sXHJcbiAqIEBzZWxlY3RvciB4LWNvbnRyb2xcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYQ29udHJvbFByZWZpeCA9ICd4LWNvbnRyb2wnO1xyXG5cclxuLyoqXHJcbiAqIENvbnRyb2wgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhDb250cm9sUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjqfku7blr7nosaFcclxuICAgKiBAZW5fVVMgQ29udHJvbCBvYmplY3RcclxuICAgKi9cclxuICBASW5wdXQoKSBvcHRpb24/OiBYQ29udHJvbE9wdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhGb3JtQ29udHJvbCBleHRlbmRzIEZvcm1Db250cm9sIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5o+Q56S65L+h5oGvXHJcbiAgICogQGVuX1VTIFByb21wdCBpbmZvcm1hdGlvblxyXG4gICAqL1xyXG4gIG1lc3NhZ2VzPzogc3RyaW5nW10gPSBbXTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgWEZvcm1Db250cm9sT3B0aW9uID1cclxuICB8IFhJbnB1dENvbnRyb2xPcHRpb25cclxuICB8IFhTZWxlY3RDb250cm9sT3B0aW9uXHJcbiAgfCBYQ2FzY2FkZUNvbnRyb2xPcHRpb25cclxuICB8IFhDaGVja2JveENvbnRyb2xPcHRpb25cclxuICB8IFhDb2xvclBpY2tlckNvbnRyb2xPcHRpb25cclxuICB8IFhEYXRlUGlja2VyQ29udHJvbE9wdGlvblxyXG4gIHwgWElucHV0TnVtYmVyQ29udHJvbE9wdGlvblxyXG4gIHwgWFJhZGlvQ29udHJvbE9wdGlvblxyXG4gIHwgWFJhdGVDb250cm9sT3B0aW9uXHJcbiAgfCBYU2xpZGVyU2VsZWN0Q29udHJvbE9wdGlvblxyXG4gIHwgWFN3aXRjaENvbnRyb2xPcHRpb25cclxuICB8IFhUaW1lUGlja2VyQ29udHJvbE9wdGlvblxyXG4gIHwgWEZpbmRDb250cm9sT3B0aW9uXHJcbiAgfCBYVGVtcGxhdGVDb250cm9sT3B0aW9uO1xyXG5cclxuZXhwb3J0IHR5cGUgWEZvcm1Db250cm9sQ29tcG9uZW50ID1cclxuICB8IFhJbnB1dENvbXBvbmVudFxyXG4gIHwgWFNlbGVjdENvbXBvbmVudFxyXG4gIHwgWENhc2NhZGVDb21wb25lbnRcclxuICB8IFhDaGVja2JveENvbXBvbmVudFxyXG4gIHwgWENvbG9yUGlja2VyQ29tcG9uZW50XHJcbiAgfCBYRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gIHwgWElucHV0TnVtYmVyQ29tcG9uZW50XHJcbiAgfCBYUmFkaW9Db21wb25lbnRcclxuICB8IFhSYXRlQ29tcG9uZW50XHJcbiAgfCBYU2xpZGVyU2VsZWN0Q29tcG9uZW50XHJcbiAgfCBYU3dpdGNoQ29tcG9uZW50XHJcbiAgfCBYVGltZVBpY2tlckNvbXBvbmVudFxyXG4gIHwgWFRleHRhcmVhQ29tcG9uZW50XHJcbiAgfCBYRmluZENvbXBvbmVudFxyXG4gIHwgWEF1dG9Db21wbGV0ZUNvbXBvbmVudDtcclxuXHJcbmV4cG9ydCB0eXBlIFhGb3JtQ29udHJvbFR5cGUgPVxyXG4gIHwgWElucHV0Q29udHJvbFxyXG4gIHwgWFNlbGVjdENvbnRyb2xcclxuICB8IFhDYXNjYWRlQ29udHJvbFxyXG4gIHwgWENoZWNrYm94Q29udHJvbFxyXG4gIHwgWENvbG9yUGlja2VyQ29udHJvbFxyXG4gIHwgWERhdGVQaWNrZXJDb250cm9sXHJcbiAgfCBYSW5wdXROdW1iZXJDb250cm9sXHJcbiAgfCBYUmFkaW9Db250cm9sXHJcbiAgfCBYUmF0ZUNvbnRyb2xcclxuICB8IFhTbGlkZXJTZWxlY3RDb250cm9sXHJcbiAgfCBYU3dpdGNoQ29udHJvbFxyXG4gIHwgWFRpbWVQaWNrZXJDb250cm9sXHJcbiAgfCBYVGV4dGFyZWFDb250cm9sXHJcbiAgfCBYRmluZENvbnRyb2xcclxuICB8IFhBdXRvQ29tcGxldGVDb250cm9sO1xyXG5cclxuZXhwb3J0IHR5cGUgWENvbnRyb2xUeXBlID1cclxuICB8ICdpbnB1dCdcclxuICB8ICdzZWxlY3QnXHJcbiAgfCAnY2FzY2FkZSdcclxuICB8ICdjaGVja2JveCdcclxuICB8ICdjb2xvci1waWNrZXInXHJcbiAgfCAnZGF0ZS1waWNrZXInXHJcbiAgfCAnaW5wdXQtbnVtYmVyJ1xyXG4gIHwgJ3JhZGlvJ1xyXG4gIHwgJ3JhdGUnXHJcbiAgfCAnc2xpZGVyLXNlbGVjdCdcclxuICB8ICdzd2l0Y2gnXHJcbiAgfCAndGltZS1waWNrZXInXHJcbiAgfCAndGV4dGFyZWEnXHJcbiAgfCAnZmluZCdcclxuICB8ICdhdXRvLWNvbXBsZXRlJ1xyXG4gIHwgJ3RlbXBsYXRlJztcclxuXHJcbi8qKlxyXG4gKiBJbnB1dCBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhJbnB1dENvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWElucHV0T3B0aW9uIHt9XHJcbmV4cG9ydCBjbGFzcyBYSW5wdXRDb250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWElucHV0Q29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFNlbGVjdCBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhTZWxlY3RDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhTZWxlY3RPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhTZWxlY3RDb250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWFNlbGVjdENvbnRyb2xPcHRpb24gPSB7fSkge1xyXG4gICAgc3VwZXIob3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDYXNjYWRlIENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENhc2NhZGVDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhDYXNjYWRlT3B0aW9uIHt9XHJcbmV4cG9ydCBjbGFzcyBYQ2FzY2FkZUNvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYQ2FzY2FkZUNvbnRyb2xPcHRpb24gPSB7fSkge1xyXG4gICAgc3VwZXIob3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDaGVja2JveCBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhDaGVja2JveENvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWENoZWNrYm94T3B0aW9uIHt9XHJcbmV4cG9ydCBjbGFzcyBYQ2hlY2tib3hDb250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWENoZWNrYm94Q29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIENvbG9yUGlja2VyIENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENvbG9yUGlja2VyQ29udHJvbE9wdGlvbiBleHRlbmRzIFhDb250cm9sT3B0aW9uLCBYQ29sb3JQaWNrZXJPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhDb2xvclBpY2tlckNvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYQ29sb3JQaWNrZXJDb250cm9sT3B0aW9uID0ge30pIHtcclxuICAgIHN1cGVyKG9wdGlvbik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogRGF0ZVBpY2tlciBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhEYXRlUGlja2VyQ29udHJvbE9wdGlvbiBleHRlbmRzIFhDb250cm9sT3B0aW9uLCBYRGF0ZVBpY2tlck9wdGlvbiB7fVxyXG5leHBvcnQgY2xhc3MgWERhdGVQaWNrZXJDb250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWERhdGVQaWNrZXJDb250cm9sT3B0aW9uID0ge30pIHtcclxuICAgIHN1cGVyKG9wdGlvbik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogSW5wdXROdW1iZXIgQ29udHJvbFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYSW5wdXROdW1iZXJDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhJbnB1dE51bWJlck9wdGlvbiB7fVxyXG5leHBvcnQgY2xhc3MgWElucHV0TnVtYmVyQ29udHJvbCBleHRlbmRzIFhDb250cm9sIHtcclxuICBjb25zdHJ1Y3RvcihvcHRpb246IFhJbnB1dE51bWJlckNvbnRyb2xPcHRpb24gPSB7fSkge1xyXG4gICAgc3VwZXIob3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSYWRpbyBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhSYWRpb0NvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWFJhZGlvT3B0aW9uIHt9XHJcbmV4cG9ydCBjbGFzcyBYUmFkaW9Db250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWFJhZGlvQ29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFJhdGUgQ29udHJvbFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYUmF0ZUNvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWFJhdGVPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhSYXRlQ29udHJvbCBleHRlbmRzIFhDb250cm9sIHtcclxuICBjb25zdHJ1Y3RvcihvcHRpb246IFhSYXRlQ29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFNsaWRlclNlbGVjdCBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhTbGlkZXJTZWxlY3RDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhTbGlkZXJTZWxlY3RPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhTbGlkZXJTZWxlY3RDb250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWFNsaWRlclNlbGVjdENvbnRyb2xPcHRpb24gPSB7fSkge1xyXG4gICAgc3VwZXIob3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTd2l0Y2ggQ29udHJvbFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYU3dpdGNoQ29udHJvbE9wdGlvbiBleHRlbmRzIFhDb250cm9sT3B0aW9uLCBYU3dpdGNoT3B0aW9uIHt9XHJcbmV4cG9ydCBjbGFzcyBYU3dpdGNoQ29udHJvbCBleHRlbmRzIFhDb250cm9sIHtcclxuICBjb25zdHJ1Y3RvcihvcHRpb246IFhTd2l0Y2hDb250cm9sT3B0aW9uID0ge30pIHtcclxuICAgIHN1cGVyKG9wdGlvbik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogVGltZVBpY2tlciBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUaW1lUGlja2VyQ29udHJvbE9wdGlvbiBleHRlbmRzIFhDb250cm9sT3B0aW9uLCBYVGltZVBpY2tlck9wdGlvbiB7fVxyXG5leHBvcnQgY2xhc3MgWFRpbWVQaWNrZXJDb250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWFRpbWVQaWNrZXJDb250cm9sT3B0aW9uID0ge30pIHtcclxuICAgIHN1cGVyKG9wdGlvbik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogVGV4dGFyZWEgQ29udHJvbFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGV4dGFyZWFDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhUZXh0YXJlYU9wdGlvbiB7fVxyXG5leHBvcnQgY2xhc3MgWFRleHRhcmVhQ29udHJvbCBleHRlbmRzIFhDb250cm9sIHtcclxuICBjb25zdHJ1Y3RvcihvcHRpb246IFhUZXh0YXJlYUNvbnRyb2xPcHRpb24gPSB7fSkge1xyXG4gICAgc3VwZXIob3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGaW5kIENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEZpbmRDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhGaW5kT3B0aW9uIHt9XHJcbmV4cG9ydCBjbGFzcyBYRmluZENvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYRmluZENvbnRyb2xPcHRpb24gPSB7fSkge1xyXG4gICAgc3VwZXIob3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBdXRvQ29tcGxldGUgQ29udHJvbFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYQXV0b0NvbXBsZXRlQ29udHJvbE9wdGlvbiBleHRlbmRzIFhDb250cm9sT3B0aW9uLCBYQXV0b0NvbXBsZXRlT3B0aW9uIHt9XHJcbmV4cG9ydCBjbGFzcyBYQXV0b0NvbXBsZXRlQ29udHJvbCBleHRlbmRzIFhDb250cm9sIHtcclxuICBjb25zdHJ1Y3RvcihvcHRpb246IFhBdXRvQ29tcGxldGVDb250cm9sT3B0aW9uID0ge30pIHtcclxuICAgIHN1cGVyKG9wdGlvbik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogVGVtcGxhdGUgQ29udHJvbFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVGVtcGxhdGVDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhGb3JtT3B0aW9uIHt9XHJcbiJdfQ==
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2Zvcm0vZm9ybS5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBK0IsUUFBUSxFQUFXLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4SCxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBZXhELE9BQU8sRUFBZSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFHL0Q7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUM7QUFDcEMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDO0FBTzdCOztHQUVHO0FBRUgsTUFBTSxPQUFPLGFBQWMsU0FBUSxTQUFTO0lBRDVDOztRQUVFOzs7V0FHRztRQUNNLGNBQVMsR0FBYyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQXFCbEQ7OztXQUdHO1FBQ00sYUFBUSxHQUFzQyxFQUFFLENBQUM7UUFDMUQ7OztXQUdHO1FBQ2tELFVBQUssR0FBVyxNQUFNLENBQUM7UUFDNUU7OztXQUdHO1FBQ00sZUFBVSxHQUFrQixFQUFFLENBQUM7S0FDekM7OzZIQXpDWSxhQUFhO2lIQUFiLGFBQWEseVBBREgsRUFBRTtBQWdCMEM7SUFBdkQsV0FBVyxDQUFVLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFBRSxZQUFZLEVBQUU7NENBQWlCO0FBS3hEO0lBQWYsWUFBWSxFQUFFOzJDQUFnQjtBQUtVO0lBQXhDLFdBQVcsQ0FBVSxhQUFhLEVBQUUsRUFBRSxDQUFDO2tEQUFzQjtBQVVsQjtJQUEzQyxXQUFXLENBQVMsYUFBYSxFQUFFLE1BQU0sQ0FBQzs0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U0FBUSxRQUFRO0lBQzFDLFlBQVksU0FBK0IsRUFBRTtRQUMzQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztDQUNGO0FBTUQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFFBQVE7SUFDOUMsWUFBWSxTQUFtQyxFQUFFO1FBQy9DLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUFNRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsUUFBUTtJQUM1QyxZQUFZLFNBQWlDLEVBQUU7UUFDN0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7Q0FDRjtBQU1ELE1BQU0sT0FBTyxZQUFhLFNBQVEsUUFBUTtJQUN4QyxZQUFZLFNBQTZCLEVBQUU7UUFDekMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7Q0FDRjtBQU1ELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxRQUFRO0lBQ2hELFlBQVksU0FBcUMsRUFBRTtRQUNqRCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWElkZW50aXR5LCBYSWRlbnRpdHlQcm9wZXJ0eSwgWEJvb2xlYW4sIFhJc0VtcHR5LCBYTnVtYmVyLCBYSW5wdXROdW1iZXIsIFhXaXRoQ29uZmlnIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IElucHV0LCBDb21wb25lbnQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFhJbnB1dE9wdGlvbiwgWElucHV0Q29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvaW5wdXQnO1xyXG5pbXBvcnQgeyBYU2VsZWN0T3B0aW9uLCBYU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvc2VsZWN0JztcclxuaW1wb3J0IHsgWENhc2NhZGVPcHRpb24sIFhDYXNjYWRlQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvY2FzY2FkZSc7XHJcbmltcG9ydCB7IFhDaGVja2JveE9wdGlvbiwgWENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBYQ29sb3JQaWNrZXJPcHRpb24sIFhDb2xvclBpY2tlckNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvbG9yLXBpY2tlcic7XHJcbmltcG9ydCB7IFhEYXRlUGlja2VyT3B0aW9uLCBYRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2RhdGUtcGlja2VyJztcclxuaW1wb3J0IHsgWElucHV0TnVtYmVyT3B0aW9uLCBYSW5wdXROdW1iZXJDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9pbnB1dC1udW1iZXInO1xyXG5pbXBvcnQgeyBYUmFkaW9PcHRpb24sIFhSYWRpb0NvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL3JhZGlvJztcclxuaW1wb3J0IHsgWFJhdGVPcHRpb24sIFhSYXRlQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvcmF0ZSc7XHJcbmltcG9ydCB7IFhTbGlkZXJTZWxlY3RPcHRpb24sIFhTbGlkZXJTZWxlY3RDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9zbGlkZXItc2VsZWN0JztcclxuaW1wb3J0IHsgWFN3aXRjaE9wdGlvbiwgWFN3aXRjaENvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL3N3aXRjaCc7XHJcbmltcG9ydCB7IFhUaW1lUGlja2VyT3B0aW9uLCBYVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL3RpbWUtcGlja2VyJztcclxuaW1wb3J0IHsgWFRleHRhcmVhT3B0aW9uLCBYVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS90ZXh0YXJlYSc7XHJcbmltcG9ydCB7IFhGaW5kT3B0aW9uLCBYRmluZENvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2ZpbmQnO1xyXG5pbXBvcnQgeyBYRm9ybU9wdGlvbiwgWEZvcm1Qcm9wIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuaW1wb3J0IHsgWEF1dG9Db21wbGV0ZU9wdGlvbiwgWEF1dG9Db21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2F1dG8tY29tcGxldGUnO1xyXG5cclxuLyoqXHJcbiAqIEZvcm1cclxuICogQHNlbGVjdG9yIHgtZm9ybVxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhGb3JtUHJlZml4ID0gJ3gtZm9ybSc7XHJcbmNvbnN0IFhfQ09ORklHX05BTUUgPSAnZm9ybSc7XHJcblxyXG4vKipcclxuICogQHpoX0NOIOaooeadv1xyXG4gKiBAZW5fVVMgVGVtcGxhdGVcclxuICovXHJcbmV4cG9ydCB0eXBlIFhGb3JtVGVtcGxhdGUgPSB7IFtwcm9wZXJ0eTogc3RyaW5nXTogVGVtcGxhdGVSZWY8YW55PiB9O1xyXG4vKipcclxuICogRm9ybSBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWEZvcm1Qcm9wZXJ0eSBleHRlbmRzIFhGb3JtUHJvcCB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOWNlSBGb3JtR3JvdXBcclxuICAgKiBAZW5fVVMgRm9ybSBGb3JtR3JvdXBcclxuICAgKi9cclxuICBASW5wdXQoKSBmb3JtR3JvdXA6IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajljZXlkI3np7BcclxuICAgKiBAZW5fVVMgRm9ybSBuYW1lXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaOp+S7tumXtOi3ne+8jOWNleS9jXJlbVxyXG4gICAqIEBlbl9VUyBDb250cm9sIHNwYWNpbmcsIHVuaXQgcmVtXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhOdW1iZXI+KFhfQ09ORklHX05BTUUsIDEpIEBYSW5wdXROdW1iZXIoKSBzcGFjZT86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaOp+S7tuWuveW6pu+8jDI05qCF5qC8XHJcbiAgICogQGVuX1VTIENvbnRyb2wgd2lkdGgsIDI0IGdyaWRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgc3Bhbj86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagh+etvuWQjue8gFxyXG4gICAqIEBlbl9VUyBMYWJlbCBzdWZmaXhcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WE51bWJlcj4oWF9DT05GSUdfTkFNRSwgJycpIGxhYmVsU3VmZml4Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajljZXmjqfku7ZcclxuICAgKiBAZW5fVVMgRm9ybSBjb250cm9sXHJcbiAgICovXHJcbiAgQElucHV0KCkgY29udHJvbHM6IFhGb3JtQ29udHJvbE9wdGlvbltdIHwgWEZvcm1Sb3dbXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajljZXlrr3luqZcclxuICAgKiBAZW5fVVMgRm9ybSB3aWR0aFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxzdHJpbmc+KFhfQ09ORklHX05BTUUsICcxMDAlJykgd2lkdGg6IHN0cmluZyA9ICcxMDAlJztcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIEN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNvbnRyb2xUcGw6IFhGb3JtVGVtcGxhdGUgPSB7fTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDmjqfku7blr7nosaFcclxuICogQGVuX1VTIENvbnRyb2wgb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhDb250cm9sT3B0aW9uIGV4dGVuZHMgWElkZW50aXR5UHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlgLxcclxuICAgKiBAZW5fVVMgVmFsdWVcclxuICAgKi9cclxuICB2YWx1ZT86IGFueTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5o6n5Lu257G75Z6LXHJcbiAgICogQGVuX1VTIENvbnRyb2wgdHlwZVxyXG4gICAqL1xyXG4gIGNvbnRyb2w/OiBYQ29udHJvbFR5cGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqFxyXG4gICAqIEBlbl9VUyBEaXNhYmxlZFxyXG4gICAqL1xyXG4gIGRpc2FibGVkPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWPquivu1xyXG4gICAqIEBlbl9VUyBSZWFkIG9ubHlcclxuICAgKi9cclxuICByZWFkb25seT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlv4XloatcclxuICAgKiBAZW5fVVMgUmVxdWlyZWRcclxuICAgKi9cclxuICByZXF1aXJlZD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpmpDol49cclxuICAgKiBAZW5fVVMgSGlkZVxyXG4gICAqL1xyXG4gIGhpZGRlbj86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflrr1cclxuICAgKiBAZW5fVVMgQ29sdW1uIHdpZHRoXHJcbiAgICovXHJcbiAgc3Bhbj86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5q2j5YiZ6aqM6K+B6KeE5YiZXHJcbiAgICogQGVuX1VTIFJlZ3VsYXIgdmFsaWRhdGlvbiBydWxlc1xyXG4gICAqL1xyXG4gIHBhdHRlcm4/OiBSZWdFeHAgfCBSZWdFeHBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6aqM6K+B5LiN6YCa6L+H5o+Q56S65paH5a2XXHJcbiAgICogQGVuX1VTIFZlcmlmaWNhdGlvbiBmYWlsZWQgcHJvbXB0IHRleHRcclxuICAgKi9cclxuICBtZXNzYWdlPzogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWklumDqOaUueWPmOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFeHRlcm5hbCBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICBjaGFuZ2U/OiAoKSA9PiB2b2lkO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnlsZ7mgKdcclxuICAgKiBAZW5fVVMgQ3VzdG9tIGF0dHJpYnV0ZXNcclxuICAgKi9cclxuICBbcHJvcGVydHk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDmjqfku7blr7nosaFcclxuICogQGVuX1VTIENvbnRyb2wgb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgWENvbnRyb2wgZXh0ZW5kcyBYSWRlbnRpdHkgaW1wbGVtZW50cyBYQ29udHJvbE9wdGlvbiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWAvFxyXG4gICAqIEBlbl9VUyBWYWx1ZVxyXG4gICAqL1xyXG4gIHZhbHVlPzogYW55O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjqfku7bnsbvlnotcclxuICAgKiBAZW5fVVMgQ29udHJvbCB0eXBlXHJcbiAgICovXHJcbiAgY29udHJvbD86IFhDb250cm9sVHlwZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55SoXHJcbiAgICogQGVuX1VTIERpc2FibGVkXHJcbiAgICovXHJcbiAgZGlzYWJsZWQ/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y+q6K+7XHJcbiAgICogQGVuX1VTIFJlYWQgb25seVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5PzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW/heWhq1xyXG4gICAqIEBlbl9VUyBSZXF1aXJlZFxyXG4gICAqL1xyXG4gIHJlcXVpcmVkPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmakOiXj1xyXG4gICAqIEBlbl9VUyBIaWRlXHJcbiAgICovXHJcbiAgaGlkZGVuPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+WuvVxyXG4gICAqIEBlbl9VUyBDb2x1bW4gd2lkdGhcclxuICAgKi9cclxuICBzcGFuPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmraPliJnpqozor4Hop4TliJlcclxuICAgKiBAZW5fVVMgUmVndWxhciB2YWxpZGF0aW9uIHJ1bGVzXHJcbiAgICovXHJcbiAgcGF0dGVybj86IFJlZ0V4cCB8IFJlZ0V4cFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpqozor4HkuI3pgJrov4fmj5DnpLrmloflrZdcclxuICAgKiBAZW5fVVMgVmVyaWZpY2F0aW9uIGZhaWxlZCBwcm9tcHQgdGV4dFxyXG4gICAqL1xyXG4gIG1lc3NhZ2U/OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSW6YOo5pS55Y+Y5LqL5Lu2XHJcbiAgICogQGVuX1VTIEV4dGVybmFsIGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIGNoYW5nZT86ICgpID0+IHZvaWQ7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiuvue9rumqjOivgVxyXG4gICAqIEBlbl9VUyBTZXQgdmVyaWZpY2F0aW9uXHJcbiAgICovXHJcbiAgc2V0VmFsaWRhdG9ycz86ICgpID0+IHZvaWQ7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWxnuaAp1xyXG4gICAqIEBlbl9VUyBDdXN0b20gYXR0cmlidXRlc1xyXG4gICAqL1xyXG4gIFtwcm9wZXJ0eTogc3RyaW5nXTogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcihvcHRpb246IFhDb250cm9sT3B0aW9uID0ge30pIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICBpZiAoWElzRW1wdHkodGhpcy52YWx1ZSkpIHRoaXMudmFsdWUgPSAnJztcclxuICAgIE9iamVjdC5hc3NpZ24odGhpcywgb3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g6KGo5Y2V6KGM5a+56LGhXHJcbiAqIEBlbl9VUyBGb3JtIHJvdyBvYmplY3RcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEZvcm1Sb3cge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzmoIfpophcclxuICAgKiBAZW5fVVMgUm93IGhlYWRlclxyXG4gICAqL1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzlm77moIdcclxuICAgKiBAZW5fVVMgUm93IGljb25cclxuICAgKi9cclxuICBpY29uPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooYzkuK3nmoTmjqfku7ZcclxuICAgKiBAZW5fVVMgQ29udHJvbCBpbiByb3dcclxuICAgKi9cclxuICBjb250cm9sczogWEZvcm1Db250cm9sT3B0aW9uW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmakOiXj1xyXG4gICAqIEBlbl9VUyBIaWRkZW5cclxuICAgKi9cclxuICBoaWRkZW4/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbnRyb2xcclxuICogQHNlbGVjdG9yIHgtY29udHJvbFxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhDb250cm9sUHJlZml4ID0gJ3gtY29udHJvbCc7XHJcblxyXG4vKipcclxuICogQ29udHJvbCBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWENvbnRyb2xQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaOp+S7tuWvueixoVxyXG4gICAqIEBlbl9VUyBDb250cm9sIG9iamVjdFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG9wdGlvbj86IFhDb250cm9sT3B0aW9uO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWEZvcm1Db250cm9sIGV4dGVuZHMgRm9ybUNvbnRyb2wge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmj5DnpLrkv6Hmga9cclxuICAgKiBAZW5fVVMgUHJvbXB0IGluZm9ybWF0aW9uXHJcbiAgICovXHJcbiAgbWVzc2FnZXM/OiBzdHJpbmdbXSA9IFtdO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBYRm9ybUNvbnRyb2xPcHRpb24gPVxyXG4gIHwgWElucHV0Q29udHJvbE9wdGlvblxyXG4gIHwgWFNlbGVjdENvbnRyb2xPcHRpb25cclxuICB8IFhDYXNjYWRlQ29udHJvbE9wdGlvblxyXG4gIHwgWENoZWNrYm94Q29udHJvbE9wdGlvblxyXG4gIHwgWENvbG9yUGlja2VyQ29udHJvbE9wdGlvblxyXG4gIHwgWERhdGVQaWNrZXJDb250cm9sT3B0aW9uXHJcbiAgfCBYSW5wdXROdW1iZXJDb250cm9sT3B0aW9uXHJcbiAgfCBYUmFkaW9Db250cm9sT3B0aW9uXHJcbiAgfCBYUmF0ZUNvbnRyb2xPcHRpb25cclxuICB8IFhTbGlkZXJTZWxlY3RDb250cm9sT3B0aW9uXHJcbiAgfCBYU3dpdGNoQ29udHJvbE9wdGlvblxyXG4gIHwgWFRpbWVQaWNrZXJDb250cm9sT3B0aW9uXHJcbiAgfCBYRmluZENvbnRyb2xPcHRpb25cclxuICB8IFhUZW1wbGF0ZUNvbnRyb2xPcHRpb247XHJcblxyXG5leHBvcnQgdHlwZSBYRm9ybUNvbnRyb2xDb21wb25lbnQgPVxyXG4gIHwgWElucHV0Q29tcG9uZW50XHJcbiAgfCBYU2VsZWN0Q29tcG9uZW50XHJcbiAgfCBYQ2FzY2FkZUNvbXBvbmVudFxyXG4gIHwgWENoZWNrYm94Q29tcG9uZW50XHJcbiAgfCBYQ29sb3JQaWNrZXJDb21wb25lbnRcclxuICB8IFhEYXRlUGlja2VyQ29tcG9uZW50XHJcbiAgfCBYSW5wdXROdW1iZXJDb21wb25lbnRcclxuICB8IFhSYWRpb0NvbXBvbmVudFxyXG4gIHwgWFJhdGVDb21wb25lbnRcclxuICB8IFhTbGlkZXJTZWxlY3RDb21wb25lbnRcclxuICB8IFhTd2l0Y2hDb21wb25lbnRcclxuICB8IFhUaW1lUGlja2VyQ29tcG9uZW50XHJcbiAgfCBYVGV4dGFyZWFDb21wb25lbnRcclxuICB8IFhGaW5kQ29tcG9uZW50XHJcbiAgfCBYQXV0b0NvbXBsZXRlQ29tcG9uZW50O1xyXG5cclxuZXhwb3J0IHR5cGUgWEZvcm1Db250cm9sVHlwZSA9XHJcbiAgfCBYSW5wdXRDb250cm9sXHJcbiAgfCBYU2VsZWN0Q29udHJvbFxyXG4gIHwgWENhc2NhZGVDb250cm9sXHJcbiAgfCBYQ2hlY2tib3hDb250cm9sXHJcbiAgfCBYQ29sb3JQaWNrZXJDb250cm9sXHJcbiAgfCBYRGF0ZVBpY2tlckNvbnRyb2xcclxuICB8IFhJbnB1dE51bWJlckNvbnRyb2xcclxuICB8IFhSYWRpb0NvbnRyb2xcclxuICB8IFhSYXRlQ29udHJvbFxyXG4gIHwgWFNsaWRlclNlbGVjdENvbnRyb2xcclxuICB8IFhTd2l0Y2hDb250cm9sXHJcbiAgfCBYVGltZVBpY2tlckNvbnRyb2xcclxuICB8IFhUZXh0YXJlYUNvbnRyb2xcclxuICB8IFhGaW5kQ29udHJvbFxyXG4gIHwgWEF1dG9Db21wbGV0ZUNvbnRyb2w7XHJcblxyXG5leHBvcnQgdHlwZSBYQ29udHJvbFR5cGUgPVxyXG4gIHwgJ2lucHV0J1xyXG4gIHwgJ3NlbGVjdCdcclxuICB8ICdjYXNjYWRlJ1xyXG4gIHwgJ2NoZWNrYm94J1xyXG4gIHwgJ2NvbG9yLXBpY2tlcidcclxuICB8ICdkYXRlLXBpY2tlcidcclxuICB8ICdpbnB1dC1udW1iZXInXHJcbiAgfCAncmFkaW8nXHJcbiAgfCAncmF0ZSdcclxuICB8ICdzbGlkZXItc2VsZWN0J1xyXG4gIHwgJ3N3aXRjaCdcclxuICB8ICd0aW1lLXBpY2tlcidcclxuICB8ICd0ZXh0YXJlYSdcclxuICB8ICdmaW5kJ1xyXG4gIHwgJ2F1dG8tY29tcGxldGUnXHJcbiAgfCAndGVtcGxhdGUnO1xyXG5cclxuLyoqXHJcbiAqIElucHV0IENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWElucHV0Q29udHJvbE9wdGlvbiBleHRlbmRzIFhDb250cm9sT3B0aW9uLCBYSW5wdXRPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhJbnB1dENvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYSW5wdXRDb250cm9sT3B0aW9uID0ge30pIHtcclxuICAgIHN1cGVyKG9wdGlvbik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogU2VsZWN0IENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNlbGVjdENvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWFNlbGVjdE9wdGlvbiB7fVxyXG5leHBvcnQgY2xhc3MgWFNlbGVjdENvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYU2VsZWN0Q29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIENhc2NhZGUgQ29udHJvbFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYQ2FzY2FkZUNvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWENhc2NhZGVPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhDYXNjYWRlQ29udHJvbCBleHRlbmRzIFhDb250cm9sIHtcclxuICBjb25zdHJ1Y3RvcihvcHRpb246IFhDYXNjYWRlQ29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIENoZWNrYm94IENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENoZWNrYm94Q29udHJvbE9wdGlvbiBleHRlbmRzIFhDb250cm9sT3B0aW9uLCBYQ2hlY2tib3hPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhDaGVja2JveENvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYQ2hlY2tib3hDb250cm9sT3B0aW9uID0ge30pIHtcclxuICAgIHN1cGVyKG9wdGlvbik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogQ29sb3JQaWNrZXIgQ29udHJvbFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYQ29sb3JQaWNrZXJDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhDb2xvclBpY2tlck9wdGlvbiB7fVxyXG5leHBvcnQgY2xhc3MgWENvbG9yUGlja2VyQ29udHJvbCBleHRlbmRzIFhDb250cm9sIHtcclxuICBjb25zdHJ1Y3RvcihvcHRpb246IFhDb2xvclBpY2tlckNvbnRyb2xPcHRpb24gPSB7fSkge1xyXG4gICAgc3VwZXIob3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEYXRlUGlja2VyIENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERhdGVQaWNrZXJDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhEYXRlUGlja2VyT3B0aW9uIHt9XHJcbmV4cG9ydCBjbGFzcyBYRGF0ZVBpY2tlckNvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYRGF0ZVBpY2tlckNvbnRyb2xPcHRpb24gPSB7fSkge1xyXG4gICAgc3VwZXIob3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBJbnB1dE51bWJlciBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhJbnB1dE51bWJlckNvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWElucHV0TnVtYmVyT3B0aW9uIHt9XHJcbmV4cG9ydCBjbGFzcyBYSW5wdXROdW1iZXJDb250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWElucHV0TnVtYmVyQ29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFJhZGlvIENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFJhZGlvQ29udHJvbE9wdGlvbiBleHRlbmRzIFhDb250cm9sT3B0aW9uLCBYUmFkaW9PcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhSYWRpb0NvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYUmFkaW9Db250cm9sT3B0aW9uID0ge30pIHtcclxuICAgIHN1cGVyKG9wdGlvbik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogUmF0ZSBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhSYXRlQ29udHJvbE9wdGlvbiBleHRlbmRzIFhDb250cm9sT3B0aW9uLCBYUmF0ZU9wdGlvbiB7fVxyXG5leHBvcnQgY2xhc3MgWFJhdGVDb250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWFJhdGVDb250cm9sT3B0aW9uID0ge30pIHtcclxuICAgIHN1cGVyKG9wdGlvbik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogU2xpZGVyU2VsZWN0IENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNsaWRlclNlbGVjdENvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWFNsaWRlclNlbGVjdE9wdGlvbiB7fVxyXG5leHBvcnQgY2xhc3MgWFNsaWRlclNlbGVjdENvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYU2xpZGVyU2VsZWN0Q29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFN3aXRjaCBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhTd2l0Y2hDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhTd2l0Y2hPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhTd2l0Y2hDb250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWFN3aXRjaENvbnRyb2xPcHRpb24gPSB7fSkge1xyXG4gICAgc3VwZXIob3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUaW1lUGlja2VyIENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRpbWVQaWNrZXJDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhUaW1lUGlja2VyT3B0aW9uIHt9XHJcbmV4cG9ydCBjbGFzcyBYVGltZVBpY2tlckNvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYVGltZVBpY2tlckNvbnRyb2xPcHRpb24gPSB7fSkge1xyXG4gICAgc3VwZXIob3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUZXh0YXJlYSBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUZXh0YXJlYUNvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWFRleHRhcmVhT3B0aW9uIHt9XHJcbmV4cG9ydCBjbGFzcyBYVGV4dGFyZWFDb250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWFRleHRhcmVhQ29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEZpbmQgQ29udHJvbFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYRmluZENvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWEZpbmRPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhGaW5kQ29udHJvbCBleHRlbmRzIFhDb250cm9sIHtcclxuICBjb25zdHJ1Y3RvcihvcHRpb246IFhGaW5kQ29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEF1dG9Db21wbGV0ZSBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhBdXRvQ29tcGxldGVDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhBdXRvQ29tcGxldGVPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhBdXRvQ29tcGxldGVDb250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWEF1dG9Db21wbGV0ZUNvbnRyb2xPcHRpb24gPSB7fSkge1xyXG4gICAgc3VwZXIob3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUZW1wbGF0ZSBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUZW1wbGF0ZUNvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWEZvcm1PcHRpb24ge31cclxuIl19
@@ -15,7 +15,8 @@ export class XHighlightComponent extends XHighlightProperty {
15
15
  this.renderer.addClass(this.elementRef.nativeElement, XHighlightPrefix);
16
16
  }
17
17
  ngOnChanges(changes) {
18
- XIsChange(changes.data) && this.setData();
18
+ const { data } = changes;
19
+ XIsChange(data) && this.setData();
19
20
  }
20
21
  setData() {
21
22
  var _a;
@@ -55,9 +56,9 @@ export class XHighlightComponent extends XHighlightProperty {
55
56
  return result;
56
57
  }
57
58
  }
58
- /** @nocollapse */ XHighlightComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XHighlightComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
59
- /** @nocollapse */ XHighlightComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XHighlightComponent, selector: "x-highlight", viewQueries: [{ propertyName: "codeRef", first: true, predicate: ["code"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<pre>\r\n <code #code class=\"language-{{ type }}\" [innerHTML]=\"display\"></code>\r\n</pre>\r\n", styles: [".x-highlight{margin:0;padding:0;display:block;line-height:0;width:100%;border:.0625rem solid var(--x-border)}.x-highlight>pre{display:flex;padding:.875rem .875rem .875rem 3.5rem;margin:0;overflow:auto;background-color:var(--x-background);counter-reset:line-number}.x-highlight>pre>code{position:relative;line-height:1.1875rem;text-shadow:none;white-space:inherit;min-width:100%;color:var(--x-text)}.x-highlight>pre>code>span.line-numbers{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.5rem;width:3.5rem;letter-spacing:-1px;-webkit-user-select:none;user-select:none;color:var(--x-text-400)}.x-highlight>pre>code>span.line-numbers>span:before{border-right:var(--x-border-width) var(--x-border-style) var(--x-border);padding-right:.5rem;margin-right:.875rem;text-align:right;pointer-events:none;display:block;counter-increment:line-number;content:counter(line-number)}.x-highlight>pre>code>.line-highlight{position:absolute;opacity:.1;pointer-events:none;line-height:inherit;white-space:pre;width:calc(100% + 3.5rem);left:-3.5rem;border-radius:var(--x-border-radius)}.x-highlight>pre>code>.line-highlight.primary{background-color:var(--x-primary)}.x-highlight>pre>code>.line-highlight.success{background-color:var(--x-success)}.x-highlight>pre>code>.line-highlight.warning{background-color:var(--x-warning)}.x-highlight>pre>code>.line-highlight.danger{background-color:var(--x-danger)}.x-highlight>pre>code>.line-highlight.info{background-color:var(--x-info)}.x-highlight .language-css .token.string,.x-highlight .style .token.string,.x-highlight .token.entity,.x-highlight .token.operator,.x-highlight .token.url{color:var(--x-text);background:#0000}.x-highlight .token.boolean,.x-highlight .token.constant,.x-highlight .token.deleted,.x-highlight .token.number,.x-highlight .token.property,.x-highlight .token.symbol,.x-highlight .token.tag{color:#e6a23c}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XHighlightComponent, decorators: [{
59
+ /** @nocollapse */ XHighlightComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XHighlightComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
60
+ /** @nocollapse */ XHighlightComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XHighlightComponent, selector: "x-highlight", viewQueries: [{ propertyName: "codeRef", first: true, predicate: ["code"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<pre>\r\n <code #code class=\"language-{{ type }}\" [innerHTML]=\"display\"></code>\r\n</pre>\r\n", styles: [".x-highlight{margin:0;padding:0;display:block;line-height:0;width:100%;border:.0625rem solid var(--x-border)}.x-highlight>pre{display:flex;padding:.875rem .875rem .875rem 3.5rem;margin:0;overflow:auto;background-color:var(--x-background);counter-reset:line-number}.x-highlight>pre>code{position:relative;line-height:1.1875rem;text-shadow:none;white-space:inherit;min-width:100%;color:var(--x-text)}.x-highlight>pre>code>span.line-numbers{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.5rem;width:3.5rem;letter-spacing:-1px;-webkit-user-select:none;user-select:none;color:var(--x-text-400)}.x-highlight>pre>code>span.line-numbers>span:before{border-right:var(--x-border-width) var(--x-border-style) var(--x-border);padding-right:.5rem;margin-right:.875rem;text-align:right;pointer-events:none;display:block;counter-increment:line-number;content:counter(line-number)}.x-highlight>pre>code>.line-highlight{position:absolute;opacity:.1;pointer-events:none;line-height:inherit;white-space:pre;width:calc(100% + 3.5rem);left:-3.5rem;border-radius:var(--x-border-radius)}.x-highlight>pre>code>.line-highlight.primary{background-color:var(--x-primary)}.x-highlight>pre>code>.line-highlight.success{background-color:var(--x-success)}.x-highlight>pre>code>.line-highlight.warning{background-color:var(--x-warning)}.x-highlight>pre>code>.line-highlight.danger{background-color:var(--x-danger)}.x-highlight>pre>code>.line-highlight.info{background-color:var(--x-info)}.x-highlight .token.operator,.x-highlight .token.entity,.x-highlight .token.url,.x-highlight .language-css .token.string,.x-highlight .style .token.string{color:var(--x-text);background:transparent}.x-highlight .token.property,.x-highlight .token.tag,.x-highlight .token.boolean,.x-highlight .token.number,.x-highlight .token.constant,.x-highlight .token.symbol,.x-highlight .token.deleted{color:#e6a23c}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XHighlightComponent, decorators: [{
61
62
  type: Component,
62
63
  args: [{
63
64
  selector: `${XHighlightPrefix}`,
@@ -70,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
70
71
  type: ViewChild,
71
72
  args: ['code', { static: false }]
72
73
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2hpZ2hsaWdodC9oaWdobGlnaHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvaGlnaGxpZ2h0L2hpZ2hsaWdodC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFJdkIsU0FBUyxFQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQVl2RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsa0JBQWtCO0lBT3pELFlBQW1CLFVBQXNCLEVBQVMsUUFBbUIsRUFBUyxHQUFzQixFQUFTLFNBQXVCO1FBQ2xJLEtBQUssRUFBRSxDQUFDO1FBRFMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFTLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFTLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFIcEksVUFBSyxHQUFhLEVBQUUsQ0FBQztRQUNyQixlQUFVLEdBQUcsTUFBTSxDQUFDO1FBSWxCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsT0FBTzs7UUFDTCxJQUFJLFFBQVEsQ0FBQyxJ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QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEO29MQUV1QyxPQUFPO3NCQUE1QyxTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBFbGVtZW50UmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBPbkNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFNpbXBsZUNoYW5nZXNcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWEhpZ2hsaWdodFByZWZpeCwgWEhpZ2hsaWdodFByb3BlcnR5IH0gZnJvbSAnLi9oaWdobGlnaHQucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYSXNDaGFuZ2UsIFhJc0VtcHR5IH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbmRlY2xhcmUgbGV0IFByaXNtOiBhbnk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WEhpZ2hsaWdodFByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oaWdobGlnaHQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3N0eWxlL2luZGV4LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYSGlnaGxpZ2h0Q29tcG9uZW50IGV4dGVuZHMgWEhpZ2hsaWdodFByb3BlcnR5IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBAVmlld0NoaWxkKCdjb2RlJywgeyBzdGF0aWM6IGZhbHNlIH0pIGNvZGVSZWYhOiBFbGVtZW50UmVmO1xyXG5cclxuICBkaXNwbGF5ITogU2FmZUh0bWw7XHJcbiAgbGluZXM6IHN0cmluZ1tdID0gW107XHJcbiAgbGluZUhlaWdodCA9IDEuMTg3NTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLCBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgWEhpZ2hsaWdodFByZWZpeCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBYSXNDaGFuZ2UoY2hhbmdlcy5kYXRhKSAmJiB0aGlzLnNldERhdGEoKTtcclxuICB9XHJcblxyXG4gIHNldERhdGEoKTogdm9pZCB7XHJcbiAgICBpZiAoWElzRW1wdHkodGhpcy50eXBlKSkgcmV0dXJuO1xyXG4gICAgaWYgKFhJc0VtcHR5KHRoaXMuZGF0YSkpIHRoaXMuZGF0YSA9ICcnO1xyXG4gICAgaWYgKFByaXNtPy5sYW5ndWFnZXM/Llt0aGlzLnR5cGUgYXMgc3RyaW5nXSkge1xyXG4gICAgICB0aGlzLmxpbmVzID0gKHRoaXMuZGF0YSBhcyBzdHJpbmcpLnNwbGl0KC9cXG4oPyEkKS9nKTtcclxuICAgICAgdGhpcy5kaXNwbGF5ID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoXHJcbiAgICAgICAgUHJpc20uaGlnaGxpZ2h0KHRoaXMuZGF0YSwgUHJpc20ubGFuZ3VhZ2VzW3RoaXMudHlwZSBhcyBzdHJpbmddLCB0aGlzLnR5cGUpICsgdGhpcy5jcmVhdGVMaW5lTnVtYmVycygpICsgdGhpcy5jcmVhdGVIaWdobGlnaHRMaW5lcygpXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLndhcm4oXHJcbiAgICAgICAgYHgtaGlnaGxpZ2h0OiBbJHt0aGlzLnR5cGV9XSBmaWxlIGFyZSBub3Qgc3VwcG9ydGVkLCB0aGUgcHJpc21qcyBwbHVnaW4gaXMgdXNlZCBmb3IgaGlnaGxpZ2h0LCBzbyBjb25maWd1cmUgdGhlIGludHJvZHVjdGlvbiBpbiBhbmd1bGFyLmpzb24uYFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmRpc3BsYXkgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh0aGlzLmRhdGEgYXMgc3RyaW5nKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUxpbmVOdW1iZXJzKCkge1xyXG4gICAgbGV0IHJlc3VsdCA9ICcnO1xyXG4gICAgaWYgKHRoaXMubGluZXM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgcmVzdWx0ID0gYDxzcGFuIGNsYXNzPVwibGluZS1udW1iZXJzXCI+JHtuZXcgQXJyYXkodGhpcy5saW5lcy5sZW5ndGggKyAxKS5qb2luKCc8c3Bhbj48L3NwYW4+Jyl9PC9zcGFuPmA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlSGlnaGxpZ2h0TGluZXMoKSB7XHJcbiAgICBsZXQgcmVzdWx0ID0gJyc7XHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLmhpZ2hsaWdodExpbmVzKSB7XHJcbiAgICAgIGNvbnN0IHNwdCA9IHRoaXMuaGlnaGxpZ2h0TGluZXNba2V5XS5zcGxpdCgnLCcpO1xyXG4gICAgICBmb3IgKGNvbnN0IHN0IG9mIHNwdCkge1xyXG4gICAgICAgIGNvbnN0IHNwID0gc3Quc3BsaXQoJy0nKTtcclxuICAgICAgICBjb25zdCB0b3AgPSB0aGlzLmxpbmVIZWlnaHQgKiAoTnVtYmVyKHNwWzBdKSAtIDEpO1xyXG4gICAgICAgIGxldCBoZWlnaHQgPSB0aGlzLmxpbmVIZWlnaHQgKiAoc3AubGVuZ3RoID09PSAyID8gTnVtYmVyKHNwWzFdKSAtIE51bWJlcihzcFswXSkgKyAxIDogMSk7XHJcbiAgICAgICAgcmVzdWx0ICs9IGA8ZGl2IGNsYXNzPVwibGluZS1oaWdobGlnaHQgJHtrZXl9XCIgc3R5bGU9XCJ0b3A6ICR7dG9wfXJlbTsgaGVpZ2h0OiAke2hlaWdodH1yZW1cIj48L2Rpdj5gO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbn1cclxuIiwiPHByZT5cclxuICA8Y29kZSAjY29kZSBjbGFzcz1cImxhbmd1YWdlLXt7IHR5cGUgfX1cIiBbaW5uZXJIVE1MXT1cImRpc3BsYXlcIj48L2NvZGU+XHJcbjwvcHJlPlxyXG4iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2hpZ2hsaWdodC9oaWdobGlnaHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvaGlnaGxpZ2h0L2hpZ2hsaWdodC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFJdkIsU0FBUyxFQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQVl2RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsa0JBQWtCO0lBT3pELFlBQW1CLFVBQXNCLEVBQVMsUUFBbUIsRUFBUyxHQUFzQixFQUFTLFNBQXVCO1FBQ2xJLEtBQUssRUFBRSxDQUFDO1FBRFMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFTLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFTLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFIcEksVUFBSyxHQUFhLEVBQUUsQ0FBQztRQUNyQixlQUFVLEdBQUcsTUFBTSxDQUFDO1FBSWxCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELE9BQU87O1FBQ0wsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUFFLE9BQU87UUFDaEMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3hDLElBQUksTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsU0FBUywwQ0FBRyxJQUFJLENBQUMsSUFBYyxDQUFDLEVBQUU7WUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBSSxJQUFJLENBQUMsSUFBZSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQ25ELEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFjLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQ3JJLENBQUM7U0FDSDthQUFNO1lBQ0wsT0FBTyxDQUFDLElBQUksQ0FDVixpQkFBaUIsSUFBSSxDQUFDLElBQUksb0hBQW9ILENBQy9JLENBQUM7WUFDRixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQWMsQ0FBQyxDQUFDO1NBQzVFO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsaUJBQWlCOztRQUNmLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUEsTUFBQSxJQUFJLENBQUMsS0FBSywwQ0FBRSxNQUFNLElBQUcsQ0FBQyxFQUFFO1lBQzFCLE1BQU0sR0FBRyw4QkFBOEIsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUM7U0FDeEc7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNoQixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEQsS0FBSyxNQUFNLEVBQUUsSUFBSSxHQUFHLEVBQUU7Z0JBQ3BCLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3pCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xELElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN6RixNQUFNLElBQUksOEJBQThCLEdBQUcsaUJBQWlCLEdBQUcsZ0JBQWdCLE1BQU0sYUFBYSxDQUFDO2FBQ3BHO1NBQ0Y7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzttSUF2RFUsbUJBQW1CO3VIQUFuQixtQkFBbUIsZ01DeEJoQyxvR0FHQTsyRkRxQmEsbUJBQW1CO2tCQVAvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxHQUFHLGdCQUFnQixFQUFFO29CQUMvQixXQUFXLEVBQUUsNEJBQTRCO29CQUN6QyxTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDakMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDtvTEFFdUMsT0FBTztzQkFBNUMsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgRWxlbWVudFJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhIaWdobGlnaHRQcmVmaXgsIFhIaWdobGlnaHRQcm9wZXJ0eSB9IGZyb20gJy4vaGlnaGxpZ2h0LnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzQ2hhbmdlLCBYSXNFbXB0eSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5kZWNsYXJlIGxldCBQcmlzbTogYW55O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hIaWdobGlnaHRQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGlnaGxpZ2h0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS9pbmRleC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWEhpZ2hsaWdodENvbXBvbmVudCBleHRlbmRzIFhIaWdobGlnaHRQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQFZpZXdDaGlsZCgnY29kZScsIHsgc3RhdGljOiBmYWxzZSB9KSBjb2RlUmVmITogRWxlbWVudFJlZjtcclxuXHJcbiAgZGlzcGxheSE6IFNhZmVIdG1sO1xyXG4gIGxpbmVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGxpbmVIZWlnaHQgPSAxLjE4NzU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFhIaWdobGlnaHRQcmVmaXgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3QgeyBkYXRhIH0gPSBjaGFuZ2VzO1xyXG4gICAgWElzQ2hhbmdlKGRhdGEpICYmIHRoaXMuc2V0RGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF0YSgpOiB2b2lkIHtcclxuICAgIGlmIChYSXNFbXB0eSh0aGlzLnR5cGUpKSByZXR1cm47XHJcbiAgICBpZiAoWElzRW1wdHkodGhpcy5kYXRhKSkgdGhpcy5kYXRhID0gJyc7XHJcbiAgICBpZiAoUHJpc20/Lmxhbmd1YWdlcz8uW3RoaXMudHlwZSBhcyBzdHJpbmddKSB7XHJcbiAgICAgIHRoaXMubGluZXMgPSAodGhpcy5kYXRhIGFzIHN0cmluZykuc3BsaXQoL1xcbig/ISQpL2cpO1xyXG4gICAgICB0aGlzLmRpc3BsYXkgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChcclxuICAgICAgICBQcmlzbS5oaWdobGlnaHQodGhpcy5kYXRhLCBQcmlzbS5sYW5ndWFnZXNbdGhpcy50eXBlIGFzIHN0cmluZ10sIHRoaXMudHlwZSkgKyB0aGlzLmNyZWF0ZUxpbmVOdW1iZXJzKCkgKyB0aGlzLmNyZWF0ZUhpZ2hsaWdodExpbmVzKClcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUud2FybihcclxuICAgICAgICBgeC1oaWdobGlnaHQ6IFske3RoaXMudHlwZX1dIGZpbGUgYXJlIG5vdCBzdXBwb3J0ZWQsIHRoZSBwcmlzbWpzIHBsdWdpbiBpcyB1c2VkIGZvciBoaWdobGlnaHQsIHNvIGNvbmZpZ3VyZSB0aGUgaW50cm9kdWN0aW9uIGluIGFuZ3VsYXIuanNvbi5gXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuZGlzcGxheSA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHRoaXMuZGF0YSBhcyBzdHJpbmcpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlTGluZU51bWJlcnMoKSB7XHJcbiAgICBsZXQgcmVzdWx0ID0gJyc7XHJcbiAgICBpZiAodGhpcy5saW5lcz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXN1bHQgPSBgPHNwYW4gY2xhc3M9XCJsaW5lLW51bWJlcnNcIj4ke25ldyBBcnJheSh0aGlzLmxpbmVzLmxlbmd0aCArIDEpLmpvaW4oJzxzcGFuPjwvc3Bhbj4nKX08L3NwYW4+YDtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVIaWdobGlnaHRMaW5lcygpIHtcclxuICAgIGxldCByZXN1bHQgPSAnJztcclxuICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuaGlnaGxpZ2h0TGluZXMpIHtcclxuICAgICAgY29uc3Qgc3B0ID0gdGhpcy5oaWdobGlnaHRMaW5lc1trZXldLnNwbGl0KCcsJyk7XHJcbiAgICAgIGZvciAoY29uc3Qgc3Qgb2Ygc3B0KSB7XHJcbiAgICAgICAgY29uc3Qgc3AgPSBzdC5zcGxpdCgnLScpO1xyXG4gICAgICAgIGNvbnN0IHRvcCA9IHRoaXMubGluZUhlaWdodCAqIChOdW1iZXIoc3BbMF0pIC0gMSk7XHJcbiAgICAgICAgbGV0IGhlaWdodCA9IHRoaXMubGluZUhlaWdodCAqIChzcC5sZW5ndGggPT09IDIgPyBOdW1iZXIoc3BbMV0pIC0gTnVtYmVyKHNwWzBdKSArIDEgOiAxKTtcclxuICAgICAgICByZXN1bHQgKz0gYDxkaXYgY2xhc3M9XCJsaW5lLWhpZ2hsaWdodCAke2tleX1cIiBzdHlsZT1cInRvcDogJHt0b3B9cmVtOyBoZWlnaHQ6ICR7aGVpZ2h0fXJlbVwiPjwvZGl2PmA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxufVxyXG4iLCI8cHJlPlxyXG4gIDxjb2RlICNjb2RlIGNsYXNzPVwibGFuZ3VhZ2Ute3sgdHlwZSB9fVwiIFtpbm5lckhUTUxdPVwiZGlzcGxheVwiPjwvY29kZT5cclxuPC9wcmU+XHJcbiJdfQ==
@@ -5,10 +5,10 @@ import { XHighlightProperty } from './highlight.property';
5
5
  import * as i0 from "@angular/core";
6
6
  export class XHighlightModule {
7
7
  }
8
- /** @nocollapse */ XHighlightModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XHighlightModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- /** @nocollapse */ XHighlightModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XHighlightModule, declarations: [XHighlightComponent, XHighlightProperty], imports: [CommonModule], exports: [XHighlightComponent] });
10
- /** @nocollapse */ XHighlightModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XHighlightModule, imports: [[CommonModule]] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XHighlightModule, decorators: [{
8
+ /** @nocollapse */ XHighlightModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XHighlightModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ /** @nocollapse */ XHighlightModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XHighlightModule, declarations: [XHighlightComponent, XHighlightProperty], imports: [CommonModule], exports: [XHighlightComponent] });
10
+ /** @nocollapse */ XHighlightModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XHighlightModule, imports: [[CommonModule]] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XHighlightModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [XHighlightComponent, XHighlightProperty],
@@ -20,9 +20,9 @@ export class XHighlightProperty extends XProperty {
20
20
  this.highlightLines = {};
21
21
  }
22
22
  }
23
- /** @nocollapse */ XHighlightProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XHighlightProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
24
- /** @nocollapse */ XHighlightProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XHighlightProperty, selector: "ng-component", inputs: { type: "type", data: "data", highlightLines: "highlightLines" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XHighlightProperty, decorators: [{
23
+ /** @nocollapse */ XHighlightProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XHighlightProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
24
+ /** @nocollapse */ XHighlightProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XHighlightProperty, selector: "ng-component", inputs: { type: "type", data: "data", highlightLines: "highlightLines" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XHighlightProperty, decorators: [{
26
26
  type: Component,
27
27
  args: [{ template: '' }]
28
28
  }], propDecorators: { type: [{
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
32
32
  }], highlightLines: [{
33
33
  type: Input
34
34
  }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LnByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvaGlnaGxpZ2h0L2hpZ2hsaWdodC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR2pEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQUM7QUFFOUM7O0dBRUc7QUFFSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsU0FBUztJQURqRDs7UUFZRTs7O1dBR0c7UUFDTSxtQkFBYyxHQUFvQixFQUFFLENBQUM7S0FDL0M7O2tJQWhCWSxrQkFBa0I7c0hBQWxCLGtCQUFrQixxSkFEUixFQUFFOzJGQUNaLGtCQUFrQjtrQkFEOUIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBTWhCLElBQUk7c0JBQVosS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhQcm9wZXJ0eSwgWFR5cGUgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuLyoqXHJcbiAqIEhpZ2hsaWdodFxyXG4gKiBAc2VsZWN0b3IgeC1oaWdobGlnaHRcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYSGlnaGxpZ2h0UHJlZml4ID0gJ3gtaGlnaGxpZ2h0JztcclxuXHJcbi8qKlxyXG4gKiBIaWdobGlnaHQgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhIaWdobGlnaHRQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS7o+eggeexu+Wei1xyXG4gICAqIEBlbl9VUyBDb2RlIHR5cGVcclxuICAgKi9cclxuICBASW5wdXQoKSB0eXBlPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmlbDmja5cclxuICAgKiBAZW5fVVMgRGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRhdGE/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmrmOS6ruihjOaVsOaNrlxyXG4gICAqIEBlbl9VUyBIaWdobGlnaHQgcm93IGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSBoaWdobGlnaHRMaW5lczogWEhpZ2hsaWdodExpbmVzID0ge307XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g6auY5Lqu6KGM5pWw5o2uXHJcbiAqIEBlbl9VUyBIaWdobGlnaHQgcm93IGRhdGFcclxuICogQGRlc2NyaXB0aW9uIHsnZGFuZ2VyJzogJzEsIDIsIDQnLCAncHJpbWFyeSc6ICc3LTEwLCAxMiwgMTUtMjAnfVxyXG4gKi9cclxuZXhwb3J0IHR5cGUgWEhpZ2hsaWdodExpbmVzID0geyBbcHJvcGVydHk6IHN0cmluZ106IHN0cmluZyB9O1xyXG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LnByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvaGlnaGxpZ2h0L2hpZ2hsaWdodC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRWpEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQUM7QUFFOUM7O0dBRUc7QUFFSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsU0FBUztJQURqRDs7UUFZRTs7O1dBR0c7UUFDTSxtQkFBYyxHQUFvQixFQUFFLENBQUM7S0FDL0M7O2tJQWhCWSxrQkFBa0I7c0hBQWxCLGtCQUFrQixxSkFEUixFQUFFOzJGQUNaLGtCQUFrQjtrQkFEOUIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBTWhCLElBQUk7c0JBQVosS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhQcm9wZXJ0eSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBJbnB1dCwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogSGlnaGxpZ2h0XHJcbiAqIEBzZWxlY3RvciB4LWhpZ2hsaWdodFxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhIaWdobGlnaHRQcmVmaXggPSAneC1oaWdobGlnaHQnO1xyXG5cclxuLyoqXHJcbiAqIEhpZ2hsaWdodCBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWEhpZ2hsaWdodFByb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Luj56CB57G75Z6LXHJcbiAgICogQGVuX1VTIENvZGUgdHlwZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHR5cGU/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaVsOaNrlxyXG4gICAqIEBlbl9VUyBEYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGF0YT86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g6auY5Lqu6KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIEhpZ2hsaWdodCByb3cgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGhpZ2hsaWdodExpbmVzOiBYSGlnaGxpZ2h0TGluZXMgPSB7fTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDpq5jkuq7ooYzmlbDmja5cclxuICogQGVuX1VTIEhpZ2hsaWdodCByb3cgZGF0YVxyXG4gKiBAZGVzY3JpcHRpb24geydkYW5nZXInOiAnMSwgMiwgNCcsICdwcmltYXJ5JzogJzctMTAsIDEyLCAxNS0yMCd9XHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYSGlnaGxpZ2h0TGluZXMgPSB7IFtwcm9wZXJ0eTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiJdfQ==