@ng-nest/ui 12.0.7 → 12.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (810) 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 +35 -30
  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 +78 -31
  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 +39 -32
  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 -242
  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 +305 -48
  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 +266 -30
  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 +31 -26
  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 +25 -21
  82. package/bundles/ng-nest-ui-input-number.umd.js.map +1 -1
  83. package/bundles/ng-nest-ui-input.umd.js +64 -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 +29 -25
  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 +28 -24
  114. package/bundles/ng-nest-ui-portal.umd.js.map +1 -1
  115. package/bundles/ng-nest-ui-progress.umd.js +259 -39
  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 +53 -33
  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 +27 -22
  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 +23 -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 +2 -3
  184. package/comment/comment.component.d.ts +1 -1
  185. package/core/config/config.d.ts +18 -0
  186. package/core/functions/clone-deep.d.ts +1 -0
  187. package/core/functions/drop.d.ts +1 -0
  188. package/core/functions/flex.d.ts +1 -1
  189. package/core/functions/has-in.d.ts +1 -0
  190. package/core/functions/order-by.d.ts +1 -0
  191. package/core/functions/public-api.d.ts +5 -0
  192. package/core/functions/remove.d.ts +1 -0
  193. package/core/services/reuse-strategy.service.d.ts +1 -1
  194. package/crumb/crumb.component.d.ts +1 -1
  195. package/date-picker/date-picker-portal.component.d.ts +4 -11
  196. package/date-picker/date-picker.component.d.ts +3 -4
  197. package/date-picker/date-picker.property.d.ts +55 -20
  198. package/date-picker/date-range-portal.component.d.ts +10 -6
  199. package/date-picker/date-range.component.d.ts +15 -11
  200. package/date-picker/picker-date.component.d.ts +13 -4
  201. package/date-picker/picker-month.component.d.ts +6 -3
  202. package/date-picker/picker-year.component.d.ts +4 -2
  203. package/description/description.component.d.ts +2 -4
  204. package/dialog/dialog-container.component.d.ts +18 -0
  205. package/dialog/dialog-container.directives.d.ts +24 -0
  206. package/dialog/dialog-ref.d.ts +9 -0
  207. package/dialog/dialog.module.d.ts +13 -11
  208. package/dialog/dialog.property.d.ts +84 -6
  209. package/dialog/dialog.service.d.ts +19 -0
  210. package/dialog/public-api.d.ts +4 -0
  211. package/drawer/drawer-container.component.d.ts +18 -0
  212. package/drawer/drawer-container.directives.d.ts +19 -0
  213. package/drawer/drawer-ref.d.ts +9 -0
  214. package/drawer/drawer.module.d.ts +8 -6
  215. package/drawer/drawer.property.d.ts +83 -2
  216. package/drawer/drawer.service.d.ts +19 -0
  217. package/drawer/public-api.d.ts +5 -0
  218. package/dropdown/dropdown-portal.component.d.ts +1 -3
  219. package/dropdown/dropdown.component.d.ts +2 -2
  220. package/esm2015/affix/affix.component.js +3 -3
  221. package/esm2015/affix/affix.module.js +4 -4
  222. package/esm2015/affix/affix.property.js +3 -3
  223. package/esm2015/alert/alert.component.js +4 -4
  224. package/esm2015/alert/alert.module.js +4 -4
  225. package/esm2015/alert/alert.property.js +3 -3
  226. package/esm2015/anchor/anchor.component.js +5 -5
  227. package/esm2015/anchor/anchor.module.js +4 -4
  228. package/esm2015/anchor/anchor.property.js +4 -4
  229. package/esm2015/api/api.component.js +3 -3
  230. package/esm2015/api/api.module.js +4 -4
  231. package/esm2015/auto-complete/auto-complete-portal.component.js +6 -6
  232. package/esm2015/auto-complete/auto-complete.component.js +20 -7
  233. package/esm2015/auto-complete/auto-complete.module.js +4 -4
  234. package/esm2015/auto-complete/auto-complete.property.js +10 -4
  235. package/esm2015/avatar/avatar.component.js +3 -3
  236. package/esm2015/avatar/avatar.module.js +4 -4
  237. package/esm2015/avatar/avatar.property.js +3 -3
  238. package/esm2015/back-top/back-top.component.js +6 -6
  239. package/esm2015/back-top/back-top.module.js +4 -4
  240. package/esm2015/back-top/back-top.property.js +3 -3
  241. package/esm2015/badge/badge.component.js +6 -5
  242. package/esm2015/badge/badge.module.js +4 -4
  243. package/esm2015/badge/badge.property.js +3 -3
  244. package/esm2015/base-form/base-form.component.js +5 -5
  245. package/esm2015/base-form/base-form.module.js +4 -4
  246. package/esm2015/base-form/base-form.property.js +29 -5
  247. package/esm2015/border/border.component.js +3 -3
  248. package/esm2015/border/border.module.js +4 -4
  249. package/esm2015/button/button.component.js +8 -7
  250. package/esm2015/button/button.module.js +4 -4
  251. package/esm2015/button/button.property.js +6 -6
  252. package/esm2015/button/buttons.component.js +4 -4
  253. package/esm2015/calendar/calendar.component.js +8 -7
  254. package/esm2015/calendar/calendar.module.js +4 -4
  255. package/esm2015/calendar/calendar.property.js +3 -3
  256. package/esm2015/card/card.component.js +3 -3
  257. package/esm2015/card/card.module.js +4 -4
  258. package/esm2015/card/card.property.js +3 -3
  259. package/esm2015/carousel/carousel-panel.component.js +15 -14
  260. package/esm2015/carousel/carousel.component.js +7 -6
  261. package/esm2015/carousel/carousel.module.js +4 -4
  262. package/esm2015/carousel/carousel.property.js +6 -6
  263. package/esm2015/cascade/cascade-portal.component.js +23 -11
  264. package/esm2015/cascade/cascade.component.js +23 -6
  265. package/esm2015/cascade/cascade.module.js +4 -4
  266. package/esm2015/cascade/cascade.property.js +16 -4
  267. package/esm2015/checkbox/checkbox.component.js +7 -6
  268. package/esm2015/checkbox/checkbox.module.js +4 -4
  269. package/esm2015/checkbox/checkbox.property.js +4 -4
  270. package/esm2015/collapse/collapse-panel.component.js +4 -4
  271. package/esm2015/collapse/collapse.component.js +3 -3
  272. package/esm2015/collapse/collapse.module.js +4 -4
  273. package/esm2015/collapse/collapse.property.js +6 -6
  274. package/esm2015/color/color.component.js +5 -5
  275. package/esm2015/color/color.module.js +4 -4
  276. package/esm2015/color/color.property.js +3 -3
  277. package/esm2015/color-picker/color-picker-portal.component.js +5 -5
  278. package/esm2015/color-picker/color-picker.component.js +14 -11
  279. package/esm2015/color-picker/color-picker.module.js +4 -4
  280. package/esm2015/color-picker/color-picker.property.js +3 -3
  281. package/esm2015/comment/comment-reply.component.js +3 -3
  282. package/esm2015/comment/comment.component.js +7 -6
  283. package/esm2015/comment/comment.module.js +4 -4
  284. package/esm2015/comment/comment.property.js +6 -6
  285. package/esm2015/container/aside.component.js +3 -3
  286. package/esm2015/container/container.component.js +5 -5
  287. package/esm2015/container/container.module.js +4 -4
  288. package/esm2015/container/container.property.js +12 -12
  289. package/esm2015/container/footer.component.js +3 -3
  290. package/esm2015/container/header.component.js +3 -3
  291. package/esm2015/container/main.component.js +3 -3
  292. package/esm2015/core/animation/fade.js +1 -1
  293. package/esm2015/core/config/config.js +1 -1
  294. package/esm2015/core/config/config.service.js +3 -3
  295. package/esm2015/core/functions/clone-deep.js +12 -0
  296. package/esm2015/core/functions/drop.js +8 -0
  297. package/esm2015/core/functions/flex.js +18 -7
  298. package/esm2015/core/functions/has-in.js +4 -0
  299. package/esm2015/core/functions/order-by.js +31 -0
  300. package/esm2015/core/functions/public-api.js +6 -1
  301. package/esm2015/core/functions/remove.js +15 -0
  302. package/esm2015/core/services/http.service.js +5 -5
  303. package/esm2015/core/services/preloading-strategy.service.js +5 -5
  304. package/esm2015/core/services/reuse-strategy.service.js +2 -2
  305. package/esm2015/core/services/storage.service.js +3 -3
  306. package/esm2015/core/theme/theme.service.js +3 -3
  307. package/esm2015/crumb/crumb.component.js +7 -6
  308. package/esm2015/crumb/crumb.module.js +4 -4
  309. package/esm2015/crumb/crumb.property.js +3 -3
  310. package/esm2015/date-picker/date-picker-portal.component.js +11 -43
  311. package/esm2015/date-picker/date-picker.component.js +13 -14
  312. package/esm2015/date-picker/date-picker.module.js +4 -4
  313. package/esm2015/date-picker/date-picker.property.js +102 -34
  314. package/esm2015/date-picker/date-range-portal.component.js +41 -20
  315. package/esm2015/date-picker/date-range.component.js +66 -47
  316. package/esm2015/date-picker/picker-date.component.js +50 -15
  317. package/esm2015/date-picker/picker-month.component.js +25 -9
  318. package/esm2015/date-picker/picker-year.component.js +21 -9
  319. package/esm2015/description/description-item.component.js +4 -4
  320. package/esm2015/description/description.component.js +8 -9
  321. package/esm2015/description/description.module.js +4 -4
  322. package/esm2015/description/description.property.js +6 -6
  323. package/esm2015/dialog/dialog-container.component.js +59 -0
  324. package/esm2015/dialog/dialog-container.directives.js +73 -0
  325. package/esm2015/dialog/dialog-ref.js +17 -0
  326. package/esm2015/dialog/dialog.component.js +6 -5
  327. package/esm2015/dialog/dialog.module.js +39 -9
  328. package/esm2015/dialog/dialog.property.js +20 -19
  329. package/esm2015/dialog/dialog.service.js +67 -0
  330. package/esm2015/dialog/public-api.js +5 -1
  331. package/esm2015/doc/doc.component.js +3 -3
  332. package/esm2015/doc/doc.module.js +4 -4
  333. package/esm2015/drawer/drawer-container.component.js +59 -0
  334. package/esm2015/drawer/drawer-container.directives.js +57 -0
  335. package/esm2015/drawer/drawer-ref.js +17 -0
  336. package/esm2015/drawer/drawer.component.js +6 -5
  337. package/esm2015/drawer/drawer.module.js +24 -8
  338. package/esm2015/drawer/drawer.property.js +24 -8
  339. package/esm2015/drawer/drawer.service.js +65 -0
  340. package/esm2015/drawer/public-api.js +6 -1
  341. package/esm2015/dropdown/dropdown-portal.component.js +5 -5
  342. package/esm2015/dropdown/dropdown.component.js +7 -6
  343. package/esm2015/dropdown/dropdown.module.js +4 -4
  344. package/esm2015/dropdown/dropdown.property.js +3 -3
  345. package/esm2015/empty/empty.component.js +3 -3
  346. package/esm2015/empty/empty.module.js +4 -4
  347. package/esm2015/empty/empty.property.js +3 -3
  348. package/esm2015/examples/examples.component.js +3 -3
  349. package/esm2015/examples/examples.module.js +4 -4
  350. package/esm2015/find/find.component.js +10 -9
  351. package/esm2015/find/find.module.js +4 -4
  352. package/esm2015/find/find.property.js +3 -3
  353. package/esm2015/form/control.component.js +4 -4
  354. package/esm2015/form/form.component.js +9 -8
  355. package/esm2015/form/form.module.js +4 -4
  356. package/esm2015/form/form.property.js +8 -13
  357. package/esm2015/highlight/highlight.component.js +6 -5
  358. package/esm2015/highlight/highlight.module.js +4 -4
  359. package/esm2015/highlight/highlight.property.js +4 -4
  360. package/esm2015/i18n/i18n.directive.js +6 -5
  361. package/esm2015/i18n/i18n.module.js +4 -4
  362. package/esm2015/i18n/i18n.pipe.js +3 -3
  363. package/esm2015/i18n/i18n.service.js +3 -3
  364. package/esm2015/i18n/languages/ar_EG.js +11 -3
  365. package/esm2015/i18n/languages/bg_BG.js +11 -3
  366. package/esm2015/i18n/languages/ca_ES.js +11 -3
  367. package/esm2015/i18n/languages/cs_CZ.js +11 -3
  368. package/esm2015/i18n/languages/da_DK.js +11 -3
  369. package/esm2015/i18n/languages/de_DE.js +11 -3
  370. package/esm2015/i18n/languages/el_GR.js +11 -3
  371. package/esm2015/i18n/languages/en_GB.js +11 -3
  372. package/esm2015/i18n/languages/en_US.js +7 -2
  373. package/esm2015/i18n/languages/es_ES.js +11 -3
  374. package/esm2015/i18n/languages/et_EE.js +11 -3
  375. package/esm2015/i18n/languages/fa_IR.js +11 -3
  376. package/esm2015/i18n/languages/fi_FI.js +11 -3
  377. package/esm2015/i18n/languages/fr_BE.js +10 -2
  378. package/esm2015/i18n/languages/fr_FR.js +11 -3
  379. package/esm2015/i18n/languages/he_IL.js +11 -3
  380. package/esm2015/i18n/languages/hi_IN.js +11 -3
  381. package/esm2015/i18n/languages/hr_HR.js +11 -3
  382. package/esm2015/i18n/languages/hu_HU.js +11 -3
  383. package/esm2015/i18n/languages/hy_AM.js +11 -3
  384. package/esm2015/i18n/languages/id_ID.js +11 -3
  385. package/esm2015/i18n/languages/is_IS.js +11 -3
  386. package/esm2015/i18n/languages/it_IT.js +11 -3
  387. package/esm2015/i18n/languages/ja_JP.js +11 -3
  388. package/esm2015/i18n/languages/ka_GE.js +11 -3
  389. package/esm2015/i18n/languages/kn_IN.js +11 -3
  390. package/esm2015/i18n/languages/ko_KR.js +11 -3
  391. package/esm2015/i18n/languages/ku_IQ.js +11 -3
  392. package/esm2015/i18n/languages/lv_LV.js +11 -3
  393. package/esm2015/i18n/languages/mn_MN.js +11 -3
  394. package/esm2015/i18n/languages/ms_MY.js +11 -3
  395. package/esm2015/i18n/languages/nb_NO.js +11 -3
  396. package/esm2015/i18n/languages/ne_NP.js +11 -3
  397. package/esm2015/i18n/languages/nl_BE.js +11 -3
  398. package/esm2015/i18n/languages/nl_NL.js +11 -3
  399. package/esm2015/i18n/languages/pl_PL.js +11 -3
  400. package/esm2015/i18n/languages/pt_BR.js +11 -3
  401. package/esm2015/i18n/languages/pt_PT.js +11 -3
  402. package/esm2015/i18n/languages/ro_RO.js +11 -3
  403. package/esm2015/i18n/languages/ru_RU.js +11 -3
  404. package/esm2015/i18n/languages/sk_SK.js +11 -3
  405. package/esm2015/i18n/languages/sl_SI.js +11 -3
  406. package/esm2015/i18n/languages/sr_RS.js +11 -3
  407. package/esm2015/i18n/languages/sv_SE.js +11 -3
  408. package/esm2015/i18n/languages/ta_IN.js +11 -3
  409. package/esm2015/i18n/languages/th_TH.js +29 -21
  410. package/esm2015/i18n/languages/tr_TR.js +11 -3
  411. package/esm2015/i18n/languages/uk_UA.js +11 -3
  412. package/esm2015/i18n/languages/vi_VN.js +11 -3
  413. package/esm2015/i18n/languages/zh_CN.js +6 -2
  414. package/esm2015/i18n/languages/zh_TW.js +10 -3
  415. package/esm2015/icon/icon.component.js +7 -6
  416. package/esm2015/icon/icon.module.js +4 -4
  417. package/esm2015/icon/icon.property.js +3 -3
  418. package/esm2015/icon/icon.service.js +6 -6
  419. package/esm2015/inner/inner.component.js +5 -5
  420. package/esm2015/inner/inner.module.js +4 -4
  421. package/esm2015/inner/inner.property.js +3 -3
  422. package/esm2015/input/input-group.component.js +4 -6
  423. package/esm2015/input/input.component.js +21 -7
  424. package/esm2015/input/input.module.js +4 -4
  425. package/esm2015/input/input.property.js +12 -7
  426. package/esm2015/input-number/input-number.component.js +3 -3
  427. package/esm2015/input-number/input-number.module.js +4 -4
  428. package/esm2015/input-number/input-number.property.js +3 -3
  429. package/esm2015/layout/col.component.js +3 -3
  430. package/esm2015/layout/layout.module.js +4 -4
  431. package/esm2015/layout/layout.property.js +6 -6
  432. package/esm2015/layout/row.component.js +3 -3
  433. package/esm2015/link/link.component.js +3 -3
  434. package/esm2015/link/link.module.js +4 -4
  435. package/esm2015/link/link.property.js +3 -3
  436. package/esm2015/list/list-option.component.js +3 -3
  437. package/esm2015/list/list.component.js +8 -7
  438. package/esm2015/list/list.module.js +4 -4
  439. package/esm2015/list/list.property.js +7 -7
  440. package/esm2015/loading/loading.component.js +6 -5
  441. package/esm2015/loading/loading.module.js +4 -4
  442. package/esm2015/loading/loading.property.js +3 -3
  443. package/esm2015/menu/menu-node.component.js +4 -4
  444. package/esm2015/menu/menu.component.js +10 -10
  445. package/esm2015/menu/menu.module.js +4 -4
  446. package/esm2015/menu/menu.property.js +6 -6
  447. package/esm2015/message/message.component.js +5 -5
  448. package/esm2015/message/message.module.js +4 -4
  449. package/esm2015/message/message.property.js +2 -2
  450. package/esm2015/message/message.service.js +6 -6
  451. package/esm2015/message-box/message-box.component.js +20 -24
  452. package/esm2015/message-box/message-box.module.js +4 -4
  453. package/esm2015/message-box/message-box.service.js +10 -8
  454. package/esm2015/notification/notification.component.js +5 -5
  455. package/esm2015/notification/notification.module.js +4 -4
  456. package/esm2015/notification/notification.property.js +1 -1
  457. package/esm2015/notification/notification.service.js +3 -3
  458. package/esm2015/outlet/outlet.directive.js +3 -3
  459. package/esm2015/outlet/outlet.module.js +4 -4
  460. package/esm2015/page-header/page-header.component.js +3 -3
  461. package/esm2015/page-header/page-header.module.js +4 -4
  462. package/esm2015/page-header/page-header.property.js +3 -3
  463. package/esm2015/pagination/pagination.component.js +45 -7
  464. package/esm2015/pagination/pagination.module.js +10 -6
  465. package/esm2015/pagination/pagination.property.js +52 -4
  466. package/esm2015/pattern/pattern.component.js +3 -3
  467. package/esm2015/pattern/pattern.module.js +4 -4
  468. package/esm2015/popconfirm/popconfirm.component.js +3 -3
  469. package/esm2015/popconfirm/popconfirm.module.js +4 -4
  470. package/esm2015/popconfirm/popconfirm.property.js +3 -3
  471. package/esm2015/popover/popover-portal.component.js +4 -4
  472. package/esm2015/popover/popover.directive.js +7 -6
  473. package/esm2015/popover/popover.module.js +4 -4
  474. package/esm2015/popover/popover.property.js +3 -3
  475. package/esm2015/portal/portal.module.js +6 -5
  476. package/esm2015/portal/portal.service.js +11 -12
  477. package/esm2015/progress/progress.component.js +180 -17
  478. package/esm2015/progress/progress.module.js +4 -4
  479. package/esm2015/progress/progress.property.js +52 -5
  480. package/esm2015/radio/radio.component.js +7 -6
  481. package/esm2015/radio/radio.module.js +4 -4
  482. package/esm2015/radio/radio.property.js +4 -4
  483. package/esm2015/rate/rate.component.js +9 -9
  484. package/esm2015/rate/rate.module.js +4 -4
  485. package/esm2015/rate/rate.property.js +3 -3
  486. package/esm2015/result/result.component.js +3 -3
  487. package/esm2015/result/result.module.js +4 -4
  488. package/esm2015/result/result.property.js +3 -3
  489. package/esm2015/ripple/ripple.directive.js +4 -4
  490. package/esm2015/ripple/ripple.module.js +4 -4
  491. package/esm2015/ripple/ripple.property.js +4 -4
  492. package/esm2015/select/select-portal.component.js +6 -6
  493. package/esm2015/select/select.component.js +15 -11
  494. package/esm2015/select/select.module.js +4 -4
  495. package/esm2015/select/select.property.js +15 -4
  496. package/esm2015/skeleton/skeleton.component.js +6 -5
  497. package/esm2015/skeleton/skeleton.module.js +4 -4
  498. package/esm2015/skeleton/skeleton.property.js +3 -3
  499. package/esm2015/slider/slider.component.js +11 -12
  500. package/esm2015/slider/slider.module.js +4 -4
  501. package/esm2015/slider/slider.property.js +3 -3
  502. package/esm2015/slider-select/slider-select.component.js +3 -3
  503. package/esm2015/slider-select/slider-select.module.js +4 -4
  504. package/esm2015/slider-select/slider-select.property.js +3 -3
  505. package/esm2015/statistic/countdown.component.js +8 -7
  506. package/esm2015/statistic/statistic.component.js +6 -5
  507. package/esm2015/statistic/statistic.module.js +4 -4
  508. package/esm2015/statistic/statistic.property.js +6 -6
  509. package/esm2015/steps/steps.component.js +22 -13
  510. package/esm2015/steps/steps.module.js +7 -6
  511. package/esm2015/steps/steps.property.js +12 -5
  512. package/esm2015/switch/switch.component.js +3 -3
  513. package/esm2015/switch/switch.module.js +4 -4
  514. package/esm2015/switch/switch.property.js +3 -3
  515. package/esm2015/table/drag.directive.js +5 -5
  516. package/esm2015/table/table-body.component.js +7 -6
  517. package/esm2015/table/table-foot.component.js +4 -4
  518. package/esm2015/table/table-head.component.js +7 -6
  519. package/esm2015/table/table.component.js +9 -8
  520. package/esm2015/table/table.module.js +4 -4
  521. package/esm2015/table/table.property.js +13 -13
  522. package/esm2015/tabs/tab-content.component.js +3 -3
  523. package/esm2015/tabs/tab.component.js +4 -4
  524. package/esm2015/tabs/tabs.component.js +9 -8
  525. package/esm2015/tabs/tabs.module.js +4 -4
  526. package/esm2015/tabs/tabs.property.js +6 -6
  527. package/esm2015/tag/tag.component.js +6 -5
  528. package/esm2015/tag/tag.module.js +4 -4
  529. package/esm2015/tag/tag.property.js +3 -3
  530. package/esm2015/text-retract/text-retract.component.js +6 -5
  531. package/esm2015/text-retract/text-retract.module.js +4 -4
  532. package/esm2015/text-retract/text-retract.property.js +3 -3
  533. package/esm2015/textarea/textarea.component.js +6 -5
  534. package/esm2015/textarea/textarea.module.js +4 -4
  535. package/esm2015/textarea/textarea.property.js +4 -14
  536. package/esm2015/theme/theme.component.js +5 -5
  537. package/esm2015/theme/theme.module.js +4 -4
  538. package/esm2015/theme/theme.property.js +4 -4
  539. package/esm2015/time-ago/time-ago.module.js +4 -4
  540. package/esm2015/time-ago/time-ago.pipe.js +3 -3
  541. package/esm2015/time-picker/time-picker-frame.component.js +22 -12
  542. package/esm2015/time-picker/time-picker-portal.component.js +5 -5
  543. package/esm2015/time-picker/time-picker.component.js +31 -15
  544. package/esm2015/time-picker/time-picker.module.js +4 -4
  545. package/esm2015/time-picker/time-picker.property.js +16 -5
  546. package/esm2015/time-range/time-range.module.js +4 -4
  547. package/esm2015/time-range/time-range.pipe.js +3 -3
  548. package/esm2015/timeline/timeline.component.js +7 -6
  549. package/esm2015/timeline/timeline.module.js +4 -4
  550. package/esm2015/timeline/timeline.property.js +3 -3
  551. package/esm2015/tooltip/tooltip-portal.component.js +4 -4
  552. package/esm2015/tooltip/tooltip.directive.js +7 -6
  553. package/esm2015/tooltip/tooltip.module.js +4 -4
  554. package/esm2015/tooltip/tooltip.property.js +4 -4
  555. package/esm2015/transfer/transfer.component.js +7 -6
  556. package/esm2015/transfer/transfer.module.js +4 -4
  557. package/esm2015/transfer/transfer.property.js +3 -3
  558. package/esm2015/tree/tree-node.component.js +5 -5
  559. package/esm2015/tree/tree.component.js +11 -10
  560. package/esm2015/tree/tree.module.js +4 -4
  561. package/esm2015/tree/tree.property.js +7 -7
  562. package/esm2015/tree-file/tree-file.component.js +3 -3
  563. package/esm2015/tree-file/tree-file.module.js +4 -4
  564. package/esm2015/tree-file/tree-file.property.js +3 -3
  565. package/esm2015/typography/typography.component.js +3 -3
  566. package/esm2015/typography/typography.module.js +4 -4
  567. package/esm2015/typography/typography.property.js +3 -3
  568. package/esm2015/upload/upload-portal.component.js +5 -5
  569. package/esm2015/upload/upload.component.js +7 -6
  570. package/esm2015/upload/upload.module.js +4 -4
  571. package/esm2015/upload/upload.property.js +3 -3
  572. package/fesm2015/ng-nest-ui-affix.js +10 -10
  573. package/fesm2015/ng-nest-ui-alert.js +10 -10
  574. package/fesm2015/ng-nest-ui-alert.js.map +1 -1
  575. package/fesm2015/ng-nest-ui-anchor.js +11 -11
  576. package/fesm2015/ng-nest-ui-anchor.js.map +1 -1
  577. package/fesm2015/ng-nest-ui-api.js +7 -7
  578. package/fesm2015/ng-nest-ui-auto-complete.js +37 -18
  579. package/fesm2015/ng-nest-ui-auto-complete.js.map +1 -1
  580. package/fesm2015/ng-nest-ui-avatar.js +10 -10
  581. package/fesm2015/ng-nest-ui-back-top.js +12 -12
  582. package/fesm2015/ng-nest-ui-back-top.js.map +1 -1
  583. package/fesm2015/ng-nest-ui-badge.js +12 -11
  584. package/fesm2015/ng-nest-ui-badge.js.map +1 -1
  585. package/fesm2015/ng-nest-ui-base-form.js +36 -12
  586. package/fesm2015/ng-nest-ui-base-form.js.map +1 -1
  587. package/fesm2015/ng-nest-ui-border.js +7 -7
  588. package/fesm2015/ng-nest-ui-button.js +20 -19
  589. package/fesm2015/ng-nest-ui-button.js.map +1 -1
  590. package/fesm2015/ng-nest-ui-calendar.js +14 -13
  591. package/fesm2015/ng-nest-ui-calendar.js.map +1 -1
  592. package/fesm2015/ng-nest-ui-card.js +10 -10
  593. package/fesm2015/ng-nest-ui-carousel.js +28 -27
  594. package/fesm2015/ng-nest-ui-carousel.js.map +1 -1
  595. package/fesm2015/ng-nest-ui-cascade.js +63 -22
  596. package/fesm2015/ng-nest-ui-cascade.js.map +1 -1
  597. package/fesm2015/ng-nest-ui-checkbox.js +13 -12
  598. package/fesm2015/ng-nest-ui-checkbox.js.map +1 -1
  599. package/fesm2015/ng-nest-ui-collapse.js +16 -16
  600. package/fesm2015/ng-nest-ui-collapse.js.map +1 -1
  601. package/fesm2015/ng-nest-ui-color-picker.js +24 -21
  602. package/fesm2015/ng-nest-ui-color-picker.js.map +1 -1
  603. package/fesm2015/ng-nest-ui-color.js +11 -11
  604. package/fesm2015/ng-nest-ui-color.js.map +1 -1
  605. package/fesm2015/ng-nest-ui-comment.js +19 -18
  606. package/fesm2015/ng-nest-ui-comment.js.map +1 -1
  607. package/fesm2015/ng-nest-ui-container.js +32 -32
  608. package/fesm2015/ng-nest-ui-container.js.map +1 -1
  609. package/fesm2015/ng-nest-ui-core.js +106 -25
  610. package/fesm2015/ng-nest-ui-core.js.map +1 -1
  611. package/fesm2015/ng-nest-ui-crumb.js +13 -12
  612. package/fesm2015/ng-nest-ui-crumb.js.map +1 -1
  613. package/fesm2015/ng-nest-ui-date-picker.js +325 -186
  614. package/fesm2015/ng-nest-ui-date-picker.js.map +1 -1
  615. package/fesm2015/ng-nest-ui-description.js +21 -22
  616. package/fesm2015/ng-nest-ui-description.js.map +1 -1
  617. package/fesm2015/ng-nest-ui-dialog.js +263 -33
  618. package/fesm2015/ng-nest-ui-dialog.js.map +1 -1
  619. package/fesm2015/ng-nest-ui-doc.js +7 -7
  620. package/fesm2015/ng-nest-ui-drawer.js +232 -20
  621. package/fesm2015/ng-nest-ui-drawer.js.map +1 -1
  622. package/fesm2015/ng-nest-ui-dropdown.js +17 -16
  623. package/fesm2015/ng-nest-ui-dropdown.js.map +1 -1
  624. package/fesm2015/ng-nest-ui-empty.js +10 -10
  625. package/fesm2015/ng-nest-ui-examples.js +7 -7
  626. package/fesm2015/ng-nest-ui-find.js +16 -15
  627. package/fesm2015/ng-nest-ui-find.js.map +1 -1
  628. package/fesm2015/ng-nest-ui-form.js +22 -26
  629. package/fesm2015/ng-nest-ui-form.js.map +1 -1
  630. package/fesm2015/ng-nest-ui-highlight.js +12 -11
  631. package/fesm2015/ng-nest-ui-highlight.js.map +1 -1
  632. package/fesm2015/ng-nest-ui-i18n.js +532 -131
  633. package/fesm2015/ng-nest-ui-i18n.js.map +1 -1
  634. package/fesm2015/ng-nest-ui-icon.js +18 -18
  635. package/fesm2015/ng-nest-ui-icon.js.map +1 -1
  636. package/fesm2015/ng-nest-ui-inner.js +11 -11
  637. package/fesm2015/ng-nest-ui-inner.js.map +1 -1
  638. package/fesm2015/ng-nest-ui-input-number.js +10 -10
  639. package/fesm2015/ng-nest-ui-input.js +38 -21
  640. package/fesm2015/ng-nest-ui-input.js.map +1 -1
  641. package/fesm2015/ng-nest-ui-layout.js +16 -16
  642. package/fesm2015/ng-nest-ui-link.js +10 -10
  643. package/fesm2015/ng-nest-ui-list.js +20 -19
  644. package/fesm2015/ng-nest-ui-list.js.map +1 -1
  645. package/fesm2015/ng-nest-ui-loading.js +12 -11
  646. package/fesm2015/ng-nest-ui-loading.js.map +1 -1
  647. package/fesm2015/ng-nest-ui-menu.js +22 -22
  648. package/fesm2015/ng-nest-ui-menu.js.map +1 -1
  649. package/fesm2015/ng-nest-ui-message-box.js +32 -34
  650. package/fesm2015/ng-nest-ui-message-box.js.map +1 -1
  651. package/fesm2015/ng-nest-ui-message.js +14 -14
  652. package/fesm2015/ng-nest-ui-message.js.map +1 -1
  653. package/fesm2015/ng-nest-ui-notification.js +11 -11
  654. package/fesm2015/ng-nest-ui-notification.js.map +1 -1
  655. package/fesm2015/ng-nest-ui-outlet.js +7 -7
  656. package/fesm2015/ng-nest-ui-page-header.js +10 -10
  657. package/fesm2015/ng-nest-ui-pagination.js +104 -14
  658. package/fesm2015/ng-nest-ui-pagination.js.map +1 -1
  659. package/fesm2015/ng-nest-ui-pattern.js +7 -7
  660. package/fesm2015/ng-nest-ui-popconfirm.js +10 -10
  661. package/fesm2015/ng-nest-ui-popover.js +16 -15
  662. package/fesm2015/ng-nest-ui-popover.js.map +1 -1
  663. package/fesm2015/ng-nest-ui-portal.js +15 -15
  664. package/fesm2015/ng-nest-ui-portal.js.map +1 -1
  665. package/fesm2015/ng-nest-ui-progress.js +234 -25
  666. package/fesm2015/ng-nest-ui-progress.js.map +1 -1
  667. package/fesm2015/ng-nest-ui-radio.js +13 -12
  668. package/fesm2015/ng-nest-ui-radio.js.map +1 -1
  669. package/fesm2015/ng-nest-ui-rate.js +15 -15
  670. package/fesm2015/ng-nest-ui-rate.js.map +1 -1
  671. package/fesm2015/ng-nest-ui-result.js +10 -10
  672. package/fesm2015/ng-nest-ui-ripple.js +10 -10
  673. package/fesm2015/ng-nest-ui-ripple.js.map +1 -1
  674. package/fesm2015/ng-nest-ui-select.js +37 -22
  675. package/fesm2015/ng-nest-ui-select.js.map +1 -1
  676. package/fesm2015/ng-nest-ui-skeleton.js +12 -11
  677. package/fesm2015/ng-nest-ui-skeleton.js.map +1 -1
  678. package/fesm2015/ng-nest-ui-slider-select.js +10 -10
  679. package/fesm2015/ng-nest-ui-slider.js +17 -18
  680. package/fesm2015/ng-nest-ui-slider.js.map +1 -1
  681. package/fesm2015/ng-nest-ui-statistic.js +22 -20
  682. package/fesm2015/ng-nest-ui-statistic.js.map +1 -1
  683. package/fesm2015/ng-nest-ui-steps.js +38 -21
  684. package/fesm2015/ng-nest-ui-steps.js.map +1 -1
  685. package/fesm2015/ng-nest-ui-switch.js +10 -10
  686. package/fesm2015/ng-nest-ui-table.js +43 -40
  687. package/fesm2015/ng-nest-ui-table.js.map +1 -1
  688. package/fesm2015/ng-nest-ui-tabs.js +24 -23
  689. package/fesm2015/ng-nest-ui-tabs.js.map +1 -1
  690. package/fesm2015/ng-nest-ui-tag.js +12 -11
  691. package/fesm2015/ng-nest-ui-tag.js.map +1 -1
  692. package/fesm2015/ng-nest-ui-text-retract.js +12 -11
  693. package/fesm2015/ng-nest-ui-text-retract.js.map +1 -1
  694. package/fesm2015/ng-nest-ui-textarea.js +12 -21
  695. package/fesm2015/ng-nest-ui-textarea.js.map +1 -1
  696. package/fesm2015/ng-nest-ui-theme.js +11 -11
  697. package/fesm2015/ng-nest-ui-theme.js.map +1 -1
  698. package/fesm2015/ng-nest-ui-time-ago.js +7 -7
  699. package/fesm2015/ng-nest-ui-time-picker.js +73 -36
  700. package/fesm2015/ng-nest-ui-time-picker.js.map +1 -1
  701. package/fesm2015/ng-nest-ui-time-range.js +7 -7
  702. package/fesm2015/ng-nest-ui-timeline.js +13 -12
  703. package/fesm2015/ng-nest-ui-timeline.js.map +1 -1
  704. package/fesm2015/ng-nest-ui-tooltip.js +16 -15
  705. package/fesm2015/ng-nest-ui-tooltip.js.map +1 -1
  706. package/fesm2015/ng-nest-ui-transfer.js +13 -12
  707. package/fesm2015/ng-nest-ui-transfer.js.map +1 -1
  708. package/fesm2015/ng-nest-ui-tree-file.js +10 -10
  709. package/fesm2015/ng-nest-ui-tree.js +24 -23
  710. package/fesm2015/ng-nest-ui-tree.js.map +1 -1
  711. package/fesm2015/ng-nest-ui-typography.js +10 -10
  712. package/fesm2015/ng-nest-ui-upload.js +17 -16
  713. package/fesm2015/ng-nest-ui-upload.js.map +1 -1
  714. package/find/find.component.d.ts +1 -1
  715. package/form/control.component.d.ts +1 -1
  716. package/form/form.component.d.ts +1 -1
  717. package/form/form.property.d.ts +6 -6
  718. package/i18n/languages/ar_EG.d.ts +8 -0
  719. package/i18n/languages/bg_BG.d.ts +8 -0
  720. package/i18n/languages/ca_ES.d.ts +8 -0
  721. package/i18n/languages/cs_CZ.d.ts +8 -0
  722. package/i18n/languages/da_DK.d.ts +8 -0
  723. package/i18n/languages/de_DE.d.ts +8 -0
  724. package/i18n/languages/el_GR.d.ts +8 -0
  725. package/i18n/languages/en_GB.d.ts +8 -0
  726. package/i18n/languages/en_US.d.ts +5 -0
  727. package/i18n/languages/es_ES.d.ts +8 -0
  728. package/i18n/languages/et_EE.d.ts +8 -0
  729. package/i18n/languages/fa_IR.d.ts +8 -0
  730. package/i18n/languages/fi_FI.d.ts +8 -0
  731. package/i18n/languages/fr_BE.d.ts +8 -0
  732. package/i18n/languages/fr_FR.d.ts +8 -0
  733. package/i18n/languages/he_IL.d.ts +8 -0
  734. package/i18n/languages/hi_IN.d.ts +8 -0
  735. package/i18n/languages/hr_HR.d.ts +8 -0
  736. package/i18n/languages/hu_HU.d.ts +8 -0
  737. package/i18n/languages/hy_AM.d.ts +8 -0
  738. package/i18n/languages/id_ID.d.ts +8 -0
  739. package/i18n/languages/is_IS.d.ts +8 -0
  740. package/i18n/languages/it_IT.d.ts +8 -0
  741. package/i18n/languages/ja_JP.d.ts +8 -0
  742. package/i18n/languages/ka_GE.d.ts +8 -0
  743. package/i18n/languages/kn_IN.d.ts +8 -0
  744. package/i18n/languages/ko_KR.d.ts +8 -0
  745. package/i18n/languages/ku_IQ.d.ts +8 -0
  746. package/i18n/languages/lv_LV.d.ts +8 -0
  747. package/i18n/languages/mn_MN.d.ts +8 -0
  748. package/i18n/languages/ms_MY.d.ts +8 -0
  749. package/i18n/languages/nb_NO.d.ts +8 -0
  750. package/i18n/languages/ne_NP.d.ts +8 -0
  751. package/i18n/languages/nl_BE.d.ts +8 -0
  752. package/i18n/languages/nl_NL.d.ts +8 -0
  753. package/i18n/languages/pl_PL.d.ts +8 -0
  754. package/i18n/languages/pt_BR.d.ts +8 -0
  755. package/i18n/languages/pt_PT.d.ts +8 -0
  756. package/i18n/languages/ro_RO.d.ts +8 -0
  757. package/i18n/languages/ru_RU.d.ts +8 -0
  758. package/i18n/languages/sk_SK.d.ts +8 -0
  759. package/i18n/languages/sl_SI.d.ts +8 -0
  760. package/i18n/languages/sr_RS.d.ts +8 -0
  761. package/i18n/languages/sv_SE.d.ts +8 -0
  762. package/i18n/languages/ta_IN.d.ts +8 -0
  763. package/i18n/languages/th_TH.d.ts +8 -0
  764. package/i18n/languages/tr_TR.d.ts +8 -0
  765. package/i18n/languages/uk_UA.d.ts +8 -0
  766. package/i18n/languages/vi_VN.d.ts +8 -0
  767. package/i18n/languages/zh_CN.d.ts +4 -0
  768. package/i18n/languages/zh_TW.d.ts +7 -0
  769. package/inner/inner.component.d.ts +1 -1
  770. package/input/input-group.component.d.ts +2 -4
  771. package/input/input.component.d.ts +3 -1
  772. package/input/input.property.d.ts +6 -1
  773. package/list/list.component.d.ts +2 -2
  774. package/menu/menu.component.d.ts +1 -1
  775. package/message/message.component.d.ts +1 -1
  776. package/message/message.property.d.ts +1 -1
  777. package/message-box/message-box.component.d.ts +2 -1
  778. package/notification/notification.component.d.ts +1 -1
  779. package/package.json +1 -1
  780. package/pagination/pagination.component.d.ts +5 -1
  781. package/pagination/pagination.module.d.ts +7 -3
  782. package/pagination/pagination.property.d.ts +49 -3
  783. package/portal/portal.module.d.ts +1 -1
  784. package/portal/portal.service.d.ts +2 -3
  785. package/progress/progress.component.d.ts +31 -3
  786. package/progress/progress.property.d.ts +80 -5
  787. package/radio/radio.component.d.ts +1 -1
  788. package/rate/rate.component.d.ts +5 -5
  789. package/select/select-portal.component.d.ts +3 -3
  790. package/select/select.component.d.ts +1 -1
  791. package/select/select.property.d.ts +12 -2
  792. package/slider/slider.component.d.ts +1 -1
  793. package/steps/steps.component.d.ts +1 -1
  794. package/steps/steps.module.d.ts +2 -1
  795. package/steps/steps.property.d.ts +12 -2
  796. package/table/table-body.component.d.ts +1 -1
  797. package/table/table-head.component.d.ts +1 -1
  798. package/table/table.component.d.ts +1 -1
  799. package/table/table.property.d.ts +11 -1
  800. package/textarea/textarea.property.d.ts +1 -6
  801. package/theme/theme.component.d.ts +1 -1
  802. package/time-picker/time-picker-frame.component.d.ts +4 -0
  803. package/time-picker/time-picker-portal.component.d.ts +3 -3
  804. package/time-picker/time-picker.component.d.ts +5 -3
  805. package/time-picker/time-picker.property.d.ts +12 -2
  806. package/timeline/timeline.component.d.ts +1 -1
  807. package/transfer/transfer.component.d.ts +1 -1
  808. package/tree/tree-node.component.d.ts +1 -1
  809. package/tree/tree.component.d.ts +1 -1
  810. package/upload/upload.component.d.ts +3 -3
@@ -41,8 +41,9 @@ export class XPopoverDirective extends XPopoverProperty {
41
41
  }
42
42
  ngOnInit() { }
43
43
  ngOnChanges(changes) {
44
- XIsChange(changes.content) && this.contentChange.next(this.content);
45
- if (XIsChange(changes.visible)) {
44
+ const { content, visible } = changes;
45
+ XIsChange(content) && this.contentChange.next(this.content);
46
+ if (XIsChange(visible)) {
46
47
  if (this.visible)
47
48
  this.show();
48
49
  else
@@ -147,9 +148,9 @@ export class XPopoverDirective extends XPopoverProperty {
147
148
  (_a = this.portal.overlayRef) === null || _a === void 0 ? void 0 : _a.updatePosition();
148
149
  }
149
150
  }
150
- /** @nocollapse */ XPopoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPopoverDirective, deps: [{ token: i0.ElementRef }, { token: i1.XPortalService }, { token: i0.ViewContainerRef }, { token: i2.Overlay }, { token: i3.XConfigService }], target: i0.ɵɵFactoryTarget.Directive });
151
- /** @nocollapse */ XPopoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.0.3", type: XPopoverDirective, selector: "[x-popover], x-popover", host: { listeners: { "click": "click()", "mouseenter": "mouseenter()", "mouseleave": "mouseleave()" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
152
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPopoverDirective, decorators: [{
151
+ /** @nocollapse */ XPopoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPopoverDirective, deps: [{ token: i0.ElementRef }, { token: i1.XPortalService }, { token: i0.ViewContainerRef }, { token: i2.Overlay }, { token: i3.XConfigService }], target: i0.ɵɵFactoryTarget.Directive });
152
+ /** @nocollapse */ XPopoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.0.5", type: XPopoverDirective, selector: "[x-popover], x-popover", host: { listeners: { "click": "click()", "mouseenter": "mouseenter()", "mouseleave": "mouseleave()" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPopoverDirective, decorators: [{
153
154
  type: Directive,
154
155
  args: [{ selector: `[${XPopoverPrefix}], ${XPopoverPrefix}` }]
155
156
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.XPortalService }, { type: i0.ViewContainerRef }, { type: i2.Overlay }, { type: i3.XConfigService }]; }, propDecorators: { click: [{
@@ -162,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
162
163
  type: HostListener,
163
164
  args: ['mouseleave']
164
165
  }] } });
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9wb3BvdmVyL3BvcG92ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0MsU0FBUyxFQUFFLFlBQVksRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFxQyx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFjLFNBQVMsRUFBa0IsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7QUFHekUsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGdCQUFnQjtJQVNyRCxZQUNVLFVBQXNCLEVBQ3RCLGFBQTZCLEVBQzdCLGdCQUFrQyxFQUNsQyxPQUFnQixFQUNqQixhQUE2QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQU5BLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBQzdCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNqQixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFYdEMsa0JBQWEsR0FBeUIsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEUsbUJBQWMsR0FBaUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUVyQyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQVduQyxDQUFDO0lBRXNCLEtBQUs7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QUFDLFVBQVUsMENBQUUsY0FBYyxFQUFFLENBQUEsRUFBQTtTQUN6RCxDQUFDLENBQUM7UUFDSCxZQUFZLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVELE1BQU07O1FBQ0osSUFBSSxJQUFJLENBQUMsTUFBTTtZQUFFLE1BQUEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLDBDQUFFLGNBQWMsRUFBRSxDQUFDO0lBQzVELENBQUM7O2lJQTdJVSxpQkFBaUI7cUhBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUQ3QixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksY0FBYyxNQUFNLGNBQWMsRUFBRSxFQUFFO2dOQW9CeEMsS0FBSztzQkFBM0IsWUFBWTt1QkFBQyxPQUFPO2dCQVNPLFVBQVU7c0JBQXJDLFlBQVk7dUJBQUMsWUFBWTtnQkFJRSxVQUFVO3NCQUFyQyxZQUFZO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkluaXQsIEVsZW1lbnRSZWYsIFZpZXdDb250YWluZXJSZWYsIERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFBvcnRhbFNlcnZpY2UsIFhQb3J0YWxPdmVybGF5UmVmLCBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24gfSBmcm9tICdAbmctbmVzdC91aS9wb3J0YWwnO1xyXG5pbXBvcnQgeyBYUG9wb3ZlclBvcnRhbENvbXBvbmVudCB9IGZyb20gJy4vcG9wb3Zlci1wb3J0YWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWFBvcG92ZXJQcmVmaXgsIFhQb3BvdmVyUHJvcGVydHkgfSBmcm9tICcuL3BvcG92ZXIucHJvcGVydHknO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgT3ZlcmxheUNvbmZpZywgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LCBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UsIE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgWFBsYWNlbWVudCwgWElzQ2hhbmdlLCBYQ29uZmlnU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiBgWyR7WFBvcG92ZXJQcmVmaXh9XSwgJHtYUG9wb3ZlclByZWZpeH1gIH0pXHJcbmV4cG9ydCBjbGFzcyBYUG9wb3ZlckRpcmVjdGl2ZSBleHRlbmRzIFhQb3BvdmVyUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgcG9ydGFsITogWFBvcnRhbE92ZXJsYXlSZWY8WFBvcG92ZXJQb3J0YWxDb21wb25lbnQ+O1xyXG4gIGJveCE6IERPTVJlY3Q7XHJcbiAgY29udGVudENoYW5nZTogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xyXG4gIHBvc2l0aW9uQ2hhbmdlOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHRpbWVvdXRIaWRlOiBhbnk7XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3QoKTtcclxuICBwcml2YXRlIHJlYWxQbGFjZW1lbnQhOiBYUGxhY2VtZW50O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcG9ydGFsU2VydmljZTogWFBvcnRhbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdjbGljaycpIGNsaWNrKCkge1xyXG4gICAgaWYgKHRoaXMudHJpZ2dlciA9PT0gJ2NsaWNrJykge1xyXG4gICAgICB0aGlzLnZpc2libGUgPSAhdGhpcy52aXNpYmxlO1xyXG4gICAgICBpZiAodGhpcy52aXNpYmxlKSB0aGlzLnNob3coKTtcclxuICAgICAgZWxzZSB0aGlzLmhpZGUoKTtcclxuICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodGhpcy52aXNpYmxlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKSBtb3VzZWVudGVyKCkge1xyXG4gICAgaWYgKHRoaXMudHJpZ2dlciA9PT0gJ2hvdmVyJykgdGhpcy5zaG93KCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJykgbW91c2VsZWF2ZSgpIHtcclxuICAgIGlmICh0aGlzLnRyaWdnZXIgPT09ICdob3ZlcicpIHRoaXMuaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBYSXNDaGFuZ2UoY2hhbmdlcy5jb250ZW50KSAmJiB0aGlzLmNvbnRlbnRDaGFuZ2UubmV4dCh0aGlzLmNvbnRlbnQpO1xyXG4gICAgaWYgKFhJc0NoYW5nZShjaGFuZ2VzLnZpc2libGUpKSB7XHJcbiAgICAgIGlmICh0aGlzLnZpc2libGUpIHRoaXMuc2hvdygpO1xyXG4gICAgICBlbHNlIHRoaXMuaGlkZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLmNvbnRlbnRDaGFuZ2UudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHt9XHJcblxyXG4gIHNob3coKSB7XHJcbiAgICBpZiAodGhpcy50aW1lb3V0SGlkZSkgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dEhpZGUpO1xyXG4gICAgaWYgKCF0aGlzLnBvcnRhbCB8fCAodGhpcy5wb3J0YWwgJiYgIXRoaXMucG9ydGFsLm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCkpKSB7XHJcbiAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XHJcbiAgICAgIHRoaXMuY3JlYXRlUG9ydGFsKCk7XHJcbiAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMudmlzaWJsZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoaWRlKCkge1xyXG4gICAgaWYgKHRoaXMucG9ydGFsLm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCkpIHtcclxuICAgICAgdGhpcy50aW1lb3V0SGlkZSA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucG9ydGFsLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICAgICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh0aGlzLnZpc2libGUpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNyZWF0ZVBvcnRhbCgpIHtcclxuICAgIGNvbnN0IGNvbmZpZzogT3ZlcmxheUNvbmZpZyA9IHtcclxuICAgICAgYmFja2Ryb3BDbGFzczogJycsXHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMucG9ydGFsU2VydmljZS5zZXRQbGFjZW1lbnQoe1xyXG4gICAgICAgIGVsZW1lbnRSZWY6IHRoaXMuZWxlbWVudFJlZixcclxuICAgICAgICBwbGFjZW1lbnQ6IFt0aGlzLnBsYWNlbWVudCBhcyBYUGxhY2VtZW50LCAnYm90dG9tJywgJ3RvcCcsICdsZWZ0JywgJ3JpZ2h0J11cclxuICAgICAgfSksXHJcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKClcclxuICAgIH07XHJcbiAgICB0aGlzLnNldFBvc2l0aW9uKGNvbmZpZyk7XHJcbiAgICB0aGlzLnBvcnRhbCA9IHRoaXMucG9ydGFsU2VydmljZS5hdHRhY2goe1xyXG4gICAgICBjb250ZW50OiBYUG9wb3ZlclBvcnRhbENvbXBvbmVudCxcclxuICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICBvdmVybGF5Q29uZmlnOiBjb25maWdcclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMudHJpZ2dlciA9PT0gJ2NsaWNrJykge1xyXG4gICAgICB0aGlzLnBvcnRhbC5vdmVybGF5UmVmXHJcbiAgICAgICAgPy5vdXRzaWRlUG9pbnRlckV2ZW50cygpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmhpZGUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0SW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIHNldFBvc2l0aW9uKGNvbmZpZzogT3ZlcmxheUNvbmZpZykge1xyXG4gICAgbGV0IHBvc2l0aW9uID0gY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5O1xyXG4gICAgcG9zaXRpb24ucG9zaXRpb25DaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgocG9zOiBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UpID0+IHtcclxuICAgICAgY29uc3QgcGxhY2UgPSBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24uZ2V0KHBvcy5jb25uZWN0aW9uUGFpcikgYXMgWFBsYWNlbWVudDtcclxuICAgICAgaWYgKHBsYWNlICE9PSB0aGlzLnJlYWxQbGFjZW1lbnQpIHtcclxuICAgICAgICB0aGlzLnJlYWxQbGFjZW1lbnQgPSBwbGFjZTtcclxuICAgICAgICB0aGlzLnBvc2l0aW9uQ2hhbmdlLm5leHQocGxhY2UpO1xyXG4gICAgICAgIHRoaXMucG9ydGFsLm92ZXJsYXlSZWY/LnVwZGF0ZVBvc2l0aW9uKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0SW5zdGFuY2UoKSB7XHJcbiAgICBsZXQgY29tcG9uZW50UmVmID0gdGhpcy5wb3J0YWw/LmNvbXBvbmVudFJlZjtcclxuICAgIGlmICghY29tcG9uZW50UmVmKSByZXR1cm47XHJcbiAgICB0aGlzLmJveCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgdGhpcy5yZWFsUGxhY2VtZW50ID0gYCR7dGhpcy5wbGFjZW1lbnR9YCBhcyBYUGxhY2VtZW50O1xyXG4gICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIHtcclxuICAgICAgYm94OiB0aGlzLmJveCxcclxuICAgICAgdGl0bGU6IHRoaXMudGl0bGUsXHJcbiAgICAgIGNvbnRlbnQ6IHRoaXMuY29udGVudCxcclxuICAgICAgZm9vdGVyOiB0aGlzLmZvb3RlcixcclxuICAgICAgY29udGVudENoYW5nZTogdGhpcy5jb250ZW50Q2hhbmdlLFxyXG4gICAgICBwb3NpdGlvbkNoYW5nZTogdGhpcy5wb3NpdGlvbkNoYW5nZSxcclxuICAgICAgdHJpZ2dlcjogdGhpcy50cmlnZ2VyLFxyXG4gICAgICBwbGFjZW1lbnQ6IHRoaXMucGxhY2VtZW50LFxyXG4gICAgICB3aWR0aDogdGhpcy53aWR0aCxcclxuICAgICAgcG9ydGFsSG92ZXI6IChob3ZlcjogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnRpbWVvdXRIaWRlICYmIGhvdmVyKSB7XHJcbiAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0SGlkZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgY2xvc2VQb3J0YWw6ICgpID0+IHRoaXMuaGlkZSgpLFxyXG4gICAgICB2aWV3SW5pdDogKCkgPT4gdGhpcy5wb3J0YWwub3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb24oKVxyXG4gICAgfSk7XHJcbiAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlKCkge1xyXG4gICAgaWYgKHRoaXMucG9ydGFsKSB0aGlzLnBvcnRhbC5vdmVybGF5UmVmPy51cGRhdGVQb3NpdGlvbigpO1xyXG4gIH1cclxufVxyXG4iXX0=
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9wb3BvdmVyL3BvcG92ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0MsU0FBUyxFQUFFLFlBQVksRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFxQyx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFjLFNBQVMsRUFBa0IsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7QUFHekUsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGdCQUFnQjtJQVNyRCxZQUNVLFVBQXNCLEVBQ3RCLGFBQTZCLEVBQzdCLGdCQUFrQyxFQUNsQyxPQUFnQixFQUNqQixhQUE2QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQU5BLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBQzdCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNqQixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFYdEMsa0JBQWEsR0FBeUIsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEUsbUJBQWMsR0FBaUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUVyQyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVd6QyxDQUFDO0lBRXNCLEtBQUs7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V0FBQyxPQUFBLE1BQUEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLDBDQUFFLGNBQWMsRUFBRSxDQUFBLEVBQUE7U0FDekQsQ0FBQyxDQUFDO1FBQ0gsWUFBWSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxNQUFNOztRQUNKLElBQUksSUFBSSxDQUFDLE1BQU07WUFBRSxNQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSwwQ0FBRSxjQUFjLEVBQUUsQ0FBQztJQUM1RCxDQUFDOztpSUE5SVUsaUJBQWlCO3FIQUFqQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFEN0IsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLGNBQWMsTUFBTSxjQUFjLEVBQUUsRUFBRTtnTkFvQnhDLEtBQUs7c0JBQTNCLFlBQVk7dUJBQUMsT0FBTztnQkFTTyxVQUFVO3NCQUFyQyxZQUFZO3VCQUFDLFlBQVk7Z0JBSUUsVUFBVTtzQkFBckMsWUFBWTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25Jbml0LCBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmLCBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhQb3J0YWxTZXJ2aWNlLCBYUG9ydGFsT3ZlcmxheVJlZiwgWFBvcnRhbENvbm5lY3RlZFBvc2l0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvcG9ydGFsJztcclxuaW1wb3J0IHsgWFBvcG92ZXJQb3J0YWxDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXItcG9ydGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhQb3BvdmVyUHJlZml4LCBYUG9wb3ZlclByb3BlcnR5IH0gZnJvbSAnLi9wb3BvdmVyLnByb3BlcnR5JztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE92ZXJsYXlDb25maWcsIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSwgQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uQ2hhbmdlLCBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFhQbGFjZW1lbnQsIFhJc0NoYW5nZSwgWENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogYFske1hQb3BvdmVyUHJlZml4fV0sICR7WFBvcG92ZXJQcmVmaXh9YCB9KVxyXG5leHBvcnQgY2xhc3MgWFBvcG92ZXJEaXJlY3RpdmUgZXh0ZW5kcyBYUG9wb3ZlclByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIHBvcnRhbCE6IFhQb3J0YWxPdmVybGF5UmVmPFhQb3BvdmVyUG9ydGFsQ29tcG9uZW50PjtcclxuICBib3ghOiBET01SZWN0O1xyXG4gIGNvbnRlbnRDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcclxuICBwb3NpdGlvbkNoYW5nZTogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICB0aW1lb3V0SGlkZTogYW55O1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSByZWFsUGxhY2VtZW50ITogWFBsYWNlbWVudDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHBvcnRhbFNlcnZpY2U6IFhQb3J0YWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKSBjbGljaygpIHtcclxuICAgIGlmICh0aGlzLnRyaWdnZXIgPT09ICdjbGljaycpIHtcclxuICAgICAgdGhpcy52aXNpYmxlID0gIXRoaXMudmlzaWJsZTtcclxuICAgICAgaWYgKHRoaXMudmlzaWJsZSkgdGhpcy5zaG93KCk7XHJcbiAgICAgIGVsc2UgdGhpcy5oaWRlKCk7XHJcbiAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMudmlzaWJsZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJykgbW91c2VlbnRlcigpIHtcclxuICAgIGlmICh0aGlzLnRyaWdnZXIgPT09ICdob3ZlcicpIHRoaXMuc2hvdygpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpIG1vdXNlbGVhdmUoKSB7XHJcbiAgICBpZiAodGhpcy50cmlnZ2VyID09PSAnaG92ZXInKSB0aGlzLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge31cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3QgeyBjb250ZW50LCB2aXNpYmxlIH0gPSBjaGFuZ2VzO1xyXG4gICAgWElzQ2hhbmdlKGNvbnRlbnQpICYmIHRoaXMuY29udGVudENoYW5nZS5uZXh0KHRoaXMuY29udGVudCk7XHJcbiAgICBpZiAoWElzQ2hhbmdlKHZpc2libGUpKSB7XHJcbiAgICAgIGlmICh0aGlzLnZpc2libGUpIHRoaXMuc2hvdygpO1xyXG4gICAgICBlbHNlIHRoaXMuaGlkZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLmNvbnRlbnRDaGFuZ2UudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHt9XHJcblxyXG4gIHNob3coKSB7XHJcbiAgICBpZiAodGhpcy50aW1lb3V0SGlkZSkgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dEhpZGUpO1xyXG4gICAgaWYgKCF0aGlzLnBvcnRhbCB8fCAodGhpcy5wb3J0YWwgJiYgIXRoaXMucG9ydGFsLm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCkpKSB7XHJcbiAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XHJcbiAgICAgIHRoaXMuY3JlYXRlUG9ydGFsKCk7XHJcbiAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMudmlzaWJsZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoaWRlKCkge1xyXG4gICAgaWYgKHRoaXMucG9ydGFsLm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCkpIHtcclxuICAgICAgdGhpcy50aW1lb3V0SGlkZSA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucG9ydGFsLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICAgICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh0aGlzLnZpc2libGUpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNyZWF0ZVBvcnRhbCgpIHtcclxuICAgIGNvbnN0IGNvbmZpZzogT3ZlcmxheUNvbmZpZyA9IHtcclxuICAgICAgYmFja2Ryb3BDbGFzczogJycsXHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMucG9ydGFsU2VydmljZS5zZXRQbGFjZW1lbnQoe1xyXG4gICAgICAgIGVsZW1lbnRSZWY6IHRoaXMuZWxlbWVudFJlZixcclxuICAgICAgICBwbGFjZW1lbnQ6IFt0aGlzLnBsYWNlbWVudCBhcyBYUGxhY2VtZW50LCAnYm90dG9tJywgJ3RvcCcsICdsZWZ0JywgJ3JpZ2h0J11cclxuICAgICAgfSksXHJcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKClcclxuICAgIH07XHJcbiAgICB0aGlzLnNldFBvc2l0aW9uKGNvbmZpZyk7XHJcbiAgICB0aGlzLnBvcnRhbCA9IHRoaXMucG9ydGFsU2VydmljZS5hdHRhY2goe1xyXG4gICAgICBjb250ZW50OiBYUG9wb3ZlclBvcnRhbENvbXBvbmVudCxcclxuICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICBvdmVybGF5Q29uZmlnOiBjb25maWdcclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMudHJpZ2dlciA9PT0gJ2NsaWNrJykge1xyXG4gICAgICB0aGlzLnBvcnRhbC5vdmVybGF5UmVmXHJcbiAgICAgICAgPy5vdXRzaWRlUG9pbnRlckV2ZW50cygpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmhpZGUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0SW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIHNldFBvc2l0aW9uKGNvbmZpZzogT3ZlcmxheUNvbmZpZykge1xyXG4gICAgbGV0IHBvc2l0aW9uID0gY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5O1xyXG4gICAgcG9zaXRpb24ucG9zaXRpb25DaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgocG9zOiBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UpID0+IHtcclxuICAgICAgY29uc3QgcGxhY2UgPSBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24uZ2V0KHBvcy5jb25uZWN0aW9uUGFpcikgYXMgWFBsYWNlbWVudDtcclxuICAgICAgaWYgKHBsYWNlICE9PSB0aGlzLnJlYWxQbGFjZW1lbnQpIHtcclxuICAgICAgICB0aGlzLnJlYWxQbGFjZW1lbnQgPSBwbGFjZTtcclxuICAgICAgICB0aGlzLnBvc2l0aW9uQ2hhbmdlLm5leHQocGxhY2UpO1xyXG4gICAgICAgIHRoaXMucG9ydGFsLm92ZXJsYXlSZWY/LnVwZGF0ZVBvc2l0aW9uKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0SW5zdGFuY2UoKSB7XHJcbiAgICBsZXQgY29tcG9uZW50UmVmID0gdGhpcy5wb3J0YWw/LmNvbXBvbmVudFJlZjtcclxuICAgIGlmICghY29tcG9uZW50UmVmKSByZXR1cm47XHJcbiAgICB0aGlzLmJveCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgdGhpcy5yZWFsUGxhY2VtZW50ID0gYCR7dGhpcy5wbGFjZW1lbnR9YCBhcyBYUGxhY2VtZW50O1xyXG4gICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIHtcclxuICAgICAgYm94OiB0aGlzLmJveCxcclxuICAgICAgdGl0bGU6IHRoaXMudGl0bGUsXHJcbiAgICAgIGNvbnRlbnQ6IHRoaXMuY29udGVudCxcclxuICAgICAgZm9vdGVyOiB0aGlzLmZvb3RlcixcclxuICAgICAgY29udGVudENoYW5nZTogdGhpcy5jb250ZW50Q2hhbmdlLFxyXG4gICAgICBwb3NpdGlvbkNoYW5nZTogdGhpcy5wb3NpdGlvbkNoYW5nZSxcclxuICAgICAgdHJpZ2dlcjogdGhpcy50cmlnZ2VyLFxyXG4gICAgICBwbGFjZW1lbnQ6IHRoaXMucGxhY2VtZW50LFxyXG4gICAgICB3aWR0aDogdGhpcy53aWR0aCxcclxuICAgICAgcG9ydGFsSG92ZXI6IChob3ZlcjogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnRpbWVvdXRIaWRlICYmIGhvdmVyKSB7XHJcbiAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0SGlkZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgY2xvc2VQb3J0YWw6ICgpID0+IHRoaXMuaGlkZSgpLFxyXG4gICAgICB2aWV3SW5pdDogKCkgPT4gdGhpcy5wb3J0YWwub3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb24oKVxyXG4gICAgfSk7XHJcbiAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlKCkge1xyXG4gICAgaWYgKHRoaXMucG9ydGFsKSB0aGlzLnBvcnRhbC5vdmVybGF5UmVmPy51cGRhdGVQb3NpdGlvbigpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -8,10 +8,10 @@ import { XPopoverProperty } from './popover.property';
8
8
  import * as i0 from "@angular/core";
9
9
  export class XPopoverModule {
10
10
  }
11
- /** @nocollapse */ XPopoverModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- /** @nocollapse */ XPopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPopoverModule, declarations: [XPopoverDirective, XPopoverPortalComponent, XPopoverProperty], imports: [CommonModule, XPortalModule, XOutletModule], exports: [XPopoverDirective, XPopoverPortalComponent] });
13
- /** @nocollapse */ XPopoverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPopoverModule, imports: [[CommonModule, XPortalModule, XOutletModule]] });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPopoverModule, decorators: [{
11
+ /** @nocollapse */ XPopoverModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ /** @nocollapse */ XPopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPopoverModule, declarations: [XPopoverDirective, XPopoverPortalComponent, XPopoverProperty], imports: [CommonModule, XPortalModule, XOutletModule], exports: [XPopoverDirective, XPopoverPortalComponent] });
13
+ /** @nocollapse */ XPopoverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPopoverModule, imports: [[CommonModule, XPortalModule, XOutletModule]] });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPopoverModule, decorators: [{
15
15
  type: NgModule,
16
16
  args: [{
17
17
  declarations: [XPopoverDirective, XPopoverPortalComponent, XPopoverProperty],
@@ -22,8 +22,8 @@ export class XPopoverProperty extends XProperty {
22
22
  this.visibleChange = new EventEmitter();
23
23
  }
24
24
  }
25
- /** @nocollapse */ XPopoverProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPopoverProperty, deps: null, target: i0.ɵɵFactoryTarget.Directive });
26
- /** @nocollapse */ XPopoverProperty.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.0.3", type: XPopoverProperty, selector: "[x-popover], x-popover", inputs: { title: "title", content: "content", footer: "footer", placement: "placement", trigger: "trigger", width: "width", visible: "visible" }, outputs: { visibleChange: "visibleChange" }, usesInheritance: true, ngImport: i0 });
25
+ /** @nocollapse */ XPopoverProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPopoverProperty, deps: null, target: i0.ɵɵFactoryTarget.Directive });
26
+ /** @nocollapse */ XPopoverProperty.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.0.5", type: XPopoverProperty, selector: "[x-popover], x-popover", inputs: { title: "title", content: "content", footer: "footer", placement: "placement", trigger: "trigger", width: "width", visible: "visible" }, outputs: { visibleChange: "visibleChange" }, usesInheritance: true, ngImport: i0 });
27
27
  __decorate([
28
28
  XWithConfig(X_CONFIG_NAME, 'bottom')
29
29
  ], XPopoverProperty.prototype, "placement", void 0);
@@ -36,7 +36,7 @@ __decorate([
36
36
  __decorate([
37
37
  XInputBoolean()
38
38
  ], XPopoverProperty.prototype, "visible", void 0);
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPopoverProperty, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPopoverProperty, decorators: [{
40
40
  type: Directive,
41
41
  args: [{ selector: `[${XPopoverPrefix}], ${XPopoverPrefix}` }]
42
42
  }], propDecorators: { title: [{
@@ -5,14 +5,15 @@ import { XPortalService } from './portal.service';
5
5
  import * as i0 from "@angular/core";
6
6
  export class XPortalModule {
7
7
  }
8
- /** @nocollapse */ XPortalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPortalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- /** @nocollapse */ XPortalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPortalModule, imports: [OverlayModule, PortalModule] });
10
- /** @nocollapse */ XPortalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPortalModule, providers: [XPortalService], imports: [[OverlayModule, PortalModule]] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPortalModule, decorators: [{
8
+ /** @nocollapse */ XPortalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPortalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ /** @nocollapse */ XPortalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPortalModule, imports: [OverlayModule, PortalModule], exports: [OverlayModule, PortalModule] });
10
+ /** @nocollapse */ XPortalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPortalModule, providers: [XPortalService], imports: [[OverlayModule, PortalModule], OverlayModule, PortalModule] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPortalModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  imports: [OverlayModule, PortalModule],
15
+ exports: [OverlayModule, PortalModule],
15
16
  providers: [XPortalService]
16
17
  }]
17
18
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3BvcnRhbC9wb3J0YWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBTWxELE1BQU0sT0FBTyxhQUFhOzs2SEFBYixhQUFhOzhIQUFiLGFBQWEsWUFIZCxhQUFhLEVBQUUsWUFBWTs4SEFHMUIsYUFBYSxhQUZiLENBQUMsY0FBYyxDQUFDLFlBRGxCLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQzsyRkFHM0IsYUFBYTtrQkFKekIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDO29CQUN0QyxTQUFTLEVBQUUsQ0FBQyxjQUFjLENBQUM7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IFhQb3J0YWxTZXJ2aWNlIH0gZnJvbSAnLi9wb3J0YWwuc2VydmljZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtPdmVybGF5TW9kdWxlLCBQb3J0YWxNb2R1bGVdLFxyXG4gIHByb3ZpZGVyczogW1hQb3J0YWxTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFBvcnRhbE1vZHVsZSB7fVxyXG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3BvcnRhbC9wb3J0YWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBT2xELE1BQU0sT0FBTyxhQUFhOzs2SEFBYixhQUFhOzhIQUFiLGFBQWEsWUFKZCxhQUFhLEVBQUUsWUFBWSxhQUMzQixhQUFhLEVBQUUsWUFBWTs4SEFHMUIsYUFBYSxhQUZiLENBQUMsY0FBYyxDQUFDLFlBRmxCLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxFQUM1QixhQUFhLEVBQUUsWUFBWTsyRkFHMUIsYUFBYTtrQkFMekIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDO29CQUN0QyxPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDO29CQUN0QyxTQUFTLEVBQUUsQ0FBQyxjQUFjLENBQUM7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IFhQb3J0YWxTZXJ2aWNlIH0gZnJvbSAnLi9wb3J0YWwuc2VydmljZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtPdmVybGF5TW9kdWxlLCBQb3J0YWxNb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtPdmVybGF5TW9kdWxlLCBQb3J0YWxNb2R1bGVdLFxyXG4gIHByb3ZpZGVyczogW1hQb3J0YWxTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFBvcnRhbE1vZHVsZSB7fVxyXG4iXX0=
@@ -1,5 +1,5 @@
1
- import { Injectable, TemplateRef } from '@angular/core';
2
- import { TemplatePortal, ComponentPortal, PortalInjector } from '@angular/cdk/portal';
1
+ import { Injectable, TemplateRef, Injector } from '@angular/core';
2
+ import { TemplatePortal, ComponentPortal } from '@angular/cdk/portal';
3
3
  import { XPortalPlacement } from './portal.property';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/cdk/overlay";
@@ -26,24 +26,23 @@ export class XPortalService {
26
26
  }
27
27
  return portal;
28
28
  }
29
- createInjector(data, token) {
30
- const injectorTokens = new WeakMap();
31
- injectorTokens.set(token, data);
32
- return new PortalInjector(this.injector, injectorTokens);
29
+ createInjector(providers, viewContainerRef) {
30
+ const injector = viewContainerRef && viewContainerRef.injector;
31
+ return Injector.create({ parent: injector || this.injector, providers });
33
32
  }
34
33
  setPlacement(param) {
35
34
  if (!param) {
36
35
  return this.overlay.position().global().centerHorizontally().centerVertically();
37
36
  }
38
37
  else {
39
- return this.overlay
38
+ return (this.overlay
40
39
  .position()
41
40
  .flexibleConnectedTo(param.elementRef)
42
41
  // .withLockedPosition(true)
43
42
  .withFlexibleDimensions(false)
44
43
  .withPush(false)
45
44
  .withPositions(this.setConnectedPosition(...param.placement))
46
- .withTransformOriginOn(param.transformOriginOn);
45
+ .withTransformOriginOn(param.transformOriginOn));
47
46
  }
48
47
  }
49
48
  setPosition(position, width, height) {
@@ -100,9 +99,9 @@ export class XPortalService {
100
99
  return result;
101
100
  }
102
101
  }
103
- /** @nocollapse */ XPortalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPortalService, deps: [{ token: i1.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
104
- /** @nocollapse */ XPortalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPortalService });
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XPortalService, decorators: [{
102
+ /** @nocollapse */ XPortalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPortalService, deps: [{ token: i1.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
103
+ /** @nocollapse */ XPortalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPortalService });
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPortalService, decorators: [{
106
105
  type: Injectable
107
106
  }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.Injector }]; } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9wb3J0YWwvcG9ydGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQXdDLE1BQU0sZUFBZSxDQUFDO0FBRTlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RGLE9BQU8sRUFBc0MsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBR3pGOztHQUVHO0FBRUgsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBbUIsT0FBZ0IsRUFBUyxRQUFrQjtRQUEzQyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7SUFFbEUsTUFBTSxDQUFJLE1BQXVCO1FBQy9CLElBQUksTUFBTSxHQUF5QixFQUFFLENBQUM7UUFDdEMsSUFBSSxPQUFPLE1BQU0sQ0FBQyxPQUFPLEtBQUssV0FBVztZQUFFLE9BQU8sTUFBTSxDQUFDO1FBQ3pELE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELElBQUksTUFBTSxDQUFDLE9BQU8sWUFBWSxXQUFXLElBQUksTUFBTSxDQUFDLGdCQUFnQixFQUFFO1lBQ3BFLE1BQU0sQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BHLE1BQU0sQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzFFO2FBQU07WUFDTCxNQUFNLENBQUMsZUFBZSxHQUFHLElB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QUFFLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUN6RDtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUF1QjtRQUN0QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBRyxTQUFrQztRQUN4RCxJQUFJLE1BQU0sR0FBd0IsRUFBRSxDQUFDO1FBQ3JDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUEwQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzs4SEFsR1UsY0FBYztrSUFBZCxjQUFjOzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiwgSW5qZWN0b3IsIEluamVjdGlvblRva2VuLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYsIFBvc2l0aW9uU3RyYXRlZ3ksIENvbm5lY3RlZFBvc2l0aW9uLCBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCwgQ29tcG9uZW50UG9ydGFsLCBQb3J0YWxJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBYUG9ydGFsUHJvcGVydHksIFhQb3J0YWxPdmVybGF5UmVmLCBYUG9ydGFsUGxhY2VtZW50IH0gZnJvbSAnLi9wb3J0YWwucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYUGxhY2VtZW50LCBYUG9zaXRpb24sIFhQbGFjZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIOWKqOaAgeWIm+W7uuinhuWbvuacjeWKoVxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgWFBvcnRhbFNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBvdmVybGF5OiBPdmVybGF5LCBwdWJsaWMgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxyXG5cclxuICBhdHRhY2g8VD4ob3B0aW9uOiBYUG9ydGFsUHJvcGVydHkpOiBYUG9ydGFsT3ZlcmxheVJlZjxUPiB7XHJcbiAgICBsZXQgcG9ydGFsOiBYUG9ydGFsT3ZlcmxheVJlZjxUPiA9IHt9O1xyXG4gICAgaWYgKHR5cGVvZiBvcHRpb24uY29udGVudCA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiBwb3J0YWw7XHJcbiAgICBwb3J0YWwub3ZlcmxheVJlZiA9IHRoaXMuY3JlYXRlT3ZlcmxheVJlZihvcHRpb24pO1xyXG4gICAgaWYgKG9wdGlvbi5jb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYgJiYgb3B0aW9uLnZpZXdDb250YWluZXJSZWYpIHtcclxuICAgICAgcG9ydGFsLnRlbXBsYXRlUG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKG9wdGlvbi5jb250ZW50LCBvcHRpb24udmlld0NvbnRhaW5lclJlZiwgb3B0aW9uLmNvbnRleHQpO1xyXG4gICAgICBwb3J0YWwuZW1iZWRkZWRWaWV3UmVmID0gcG9ydGFsLm92ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbC50ZW1wbGF0ZVBvcnRhbCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBwb3J0YWwuY29tcG9uZW50UG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChcclxuICAgICAgICBvcHRpb24uY29udGVudCBhcyBDb21wb25lbnRUeXBlPGFueT4sXHJcbiAgICAgICAgb3B0aW9uLnZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgb3B0aW9uLmluamVjdG9yLFxyXG4gICAgICAgIG9wdGlvbi5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcclxuICAgICAgKTtcclxuICAgICAgcG9ydGFsLmNvbXBvbmVudFJlZiA9IHBvcnRhbC5vdmVybGF5UmVmLmF0dGFjaChwb3J0YWwuY29tcG9uZW50UG9ydGFsKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcG9ydGFsO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlSW5qZWN0b3IoZGF0YTogYW55LCB0b2tlbjogSW5qZWN0aW9uVG9rZW48YW55Pik6IFBvcnRhbEluamVjdG9yIHtcclxuICAgIGNvbnN0IGluamVjdG9yVG9rZW5zID0gbmV3IFdlYWtNYXAoKTtcclxuICAgIGluamVjdG9yVG9rZW5zLnNldCh0b2tlbiwgZGF0YSk7XHJcbiAgICByZXR1cm4gbmV3IFBvcnRhbEluamVjdG9yKHRoaXMuaW5qZWN0b3IsIGluamVjdG9yVG9rZW5zKTtcclxuICB9XHJcblxyXG4gIHNldFBsYWNlbWVudChwYXJhbT86IHsgZWxlbWVudFJlZj86IEVsZW1lbnRSZWY7IHBsYWNlbWVudD86IFhQbGFjZVtdIHwgWFBsYWNlbWVudFtdOyB0cmFuc2Zvcm1PcmlnaW5Pbj86IHN0cmluZyB9KTogUG9zaXRpb25TdHJhdGVneSB7XHJcbiAgICBpZiAoIXBhcmFtKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5jZW50ZXJIb3Jpem9udGFsbHkoKS5jZW50ZXJWZXJ0aWNhbGx5KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5vdmVybGF5XHJcbiAgICAgICAgLnBvc2l0aW9uKClcclxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhwYXJhbS5lbGVtZW50UmVmISlcclxuICAgICAgICAvLyAud2l0aExvY2tlZFBvc2l0aW9uKHRydWUpXHJcbiAgICAgICAgLndpdGhGbGV4aWJsZURpbWVuc2lvbnMoZmFsc2UpXHJcbiAgICAgICAgLndpdGhQdXNoKGZhbHNlKVxyXG4gICAgICAgIC53aXRoUG9zaXRpb25zKHRoaXMuc2V0Q29ubmVjdGVkUG9zaXRpb24oLi4ucGFyYW0ucGxhY2VtZW50KSlcclxuICAgICAgICAud2l0aFRyYW5zZm9ybU9yaWdpbk9uKHBhcmFtLnRyYW5zZm9ybU9yaWdpbk9uISk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRQb3NpdGlvbihwb3NpdGlvbj86IFhQb3NpdGlvbiwgd2lkdGg/OiBzdHJpbmcsIGhlaWdodD86IHN0cmluZyk6IFBvc2l0aW9uU3RyYXRlZ3kge1xyXG4gICAgbGV0IHJlc3VsdCA9IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLndpZHRoKHdpZHRoKS5oZWlnaHQoaGVpZ2h0KTtcclxuICAgIHN3aXRjaCAocG9zaXRpb24pIHtcclxuICAgICAgY2FzZSAnbGVmdCc6XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5sZWZ0KCk7XHJcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcclxuICAgICAgICByZXR1cm4gcmVzdWx0LnJpZ2h0KCk7XHJcbiAgICAgIGNhc2UgJ3RvcCc6XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC50b3AoKTtcclxuICAgICAgY2FzZSAnYm90dG9tJzpcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gcmVzdWx0LmJvdHRvbSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0UGxhY2UocGxhY2U/OiBYUGxhY2UsIHdpZHRoPzogc3RyaW5nLCBoZWlnaHQ/OiBzdHJpbmcsIC4uLm9mZnNldDogc3RyaW5nW10pOiBQb3NpdGlvblN0cmF0ZWd5IHtcclxuICAgIGxldCByZXN1bHQgPSB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS53aWR0aCh3aWR0aCkuaGVpZ2h0KGhlaWdodCk7XHJcbiAgICBpZiAob2Zmc2V0Lmxlbmd0aCA9PT0gMCkgb2Zmc2V0ID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogNCB9KS5tYXAoKCkgPT4gYDBgKTtcclxuICAgIGVsc2UgaWYgKG9mZnNldC5sZW5ndGggPCA0KSB7XHJcbiAgICAgIEFycmF5LmZyb20oeyBsZW5ndGg6IDQgLSBvZmZzZXQubGVuZ3RoIH0pLm1hcCgoKSA9PiAob2Zmc2V0ID0gWy4uLm9mZnNldCwgb2Zmc2V0W29mZnNldC5sZW5ndGggLSAxXV0pKTtcclxuICAgIH1cclxuICAgIGxldCBbdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0XSA9IG9mZnNldDtcclxuICAgIHN3aXRjaCAocGxhY2UpIHtcclxuICAgICAgY2FzZSAndG9wLXN0YXJ0JzpcclxuICAgICAgICByZXR1cm4gcmVzdWx0LnRvcCh0b3ApLmxlZnQocmlnaHQpO1xyXG4gICAgICBjYXNlICd0b3AnOlxyXG4gICAgICAgIHJldHVybiByZXN1bHQuY2VudGVySG9yaXpvbnRhbGx5KCkudG9wKHRvcCk7XHJcbiAgICAgIGNhc2UgJ3RvcC1lbmQnOlxyXG4gICAgICAgIHJldHVybiByZXN1bHQudG9wKGJvdHRvbSkucmlnaHQobGVmdCk7XHJcbiAgICAgIGNhc2UgJ2xlZnQnOlxyXG4gICAgICAgIHJldHVybiByZXN1bHQuY2VudGVyVmVydGljYWxseSgpLmxlZnQobGVmdCk7XHJcbiAgICAgIGNhc2UgJ2NlbnRlcic6XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5jZW50ZXJWZXJ0aWNhbGx5KCkuY2VudGVySG9yaXpvbnRhbGx5KCk7XHJcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcclxuICAgICAgICByZXR1cm4gcmVzdWx0LmNlbnRlclZlcnRpY2FsbHkoKS5yaWdodChyaWdodCk7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbS1zdGFydCc6XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5ib3R0b20oYm90dG9tKS5sZWZ0KGxlZnQpO1xyXG4gICAgICBjYXNlICdib3R0b20nOlxyXG4gICAgICAgIHJldHVybiByZXN1bHQuY2VudGVySG9yaXpvbnRhbGx5KCkuYm90dG9tKGJvdHRvbSk7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbS1lbmQnOlxyXG4gICAgICAgIHJldHVybiByZXN1bHQuYm90dG9tKGJvdHRvbSkucmlnaHQocmlnaHQpO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiByZXN1bHQuY2VudGVyVmVydGljYWxseSgpLmNlbnRlckhvcml6b250YWxseSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY3JlYXRlT3ZlcmxheVJlZihvcHRpb246IFhQb3J0YWxQcm9wZXJ0eSk6IE92ZXJsYXlSZWYge1xyXG4gICAgcmV0dXJuIHRoaXMub3ZlcmxheS5jcmVhdGUob3B0aW9uLm92ZXJsYXlDb25maWcpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29ubmVjdGVkUG9zaXRpb24oLi4ucGxhY2VtZW50OiBYUGxhY2VbXSB8IFhQbGFjZW1lbnRbXSk6IENvbm5lY3RlZFBvc2l0aW9uW10ge1xyXG4gICAgbGV0IHJlc3VsdDogQ29ubmVjdGVkUG9zaXRpb25bXSA9IFtdO1xyXG4gICAgcGxhY2VtZW50LmZvckVhY2goKHBsYWNlOiBYUGxhY2UgfCBYUGxhY2VtZW50KSA9PiByZXN1bHQucHVzaChYUG9ydGFsUGxhY2VtZW50W3BsYWNlXSkpO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbn1cclxuIl19
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9wb3J0YWwvcG9ydGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFnRCxNQUFNLGVBQWUsQ0FBQztBQUVoSCxPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBc0MsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBR3pGOztHQUVHO0FBRUgsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBbUIsT0FBZ0IsRUFBUyxRQUFrQjtRQUEzQyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7SUFFbEUsTUFBTSxDQUFJLE1BQXVCO1FBQy9CLElBQUksTUFBTSxHQUF5QixFQUFFLENBQUM7UUFDdEMsSUFBSSxPQUFPLE1BQU0sQ0FBQyxPQUFPLEtBQUssV0FBVztZQUFFLE9BQU8sTUFBTSxDQUFDO1FBQ3pELE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELElBQUksTUFBTSxDQUFDLE9BQU8sWUFBWSxXQUFXLElBQUksTUFBTSxDQUFDLGdCQUFnQixFQUFFO1lBQ3BFLE1BQU0sQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BHLE1BQU0sQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzFFO2FBQU07WUFDTCxNQUFNLENBQUMsZUFBZSxHQUFHLElB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LGdCQUFnQixFQUFFLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUN6RDtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUF1QjtRQUN0QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBRyxTQUFrQztRQUN4RCxJQUFJLE1BQU0sR0FBd0IsRUFBRSxDQUFDO1FBQ3JDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUEwQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzs4SEFuR1UsY0FBYztrSUFBZCxjQUFjOzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiwgSW5qZWN0b3IsIEVsZW1lbnRSZWYsIFZpZXdDb250YWluZXJSZWYsIFN0YXRpY1Byb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYsIFBvc2l0aW9uU3RyYXRlZ3ksIENvbm5lY3RlZFBvc2l0aW9uLCBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCwgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IFhQb3J0YWxQcm9wZXJ0eSwgWFBvcnRhbE92ZXJsYXlSZWYsIFhQb3J0YWxQbGFjZW1lbnQgfSBmcm9tICcuL3BvcnRhbC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhQbGFjZW1lbnQsIFhQb3NpdGlvbiwgWFBsYWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcblxyXG4vKipcclxuICog5Yqo5oCB5Yib5bu66KeG5Zu+5pyN5YqhXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBYUG9ydGFsU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIG92ZXJsYXk6IE92ZXJsYXksIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHt9XHJcblxyXG4gIGF0dGFjaDxUPihvcHRpb246IFhQb3J0YWxQcm9wZXJ0eSk6IFhQb3J0YWxPdmVybGF5UmVmPFQ+IHtcclxuICAgIGxldCBwb3J0YWw6IFhQb3J0YWxPdmVybGF5UmVmPFQ+ID0ge307XHJcbiAgICBpZiAodHlwZW9mIG9wdGlvbi5jb250ZW50ID09PSAndW5kZWZpbmVkJykgcmV0dXJuIHBvcnRhbDtcclxuICAgIHBvcnRhbC5vdmVybGF5UmVmID0gdGhpcy5jcmVhdGVPdmVybGF5UmVmKG9wdGlvbik7XHJcbiAgICBpZiAob3B0aW9uLmNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZiAmJiBvcHRpb24udmlld0NvbnRhaW5lclJlZikge1xyXG4gICAgICBwb3J0YWwudGVtcGxhdGVQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwob3B0aW9uLmNvbnRlbnQsIG9wdGlvbi52aWV3Q29udGFpbmVyUmVmLCBvcHRpb24uY29udGV4dCk7XHJcbiAgICAgIHBvcnRhbC5lbWJlZGRlZFZpZXdSZWYgPSBwb3J0YWwub3ZlcmxheVJlZi5hdHRhY2gocG9ydGFsLnRlbXBsYXRlUG9ydGFsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHBvcnRhbC5jb21wb25lbnRQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFxyXG4gICAgICAgIG9wdGlvbi5jb250ZW50IGFzIENvbXBvbmVudFR5cGU8YW55PixcclxuICAgICAgICBvcHRpb24udmlld0NvbnRhaW5lclJlZixcclxuICAgICAgICBvcHRpb24uaW5qZWN0b3IsXHJcbiAgICAgICAgb3B0aW9uLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxyXG4gICAgICApO1xyXG4gICAgICBwb3J0YWwuY29tcG9uZW50UmVmID0gcG9ydGFsLm92ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbC5jb21wb25lbnRQb3J0YWwpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBwb3J0YWw7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVJbmplY3Rvcihwcm92aWRlcnM6IFN0YXRpY1Byb3ZpZGVyW10sIHZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmKSB7XHJcbiAgICBjb25zdCBpbmplY3RvciA9IHZpZXdDb250YWluZXJSZWYgJiYgdmlld0NvbnRhaW5lclJlZi5pbmplY3RvcjtcclxuICAgIHJldHVybiBJbmplY3Rvci5jcmVhdGUoeyBwYXJlbnQ6IGluamVjdG9yIHx8IHRoaXMuaW5qZWN0b3IsIHByb3ZpZGVycyB9KTtcclxuICB9XHJcblxyXG4gIHNldFBsYWNlbWVudChwYXJhbT86IHsgZWxlbWVudFJlZj86IEVsZW1lbnRSZWY7IHBsYWNlbWVudD86IFhQbGFjZVtdIHwgWFBsYWNlbWVudFtdOyB0cmFuc2Zvcm1PcmlnaW5Pbj86IHN0cmluZyB9KTogUG9zaXRpb25TdHJhdGVneSB7XHJcbiAgICBpZiAoIXBhcmFtKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5jZW50ZXJIb3Jpem9udGFsbHkoKS5jZW50ZXJWZXJ0aWNhbGx5KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIHRoaXMub3ZlcmxheVxyXG4gICAgICAgICAgLnBvc2l0aW9uKClcclxuICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHBhcmFtLmVsZW1lbnRSZWYhKVxyXG4gICAgICAgICAgLy8gLndpdGhMb2NrZWRQb3NpdGlvbih0cnVlKVxyXG4gICAgICAgICAgLndpdGhGbGV4aWJsZURpbWVuc2lvbnMoZmFsc2UpXHJcbiAgICAgICAgICAud2l0aFB1c2goZmFsc2UpXHJcbiAgICAgICAgICAud2l0aFBvc2l0aW9ucyh0aGlzLnNldENvbm5lY3RlZFBvc2l0aW9uKC4uLnBhcmFtLnBsYWNlbWVudCkpXHJcbiAgICAgICAgICAud2l0aFRyYW5zZm9ybU9yaWdpbk9uKHBhcmFtLnRyYW5zZm9ybU9yaWdpbk9uISlcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFBvc2l0aW9uKHBvc2l0aW9uPzogWFBvc2l0aW9uLCB3aWR0aD86IHN0cmluZywgaGVpZ2h0Pzogc3RyaW5nKTogUG9zaXRpb25TdHJhdGVneSB7XHJcbiAgICBsZXQgcmVzdWx0ID0gdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkud2lkdGgod2lkdGgpLmhlaWdodChoZWlnaHQpO1xyXG4gICAgc3dpdGNoIChwb3NpdGlvbikge1xyXG4gICAgICBjYXNlICdsZWZ0JzpcclxuICAgICAgICByZXR1cm4gcmVzdWx0LmxlZnQoKTtcclxuICAgICAgY2FzZSAncmlnaHQnOlxyXG4gICAgICAgIHJldHVybiByZXN1bHQucmlnaHQoKTtcclxuICAgICAgY2FzZSAndG9wJzpcclxuICAgICAgICByZXR1cm4gcmVzdWx0LnRvcCgpO1xyXG4gICAgICBjYXNlICdib3R0b20nOlxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiByZXN1bHQuYm90dG9tKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRQbGFjZShwbGFjZT86IFhQbGFjZSwgd2lkdGg/OiBzdHJpbmcsIGhlaWdodD86IHN0cmluZywgLi4ub2Zmc2V0OiBzdHJpbmdbXSk6IFBvc2l0aW9uU3RyYXRlZ3kge1xyXG4gICAgbGV0IHJlc3VsdCA9IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLndpZHRoKHdpZHRoKS5oZWlnaHQoaGVpZ2h0KTtcclxuICAgIGlmIChvZmZzZXQubGVuZ3RoID09PSAwKSBvZmZzZXQgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiA0IH0pLm1hcCgoKSA9PiBgMGApO1xyXG4gICAgZWxzZSBpZiAob2Zmc2V0Lmxlbmd0aCA8IDQpIHtcclxuICAgICAgQXJyYXkuZnJvbSh7IGxlbmd0aDogNCAtIG9mZnNldC5sZW5ndGggfSkubWFwKCgpID0+IChvZmZzZXQgPSBbLi4ub2Zmc2V0LCBvZmZzZXRbb2Zmc2V0Lmxlbmd0aCAtIDFdXSkpO1xyXG4gICAgfVxyXG4gICAgbGV0IFt0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnRdID0gb2Zmc2V0O1xyXG4gICAgc3dpdGNoIChwbGFjZSkge1xyXG4gICAgICBjYXNlICd0b3Atc3RhcnQnOlxyXG4gICAgICAgIHJldHVybiByZXN1bHQudG9wKHRvcCkubGVmdChyaWdodCk7XHJcbiAgICAgIGNhc2UgJ3RvcCc6XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5jZW50ZXJIb3Jpem9udGFsbHkoKS50b3AodG9wKTtcclxuICAgICAgY2FzZSAndG9wLWVuZCc6XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC50b3AoYm90dG9tKS5yaWdodChsZWZ0KTtcclxuICAgICAgY2FzZSAnbGVmdCc6XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5jZW50ZXJWZXJ0aWNhbGx5KCkubGVmdChsZWZ0KTtcclxuICAgICAgY2FzZSAnY2VudGVyJzpcclxuICAgICAgICByZXR1cm4gcmVzdWx0LmNlbnRlclZlcnRpY2FsbHkoKS5jZW50ZXJIb3Jpem9udGFsbHkoKTtcclxuICAgICAgY2FzZSAncmlnaHQnOlxyXG4gICAgICAgIHJldHVybiByZXN1bHQuY2VudGVyVmVydGljYWxseSgpLnJpZ2h0KHJpZ2h0KTtcclxuICAgICAgY2FzZSAnYm90dG9tLXN0YXJ0JzpcclxuICAgICAgICByZXR1cm4gcmVzdWx0LmJvdHRvbShib3R0b20pLmxlZnQobGVmdCk7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5jZW50ZXJIb3Jpem9udGFsbHkoKS5ib3R0b20oYm90dG9tKTtcclxuICAgICAgY2FzZSAnYm90dG9tLWVuZCc6XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5ib3R0b20oYm90dG9tKS5yaWdodChyaWdodCk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5jZW50ZXJWZXJ0aWNhbGx5KCkuY2VudGVySG9yaXpvbnRhbGx5KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjcmVhdGVPdmVybGF5UmVmKG9wdGlvbjogWFBvcnRhbFByb3BlcnR5KTogT3ZlcmxheVJlZiB7XHJcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5LmNyZWF0ZShvcHRpb24ub3ZlcmxheUNvbmZpZyk7XHJcbiAgfVxyXG5cclxuICBzZXRDb25uZWN0ZWRQb3NpdGlvbiguLi5wbGFjZW1lbnQ6IFhQbGFjZVtdIHwgWFBsYWNlbWVudFtdKTogQ29ubmVjdGVkUG9zaXRpb25bXSB7XHJcbiAgICBsZXQgcmVzdWx0OiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW107XHJcbiAgICBwbGFjZW1lbnQuZm9yRWFjaCgocGxhY2U6IFhQbGFjZSB8IFhQbGFjZW1lbnQpID0+IHJlc3VsdC5wdXNoKFhQb3J0YWxQbGFjZW1lbnRbcGxhY2VdKSk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,6 +1,7 @@
1
+ import { __rest } from "tslib";
1
2
  import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
2
3
  import { XProgressPrefix, XProgressProperty } from './progress.property';
3
- import { XIsFunction, XIsString, XIsObjectArray, XIsEmpty, XIsChange } from '@ng-nest/ui/core';
4
+ import { XIsFunction, XIsString, XIsObjectArray, XIsEmpty, XIsChange, XIsNumber } from '@ng-nest/ui/core';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@ng-nest/ui/core";
6
7
  import * as i2 from "@ng-nest/ui/icon";
@@ -12,29 +13,42 @@ export class XProgressComponent extends XProgressProperty {
12
13
  this.elementRef = elementRef;
13
14
  this.cdr = cdr;
14
15
  this.configService = configService;
16
+ this.stepsArray = [];
17
+ }
18
+ get maskWidth() {
19
+ return XIsNumber(this.percent) ? 100 - Number(this.percent) : 100;
15
20
  }
16
- ngOnInit() { }
17
21
  ngOnChanges(simples) {
18
- XIsChange(simples.status) && this.setClassMap();
19
- XIsChange(simples.percent) && this.setColor();
22
+ const { status, percent, gradient, steps, type, notchAngle } = simples;
23
+ XIsChange(type, status) && this.setClassMap();
24
+ XIsChange(percent) && this.setColor();
25
+ XIsChange(gradient) && this.setGradient();
26
+ XIsChange(steps, percent) && this.setSteps();
27
+ XIsChange(type, percent, notchAngle) && this.setType();
20
28
  }
21
29
  setClassMap() {
22
30
  this.classMap = {
23
31
  [`${XProgressPrefix}-${this.status}`]: true,
32
+ [`${XProgressPrefix}-${this.type}`]: true,
24
33
  [`${XProgressPrefix}-inside`]: Boolean(this.inside)
25
34
  };
26
35
  }
27
36
  setColor() {
28
- if (XIsEmpty(this.color))
29
- return;
30
- if (XIsString(this.color)) {
31
- this.currentColor = this.color;
32
- }
33
- else if (XIsObjectArray(this.color)) {
34
- this.currentColor = this.getLevelColor(this.percent);
37
+ if (this.subsection) {
38
+ this.setSubLinearGradient();
35
39
  }
36
- else if (XIsFunction(this.color)) {
37
- this.currentColor = this.color(this.percent);
40
+ else {
41
+ if (XIsEmpty(this.color))
42
+ return;
43
+ if (XIsString(this.color)) {
44
+ this.currentColor = this.color;
45
+ }
46
+ else if (XIsObjectArray(this.color)) {
47
+ this.currentColor = this.getLevelColor(this.percent);
48
+ }
49
+ else if (XIsFunction(this.color)) {
50
+ this.currentColor = this.color(this.percent);
51
+ }
38
52
  }
39
53
  }
40
54
  getLevelColor(percent) {
@@ -46,13 +60,162 @@ export class XProgressComponent extends XProgressProperty {
46
60
  }
47
61
  return colors[colors.length - 1].color;
48
62
  }
63
+ setGradient() {
64
+ if (this.subsection)
65
+ return;
66
+ if (XIsEmpty(this.gradient)) {
67
+ this.linearGradient = '';
68
+ }
69
+ else {
70
+ const _a = this.gradient || {}, { from, to, direction = 'to right' } = _a, percents = __rest(_a, ["from", "to", "direction"]);
71
+ if (Object.keys(percents).length !== 0) {
72
+ this.linearGradient = `linear-gradient(${direction}, ${this.sortGradient(percents).map(({ key, value }) => `${value} ${key}%`)})`;
73
+ return;
74
+ }
75
+ this.linearGradient = `linear-gradient(${direction}, ${from}, ${to})`;
76
+ }
77
+ }
78
+ sortGradient(percents) {
79
+ let arr = [];
80
+ Object.keys(percents).forEach((key) => {
81
+ const value = percents[key];
82
+ const numKey = +key.replace('%', '');
83
+ if (!isNaN(numKey)) {
84
+ arr.push({ key: numKey, value });
85
+ }
86
+ });
87
+ return arr.sort((a, b) => a.key - b.key);
88
+ }
89
+ setSubLinearGradient() {
90
+ let colors = this.color;
91
+ if (!colors || colors.length <= 0) {
92
+ this.subLinearGradient = `linear-gradient(to right, var(--x-primary) 0%, var(--x-primary) 100%)`;
93
+ return;
94
+ }
95
+ else if (colors.length === 1) {
96
+ colors.push({ percent: 100, color: 'var(--x-primary)' });
97
+ }
98
+ colors = colors.sort((a, b) => a.percent - b.percent);
99
+ let lgs = [];
100
+ colors.reduce((a, b, index) => {
101
+ if (index === 1 && a.percent > 0) {
102
+ lgs.push(`${a.color} 0%, ${a.color} ${a.percent}%`);
103
+ }
104
+ lgs.push(`${b.color} ${a.percent}%, ${b.color} ${b.percent}%`);
105
+ if (index === colors.length - 1 && b.percent < 100) {
106
+ lgs.push(`var(--x-primary) ${b.percent}%, var(--x-primary) 100%`);
107
+ }
108
+ return b;
109
+ });
110
+ this.subLinearGradient = `linear-gradient(to right,${lgs.join(',')})`;
111
+ }
112
+ setSteps() {
113
+ if (XIsEmpty(this.steps)) {
114
+ this.stepsArray = [];
115
+ }
116
+ else {
117
+ const critical = Math.ceil((Number(this.percent) / 100) * this.steps);
118
+ this.stepsArray = Array.from({ length: this.steps }).map((_, index) => index + 1 <= critical);
119
+ }
120
+ }
121
+ setType() {
122
+ if (this.type === 'circle') {
123
+ this.setCircleClipPath();
124
+ }
125
+ else if (this.type === 'dashboard') {
126
+ this.setDashboardClipPath();
127
+ }
128
+ }
129
+ /**
130
+ * circle �е� 100% ���� clip-path �е� 400%
131
+ */
132
+ setCircleClipPath() {
133
+ let value = Number(this.percent) * 4;
134
+ let k1 = 'polygon(50% 50%,50% 0%,';
135
+ let k2 = k1 + '100% 0%,';
136
+ let k3 = k2 + '100% 100%,';
137
+ let k4 = k3 + '0% 100%,';
138
+ let k5 = k4 + '0% 0%,';
139
+ if (value <= 50) {
140
+ value += 50;
141
+ this.circleClipPath = `${k1}${value}% 0%)`;
142
+ }
143
+ else if (value > 50 && value <= 150) {
144
+ value -= 50;
145
+ this.circleClipPath = `${k2}100% ${value}%)`;
146
+ }
147
+ else if (value > 150 && value <= 250) {
148
+ value = 250 - value;
149
+ this.circleClipPath = `${k3}${value}% 100%)`;
150
+ }
151
+ else if (value > 250 && value <= 350) {
152
+ value = 350 - value;
153
+ this.circleClipPath = `${k4}0% ${value}%)`;
154
+ }
155
+ else if (value > 350 && value <= 400) {
156
+ value -= 350;
157
+ this.circleClipPath = `${k5}${value}% 0%)`;
158
+ }
159
+ }
160
+ /**
161
+ *
162
+ * 90 polygon(50% 50%, 0% 100%, 0% 0%, 100% 0%, 100% 100%);
163
+ * 180 polygon(50% 50%, 0% 50%, 0% 0%, 100% 0%, 100% 50%);
164
+ * 270 polygon(50% 50%, 0% 0%, 100% 0%);
165
+ */
166
+ setDashboardClipPath() {
167
+ let railValue = (Number(this.notchAngle) / 360) * 50 * 4;
168
+ let k1 = `polygon(50% 50%,`;
169
+ let start = '';
170
+ let per = 0;
171
+ if (railValue <= 50) {
172
+ per = 50 - railValue;
173
+ start = `${k1} ${per}% 100%`;
174
+ this.dashboardRailClipPath = `${start}, 0% 100%, 0% 0%, 100% 0%, 100% 100%, ${100 - per}% 100%)`;
175
+ }
176
+ else if (railValue > 50 && railValue <= 150) {
177
+ per = 150 - railValue;
178
+ start = `${k1} 0% ${per}%`;
179
+ this.dashboardRailClipPath = `${start}, 0% 0%, 100% 0%, 100% ${per}%)`;
180
+ }
181
+ else if (railValue > 150 && railValue <= 250) {
182
+ per = railValue - 150;
183
+ start = `${k1} ${per}% 0%`;
184
+ this.dashboardRailClipPath = `${start}, ${100 - per}% 0%)`;
185
+ }
186
+ this.setCircleClipPathValue(start, railValue);
187
+ }
188
+ setCircleClipPathValue(start, railValue) {
189
+ let value = ((400 - railValue * 2) / 100) * Number(this.percent);
190
+ let val = value + railValue;
191
+ if (val <= 50) {
192
+ val = 50 - val;
193
+ this.dashboardClipPath = `${start}, ${val}% 100%)`;
194
+ }
195
+ else if (val > 50 && val <= 150) {
196
+ val = 150 - val;
197
+ this.dashboardClipPath = `${start}, 0% 100%, 0% ${val}%)`;
198
+ }
199
+ else if (val > 150 && val <= 250) {
200
+ val = val - 150;
201
+ this.dashboardClipPath = `${start}, 0% 100%, 0% 0%, ${val}% 0%)`;
202
+ }
203
+ else if (val > 250 && val <= 350) {
204
+ val = val - 250;
205
+ this.dashboardClipPath = `${start}, 0% 100%, 0% 0%, 100% 0%, 100% ${val}%)`;
206
+ }
207
+ else if (val > 350 && val <= 400) {
208
+ val = 100 - (val - 350);
209
+ this.dashboardClipPath = `${start}, 0% 100%, 0% 0%, 100% 0%, 100% 100%, ${val}% 100%)`;
210
+ }
211
+ }
49
212
  onFormat(percent) {
50
213
  return this.format && this.format(percent);
51
214
  }
52
215
  }
53
- /** @nocollapse */ XProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XProgressComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
54
- /** @nocollapse */ XProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.3", type: XProgressComponent, selector: "x-progress", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-progress\" [ngClass]=\"classMap\">\r\n <div class=\"x-progress-track\">\r\n <div class=\"x-progress-rail\">\r\n <div\r\n class=\"x-progress-bg\"\r\n [style.width.%]=\"percent\"\r\n [style.background-color]=\"currentColor\"\r\n [style.height]=\"height\"\r\n [style.line-height]=\"height\"\r\n >\r\n <span *ngIf=\"inside\">{{ percent }}%</span>\r\n </div>\r\n </div>\r\n </div>\r\n <span class=\"x-progress-text\" *ngIf=\"info && !inside\" [ngSwitch]=\"status\">\r\n <ng-container *ngSwitchCase=\"'success'\">\r\n <x-icon type=\"fto-check-circle\"></x-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'exception'\">\r\n <x-icon type=\"fto-x-circle\"></x-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'warning'\">\r\n <x-icon type=\"fto-help-circle\"></x-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngIf=\"format; else defaultTemp\">{{ onFormat(percent) }}</ng-container>\r\n <ng-template #defaultTemp>{{ percent }}%</ng-template>\r\n </ng-container>\r\n </span>\r\n</div>\r\n", styles: ["@keyframes x-progress-active{0%{width:0;opacity:.1}20%{width:0;opacity:.5}to{width:100%;opacity:0}}x-progress{display:flex;align-items:center}.x-progress{margin:0;padding:0}.x-progress,.x-progress-track{display:inline-flex;align-items:center;width:100%}.x-progress-rail{display:inline-block;width:100%;overflow:hidden;vertical-align:middle;background-color:var(--x-border-100)}.x-progress-bg,.x-progress-rail{position:relative;border-radius:var(--x-border-radius)}.x-progress-bg{background-color:var(--x-primary);transition:all .3s cubic-bezier(.08,.82,.17,1) 0s;text-align:right;color:#fff}.x-progress-bg>span{margin:0 .325rem}.x-progress-text{margin-left:.5rem;display:inline-flex;align-items:center;white-space:nowrap}.x-progress-active .x-progress-bg:before{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--x-background-100);border-radius:var(--x-border-radius);opacity:0;animation:x-progress-active 2s cubic-bezier(.23,1,.32,1) infinite;content:\"\"}.x-progress-exception .x-progress-text{color:var(--x-danger)}.x-progress-exception .x-progress-bg{background-color:var(--x-danger)}.x-progress-success .x-progress-text{color:var(--x-success)}.x-progress-success .x-progress-bg{background-color:var(--x-success)}.x-progress-warning .x-progress-text{color:var(--x-warning)}.x-progress-warning .x-progress-bg{background-color:var(--x-warning)}"], components: [{ type: i2.XIconComponent, selector: "x-icon" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImport: i0, type: XProgressComponent, decorators: [{
216
+ /** @nocollapse */ XProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XProgressComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
217
+ /** @nocollapse */ XProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XProgressComponent, selector: "x-progress", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"x-progress\"\r\n [ngClass]=\"classMap\"\r\n [class.x-progress-steps]=\"stepsArray.length > 0\"\r\n [class.x-progress-steps-flex]=\"stepFlex\"\r\n [ngSwitch]=\"type\"\r\n>\r\n <ng-container *ngSwitchCase=\"'circle'\">\r\n <ng-container *ngTemplateOutlet=\"circleTpl\"> </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dashboard'\">\r\n <ng-container *ngTemplateOutlet=\"dashboardTpl\"> </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngTemplateOutlet=\"lineTpl\"> </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #lineTpl>\r\n <ng-container *ngIf=\"stepsArray.length === 0\">\r\n <ng-container *ngTemplateOutlet=\"trackTpl\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepsArray.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"stepsTpl\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"info && !inside\">\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #circleTpl>\r\n <div class=\"x-progress-ring\" [style.width]=\"size\" [style.height]=\"size\">\r\n <div class=\"x-progress-ring-rail\" [style.border-width]=\"thickness\"></div>\r\n <div\r\n class=\"x-progress-ring-bg\"\r\n [style.clip-path]=\"circleClipPath\"\r\n [style.background-color]=\"currentColor\"\r\n [style.border-width]=\"thickness\"\r\n ></div>\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #dashboardTpl>\r\n <div class=\"x-progress-ring\" [style.width]=\"size\" [style.height]=\"size\">\r\n <div class=\"x-progress-ring-rail\" [style.clip-path]=\"dashboardRailClipPath\" [style.border-width]=\"thickness\"></div>\r\n <div\r\n class=\"x-progress-ring-bg\"\r\n [style.clip-path]=\"dashboardClipPath\"\r\n [style.background-color]=\"currentColor\"\r\n [style.border-width]=\"thickness\"\r\n ></div>\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #trackTpl>\r\n <div class=\"x-progress-track\">\r\n <div class=\"x-progress-rail\" [class.x-progress-mask]=\"subsection\" [style.background-image]=\"subsection ? subLinearGradient : 'none'\">\r\n <div\r\n class=\"x-progress-bg\"\r\n [style.width.%]=\"percent\"\r\n [style.background-color]=\"currentColor\"\r\n [style.background-image]=\"linearGradient\"\r\n [style.height]=\"height\"\r\n [style.line-height]=\"height\"\r\n >\r\n <ng-container *ngIf=\"info && inside\">\r\n <ng-container *ngTemplateOutlet=\"textTpl\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <div\r\n *ngIf=\"subsection\"\r\n class=\"x-progress-bg-mask\"\r\n [style.width.%]=\"maskWidth\"\r\n [style.height]=\"height\"\r\n [style.line-height]=\"height\"\r\n ></div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #stepsTpl>\r\n <div\r\n *ngFor=\"let step of stepsArray\"\r\n class=\"x-progress-step\"\r\n [class.x-progress-step-active]=\"step\"\r\n [style.background-color]=\"currentColor\"\r\n [style.width]=\"stepWidth\"\r\n [style.flex]=\"stepFlex ? 1 : 'none'\"\r\n [style.height]=\"height\"\r\n [style.line-height]=\"height\"\r\n ></div>\r\n</ng-template>\r\n\r\n<ng-template #textTpl>\r\n <span class=\"x-progress-text\" [ngSwitch]=\"status\">\r\n <ng-container *ngSwitchCase=\"'success'\">\r\n <x-icon type=\"fto-check-circle\"></x-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'exception'\">\r\n <x-icon type=\"fto-x-circle\"></x-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'warning'\">\r\n <x-icon type=\"fto-help-circle\"></x-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngIf=\"format; else defaultTemp\">{{ onFormat(percent) }}</ng-container>\r\n <ng-template #defaultTemp>{{ percent }}%</ng-template>\r\n </ng-container>\r\n </span>\r\n</ng-template>\r\n", styles: ["@keyframes x-progress-active{0%{width:0;opacity:.1}20%{width:0;opacity:.5}to{width:100%;opacity:0}}x-progress{display:initial}.x-progress{margin:0;padding:0;display:inline-flex;align-items:center;width:100%}.x-progress-track{width:100%;display:inline-flex;align-items:center}.x-progress-rail{position:relative;display:inline-flex;width:100%;overflow:hidden;vertical-align:middle;background-color:var(--x-border-100);border-radius:var(--x-border-radius)}.x-progress-bg{position:relative;background-color:var(--x-primary);transition:width .3s cubic-bezier(.08,.82,.17,1) 0s;border-radius:var(--x-border-radius);text-align:right;color:#fff}.x-progress-bg>span{margin:0 .325rem}.x-progress-circle,.x-progress-dashboard,.x-progress-steps:not(.x-progress-steps-flex){width:initial}.x-progress-ring{position:relative;display:inline-flex;align-items:center;justify-content:center}.x-progress-ring-rail{position:absolute;width:100%;height:100%;border-style:solid;border-color:var(--x-border-100);border-radius:100%}.x-progress-ring-bg{position:absolute;width:100%;height:100%;border-style:solid;border-color:var(--x-primary);border-radius:100%;transition:-webkit-clip-path .3s cubic-bezier(.08,.82,.17,1) 0s;transition:clip-path .3s cubic-bezier(.08,.82,.17,1) 0s;transition:clip-path .3s cubic-bezier(.08,.82,.17,1) 0s,-webkit-clip-path .3s cubic-bezier(.08,.82,.17,1) 0s}.x-progress-ring .x-progress-text{margin-left:0;justify-content:center;font-size:var(--x-font-size-large)}.x-progress-mask .x-progress-bg{background:transparent}.x-progress-bg-mask{transition:width .3s cubic-bezier(.08,.82,.17,1) 0s;background-color:var(--x-border-100);border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-progress-step{background-color:var(--x-border-100);border-radius:var(--x-border-radius)}.x-progress-step:not(:first-child){margin-left:.125rem}.x-progress-step-active{background-color:var(--x-primary)}.x-progress-text{margin-left:.5rem;width:3.25rem;display:inline-flex;align-items:center;white-space:nowrap}.x-progress-active .x-progress-bg:before{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--x-background-100);border-radius:var(--x-border-radius);opacity:0;animation:x-progress-active 2s cubic-bezier(.23,1,.32,1) infinite;content:\"\"}.x-progress-exception .x-progress-text{color:var(--x-danger)}.x-progress-exception .x-progress-bg,.x-progress-exception .x-progress-step-active{background-color:var(--x-danger)}.x-progress-exception .x-progress-ring-bg{border-color:var(--x-danger)}.x-progress-success .x-progress-text{color:var(--x-success)}.x-progress-success .x-progress-bg,.x-progress-success .x-progress-step-active{background-color:var(--x-success)}.x-progress-success .x-progress-ring-bg{border-color:var(--x-success)}.x-progress-warning .x-progress-text{color:var(--x-warning)}.x-progress-warning .x-progress-bg,.x-progress-warning .x-progress-step-active{background-color:var(--x-warning)}.x-progress-warning .x-progress-ring-bg{border-color:var(--x-warning)}\n"], components: [{ type: i2.XIconComponent, selector: "x-icon" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XProgressComponent, decorators: [{
56
219
  type: Component,
57
220
  args: [{
58
221
  selector: `${XProgressPrefix}`,
@@ -62,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
62
225
  changeDetection: ChangeDetectionStrategy.OnPush
63
226
  }]
64
227
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvcHJvZ3Jlc3MvcHJvZ3Jlc3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvcHJvZ3Jlc3MvcHJvZ3Jlc3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBR3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBMkIsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7QUFTeEgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGlCQUFpQjtJQUd2RCxZQUNTLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ3RCLEdBQXNCLEVBQ3RCLGFBQTZCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBTEQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtJQUd0QyxDQUFDO0lBRUQsUUFBUSxLQUFJLENBQUM7SUFFYixXQUFXLENBQUMsT0FBc0I7UUFDaEMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEQsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxHQUFHO1lBQ2QsQ0FBQyxHQUFHLGVBQWUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJO1lBQzNDLENBQUMsR0FBRyxlQUFlLFNBQVMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ3BELENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPO1FBQ2pDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFlLENBQUM7U0FDMUM7YUFBTSxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN0RDthQUFNLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsQyxJQUFJLENBQUMsWUFBWSxHQUFJLElBQUksQ0FBQyxLQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsT0FBZ0I7UUFDNUIsSUFBSSxNQUFNLEdBQUksSUFBSSxDQUFDLEtBQThDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEcsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDdEMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDdkMsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2FBQ3hCO1NBQ0Y7UUFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN6QyxDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQWdCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7O2tJQWpEVSxrQkFBa0I7c0hBQWxCLGtCQUFrQiw4RkNyQi9CLGdwQ0E4QkE7MkZEVGEsa0JBQWtCO2tCQVA5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxHQUFHLGVBQWUsRUFBRTtvQkFDOUIsV0FBVyxFQUFFLDJCQUEyQjtvQkFDeEMsU0FBUyxFQUFFLENBQUMsMkJBQTJCLENBQUM7b0JBQ3hDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkNoYW5nZXNcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFByb2dyZXNzUHJlZml4LCBYUHJvZ3Jlc3NQcm9wZXJ0eSB9IGZyb20gJy4vcHJvZ3Jlc3MucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYSXNGdW5jdGlvbiwgWElzU3RyaW5nLCBYSXNPYmplY3RBcnJheSwgWElzRW1wdHksIFhJc0NoYW5nZSwgWE51bWJlciwgWENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYUHJvZ3Jlc3NQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3Jlc3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Byb2dyZXNzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFByb2dyZXNzQ29tcG9uZW50IGV4dGVuZHMgWFByb2dyZXNzUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgY3VycmVudENvbG9yITogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge31cclxuXHJcbiAgbmdPbkNoYW5nZXMoc2ltcGxlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgWElzQ2hhbmdlKHNpbXBsZXMuc3RhdHVzKSAmJiB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgICBYSXNDaGFuZ2Uoc2ltcGxlcy5wZXJjZW50KSAmJiB0aGlzLnNldENvbG9yKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIHRoaXMuY2xhc3NNYXAgPSB7XHJcbiAgICAgIFtgJHtYUHJvZ3Jlc3NQcmVmaXh9LSR7dGhpcy5zdGF0dXN9YF06IHRydWUsXHJcbiAgICAgIFtgJHtYUHJvZ3Jlc3NQcmVmaXh9LWluc2lkZWBdOiBCb29sZWFuKHRoaXMuaW5zaWRlKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNldENvbG9yKCkge1xyXG4gICAgaWYgKFhJc0VtcHR5KHRoaXMuY29sb3IpKSByZXR1cm47XHJcbiAgICBpZiAoWElzU3RyaW5nKHRoaXMuY29sb3IpKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudENvbG9yID0gdGhpcy5jb2xvciBhcyBzdHJpbmc7XHJcbiAgICB9IGVsc2UgaWYgKFhJc09iamVjdEFycmF5KHRoaXMuY29sb3IpKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudENvbG9yID0gdGhpcy5nZXRMZXZlbENvbG9yKHRoaXMucGVyY2VudCk7XHJcbiAgICB9IGVsc2UgaWYgKFhJc0Z1bmN0aW9uKHRoaXMuY29sb3IpKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudENvbG9yID0gKHRoaXMuY29sb3IgYXMgRnVuY3Rpb24pKHRoaXMucGVyY2VudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRMZXZlbENvbG9yKHBlcmNlbnQ6IFhOdW1iZXIpIHtcclxuICAgIGxldCBjb2xvcnMgPSAodGhpcy5jb2xvciBhcyB7IGNvbG9yOiBzdHJpbmc7IHBlcmNlbnQ6IG51bWJlciB9W10pLnNvcnQoKGEsIGIpID0+IGEucGVyY2VudCAtIGIucGVyY2VudCk7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbG9ycy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoY29sb3JzW2ldLnBlcmNlbnQgPiBOdW1iZXIocGVyY2VudCkpIHtcclxuICAgICAgICByZXR1cm4gY29sb3JzW2ldLmNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29sb3JzW2NvbG9ycy5sZW5ndGggLSAxXS5jb2xvcjtcclxuICB9XHJcblxyXG4gIG9uRm9ybWF0KHBlcmNlbnQ6IFhOdW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1hdCAmJiB0aGlzLmZvcm1hdChwZXJjZW50KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIngtcHJvZ3Jlc3NcIiBbbmdDbGFzc109XCJjbGFzc01hcFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXByb2dyZXNzLXRyYWNrXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1wcm9ncmVzcy1yYWlsXCI+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cIngtcHJvZ3Jlc3MtYmdcIlxyXG4gICAgICAgIFtzdHlsZS53aWR0aC4lXT1cInBlcmNlbnRcIlxyXG4gICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImN1cnJlbnRDb2xvclwiXHJcbiAgICAgICAgW3N0eWxlLmhlaWdodF09XCJoZWlnaHRcIlxyXG4gICAgICAgIFtzdHlsZS5saW5lLWhlaWdodF09XCJoZWlnaHRcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpbnNpZGVcIj57eyBwZXJjZW50IH19JTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8c3BhbiBjbGFzcz1cIngtcHJvZ3Jlc3MtdGV4dFwiICpuZ0lmPVwiaW5mbyAmJiAhaW5zaWRlXCIgW25nU3dpdGNoXT1cInN0YXR1c1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3N1Y2Nlc3MnXCI+XHJcbiAgICAgIDx4LWljb24gdHlwZT1cImZ0by1jaGVjay1jaXJjbGVcIj48L3gtaWNvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2V4Y2VwdGlvbidcIj5cclxuICAgICAgPHgtaWNvbiB0eXBlPVwiZnRvLXgtY2lyY2xlXCI+PC94LWljb24+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid3YXJuaW5nJ1wiPlxyXG4gICAgICA8eC1pY29uIHR5cGU9XCJmdG8taGVscC1jaXJjbGVcIj48L3gtaWNvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybWF0OyBlbHNlIGRlZmF1bHRUZW1wXCI+e3sgb25Gb3JtYXQocGVyY2VudCkgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcD57eyBwZXJjZW50IH19JTwvbmctdGVtcGxhdGU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L3NwYW4+XHJcbjwvZGl2PlxyXG4iXX0=
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvcHJvZ3Jlc3MvcHJvZ3Jlc3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvcHJvZ3Jlc3MvcHJvZ3Jlc3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBSWpCLHVCQUF1QixFQUd4QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUNMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsY0FBYyxFQUNkLFFBQVEsRUFDUixTQUFTLEVBR1QsU0FBUyxFQUNWLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBVTFCLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxpQkFBaUI7SUFhdkQsWUFDUyxRQUFtQixFQUNuQixVQUFzQixFQUN0QixHQUFzQixFQUN0QixhQUE2QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQUxELGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFkdEMsZUFBVSxHQUFtQixFQUFFLENBQUM7SUFpQmhDLENBQUM7SUFYRCxJQUFJLFNBQVM7UUFDWCxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDcEUsQ0FBQztJQVdELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxR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SSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDOztrSUFuTlUsa0JBQWtCO3NIQUFsQixrQkFBa0IsOEZDOUIvQiw2bElBZ0hBOzJGRGxGYSxrQkFBa0I7a0JBUDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEdBQUcsZUFBZSxFQUFFO29CQUM5QixXQUFXLEVBQUUsMkJBQTJCO29CQUN4QyxTQUFTLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztvQkFDeEMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25DaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhQcm9ncmVzc1ByZWZpeCwgWFByb2dyZXNzUHJvcGVydHkgfSBmcm9tICcuL3Byb2dyZXNzLnByb3BlcnR5JztcclxuaW1wb3J0IHtcclxuICBYSXNGdW5jdGlvbixcclxuICBYSXNTdHJpbmcsXHJcbiAgWElzT2JqZWN0QXJyYXksXHJcbiAgWElzRW1wdHksXHJcbiAgWElzQ2hhbmdlLFxyXG4gIFhOdW1iZXIsXHJcbiAgWENvbmZpZ1NlcnZpY2UsXHJcbiAgWElzTnVtYmVyXHJcbn0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhQcm9ncmVzc0NvbG9yTm9kZSB9IGZyb20gJy4vcHJvZ3Jlc3MucHJvcGVydHknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hQcm9ncmVzc1ByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmVzcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZ3Jlc3MuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYUHJvZ3Jlc3NDb21wb25lbnQgZXh0ZW5kcyBYUHJvZ3Jlc3NQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgY3VycmVudENvbG9yITogc3RyaW5nO1xyXG4gIGxpbmVhckdyYWRpZW50ITogc3RyaW5nO1xyXG4gIHN0ZXBzQXJyYXk6IEFycmF5PGJvb2xlYW4+ID0gW107XHJcbiAgY2lyY2xlQ2xpcFBhdGghOiBzdHJpbmc7XHJcbiAgZGFzaGJvYXJkQ2xpcFBhdGghOiBzdHJpbmc7XHJcbiAgZGFzaGJvYXJkUmFpbENsaXBQYXRoITogc3RyaW5nO1xyXG4gIHN1YkxpbmVhckdyYWRpZW50ITogc3RyaW5nO1xyXG5cclxuICBnZXQgbWFza1dpZHRoKCkge1xyXG4gICAgcmV0dXJuIFhJc051bWJlcih0aGlzLnBlcmNlbnQpID8gMTAwIC0gTnVtYmVyKHRoaXMucGVyY2VudCkgOiAxMDA7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKHNpbXBsZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IHsgc3RhdHVzLCBwZXJjZW50LCBncmFkaWVudCwgc3RlcHMsIHR5cGUsIG5vdGNoQW5nbGUgfSA9IHNpbXBsZXM7XHJcbiAgICBYSXNDaGFuZ2UodHlwZSwgc3RhdHVzKSAmJiB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgICBYSXNDaGFuZ2UocGVyY2VudCkgJiYgdGhpcy5zZXRDb2xvcigpO1xyXG4gICAgWElzQ2hhbmdlKGdyYWRpZW50KSAmJiB0aGlzLnNldEdyYWRpZW50KCk7XHJcbiAgICBYSXNDaGFuZ2Uoc3RlcHMsIHBlcmNlbnQpICYmIHRoaXMuc2V0U3RlcHMoKTtcclxuICAgIFhJc0NoYW5nZSh0eXBlLCBwZXJjZW50LCBub3RjaEFuZ2xlKSAmJiB0aGlzLnNldFR5cGUoKTtcclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgdGhpcy5jbGFzc01hcCA9IHtcclxuICAgICAgW2Ake1hQcm9ncmVzc1ByZWZpeH0tJHt0aGlzLnN0YXR1c31gXTogdHJ1ZSxcclxuICAgICAgW2Ake1hQcm9ncmVzc1ByZWZpeH0tJHt0aGlzLnR5cGV9YF06IHRydWUsXHJcbiAgICAgIFtgJHtYUHJvZ3Jlc3NQcmVmaXh9LWluc2lkZWBdOiBCb29sZWFuKHRoaXMuaW5zaWRlKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNldENvbG9yKCkge1xyXG4gICAgaWYgKHRoaXMuc3Vic2VjdGlvbikge1xyXG4gICAgICB0aGlzLnNldFN1YkxpbmVhckdyYWRpZW50KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoWElzRW1wdHkodGhpcy5jb2xvcikpIHJldHVybjtcclxuICAgICAgaWYgKFhJc1N0cmluZyh0aGlzLmNvbG9yKSkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudENvbG9yID0gdGhpcy5jb2xvciBhcyBzdHJpbmc7XHJcbiAgICAgIH0gZWxzZSBpZiAoWElzT2JqZWN0QXJyYXkodGhpcy5jb2xvcikpIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRDb2xvciA9IHRoaXMuZ2V0TGV2ZWxDb2xvcih0aGlzLnBlcmNlbnQpO1xyXG4gICAgICB9IGVsc2UgaWYgKFhJc0Z1bmN0aW9uKHRoaXMuY29sb3IpKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50Q29sb3IgPSAodGhpcy5jb2xvciBhcyBGdW5jdGlvbikodGhpcy5wZXJjZW50KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0TGV2ZWxDb2xvcihwZXJjZW50OiBYTnVtYmVyKSB7XHJcbiAgICBsZXQgY29sb3JzID0gKHRoaXMuY29sb3IgYXMgWFByb2dyZXNzQ29sb3JOb2RlW10pLnNvcnQoKGEsIGIpID0+IGEucGVyY2VudCAtIGIucGVyY2VudCk7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbG9ycy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoY29sb3JzW2ldLnBlcmNlbnQgPiBOdW1iZXIocGVyY2VudCkpIHtcclxuICAgICAgICByZXR1cm4gY29sb3JzW2ldLmNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29sb3JzW2NvbG9ycy5sZW5ndGggLSAxXS5jb2xvcjtcclxuICB9XHJcblxyXG4gIHNldEdyYWRpZW50KCkge1xyXG4gICAgaWYgKHRoaXMuc3Vic2VjdGlvbikgcmV0dXJuO1xyXG4gICAgaWYgKFhJc0VtcHR5KHRoaXMuZ3JhZGllbnQpKSB7XHJcbiAgICAgIHRoaXMubGluZWFyR3JhZGllbnQgPSAnJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHsgZnJvbSwgdG8sIGRpcmVjdGlvbiA9ICd0byByaWdodCcsIC4uLnBlcmNlbnRzIH0gPSB0aGlzLmdyYWRpZW50IHx8IHt9O1xyXG4gICAgICBpZiAoT2JqZWN0LmtleXMocGVyY2VudHMpLmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICAgIHRoaXMubGluZWFyR3JhZGllbnQgPSBgbGluZWFyLWdyYWRpZW50KCR7ZGlyZWN0aW9ufSwgJHt0aGlzLnNvcnRHcmFkaWVudChwZXJjZW50cyBhcyB7IFtwZXJjZW50OiBzdHJpbmddOiBzdHJpbmcgfSkubWFwKFxyXG4gICAgICAgICAgKHsga2V5LCB2YWx1ZSB9KSA9PiBgJHt2YWx1ZX0gJHtrZXl9JWBcclxuICAgICAgICApfSlgO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmxpbmVhckdyYWRpZW50ID0gYGxpbmVhci1ncmFkaWVudCgke2RpcmVjdGlvbn0sICR7ZnJvbX0sICR7dG99KWA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzb3J0R3JhZGllbnQocGVyY2VudHM6IHsgW3BlcmNlbnQ6IHN0cmluZ106IHN0cmluZyB9KSB7XHJcbiAgICBsZXQgYXJyOiB7IGtleTogbnVtYmVyOyB2YWx1ZTogc3RyaW5nIH1bXSA9IFtdO1xyXG4gICAgT2JqZWN0LmtleXMocGVyY2VudHMpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICBjb25zdCB2YWx1ZSA9IHBlcmNlbnRzW2tleV07XHJcbiAgICAgIGNvbnN0IG51bUtleSA9ICtrZXkucmVwbGFjZSgnJScsICcnKTtcclxuICAgICAgaWYgKCFpc05hTihudW1LZXkpKSB7XHJcbiAgICAgICAgYXJyLnB1c2goeyBrZXk6IG51bUtleSwgdmFsdWUgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGFyci5zb3J0KChhLCBiKSA9PiBhLmtleSAtIGIua2V5KTtcclxuICB9XHJcblxyXG4gIHNldFN1YkxpbmVhckdyYWRpZW50KCkge1xyXG4gICAgbGV0IGNvbG9ycyA9IHRoaXMuY29sb3IgYXMgWFByb2dyZXNzQ29sb3JOb2RlW107XHJcbiAgICBpZiAoIWNvbG9ycyB8fCBjb2xvcnMubGVuZ3RoIDw9IDApIHtcclxuICAgICAgdGhpcy5zdWJMaW5lYXJHcmFkaWVudCA9IGBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLXgtcHJpbWFyeSkgMCUsIHZhcigtLXgtcHJpbWFyeSkgMTAwJSlgO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9IGVsc2UgaWYgKGNvbG9ycy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgY29sb3JzLnB1c2goeyBwZXJjZW50OiAxMDAsIGNvbG9yOiAndmFyKC0teC1wcmltYXJ5KScgfSk7XHJcbiAgICB9XHJcbiAgICBjb2xvcnMgPSBjb2xvcnMuc29ydCgoYSwgYikgPT4gYS5wZXJjZW50IC0gYi5wZXJjZW50KTtcclxuICAgIGxldCBsZ3M6IHN0cmluZ1tdID0gW107XHJcbiAgICBjb2xvcnMucmVkdWNlKChhLCBiLCBpbmRleCkgPT4ge1xyXG4gICAgICBpZiAoaW5kZXggPT09IDEgJiYgYS5wZXJjZW50ID4gMCkge1xyXG4gICAgICAgIGxncy5wdXNoKGAke2EuY29sb3J9IDAlLCAke2EuY29sb3J9ICR7YS5wZXJjZW50fSVgKTtcclxuICAgICAgfVxyXG4gICAgICBsZ3MucHVzaChgJHtiLmNvbG9yfSAke2EucGVyY2VudH0lLCAke2IuY29sb3J9ICR7Yi5wZXJjZW50fSVgKTtcclxuICAgICAgaWYgKGluZGV4ID09PSBjb2xvcnMubGVuZ3RoIC0gMSAmJiBiLnBlcmNlbnQgPCAxMDApIHtcclxuICAgICAgICBsZ3MucHVzaChgdmFyKC0teC1wcmltYXJ5KSAke2IucGVyY2VudH0lLCB2YXIoLS14LXByaW1hcnkpIDEwMCVgKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gYjtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zdWJMaW5lYXJHcmFkaWVudCA9IGBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsJHtsZ3Muam9pbignLCcpfSlgO1xyXG4gIH1cclxuXHJcbiAgc2V0U3RlcHMoKSB7XHJcbiAgICBpZiAoWElzRW1wdHkodGhpcy5zdGVwcykpIHtcclxuICAgICAgdGhpcy5zdGVwc0FycmF5ID0gW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBjcml0aWNhbCA9IE1hdGguY2VpbCgoTnVtYmVyKHRoaXMucGVyY2VudCkgLyAxMDApICogdGhpcy5zdGVwcyEpO1xyXG4gICAgICB0aGlzLnN0ZXBzQXJyYXkgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0aGlzLnN0ZXBzIGFzIG51bWJlciB9KS5tYXAoKF8sIGluZGV4KSA9PiBpbmRleCArIDEgPD0gY3JpdGljYWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0VHlwZSgpIHtcclxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdjaXJjbGUnKSB7XHJcbiAgICAgIHRoaXMuc2V0Q2lyY2xlQ2xpcFBhdGgoKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnZGFzaGJvYXJkJykge1xyXG4gICAgICB0aGlzLnNldERhc2hib2FyZENsaXBQYXRoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBjaXJjbGUg77+90LXvv70gMTAwJSDvv73vv73vv73vv70gY2xpcC1wYXRoIO+/vdC177+9IDQwMCVcclxuICAgKi9cclxuICBzZXRDaXJjbGVDbGlwUGF0aCgpIHtcclxuICAgIGxldCB2YWx1ZSA9IE51bWJlcih0aGlzLnBlcmNlbnQpICogNDtcclxuICAgIGxldCBrMSA9ICdwb2x5Z29uKDUwJSA1MCUsNTAlIDAlLCc7XHJcbiAgICBsZXQgazIgPSBrMSArICcxMDAlIDAlLCc7XHJcbiAgICBsZXQgazMgPSBrMiArICcxMDAlIDEwMCUsJztcclxuICAgIGxldCBrNCA9IGszICsgJzAlIDEwMCUsJztcclxuICAgIGxldCBrNSA9IGs0ICsgJzAlIDAlLCc7XHJcbiAgICBpZiAodmFsdWUgPD0gNTApIHtcclxuICAgICAgdmFsdWUgKz0gNTA7XHJcbiAgICAgIHRoaXMuY2lyY2xlQ2xpcFBhdGggPSBgJHtrMX0ke3ZhbHVlfSUgMCUpYDtcclxuICAgIH0gZWxzZSBpZiAodmFsdWUgPiA1MCAmJiB2YWx1ZSA8PSAxNTApIHtcclxuICAgICAgdmFsdWUgLT0gNTA7XHJcbiAgICAgIHRoaXMuY2lyY2xlQ2xpcFBhdGggPSBgJHtrMn0xMDAlICR7dmFsdWV9JSlgO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZSA+IDE1MCAmJiB2YWx1ZSA8PSAyNTApIHtcclxuICAgICAgdmFsdWUgPSAyNTAgLSB2YWx1ZTtcclxuICAgICAgdGhpcy5jaXJjbGVDbGlwUGF0aCA9IGAke2szfSR7dmFsdWV9JSAxMDAlKWA7XHJcbiAgICB9IGVsc2UgaWYgKHZhbHVlID4gMjUwICYmIHZhbHVlIDw9IDM1MCkge1xyXG4gICAgICB2YWx1ZSA9IDM1MCAtIHZhbHVlO1xyXG4gICAgICB0aGlzLmNpcmNsZUNsaXBQYXRoID0gYCR7azR9MCUgJHt2YWx1ZX0lKWA7XHJcbiAgICB9IGVsc2UgaWYgKHZhbHVlID4gMzUwICYmIHZhbHVlIDw9IDQwMCkge1xyXG4gICAgICB2YWx1ZSAtPSAzNTA7XHJcbiAgICAgIHRoaXMuY2lyY2xlQ2xpcFBhdGggPSBgJHtrNX0ke3ZhbHVlfSUgMCUpYDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogOTAgcG9seWdvbig1MCUgNTAlLCAwJSAxMDAlLCAwJSAwJSwgMTAwJSAwJSwgMTAwJSAxMDAlKTtcclxuICAgKiAxODAgcG9seWdvbig1MCUgNTAlLCAwJSA1MCUsIDAlIDAlLCAxMDAlIDAlLCAxMDAlIDUwJSk7XHJcbiAgICogMjcwIHBvbHlnb24oNTAlIDUwJSwgMCUgMCUsIDEwMCUgMCUpO1xyXG4gICAqL1xyXG4gIHNldERhc2hib2FyZENsaXBQYXRoKCkge1xyXG4gICAgbGV0IHJhaWxWYWx1ZSA9IChOdW1iZXIodGhpcy5ub3RjaEFuZ2xlKSAvIDM2MCkgKiA1MCAqIDQ7XHJcbiAgICBsZXQgazEgPSBgcG9seWdvbig1MCUgNTAlLGA7XHJcbiAgICBsZXQgc3RhcnQgPSAnJztcclxuICAgIGxldCBwZXIgPSAwO1xyXG4gICAgaWYgKHJhaWxWYWx1ZSA8PSA1MCkge1xyXG4gICAgICBwZXIgPSA1MCAtIHJhaWxWYWx1ZTtcclxuICAgICAgc3RhcnQgPSBgJHtrMX0gJHtwZXJ9JSAxMDAlYDtcclxuICAgICAgdGhpcy5kYXNoYm9hcmRSYWlsQ2xpcFBhdGggPSBgJHtzdGFydH0sIDAlIDEwMCUsIDAlIDAlLCAxMDAlIDAlLCAxMDAlIDEwMCUsICR7MTAwIC0gcGVyfSUgMTAwJSlgO1xyXG4gICAgfSBlbHNlIGlmIChyYWlsVmFsdWUgPiA1MCAmJiByYWlsVmFsdWUgPD0gMTUwKSB7XHJcbiAgICAgIHBlciA9IDE1MCAtIHJhaWxWYWx1ZTtcclxuICAgICAgc3RhcnQgPSBgJHtrMX0gMCUgJHtwZXJ9JWA7XHJcbiAgICAgIHRoaXMuZGFzaGJvYXJkUmFpbENsaXBQYXRoID0gYCR7c3RhcnR9LCAwJSAwJSwgMTAwJSAwJSwgMTAwJSAke3Blcn0lKWA7XHJcbiAgICB9IGVsc2UgaWYgKHJhaWxWYWx1ZSA+IDE1MCAmJiByYWlsVmFsdWUgPD0gMjUwKSB7XHJcbiAgICAgIHBlciA9IHJhaWxWYWx1ZSAtIDE1MDtcclxuICAgICAgc3RhcnQgPSBgJHtrMX0gJHtwZXJ9JSAwJWA7XHJcbiAgICAgIHRoaXMuZGFzaGJvYXJkUmFpbENsaXBQYXRoID0gYCR7c3RhcnR9LCAkezEwMCAtIHBlcn0lIDAlKWA7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZXRDaXJjbGVDbGlwUGF0aFZhbHVlKHN0YXJ0LCByYWlsVmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2lyY2xlQ2xpcFBhdGhWYWx1ZShzdGFydDogc3RyaW5nLCByYWlsVmFsdWU6IG51bWJlcikge1xyXG4gICAgbGV0IHZhbHVlID0gKCg0MDAgLSByYWlsVmFsdWUgKiAyKSAvIDEwMCkgKiBOdW1iZXIodGhpcy5wZXJjZW50KTtcclxuICAgIGxldCB2YWwgPSB2YWx1ZSArIHJhaWxWYWx1ZTtcclxuICAgIGlmICh2YWwgPD0gNTApIHtcclxuICAgICAgdmFsID0gNTAgLSB2YWw7XHJcbiAgICAgIHRoaXMuZGFzaGJvYXJkQ2xpcFBhdGggPSBgJHtzdGFydH0sICR7dmFsfSUgMTAwJSlgO1xyXG4gICAgfSBlbHNlIGlmICh2YWwgPiA1MCAmJiB2YWwgPD0gMTUwKSB7XHJcbiAgICAgIHZhbCA9IDE1MCAtIHZhbDtcclxuICAgICAgdGhpcy5kYXNoYm9hcmRDbGlwUGF0aCA9IGAke3N0YXJ0fSwgMCUgMTAwJSwgMCUgJHt2YWx9JSlgO1xyXG4gICAgfSBlbHNlIGlmICh2YWwgPiAxNTAgJiYgdmFsIDw9IDI1MCkge1xyXG4gICAgICB2YWwgPSB2YWwgLSAxNTA7XHJcbiAgICAgIHRoaXMuZGFzaGJvYXJkQ2xpcFBhdGggPSBgJHtzdGFydH0sIDAlIDEwMCUsIDAlIDAlLCAke3ZhbH0lIDAlKWA7XHJcbiAgICB9IGVsc2UgaWYgKHZhbCA+IDI1MCAmJiB2YWwgPD0gMzUwKSB7XHJcbiAgICAgIHZhbCA9IHZhbCAtIDI1MDtcclxuICAgICAgdGhpcy5kYXNoYm9hcmRDbGlwUGF0aCA9IGAke3N0YXJ0fSwgMCUgMTAwJSwgMCUgMCUsIDEwMCUgMCUsIDEwMCUgJHt2YWx9JSlgO1xyXG4gICAgfSBlbHNlIGlmICh2YWwgPiAzNTAgJiYgdmFsIDw9IDQwMCkge1xyXG4gICAgICB2YWwgPSAxMDAgLSAodmFsIC0gMzUwKTtcclxuICAgICAgdGhpcy5kYXNoYm9hcmRDbGlwUGF0aCA9IGAke3N0YXJ0fSwgMCUgMTAwJSwgMCUgMCUsIDEwMCUgMCUsIDEwMCUgMTAwJSwgJHt2YWx9JSAxMDAlKWA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkZvcm1hdChwZXJjZW50OiBYTnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtYXQgJiYgdGhpcy5mb3JtYXQocGVyY2VudCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cIngtcHJvZ3Jlc3NcIlxyXG4gIFtuZ0NsYXNzXT1cImNsYXNzTWFwXCJcclxuICBbY2xhc3MueC1wcm9ncmVzcy1zdGVwc109XCJzdGVwc0FycmF5Lmxlbmd0aCA+IDBcIlxyXG4gIFtjbGFzcy54LXByb2dyZXNzLXN0ZXBzLWZsZXhdPVwic3RlcEZsZXhcIlxyXG4gIFtuZ1N3aXRjaF09XCJ0eXBlXCJcclxuPlxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidjaXJjbGUnXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2lyY2xlVHBsXCI+IDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkYXNoYm9hcmQnXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGFzaGJvYXJkVHBsXCI+IDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaW5lVHBsXCI+IDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjbGluZVRwbD5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RlcHNBcnJheS5sZW5ndGggPT09IDBcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cmFja1RwbFwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGVwc0FycmF5Lmxlbmd0aCA+IDBcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdGVwc1RwbFwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbmZvICYmICFpbnNpZGVcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZXh0VHBsXCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2NpcmNsZVRwbD5cclxuICA8ZGl2IGNsYXNzPVwieC1wcm9ncmVzcy1yaW5nXCIgW3N0eWxlLndpZHRoXT1cInNpemVcIiBbc3R5bGUuaGVpZ2h0XT1cInNpemVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LXByb2dyZXNzLXJpbmctcmFpbFwiIFtzdHlsZS5ib3JkZXItd2lkdGhdPVwidGhpY2tuZXNzXCI+PC9kaXY+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwieC1wcm9ncmVzcy1yaW5nLWJnXCJcclxuICAgICAgW3N0eWxlLmNsaXAtcGF0aF09XCJjaXJjbGVDbGlwUGF0aFwiXHJcbiAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImN1cnJlbnRDb2xvclwiXHJcbiAgICAgIFtzdHlsZS5ib3JkZXItd2lkdGhdPVwidGhpY2tuZXNzXCJcclxuICAgID48L2Rpdj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZXh0VHBsXCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2Rhc2hib2FyZFRwbD5cclxuICA8ZGl2IGNsYXNzPVwieC1wcm9ncmVzcy1yaW5nXCIgW3N0eWxlLndpZHRoXT1cInNpemVcIiBbc3R5bGUuaGVpZ2h0XT1cInNpemVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LXByb2dyZXNzLXJpbmctcmFpbFwiIFtzdHlsZS5jbGlwLXBhdGhdPVwiZGFzaGJvYXJkUmFpbENsaXBQYXRoXCIgW3N0eWxlLmJvcmRlci13aWR0aF09XCJ0aGlja25lc3NcIj48L2Rpdj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJ4LXByb2dyZXNzLXJpbmctYmdcIlxyXG4gICAgICBbc3R5bGUuY2xpcC1wYXRoXT1cImRhc2hib2FyZENsaXBQYXRoXCJcclxuICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiY3VycmVudENvbG9yXCJcclxuICAgICAgW3N0eWxlLmJvcmRlci13aWR0aF09XCJ0aGlja25lc3NcIlxyXG4gICAgPjwvZGl2PlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRleHRUcGxcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdHJhY2tUcGw+XHJcbiAgPGRpdiBjbGFzcz1cIngtcHJvZ3Jlc3MtdHJhY2tcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LXByb2dyZXNzLXJhaWxcIiBbY2xhc3MueC1wcm9ncmVzcy1tYXNrXT1cInN1YnNlY3Rpb25cIiBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCJzdWJzZWN0aW9uID8gc3ViTGluZWFyR3JhZGllbnQgOiAnbm9uZSdcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwieC1wcm9ncmVzcy1iZ1wiXHJcbiAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwicGVyY2VudFwiXHJcbiAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiY3VycmVudENvbG9yXCJcclxuICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCJsaW5lYXJHcmFkaWVudFwiXHJcbiAgICAgICAgW3N0eWxlLmhlaWdodF09XCJoZWlnaHRcIlxyXG4gICAgICAgIFtzdHlsZS5saW5lLWhlaWdodF09XCJoZWlnaHRcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImluZm8gJiYgaW5zaWRlXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGV4dFRwbFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgICpuZ0lmPVwic3Vic2VjdGlvblwiXHJcbiAgICAgICAgY2xhc3M9XCJ4LXByb2dyZXNzLWJnLW1hc2tcIlxyXG4gICAgICAgIFtzdHlsZS53aWR0aC4lXT1cIm1hc2tXaWR0aFwiXHJcbiAgICAgICAgW3N0eWxlLmhlaWdodF09XCJoZWlnaHRcIlxyXG4gICAgICAgIFtzdHlsZS5saW5lLWhlaWdodF09XCJoZWlnaHRcIlxyXG4gICAgICA+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjc3RlcHNUcGw+XHJcbiAgPGRpdlxyXG4gICAgKm5nRm9yPVwibGV0IHN0ZXAgb2Ygc3RlcHNBcnJheVwiXHJcbiAgICBjbGFzcz1cIngtcHJvZ3Jlc3Mtc3RlcFwiXHJcbiAgICBbY2xhc3MueC1wcm9ncmVzcy1zdGVwLWFjdGl2ZV09XCJzdGVwXCJcclxuICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImN1cnJlbnRDb2xvclwiXHJcbiAgICBbc3R5bGUud2lkdGhdPVwic3RlcFdpZHRoXCJcclxuICAgIFtzdHlsZS5mbGV4XT1cInN0ZXBGbGV4ID8gMSA6ICdub25lJ1wiXHJcbiAgICBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodFwiXHJcbiAgICBbc3R5bGUubGluZS1oZWlnaHRdPVwiaGVpZ2h0XCJcclxuICA+PC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3RleHRUcGw+XHJcbiAgPHNwYW4gY2xhc3M9XCJ4LXByb2dyZXNzLXRleHRcIiBbbmdTd2l0Y2hdPVwic3RhdHVzXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc3VjY2VzcydcIj5cclxuICAgICAgPHgtaWNvbiB0eXBlPVwiZnRvLWNoZWNrLWNpcmNsZVwiPjwveC1pY29uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZXhjZXB0aW9uJ1wiPlxyXG4gICAgICA8eC1pY29uIHR5cGU9XCJmdG8teC1jaXJjbGVcIj48L3gtaWNvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3dhcm5pbmcnXCI+XHJcbiAgICAgIDx4LWljb24gdHlwZT1cImZ0by1oZWxwLWNpcmNsZVwiPjwveC1pY29uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmb3JtYXQ7IGVsc2UgZGVmYXVsdFRlbXBcIj57eyBvbkZvcm1hdChwZXJjZW50KSB9fTwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wPnt7IHBlcmNlbnQgfX0lPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvc3Bhbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19