@ng-nest/ui 15.0.4 → 15.0.6

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 (488) hide show
  1. package/anchor/anchor.component.d.ts +5 -5
  2. package/api/api.component.d.ts +1 -1
  3. package/auto-complete/auto-complete.component.d.ts +1 -1
  4. package/avatar/avatar.component.d.ts +3 -3
  5. package/back-top/back-top.component.d.ts +2 -2
  6. package/badge/badge.component.d.ts +2 -2
  7. package/border/border.component.d.ts +1 -1
  8. package/button/button.component.d.ts +2 -2
  9. package/button/buttons.component.d.ts +1 -1
  10. package/calendar/calendar.component.d.ts +2 -2
  11. package/card/card.component.d.ts +2 -2
  12. package/carousel/carousel-panel.component.d.ts +2 -2
  13. package/carousel/carousel.component.d.ts +4 -4
  14. package/cascade/cascade.component.d.ts +1 -1
  15. package/checkbox/checkbox.component.d.ts +3 -3
  16. package/collapse/collapse-panel.component.d.ts +2 -2
  17. package/collapse/collapse.component.d.ts +2 -2
  18. package/color/color.component.d.ts +1 -1
  19. package/color-picker/color-picker-portal.component.d.ts +4 -4
  20. package/color-picker/color-picker.component.d.ts +1 -1
  21. package/comment/comment-reply.component.d.ts +2 -2
  22. package/comment/comment.component.d.ts +2 -2
  23. package/container/aside.component.d.ts +1 -1
  24. package/container/container.component.d.ts +1 -1
  25. package/container/footer.component.d.ts +1 -1
  26. package/container/header.component.d.ts +1 -1
  27. package/container/main.component.d.ts +1 -1
  28. package/core/config/config.d.ts +3 -0
  29. package/core/functions/chunk.d.ts +1 -0
  30. package/core/functions/flex.d.ts +1 -1
  31. package/core/functions/group-by.d.ts +1 -0
  32. package/core/functions/guid.d.ts +4 -0
  33. package/core/functions/public-api.d.ts +4 -0
  34. package/core/{util → functions}/resize.d.ts +0 -0
  35. package/core/util/public-api.d.ts +0 -4
  36. package/date-picker/date-picker.component.d.ts +1 -1
  37. package/date-picker/date-range.component.d.ts +1 -1
  38. package/dialog/dialog.component.d.ts +2 -2
  39. package/drawer/drawer.component.d.ts +2 -2
  40. package/dropdown/dropdown-portal.component.d.ts +6 -2
  41. package/dropdown/dropdown.component.d.ts +3 -3
  42. package/esm2020/anchor/anchor.component.mjs +1 -2
  43. package/esm2020/api/api.component.mjs +1 -1
  44. package/esm2020/auto-complete/auto-complete.component.mjs +1 -1
  45. package/esm2020/avatar/avatar.component.mjs +1 -1
  46. package/esm2020/back-top/back-top.component.mjs +1 -1
  47. package/esm2020/badge/badge.component.mjs +1 -1
  48. package/esm2020/base-form/base-form.component.mjs +3 -3
  49. package/esm2020/border/border.component.mjs +1 -1
  50. package/esm2020/button/button.component.mjs +1 -1
  51. package/esm2020/button/buttons.component.mjs +1 -1
  52. package/esm2020/calendar/calendar.component.mjs +1 -1
  53. package/esm2020/card/card.component.mjs +1 -1
  54. package/esm2020/carousel/carousel-panel.component.mjs +1 -1
  55. package/esm2020/carousel/carousel.component.mjs +1 -1
  56. package/esm2020/cascade/cascade.component.mjs +1 -1
  57. package/esm2020/checkbox/checkbox.component.mjs +1 -1
  58. package/esm2020/collapse/collapse-panel.component.mjs +1 -1
  59. package/esm2020/collapse/collapse.component.mjs +1 -1
  60. package/esm2020/color/color.component.mjs +1 -1
  61. package/esm2020/color-picker/color-picker-portal.component.mjs +1 -1
  62. package/esm2020/color-picker/color-picker.component.mjs +1 -1
  63. package/esm2020/comment/comment-reply.component.mjs +1 -1
  64. package/esm2020/comment/comment.component.mjs +1 -1
  65. package/esm2020/container/aside.component.mjs +1 -1
  66. package/esm2020/container/container.component.mjs +1 -1
  67. package/esm2020/container/footer.component.mjs +1 -1
  68. package/esm2020/container/header.component.mjs +1 -1
  69. package/esm2020/container/main.component.mjs +1 -1
  70. package/esm2020/core/config/config.mjs +1 -1
  71. package/esm2020/core/functions/chunk.mjs +14 -0
  72. package/esm2020/core/functions/flex.mjs +2 -2
  73. package/esm2020/core/functions/group-by.mjs +10 -0
  74. package/esm2020/core/functions/guid.mjs +10 -0
  75. package/esm2020/core/functions/order-by.mjs +24 -3
  76. package/esm2020/core/functions/public-api.mjs +5 -1
  77. package/esm2020/core/functions/resize.mjs +17 -0
  78. package/esm2020/core/util/public-api.mjs +1 -5
  79. package/esm2020/date-picker/date-picker-portal.component.mjs +2 -2
  80. package/esm2020/date-picker/date-picker.component.mjs +1 -1
  81. package/esm2020/date-picker/date-range.component.mjs +1 -1
  82. package/esm2020/date-picker/picker-date.component.mjs +3 -3
  83. package/esm2020/date-picker/picker-month.component.mjs +3 -3
  84. package/esm2020/date-picker/picker-year.component.mjs +3 -3
  85. package/esm2020/dialog/dialog.component.mjs +2 -2
  86. package/esm2020/drawer/drawer.component.mjs +1 -1
  87. package/esm2020/dropdown/dropdown-portal.component.mjs +16 -4
  88. package/esm2020/dropdown/dropdown.component.mjs +1 -1
  89. package/esm2020/find/find.component.mjs +1 -1
  90. package/esm2020/form/control.component.mjs +2 -2
  91. package/esm2020/form/form.component.mjs +8 -1
  92. package/esm2020/highlight/highlight.component.mjs +2 -2
  93. package/esm2020/i18n/i18n.property.mjs +1 -1
  94. package/esm2020/i18n/languages/en_GB.mjs +44 -18
  95. package/esm2020/i18n/languages/en_US.mjs +8 -2
  96. package/esm2020/i18n/languages/zh_CN.mjs +8 -2
  97. package/esm2020/i18n/languages/zh_TW.mjs +9 -3
  98. package/esm2020/icon/icon.component.mjs +1 -1
  99. package/esm2020/image/image-preview.component.mjs +1 -1
  100. package/esm2020/image/image.component.mjs +1 -1
  101. package/esm2020/inner/inner.component.mjs +1 -1
  102. package/esm2020/input/input-group.component.mjs +1 -1
  103. package/esm2020/input/input.component.mjs +3 -3
  104. package/esm2020/input-number/input-number.component.mjs +1 -1
  105. package/esm2020/link/link.component.mjs +1 -1
  106. package/esm2020/list/list-option.component.mjs +1 -1
  107. package/esm2020/list/list.component.mjs +2 -2
  108. package/esm2020/loading/loading.component.mjs +2 -2
  109. package/esm2020/menu/menu-node.component.mjs +1 -1
  110. package/esm2020/menu/menu.component.mjs +3 -3
  111. package/esm2020/message/message.component.mjs +1 -1
  112. package/esm2020/message-box/message-box.component.mjs +1 -1
  113. package/esm2020/notification/notification.component.mjs +1 -1
  114. package/esm2020/pagination/pagination.component.mjs +33 -4
  115. package/esm2020/pagination/pagination.property.mjs +15 -3
  116. package/esm2020/popconfirm/popconfirm.component.mjs +1 -1
  117. package/esm2020/popover/popover-portal.component.mjs +1 -1
  118. package/esm2020/progress/progress.component.mjs +1 -1
  119. package/esm2020/radio/radio.component.mjs +1 -1
  120. package/esm2020/rate/rate.component.mjs +1 -1
  121. package/esm2020/result/result.component.mjs +1 -1
  122. package/esm2020/select/select.component.mjs +3 -3
  123. package/esm2020/skeleton/skeleton.component.mjs +1 -1
  124. package/esm2020/slider/slider.component.mjs +1 -1
  125. package/esm2020/slider-select/slider-select.component.mjs +1 -1
  126. package/esm2020/steps/steps.component.mjs +1 -1
  127. package/esm2020/switch/switch.component.mjs +1 -1
  128. package/esm2020/table/table-body.component.mjs +6 -6
  129. package/esm2020/table/table-foot.component.mjs +1 -1
  130. package/esm2020/table/table-head.component.mjs +46 -7
  131. package/esm2020/table/table.component.mjs +16 -5
  132. package/esm2020/table/table.module.mjs +5 -1
  133. package/esm2020/table/table.property.mjs +23 -2
  134. package/esm2020/tabs/tab-content.component.mjs +1 -1
  135. package/esm2020/tabs/tab.component.mjs +3 -3
  136. package/esm2020/tabs/tabs.component.mjs +3 -3
  137. package/esm2020/tag/tag.component.mjs +1 -1
  138. package/esm2020/text-retract/text-retract.component.mjs +1 -1
  139. package/esm2020/textarea/textarea.component.mjs +1 -1
  140. package/esm2020/time-picker/time-picker-frame.component.mjs +188 -55
  141. package/esm2020/time-picker/time-picker-portal.component.mjs +30 -8
  142. package/esm2020/time-picker/time-picker.component.mjs +36 -9
  143. package/esm2020/time-picker/time-picker.module.mjs +8 -4
  144. package/esm2020/time-picker/time-picker.property.mjs +37 -3
  145. package/esm2020/timeline/timeline.component.mjs +1 -1
  146. package/esm2020/tooltip/tooltip-portal.component.mjs +3 -3
  147. package/esm2020/transfer/transfer.component.mjs +130 -20
  148. package/esm2020/transfer/transfer.module.mjs +16 -4
  149. package/esm2020/transfer/transfer.property.mjs +11 -2
  150. package/esm2020/tree/tree-node.component.mjs +1 -1
  151. package/esm2020/tree/tree.component.mjs +1 -1
  152. package/esm2020/tree-file/tree-file.component.mjs +1 -1
  153. package/esm2020/tree-select/tree-select.component.mjs +1 -1
  154. package/esm2020/upload/upload-portal.component.mjs +5 -1
  155. package/esm2020/upload/upload.component.mjs +1 -1
  156. package/fesm2015/ng-nest-ui-anchor.mjs +0 -2
  157. package/fesm2015/ng-nest-ui-anchor.mjs.map +1 -1
  158. package/fesm2015/ng-nest-ui-api.mjs +0 -1
  159. package/fesm2015/ng-nest-ui-api.mjs.map +1 -1
  160. package/fesm2015/ng-nest-ui-auto-complete.mjs +0 -1
  161. package/fesm2015/ng-nest-ui-auto-complete.mjs.map +1 -1
  162. package/fesm2015/ng-nest-ui-avatar.mjs +0 -1
  163. package/fesm2015/ng-nest-ui-avatar.mjs.map +1 -1
  164. package/fesm2015/ng-nest-ui-back-top.mjs +0 -1
  165. package/fesm2015/ng-nest-ui-back-top.mjs.map +1 -1
  166. package/fesm2015/ng-nest-ui-badge.mjs +0 -1
  167. package/fesm2015/ng-nest-ui-badge.mjs.map +1 -1
  168. package/fesm2015/ng-nest-ui-base-form.mjs +2 -3
  169. package/fesm2015/ng-nest-ui-base-form.mjs.map +1 -1
  170. package/fesm2015/ng-nest-ui-border.mjs +0 -1
  171. package/fesm2015/ng-nest-ui-border.mjs.map +1 -1
  172. package/fesm2015/ng-nest-ui-button.mjs +0 -1
  173. package/fesm2015/ng-nest-ui-button.mjs.map +1 -1
  174. package/fesm2015/ng-nest-ui-calendar.mjs +0 -1
  175. package/fesm2015/ng-nest-ui-calendar.mjs.map +1 -1
  176. package/fesm2015/ng-nest-ui-card.mjs +0 -1
  177. package/fesm2015/ng-nest-ui-card.mjs.map +1 -1
  178. package/fesm2015/ng-nest-ui-carousel.mjs +0 -1
  179. package/fesm2015/ng-nest-ui-carousel.mjs.map +1 -1
  180. package/fesm2015/ng-nest-ui-cascade.mjs +0 -1
  181. package/fesm2015/ng-nest-ui-cascade.mjs.map +1 -1
  182. package/fesm2015/ng-nest-ui-checkbox.mjs +0 -1
  183. package/fesm2015/ng-nest-ui-checkbox.mjs.map +1 -1
  184. package/fesm2015/ng-nest-ui-collapse.mjs +0 -1
  185. package/fesm2015/ng-nest-ui-collapse.mjs.map +1 -1
  186. package/fesm2015/ng-nest-ui-color-picker.mjs +0 -1
  187. package/fesm2015/ng-nest-ui-color-picker.mjs.map +1 -1
  188. package/fesm2015/ng-nest-ui-color.mjs +0 -1
  189. package/fesm2015/ng-nest-ui-color.mjs.map +1 -1
  190. package/fesm2015/ng-nest-ui-comment.mjs +0 -1
  191. package/fesm2015/ng-nest-ui-comment.mjs.map +1 -1
  192. package/fesm2015/ng-nest-ui-container.mjs +0 -1
  193. package/fesm2015/ng-nest-ui-container.mjs.map +1 -1
  194. package/fesm2015/ng-nest-ui-core.mjs +76 -56
  195. package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
  196. package/fesm2015/ng-nest-ui-date-picker.mjs +5 -5
  197. package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
  198. package/fesm2015/ng-nest-ui-dialog.mjs +1 -2
  199. package/fesm2015/ng-nest-ui-dialog.mjs.map +1 -1
  200. package/fesm2015/ng-nest-ui-drawer.mjs +0 -1
  201. package/fesm2015/ng-nest-ui-drawer.mjs.map +1 -1
  202. package/fesm2015/ng-nest-ui-dropdown.mjs +15 -4
  203. package/fesm2015/ng-nest-ui-dropdown.mjs.map +1 -1
  204. package/fesm2015/ng-nest-ui-find.mjs +0 -1
  205. package/fesm2015/ng-nest-ui-find.mjs.map +1 -1
  206. package/fesm2015/ng-nest-ui-form.mjs +8 -2
  207. package/fesm2015/ng-nest-ui-form.mjs.map +1 -1
  208. package/fesm2015/ng-nest-ui-highlight.mjs +1 -2
  209. package/fesm2015/ng-nest-ui-highlight.mjs.map +1 -1
  210. package/fesm2015/ng-nest-ui-i18n.mjs +65 -22
  211. package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
  212. package/fesm2015/ng-nest-ui-icon.mjs.map +1 -1
  213. package/fesm2015/ng-nest-ui-image.mjs +0 -1
  214. package/fesm2015/ng-nest-ui-image.mjs.map +1 -1
  215. package/fesm2015/ng-nest-ui-inner.mjs +0 -1
  216. package/fesm2015/ng-nest-ui-inner.mjs.map +1 -1
  217. package/fesm2015/ng-nest-ui-input-number.mjs +0 -1
  218. package/fesm2015/ng-nest-ui-input-number.mjs.map +1 -1
  219. package/fesm2015/ng-nest-ui-input.mjs +2 -3
  220. package/fesm2015/ng-nest-ui-input.mjs.map +1 -1
  221. package/fesm2015/ng-nest-ui-link.mjs +0 -1
  222. package/fesm2015/ng-nest-ui-link.mjs.map +1 -1
  223. package/fesm2015/ng-nest-ui-list.mjs +1 -2
  224. package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
  225. package/fesm2015/ng-nest-ui-loading.mjs +1 -2
  226. package/fesm2015/ng-nest-ui-loading.mjs.map +1 -1
  227. package/fesm2015/ng-nest-ui-menu.mjs +2 -3
  228. package/fesm2015/ng-nest-ui-menu.mjs.map +1 -1
  229. package/fesm2015/ng-nest-ui-message-box.mjs +0 -1
  230. package/fesm2015/ng-nest-ui-message-box.mjs.map +1 -1
  231. package/fesm2015/ng-nest-ui-message.mjs +0 -1
  232. package/fesm2015/ng-nest-ui-message.mjs.map +1 -1
  233. package/fesm2015/ng-nest-ui-notification.mjs +0 -1
  234. package/fesm2015/ng-nest-ui-notification.mjs.map +1 -1
  235. package/fesm2015/ng-nest-ui-pagination.mjs +46 -6
  236. package/fesm2015/ng-nest-ui-pagination.mjs.map +1 -1
  237. package/fesm2015/ng-nest-ui-popconfirm.mjs +0 -1
  238. package/fesm2015/ng-nest-ui-popconfirm.mjs.map +1 -1
  239. package/fesm2015/ng-nest-ui-popover.mjs +0 -1
  240. package/fesm2015/ng-nest-ui-popover.mjs.map +1 -1
  241. package/fesm2015/ng-nest-ui-progress.mjs +0 -1
  242. package/fesm2015/ng-nest-ui-progress.mjs.map +1 -1
  243. package/fesm2015/ng-nest-ui-radio.mjs +0 -1
  244. package/fesm2015/ng-nest-ui-radio.mjs.map +1 -1
  245. package/fesm2015/ng-nest-ui-rate.mjs +0 -1
  246. package/fesm2015/ng-nest-ui-rate.mjs.map +1 -1
  247. package/fesm2015/ng-nest-ui-result.mjs +0 -1
  248. package/fesm2015/ng-nest-ui-result.mjs.map +1 -1
  249. package/fesm2015/ng-nest-ui-select.mjs +2 -2
  250. package/fesm2015/ng-nest-ui-select.mjs.map +1 -1
  251. package/fesm2015/ng-nest-ui-skeleton.mjs +0 -1
  252. package/fesm2015/ng-nest-ui-skeleton.mjs.map +1 -1
  253. package/fesm2015/ng-nest-ui-slider-select.mjs +0 -1
  254. package/fesm2015/ng-nest-ui-slider-select.mjs.map +1 -1
  255. package/fesm2015/ng-nest-ui-slider.mjs +0 -1
  256. package/fesm2015/ng-nest-ui-slider.mjs.map +1 -1
  257. package/fesm2015/ng-nest-ui-steps.mjs +0 -1
  258. package/fesm2015/ng-nest-ui-steps.mjs.map +1 -1
  259. package/fesm2015/ng-nest-ui-switch.mjs +0 -1
  260. package/fesm2015/ng-nest-ui-switch.mjs.map +1 -1
  261. package/fesm2015/ng-nest-ui-table.mjs +89 -16
  262. package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
  263. package/fesm2015/ng-nest-ui-tabs.mjs +4 -5
  264. package/fesm2015/ng-nest-ui-tabs.mjs.map +1 -1
  265. package/fesm2015/ng-nest-ui-tag.mjs +0 -1
  266. package/fesm2015/ng-nest-ui-tag.mjs.map +1 -1
  267. package/fesm2015/ng-nest-ui-text-retract.mjs +0 -1
  268. package/fesm2015/ng-nest-ui-text-retract.mjs.map +1 -1
  269. package/fesm2015/ng-nest-ui-textarea.mjs +0 -1
  270. package/fesm2015/ng-nest-ui-textarea.mjs.map +1 -1
  271. package/fesm2015/ng-nest-ui-time-picker.mjs +292 -81
  272. package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
  273. package/fesm2015/ng-nest-ui-timeline.mjs +0 -1
  274. package/fesm2015/ng-nest-ui-timeline.mjs.map +1 -1
  275. package/fesm2015/ng-nest-ui-tooltip.mjs +2 -3
  276. package/fesm2015/ng-nest-ui-tooltip.mjs.map +1 -1
  277. package/fesm2015/ng-nest-ui-transfer.mjs +158 -27
  278. package/fesm2015/ng-nest-ui-transfer.mjs.map +1 -1
  279. package/fesm2015/ng-nest-ui-tree-file.mjs.map +1 -1
  280. package/fesm2015/ng-nest-ui-tree-select.mjs +0 -1
  281. package/fesm2015/ng-nest-ui-tree-select.mjs.map +1 -1
  282. package/fesm2015/ng-nest-ui-tree.mjs +0 -1
  283. package/fesm2015/ng-nest-ui-tree.mjs.map +1 -1
  284. package/fesm2015/ng-nest-ui-upload.mjs +4 -0
  285. package/fesm2015/ng-nest-ui-upload.mjs.map +1 -1
  286. package/fesm2020/ng-nest-ui-anchor.mjs +0 -2
  287. package/fesm2020/ng-nest-ui-anchor.mjs.map +1 -1
  288. package/fesm2020/ng-nest-ui-api.mjs +0 -1
  289. package/fesm2020/ng-nest-ui-api.mjs.map +1 -1
  290. package/fesm2020/ng-nest-ui-auto-complete.mjs +0 -1
  291. package/fesm2020/ng-nest-ui-auto-complete.mjs.map +1 -1
  292. package/fesm2020/ng-nest-ui-avatar.mjs +0 -1
  293. package/fesm2020/ng-nest-ui-avatar.mjs.map +1 -1
  294. package/fesm2020/ng-nest-ui-back-top.mjs +0 -1
  295. package/fesm2020/ng-nest-ui-back-top.mjs.map +1 -1
  296. package/fesm2020/ng-nest-ui-badge.mjs +0 -1
  297. package/fesm2020/ng-nest-ui-badge.mjs.map +1 -1
  298. package/fesm2020/ng-nest-ui-base-form.mjs +2 -3
  299. package/fesm2020/ng-nest-ui-base-form.mjs.map +1 -1
  300. package/fesm2020/ng-nest-ui-border.mjs +0 -1
  301. package/fesm2020/ng-nest-ui-border.mjs.map +1 -1
  302. package/fesm2020/ng-nest-ui-button.mjs +0 -1
  303. package/fesm2020/ng-nest-ui-button.mjs.map +1 -1
  304. package/fesm2020/ng-nest-ui-calendar.mjs +0 -1
  305. package/fesm2020/ng-nest-ui-calendar.mjs.map +1 -1
  306. package/fesm2020/ng-nest-ui-card.mjs +0 -1
  307. package/fesm2020/ng-nest-ui-card.mjs.map +1 -1
  308. package/fesm2020/ng-nest-ui-carousel.mjs +0 -1
  309. package/fesm2020/ng-nest-ui-carousel.mjs.map +1 -1
  310. package/fesm2020/ng-nest-ui-cascade.mjs +0 -1
  311. package/fesm2020/ng-nest-ui-cascade.mjs.map +1 -1
  312. package/fesm2020/ng-nest-ui-checkbox.mjs +0 -1
  313. package/fesm2020/ng-nest-ui-checkbox.mjs.map +1 -1
  314. package/fesm2020/ng-nest-ui-collapse.mjs +0 -1
  315. package/fesm2020/ng-nest-ui-collapse.mjs.map +1 -1
  316. package/fesm2020/ng-nest-ui-color-picker.mjs +0 -1
  317. package/fesm2020/ng-nest-ui-color-picker.mjs.map +1 -1
  318. package/fesm2020/ng-nest-ui-color.mjs +0 -1
  319. package/fesm2020/ng-nest-ui-color.mjs.map +1 -1
  320. package/fesm2020/ng-nest-ui-comment.mjs +0 -1
  321. package/fesm2020/ng-nest-ui-comment.mjs.map +1 -1
  322. package/fesm2020/ng-nest-ui-container.mjs +0 -1
  323. package/fesm2020/ng-nest-ui-container.mjs.map +1 -1
  324. package/fesm2020/ng-nest-ui-core.mjs +76 -56
  325. package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
  326. package/fesm2020/ng-nest-ui-date-picker.mjs +5 -5
  327. package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
  328. package/fesm2020/ng-nest-ui-dialog.mjs +1 -2
  329. package/fesm2020/ng-nest-ui-dialog.mjs.map +1 -1
  330. package/fesm2020/ng-nest-ui-drawer.mjs +0 -1
  331. package/fesm2020/ng-nest-ui-drawer.mjs.map +1 -1
  332. package/fesm2020/ng-nest-ui-dropdown.mjs +15 -4
  333. package/fesm2020/ng-nest-ui-dropdown.mjs.map +1 -1
  334. package/fesm2020/ng-nest-ui-find.mjs +0 -1
  335. package/fesm2020/ng-nest-ui-find.mjs.map +1 -1
  336. package/fesm2020/ng-nest-ui-form.mjs +8 -2
  337. package/fesm2020/ng-nest-ui-form.mjs.map +1 -1
  338. package/fesm2020/ng-nest-ui-highlight.mjs +1 -2
  339. package/fesm2020/ng-nest-ui-highlight.mjs.map +1 -1
  340. package/fesm2020/ng-nest-ui-i18n.mjs +65 -22
  341. package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
  342. package/fesm2020/ng-nest-ui-icon.mjs.map +1 -1
  343. package/fesm2020/ng-nest-ui-image.mjs +0 -1
  344. package/fesm2020/ng-nest-ui-image.mjs.map +1 -1
  345. package/fesm2020/ng-nest-ui-inner.mjs +0 -1
  346. package/fesm2020/ng-nest-ui-inner.mjs.map +1 -1
  347. package/fesm2020/ng-nest-ui-input-number.mjs +0 -1
  348. package/fesm2020/ng-nest-ui-input-number.mjs.map +1 -1
  349. package/fesm2020/ng-nest-ui-input.mjs +2 -3
  350. package/fesm2020/ng-nest-ui-input.mjs.map +1 -1
  351. package/fesm2020/ng-nest-ui-link.mjs +0 -1
  352. package/fesm2020/ng-nest-ui-link.mjs.map +1 -1
  353. package/fesm2020/ng-nest-ui-list.mjs +1 -2
  354. package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
  355. package/fesm2020/ng-nest-ui-loading.mjs +1 -2
  356. package/fesm2020/ng-nest-ui-loading.mjs.map +1 -1
  357. package/fesm2020/ng-nest-ui-menu.mjs +2 -3
  358. package/fesm2020/ng-nest-ui-menu.mjs.map +1 -1
  359. package/fesm2020/ng-nest-ui-message-box.mjs +0 -1
  360. package/fesm2020/ng-nest-ui-message-box.mjs.map +1 -1
  361. package/fesm2020/ng-nest-ui-message.mjs +0 -1
  362. package/fesm2020/ng-nest-ui-message.mjs.map +1 -1
  363. package/fesm2020/ng-nest-ui-notification.mjs +0 -1
  364. package/fesm2020/ng-nest-ui-notification.mjs.map +1 -1
  365. package/fesm2020/ng-nest-ui-pagination.mjs +46 -6
  366. package/fesm2020/ng-nest-ui-pagination.mjs.map +1 -1
  367. package/fesm2020/ng-nest-ui-popconfirm.mjs +0 -1
  368. package/fesm2020/ng-nest-ui-popconfirm.mjs.map +1 -1
  369. package/fesm2020/ng-nest-ui-popover.mjs +0 -1
  370. package/fesm2020/ng-nest-ui-popover.mjs.map +1 -1
  371. package/fesm2020/ng-nest-ui-progress.mjs +0 -1
  372. package/fesm2020/ng-nest-ui-progress.mjs.map +1 -1
  373. package/fesm2020/ng-nest-ui-radio.mjs +0 -1
  374. package/fesm2020/ng-nest-ui-radio.mjs.map +1 -1
  375. package/fesm2020/ng-nest-ui-rate.mjs +0 -1
  376. package/fesm2020/ng-nest-ui-rate.mjs.map +1 -1
  377. package/fesm2020/ng-nest-ui-result.mjs +0 -1
  378. package/fesm2020/ng-nest-ui-result.mjs.map +1 -1
  379. package/fesm2020/ng-nest-ui-select.mjs +2 -2
  380. package/fesm2020/ng-nest-ui-select.mjs.map +1 -1
  381. package/fesm2020/ng-nest-ui-skeleton.mjs +0 -1
  382. package/fesm2020/ng-nest-ui-skeleton.mjs.map +1 -1
  383. package/fesm2020/ng-nest-ui-slider-select.mjs +0 -1
  384. package/fesm2020/ng-nest-ui-slider-select.mjs.map +1 -1
  385. package/fesm2020/ng-nest-ui-slider.mjs +0 -1
  386. package/fesm2020/ng-nest-ui-slider.mjs.map +1 -1
  387. package/fesm2020/ng-nest-ui-steps.mjs +0 -1
  388. package/fesm2020/ng-nest-ui-steps.mjs.map +1 -1
  389. package/fesm2020/ng-nest-ui-switch.mjs +0 -1
  390. package/fesm2020/ng-nest-ui-switch.mjs.map +1 -1
  391. package/fesm2020/ng-nest-ui-table.mjs +89 -16
  392. package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
  393. package/fesm2020/ng-nest-ui-tabs.mjs +4 -5
  394. package/fesm2020/ng-nest-ui-tabs.mjs.map +1 -1
  395. package/fesm2020/ng-nest-ui-tag.mjs +0 -1
  396. package/fesm2020/ng-nest-ui-tag.mjs.map +1 -1
  397. package/fesm2020/ng-nest-ui-text-retract.mjs +0 -1
  398. package/fesm2020/ng-nest-ui-text-retract.mjs.map +1 -1
  399. package/fesm2020/ng-nest-ui-textarea.mjs +0 -1
  400. package/fesm2020/ng-nest-ui-textarea.mjs.map +1 -1
  401. package/fesm2020/ng-nest-ui-time-picker.mjs +291 -78
  402. package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
  403. package/fesm2020/ng-nest-ui-timeline.mjs +0 -1
  404. package/fesm2020/ng-nest-ui-timeline.mjs.map +1 -1
  405. package/fesm2020/ng-nest-ui-tooltip.mjs +2 -3
  406. package/fesm2020/ng-nest-ui-tooltip.mjs.map +1 -1
  407. package/fesm2020/ng-nest-ui-transfer.mjs +155 -25
  408. package/fesm2020/ng-nest-ui-transfer.mjs.map +1 -1
  409. package/fesm2020/ng-nest-ui-tree-file.mjs.map +1 -1
  410. package/fesm2020/ng-nest-ui-tree-select.mjs +0 -1
  411. package/fesm2020/ng-nest-ui-tree-select.mjs.map +1 -1
  412. package/fesm2020/ng-nest-ui-tree.mjs +0 -1
  413. package/fesm2020/ng-nest-ui-tree.mjs.map +1 -1
  414. package/fesm2020/ng-nest-ui-upload.mjs +4 -0
  415. package/fesm2020/ng-nest-ui-upload.mjs.map +1 -1
  416. package/find/find.component.d.ts +1 -1
  417. package/form/form.component.d.ts +1 -0
  418. package/highlight/highlight.component.d.ts +3 -3
  419. package/i18n/i18n.property.d.ts +6 -0
  420. package/i18n/languages/en_GB.d.ts +26 -0
  421. package/i18n/languages/en_US.d.ts +6 -0
  422. package/i18n/languages/zh_CN.d.ts +6 -0
  423. package/i18n/languages/zh_TW.d.ts +6 -0
  424. package/icon/icon.component.d.ts +2 -2
  425. package/image/image-preview.component.d.ts +2 -2
  426. package/image/image.component.d.ts +2 -2
  427. package/inner/inner.component.d.ts +1 -1
  428. package/input/input-group.component.d.ts +2 -2
  429. package/input/input.component.d.ts +5 -5
  430. package/input-number/input-number.component.d.ts +1 -1
  431. package/link/link.component.d.ts +2 -2
  432. package/list/list-option.component.d.ts +2 -2
  433. package/list/list.component.d.ts +7 -7
  434. package/loading/loading.component.d.ts +2 -2
  435. package/menu/menu-node.component.d.ts +2 -2
  436. package/menu/menu.component.d.ts +3 -3
  437. package/message/message.component.d.ts +2 -2
  438. package/message-box/message-box.component.d.ts +2 -2
  439. package/notification/notification.component.d.ts +2 -2
  440. package/package.json +1 -1
  441. package/pagination/pagination.component.d.ts +5 -3
  442. package/pagination/pagination.property.d.ts +13 -3
  443. package/popconfirm/popconfirm.component.d.ts +2 -2
  444. package/popover/popover-portal.component.d.ts +2 -2
  445. package/progress/progress.component.d.ts +2 -2
  446. package/radio/radio.component.d.ts +3 -3
  447. package/rate/rate.component.d.ts +3 -3
  448. package/result/result.component.d.ts +2 -2
  449. package/select/select.component.d.ts +1 -1
  450. package/skeleton/skeleton.component.d.ts +2 -2
  451. package/slider/slider.component.d.ts +4 -4
  452. package/slider-select/slider-select.component.d.ts +6 -6
  453. package/steps/steps.component.d.ts +2 -2
  454. package/switch/switch.component.d.ts +1 -1
  455. package/table/table-body.component.d.ts +3 -3
  456. package/table/table-foot.component.d.ts +3 -3
  457. package/table/table-head.component.d.ts +12 -4
  458. package/table/table.component.d.ts +15 -13
  459. package/table/table.module.d.ts +4 -3
  460. package/table/table.property.d.ts +26 -1
  461. package/tabs/tab-content.component.d.ts +1 -1
  462. package/tabs/tabs.component.d.ts +1 -1
  463. package/tag/tag.component.d.ts +2 -2
  464. package/text-retract/text-retract.component.d.ts +2 -2
  465. package/textarea/textarea.component.d.ts +4 -4
  466. package/time-picker/time-picker-frame.component.d.ts +30 -23
  467. package/time-picker/time-picker-portal.component.d.ts +13 -3
  468. package/time-picker/time-picker.component.d.ts +6 -3
  469. package/time-picker/time-picker.module.d.ts +2 -1
  470. package/time-picker/time-picker.property.d.ts +38 -2
  471. package/timeline/timeline.component.d.ts +2 -2
  472. package/tooltip/tooltip-portal.component.d.ts +3 -3
  473. package/transfer/transfer.component.d.ts +14 -4
  474. package/transfer/transfer.module.d.ts +4 -1
  475. package/transfer/transfer.property.d.ts +29 -4
  476. package/tree/tree-node.component.d.ts +2 -2
  477. package/tree/tree.component.d.ts +3 -3
  478. package/tree-file/tree-file.component.d.ts +2 -2
  479. package/tree-select/tree-select.component.d.ts +1 -1
  480. package/upload/upload-portal.component.d.ts +6 -6
  481. package/upload/upload.component.d.ts +3 -3
  482. package/core/util/chunk.d.ts +0 -1
  483. package/core/util/group-by.d.ts +0 -1
  484. package/core/util/guid.d.ts +0 -4
  485. package/esm2020/core/util/chunk.mjs +0 -14
  486. package/esm2020/core/util/group-by.mjs +0 -10
  487. package/esm2020/core/util/guid.mjs +0 -10
  488. package/esm2020/core/util/resize.mjs +0 -17
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const X_CONFIG = new InjectionToken('x-config');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY29yZS9jb25maWcvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNCQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBWS9DLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBVSxVQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgWFNpemUsXHJcbiAgWEJvb2xlYW4sXHJcbiAgWFR5cGUsXHJcbiAgWEVmZmVjdCxcclxuICBYTnVtYmVyLFxyXG4gIFhQb3NpdGlvbkxlZnRSaWdodCxcclxuICBYSnVzdGlmeSxcclxuICBYU2hhcGUsXHJcbiAgWEZpdCxcclxuICBYU2hhZG93LFxyXG4gIFhUcmlnZ2VyLFxyXG4gIFhEaXNwbGF5RGlyZWN0aW9uLFxyXG4gIFhDb3JuZXIsXHJcbiAgWERpcmVjdGlvbixcclxuICBYUGxhY2UsXHJcbiAgWFBvc2l0aW9uLFxyXG4gIFhQbGFjZW1lbnQsXHJcbiAgWFBvc2l0aW9uVG9wQm90dG9tLFxyXG4gIFhTdGF0dXMsXHJcbiAgWEFsaWduXHJcbn0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUaGVtZSB9IGZyb20gJy4uL3RoZW1lJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENvbmZpZyB7XHJcbiAgY29tcG9uZW50cz86IFhDb21wb25lbnRDb25maWc7XHJcbiAgdGhlbWU/OiBYVGhlbWU7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFhDb25maWdLZXkgPSBrZXlvZiBYQ29uZmlnO1xyXG5cclxuZXhwb3J0IHR5cGUgWENvbXBvbmVudENvbmZpZ0tleSA9IGtleW9mIFhDb21wb25lbnRDb25maWc7XHJcblxyXG5leHBvcnQgY29uc3QgWF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48WENvbmZpZz4oJ3gtY29uZmlnJyk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb21wb25lbnRDb25maWcge1xyXG4gIGFmZml4PzogWEFmZml4Q29uZmlnO1xyXG4gIGFsZXJ0PzogWEFsZXJ0Q29uZmlnO1xyXG4gIGFuY2hvcj86IFhBbmNob3JDb25maWc7XHJcbiAgYXZhdGFyPzogWEF2YXRhckNvbmZpZztcclxuICBhdXRvQ29tcGxldGU/OiBYQXV0b0NvbXBsZXRlQ29uZmlnO1xyXG4gIGJhY2tUb3A/OiBYQmFja1RvcENvbmZpZztcclxuICBiYWRnZT86IFhCYWRnZUNvbmZnaWc7XHJcbiAgYnV0dG9uPzogWEJ1dHRvbkNvbmZpZztcclxuICBidXR0b25zPzogWEJ1dHRvbnNDb25maWc7XHJcbiAgY2FsZW5kYXI/OiBYQ2FsZW5kYXJDb25maWc7XHJcbiAgY2FyZD86IFhDYXJkQ29uZmlnO1xyXG4gIGNhcm91c2VsPzogWENhcm91c2VsQ29uZmlnO1xyXG4gIGNhc2NhZGU/OiBYQ2FzY2FkZUNvbmZpZztcclxuICBjaGVja2JveD86IFhDaGVja2JveENvbmZpZztcclxuICBjb2xsYXBzZT86IFhDb2xsYXBzZUNvbmZpZztcclxuICBjb2xvcj86IFhDb2xvckNvbmZpZztcclxuICBjb2xvclBpY2tlcj86IFhDb2xvclBpY2tlckNvbmZpZztcclxuICBjb21tZW50PzogWENvbW1lbnRDb25maWc7XHJcbiAgY29udGFpbmVyPzogWENvbnRhaW5lckNvbmZpZztcclxuICBoZWFkZXI/OiBYSGVhZGVyQ29uZmlnO1xyXG4gIGFzaWRlPzogWEFzaWRlQ29uZmlnO1xyXG4gIGZvb3Rlcj86IFhGb290ZXJDb25maWc7XHJcbiAgY3J1bWI/OiBYQ3J1bWJDb21maWc7XHJcbiAgZGF0ZVBpY2tlcj86IFhEYXRlUGlja2VyQ29uZmlnO1xyXG4gIGRhdGVSYW5nZT86IFhEYXRlUmFuZ2VDb25maWc7XHJcbiAgZGlhbG9nPzogWERpYWxvZ0NvbmZpZztcclxuICBkcmF3ZXI/OiBYRHJhd2VyQ29uZmlnO1xyXG4gIGRyb3Bkb3duPzogWERyb3Bkb3duQ29uZmlnO1xyXG4gIGRlc2NyaXB0aW9uPzogWERlc2NyaXB0aW9uQ29uZmlnO1xyXG4gIGVtcHR5PzogWEVtcHR5Q29uZmlnO1xyXG4gIGZpbmQ/OiBYRmluZENvbmZpZztcclxuICBmb3JtPzogWEZvcm1Db25maWc7XHJcbiAgaGlnaGxpZ2h0PzogWEhpZ2hsaWdodENvbmZpZztcclxuICBpY29uPzogWEljb25Db25maWc7XHJcbiAgaW5uZXI/OiBYSW5uZXJDb25maWc7XHJcbiAgaW5wdXQ/OiBYSW5wdXRDb25maWc7XHJcbiAgaW5wdXRHcm91cD86IFhJbnB1dEdyb3VwQ29uZmlnO1xyXG4gIGlucHV0TnVtYmVyPzogWElucHV0TnVtYmVyQ29uZmlnO1xyXG4gIGltYWdlPzogWEltYWdlQ29uZmlnO1xyXG4gIGNvbD86IFhDb2xDb25maWc7XHJcbiAgcm93PzogWFJvd0NvbmZpZztcclxuICByaXBwbGU/OiBYUmlwcGxlQ29uZmlnO1xyXG4gIGxpbms/OiBYTGlua0NvbmZpZztcclxuICBsaXN0PzogWExpc3RDb25maWc7XHJcbiAgbGlzdE9wdGlvbj86IFhMaXN0T3B0aW9uQ29uZmlnO1xyXG4gIGxvYWRpbmc/OiBYTG9hZGluZ0NvbmZpZztcclxuICBtZW51PzogWE1lbnVDb25maWc7XHJcbiAgbWVzc2FnZT86IFhNZXNzYWdlQ29uZmlnO1xyXG4gIG1lc3NhZ2VCb3g/OiBYTWVzc2FnZUJveENvbmZpZztcclxuICBub3RpZmljYXRpb24/OiBYTm90aWZpY2F0aW9uQ29uZmlnO1xyXG4gIG91dGxldD86IFhPdXRsZXRDb25maWc7XHJcbiAgcGFnZUhlYWRlcj86IFhQYWdlSGVhZGVyQ29uZmlnO1xyXG4gIHBhZ2luYXRpb24/OiBYUGFnaW5hdGlvbkNvbmZpZztcclxuICBwYXR0ZXJuPzogWFBhdHRlcm5Db25maWc7XHJcbiAgcG9wY29uZmlybT86IFhQb3Bjb25maXJtQ29uZmlnO1xyXG4gIHBvcG92ZXI/OiBYUG9wb3ZlckNvbmZpZztcclxuICBwb3J0YWw/OiBYUG9ydGFsQ29uZmlnO1xyXG4gIHByb2dyZXNzPzogWFByb2dyZXNzQ29uZmluZztcclxuICByYWRpbz86IFhSYWRpb0NvbmZpZztcclxuICByYXRlPzogWFJhdGVDb25maWc7XHJcbiAgcmVzdWx0PzogWFJlc3VsdENvbmZpZztcclxuICBzZWxlY3Q/OiBYU2VsZWN0Q29uZmlnO1xyXG4gIHNrZWxldG9uPzogWFNrZWxldG9uQ29uZmlnO1xyXG4gIHNsaWRlcj86IFhTbGlkZXJDb25maWc7XHJcbiAgc2xpZGVyU2VsZWN0PzogWFNsaWRlclNlbGVjdENvbmZpZztcclxuICBzdGF0aXN0aWM/OiBYU3RhdGlzdGljQ29uZmlnO1xyXG4gIGNvdW50ZG93bj86IFhDb3VudGRvd25Db25maWc7XHJcbiAgc3RlcHM/OiBYU3RlcHNDb25maWc7XHJcbiAgc3dpdGNoPzogWFN3aXRjaENvbmZpZztcclxuICB0YWJsZT86IFhUYWJsZUNvbmZpZztcclxuICB0YWJzPzogWFRhYnNDb25maWc7XHJcbiAgdGFnPzogWFRhZ0NvbmZpZztcclxuICB0ZXh0UmV0cmFjdD86IFhUZXh0UmV0cmFjdENvbmZpZztcclxuICB0aGVtZT86IFhUaGVtZUNvbmZpZztcclxuICB0aW1lQWdvPzogWFRpbWVBZ29Db25maWc7XHJcbiAgdGltZVBpY2tlcj86IFhUaW1lUGlja2VyQ29uZmlnO1xyXG4gIHRpbWVSYW5nZT86IFhUaW1lUmFuZ2VDb25maWc7XHJcbiAgdGltZWxpbmU/OiBYVGltZWxpbmVDb25maWc7XHJcbiAgdG9vbHRpcD86IFhUb29sdGlwQ29uZmlnO1xyXG4gIHRyYW5zZmVyPzogWFRyYW5zZmVyQ29uZmlnO1xyXG4gIHRyZWU/OiBYVHJlZUNvbmZpZztcclxuICB0cmVlRmlsZT86IFhUcmVlRmlsZUNvbmZpZztcclxuICB0cmVlU2VsZWN0PzogWFRyZWVTZWxlY3RDb25maWc7XHJcbiAgdGV4dGFyZWE/OiBYVGV4dGFyZWFDb25maWc7XHJcbiAgdXBsb2FkPzogWFVwbG9hZENvbmZpZztcclxuICBrZXl3b3JkPzogWEtleXdvcmRDb25maWc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEFmZml4Q29uZmlnIHtcclxuICB0b3A/OiBzdHJpbmc7XHJcbiAgbGVmdD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQWxlcnRDb25maWcge1xyXG4gIGVmZmVjdD86IFhFZmZlY3Q7XHJcbiAgaGlkZUNsb3NlPzogWEJvb2xlYW47XHJcbiAgc2hvd0ljb24/OiBYQm9vbGVhbjtcclxuICBkaXNhYmxlZEFuaW1hdGlvbj86IFhCb29sZWFuO1xyXG4gIGRyYWdnYWJsZT86IFhCb29sZWFuO1xyXG4gIHJlc2l6YWJsZT86IFhCb29sZWFuO1xyXG4gIGRyYWdIYW5kbGVUaXRsZT86IFhCb29sZWFuO1xyXG4gIGR1cmF0aW9uPzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQW5jaG9yQ29uZmlnIHtcclxuICBhZmZpeFRvcD86IHN0cmluZztcclxuICBhZmZpeFdpZHRoPzogc3RyaW5nO1xyXG4gIGxheW91dD86IFhQb3NpdGlvbkxlZnRSaWdodDtcclxuICBqdXN0aWZ5PzogWEp1c3RpZnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEF2YXRhckNvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHNoYXBlPzogWFNoYXBlO1xyXG4gIGZpdD86IFhGaXQ7XHJcbiAgZ2FwPzogbnVtYmVyO1xyXG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQXV0b0NvbXBsZXRlQ29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYUG9zaXRpb25Ub3BCb3R0b207XHJcbiAgZGVib3VuY2VUaW1lPzogbnVtYmVyO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IGJvb2xlYW47XHJcbiAgY2FzZVNlbnNpdGl2ZT86IGJvb2xlYW47XHJcbiAgb25seVNlbGVjdD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEJhY2tUb3BDb25maWcge1xyXG4gIHJpZ2h0Pzogc3RyaW5nO1xyXG4gIGJvdHRvbT86IHN0cmluZztcclxuICB2aXNpYmlsaXR5SGVpZ2h0PzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQmFkZ2VDb25mZ2lnIHtcclxuICB0eXBlPzogWFR5cGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEJ1dHRvbkNvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHR5cGU/OiBYVHlwZTtcclxuICBwbGFpbj86IFhCb29sZWFuO1xyXG4gIHJvdW5kPzogWEJvb2xlYW47XHJcbiAgY2lyY2xlPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEJ1dHRvbnNDb25maWcge1xyXG4gIHNwYWNlPzogWE51bWJlcjtcclxuICBoaWRkZW5Cb3JkZXI/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ2FsZW5kYXJDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENhcmRDb25maWcge1xyXG4gIHNoYWRvdz86IFhTaGFkb3c7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENhcm91c2VsQ29uZmlnIHtcclxuICBoZWlnaHQ/OiBzdHJpbmc7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIGFycm93PzogWFNoYWRvdztcclxuICBkaXJlY3Rpb24/OiBYRGlzcGxheURpcmVjdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ2FzY2FkZUNvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWENvcm5lcjtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBib29sZWFuO1xyXG4gIG5vZGVUcmlnZ2VyPzogWFRyaWdnZXI7XHJcbiAgbm9kZUhvdmVyRGVsYXk/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDaGVja2JveENvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb2xsYXBzZUNvbmZpZyB7XHJcbiAgc2hvd0ljb24/OiBCb29sZWFuO1xyXG4gIGdob3N0PzogQm9vbGVhbjtcclxuICBpY29uUG9zaXRpb24/OiAnbGVmdCcgfCAncmlnaHQnO1xyXG4gIGJvcmRlcmVkPzogQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ29sb3JDb25maWcge1xyXG4gIG1lcmdlPzogc3RyaW5nO1xyXG4gIGFtb3VudHM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENvbG9yUGlja2VyQ29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYQ29ybmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb21tZW50Q29uZmlnIHtcclxuICBjb250ZW50TWF4PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb250YWluZXJDb25maWcge1xyXG4gIGRpcmVjdGlvbj86IFhEaXJlY3Rpb247XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEhlYWRlckNvbmZpZyB7XHJcbiAgaGVpZ2h0PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhBc2lkZUNvbmZpZyB7XHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEZvb3RlckNvbmZpZyB7XHJcbiAgaGVpZ2h0PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDcnVtYkNvbWZpZyB7XHJcbiAgc2VwYXJhdG9yPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEYXRlUGlja2VyQ29uZmlnIHtcclxuICBmb3JtYXQ/OiBzdHJpbmc7XHJcbiAgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgcGxhY2VtZW50PzogWENvcm5lcjtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEYXRlUmFuZ2VDb25maWcge1xyXG4gIGZvcm1hdD86IHN0cmluZztcclxuICBjbGVhcmFibGU/OiBYQm9vbGVhbjtcclxuICBwbGFjZW1lbnQ/OiBYQ29ybmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEaWFsb2dDb25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZTtcclxuICBvZmZzZXQ/OiBzdHJpbmc7XHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbiAgbWluV2lkdGg/OiBzdHJpbmc7XHJcbiAgbWluSGVpZ2h0Pzogc3RyaW5nO1xyXG4gIGVmZmVjdD86IFhFZmZlY3Q7XHJcbiAgc2hvd0NhbmNlbD86IFhCb29sZWFuO1xyXG4gIGNhbmNlbFRleHQ/OiBzdHJpbmc7XHJcbiAgc2hvd0NvbmZpcm0/OiBYQm9vbGVhbjtcclxuICBjb25maXJtVGV4dD86IHN0cmluZztcclxuICBiYWNrZHJvcENsb3NlPzogWEJvb2xlYW47XHJcbiAgZHJhZ2dhYmxlPzogWEJvb2xlYW47XHJcbiAgcmVzaXphYmxlPzogWEJvb2xlYW47XHJcbiAgbWF4aW1pemU/OiBYQm9vbGVhbjtcclxuICBoYXNCYWNrZHJvcD86IFhCb29sZWFuO1xyXG4gIGNsYXNzTmFtZT86IHN0cmluZztcclxuICBidXR0b25zQ2VudGVyPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERyYXdlckNvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWFBvc2l0aW9uO1xyXG4gIHNpemU/OiBzdHJpbmc7XHJcbiAgYmFja2Ryb3BDbG9zZT86IFhCb29sZWFuO1xyXG4gIGhhc0JhY2tkcm9wPzogWEJvb2xlYW47XHJcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEcm9wZG93bkNvbmZpZyB7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERlc2NyaXB0aW9uQ29uZmlnIHtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRW1wdHlDb25maWcge1xyXG4gIGNvbnRlbnQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEZpbmRDb25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIGNvbHVtbkxhYmVsPzogc3RyaW5nO1xyXG4gIGRpYWxvZ1RpdGxlPzogc3RyaW5nO1xyXG4gIGRpYWxvZ0NoZWNrYm94TGFiZWw/OiBzdHJpbmc7XHJcbiAgZGlhbG9nQ2hlY2tib3hXaWR0aD86IG51bWJlcjtcclxuICBkaWFsb2dFbXB0eUNvbnRlbnQ/OiBzdHJpbmc7XHJcbiAgZGlhbG9nQnV0dG9uc0NlbnRlcj86IFhCb29sZWFuO1xyXG4gIHRhYmxlSW5kZXg/OiBudW1iZXI7XHJcbiAgdGFibGVTaXplPzogbnVtYmVyO1xyXG4gIHRhYmxlTG9hZGluZz86IFhCb29sZWFuO1xyXG4gIHRhYmxlVmlydHVhbFNjcm9sbD86IGJvb2xlYW47XHJcbiAgdGFibGVSb3dIZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIHRyZWVFeHBhbmRlZExldmVsPzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRm9ybUNvbmZpZyB7XHJcbiAgc3BhY2U/OiBYTnVtYmVyO1xyXG4gIGxhYmVsU3VmZml4Pzogc3RyaW5nO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhIaWdobGlnaHRDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEljb25Db25maWcge1xyXG4gIGhyZWY/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWElubmVyQ29uZmlnIHtcclxuICBwYWRkaW5nPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJbnB1dENvbmZpZyB7XHJcbiAgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgaWNvbkxheW91dD86IFhQb3NpdGlvbkxlZnRSaWdodDtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICBpbnB1dFBhZGRpbmc/OiBYTnVtYmVyO1xyXG4gIGlucHV0SWNvblBhZGRpbmc/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJbnB1dEdyb3VwQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICBjb21wYWN0PzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWElucHV0TnVtYmVyQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYSW1hZ2VDb25maWcge1xyXG4gIHByZXZpZXdUZXh0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb2xDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFJvd0NvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUmlwcGxlQ29uZmlnIHtcclxuICB0eXBlPzogWFR5cGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWExpbmtDb25maWcge1xyXG4gIHVuZGVybGluZT86IFhCb29sZWFuO1xyXG4gIGljb25SaWdodD86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhMaXN0Q29uZmlnIHtcclxuICBzZWxlY3RBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIGxvYWRNb3JlVGV4dD86IHN0cmluZztcclxuICBsb2FkaW5nTW9yZVRleHQ/OiBzdHJpbmc7XHJcbiAgY2FzZVNlbnNpdGl2ZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWExpc3RPcHRpb25Db25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTG9hZGluZ0NvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBjb2xvcj86IHN0cmluZztcclxuICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xyXG4gIHpJbmRleD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTWVudUNvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIHRyaWdnZXI/OiBYVHJpZ2dlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTWVzc2FnZUNvbmZpZyB7XHJcbiAgdHlwZT86IFhTdGF0dXM7XHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbiAgcGxhY2VtZW50PzogWFBsYWNlO1xyXG4gIGRpc3BsYXlUeXBlPzogc3RyaW5nO1xyXG4gIG9mZnNldD86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIGR1cmF0aW9uPzogbnVtYmVyO1xyXG4gIGhpZGVDbG9zZT86IGJvb2xlYW47XHJcbiAgc2hvd0ljb24/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhNZXNzYWdlQm94Q29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhOb3RpZmljYXRpb25Db25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWE91dGxldENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUGFnZUhlYWRlckNvbmZpZyB7XHJcbiAgYmFja0ljb24/OiBzdHJpbmc7XHJcbiAgYmFja1RleHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBhZ2luYXRpb25Db25maWcge1xyXG4gIGluZGV4PzogWE51bWJlcjtcclxuICBzaXplPzogWE51bWJlcjtcclxuICBzcGFjZT86IFhOdW1iZXI7XHJcbiAgcGFnZUxpbmtTaXplPzogWE51bWJlcjtcclxuICBoaWRkZW5Cb3JkZXI/OiBib29sZWFuO1xyXG4gIHNob3dFbGxpcHNpcz86IGJvb2xlYW47XHJcbiAgc2hvd1RvdGFsPzogYm9vbGVhbjtcclxuICBzaG93U2l6ZT86IGJvb2xlYW47XHJcbiAgc2l6ZVdpZHRoPzogbnVtYmVyO1xyXG4gIHNpemVEYXRhPzogbnVtYmVyW107XHJcbiAgc2hvd0p1bXA/OiBib29sZWFuO1xyXG4gIGp1bXBXaWR0aD86IG51bWJlcjtcclxuICBzaW1wbGU/OiBib29sZWFuO1xyXG4gIHNpbXBsZUluZGV4V2lkdGg/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBhdHRlcm5Db25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBvcGNvbmZpcm1Db25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgaWNvbkNvbG9yPzogc3RyaW5nO1xyXG4gIGNhbmNlbFRleHQ/OiBzdHJpbmc7XHJcbiAgY29uZmlybVRleHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBvcG92ZXJDb25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhQb3J0YWxDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFByb2dyZXNzQ29uZmluZyB7XHJcbiAgaGVpZ2h0Pzogc3RyaW5nO1xyXG4gIHN0ZXBXaWR0aD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUmFkaW9Db25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUmF0ZUNvbmZpZyB7XHJcbiAgY29sb3I/OiBzdHJpbmcgfCB7IFtjb2xvcjogc3RyaW5nXTogKHJhdGU6IG51bWJlcikgPT4gYm9vbGVhbiB9O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhSZXN1bHRDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNlbGVjdENvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWFBvc2l0aW9uVG9wQm90dG9tO1xyXG4gIGNsZWFyYWJsZT86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIHBvcnRhbE1heEhlaWdodD86IHN0cmluZztcclxuICBzZWxlY3RBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIHNlYXJjaD86IFhCb29sZWFuO1xyXG4gIGNhc2VTZW5zaXRpdmU/OiBYQm9vbGVhbjtcclxuICBkZWJvdW5jZVRpbWU/OiBudW1iZXI7XHJcbiAgbWF4VGFnQ291bnQ/OiBudW1iZXI7XHJcbiAgdmlydHVhbFNjcm9sbD86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhTa2VsZXRvbkNvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU2xpZGVyQ29uZmlnIHtcclxuICBhbmltYXRlZD86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBzaG93RXhwYW5kPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNsaWRlclNlbGVjdENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU3RhdGlzdGljQ29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb3VudGRvd25Db25maWcge1xyXG4gIGZvcm1hdD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU3RlcHNDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFN3aXRjaENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVDb25maWcge1xyXG4gIGluZGV4PzogbnVtYmVyO1xyXG4gIHNpemU/OiBudW1iZXI7XHJcbiAgbG9hZGluZz86IFhCb29sZWFuO1xyXG4gIHNob3dIZWFkZXI/OiBYQm9vbGVhbjtcclxuICB2aXJ0dWFsU2Nyb2xsPzogYm9vbGVhbjtcclxuICByb3dIZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIGl0ZW1TaXplPzogWE51bWJlcjtcclxuICBib3JkZXJlZD86IFhOdW1iZXI7XHJcbiAgYWxsb3dTZWxlY3RSb3c/OiBYQm9vbGVhbjtcclxuICBhbGxvd0NoZWNrUm93PzogWEJvb2xlYW47XHJcbiAgcm93U2l6ZT86IFhTaXplO1xyXG4gIHNob3dQYWdpbmF0aW9uPzogWEJvb2xlYW47XHJcbiAgdHJlZVRhYmxlPzogWEJvb2xlYW47XHJcbiAgZXhwYW5kZWRBbGw/OiBYQm9vbGVhbjtcclxuICBleHBhbmRlZExldmVsPzogWE51bWJlcjtcclxuICBoaWRkZW5QYWdpbmF0aW9uQm9yZGVyPzogWEJvb2xlYW47XHJcbiAgaGlkZGVuV3JhcEJvcmRlcj86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJzQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRhZ0NvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIGJvcmRlcmVkPzogWEJvb2xlYW47XHJcbiAgY2xvc2FibGU/OiBYQm9vbGVhbjtcclxuICBkYXJrPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRleHRSZXRyYWN0Q29uZmlnIHtcclxuICBtYXg/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUaGVtZUNvbmZpZyB7XHJcbiAgYW1vdW50cz86IFhOdW1iZXJbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGltZUFnb0NvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGltZVBpY2tlckNvbmZpZyB7XHJcbiAgZm9ybWF0Pzogc3RyaW5nO1xyXG4gIHBsYWNlbWVudD86IFhDb3JuZXI7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIGJvcmRlcmVkPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRpbWVSYW5nZUNvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGltZWxpbmVDb25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVG9vbHRpcENvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWFBsYWNlbWVudDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVHJhbnNmZXJDb25maWcge1xyXG4gIHRpdGxlcz86IHN0cmluZ1tdO1xyXG4gIGRyYWc/OiBYQm9vbGVhbjtcclxuICB2aXJ0dWFsU2Nyb2xsPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRyZWVDb25maWcge1xyXG4gIHNwYWNpbmc/OiBYTnVtYmVyO1xyXG4gIG5vZGVIZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIG5vZGVBbGlnbkl0ZW1zPzogWEFsaWduO1xyXG4gIHZpcnR1YWxTY3JvbGw/OiBib29sZWFuO1xyXG4gIG9ubHlMZWFmPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGV4dGFyZWFDb25maWcge1xyXG4gIGNsZWFyYWJsZT86IFhCb29sZWFuO1xyXG4gIGljb25MYXlvdXQ/OiBYUG9zaXRpb25MZWZ0UmlnaHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRyZWVGaWxlQ29uZmlnIHtcclxuICBtYXhIZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIHNwYWNpbmc/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUcmVlU2VsZWN0Q29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYUG9zaXRpb25Ub3BCb3R0b207XHJcbiAgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIGJvcmRlcmVkPzogWEJvb2xlYW47XHJcbiAgcG9ydGFsTWF4SGVpZ2h0Pzogc3RyaW5nO1xyXG4gIHNlbGVjdEFsbFRleHQ/OiBzdHJpbmc7XHJcbiAgc2VhcmNoPzogWEJvb2xlYW47XHJcbiAgY2FzZVNlbnNpdGl2ZT86IFhCb29sZWFuO1xyXG4gIGRlYm91bmNlVGltZT86IG51bWJlcjtcclxuICBtYXhUYWdDb3VudD86IG51bWJlcjtcclxuICB2aXJ0dWFsU2Nyb2xsPzogWEJvb2xlYW47XHJcbiAgc2hvd1BhdGg/OiBYQm9vbGVhbjtcclxuICBzZXBhcmF0b3I/OiBzdHJpbmc7XHJcbiAgb25seUxlYWY/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhVcGxvYWRDb25maWcge1xyXG4gIGRvd25sb2FkPzogWEJvb2xlYW47XHJcbiAgbXVsdGlwbGVNb2RlbD86ICdjb3ZlcicgfCAnYWRkJztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYS2V5d29yZENvbmZpZyB7XHJcbiAgdHlwZT86IFhUeXBlO1xyXG4gIGNvbG9yPzogc3RyaW5nO1xyXG4gIGNhc2VTZW5zaXRpdmU/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY29yZS9jb25maWcvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNCQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBWS9DLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBVSxVQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgWFNpemUsXHJcbiAgWEJvb2xlYW4sXHJcbiAgWFR5cGUsXHJcbiAgWEVmZmVjdCxcclxuICBYTnVtYmVyLFxyXG4gIFhQb3NpdGlvbkxlZnRSaWdodCxcclxuICBYSnVzdGlmeSxcclxuICBYU2hhcGUsXHJcbiAgWEZpdCxcclxuICBYU2hhZG93LFxyXG4gIFhUcmlnZ2VyLFxyXG4gIFhEaXNwbGF5RGlyZWN0aW9uLFxyXG4gIFhDb3JuZXIsXHJcbiAgWERpcmVjdGlvbixcclxuICBYUGxhY2UsXHJcbiAgWFBvc2l0aW9uLFxyXG4gIFhQbGFjZW1lbnQsXHJcbiAgWFBvc2l0aW9uVG9wQm90dG9tLFxyXG4gIFhTdGF0dXMsXHJcbiAgWEFsaWduXHJcbn0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUaGVtZSB9IGZyb20gJy4uL3RoZW1lJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENvbmZpZyB7XHJcbiAgY29tcG9uZW50cz86IFhDb21wb25lbnRDb25maWc7XHJcbiAgdGhlbWU/OiBYVGhlbWU7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFhDb25maWdLZXkgPSBrZXlvZiBYQ29uZmlnO1xyXG5cclxuZXhwb3J0IHR5cGUgWENvbXBvbmVudENvbmZpZ0tleSA9IGtleW9mIFhDb21wb25lbnRDb25maWc7XHJcblxyXG5leHBvcnQgY29uc3QgWF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48WENvbmZpZz4oJ3gtY29uZmlnJyk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb21wb25lbnRDb25maWcge1xyXG4gIGFmZml4PzogWEFmZml4Q29uZmlnO1xyXG4gIGFsZXJ0PzogWEFsZXJ0Q29uZmlnO1xyXG4gIGFuY2hvcj86IFhBbmNob3JDb25maWc7XHJcbiAgYXZhdGFyPzogWEF2YXRhckNvbmZpZztcclxuICBhdXRvQ29tcGxldGU/OiBYQXV0b0NvbXBsZXRlQ29uZmlnO1xyXG4gIGJhY2tUb3A/OiBYQmFja1RvcENvbmZpZztcclxuICBiYWRnZT86IFhCYWRnZUNvbmZnaWc7XHJcbiAgYnV0dG9uPzogWEJ1dHRvbkNvbmZpZztcclxuICBidXR0b25zPzogWEJ1dHRvbnNDb25maWc7XHJcbiAgY2FsZW5kYXI/OiBYQ2FsZW5kYXJDb25maWc7XHJcbiAgY2FyZD86IFhDYXJkQ29uZmlnO1xyXG4gIGNhcm91c2VsPzogWENhcm91c2VsQ29uZmlnO1xyXG4gIGNhc2NhZGU/OiBYQ2FzY2FkZUNvbmZpZztcclxuICBjaGVja2JveD86IFhDaGVja2JveENvbmZpZztcclxuICBjb2xsYXBzZT86IFhDb2xsYXBzZUNvbmZpZztcclxuICBjb2xvcj86IFhDb2xvckNvbmZpZztcclxuICBjb2xvclBpY2tlcj86IFhDb2xvclBpY2tlckNvbmZpZztcclxuICBjb21tZW50PzogWENvbW1lbnRDb25maWc7XHJcbiAgY29udGFpbmVyPzogWENvbnRhaW5lckNvbmZpZztcclxuICBoZWFkZXI/OiBYSGVhZGVyQ29uZmlnO1xyXG4gIGFzaWRlPzogWEFzaWRlQ29uZmlnO1xyXG4gIGZvb3Rlcj86IFhGb290ZXJDb25maWc7XHJcbiAgY3J1bWI/OiBYQ3J1bWJDb21maWc7XHJcbiAgZGF0ZVBpY2tlcj86IFhEYXRlUGlja2VyQ29uZmlnO1xyXG4gIGRhdGVSYW5nZT86IFhEYXRlUmFuZ2VDb25maWc7XHJcbiAgZGlhbG9nPzogWERpYWxvZ0NvbmZpZztcclxuICBkcmF3ZXI/OiBYRHJhd2VyQ29uZmlnO1xyXG4gIGRyb3Bkb3duPzogWERyb3Bkb3duQ29uZmlnO1xyXG4gIGRlc2NyaXB0aW9uPzogWERlc2NyaXB0aW9uQ29uZmlnO1xyXG4gIGVtcHR5PzogWEVtcHR5Q29uZmlnO1xyXG4gIGZpbmQ/OiBYRmluZENvbmZpZztcclxuICBmb3JtPzogWEZvcm1Db25maWc7XHJcbiAgaGlnaGxpZ2h0PzogWEhpZ2hsaWdodENvbmZpZztcclxuICBpY29uPzogWEljb25Db25maWc7XHJcbiAgaW5uZXI/OiBYSW5uZXJDb25maWc7XHJcbiAgaW5wdXQ/OiBYSW5wdXRDb25maWc7XHJcbiAgaW5wdXRHcm91cD86IFhJbnB1dEdyb3VwQ29uZmlnO1xyXG4gIGlucHV0TnVtYmVyPzogWElucHV0TnVtYmVyQ29uZmlnO1xyXG4gIGltYWdlPzogWEltYWdlQ29uZmlnO1xyXG4gIGNvbD86IFhDb2xDb25maWc7XHJcbiAgcm93PzogWFJvd0NvbmZpZztcclxuICByaXBwbGU/OiBYUmlwcGxlQ29uZmlnO1xyXG4gIGxpbms/OiBYTGlua0NvbmZpZztcclxuICBsaXN0PzogWExpc3RDb25maWc7XHJcbiAgbGlzdE9wdGlvbj86IFhMaXN0T3B0aW9uQ29uZmlnO1xyXG4gIGxvYWRpbmc/OiBYTG9hZGluZ0NvbmZpZztcclxuICBtZW51PzogWE1lbnVDb25maWc7XHJcbiAgbWVzc2FnZT86IFhNZXNzYWdlQ29uZmlnO1xyXG4gIG1lc3NhZ2VCb3g/OiBYTWVzc2FnZUJveENvbmZpZztcclxuICBub3RpZmljYXRpb24/OiBYTm90aWZpY2F0aW9uQ29uZmlnO1xyXG4gIG91dGxldD86IFhPdXRsZXRDb25maWc7XHJcbiAgcGFnZUhlYWRlcj86IFhQYWdlSGVhZGVyQ29uZmlnO1xyXG4gIHBhZ2luYXRpb24/OiBYUGFnaW5hdGlvbkNvbmZpZztcclxuICBwYXR0ZXJuPzogWFBhdHRlcm5Db25maWc7XHJcbiAgcG9wY29uZmlybT86IFhQb3Bjb25maXJtQ29uZmlnO1xyXG4gIHBvcG92ZXI/OiBYUG9wb3ZlckNvbmZpZztcclxuICBwb3J0YWw/OiBYUG9ydGFsQ29uZmlnO1xyXG4gIHByb2dyZXNzPzogWFByb2dyZXNzQ29uZmluZztcclxuICByYWRpbz86IFhSYWRpb0NvbmZpZztcclxuICByYXRlPzogWFJhdGVDb25maWc7XHJcbiAgcmVzdWx0PzogWFJlc3VsdENvbmZpZztcclxuICBzZWxlY3Q/OiBYU2VsZWN0Q29uZmlnO1xyXG4gIHNrZWxldG9uPzogWFNrZWxldG9uQ29uZmlnO1xyXG4gIHNsaWRlcj86IFhTbGlkZXJDb25maWc7XHJcbiAgc2xpZGVyU2VsZWN0PzogWFNsaWRlclNlbGVjdENvbmZpZztcclxuICBzdGF0aXN0aWM/OiBYU3RhdGlzdGljQ29uZmlnO1xyXG4gIGNvdW50ZG93bj86IFhDb3VudGRvd25Db25maWc7XHJcbiAgc3RlcHM/OiBYU3RlcHNDb25maWc7XHJcbiAgc3dpdGNoPzogWFN3aXRjaENvbmZpZztcclxuICB0YWJsZT86IFhUYWJsZUNvbmZpZztcclxuICB0YWJzPzogWFRhYnNDb25maWc7XHJcbiAgdGFnPzogWFRhZ0NvbmZpZztcclxuICB0ZXh0UmV0cmFjdD86IFhUZXh0UmV0cmFjdENvbmZpZztcclxuICB0aGVtZT86IFhUaGVtZUNvbmZpZztcclxuICB0aW1lQWdvPzogWFRpbWVBZ29Db25maWc7XHJcbiAgdGltZVBpY2tlcj86IFhUaW1lUGlja2VyQ29uZmlnO1xyXG4gIHRpbWVSYW5nZT86IFhUaW1lUmFuZ2VDb25maWc7XHJcbiAgdGltZWxpbmU/OiBYVGltZWxpbmVDb25maWc7XHJcbiAgdG9vbHRpcD86IFhUb29sdGlwQ29uZmlnO1xyXG4gIHRyYW5zZmVyPzogWFRyYW5zZmVyQ29uZmlnO1xyXG4gIHRyZWU/OiBYVHJlZUNvbmZpZztcclxuICB0cmVlRmlsZT86IFhUcmVlRmlsZUNvbmZpZztcclxuICB0cmVlU2VsZWN0PzogWFRyZWVTZWxlY3RDb25maWc7XHJcbiAgdGV4dGFyZWE/OiBYVGV4dGFyZWFDb25maWc7XHJcbiAgdXBsb2FkPzogWFVwbG9hZENvbmZpZztcclxuICBrZXl3b3JkPzogWEtleXdvcmRDb25maWc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEFmZml4Q29uZmlnIHtcclxuICB0b3A/OiBzdHJpbmc7XHJcbiAgbGVmdD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQWxlcnRDb25maWcge1xyXG4gIGVmZmVjdD86IFhFZmZlY3Q7XHJcbiAgaGlkZUNsb3NlPzogWEJvb2xlYW47XHJcbiAgc2hvd0ljb24/OiBYQm9vbGVhbjtcclxuICBkaXNhYmxlZEFuaW1hdGlvbj86IFhCb29sZWFuO1xyXG4gIGRyYWdnYWJsZT86IFhCb29sZWFuO1xyXG4gIHJlc2l6YWJsZT86IFhCb29sZWFuO1xyXG4gIGRyYWdIYW5kbGVUaXRsZT86IFhCb29sZWFuO1xyXG4gIGR1cmF0aW9uPzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQW5jaG9yQ29uZmlnIHtcclxuICBhZmZpeFRvcD86IHN0cmluZztcclxuICBhZmZpeFdpZHRoPzogc3RyaW5nO1xyXG4gIGxheW91dD86IFhQb3NpdGlvbkxlZnRSaWdodDtcclxuICBqdXN0aWZ5PzogWEp1c3RpZnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEF2YXRhckNvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHNoYXBlPzogWFNoYXBlO1xyXG4gIGZpdD86IFhGaXQ7XHJcbiAgZ2FwPzogbnVtYmVyO1xyXG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQXV0b0NvbXBsZXRlQ29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYUG9zaXRpb25Ub3BCb3R0b207XHJcbiAgZGVib3VuY2VUaW1lPzogbnVtYmVyO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IGJvb2xlYW47XHJcbiAgY2FzZVNlbnNpdGl2ZT86IGJvb2xlYW47XHJcbiAgb25seVNlbGVjdD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEJhY2tUb3BDb25maWcge1xyXG4gIHJpZ2h0Pzogc3RyaW5nO1xyXG4gIGJvdHRvbT86IHN0cmluZztcclxuICB2aXNpYmlsaXR5SGVpZ2h0PzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQmFkZ2VDb25mZ2lnIHtcclxuICB0eXBlPzogWFR5cGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEJ1dHRvbkNvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHR5cGU/OiBYVHlwZTtcclxuICBwbGFpbj86IFhCb29sZWFuO1xyXG4gIHJvdW5kPzogWEJvb2xlYW47XHJcbiAgY2lyY2xlPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEJ1dHRvbnNDb25maWcge1xyXG4gIHNwYWNlPzogWE51bWJlcjtcclxuICBoaWRkZW5Cb3JkZXI/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ2FsZW5kYXJDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENhcmRDb25maWcge1xyXG4gIHNoYWRvdz86IFhTaGFkb3c7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENhcm91c2VsQ29uZmlnIHtcclxuICBoZWlnaHQ/OiBzdHJpbmc7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIGFycm93PzogWFNoYWRvdztcclxuICBkaXJlY3Rpb24/OiBYRGlzcGxheURpcmVjdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ2FzY2FkZUNvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWENvcm5lcjtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBib29sZWFuO1xyXG4gIG5vZGVUcmlnZ2VyPzogWFRyaWdnZXI7XHJcbiAgbm9kZUhvdmVyRGVsYXk/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDaGVja2JveENvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb2xsYXBzZUNvbmZpZyB7XHJcbiAgc2hvd0ljb24/OiBCb29sZWFuO1xyXG4gIGdob3N0PzogQm9vbGVhbjtcclxuICBpY29uUG9zaXRpb24/OiAnbGVmdCcgfCAncmlnaHQnO1xyXG4gIGJvcmRlcmVkPzogQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYQ29sb3JDb25maWcge1xyXG4gIG1lcmdlPzogc3RyaW5nO1xyXG4gIGFtb3VudHM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENvbG9yUGlja2VyQ29uZmlnIHtcclxuICBwbGFjZW1lbnQ/OiBYQ29ybmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb21tZW50Q29uZmlnIHtcclxuICBjb250ZW50TWF4PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb250YWluZXJDb25maWcge1xyXG4gIGRpcmVjdGlvbj86IFhEaXJlY3Rpb247XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEhlYWRlckNvbmZpZyB7XHJcbiAgaGVpZ2h0PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhBc2lkZUNvbmZpZyB7XHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEZvb3RlckNvbmZpZyB7XHJcbiAgaGVpZ2h0PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDcnVtYkNvbWZpZyB7XHJcbiAgc2VwYXJhdG9yPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEYXRlUGlja2VyQ29uZmlnIHtcclxuICBmb3JtYXQ/OiBzdHJpbmc7XHJcbiAgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgcGxhY2VtZW50PzogWENvcm5lcjtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEYXRlUmFuZ2VDb25maWcge1xyXG4gIGZvcm1hdD86IHN0cmluZztcclxuICBjbGVhcmFibGU/OiBYQm9vbGVhbjtcclxuICBwbGFjZW1lbnQ/OiBYQ29ybmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEaWFsb2dDb25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZTtcclxuICBvZmZzZXQ/OiBzdHJpbmc7XHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbiAgbWluV2lkdGg/OiBzdHJpbmc7XHJcbiAgbWluSGVpZ2h0Pzogc3RyaW5nO1xyXG4gIGVmZmVjdD86IFhFZmZlY3Q7XHJcbiAgc2hvd0NhbmNlbD86IFhCb29sZWFuO1xyXG4gIGNhbmNlbFRleHQ/OiBzdHJpbmc7XHJcbiAgc2hvd0NvbmZpcm0/OiBYQm9vbGVhbjtcclxuICBjb25maXJtVGV4dD86IHN0cmluZztcclxuICBiYWNrZHJvcENsb3NlPzogWEJvb2xlYW47XHJcbiAgZHJhZ2dhYmxlPzogWEJvb2xlYW47XHJcbiAgcmVzaXphYmxlPzogWEJvb2xlYW47XHJcbiAgbWF4aW1pemU/OiBYQm9vbGVhbjtcclxuICBoYXNCYWNrZHJvcD86IFhCb29sZWFuO1xyXG4gIGNsYXNzTmFtZT86IHN0cmluZztcclxuICBidXR0b25zQ2VudGVyPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERyYXdlckNvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWFBvc2l0aW9uO1xyXG4gIHNpemU/OiBzdHJpbmc7XHJcbiAgYmFja2Ryb3BDbG9zZT86IFhCb29sZWFuO1xyXG4gIGhhc0JhY2tkcm9wPzogWEJvb2xlYW47XHJcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhEcm9wZG93bkNvbmZpZyB7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERlc2NyaXB0aW9uQ29uZmlnIHtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRW1wdHlDb25maWcge1xyXG4gIGNvbnRlbnQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEZpbmRDb25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIGNvbHVtbkxhYmVsPzogc3RyaW5nO1xyXG4gIGRpYWxvZ1RpdGxlPzogc3RyaW5nO1xyXG4gIGRpYWxvZ0NoZWNrYm94TGFiZWw/OiBzdHJpbmc7XHJcbiAgZGlhbG9nQ2hlY2tib3hXaWR0aD86IG51bWJlcjtcclxuICBkaWFsb2dFbXB0eUNvbnRlbnQ/OiBzdHJpbmc7XHJcbiAgZGlhbG9nQnV0dG9uc0NlbnRlcj86IFhCb29sZWFuO1xyXG4gIHRhYmxlSW5kZXg/OiBudW1iZXI7XHJcbiAgdGFibGVTaXplPzogbnVtYmVyO1xyXG4gIHRhYmxlTG9hZGluZz86IFhCb29sZWFuO1xyXG4gIHRhYmxlVmlydHVhbFNjcm9sbD86IGJvb2xlYW47XHJcbiAgdGFibGVSb3dIZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIHRyZWVFeHBhbmRlZExldmVsPzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRm9ybUNvbmZpZyB7XHJcbiAgc3BhY2U/OiBYTnVtYmVyO1xyXG4gIGxhYmVsU3VmZml4Pzogc3RyaW5nO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhIaWdobGlnaHRDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEljb25Db25maWcge1xyXG4gIGhyZWY/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWElubmVyQ29uZmlnIHtcclxuICBwYWRkaW5nPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJbnB1dENvbmZpZyB7XHJcbiAgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgaWNvbkxheW91dD86IFhQb3NpdGlvbkxlZnRSaWdodDtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICBpbnB1dFBhZGRpbmc/OiBYTnVtYmVyO1xyXG4gIGlucHV0SWNvblBhZGRpbmc/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhJbnB1dEdyb3VwQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICBjb21wYWN0PzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWElucHV0TnVtYmVyQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYSW1hZ2VDb25maWcge1xyXG4gIHByZXZpZXdUZXh0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb2xDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFJvd0NvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUmlwcGxlQ29uZmlnIHtcclxuICB0eXBlPzogWFR5cGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWExpbmtDb25maWcge1xyXG4gIHVuZGVybGluZT86IFhCb29sZWFuO1xyXG4gIGljb25SaWdodD86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhMaXN0Q29uZmlnIHtcclxuICBzZWxlY3RBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIGxvYWRNb3JlVGV4dD86IHN0cmluZztcclxuICBsb2FkaW5nTW9yZVRleHQ/OiBzdHJpbmc7XHJcbiAgY2FzZVNlbnNpdGl2ZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWExpc3RPcHRpb25Db25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTG9hZGluZ0NvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBjb2xvcj86IHN0cmluZztcclxuICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xyXG4gIHpJbmRleD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTWVudUNvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIHRyaWdnZXI/OiBYVHJpZ2dlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYTWVzc2FnZUNvbmZpZyB7XHJcbiAgdHlwZT86IFhTdGF0dXM7XHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbiAgcGxhY2VtZW50PzogWFBsYWNlO1xyXG4gIGRpc3BsYXlUeXBlPzogc3RyaW5nO1xyXG4gIG9mZnNldD86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIGR1cmF0aW9uPzogbnVtYmVyO1xyXG4gIGhpZGVDbG9zZT86IGJvb2xlYW47XHJcbiAgc2hvd0ljb24/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhNZXNzYWdlQm94Q29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhOb3RpZmljYXRpb25Db25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWE91dGxldENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUGFnZUhlYWRlckNvbmZpZyB7XHJcbiAgYmFja0ljb24/OiBzdHJpbmc7XHJcbiAgYmFja1RleHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBhZ2luYXRpb25Db25maWcge1xyXG4gIGluZGV4PzogWE51bWJlcjtcclxuICBzaXplPzogWE51bWJlcjtcclxuICBzcGFjZT86IFhOdW1iZXI7XHJcbiAgcGFnZUxpbmtTaXplPzogWE51bWJlcjtcclxuICBoaWRkZW5Cb3JkZXI/OiBib29sZWFuO1xyXG4gIHNob3dFbGxpcHNpcz86IGJvb2xlYW47XHJcbiAgc2hvd1RvdGFsPzogYm9vbGVhbjtcclxuICBzaG93U2l6ZT86IGJvb2xlYW47XHJcbiAgc2l6ZVdpZHRoPzogbnVtYmVyO1xyXG4gIHNpemVEYXRhPzogbnVtYmVyW107XHJcbiAgc2hvd0lucHV0U2l6ZT86IGJvb2xlYW47XHJcbiAgaW5wdXRTaXplV2lkdGg/OiBudW1iZXI7XHJcbiAgc2hvd0p1bXA/OiBib29sZWFuO1xyXG4gIGp1bXBXaWR0aD86IG51bWJlcjtcclxuICBzaW1wbGU/OiBib29sZWFuO1xyXG4gIHNpbXBsZUluZGV4V2lkdGg/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBhdHRlcm5Db25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBvcGNvbmZpcm1Db25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgaWNvbkNvbG9yPzogc3RyaW5nO1xyXG4gIGNhbmNlbFRleHQ/OiBzdHJpbmc7XHJcbiAgY29uZmlybVRleHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFBvcG92ZXJDb25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbiAgdHJpZ2dlcj86IFhUcmlnZ2VyO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhQb3J0YWxDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFByb2dyZXNzQ29uZmluZyB7XHJcbiAgaGVpZ2h0Pzogc3RyaW5nO1xyXG4gIHN0ZXBXaWR0aD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUmFkaW9Db25maWcge1xyXG4gIHNpemU/OiBYU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYUmF0ZUNvbmZpZyB7XHJcbiAgY29sb3I/OiBzdHJpbmcgfCB7IFtjb2xvcjogc3RyaW5nXTogKHJhdGU6IG51bWJlcikgPT4gYm9vbGVhbiB9O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhSZXN1bHRDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNlbGVjdENvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWFBvc2l0aW9uVG9wQm90dG9tO1xyXG4gIGNsZWFyYWJsZT86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIHBvcnRhbE1heEhlaWdodD86IHN0cmluZztcclxuICBzZWxlY3RBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIHNlYXJjaD86IFhCb29sZWFuO1xyXG4gIGNhc2VTZW5zaXRpdmU/OiBYQm9vbGVhbjtcclxuICBkZWJvdW5jZVRpbWU/OiBudW1iZXI7XHJcbiAgbWF4VGFnQ291bnQ/OiBudW1iZXI7XHJcbiAgdmlydHVhbFNjcm9sbD86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhTa2VsZXRvbkNvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU2xpZGVyQ29uZmlnIHtcclxuICBhbmltYXRlZD86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBzaG93RXhwYW5kPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNsaWRlclNlbGVjdENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU3RhdGlzdGljQ29uZmlnIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhDb3VudGRvd25Db25maWcge1xyXG4gIGZvcm1hdD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYU3RlcHNDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFN3aXRjaENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGFibGVDb25maWcge1xyXG4gIGluZGV4PzogbnVtYmVyO1xyXG4gIHNpemU/OiBudW1iZXI7XHJcbiAgbG9hZGluZz86IFhCb29sZWFuO1xyXG4gIHNob3dIZWFkZXI/OiBYQm9vbGVhbjtcclxuICB2aXJ0dWFsU2Nyb2xsPzogYm9vbGVhbjtcclxuICByb3dIZWlnaHQ/OiBYTnVtYmVyO1xyXG4gIGl0ZW1TaXplPzogWE51bWJlcjtcclxuICBib3JkZXJlZD86IFhOdW1iZXI7XHJcbiAgYWxsb3dTZWxlY3RSb3c/OiBYQm9vbGVhbjtcclxuICBhbGxvd0NoZWNrUm93PzogWEJvb2xlYW47XHJcbiAgcm93U2l6ZT86IFhTaXplO1xyXG4gIHNob3dQYWdpbmF0aW9uPzogWEJvb2xlYW47XHJcbiAgdHJlZVRhYmxlPzogWEJvb2xlYW47XHJcbiAgZXhwYW5kZWRBbGw/OiBYQm9vbGVhbjtcclxuICBleHBhbmRlZExldmVsPzogWE51bWJlcjtcclxuICBoaWRkZW5QYWdpbmF0aW9uQm9yZGVyPzogWEJvb2xlYW47XHJcbiAgaGlkZGVuV3JhcEJvcmRlcj86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUYWJzQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRhZ0NvbmZpZyB7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIGJvcmRlcmVkPzogWEJvb2xlYW47XHJcbiAgY2xvc2FibGU/OiBYQm9vbGVhbjtcclxuICBkYXJrPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRleHRSZXRyYWN0Q29uZmlnIHtcclxuICBtYXg/OiBYTnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUaGVtZUNvbmZpZyB7XHJcbiAgYW1vdW50cz86IFhOdW1iZXJbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGltZUFnb0NvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVGltZVBpY2tlckNvbmZpZyB7XHJcbiAgZm9ybWF0Pzogc3RyaW5nO1xyXG4gIHBsYWNlbWVudD86IFhDb3JuZXI7XHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIGJvcmRlcmVkPzogWEJvb2xlYW47XHJcbiAgdXNlMTJIb3Vycz86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUaW1lUmFuZ2VDb25maWcge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRpbWVsaW5lQ29uZmlnIHtcclxuICBzaXplPzogWFNpemU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRvb2x0aXBDb25maWcge1xyXG4gIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRyYW5zZmVyQ29uZmlnIHtcclxuICB0aXRsZXM/OiBzdHJpbmdbXTtcclxuICBkcmFnPzogWEJvb2xlYW47XHJcbiAgdmlydHVhbFNjcm9sbD86IFhCb29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUcmVlQ29uZmlnIHtcclxuICBzcGFjaW5nPzogWE51bWJlcjtcclxuICBub2RlSGVpZ2h0PzogWE51bWJlcjtcclxuICBub2RlQWxpZ25JdGVtcz86IFhBbGlnbjtcclxuICB2aXJ0dWFsU2Nyb2xsPzogYm9vbGVhbjtcclxuICBvbmx5TGVhZj86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRleHRhcmVhQ29uZmlnIHtcclxuICBjbGVhcmFibGU/OiBYQm9vbGVhbjtcclxuICBpY29uTGF5b3V0PzogWFBvc2l0aW9uTGVmdFJpZ2h0O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFhUcmVlRmlsZUNvbmZpZyB7XHJcbiAgbWF4SGVpZ2h0PzogWE51bWJlcjtcclxuICBzcGFjaW5nPzogWE51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVHJlZVNlbGVjdENvbmZpZyB7XHJcbiAgcGxhY2VtZW50PzogWFBvc2l0aW9uVG9wQm90dG9tO1xyXG4gIGNsZWFyYWJsZT86IFhCb29sZWFuO1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIHBvcnRhbE1heEhlaWdodD86IHN0cmluZztcclxuICBzZWxlY3RBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIHNlYXJjaD86IFhCb29sZWFuO1xyXG4gIGNhc2VTZW5zaXRpdmU/OiBYQm9vbGVhbjtcclxuICBkZWJvdW5jZVRpbWU/OiBudW1iZXI7XHJcbiAgbWF4VGFnQ291bnQ/OiBudW1iZXI7XHJcbiAgdmlydHVhbFNjcm9sbD86IFhCb29sZWFuO1xyXG4gIHNob3dQYXRoPzogWEJvb2xlYW47XHJcbiAgc2VwYXJhdG9yPzogc3RyaW5nO1xyXG4gIG9ubHlMZWFmPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYVXBsb2FkQ29uZmlnIHtcclxuICBkb3dubG9hZD86IFhCb29sZWFuO1xyXG4gIG11bHRpcGxlTW9kZWw/OiAnY292ZXInIHwgJ2FkZCc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgWEtleXdvcmRDb25maWcge1xyXG4gIHR5cGU/OiBYVHlwZTtcclxuICBjb2xvcj86IHN0cmluZztcclxuICBjYXNlU2Vuc2l0aXZlPzogYm9vbGVhbjtcclxufVxyXG4iXX0=
@@ -0,0 +1,14 @@
1
+ export function XChunk(array, size = 1) {
2
+ const len = array == null ? 0 : array.length;
3
+ if (!len || size < 1) {
4
+ return [];
5
+ }
6
+ let index = 0;
7
+ let resIndex = 0;
8
+ const result = new Array(Math.ceil(len / size));
9
+ while (index < len) {
10
+ result[resIndex++] = array.slice(index, (index += size));
11
+ }
12
+ return result;
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2h1bmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9jb3JlL2Z1bmN0aW9ucy9jaHVuay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsTUFBTSxDQUFJLEtBQVUsRUFBRSxJQUFJLEdBQUcsQ0FBQztJQUM1QyxNQUFNLEdBQUcsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDN0MsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFO1FBQ3BCLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFDRCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDZCxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDakIsTUFBTSxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVoRCxPQUFPLEtBQUssR0FBRyxHQUFHLEVBQUU7UUFDbEIsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztLQUMxRDtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gWENodW5rPFQ+KGFycmF5OiBUW10sIHNpemUgPSAxKTogVFtdW10ge1xyXG4gIGNvbnN0IGxlbiA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xyXG4gIGlmICghbGVuIHx8IHNpemUgPCAxKSB7XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG4gIGxldCBpbmRleCA9IDA7XHJcbiAgbGV0IHJlc0luZGV4ID0gMDtcclxuICBjb25zdCByZXN1bHQgPSBuZXcgQXJyYXkoTWF0aC5jZWlsKGxlbiAvIHNpemUpKTtcclxuXHJcbiAgd2hpbGUgKGluZGV4IDwgbGVuKSB7XHJcbiAgICByZXN1bHRbcmVzSW5kZXgrK10gPSBhcnJheS5zbGljZShpbmRleCwgKGluZGV4ICs9IHNpemUpKTtcclxuICB9XHJcbiAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { XIsEmpty } from '../interfaces';
2
- export function setFlex(ele, renderer, justify, align, direction) {
2
+ export function XSetFlex(ele, renderer, justify, align, direction) {
3
3
  let result = [];
4
4
  if (!XIsEmpty(justify)) {
5
5
  const justifyStr = `x-justify-${justify}`;
@@ -18,4 +18,4 @@ export function setFlex(ele, renderer, justify, align, direction) {
18
18
  }
19
19
  return result;
20
20
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2NvcmUvZnVuY3Rpb25zL2ZsZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFzQixRQUFRLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFdkUsTUFBTSxVQUFVLE9BQU8sQ0FBQyxHQUFZLEVBQUUsUUFBbUIsRUFBRSxPQUFrQixFQUFFLEtBQWMsRUFBRSxTQUFzQjtJQUNuSCxJQUFJLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUN0QixNQUFNLFVBQVUsR0FBRyxhQUFhLE9BQU8sRUFBRSxDQUFDO1FBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDdkIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7S0FDcEM7SUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3BCLE1BQU0sUUFBUSxHQUFHLFdBQVcsS0FBSyxFQUFFLENBQUM7UUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNyQixRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztLQUNsQztJQUNELElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDeEIsTUFBTSxZQUFZLEdBQUcsZUFBZSxTQUFTLEVBQUUsQ0FBQztRQUNoRCxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ3pCLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO0tBQ3RDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYQWxpZ24sIFhEaXJlY3Rpb24sIFhJc0VtcHR5LCBYSnVzdGlmeSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHNldEZsZXgoZWxlOiBFbGVtZW50LCByZW5kZXJlcjogUmVuZGVyZXIyLCBqdXN0aWZ5PzogWEp1c3RpZnksIGFsaWduPzogWEFsaWduLCBkaXJlY3Rpb24/OiBYRGlyZWN0aW9uKSB7XHJcbiAgbGV0IHJlc3VsdDogc3RyaW5nW10gPSBbXTtcclxuICBpZiAoIVhJc0VtcHR5KGp1c3RpZnkpKSB7XHJcbiAgICBjb25zdCBqdXN0aWZ5U3RyID0gYHgtanVzdGlmeS0ke2p1c3RpZnl9YDtcclxuICAgIHJlc3VsdC5wdXNoKGp1c3RpZnlTdHIpXHJcbiAgICByZW5kZXJlci5hZGRDbGFzcyhlbGUsIGp1c3RpZnlTdHIpO1xyXG4gIH1cclxuICBpZiAoIVhJc0VtcHR5KGFsaWduKSkge1xyXG4gICAgY29uc3QgYWxpZ25TdHIgPSBgeC1hbGlnbi0ke2FsaWdufWA7XHJcbiAgICByZXN1bHQucHVzaChhbGlnblN0cilcclxuICAgIHJlbmRlcmVyLmFkZENsYXNzKGVsZSwgYWxpZ25TdHIpO1xyXG4gIH1cclxuICBpZiAoIVhJc0VtcHR5KGRpcmVjdGlvbikpIHtcclxuICAgIGNvbnN0IGRpcmVjdGlvblN0ciA9IGB4LWRpcmVjdGlvbi0ke2RpcmVjdGlvbn1gO1xyXG4gICAgcmVzdWx0LnB1c2goZGlyZWN0aW9uU3RyKVxyXG4gICAgcmVuZGVyZXIuYWRkQ2xhc3MoZWxlLCBkaXJlY3Rpb25TdHIpO1xyXG4gIH1cclxuICByZXR1cm4gcmVzdWx0O1xyXG59XHJcbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2NvcmUvZnVuY3Rpb25zL2ZsZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFzQixRQUFRLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFdkUsTUFBTSxVQUFVLFFBQVEsQ0FBQyxHQUFZLEVBQUUsUUFBbUIsRUFBRSxPQUFrQixFQUFFLEtBQWMsRUFBRSxTQUFzQjtJQUNwSCxJQUFJLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUN0QixNQUFNLFVBQVUsR0FBRyxhQUFhLE9BQU8sRUFBRSxDQUFDO1FBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDdkIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7S0FDcEM7SUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3BCLE1BQU0sUUFBUSxHQUFHLFdBQVcsS0FBSyxFQUFFLENBQUM7UUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNyQixRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztLQUNsQztJQUNELElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDeEIsTUFBTSxZQUFZLEdBQUcsZUFBZSxTQUFTLEVBQUUsQ0FBQztRQUNoRCxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ3pCLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO0tBQ3RDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYQWxpZ24sIFhEaXJlY3Rpb24sIFhJc0VtcHR5LCBYSnVzdGlmeSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFhTZXRGbGV4KGVsZTogRWxlbWVudCwgcmVuZGVyZXI6IFJlbmRlcmVyMiwganVzdGlmeT86IFhKdXN0aWZ5LCBhbGlnbj86IFhBbGlnbiwgZGlyZWN0aW9uPzogWERpcmVjdGlvbikge1xyXG4gIGxldCByZXN1bHQ6IHN0cmluZ1tdID0gW107XHJcbiAgaWYgKCFYSXNFbXB0eShqdXN0aWZ5KSkge1xyXG4gICAgY29uc3QganVzdGlmeVN0ciA9IGB4LWp1c3RpZnktJHtqdXN0aWZ5fWA7XHJcbiAgICByZXN1bHQucHVzaChqdXN0aWZ5U3RyKVxyXG4gICAgcmVuZGVyZXIuYWRkQ2xhc3MoZWxlLCBqdXN0aWZ5U3RyKTtcclxuICB9XHJcbiAgaWYgKCFYSXNFbXB0eShhbGlnbikpIHtcclxuICAgIGNvbnN0IGFsaWduU3RyID0gYHgtYWxpZ24tJHthbGlnbn1gO1xyXG4gICAgcmVzdWx0LnB1c2goYWxpZ25TdHIpXHJcbiAgICByZW5kZXJlci5hZGRDbGFzcyhlbGUsIGFsaWduU3RyKTtcclxuICB9XHJcbiAgaWYgKCFYSXNFbXB0eShkaXJlY3Rpb24pKSB7XHJcbiAgICBjb25zdCBkaXJlY3Rpb25TdHIgPSBgeC1kaXJlY3Rpb24tJHtkaXJlY3Rpb259YDtcclxuICAgIHJlc3VsdC5wdXNoKGRpcmVjdGlvblN0cilcclxuICAgIHJlbmRlcmVyLmFkZENsYXNzKGVsZSwgZGlyZWN0aW9uU3RyKTtcclxuICB9XHJcbiAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG4iXX0=
@@ -0,0 +1,10 @@
1
+ export function XGroupBy(array, name) {
2
+ const groups = {};
3
+ array.forEach((obj) => {
4
+ const group = JSON.stringify(obj[name]);
5
+ groups[group] = groups[group] || [];
6
+ groups[group].push(obj);
7
+ });
8
+ return Object.keys(groups).map((group) => groups[group]);
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtYnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9jb3JlL2Z1bmN0aW9ucy9ncm91cC1ieS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsUUFBUSxDQUFJLEtBQVUsRUFBRSxJQUFZO0lBQ2xELE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztJQUN2QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7UUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN4QyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDM0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBYR3JvdXBCeTxUPihhcnJheTogVFtdLCBuYW1lOiBzdHJpbmcpOiBUW11bXSB7XHJcbiAgY29uc3QgZ3JvdXBzOiBhbnkgPSB7fTtcclxuICBhcnJheS5mb3JFYWNoKChvYmo6IGFueSkgPT4ge1xyXG4gICAgY29uc3QgZ3JvdXAgPSBKU09OLnN0cmluZ2lmeShvYmpbbmFtZV0pO1xyXG4gICAgZ3JvdXBzW2dyb3VwXSA9IGdyb3Vwc1tncm91cF0gfHwgW107XHJcbiAgICBncm91cHNbZ3JvdXBdLnB1c2gob2JqKTtcclxuICB9KTtcclxuICByZXR1cm4gT2JqZWN0LmtleXMoZ3JvdXBzKS5tYXAoKGdyb3VwKSA9PiBncm91cHNbZ3JvdXBdKTtcclxufVxyXG4iXX0=
@@ -0,0 +1,10 @@
1
+ /**
2
+ * 生成 GUID
3
+ */
4
+ export function XGuid() {
5
+ let S4 = () => {
6
+ return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
7
+ };
8
+ return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2NvcmUvZnVuY3Rpb25zL2d1aWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLFVBQVUsS0FBSztJQUNuQixJQUFJLEVBQUUsR0FBRyxHQUFHLEVBQUU7UUFDWixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUMsQ0FBQztJQUNGLE9BQU8sRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDO0FBQ3ZGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICog55Sf5oiQIEdVSURcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBYR3VpZCgpIHtcclxuICBsZXQgUzQgPSAoKSA9PiB7XHJcbiAgICByZXR1cm4gKCgoMSArIE1hdGgucmFuZG9tKCkpICogMHgxMDAwMCkgfCAwKS50b1N0cmluZygxNikuc3Vic3RyaW5nKDEpO1xyXG4gIH07XHJcbiAgcmV0dXJuIFM0KCkgKyBTNCgpICsgJy0nICsgUzQoKSArICctJyArIFM0KCkgKyAnLScgKyBTNCgpICsgJy0nICsgUzQoKSArIFM0KCkgKyBTNCgpO1xyXG59XHJcbiJdfQ==
@@ -14,11 +14,32 @@ export function XOrderBy(collection, iteratees, orders) {
14
14
  return 0;
15
15
  }
16
16
  }
17
+ let isNumber = !isNaN(a[prop]);
17
18
  if (order === 'desc') {
18
- return (b[prop] - a[prop]);
19
+ if (isNumber) {
20
+ return (b[prop] - a[prop]);
21
+ }
22
+ else {
23
+ if (b[prop] > a[prop]) {
24
+ return 1;
25
+ }
26
+ else {
27
+ return -1;
28
+ }
29
+ }
19
30
  }
20
31
  else {
21
- return (a[prop] - b[prop]);
32
+ if (isNumber) {
33
+ return (a[prop] - b[prop]);
34
+ }
35
+ else {
36
+ if (a[prop] > b[prop]) {
37
+ return 1;
38
+ }
39
+ else {
40
+ return -1;
41
+ }
42
+ }
22
43
  }
23
44
  }
24
45
  const iterate = iteratees.shift();
@@ -28,4 +49,4 @@ export function XOrderBy(collection, iteratees, orders) {
28
49
  collection.sort((a, b) => compare(a, b, iterate, order, -1));
29
50
  return collection;
30
51
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItYnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9jb3JlL2Z1bmN0aW9ucy9vcmRlci1ieS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsUUFBUSxDQUFJLFVBQW9CLEVBQUUsU0FBd0IsRUFBRSxNQUE4QjtJQUN4RyxJQUFJLENBQUMsU0FBUztRQUFFLE9BQU8sVUFBVSxDQUFDO0lBQ2xDLElBQUksQ0FBQyxNQUFNO1FBQUUsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUV6QixTQUFTLE9BQU8sQ0FBQyxDQUFNLEVBQUUsQ0FBTSxFQUFFLElBQVMsRUFBRSxLQUFpQyxFQUFFLElBQVk7UUFDekYsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3RCLEVBQUUsSUFBSSxDQUFDO1lBQ1AsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRTtnQkFDM0IsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztnQkFDbEUsT0FBTyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO2FBQ2xEO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxDQUFDO2FBQ1Y7U0FDRjtRQUNELElBQUksS0FBSyxLQUFLLE1BQU0sRUFBRTtZQUNwQixPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBVyxDQUFDO1NBQ3RDO2FBQU07WUFDTCxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBVyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNsQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksS0FBSyxDQUFDO0lBRXRDLElBQUksQ0FBQyxPQUFPO1FBQUUsT0FBTyxVQUFVLENBQUM7SUFFaEMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxDQUFNLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXZFLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gWE9yZGVyQnk8VD4oY29sbGVjdGlvbjogQXJyYXk8VD4sIGl0ZXJhdGVlczogQXJyYXk8c3RyaW5nPiwgb3JkZXJzPzogQXJyYXk8J2FzYycgfCAnZGVzYyc+KTogVFtdIHtcclxuICBpZiAoIWl0ZXJhdGVlcykgcmV0dXJuIGNvbGxlY3Rpb247XHJcbiAgaWYgKCFvcmRlcnMpIG9yZGVycyA9IFtdO1xyXG5cclxuICBmdW5jdGlvbiBjb21wYXJlKGE6IGFueSwgYjogYW55LCBwcm9wOiBhbnksIG9yZGVyOiAnYXNjJyB8ICdkZXNjJyB8IHVuZGVmaW5lZCwgaWRleDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGlmIChhW3Byb3BdID09IGJbcHJvcF0pIHtcclxuICAgICAgKytpZGV4O1xyXG4gICAgICBpZiAoaXRlcmF0ZWVzLmxlbmd0aCA+IGlkZXgpIHtcclxuICAgICAgICBjb25zdCBvZHIgPSBvcmRlcnMgJiYgb3JkZXJzLmxlbmd0aCA+IGlkZXggPyBvcmRlcnNbaWRleF0gOiAnYXNjJztcclxuICAgICAgICByZXR1cm4gY29tcGFyZShhLCBiLCBpdGVyYXRlZXNbaWRleF0sIG9kciwgaWRleCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChvcmRlciA9PT0gJ2Rlc2MnKSB7XHJcbiAgICAgIHJldHVybiAoYltwcm9wXSAtIGFbcHJvcF0pIGFzIG51bWJlcjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoYVtwcm9wXSAtIGJbcHJvcF0pIGFzIG51bWJlcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0IGl0ZXJhdGUgPSBpdGVyYXRlZXMuc2hpZnQoKTtcclxuICBjb25zdCBvcmRlciA9IG9yZGVycy5zaGlmdCgpIHx8ICdhc2MnO1xyXG5cclxuICBpZiAoIWl0ZXJhdGUpIHJldHVybiBjb2xsZWN0aW9uO1xyXG5cclxuICBjb2xsZWN0aW9uLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiBjb21wYXJlKGEsIGIsIGl0ZXJhdGUsIG9yZGVyLCAtMSkpO1xyXG5cclxuICByZXR1cm4gY29sbGVjdGlvbjtcclxufVxyXG4iXX0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItYnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9jb3JlL2Z1bmN0aW9ucy9vcmRlci1ieS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsUUFBUSxDQUFJLFVBQW9CLEVBQUUsU0FBd0IsRUFBRSxNQUE4QjtJQUN4RyxJQUFJLENBQUMsU0FBUztRQUFFLE9BQU8sVUFBVSxDQUFDO0lBQ2xDLElBQUksQ0FBQyxNQUFNO1FBQUUsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUV6QixTQUFTLE9BQU8sQ0FBQyxDQUFNLEVBQUUsQ0FBTSxFQUFFLElBQVMsRUFBRSxLQUFpQyxFQUFFLElBQVk7UUFDekYsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3RCLEVBQUUsSUFBSSxDQUFDO1lBQ1AsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRTtnQkFDM0IsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztnQkFDbEUsT0FBTyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO2FBQ2xEO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxDQUFDO2FBQ1Y7U0FDRjtRQUNELElBQUksUUFBUSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQy9CLElBQUksS0FBSyxLQUFLLE1BQU0sRUFBRTtZQUNwQixJQUFJLFFBQVEsRUFBRTtnQkFDWixPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBVyxDQUFDO2FBQ3RDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDckIsT0FBTyxDQUFDLENBQUM7aUJBQ1Y7cUJBQU07b0JBQ0wsT0FBTyxDQUFDLENBQUMsQ0FBQztpQkFDWDthQUNGO1NBQ0Y7YUFBTTtZQUNMLElBQUksUUFBUSxFQUFFO2dCQUNaLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFXLENBQUM7YUFDdEM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNyQixPQUFPLENBQUMsQ0FBQztpQkFDVjtxQkFBTTtvQkFDTCxPQUFPLENBQUMsQ0FBQyxDQUFDO2lCQUNYO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLEtBQUssQ0FBQztJQUV0QyxJQUFJLENBQUMsT0FBTztRQUFFLE9BQU8sVUFBVSxDQUFDO0lBRWhDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV2RSxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIFhPcmRlckJ5PFQ+KGNvbGxlY3Rpb246IEFycmF5PFQ+LCBpdGVyYXRlZXM6IEFycmF5PHN0cmluZz4sIG9yZGVycz86IEFycmF5PCdhc2MnIHwgJ2Rlc2MnPik6IFRbXSB7XHJcbiAgaWYgKCFpdGVyYXRlZXMpIHJldHVybiBjb2xsZWN0aW9uO1xyXG4gIGlmICghb3JkZXJzKSBvcmRlcnMgPSBbXTtcclxuXHJcbiAgZnVuY3Rpb24gY29tcGFyZShhOiBhbnksIGI6IGFueSwgcHJvcDogYW55LCBvcmRlcjogJ2FzYycgfCAnZGVzYycgfCB1bmRlZmluZWQsIGlkZXg6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBpZiAoYVtwcm9wXSA9PSBiW3Byb3BdKSB7XHJcbiAgICAgICsraWRleDtcclxuICAgICAgaWYgKGl0ZXJhdGVlcy5sZW5ndGggPiBpZGV4KSB7XHJcbiAgICAgICAgY29uc3Qgb2RyID0gb3JkZXJzICYmIG9yZGVycy5sZW5ndGggPiBpZGV4ID8gb3JkZXJzW2lkZXhdIDogJ2FzYyc7XHJcbiAgICAgICAgcmV0dXJuIGNvbXBhcmUoYSwgYiwgaXRlcmF0ZWVzW2lkZXhdLCBvZHIsIGlkZXgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgaXNOdW1iZXIgPSAhaXNOYU4oYVtwcm9wXSk7XHJcbiAgICBpZiAob3JkZXIgPT09ICdkZXNjJykge1xyXG4gICAgICBpZiAoaXNOdW1iZXIpIHtcclxuICAgICAgICByZXR1cm4gKGJbcHJvcF0gLSBhW3Byb3BdKSBhcyBudW1iZXI7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKGJbcHJvcF0gPiBhW3Byb3BdKSB7XHJcbiAgICAgICAgICByZXR1cm4gMTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKGlzTnVtYmVyKSB7XHJcbiAgICAgICAgcmV0dXJuIChhW3Byb3BdIC0gYltwcm9wXSkgYXMgbnVtYmVyO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChhW3Byb3BdID4gYltwcm9wXSkge1xyXG4gICAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiAtMTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0IGl0ZXJhdGUgPSBpdGVyYXRlZXMuc2hpZnQoKTtcclxuICBjb25zdCBvcmRlciA9IG9yZGVycy5zaGlmdCgpIHx8ICdhc2MnO1xyXG5cclxuICBpZiAoIWl0ZXJhdGUpIHJldHVybiBjb2xsZWN0aW9uO1xyXG5cclxuICBjb2xsZWN0aW9uLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiBjb21wYXJlKGEsIGIsIGl0ZXJhdGUsIG9yZGVyLCAtMSkpO1xyXG5cclxuICByZXR1cm4gY29sbGVjdGlvbjtcclxufVxyXG4iXX0=
@@ -6,5 +6,9 @@ export * from './remove';
6
6
  export * from './order-by';
7
7
  export * from './clone-deep';
8
8
  export * from './has-in';
9
+ export * from './chunk';
10
+ export * from './guid';
11
+ export * from './group-by';
12
+ export * from './resize';
9
13
  export * from './property';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2NvcmUvZnVuY3Rpb25zL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnZlcnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RhdGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZsZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Ryb3AnO1xyXG5leHBvcnQgKiBmcm9tICcuL3JlbW92ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXItYnknO1xyXG5leHBvcnQgKiBmcm9tICcuL2Nsb25lLWRlZXAnO1xyXG5leHBvcnQgKiBmcm9tICcuL2hhcy1pbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vcHJvcGVydHknO1xyXG4iXX0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2NvcmUvZnVuY3Rpb25zL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnZlcnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RhdGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZsZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Ryb3AnO1xyXG5leHBvcnQgKiBmcm9tICcuL3JlbW92ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXItYnknO1xyXG5leHBvcnQgKiBmcm9tICcuL2Nsb25lLWRlZXAnO1xyXG5leHBvcnQgKiBmcm9tICcuL2hhcy1pbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2h1bmsnO1xyXG5leHBvcnQgKiBmcm9tICcuL2d1aWQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2dyb3VwLWJ5JztcclxuZXhwb3J0ICogZnJvbSAnLi9yZXNpemUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Byb3BlcnR5JztcclxuIl19
@@ -0,0 +1,17 @@
1
+ import { Observable } from 'rxjs';
2
+ export const XResize = (...element) => {
3
+ return new Observable((x) => {
4
+ const resizeObserver = new ResizeObserver((entries) => {
5
+ for (const entry of entries) {
6
+ x.next({ entry: entry, resizeObserver: resizeObserver });
7
+ }
8
+ });
9
+ for (let ele of element) {
10
+ if (ele)
11
+ resizeObserver.observe(ele);
12
+ }
13
+ //XResize 取消订阅的时候自动销毁
14
+ //resizeObserver.disconnect();
15
+ });
16
+ };
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvY29yZS9mdW5jdGlvbnMvcmVzaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFOUMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxPQUFrQixFQUE4RSxFQUFFO0lBQzNILE9BQU8sSUFBSSxVQUFVLENBQ25CLENBQ0UsQ0FHRSxFQUNGLEVBQUU7UUFDRixNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxDQUFDLE9BQThCLEVBQUUsRUFBRTtZQUMzRSxLQUFLLE1BQU0sS0FBSyxJQUFJLE9BQU8sRUFBRTtnQkFDM0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7YUFDMUQ7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILEtBQUssSUFBSSxHQUFHLElBQUksT0FBTyxFQUFFO1lBQ3ZCLElBQUksR0FBRztnQkFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3RDO1FBRUQscUJBQXFCO1FBQ3JCLDhCQUE4QjtJQUNoQyxDQUFDLENBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmliZXIgfSBmcm9tICdyeGpzJztcclxuXHJcbmV4cG9ydCBjb25zdCBYUmVzaXplID0gKC4uLmVsZW1lbnQ6IEVsZW1lbnRbXSk6IE9ic2VydmFibGU8eyBlbnRyeTogUmVzaXplT2JzZXJ2ZXJFbnRyeTsgcmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyIH0+ID0+IHtcclxuICByZXR1cm4gbmV3IE9ic2VydmFibGUoXHJcbiAgICAoXHJcbiAgICAgIHg6IFN1YnNjcmliZXI8e1xyXG4gICAgICAgIGVudHJ5OiBSZXNpemVPYnNlcnZlckVudHJ5O1xyXG4gICAgICAgIHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlcjtcclxuICAgICAgfT5cclxuICAgICkgPT4ge1xyXG4gICAgICBjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllczogUmVzaXplT2JzZXJ2ZXJFbnRyeVtdKSA9PiB7XHJcbiAgICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XHJcbiAgICAgICAgICB4Lm5leHQoeyBlbnRyeTogZW50cnksIHJlc2l6ZU9ic2VydmVyOiByZXNpemVPYnNlcnZlciB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBmb3IgKGxldCBlbGUgb2YgZWxlbWVudCkge1xyXG4gICAgICAgIGlmIChlbGUpIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoZWxlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy9YUmVzaXplIOWPlua2iOiuoumYheeahOaXtuWAmeiHquWKqOmUgOavgVxyXG4gICAgICAvL3Jlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcclxuICAgIH1cclxuICApO1xyXG59O1xyXG4iXX0=
@@ -1,7 +1,3 @@
1
- export * from './chunk';
2
- export * from './guid';
3
- export * from './group-by';
4
- export * from './resize';
5
1
  export * from './option';
6
2
  export * from './host';
7
3
  export * from './log';
@@ -9,4 +5,4 @@ export * from './computed-style';
9
5
  export * from './animation';
10
6
  export * from './html';
11
7
  export * from './check';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2NvcmUvdXRpbC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsT0FBTyxDQUFDO0FBQ3RCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NodW5rJztcclxuZXhwb3J0ICogZnJvbSAnLi9ndWlkJztcclxuZXhwb3J0ICogZnJvbSAnLi9ncm91cC1ieSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmVzaXplJztcclxuZXhwb3J0ICogZnJvbSAnLi9vcHRpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2hvc3QnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xvZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29tcHV0ZWQtc3R5bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FuaW1hdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vaHRtbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2hlY2snO1xyXG4iXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2NvcmUvdXRpbC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsT0FBTyxDQUFDO0FBQ3RCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL29wdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vaG9zdCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9nJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb21wdXRlZC1zdHlsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYW5pbWF0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9odG1sJztcclxuZXhwb3J0ICogZnJvbSAnLi9jaGVjayc7XHJcbiJdfQ==
@@ -130,7 +130,7 @@ export class XDatePickerPortalComponent {
130
130
  }
131
131
  }
132
132
  /** @nocollapse */ XDatePickerPortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XDatePickerPortalComponent, deps: [{ token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i2.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
133
- /** @nocollapse */ XDatePickerPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XDatePickerPortalComponent, selector: "x-date-picker-portal", host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.placement" } }, providers: [DatePipe, LowerCasePipe], ngImport: i0, template: "<div class=\"x-date-picker-portal {{ type }}\" [ngSwitch]=\"type\" (click)=\"inputCom.inputFocus()\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <x-picker-date [display]=\"display\" [model]=\"model\" [(type)]=\"type\" (modelChange)=\"dateChange($event)\"></x-picker-date>\r\n <div *ngIf=\"preset\" class=\"x-date-picker-portal-preset\">\r\n <ng-container *ngFor=\"let item of preset\">\r\n <x-button type=\"text\" *ngIf=\"item.id === 'yesterday'\" (click)=\"onYesterday()\">{{ locale.yesterday }}</x-button>\r\n <x-button type=\"text\" *ngIf=\"item.id === 'today'\" (click)=\"onToday()\">{{ locale.today }}</x-button>\r\n <x-button type=\"text\" *ngIf=\"item.id === 'tomorrow'\" (click)=\"onTomorrow()\">{{ locale.tomorrow }}</x-button>\r\n <x-button type=\"text\" *ngIf=\"item.func\" (click)=\"onPresetFunc(item)\">{{ item.label }}</x-button>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'month'\">\r\n <x-picker-month [display]=\"display\" [model]=\"model\" [(type)]=\"type\" (modelChange)=\"monthChange($event)\"></x-picker-month>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'year'\">\r\n <x-picker-year [display]=\"display\" [model]=\"model\" [(type)]=\"type\" (modelChange)=\"yearChange($event)\"></x-picker-year>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-time'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm:ss', timeType: 'time' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-hour'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH', timeType: 'hour' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-minute'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm', timeType: 'minute' }\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #dateTimeHourMinuteTpl let-timeFormat=\"timeFormat\" let-timeType=\"timeType\">\r\n <div class=\"x-date-picker-portal-content\">\r\n <div class=\"x-date-picker-portal-date\">\r\n <x-picker-date [display]=\"display\" [(type)]=\"type\" [model]=\"model\" (modelChange)=\"dateChange($event)\"></x-picker-date>\r\n </div>\r\n <div class=\"x-date-picker-portal-time\">\r\n <div class=\"x-date-picker-portal-time-label\">\r\n <x-button type=\"text\" size=\"small\">{{ time | date: timeFormat }}</x-button>\r\n </div>\r\n <x-time-picker-frame [type]=\"timeType\" [value]=\"time\" (nodeEmit)=\"selectTime($event)\"></x-time-picker-frame>\r\n </div>\r\n </div>\r\n <div class=\"x-date-picker-portal-footer\">\r\n <x-button type=\"primary\" size=\"small\" (click)=\"nodeEmit(model)\">{{ locale.sure }}</x-button>\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-date-picker-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);width:16rem;display:flex;flex-direction:column;font-size:var(--x-font-size-small)}.x-date-picker-portal.date-time{width:27rem}.x-date-picker-portal.date-hour{width:19.75rem}.x-date-picker-portal.date-minute{width:23.375rem}.x-date-picker-portal-content{display:flex}.x-date-picker-portal-preset{display:flex;align-items:center;justify-content:center;border-top:var(--x-border-width) solid var(--x-border)}.x-date-picker-portal-preset>x-button{flex:1}.x-date-picker-portal-body{padding:.4rem}.x-date-picker-portal-footer{display:flex;justify-content:flex-end;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-picker-portal-date{flex:1}.x-date-picker-portal-time{display:flex;flex-direction:column;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-picker-portal-time-label{padding:.5rem;text-align:center;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-picker-portal-time .x-time-picker-frame{border-width:0;box-shadow:none;margin:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.XTimePickerFrameComponent, selector: "x-time-picker-frame", inputs: ["type", "value"], outputs: ["nodeEmit"] }, { kind: "component", type: i4.XButtonComponent, selector: "x-button" }, { kind: "component", type: i5.XPickerDateComponent, selector: "x-picker-date" }, { kind: "component", type: i6.XPickerMonthComponent, selector: "x-picker-month" }, { kind: "component", type: i7.XPickerYearComponent, selector: "x-picker-year" }, { kind: "pipe", type: i1.DatePipe, name: "date" }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
133
+ /** @nocollapse */ XDatePickerPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XDatePickerPortalComponent, selector: "x-date-picker-portal", host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.placement" } }, providers: [DatePipe, LowerCasePipe], ngImport: i0, template: "<div class=\"x-date-picker-portal {{ type }}\" [ngSwitch]=\"type\" (click)=\"inputCom.inputFocus()\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <x-picker-date [display]=\"display\" [model]=\"model\" [(type)]=\"type\" (modelChange)=\"dateChange($event)\"></x-picker-date>\r\n <div *ngIf=\"preset\" class=\"x-date-picker-portal-preset\">\r\n <ng-container *ngFor=\"let item of preset\">\r\n <x-button type=\"text\" *ngIf=\"item.id === 'yesterday'\" (click)=\"onYesterday()\">{{ locale.yesterday }}</x-button>\r\n <x-button type=\"text\" *ngIf=\"item.id === 'today'\" (click)=\"onToday()\">{{ locale.today }}</x-button>\r\n <x-button type=\"text\" *ngIf=\"item.id === 'tomorrow'\" (click)=\"onTomorrow()\">{{ locale.tomorrow }}</x-button>\r\n <x-button type=\"text\" *ngIf=\"item.func\" (click)=\"onPresetFunc(item)\">{{ item.label }}</x-button>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'month'\">\r\n <x-picker-month [display]=\"display\" [model]=\"model\" [(type)]=\"type\" (modelChange)=\"monthChange($event)\"></x-picker-month>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'year'\">\r\n <x-picker-year [display]=\"display\" [model]=\"model\" [(type)]=\"type\" (modelChange)=\"yearChange($event)\"></x-picker-year>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-time'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm:ss', timeType: 'time' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-hour'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH', timeType: 'hour' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-minute'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm', timeType: 'minute' }\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #dateTimeHourMinuteTpl let-timeFormat=\"timeFormat\" let-timeType=\"timeType\">\r\n <div class=\"x-date-picker-portal-content\">\r\n <div class=\"x-date-picker-portal-date\">\r\n <x-picker-date [display]=\"display\" [(type)]=\"type\" [model]=\"model\" (modelChange)=\"dateChange($event)\"></x-picker-date>\r\n </div>\r\n <div class=\"x-date-picker-portal-time\">\r\n <div class=\"x-date-picker-portal-time-label\">\r\n <x-button type=\"text\" size=\"small\">{{ time | date: timeFormat }}</x-button>\r\n </div>\r\n <x-time-picker-frame [type]=\"timeType\" [value]=\"time\" (nodeEmit)=\"selectTime($event)\"></x-time-picker-frame>\r\n </div>\r\n </div>\r\n <div class=\"x-date-picker-portal-footer\">\r\n <x-button type=\"primary\" size=\"small\" (click)=\"nodeEmit(model)\">{{ locale.sure }}</x-button>\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-date-picker-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);width:16rem;display:flex;flex-direction:column;font-size:var(--x-font-size-small)}.x-date-picker-portal.date-time{width:27rem}.x-date-picker-portal.date-hour{width:19.75rem}.x-date-picker-portal.date-minute{width:23.375rem}.x-date-picker-portal-content{display:flex}.x-date-picker-portal-preset{display:flex;align-items:center;justify-content:center;border-top:var(--x-border-width) solid var(--x-border)}.x-date-picker-portal-preset>x-button{flex:1}.x-date-picker-portal-body{padding:.4rem}.x-date-picker-portal-footer{display:flex;justify-content:flex-end;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-picker-portal-date{flex:1}.x-date-picker-portal-time{display:flex;flex-direction:column;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-picker-portal-time-label{padding:.5rem;text-align:center;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-picker-portal-time .x-time-picker-frame{border-width:0;box-shadow:none;margin:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.XTimePickerFrameComponent, selector: "x-time-picker-frame", inputs: ["type", "value", "use12Hours", "hourStep", "minuteStep", "secondStep"], outputs: ["nodeEmit"] }, { kind: "component", type: i4.XButtonComponent, selector: "x-button" }, { kind: "component", type: i5.XPickerDateComponent, selector: "x-picker-date" }, { kind: "component", type: i6.XPickerMonthComponent, selector: "x-picker-month" }, { kind: "component", type: i7.XPickerYearComponent, selector: "x-picker-year" }, { kind: "pipe", type: i1.DatePipe, name: "date" }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
134
134
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XDatePickerPortalComponent, decorators: [{
135
135
  type: Component,
136
136
  args: [{ selector: `${XDatePickerPortalPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XConnectBaseAnimation], providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-date-picker-portal {{ type }}\" [ngSwitch]=\"type\" (click)=\"inputCom.inputFocus()\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <x-picker-date [display]=\"display\" [model]=\"model\" [(type)]=\"type\" (modelChange)=\"dateChange($event)\"></x-picker-date>\r\n <div *ngIf=\"preset\" class=\"x-date-picker-portal-preset\">\r\n <ng-container *ngFor=\"let item of preset\">\r\n <x-button type=\"text\" *ngIf=\"item.id === 'yesterday'\" (click)=\"onYesterday()\">{{ locale.yesterday }}</x-button>\r\n <x-button type=\"text\" *ngIf=\"item.id === 'today'\" (click)=\"onToday()\">{{ locale.today }}</x-button>\r\n <x-button type=\"text\" *ngIf=\"item.id === 'tomorrow'\" (click)=\"onTomorrow()\">{{ locale.tomorrow }}</x-button>\r\n <x-button type=\"text\" *ngIf=\"item.func\" (click)=\"onPresetFunc(item)\">{{ item.label }}</x-button>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'month'\">\r\n <x-picker-month [display]=\"display\" [model]=\"model\" [(type)]=\"type\" (modelChange)=\"monthChange($event)\"></x-picker-month>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'year'\">\r\n <x-picker-year [display]=\"display\" [model]=\"model\" [(type)]=\"type\" (modelChange)=\"yearChange($event)\"></x-picker-year>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-time'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm:ss', timeType: 'time' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-hour'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH', timeType: 'hour' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-minute'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm', timeType: 'minute' }\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #dateTimeHourMinuteTpl let-timeFormat=\"timeFormat\" let-timeType=\"timeType\">\r\n <div class=\"x-date-picker-portal-content\">\r\n <div class=\"x-date-picker-portal-date\">\r\n <x-picker-date [display]=\"display\" [(type)]=\"type\" [model]=\"model\" (modelChange)=\"dateChange($event)\"></x-picker-date>\r\n </div>\r\n <div class=\"x-date-picker-portal-time\">\r\n <div class=\"x-date-picker-portal-time-label\">\r\n <x-button type=\"text\" size=\"small\">{{ time | date: timeFormat }}</x-button>\r\n </div>\r\n <x-time-picker-frame [type]=\"timeType\" [value]=\"time\" (nodeEmit)=\"selectTime($event)\"></x-time-picker-frame>\r\n </div>\r\n </div>\r\n <div class=\"x-date-picker-portal-footer\">\r\n <x-button type=\"primary\" size=\"small\" (click)=\"nodeEmit(model)\">{{ locale.sure }}</x-button>\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-date-picker-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);width:16rem;display:flex;flex-direction:column;font-size:var(--x-font-size-small)}.x-date-picker-portal.date-time{width:27rem}.x-date-picker-portal.date-hour{width:19.75rem}.x-date-picker-portal.date-minute{width:23.375rem}.x-date-picker-portal-content{display:flex}.x-date-picker-portal-preset{display:flex;align-items:center;justify-content:center;border-top:var(--x-border-width) solid var(--x-border)}.x-date-picker-portal-preset>x-button{flex:1}.x-date-picker-portal-body{padding:.4rem}.x-date-picker-portal-footer{display:flex;justify-content:flex-end;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-picker-portal-date{flex:1}.x-date-picker-portal-time{display:flex;flex-direction:column;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-picker-portal-time-label{padding:.5rem;text-align:center;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-picker-portal-time .x-time-picker-frame{border-width:0;box-shadow:none;margin:0}\n"] }]
@@ -144,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
144
144
  type: HostListener,
145
145
  args: ['@x-connect-base-animation.start', ['$event']]
146
146
  }] } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXItcG9ydGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLXBvcnRhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci1wb3J0YWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBS3ZCLFdBQVcsRUFDWCxZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFzQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQXNCLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7QUFhMUQsTUFBTSxPQUFPLDBCQUEwQjtJQTJCckMsWUFBbUIsUUFBa0IsRUFBUyxhQUE0QixFQUFTLEdBQXNCLEVBQVMsSUFBa0I7UUFBakgsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFTLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFjO1FBakJwSSxTQUFJLEdBQW9CLE1BQU0sQ0FBQztRQUMvQixZQUFPLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQVNyQixXQUFNLEdBQW9CLEVBQUUsQ0FBQztRQUM3QixTQUFJLEdBQVcsSUFB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MElBM0lVLDBCQUEwQjs4SEFBMUIsMEJBQTBCLDZPQUYxQixDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsMEJDMUJ0QyxpMEZBNkNBLHM3RURwQmMsQ0FBQyxxQkFBcUIsQ0FBQzsyRkFHeEIsMEJBQTBCO2tCQVR0QyxTQUFTOytCQUNFLEdBQUcsdUJBQXVCLEVBQUUsaUJBR3ZCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsQ0FBQyxxQkFBcUIsQ0FBQyxhQUN4QixDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUM7c0xBR2EsU0FBUztzQkFBekQsV0FBVzt1QkFBQywyQkFBMkI7Z0JBQ29CLElBQUk7c0JBQS9ELFlBQVk7dUJBQUMsZ0NBQWdDLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBSUcsS0FBSztzQkFBakUsWUFBWTt1QkFBQyxpQ0FBaUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE9uSW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBIb3N0QmluZGluZyxcclxuICBIb3N0TGlzdGVuZXJcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWERhdGVQaWNrZXJQb3J0YWxQcmVmaXgsIFhEYXRlUGlja2VyUHJlc2V0LCBYRGF0ZVBpY2tlclR5cGUgfSBmcm9tICcuL2RhdGUtcGlja2VyLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzRW1wdHksIFhDb25uZWN0QmFzZUFuaW1hdGlvbiwgWFBvc2l0aW9uVG9wQm90dG9tLCBYQWRkRGF5cyB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSwgTG93ZXJDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFhJMThuU2VydmljZSwgWEkxOG5EYXRlUGlja2VyIH0gZnJvbSAnQG5nLW5lc3QvdWkvaTE4bic7XHJcbmltcG9ydCB7IFhJbnB1dENvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2lucHV0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYRGF0ZVBpY2tlclBvcnRhbFByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXBpY2tlci1wb3J0YWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcGlja2VyLXBvcnRhbC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgYW5pbWF0aW9uczogW1hDb25uZWN0QmFzZUFuaW1hdGlvbl0sXHJcbiAgcHJvdmlkZXJzOiBbRGF0ZVBpcGUsIExvd2VyQ2FzZVBpcGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYRGF0ZVBpY2tlclBvcnRhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuICBASG9zdEJpbmRpbmcoJ0B4LWNvbm5lY3QtYmFzZS1hbmltYXRpb24nKSBwdWJsaWMgcGxhY2VtZW50ITogWFBvc2l0aW9uVG9wQm90dG9tO1xyXG4gIEBIb3N0TGlzdGVuZXIoJ0B4LWNvbm5lY3QtYmFzZS1hbmltYXRpb24uZG9uZScsIFsnJGV2ZW50J10pIGRvbmUoZXZlbnQ6IHsgdG9TdGF0ZTogYW55IH0pIHtcclxuICAgIHRoaXMuYW5pbWF0aW5nKGZhbHNlKTtcclxuICAgIGV2ZW50LnRvU3RhdGUgPT09ICd2b2lkJyAmJiB0aGlzLmRlc3Ryb3lQb3J0YWwoKTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignQHgtY29ubmVjdC1iYXNlLWFuaW1hdGlvbi5zdGFydCcsIFsnJGV2ZW50J10pIHN0YXJ0KCkge1xyXG4gICAgdGhpcy5hbmltYXRpbmcodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICB0eXBlOiBYRGF0ZVBpY2tlclR5cGUgPSAnZGF0ZSc7XHJcbiAgZGlzcGxheSA9IG5ldyBEYXRlKCk7XHJcbiAgbW9kZWwhOiBEYXRlO1xyXG4gIHZhbHVlOiBhbnk7XHJcbiAgdmFsdWVDaGFuZ2UhOiBTdWJqZWN0PGFueT47XHJcbiAgcG9zaXRpb25DaGFuZ2UhOiBTdWJqZWN0PGFueT47XHJcbiAgYW5pbWF0aW5nITogRnVuY3Rpb247XHJcbiAgY2xvc2VQb3J0YWwhOiBGdW5jdGlvbjtcclxuICBkZXN0cm95UG9ydGFsITogRnVuY3Rpb247XHJcbiAgbm9kZUVtaXQhOiAoZGF0ZTogRGF0ZSwgc3VyZT86IGJvb2xlYW4pID0+IHZvaWQ7XHJcbiAgbG9jYWxlOiBYSTE4bkRhdGVQaWNrZXIgPSB7fTtcclxuICB0aW1lOiBudW1iZXIgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICBwcmVzZXQ6IFhEYXRlUGlja2VyUHJlc2V0W10gPSBbXTtcclxuICBpbnB1dENvbSE6IFhJbnB1dENvbXBvbmVudDtcclxuICBwcml2YXRlIF90eXBlITogWERhdGVQaWNrZXJUeXBlO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRlUGlwZTogRGF0ZVBpcGUsIHB1YmxpYyBsb3dlckNhc2VQaXBlOiBMb3dlckNhc2VQaXBlLCBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIGkxOG46IFhJMThuU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLnZhbHVlID0geDtcclxuICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMucG9zaXRpb25DaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMucGxhY2VtZW50ID0geDtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeCkgPT4geC5kYXRlUGlja2VyIGFzIFhJMThuRGF0ZVBpY2tlciksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2NhbGUgPSB4O1xyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBpbml0KCkge1xyXG4gICAgaWYgKCFYSXNFbXB0eSh0aGlzLnZhbHVlKSkge1xyXG4gICAgICB0aGlzLnNldERlZmF1bHQoKTtcclxuICAgIH1cclxuICAgIHRoaXMuX3R5cGUgPSB0aGlzLnR5cGU7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzdG9wUHJvcGFnYXRpb24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIHNldERlZmF1bHQoKSB7XHJcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLm1vZGVsID0gZGF0ZTtcclxuICAgIHRoaXMudGltZSA9IHRoaXMubW9kZWwuZ2V0VGltZSgpO1xyXG4gICAgdGhpcy5zZXREaXNwbGF5KHRoaXMubW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzcGxheShkYXRlOiBEYXRlKSB7XHJcbiAgICB0aGlzLmRpc3BsYXkgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgMSk7XHJcbiAgfVxyXG5cclxuICBkYXRlQ2hhbmdlKGRhdGU6IERhdGUpIHtcclxuICAgIHRoaXMuc2V0RGlzcGxheShkYXRlKTtcclxuICAgIHRoaXMubW9kZWwgPSBkYXRlO1xyXG4gICAgaWYgKFsnZGF0ZS10aW1lJywgJ2RhdGUtaG91cicsICdkYXRlLW1pbnV0ZSddLmluY2x1ZGVzKHRoaXMuX3R5cGUpKSB7XHJcbiAgICAgIHRoaXMuc2V0TW9kZWxUaW1lKHRoaXMubW9kZWwsIG5ldyBEYXRlKHRoaXMudGltZSkpO1xyXG4gICAgICB0aGlzLm5vZGVFbWl0KHRoaXMubW9kZWwsIGZhbHNlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubm9kZUVtaXQodGhpcy5tb2RlbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtb250aENoYW5nZShkYXRlOiBEYXRlKSB7XHJcbiAgICB0aGlzLnNldERpc3BsYXkoZGF0ZSk7XHJcbiAgICBpZiAodGhpcy5fdHlwZSA9PT0gJ21vbnRoJykge1xyXG4gICAgICB0aGlzLm1vZGVsID0gZGF0ZTtcclxuICAgICAgdGhpcy5ub2RlRW1pdChkYXRlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudHlwZSA9IHRoaXMuX3R5cGU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB5ZWFyQ2hhbmdlKGRhdGU6IERhdGUpIHtcclxuICAgIHRoaXMuc2V0RGlzcGxheShkYXRlKTtcclxuICAgIGlmICh0aGlzLl90eXBlID09PSAneWVhcicpIHtcclxuICAgICAgdGhpcy5tb2RlbCA9IGRhdGU7XHJcbiAgICAgIHRoaXMubm9kZUVtaXQoZGF0ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnR5cGUgPSAnbW9udGgnO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgb25Ub2RheSgpIHtcclxuICAgIHRoaXMuZGF0ZUNoYW5nZShuZXcgRGF0ZSgpKTtcclxuICB9XHJcblxyXG4gIG9uWWVzdGVyZGF5KCkge1xyXG4gICAgdGhpcy5kYXRlQ2hhbmdlKFhBZGREYXlzKG5ldyBEYXRlKCksIC0xKSk7XHJcbiAgfVxyXG5cclxuICBvblRvbW9ycm93KCkge1xyXG4gICAgdGhpcy5kYXRlQ2hhbmdlKFhBZGREYXlzKG5ldyBEYXRlKCksIDEpKTtcclxuICB9XHJcblxyXG4gIG9uUHJlc2V0RnVuYyhpdGVtOiBYRGF0ZVBpY2tlclByZXNldCkge1xyXG4gICAgdGhpcy5kYXRlQ2hhbmdlKGl0ZW0uZnVuYygpKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFRpbWUodGltZTogRGF0ZSkge1xyXG4gICAgdGhpcy50aW1lID0gdGltZS5nZXRUaW1lKCk7XHJcbiAgICB0aGlzLm5vZGVFbWl0KHRoaXMuc2V0TW9kZWxUaW1lKHRoaXMubW9kZWwsIHRpbWUpLCBmYWxzZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRNb2RlbFRpbWUoZGF0ZTogRGF0ZSwgdGltZTogRGF0ZSkge1xyXG4gICAgdGhpcy5tb2RlbCA9IG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCBkYXRlLmdldERhdGUoKSwgdGltZS5nZXRIb3VycygpLCB0aW1lLmdldE1pbnV0ZXMoKSwgdGltZS5nZXRTZWNvbmRzKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LWRhdGUtcGlja2VyLXBvcnRhbCB7eyB0eXBlIH19XCIgW25nU3dpdGNoXT1cInR5cGVcIiAoY2xpY2spPVwiaW5wdXRDb20uaW5wdXRGb2N1cygpXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCI+XHJcbiAgICA8eC1waWNrZXItZGF0ZSBbZGlzcGxheV09XCJkaXNwbGF5XCIgW21vZGVsXT1cIm1vZGVsXCIgWyh0eXBlKV09XCJ0eXBlXCIgKG1vZGVsQ2hhbmdlKT1cImRhdGVDaGFuZ2UoJGV2ZW50KVwiPjwveC1waWNrZXItZGF0ZT5cclxuICAgIDxkaXYgKm5nSWY9XCJwcmVzZXRcIiBjbGFzcz1cIngtZGF0ZS1waWNrZXItcG9ydGFsLXByZXNldFwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHByZXNldFwiPlxyXG4gICAgICAgIDx4LWJ1dHRvbiB0eXBlPVwidGV4dFwiICpuZ0lmPVwiaXRlbS5pZCA9PT0gJ3llc3RlcmRheSdcIiAoY2xpY2spPVwib25ZZXN0ZXJkYXkoKVwiPnt7IGxvY2FsZS55ZXN0ZXJkYXkgfX08L3gtYnV0dG9uPlxyXG4gICAgICAgIDx4LWJ1dHRvbiB0eXBlPVwidGV4dFwiICpuZ0lmPVwiaXRlbS5pZCA9PT0gJ3RvZGF5J1wiIChjbGljayk9XCJvblRvZGF5KClcIj57eyBsb2NhbGUudG9kYXkgfX08L3gtYnV0dG9uPlxyXG4gICAgICAgIDx4LWJ1dHRvbiB0eXBlPVwidGV4dFwiICpuZ0lmPVwiaXRlbS5pZCA9PT0gJ3RvbW9ycm93J1wiIChjbGljayk9XCJvblRvbW9ycm93KClcIj57eyBsb2NhbGUudG9tb3Jyb3cgfX08L3gtYnV0dG9uPlxyXG4gICAgICAgIDx4LWJ1dHRvbiB0eXBlPVwidGV4dFwiICpuZ0lmPVwiaXRlbS5mdW5jXCIgKGNsaWNrKT1cIm9uUHJlc2V0RnVuYyhpdGVtKVwiPnt7IGl0ZW0ubGFiZWwgfX08L3gtYnV0dG9uPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtb250aCdcIj5cclxuICAgIDx4LXBpY2tlci1tb250aCBbZGlzcGxheV09XCJkaXNwbGF5XCIgW21vZGVsXT1cIm1vZGVsXCIgWyh0eXBlKV09XCJ0eXBlXCIgKG1vZGVsQ2hhbmdlKT1cIm1vbnRoQ2hhbmdlKCRldmVudClcIj48L3gtcGlja2VyLW1vbnRoPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid5ZWFyJ1wiPlxyXG4gICAgPHgtcGlja2VyLXllYXIgW2Rpc3BsYXldPVwiZGlzcGxheVwiIFttb2RlbF09XCJtb2RlbFwiIFsodHlwZSldPVwidHlwZVwiIChtb2RlbENoYW5nZSk9XCJ5ZWFyQ2hhbmdlKCRldmVudClcIj48L3gtcGlja2VyLXllYXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUtdGltZSdcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkYXRlVGltZUhvdXJNaW51dGVUcGw7IGNvbnRleHQ6IHsgdGltZUZvcm1hdDogJ0hIOm1tOnNzJywgdGltZVR5cGU6ICd0aW1lJyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUtaG91cidcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkYXRlVGltZUhvdXJNaW51dGVUcGw7IGNvbnRleHQ6IHsgdGltZUZvcm1hdDogJ0hIJywgdGltZVR5cGU6ICdob3VyJyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUtbWludXRlJ1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGVUaW1lSG91ck1pbnV0ZVRwbDsgY29udGV4dDogeyB0aW1lRm9ybWF0OiAnSEg6bW0nLCB0aW1lVHlwZTogJ21pbnV0ZScgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGF0ZVRpbWVIb3VyTWludXRlVHBsIGxldC10aW1lRm9ybWF0PVwidGltZUZvcm1hdFwiIGxldC10aW1lVHlwZT1cInRpbWVUeXBlXCI+XHJcbiAgPGRpdiBjbGFzcz1cIngtZGF0ZS1waWNrZXItcG9ydGFsLWNvbnRlbnRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LWRhdGUtcGlja2VyLXBvcnRhbC1kYXRlXCI+XHJcbiAgICAgIDx4LXBpY2tlci1kYXRlIFtkaXNwbGF5XT1cImRpc3BsYXlcIiBbKHR5cGUpXT1cInR5cGVcIiBbbW9kZWxdPVwibW9kZWxcIiAobW9kZWxDaGFuZ2UpPVwiZGF0ZUNoYW5nZSgkZXZlbnQpXCI+PC94LXBpY2tlci1kYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1kYXRlLXBpY2tlci1wb3J0YWwtdGltZVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwieC1kYXRlLXBpY2tlci1wb3J0YWwtdGltZS1sYWJlbFwiPlxyXG4gICAgICAgIDx4LWJ1dHRvbiB0eXBlPVwidGV4dFwiIHNpemU9XCJzbWFsbFwiPnt7IHRpbWUgfCBkYXRlOiB0aW1lRm9ybWF0IH19PC94LWJ1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDx4LXRpbWUtcGlja2VyLWZyYW1lIFt0eXBlXT1cInRpbWVUeXBlXCIgW3ZhbHVlXT1cInRpbWVcIiAobm9kZUVtaXQpPVwic2VsZWN0VGltZSgkZXZlbnQpXCI+PC94LXRpbWUtcGlja2VyLWZyYW1lPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIngtZGF0ZS1waWNrZXItcG9ydGFsLWZvb3RlclwiPlxyXG4gICAgPHgtYnV0dG9uIHR5cGU9XCJwcmltYXJ5XCIgc2l6ZT1cInNtYWxsXCIgKGNsaWNrKT1cIm5vZGVFbWl0KG1vZGVsKVwiPnt7IGxvY2FsZS5zdXJlIH19PC94LWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXItcG9ydGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLXBvcnRhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci1wb3J0YWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBS3ZCLFdBQVcsRUFDWCxZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFzQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQXNCLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7QUFhMUQsTUFBTSxPQUFPLDBCQUEwQjtJQTJCckMsWUFBbUIsUUFBa0IsRUFBUyxhQUE0QixFQUFTLEdBQXNCLEVBQVMsSUFBa0I7UUFBakgsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFTLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFjO1FBakJwSSxTQUFJLEdBQW9CLE1BQU0sQ0FBQztRQUMvQixZQUFPLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQVNyQixXQUFNLEdBQW9CLEVBQUUsQ0FBQztRQUM3QixTQUFJLEdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNwQyxXQUFNLEdBQXdCLEVBQUUsQ0FBQztRQUd6QixlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUU4RixDQUFDO0lBekI1RSxJQUFJLENBQUMsS0FBdUI7UUFDdEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QixLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUM0RCxLQUFLO1FBQ2hFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQXFCRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2hFLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2YsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbkUsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7WUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWTthQUNuQixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBNkIsQ0FBQyxFQUMzQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUMzQjthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQVk7UUFDMUIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVU7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBVTtRQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNsQzthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVU7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssT0FBTyxFQUFFO1lBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDckI7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUN4QjtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFVO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLE1BQU0sRUFBRTtZQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3JCO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztTQUNyQjtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBdUI7UUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVU7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVUsRUFBRSxJQUFVO1FBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNsSSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQzs7MElBM0lVLDBCQUEwQjs4SEFBMUIsMEJBQTBCLDZPQUYxQixDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsMEJDMUJ0QyxpMEZBNkNBLDQrRURwQmMsQ0FBQyxxQkFBcUIsQ0FBQzsyRkFHeEIsMEJBQTBCO2tCQVR0QyxTQUFTOytCQUNFLEdBQUcsdUJBQXVCLEVBQUUsaUJBR3ZCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsQ0FBQyxxQkFBcUIsQ0FBQyxhQUN4QixDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUM7c0xBR2EsU0FBUztzQkFBekQsV0FBVzt1QkFBQywyQkFBMkI7Z0JBQ29CLElBQUk7c0JBQS9ELFlBQVk7dUJBQUMsZ0NBQWdDLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBSUcsS0FBSztzQkFBakUsWUFBWTt1QkFBQyxpQ0FBaUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE9uSW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBIb3N0QmluZGluZyxcclxuICBIb3N0TGlzdGVuZXJcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWERhdGVQaWNrZXJQb3J0YWxQcmVmaXgsIFhEYXRlUGlja2VyUHJlc2V0LCBYRGF0ZVBpY2tlclR5cGUgfSBmcm9tICcuL2RhdGUtcGlja2VyLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzRW1wdHksIFhDb25uZWN0QmFzZUFuaW1hdGlvbiwgWFBvc2l0aW9uVG9wQm90dG9tLCBYQWRkRGF5cyB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSwgTG93ZXJDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFhJMThuU2VydmljZSwgWEkxOG5EYXRlUGlja2VyIH0gZnJvbSAnQG5nLW5lc3QvdWkvaTE4bic7XHJcbmltcG9ydCB7IFhJbnB1dENvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2lucHV0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYRGF0ZVBpY2tlclBvcnRhbFByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXBpY2tlci1wb3J0YWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcGlja2VyLXBvcnRhbC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgYW5pbWF0aW9uczogW1hDb25uZWN0QmFzZUFuaW1hdGlvbl0sXHJcbiAgcHJvdmlkZXJzOiBbRGF0ZVBpcGUsIExvd2VyQ2FzZVBpcGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYRGF0ZVBpY2tlclBvcnRhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuICBASG9zdEJpbmRpbmcoJ0B4LWNvbm5lY3QtYmFzZS1hbmltYXRpb24nKSBwdWJsaWMgcGxhY2VtZW50ITogWFBvc2l0aW9uVG9wQm90dG9tO1xyXG4gIEBIb3N0TGlzdGVuZXIoJ0B4LWNvbm5lY3QtYmFzZS1hbmltYXRpb24uZG9uZScsIFsnJGV2ZW50J10pIGRvbmUoZXZlbnQ6IHsgdG9TdGF0ZTogYW55IH0pIHtcclxuICAgIHRoaXMuYW5pbWF0aW5nKGZhbHNlKTtcclxuICAgIGV2ZW50LnRvU3RhdGUgPT09ICd2b2lkJyAmJiB0aGlzLmRlc3Ryb3lQb3J0YWwoKTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignQHgtY29ubmVjdC1iYXNlLWFuaW1hdGlvbi5zdGFydCcsIFsnJGV2ZW50J10pIHN0YXJ0KCkge1xyXG4gICAgdGhpcy5hbmltYXRpbmcodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICB0eXBlOiBYRGF0ZVBpY2tlclR5cGUgPSAnZGF0ZSc7XHJcbiAgZGlzcGxheSA9IG5ldyBEYXRlKCk7XHJcbiAgbW9kZWwhOiBEYXRlO1xyXG4gIHZhbHVlOiBhbnk7XHJcbiAgdmFsdWVDaGFuZ2UhOiBTdWJqZWN0PGFueT47XHJcbiAgcG9zaXRpb25DaGFuZ2UhOiBTdWJqZWN0PGFueT47XHJcbiAgYW5pbWF0aW5nITogRnVuY3Rpb247XHJcbiAgY2xvc2VQb3J0YWwhOiBGdW5jdGlvbjtcclxuICBkZXN0cm95UG9ydGFsITogRnVuY3Rpb247XHJcbiAgbm9kZUVtaXQhOiAoZGF0ZTogRGF0ZSwgc3VyZT86IGJvb2xlYW4pID0+IHZvaWQ7XHJcbiAgbG9jYWxlOiBYSTE4bkRhdGVQaWNrZXIgPSB7fTtcclxuICB0aW1lOiBudW1iZXIgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICBwcmVzZXQ6IFhEYXRlUGlja2VyUHJlc2V0W10gPSBbXTtcclxuICBpbnB1dENvbSE6IFhJbnB1dENvbXBvbmVudDtcclxuICBwcml2YXRlIF90eXBlITogWERhdGVQaWNrZXJUeXBlO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRlUGlwZTogRGF0ZVBpcGUsIHB1YmxpYyBsb3dlckNhc2VQaXBlOiBMb3dlckNhc2VQaXBlLCBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIGkxOG46IFhJMThuU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLnZhbHVlID0geDtcclxuICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMucG9zaXRpb25DaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMucGxhY2VtZW50ID0geDtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeCkgPT4geC5kYXRlUGlja2VyIGFzIFhJMThuRGF0ZVBpY2tlciksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2NhbGUgPSB4O1xyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBpbml0KCkge1xyXG4gICAgaWYgKCFYSXNFbXB0eSh0aGlzLnZhbHVlKSkge1xyXG4gICAgICB0aGlzLnNldERlZmF1bHQoKTtcclxuICAgIH1cclxuICAgIHRoaXMuX3R5cGUgPSB0aGlzLnR5cGU7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzdG9wUHJvcGFnYXRpb24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIHNldERlZmF1bHQoKSB7XHJcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLm1vZGVsID0gZGF0ZTtcclxuICAgIHRoaXMudGltZSA9IHRoaXMubW9kZWwuZ2V0VGltZSgpO1xyXG4gICAgdGhpcy5zZXREaXNwbGF5KHRoaXMubW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzcGxheShkYXRlOiBEYXRlKSB7XHJcbiAgICB0aGlzLmRpc3BsYXkgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgMSk7XHJcbiAgfVxyXG5cclxuICBkYXRlQ2hhbmdlKGRhdGU6IERhdGUpIHtcclxuICAgIHRoaXMuc2V0RGlzcGxheShkYXRlKTtcclxuICAgIHRoaXMubW9kZWwgPSBkYXRlO1xyXG4gICAgaWYgKFsnZGF0ZS10aW1lJywgJ2RhdGUtaG91cicsICdkYXRlLW1pbnV0ZSddLmluY2x1ZGVzKHRoaXMuX3R5cGUpKSB7XHJcbiAgICAgIHRoaXMuc2V0TW9kZWxUaW1lKHRoaXMubW9kZWwsIG5ldyBEYXRlKHRoaXMudGltZSkpO1xyXG4gICAgICB0aGlzLm5vZGVFbWl0KHRoaXMubW9kZWwsIGZhbHNlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubm9kZUVtaXQodGhpcy5tb2RlbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtb250aENoYW5nZShkYXRlOiBEYXRlKSB7XHJcbiAgICB0aGlzLnNldERpc3BsYXkoZGF0ZSk7XHJcbiAgICBpZiAodGhpcy5fdHlwZSA9PT0gJ21vbnRoJykge1xyXG4gICAgICB0aGlzLm1vZGVsID0gZGF0ZTtcclxuICAgICAgdGhpcy5ub2RlRW1pdChkYXRlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudHlwZSA9IHRoaXMuX3R5cGU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB5ZWFyQ2hhbmdlKGRhdGU6IERhdGUpIHtcclxuICAgIHRoaXMuc2V0RGlzcGxheShkYXRlKTtcclxuICAgIGlmICh0aGlzLl90eXBlID09PSAneWVhcicpIHtcclxuICAgICAgdGhpcy5tb2RlbCA9IGRhdGU7XHJcbiAgICAgIHRoaXMubm9kZUVtaXQoZGF0ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnR5cGUgPSAnbW9udGgnO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgb25Ub2RheSgpIHtcclxuICAgIHRoaXMuZGF0ZUNoYW5nZShuZXcgRGF0ZSgpKTtcclxuICB9XHJcblxyXG4gIG9uWWVzdGVyZGF5KCkge1xyXG4gICAgdGhpcy5kYXRlQ2hhbmdlKFhBZGREYXlzKG5ldyBEYXRlKCksIC0xKSk7XHJcbiAgfVxyXG5cclxuICBvblRvbW9ycm93KCkge1xyXG4gICAgdGhpcy5kYXRlQ2hhbmdlKFhBZGREYXlzKG5ldyBEYXRlKCksIDEpKTtcclxuICB9XHJcblxyXG4gIG9uUHJlc2V0RnVuYyhpdGVtOiBYRGF0ZVBpY2tlclByZXNldCkge1xyXG4gICAgdGhpcy5kYXRlQ2hhbmdlKGl0ZW0uZnVuYygpKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFRpbWUodGltZTogRGF0ZSkge1xyXG4gICAgdGhpcy50aW1lID0gdGltZS5nZXRUaW1lKCk7XHJcbiAgICB0aGlzLm5vZGVFbWl0KHRoaXMuc2V0TW9kZWxUaW1lKHRoaXMubW9kZWwsIHRpbWUpLCBmYWxzZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRNb2RlbFRpbWUoZGF0ZTogRGF0ZSwgdGltZTogRGF0ZSkge1xyXG4gICAgdGhpcy5tb2RlbCA9IG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCBkYXRlLmdldERhdGUoKSwgdGltZS5nZXRIb3VycygpLCB0aW1lLmdldE1pbnV0ZXMoKSwgdGltZS5nZXRTZWNvbmRzKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LWRhdGUtcGlja2VyLXBvcnRhbCB7eyB0eXBlIH19XCIgW25nU3dpdGNoXT1cInR5cGVcIiAoY2xpY2spPVwiaW5wdXRDb20uaW5wdXRGb2N1cygpXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCI+XHJcbiAgICA8eC1waWNrZXItZGF0ZSBbZGlzcGxheV09XCJkaXNwbGF5XCIgW21vZGVsXT1cIm1vZGVsXCIgWyh0eXBlKV09XCJ0eXBlXCIgKG1vZGVsQ2hhbmdlKT1cImRhdGVDaGFuZ2UoJGV2ZW50KVwiPjwveC1waWNrZXItZGF0ZT5cclxuICAgIDxkaXYgKm5nSWY9XCJwcmVzZXRcIiBjbGFzcz1cIngtZGF0ZS1waWNrZXItcG9ydGFsLXByZXNldFwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHByZXNldFwiPlxyXG4gICAgICAgIDx4LWJ1dHRvbiB0eXBlPVwidGV4dFwiICpuZ0lmPVwiaXRlbS5pZCA9PT0gJ3llc3RlcmRheSdcIiAoY2xpY2spPVwib25ZZXN0ZXJkYXkoKVwiPnt7IGxvY2FsZS55ZXN0ZXJkYXkgfX08L3gtYnV0dG9uPlxyXG4gICAgICAgIDx4LWJ1dHRvbiB0eXBlPVwidGV4dFwiICpuZ0lmPVwiaXRlbS5pZCA9PT0gJ3RvZGF5J1wiIChjbGljayk9XCJvblRvZGF5KClcIj57eyBsb2NhbGUudG9kYXkgfX08L3gtYnV0dG9uPlxyXG4gICAgICAgIDx4LWJ1dHRvbiB0eXBlPVwidGV4dFwiICpuZ0lmPVwiaXRlbS5pZCA9PT0gJ3RvbW9ycm93J1wiIChjbGljayk9XCJvblRvbW9ycm93KClcIj57eyBsb2NhbGUudG9tb3Jyb3cgfX08L3gtYnV0dG9uPlxyXG4gICAgICAgIDx4LWJ1dHRvbiB0eXBlPVwidGV4dFwiICpuZ0lmPVwiaXRlbS5mdW5jXCIgKGNsaWNrKT1cIm9uUHJlc2V0RnVuYyhpdGVtKVwiPnt7IGl0ZW0ubGFiZWwgfX08L3gtYnV0dG9uPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtb250aCdcIj5cclxuICAgIDx4LXBpY2tlci1tb250aCBbZGlzcGxheV09XCJkaXNwbGF5XCIgW21vZGVsXT1cIm1vZGVsXCIgWyh0eXBlKV09XCJ0eXBlXCIgKG1vZGVsQ2hhbmdlKT1cIm1vbnRoQ2hhbmdlKCRldmVudClcIj48L3gtcGlja2VyLW1vbnRoPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid5ZWFyJ1wiPlxyXG4gICAgPHgtcGlja2VyLXllYXIgW2Rpc3BsYXldPVwiZGlzcGxheVwiIFttb2RlbF09XCJtb2RlbFwiIFsodHlwZSldPVwidHlwZVwiIChtb2RlbENoYW5nZSk9XCJ5ZWFyQ2hhbmdlKCRldmVudClcIj48L3gtcGlja2VyLXllYXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUtdGltZSdcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkYXRlVGltZUhvdXJNaW51dGVUcGw7IGNvbnRleHQ6IHsgdGltZUZvcm1hdDogJ0hIOm1tOnNzJywgdGltZVR5cGU6ICd0aW1lJyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUtaG91cidcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkYXRlVGltZUhvdXJNaW51dGVUcGw7IGNvbnRleHQ6IHsgdGltZUZvcm1hdDogJ0hIJywgdGltZVR5cGU6ICdob3VyJyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUtbWludXRlJ1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGVUaW1lSG91ck1pbnV0ZVRwbDsgY29udGV4dDogeyB0aW1lRm9ybWF0OiAnSEg6bW0nLCB0aW1lVHlwZTogJ21pbnV0ZScgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGF0ZVRpbWVIb3VyTWludXRlVHBsIGxldC10aW1lRm9ybWF0PVwidGltZUZvcm1hdFwiIGxldC10aW1lVHlwZT1cInRpbWVUeXBlXCI+XHJcbiAgPGRpdiBjbGFzcz1cIngtZGF0ZS1waWNrZXItcG9ydGFsLWNvbnRlbnRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LWRhdGUtcGlja2VyLXBvcnRhbC1kYXRlXCI+XHJcbiAgICAgIDx4LXBpY2tlci1kYXRlIFtkaXNwbGF5XT1cImRpc3BsYXlcIiBbKHR5cGUpXT1cInR5cGVcIiBbbW9kZWxdPVwibW9kZWxcIiAobW9kZWxDaGFuZ2UpPVwiZGF0ZUNoYW5nZSgkZXZlbnQpXCI+PC94LXBpY2tlci1kYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1kYXRlLXBpY2tlci1wb3J0YWwtdGltZVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwieC1kYXRlLXBpY2tlci1wb3J0YWwtdGltZS1sYWJlbFwiPlxyXG4gICAgICAgIDx4LWJ1dHRvbiB0eXBlPVwidGV4dFwiIHNpemU9XCJzbWFsbFwiPnt7IHRpbWUgfCBkYXRlOiB0aW1lRm9ybWF0IH19PC94LWJ1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDx4LXRpbWUtcGlja2VyLWZyYW1lIFt0eXBlXT1cInRpbWVUeXBlXCIgW3ZhbHVlXT1cInRpbWVcIiAobm9kZUVtaXQpPVwic2VsZWN0VGltZSgkZXZlbnQpXCI+PC94LXRpbWUtcGlja2VyLWZyYW1lPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIngtZGF0ZS1waWNrZXItcG9ydGFsLWZvb3RlclwiPlxyXG4gICAgPHgtYnV0dG9uIHR5cGU9XCJwcmltYXJ5XCIgc2l6ZT1cInNtYWxsXCIgKGNsaWNrKT1cIm5vZGVFbWl0KG1vZGVsKVwiPnt7IGxvY2FsZS5zdXJlIH19PC94LWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -277,4 +277,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
277
277
  type: ViewChild,
278
278
  args: ['inputCom', { static: true }]
279
279
  }] } });
280
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFxQyx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBTXZCLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQXdCLE1BQU0sd0JBQXdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBVyxXQUFXLEVBQUUsU0FBUyxFQUFrQixPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVySSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7QUFVdkQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUFtQjtJQTRDM0QsWUFDUyxRQUFtQixFQUNuQixhQUE2QixFQUNwQixHQUFzQixFQUM5QixhQUE2QixFQUM3QixnQkFBa0MsRUFDbEMsUUFBa0IsRUFDbEIsT0FBZ0I7UUFFeEIsS0FBSyxFQUFFLENBQUM7UUFSRCxhQUFR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QUFFLFFBQVEsQ0FBQztzUUFHaEIsVUFBVTtzQkFBcEQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNBLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhEYXRlUGlja2VyUG9ydGFsQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXBpY2tlci1wb3J0YWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWFBvcnRhbFNlcnZpY2UsIFhQb3J0YWxPdmVybGF5UmVmLCBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24gfSBmcm9tICdAbmctbmVzdC91aS9wb3J0YWwnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBPbkNoYW5nZXMsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgU2ltcGxlQ2hhbmdlc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYRGF0ZVBpY2tlclByZWZpeCwgWERhdGVQaWNrZXJQcm9wZXJ0eSwgWERhdGVQaWNrZXJNb2RlbFR5cGUgfSBmcm9tICcuL2RhdGUtcGlja2VyLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzRW1wdHksIFhJc0RhdGUsIFhJc051bWJlciwgWElzQ2hhbmdlLCBYQ29ybmVyLCBYQ2xlYXJDbGFzcywgWElzU3RyaW5nLCBYQ29uZmlnU2VydmljZSwgWElzTnVsbCB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYSW5wdXRDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9pbnB1dCc7XHJcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LCBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hEYXRlUGlja2VyUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbWFZhbHVlQWNjZXNzb3IoWERhdGVQaWNrZXJDb21wb25lbnQpLCBEYXRlUGlwZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhEYXRlUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgWERhdGVQaWNrZXJQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBAVmlld0NoaWxkKCdkYXRlUGlja2VyJywgeyBzdGF0aWM6IHRydWUgfSkgZGF0ZVBpY2tlciE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRDb20nLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dENvbSE6IFhJbnB1dENvbXBvbmVudDtcclxuXHJcbiAgbW9kZWxUeXBlOiBYRGF0ZVBpY2tlck1vZGVsVHlwZSA9ICdkYXRlJztcclxuICBudW1iZXJWYWx1ZSE6IG51bWJlciB8IHN0cmluZztcclxuICBpc0lucHV0ID0gZmFsc2U7XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKFhJc0RhdGUodmFsdWUpKSB7XHJcbiAgICAgIHRoaXMubW9kZWxUeXBlID0gJ2RhdGUnO1xyXG4gICAgICB0aGlzLm51bWJlclZhbHVlID0gdmFsdWUuZ2V0VGltZSgpO1xyXG4gICAgfSBlbHNlIGlmIChYSXNOdW1iZXIodmFsdWUpKSB7XHJcbiAgICAgIHRoaXMubW9kZWxUeXBlID0gJ251bWJlcic7XHJcbiAgICAgIHRoaXMubnVtYmVyVmFsdWUgPSB2YWx1ZTtcclxuICAgIH0gZWxzZSBpZiAoWElzU3RyaW5nKHZhbHVlKSkge1xyXG4gICAgICB0aGlzLm1vZGVsVHlwZSA9ICdzdHJpbmcnO1xyXG4gICAgICBjb25zdCB2YWx1ZVRpbWUgPSBuZXcgRGF0ZSh2YWx1ZSkuZ2V0VGltZSgpO1xyXG4gICAgICB0aGlzLm51bWJlclZhbHVlID0gIWlzTmFOKHZhbHVlVGltZSkgPyB2YWx1ZVRpbWUgOiAnJztcclxuICAgIH0gZWxzZSBpZiAoWElzRW1wdHkodmFsdWUpIHx8IFhJc051bGwodmFsdWUpKSB7XHJcbiAgICAgIHRoaXMubnVtYmVyVmFsdWUgPSAnJztcclxuICAgIH1cclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZW50ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpbnB1dENsZWFyYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGFuaW1hdGluZyA9IGZhbHNlO1xyXG4gIGRpc3BsYXlWYWx1ZTogYW55ID0gJyc7XHJcbiAgcG9ydGFsITogWFBvcnRhbE92ZXJsYXlSZWY8WERhdGVQaWNrZXJQb3J0YWxDb21wb25lbnQ+O1xyXG4gIGljb246IHN0cmluZyA9ICdmdG8tY2FsZW5kYXInO1xyXG4gIGJveCE6IERPTVJlY3Q7XHJcbiAgcHJvdGFsSGVpZ2h0ITogbnVtYmVyO1xyXG4gIG1heE5vZGVzOiBudW1iZXIgPSA2O1xyXG4gIHByb3RhbFRvYm90dG9tOiBib29sZWFuID0gdHJ1ZTtcclxuICB2YWx1ZUNoYW5nZTogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBkYXRhQ2hhbmdlOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHBvc2l0aW9uQ2hhbmdlOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIGNsb3NlU3ViamVjdDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSxcclxuICAgIHB1YmxpYyBvdmVycmlkZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBwb3J0YWxTZXJ2aWNlOiBYUG9ydGFsU2VydmljZSxcclxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlLFxyXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5XHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldEZsZXgodGhpcy5kYXRlUGlja2VyLm5hdGl2ZUVsZW1lbnQsIHRoaXMucmVuZGVyZXIsIHRoaXMuanVzdGlmeSwgdGhpcy5hbGlnbiwgdGhpcy5kaXJlY3Rpb24pO1xyXG4gICAgdGhpcy5zZXRGb3JtYXQoKTtcclxuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICAgIHRoaXMuc2V0U3ViamVjdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5zZXRQb3J0YWwoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgdHlwZSB9ID0gY2hhbmdlcztcclxuICAgIGlmIChYSXNDaGFuZ2UodHlwZSkpIHtcclxuICAgICAgdGhpcy5zZXRGb3JtYXQoKTtcclxuICAgICAgdGhpcy5zZXREaXNwbGF5VmFsdWUodGhpcy5udW1iZXJWYWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHNldFN1YmplY3QoKSB7XHJcbiAgICB0aGlzLmNsb3NlU3ViamVjdC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmNsb3NlUG9ydGFsKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldEZvcm1hdCgpIHtcclxuICAgIGlmICh0aGlzLmZvcm1hdCAhPT0gJ3l5eXktTU0tZGQnKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy50eXBlID09PSAnZGF0ZScpIHtcclxuICAgICAgdGhpcy5mb3JtYXQgPSAneXl5eS1NTS1kZCc7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ3llYXInKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXknO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdtb250aCcpIHtcclxuICAgICAgdGhpcy5mb3JtYXQgPSAneXl5eS1NTSc7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ2RhdGUtdGltZScpIHtcclxuICAgICAgdGhpcy5mb3JtYXQgPSAneXl5eS1NTS1kZCBISDptbTpzcyc7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ2RhdGUtaG91cicpIHtcclxuICAgICAgdGhpcy5mb3JtYXQgPSAneXl5eS1NTS1kZCBISCc7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ2RhdGUtbWludXRlJykge1xyXG4gICAgICB0aGlzLmZvcm1hdCA9ICd5eXl5LU1NLWRkIEhIOm1tJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1lbnRlcigpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICB0aGlzLmVudGVyID0gdHJ1ZTtcclxuICAgIGlmICghdGhpcy5jbGVhcmFibGUpIHJldHVybjtcclxuICAgIGlmICghWElzRW1wdHkodGhpcy5udW1iZXJWYWx1ZSkpIHtcclxuICAgICAgdGhpcy5pY29uID0gJyc7XHJcbiAgICAgIHRoaXMuaW5wdXRDbGVhcmFibGUgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtbGVhdmUoKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5lbnRlciA9IGZhbHNlO1xyXG4gICAgaWYgKCF0aGlzLmNsZWFyYWJsZSkgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMuaW5wdXRDbGVhcmFibGUpIHtcclxuICAgICAgdGhpcy5pY29uID0gJ2Z0by1jYWxlbmRhcic7XHJcbiAgICAgIHRoaXMuaW5wdXRDbGVhcmFibGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXJFbWl0KCkge1xyXG4gICAgdGhpcy52YWx1ZSA9IG51bGw7XHJcbiAgICB0aGlzLm51bWJlclZhbHVlID0gJyc7XHJcbiAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5tbGVhdmUoKTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UubmV4dCh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIG1vZGVsQ2hhbmdlKCkge1xyXG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcclxuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmdldFZhbHVlKCkpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtQ29udHJvbFZhbGlkYXRvcigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICBpZiAodGhpcy5udW1iZXJWYWx1ZSA9PT0gJycpIHJldHVybiBudWxsO1xyXG4gICAgcmV0dXJuIFsnZGF0ZScsICdzdHJpbmcnXS5pbmNsdWRlcyh0aGlzLm1vZGVsVHlwZSkgPyBuZXcgRGF0ZSh0aGlzLm51bWJlclZhbHVlKSA6IHRoaXMubnVtYmVyVmFsdWU7XHJcbiAgfVxyXG5cclxuICBwb3J0YWxBdHRhY2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlUG9ydGFsKCkge1xyXG4gICAgaWYgKHRoaXMucG9ydGFsQXR0YWNoZWQoKSkge1xyXG4gICAgICB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8uZGV0YWNoKCk7XHJcbiAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBkZXN0cm95UG9ydGFsKCkge1xyXG4gICAgdGhpcy5wb3J0YWw/Lm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICB9XHJcblxyXG4gIHNob3dQb3J0YWwoKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmFuaW1hdGluZykgcmV0dXJuO1xyXG4gICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xyXG4gICAgY29uc3QgY29uZmlnOiBPdmVybGF5Q29uZmlnID0ge1xyXG4gICAgICBiYWNrZHJvcENsYXNzOiAnJyxcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5zZXRQbGFjZW1lbnQoKSxcclxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxyXG4gICAgfTtcclxuICAgIHRoaXMuc2V0UG9zaXRpb24oY29uZmlnKTtcclxuICAgIHRoaXMucG9ydGFsID0gdGhpcy5wb3J0YWxTZXJ2aWNlLmF0dGFjaCh7XHJcbiAgICAgIGNvbnRlbnQ6IFhEYXRlUGlja2VyUG9ydGFsQ29tcG9uZW50LFxyXG4gICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgIG92ZXJsYXlDb25maWc6IGNvbmZpZ1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnBvcnRhbC5vdmVybGF5UmVmXHJcbiAgICAgID8ub3V0c2lkZVBvaW50ZXJFdmVudHMoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXREaXNwbGF5VmFsdWUodGhpcy5udW1iZXJWYWx1ZSk7XHJcbiAgICAgICAgdGhpcy5jbG9zZVN1YmplY3QubmV4dCgpO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMuc2V0SW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIHNldFBvc2l0aW9uKGNvbmZpZzogT3ZlcmxheUNvbmZpZykge1xyXG4gICAgbGV0IHBvc2l0aW9uID0gY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5O1xyXG4gICAgcG9zaXRpb24ucG9zaXRpb25DaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgocG9zOiBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UpID0+IHtcclxuICAgICAgY29uc3QgcGxhY2UgPSBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24uZ2V0KHBvcy5jb25uZWN0aW9uUGFpcikgYXMgWENvcm5lcjtcclxuICAgICAgcGxhY2UgIT09IHRoaXMucGxhY2VtZW50ICYmIHRoaXMucG9zaXRpb25DaGFuZ2UubmV4dChwbGFjZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldEluc3RhbmNlKCkge1xyXG4gICAgbGV0IGNvbXBvbmVudFJlZiA9IHRoaXMucG9ydGFsPy5jb21wb25lbnRSZWY7XHJcbiAgICBpZiAoIWNvbXBvbmVudFJlZikgcmV0dXJuO1xyXG4gICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIHtcclxuICAgICAgdHlwZTogdGhpcy50eXBlLFxyXG4gICAgICB2YWx1ZTogdGhpcy5udW1iZXJWYWx1ZSxcclxuICAgICAgcGxhY2VtZW50OiB0aGlzLnBsYWNlbWVudCxcclxuICAgICAgcHJlc2V0OiB0aGlzLnByZXNldCxcclxuICAgICAgdmFsdWVDaGFuZ2U6IHRoaXMudmFsdWVDaGFuZ2UsXHJcbiAgICAgIHBvc2l0aW9uQ2hhbmdlOiB0aGlzLnBvc2l0aW9uQ2hhbmdlLFxyXG4gICAgICBpbnB1dENvbTogdGhpcy5pbnB1dENvbSxcclxuICAgICAgY2xvc2VQb3J0YWw6ICgpID0+IHRoaXMuY2xvc2VTdWJqZWN0Lm5leHQoKSxcclxuICAgICAgZGVzdHJveVBvcnRhbDogKCkgPT4gdGhpcy5kZXN0cm95UG9ydGFsKCksXHJcbiAgICAgIG5vZGVFbWl0OiAobm9kZTogRGF0ZSwgc3VyZSA9IHRydWUpID0+IHRoaXMub25Ob2RlQ2xpY2sobm9kZSwgc3VyZSksXHJcbiAgICAgIGFuaW1hdGluZzogKGluZzogYm9vbGVhbikgPT4gKHRoaXMuYW5pbWF0aW5nID0gaW5nKVxyXG4gICAgfSk7XHJcbiAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgb25Ob2RlQ2xpY2soZGF0ZTogRGF0ZSwgc3VyZSA9IHRydWUpIHtcclxuICAgIHRoaXMuaXNJbnB1dCA9IGZhbHNlO1xyXG4gICAgaWYgKHN1cmUpIHtcclxuICAgICAgdGhpcy5udW1iZXJWYWx1ZSA9IGRhdGUuZ2V0VGltZSgpO1xyXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5nZXRWYWx1ZSgpO1xyXG4gICAgICB0aGlzLnNldERpc3BsYXlWYWx1ZSh0aGlzLm51bWJlclZhbHVlKTtcclxuICAgICAgdGhpcy5jbG9zZVN1YmplY3QubmV4dCgpO1xyXG4gICAgICB0aGlzLm1vZGVsQ2hhbmdlKCk7XHJcbiAgICAgIHRoaXMubm9kZUVtaXQuZW1pdCh0aGlzLm51bWJlclZhbHVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKGRhdGUuZ2V0VGltZSgpKTtcclxuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbklucHV0KCkge1xyXG4gICAgdGhpcy5pc0lucHV0ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHNldERpc3BsYXlWYWx1ZShkYXRlTnVtYmVyOiBudW1iZXIgfCBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLmlzSW5wdXQgJiYgaXNOYU4odGhpcy5kaXNwbGF5VmFsdWUpICYmICFpc05hTihEYXRlLnBhcnNlKHRoaXMuZGlzcGxheVZhbHVlKSkpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh0aGlzLmRpc3BsYXlWYWx1ZSwgdGhpcy5mb3JtYXQpO1xyXG4gICAgICB0aGlzLm51bWJlclZhbHVlID0gbmV3IERhdGUodGhpcy5kaXNwbGF5VmFsdWUpLmdldFRpbWUoKTtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTtcclxuICAgICAgdGhpcy5tb2RlbENoYW5nZSgpO1xyXG4gICAgICB0aGlzLmlzSW5wdXQgPSBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZGF0ZU51bWJlciwgdGhpcy5mb3JtYXQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0UGxhY2VtZW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMucG9ydGFsU2VydmljZS5zZXRQbGFjZW1lbnQoe1xyXG4gICAgICBlbGVtZW50UmVmOiB0aGlzLmlucHV0Q29tLmlucHV0UmVmLFxyXG4gICAgICBwbGFjZW1lbnQ6IFt0aGlzLnBsYWNlbWVudCBhcyBYQ29ybmVyLCAnYm90dG9tLXN0YXJ0JywgJ2JvdHRvbS1lbmQnLCAndG9wLXN0YXJ0JywgJ3RvcC1lbmQnXSxcclxuICAgICAgdHJhbnNmb3JtT3JpZ2luT246ICd4LWRhdGUtcGlja2VyLXBvcnRhbCdcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0UG9ydGFsKCkge1xyXG4gICAgdGhpcy5wb3J0YWxBdHRhY2hlZCgpICYmIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHRoaXMuc2V0UGxhY2VtZW50KCkpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICBYQ2xlYXJDbGFzcyh0aGlzLmxhYmVsTWFwKTtcclxuICAgIHRoaXMubGFiZWxNYXBbYHgtdGV4dC1hbGlnbi0ke3RoaXMubGFiZWxBbGlnbn1gXSA9IHRoaXMubGFiZWxBbGlnbiA/IHRydWUgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGZvcm1Db250cm9sQ2hhbmdlcygpIHtcclxuICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAjZGF0ZVBpY2tlciBjbGFzcz1cIngtZGF0ZS1waWNrZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwieC1kYXRlLXBpY2tlci1yb3dcIj5cclxuICAgIDx4LWlucHV0XHJcbiAgICAgICNpbnB1dENvbVxyXG4gICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgIFtsYWJlbF09XCJsYWJlbFwiXHJcbiAgICAgIFtsYWJlbFdpZHRoXT1cImxhYmVsV2lkdGhcIlxyXG4gICAgICBbbGFiZWxBbGlnbl09XCJsYWJlbEFsaWduXCJcclxuICAgICAgW2p1c3RpZnldPVwianVzdGlmeVwiXHJcbiAgICAgIFthbGlnbl09XCJhbGlnblwiXHJcbiAgICAgIFtkaXJlY3Rpb25dPVwiZGlyZWN0aW9uXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcclxuICAgICAgW3ZhbGlkYXRvcl09XCJ2YWxpZGF0b3JcIlxyXG4gICAgICBbaWNvbl09XCJpY29uXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgW2NsZWFyYWJsZV09XCJjbGVhcmFibGUgJiYgaW5wdXRDbGVhcmFibGVcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cImRpc3BsYXlWYWx1ZVwiXHJcbiAgICAgIFt2YWx1ZVRwbF09XCJ2YWx1ZVRwbFwiXHJcbiAgICAgIFt2YWx1ZVRwbENvbnRleHRdPVwidmFsdWVUcGxDb250ZXh0XCJcclxuICAgICAgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgIFtib3JkZXJlZF09XCJib3JkZXJlZFwiXHJcbiAgICAgIFtiZWZvcmVdPVwiYmVmb3JlXCJcclxuICAgICAgW2FmdGVyXT1cImFmdGVyXCJcclxuICAgICAgW3BhdHRlcm5dPVwicGF0dGVyblwiXHJcbiAgICAgIFttZXNzYWdlXT1cIm1lc3NhZ2VcIlxyXG4gICAgICBbcG9pbnRlcl09XCJwb2ludGVyXCJcclxuICAgICAgWyhhY3RpdmUpXT1cImFjdGl2ZVwiXHJcbiAgICAgIChjbGVhckVtaXQpPVwiY2xlYXJFbWl0KClcIlxyXG4gICAgICAoeElucHV0KT1cIm9uSW5wdXQoKVwiXHJcbiAgICAgICh4Q2xpY2spPVwic2hvd1BvcnRhbCgpXCJcclxuICAgICAgKHhNb3VzZWVudGVyKT1cIm1lbnRlcigpXCJcclxuICAgICAgKHhNb3VzZWxlYXZlKT1cIm1sZWF2ZSgpXCJcclxuICAgID48L3gtaW5wdXQ+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
280
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFxQyx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBTXZCLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQXdCLE1BQU0sd0JBQXdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBVyxXQUFXLEVBQUUsU0FBUyxFQUFrQixPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVySSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7QUFVdkQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUFtQjtJQTRDM0QsWUFDUyxRQUFtQixFQUNuQixhQUE2QixFQUNwQixHQUFzQixFQUM5QixhQUE2QixFQUM3QixnQkFBa0MsRUFDbEMsUUFBa0IsRUFDbEIsT0FBZ0I7UUFFeEIsS0FBSyxFQUFFLENBQUM7UUFSRCxhQUFR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QUFFLFFBQVEsQ0FBQztzUUFHaEIsVUFBVTtzQkFBcEQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNBLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhEYXRlUGlja2VyUG9ydGFsQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXBpY2tlci1wb3J0YWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWFBvcnRhbFNlcnZpY2UsIFhQb3J0YWxPdmVybGF5UmVmLCBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24gfSBmcm9tICdAbmctbmVzdC91aS9wb3J0YWwnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBPbkNoYW5nZXMsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgU2ltcGxlQ2hhbmdlc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYRGF0ZVBpY2tlclByZWZpeCwgWERhdGVQaWNrZXJQcm9wZXJ0eSwgWERhdGVQaWNrZXJNb2RlbFR5cGUgfSBmcm9tICcuL2RhdGUtcGlja2VyLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzRW1wdHksIFhJc0RhdGUsIFhJc051bWJlciwgWElzQ2hhbmdlLCBYQ29ybmVyLCBYQ2xlYXJDbGFzcywgWElzU3RyaW5nLCBYQ29uZmlnU2VydmljZSwgWElzTnVsbCB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYSW5wdXRDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9pbnB1dCc7XHJcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LCBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hEYXRlUGlja2VyUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbWFZhbHVlQWNjZXNzb3IoWERhdGVQaWNrZXJDb21wb25lbnQpLCBEYXRlUGlwZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhEYXRlUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgWERhdGVQaWNrZXJQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBAVmlld0NoaWxkKCdkYXRlUGlja2VyJywgeyBzdGF0aWM6IHRydWUgfSkgZGF0ZVBpY2tlciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0Q29tJywgeyBzdGF0aWM6IHRydWUgfSkgaW5wdXRDb20hOiBYSW5wdXRDb21wb25lbnQ7XHJcblxyXG4gIG1vZGVsVHlwZTogWERhdGVQaWNrZXJNb2RlbFR5cGUgPSAnZGF0ZSc7XHJcbiAgbnVtYmVyVmFsdWUhOiBudW1iZXIgfCBzdHJpbmc7XHJcbiAgaXNJbnB1dCA9IGZhbHNlO1xyXG5cclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmIChYSXNEYXRlKHZhbHVlKSkge1xyXG4gICAgICB0aGlzLm1vZGVsVHlwZSA9ICdkYXRlJztcclxuICAgICAgdGhpcy5udW1iZXJWYWx1ZSA9IHZhbHVlLmdldFRpbWUoKTtcclxuICAgIH0gZWxzZSBpZiAoWElzTnVtYmVyKHZhbHVlKSkge1xyXG4gICAgICB0aGlzLm1vZGVsVHlwZSA9ICdudW1iZXInO1xyXG4gICAgICB0aGlzLm51bWJlclZhbHVlID0gdmFsdWU7XHJcbiAgICB9IGVsc2UgaWYgKFhJc1N0cmluZyh2YWx1ZSkpIHtcclxuICAgICAgdGhpcy5tb2RlbFR5cGUgPSAnc3RyaW5nJztcclxuICAgICAgY29uc3QgdmFsdWVUaW1lID0gbmV3IERhdGUodmFsdWUpLmdldFRpbWUoKTtcclxuICAgICAgdGhpcy5udW1iZXJWYWx1ZSA9ICFpc05hTih2YWx1ZVRpbWUpID8gdmFsdWVUaW1lIDogJyc7XHJcbiAgICB9IGVsc2UgaWYgKFhJc0VtcHR5KHZhbHVlKSB8fCBYSXNOdWxsKHZhbHVlKSkge1xyXG4gICAgICB0aGlzLm51bWJlclZhbHVlID0gJyc7XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLnNldERpc3BsYXlWYWx1ZSh0aGlzLm51bWJlclZhbHVlKTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UubmV4dCh0aGlzLm51bWJlclZhbHVlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGVudGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaW5wdXRDbGVhcmFibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBhbmltYXRpbmcgPSBmYWxzZTtcclxuICBkaXNwbGF5VmFsdWU6IGFueSA9ICcnO1xyXG4gIHBvcnRhbCE6IFhQb3J0YWxPdmVybGF5UmVmPFhEYXRlUGlja2VyUG9ydGFsQ29tcG9uZW50PjtcclxuICBpY29uOiBzdHJpbmcgPSAnZnRvLWNhbGVuZGFyJztcclxuICBib3ghOiBET01SZWN0O1xyXG4gIHByb3RhbEhlaWdodCE6IG51bWJlcjtcclxuICBtYXhOb2RlczogbnVtYmVyID0gNjtcclxuICBwcm90YWxUb2JvdHRvbTogYm9vbGVhbiA9IHRydWU7XHJcbiAgdmFsdWVDaGFuZ2U6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgZGF0YUNoYW5nZTogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwb3NpdGlvbkNoYW5nZTogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBjbG9zZVN1YmplY3Q6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgb3ZlcnJpZGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgcG9ydGFsU2VydmljZTogWFBvcnRhbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIGRhdGVQaXBlOiBEYXRlUGlwZSxcclxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRGbGV4KHRoaXMuZGF0ZVBpY2tlci5uYXRpdmVFbGVtZW50LCB0aGlzLnJlbmRlcmVyLCB0aGlzLmp1c3RpZnksIHRoaXMuYWxpZ24sIHRoaXMuZGlyZWN0aW9uKTtcclxuICAgIHRoaXMuc2V0Rm9ybWF0KCk7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgICB0aGlzLnNldFN1YmplY3QoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc2V0UG9ydGFsKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IHR5cGUgfSA9IGNoYW5nZXM7XHJcbiAgICBpZiAoWElzQ2hhbmdlKHR5cGUpKSB7XHJcbiAgICAgIHRoaXMuc2V0Rm9ybWF0KCk7XHJcbiAgICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTdWJqZWN0KCkge1xyXG4gICAgdGhpcy5jbG9zZVN1YmplY3QucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5jbG9zZVBvcnRhbCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRGb3JtYXQoKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtYXQgIT09ICd5eXl5LU1NLWRkJykgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0tZGQnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICd5ZWFyJykge1xyXG4gICAgICB0aGlzLmZvcm1hdCA9ICd5eXl5JztcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnbW9udGgnKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0nO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdkYXRlLXRpbWUnKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0tZGQgSEg6bW06c3MnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdkYXRlLWhvdXInKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0tZGQgSEgnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdkYXRlLW1pbnV0ZScpIHtcclxuICAgICAgdGhpcy5mb3JtYXQgPSAneXl5eS1NTS1kZCBISDptbSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtZW50ZXIoKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5lbnRlciA9IHRydWU7XHJcbiAgICBpZiAoIXRoaXMuY2xlYXJhYmxlKSByZXR1cm47XHJcbiAgICBpZiAoIVhJc0VtcHR5KHRoaXMubnVtYmVyVmFsdWUpKSB7XHJcbiAgICAgIHRoaXMuaWNvbiA9ICcnO1xyXG4gICAgICB0aGlzLmlucHV0Q2xlYXJhYmxlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbWxlYXZlKCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRoaXMuZW50ZXIgPSBmYWxzZTtcclxuICAgIGlmICghdGhpcy5jbGVhcmFibGUpIHJldHVybjtcclxuICAgIGlmICh0aGlzLmlucHV0Q2xlYXJhYmxlKSB7XHJcbiAgICAgIHRoaXMuaWNvbiA9ICdmdG8tY2FsZW5kYXInO1xyXG4gICAgICB0aGlzLmlucHV0Q2xlYXJhYmxlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsZWFyRW1pdCgpIHtcclxuICAgIHRoaXMudmFsdWUgPSBudWxsO1xyXG4gICAgdGhpcy5udW1iZXJWYWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5kaXNwbGF5VmFsdWUgPSAnJztcclxuICAgIHRoaXMubWxlYXZlKCk7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLm5leHQodGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuICBtb2RlbENoYW5nZSgpIHtcclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5nZXRWYWx1ZSgpKTtcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybUNvbnRyb2xWYWxpZGF0b3IoKTtcclxuICB9XHJcblxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgaWYgKHRoaXMubnVtYmVyVmFsdWUgPT09ICcnKSByZXR1cm4gbnVsbDtcclxuICAgIHJldHVybiBbJ2RhdGUnLCAnc3RyaW5nJ10uaW5jbHVkZXModGhpcy5tb2RlbFR5cGUpID8gbmV3IERhdGUodGhpcy5udW1iZXJWYWx1ZSkgOiB0aGlzLm51bWJlclZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcG9ydGFsQXR0YWNoZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wb3J0YWw/Lm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBjbG9zZVBvcnRhbCgpIHtcclxuICAgIGlmICh0aGlzLnBvcnRhbEF0dGFjaGVkKCkpIHtcclxuICAgICAgdGhpcy5wb3J0YWw/Lm92ZXJsYXlSZWY/LmRldGFjaCgpO1xyXG4gICAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZGVzdHJveVBvcnRhbCgpIHtcclxuICAgIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgfVxyXG5cclxuICBzaG93UG9ydGFsKCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5hbmltYXRpbmcpIHJldHVybjtcclxuICAgIHRoaXMuYWN0aXZlID0gdHJ1ZTtcclxuICAgIGNvbnN0IGNvbmZpZzogT3ZlcmxheUNvbmZpZyA9IHtcclxuICAgICAgYmFja2Ryb3BDbGFzczogJycsXHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuc2V0UGxhY2VtZW50KCksXHJcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKClcclxuICAgIH07XHJcbiAgICB0aGlzLnNldFBvc2l0aW9uKGNvbmZpZyk7XHJcbiAgICB0aGlzLnBvcnRhbCA9IHRoaXMucG9ydGFsU2VydmljZS5hdHRhY2goe1xyXG4gICAgICBjb250ZW50OiBYRGF0ZVBpY2tlclBvcnRhbENvbXBvbmVudCxcclxuICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICBvdmVybGF5Q29uZmlnOiBjb25maWdcclxuICAgIH0pO1xyXG4gICAgdGhpcy5wb3J0YWwub3ZlcmxheVJlZlxyXG4gICAgICA/Lm91dHNpZGVQb2ludGVyRXZlbnRzKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgICAgIHRoaXMuY2xvc2VTdWJqZWN0Lm5leHQoKTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLnNldEluc3RhbmNlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRQb3NpdGlvbihjb25maWc6IE92ZXJsYXlDb25maWcpIHtcclxuICAgIGxldCBwb3NpdGlvbiA9IGNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5IGFzIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneTtcclxuICAgIHBvc2l0aW9uLnBvc2l0aW9uQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKS5zdWJzY3JpYmUoKHBvczogQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uQ2hhbmdlKSA9PiB7XHJcbiAgICAgIGNvbnN0IHBsYWNlID0gWFBvcnRhbENvbm5lY3RlZFBvc2l0aW9uLmdldChwb3MuY29ubmVjdGlvblBhaXIpIGFzIFhDb3JuZXI7XHJcbiAgICAgIHBsYWNlICE9PSB0aGlzLnBsYWNlbWVudCAmJiB0aGlzLnBvc2l0aW9uQ2hhbmdlLm5leHQocGxhY2UpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRJbnN0YW5jZSgpIHtcclxuICAgIGxldCBjb21wb25lbnRSZWYgPSB0aGlzLnBvcnRhbD8uY29tcG9uZW50UmVmO1xyXG4gICAgaWYgKCFjb21wb25lbnRSZWYpIHJldHVybjtcclxuICAgIE9iamVjdC5hc3NpZ24oY29tcG9uZW50UmVmLmluc3RhbmNlLCB7XHJcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcclxuICAgICAgdmFsdWU6IHRoaXMubnVtYmVyVmFsdWUsXHJcbiAgICAgIHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQsXHJcbiAgICAgIHByZXNldDogdGhpcy5wcmVzZXQsXHJcbiAgICAgIHZhbHVlQ2hhbmdlOiB0aGlzLnZhbHVlQ2hhbmdlLFxyXG4gICAgICBwb3NpdGlvbkNoYW5nZTogdGhpcy5wb3NpdGlvbkNoYW5nZSxcclxuICAgICAgaW5wdXRDb206IHRoaXMuaW5wdXRDb20sXHJcbiAgICAgIGNsb3NlUG9ydGFsOiAoKSA9PiB0aGlzLmNsb3NlU3ViamVjdC5uZXh0KCksXHJcbiAgICAgIGRlc3Ryb3lQb3J0YWw6ICgpID0+IHRoaXMuZGVzdHJveVBvcnRhbCgpLFxyXG4gICAgICBub2RlRW1pdDogKG5vZGU6IERhdGUsIHN1cmUgPSB0cnVlKSA9PiB0aGlzLm9uTm9kZUNsaWNrKG5vZGUsIHN1cmUpLFxyXG4gICAgICBhbmltYXRpbmc6IChpbmc6IGJvb2xlYW4pID0+ICh0aGlzLmFuaW1hdGluZyA9IGluZylcclxuICAgIH0pO1xyXG4gICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG9uTm9kZUNsaWNrKGRhdGU6IERhdGUsIHN1cmUgPSB0cnVlKSB7XHJcbiAgICB0aGlzLmlzSW5wdXQgPSBmYWxzZTtcclxuICAgIGlmIChzdXJlKSB7XHJcbiAgICAgIHRoaXMubnVtYmVyVmFsdWUgPSBkYXRlLmdldFRpbWUoKTtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTtcclxuICAgICAgdGhpcy5zZXREaXNwbGF5VmFsdWUodGhpcy5udW1iZXJWYWx1ZSk7XHJcbiAgICAgIHRoaXMuY2xvc2VTdWJqZWN0Lm5leHQoKTtcclxuICAgICAgdGhpcy5tb2RlbENoYW5nZSgpO1xyXG4gICAgICB0aGlzLm5vZGVFbWl0LmVtaXQodGhpcy5udW1iZXJWYWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldERpc3BsYXlWYWx1ZShkYXRlLmdldFRpbWUoKSk7XHJcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25JbnB1dCgpIHtcclxuICAgIHRoaXMuaXNJbnB1dCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzZXREaXNwbGF5VmFsdWUoZGF0ZU51bWJlcjogbnVtYmVyIHwgc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5pc0lucHV0ICYmIGlzTmFOKHRoaXMuZGlzcGxheVZhbHVlKSAmJiAhaXNOYU4oRGF0ZS5wYXJzZSh0aGlzLmRpc3BsYXlWYWx1ZSkpKSB7XHJcbiAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odGhpcy5kaXNwbGF5VmFsdWUsIHRoaXMuZm9ybWF0KTtcclxuICAgICAgdGhpcy5udW1iZXJWYWx1ZSA9IG5ldyBEYXRlKHRoaXMuZGlzcGxheVZhbHVlKS5nZXRUaW1lKCk7XHJcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmdldFZhbHVlKCk7XHJcbiAgICAgIHRoaXMubW9kZWxDaGFuZ2UoKTtcclxuICAgICAgdGhpcy5pc0lucHV0ID0gZmFsc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGRhdGVOdW1iZXIsIHRoaXMuZm9ybWF0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFBsYWNlbWVudCgpIHtcclxuICAgIHJldHVybiB0aGlzLnBvcnRhbFNlcnZpY2Uuc2V0UGxhY2VtZW50KHtcclxuICAgICAgZWxlbWVudFJlZjogdGhpcy5pbnB1dENvbS5pbnB1dFJlZixcclxuICAgICAgcGxhY2VtZW50OiBbdGhpcy5wbGFjZW1lbnQgYXMgWENvcm5lciwgJ2JvdHRvbS1zdGFydCcsICdib3R0b20tZW5kJywgJ3RvcC1zdGFydCcsICd0b3AtZW5kJ10sXHJcbiAgICAgIHRyYW5zZm9ybU9yaWdpbk9uOiAneC1kYXRlLXBpY2tlci1wb3J0YWwnXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldFBvcnRhbCgpIHtcclxuICAgIHRoaXMucG9ydGFsQXR0YWNoZWQoKSAmJiB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb25TdHJhdGVneSh0aGlzLnNldFBsYWNlbWVudCgpKTtcclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgWENsZWFyQ2xhc3ModGhpcy5sYWJlbE1hcCk7XHJcbiAgICB0aGlzLmxhYmVsTWFwW2B4LXRleHQtYWxpZ24tJHt0aGlzLmxhYmVsQWxpZ259YF0gPSB0aGlzLmxhYmVsQWxpZ24gPyB0cnVlIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBmb3JtQ29udHJvbENoYW5nZXMoKSB7XHJcbiAgICB0aGlzLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgI2RhdGVQaWNrZXIgY2xhc3M9XCJ4LWRhdGUtcGlja2VyXCI+XHJcbiAgPGRpdiBjbGFzcz1cIngtZGF0ZS1waWNrZXItcm93XCI+XHJcbiAgICA8eC1pbnB1dFxyXG4gICAgICAjaW5wdXRDb21cclxuICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICBbbGFiZWxdPVwibGFiZWxcIlxyXG4gICAgICBbbGFiZWxXaWR0aF09XCJsYWJlbFdpZHRoXCJcclxuICAgICAgW2xhYmVsQWxpZ25dPVwibGFiZWxBbGlnblwiXHJcbiAgICAgIFtqdXN0aWZ5XT1cImp1c3RpZnlcIlxyXG4gICAgICBbYWxpZ25dPVwiYWxpZ25cIlxyXG4gICAgICBbZGlyZWN0aW9uXT1cImRpcmVjdGlvblwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICAgIFt2YWxpZGF0b3JdPVwidmFsaWRhdG9yXCJcclxuICAgICAgW2ljb25dPVwiaWNvblwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgIFtjbGVhcmFibGVdPVwiY2xlYXJhYmxlICYmIGlucHV0Q2xlYXJhYmxlXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJkaXNwbGF5VmFsdWVcIlxyXG4gICAgICBbdmFsdWVUcGxdPVwidmFsdWVUcGxcIlxyXG4gICAgICBbdmFsdWVUcGxDb250ZXh0XT1cInZhbHVlVHBsQ29udGV4dFwiXHJcbiAgICAgIFtzaXplXT1cInNpemVcIlxyXG4gICAgICBbYm9yZGVyZWRdPVwiYm9yZGVyZWRcIlxyXG4gICAgICBbYmVmb3JlXT1cImJlZm9yZVwiXHJcbiAgICAgIFthZnRlcl09XCJhZnRlclwiXHJcbiAgICAgIFtwYXR0ZXJuXT1cInBhdHRlcm5cIlxyXG4gICAgICBbbWVzc2FnZV09XCJtZXNzYWdlXCJcclxuICAgICAgW3BvaW50ZXJdPVwicG9pbnRlclwiXHJcbiAgICAgIFsoYWN0aXZlKV09XCJhY3RpdmVcIlxyXG4gICAgICAoY2xlYXJFbWl0KT1cImNsZWFyRW1pdCgpXCJcclxuICAgICAgKHhJbnB1dCk9XCJvbklucHV0KClcIlxyXG4gICAgICAoeENsaWNrKT1cInNob3dQb3J0YWwoKVwiXHJcbiAgICAgICh4TW91c2VlbnRlcik9XCJtZW50ZXIoKVwiXHJcbiAgICAgICh4TW91c2VsZWF2ZSk9XCJtbGVhdmUoKVwiXHJcbiAgICA+PC94LWlucHV0PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19