@ng-nest/ui 16.0.10 → 16.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. package/checkbox/checkbox.component.d.ts +0 -1
  2. package/checkbox/checkbox.property.d.ts +16 -1
  3. package/date-picker/date-range.component.d.ts +1 -1
  4. package/esm2022/affix/affix.component.mjs +4 -4
  5. package/esm2022/affix/affix.module.mjs +5 -5
  6. package/esm2022/affix/affix.property.mjs +4 -4
  7. package/esm2022/alert/alert.component.mjs +4 -4
  8. package/esm2022/alert/alert.module.mjs +5 -5
  9. package/esm2022/alert/alert.property.mjs +4 -4
  10. package/esm2022/anchor/anchor-inner.component.mjs +4 -4
  11. package/esm2022/anchor/anchor.component.mjs +4 -4
  12. package/esm2022/anchor/anchor.module.mjs +5 -5
  13. package/esm2022/anchor/anchor.property.mjs +7 -7
  14. package/esm2022/api/api.component.mjs +4 -4
  15. package/esm2022/api/api.module.mjs +5 -5
  16. package/esm2022/auto-complete/auto-complete-portal.component.mjs +5 -5
  17. package/esm2022/auto-complete/auto-complete.component.mjs +5 -5
  18. package/esm2022/auto-complete/auto-complete.module.mjs +5 -5
  19. package/esm2022/auto-complete/auto-complete.property.mjs +4 -4
  20. package/esm2022/avatar/avatar-group.component.mjs +4 -4
  21. package/esm2022/avatar/avatar.component.mjs +4 -4
  22. package/esm2022/avatar/avatar.module.mjs +5 -5
  23. package/esm2022/avatar/avatar.property.mjs +7 -7
  24. package/esm2022/back-top/back-top.component.mjs +4 -4
  25. package/esm2022/back-top/back-top.module.mjs +5 -5
  26. package/esm2022/back-top/back-top.property.mjs +4 -4
  27. package/esm2022/badge/badge.component.mjs +4 -4
  28. package/esm2022/badge/badge.module.mjs +5 -5
  29. package/esm2022/badge/badge.property.mjs +4 -4
  30. package/esm2022/base-form/base-form.component.mjs +4 -4
  31. package/esm2022/base-form/base-form.module.mjs +5 -5
  32. package/esm2022/base-form/base-form.property.mjs +4 -4
  33. package/esm2022/border/border.component.mjs +4 -4
  34. package/esm2022/border/border.module.mjs +5 -5
  35. package/esm2022/button/button.component.mjs +4 -4
  36. package/esm2022/button/button.module.mjs +5 -5
  37. package/esm2022/button/button.property.mjs +7 -7
  38. package/esm2022/button/buttons.component.mjs +4 -4
  39. package/esm2022/calendar/calendar.component.mjs +4 -4
  40. package/esm2022/calendar/calendar.module.mjs +5 -5
  41. package/esm2022/calendar/calendar.property.mjs +4 -4
  42. package/esm2022/card/card.component.mjs +4 -4
  43. package/esm2022/card/card.module.mjs +5 -5
  44. package/esm2022/card/card.property.mjs +4 -4
  45. package/esm2022/carousel/carousel-panel.component.mjs +4 -4
  46. package/esm2022/carousel/carousel.component.mjs +4 -4
  47. package/esm2022/carousel/carousel.module.mjs +5 -5
  48. package/esm2022/carousel/carousel.property.mjs +7 -7
  49. package/esm2022/cascade/cascade-portal.component.mjs +4 -4
  50. package/esm2022/cascade/cascade.component.mjs +4 -4
  51. package/esm2022/cascade/cascade.module.mjs +5 -5
  52. package/esm2022/cascade/cascade.property.mjs +4 -4
  53. package/esm2022/checkbox/checkbox.component.mjs +5 -7
  54. package/esm2022/checkbox/checkbox.module.mjs +5 -5
  55. package/esm2022/checkbox/checkbox.property.mjs +30 -4
  56. package/esm2022/collapse/collapse-panel.component.mjs +4 -4
  57. package/esm2022/collapse/collapse.component.mjs +4 -4
  58. package/esm2022/collapse/collapse.module.mjs +5 -5
  59. package/esm2022/collapse/collapse.property.mjs +7 -7
  60. package/esm2022/color/color.component.mjs +4 -4
  61. package/esm2022/color/color.module.mjs +5 -5
  62. package/esm2022/color/color.property.mjs +4 -4
  63. package/esm2022/color-picker/color-picker-portal.component.mjs +4 -4
  64. package/esm2022/color-picker/color-picker.component.mjs +4 -4
  65. package/esm2022/color-picker/color-picker.module.mjs +5 -5
  66. package/esm2022/color-picker/color-picker.property.mjs +4 -4
  67. package/esm2022/comment/comment-reply.component.mjs +4 -4
  68. package/esm2022/comment/comment.component.mjs +4 -4
  69. package/esm2022/comment/comment.module.mjs +5 -5
  70. package/esm2022/comment/comment.property.mjs +7 -7
  71. package/esm2022/container/aside.component.mjs +4 -4
  72. package/esm2022/container/container.component.mjs +4 -4
  73. package/esm2022/container/container.module.mjs +5 -5
  74. package/esm2022/container/container.property.mjs +13 -13
  75. package/esm2022/container/footer.component.mjs +4 -4
  76. package/esm2022/container/header.component.mjs +4 -4
  77. package/esm2022/container/main.component.mjs +4 -4
  78. package/esm2022/core/config/config.service.mjs +4 -4
  79. package/esm2022/core/services/http.service.mjs +4 -4
  80. package/esm2022/core/services/preloading-strategy.service.mjs +4 -4
  81. package/esm2022/core/services/storage.service.mjs +4 -4
  82. package/esm2022/core/theme/theme.service.mjs +4 -4
  83. package/esm2022/crumb/crumb.component.mjs +4 -4
  84. package/esm2022/crumb/crumb.module.mjs +5 -5
  85. package/esm2022/crumb/crumb.property.mjs +4 -4
  86. package/esm2022/date-picker/date-picker-portal.component.mjs +4 -4
  87. package/esm2022/date-picker/date-picker.component.mjs +4 -4
  88. package/esm2022/date-picker/date-picker.module.mjs +5 -5
  89. package/esm2022/date-picker/date-picker.property.mjs +19 -19
  90. package/esm2022/date-picker/date-quarter.pipe.mjs +4 -4
  91. package/esm2022/date-picker/date-range-portal.component.mjs +4 -4
  92. package/esm2022/date-picker/date-range.component.mjs +4 -4
  93. package/esm2022/date-picker/picker-date.component.mjs +4 -4
  94. package/esm2022/date-picker/picker-month.component.mjs +4 -4
  95. package/esm2022/date-picker/picker-quarter.component.mjs +4 -4
  96. package/esm2022/date-picker/picker-year.component.mjs +4 -4
  97. package/esm2022/description/description-item.component.mjs +4 -4
  98. package/esm2022/description/description.component.mjs +4 -4
  99. package/esm2022/description/description.module.mjs +5 -5
  100. package/esm2022/description/description.property.mjs +7 -7
  101. package/esm2022/dialog/dialog-container.component.mjs +4 -4
  102. package/esm2022/dialog/dialog-portal.component.mjs +4 -4
  103. package/esm2022/dialog/dialog-portal.directives.mjs +19 -19
  104. package/esm2022/dialog/dialog.component.mjs +4 -4
  105. package/esm2022/dialog/dialog.module.mjs +5 -5
  106. package/esm2022/dialog/dialog.property.mjs +7 -7
  107. package/esm2022/dialog/dialog.service.mjs +4 -4
  108. package/esm2022/doc/doc.component.mjs +5 -5
  109. package/esm2022/doc/doc.module.mjs +5 -5
  110. package/esm2022/drag/drag.directive.mjs +4 -4
  111. package/esm2022/drag/drag.module.mjs +5 -5
  112. package/esm2022/drag/drag.property.mjs +4 -4
  113. package/esm2022/drawer/drawer-container.component.mjs +4 -4
  114. package/esm2022/drawer/drawer-portal.component.mjs +4 -4
  115. package/esm2022/drawer/drawer-portal.directives.mjs +10 -10
  116. package/esm2022/drawer/drawer.component.mjs +4 -4
  117. package/esm2022/drawer/drawer.module.mjs +5 -5
  118. package/esm2022/drawer/drawer.property.mjs +7 -7
  119. package/esm2022/drawer/drawer.service.mjs +4 -4
  120. package/esm2022/dropdown/dropdown-portal.component.mjs +4 -4
  121. package/esm2022/dropdown/dropdown.component.mjs +4 -4
  122. package/esm2022/dropdown/dropdown.module.mjs +5 -5
  123. package/esm2022/dropdown/dropdown.property.mjs +4 -4
  124. package/esm2022/empty/empty.component.mjs +4 -4
  125. package/esm2022/empty/empty.module.mjs +5 -5
  126. package/esm2022/empty/empty.property.mjs +4 -4
  127. package/esm2022/examples/examples.component.mjs +4 -4
  128. package/esm2022/examples/examples.module.mjs +5 -5
  129. package/esm2022/find/find.component.mjs +4 -4
  130. package/esm2022/find/find.module.mjs +5 -5
  131. package/esm2022/find/find.property.mjs +4 -4
  132. package/esm2022/form/control.component.mjs +4 -4
  133. package/esm2022/form/form.component.mjs +4 -4
  134. package/esm2022/form/form.module.mjs +5 -5
  135. package/esm2022/form/form.property.mjs +7 -7
  136. package/esm2022/highlight/highlight.component.mjs +4 -4
  137. package/esm2022/highlight/highlight.module.mjs +5 -5
  138. package/esm2022/highlight/highlight.property.mjs +4 -4
  139. package/esm2022/i18n/i18n.directive.mjs +4 -4
  140. package/esm2022/i18n/i18n.module.mjs +5 -5
  141. package/esm2022/i18n/i18n.pipe.mjs +4 -4
  142. package/esm2022/i18n/i18n.service.mjs +4 -4
  143. package/esm2022/icon/icon.component.mjs +4 -4
  144. package/esm2022/icon/icon.module.mjs +5 -5
  145. package/esm2022/icon/icon.property.mjs +4 -4
  146. package/esm2022/icon/icon.service.mjs +4 -4
  147. package/esm2022/image/image-group.component.mjs +4 -4
  148. package/esm2022/image/image-preview.component.mjs +4 -4
  149. package/esm2022/image/image.component.mjs +4 -4
  150. package/esm2022/image/image.module.mjs +5 -5
  151. package/esm2022/image/image.property.mjs +7 -7
  152. package/esm2022/inner/inner.component.mjs +4 -4
  153. package/esm2022/inner/inner.module.mjs +5 -5
  154. package/esm2022/inner/inner.property.mjs +4 -4
  155. package/esm2022/input/input-group.component.mjs +4 -4
  156. package/esm2022/input/input.component.mjs +4 -4
  157. package/esm2022/input/input.module.mjs +5 -5
  158. package/esm2022/input/input.property.mjs +7 -7
  159. package/esm2022/input-number/input-number.component.mjs +4 -4
  160. package/esm2022/input-number/input-number.module.mjs +5 -5
  161. package/esm2022/input-number/input-number.property.mjs +4 -4
  162. package/esm2022/keyword/keyword.directive.mjs +4 -4
  163. package/esm2022/keyword/keyword.module.mjs +5 -5
  164. package/esm2022/keyword/keyword.property.mjs +4 -4
  165. package/esm2022/layout/col.component.mjs +4 -4
  166. package/esm2022/layout/layout.module.mjs +5 -5
  167. package/esm2022/layout/layout.property.mjs +7 -7
  168. package/esm2022/layout/row.component.mjs +4 -4
  169. package/esm2022/link/link.component.mjs +4 -4
  170. package/esm2022/link/link.module.mjs +5 -5
  171. package/esm2022/link/link.property.mjs +4 -4
  172. package/esm2022/list/list-drop-group.directive.mjs +4 -4
  173. package/esm2022/list/list-option.component.mjs +4 -4
  174. package/esm2022/list/list.component.mjs +4 -4
  175. package/esm2022/list/list.module.mjs +5 -5
  176. package/esm2022/list/list.property.mjs +7 -7
  177. package/esm2022/loading/loading.component.mjs +4 -4
  178. package/esm2022/loading/loading.module.mjs +5 -5
  179. package/esm2022/loading/loading.property.mjs +4 -4
  180. package/esm2022/menu/menu-node.component.mjs +4 -4
  181. package/esm2022/menu/menu.component.mjs +4 -4
  182. package/esm2022/menu/menu.module.mjs +5 -5
  183. package/esm2022/menu/menu.property.mjs +7 -7
  184. package/esm2022/message/message.component.mjs +4 -4
  185. package/esm2022/message/message.module.mjs +5 -5
  186. package/esm2022/message/message.service.mjs +4 -4
  187. package/esm2022/message-box/message-box.component.mjs +4 -4
  188. package/esm2022/message-box/message-box.module.mjs +5 -5
  189. package/esm2022/message-box/message-box.service.mjs +4 -4
  190. package/esm2022/notification/notification.component.mjs +4 -4
  191. package/esm2022/notification/notification.module.mjs +5 -5
  192. package/esm2022/notification/notification.service.mjs +4 -4
  193. package/esm2022/outlet/outlet.directive.mjs +4 -4
  194. package/esm2022/outlet/outlet.module.mjs +5 -5
  195. package/esm2022/page-header/page-header.component.mjs +4 -4
  196. package/esm2022/page-header/page-header.module.mjs +5 -5
  197. package/esm2022/page-header/page-header.property.mjs +4 -4
  198. package/esm2022/pagination/pagination.component.mjs +4 -4
  199. package/esm2022/pagination/pagination.module.mjs +5 -5
  200. package/esm2022/pagination/pagination.property.mjs +4 -4
  201. package/esm2022/pattern/pattern.component.mjs +4 -4
  202. package/esm2022/pattern/pattern.module.mjs +5 -5
  203. package/esm2022/popconfirm/popconfirm.component.mjs +4 -4
  204. package/esm2022/popconfirm/popconfirm.module.mjs +5 -5
  205. package/esm2022/popconfirm/popconfirm.property.mjs +4 -4
  206. package/esm2022/popover/popover-portal.component.mjs +4 -4
  207. package/esm2022/popover/popover.directive.mjs +4 -4
  208. package/esm2022/popover/popover.module.mjs +5 -5
  209. package/esm2022/popover/popover.property.mjs +4 -4
  210. package/esm2022/portal/portal.module.mjs +5 -5
  211. package/esm2022/portal/portal.service.mjs +4 -4
  212. package/esm2022/progress/progress.component.mjs +4 -4
  213. package/esm2022/progress/progress.module.mjs +5 -5
  214. package/esm2022/progress/progress.property.mjs +4 -4
  215. package/esm2022/radio/radio.component.mjs +5 -5
  216. package/esm2022/radio/radio.module.mjs +5 -5
  217. package/esm2022/radio/radio.property.mjs +14 -4
  218. package/esm2022/rate/rate.component.mjs +4 -4
  219. package/esm2022/rate/rate.module.mjs +5 -5
  220. package/esm2022/rate/rate.property.mjs +4 -4
  221. package/esm2022/resizable/resizable.directive.mjs +4 -4
  222. package/esm2022/resizable/resizable.module.mjs +5 -5
  223. package/esm2022/resizable/resizable.property.mjs +4 -4
  224. package/esm2022/result/result.component.mjs +4 -4
  225. package/esm2022/result/result.module.mjs +5 -5
  226. package/esm2022/result/result.property.mjs +4 -4
  227. package/esm2022/ripple/ripple.directive.mjs +4 -4
  228. package/esm2022/ripple/ripple.module.mjs +5 -5
  229. package/esm2022/ripple/ripple.property.mjs +4 -4
  230. package/esm2022/select/select-portal.component.mjs +5 -5
  231. package/esm2022/select/select.component.mjs +5 -5
  232. package/esm2022/select/select.module.mjs +5 -5
  233. package/esm2022/select/select.property.mjs +4 -4
  234. package/esm2022/skeleton/skeleton.component.mjs +4 -4
  235. package/esm2022/skeleton/skeleton.module.mjs +5 -5
  236. package/esm2022/skeleton/skeleton.property.mjs +4 -4
  237. package/esm2022/slider/slider.component.mjs +4 -4
  238. package/esm2022/slider/slider.module.mjs +5 -5
  239. package/esm2022/slider/slider.property.mjs +4 -4
  240. package/esm2022/slider-select/slider-select.component.mjs +8 -8
  241. package/esm2022/slider-select/slider-select.module.mjs +5 -5
  242. package/esm2022/slider-select/slider-select.property.mjs +6 -4
  243. package/esm2022/statistic/countdown.component.mjs +4 -4
  244. package/esm2022/statistic/statistic.component.mjs +4 -4
  245. package/esm2022/statistic/statistic.module.mjs +5 -5
  246. package/esm2022/statistic/statistic.property.mjs +7 -7
  247. package/esm2022/steps/steps.component.mjs +4 -4
  248. package/esm2022/steps/steps.module.mjs +5 -5
  249. package/esm2022/steps/steps.property.mjs +4 -4
  250. package/esm2022/switch/switch.component.mjs +4 -4
  251. package/esm2022/switch/switch.module.mjs +5 -5
  252. package/esm2022/switch/switch.property.mjs +4 -4
  253. package/esm2022/table/table-body.component.mjs +5 -5
  254. package/esm2022/table/table-foot.component.mjs +4 -4
  255. package/esm2022/table/table-head.component.mjs +5 -5
  256. package/esm2022/table/table.component.mjs +4 -4
  257. package/esm2022/table/table.module.mjs +5 -5
  258. package/esm2022/table/table.property.mjs +13 -13
  259. package/esm2022/tabs/tab-content.component.mjs +4 -4
  260. package/esm2022/tabs/tab-link.directive.mjs +7 -7
  261. package/esm2022/tabs/tab.component.mjs +4 -4
  262. package/esm2022/tabs/tabs.component.mjs +4 -4
  263. package/esm2022/tabs/tabs.module.mjs +5 -5
  264. package/esm2022/tabs/tabs.property.mjs +7 -7
  265. package/esm2022/tag/tag.component.mjs +4 -4
  266. package/esm2022/tag/tag.module.mjs +5 -5
  267. package/esm2022/tag/tag.property.mjs +4 -4
  268. package/esm2022/text-retract/text-retract.component.mjs +4 -4
  269. package/esm2022/text-retract/text-retract.module.mjs +5 -5
  270. package/esm2022/text-retract/text-retract.property.mjs +4 -4
  271. package/esm2022/textarea/textarea.component.mjs +4 -4
  272. package/esm2022/textarea/textarea.module.mjs +5 -5
  273. package/esm2022/textarea/textarea.property.mjs +4 -4
  274. package/esm2022/theme/theme.component.mjs +4 -4
  275. package/esm2022/theme/theme.module.mjs +5 -5
  276. package/esm2022/theme/theme.property.mjs +4 -4
  277. package/esm2022/time-ago/time-ago.module.mjs +5 -5
  278. package/esm2022/time-ago/time-ago.pipe.mjs +4 -4
  279. package/esm2022/time-picker/time-picker-frame.component.mjs +4 -4
  280. package/esm2022/time-picker/time-picker-portal.component.mjs +4 -4
  281. package/esm2022/time-picker/time-picker.component.mjs +4 -4
  282. package/esm2022/time-picker/time-picker.module.mjs +5 -5
  283. package/esm2022/time-picker/time-picker.property.mjs +4 -4
  284. package/esm2022/time-range/time-range.module.mjs +5 -5
  285. package/esm2022/time-range/time-range.pipe.mjs +4 -4
  286. package/esm2022/timeline/timeline.component.mjs +5 -5
  287. package/esm2022/timeline/timeline.module.mjs +5 -5
  288. package/esm2022/timeline/timeline.property.mjs +4 -4
  289. package/esm2022/tooltip/tooltip-portal.component.mjs +6 -5
  290. package/esm2022/tooltip/tooltip.directive.mjs +4 -4
  291. package/esm2022/tooltip/tooltip.module.mjs +7 -6
  292. package/esm2022/tooltip/tooltip.property.mjs +4 -4
  293. package/esm2022/transfer/transfer.component.mjs +5 -5
  294. package/esm2022/transfer/transfer.module.mjs +5 -5
  295. package/esm2022/transfer/transfer.property.mjs +4 -4
  296. package/esm2022/tree/tree-node.component.mjs +5 -5
  297. package/esm2022/tree/tree.component.mjs +4 -4
  298. package/esm2022/tree/tree.module.mjs +5 -5
  299. package/esm2022/tree/tree.property.mjs +7 -7
  300. package/esm2022/tree/tree.service.mjs +4 -4
  301. package/esm2022/tree-file/tree-file.component.mjs +4 -4
  302. package/esm2022/tree-file/tree-file.module.mjs +5 -5
  303. package/esm2022/tree-file/tree-file.property.mjs +4 -4
  304. package/esm2022/tree-select/tree-select-portal.component.mjs +5 -5
  305. package/esm2022/tree-select/tree-select.component.mjs +5 -5
  306. package/esm2022/tree-select/tree-select.module.mjs +5 -5
  307. package/esm2022/tree-select/tree-select.property.mjs +4 -4
  308. package/esm2022/typography/typography.component.mjs +4 -4
  309. package/esm2022/typography/typography.module.mjs +5 -5
  310. package/esm2022/typography/typography.property.mjs +4 -4
  311. package/esm2022/upload/upload-portal.component.mjs +4 -4
  312. package/esm2022/upload/upload.component.mjs +4 -4
  313. package/esm2022/upload/upload.module.mjs +5 -5
  314. package/esm2022/upload/upload.property.mjs +4 -4
  315. package/fesm2022/ng-nest-ui-affix.mjs +10 -10
  316. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  317. package/fesm2022/ng-nest-ui-alert.mjs +10 -10
  318. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  319. package/fesm2022/ng-nest-ui-anchor.mjs +16 -16
  320. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  321. package/fesm2022/ng-nest-ui-api.mjs +7 -7
  322. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  323. package/fesm2022/ng-nest-ui-auto-complete.mjs +15 -15
  324. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  325. package/fesm2022/ng-nest-ui-avatar.mjs +16 -16
  326. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  327. package/fesm2022/ng-nest-ui-back-top.mjs +10 -10
  328. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  329. package/fesm2022/ng-nest-ui-badge.mjs +10 -10
  330. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  331. package/fesm2022/ng-nest-ui-base-form.mjs +10 -10
  332. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  333. package/fesm2022/ng-nest-ui-border.mjs +7 -7
  334. package/fesm2022/ng-nest-ui-border.mjs.map +1 -1
  335. package/fesm2022/ng-nest-ui-button.mjs +16 -16
  336. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  337. package/fesm2022/ng-nest-ui-calendar.mjs +10 -10
  338. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  339. package/fesm2022/ng-nest-ui-card.mjs +10 -10
  340. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  341. package/fesm2022/ng-nest-ui-carousel.mjs +16 -16
  342. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  343. package/fesm2022/ng-nest-ui-cascade.mjs +13 -13
  344. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  345. package/fesm2022/ng-nest-ui-checkbox.mjs +37 -13
  346. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  347. package/fesm2022/ng-nest-ui-collapse.mjs +16 -16
  348. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  349. package/fesm2022/ng-nest-ui-color-picker.mjs +13 -13
  350. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  351. package/fesm2022/ng-nest-ui-color.mjs +10 -10
  352. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  353. package/fesm2022/ng-nest-ui-comment.mjs +16 -16
  354. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  355. package/fesm2022/ng-nest-ui-container.mjs +31 -31
  356. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  357. package/fesm2022/ng-nest-ui-core.mjs +15 -15
  358. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  359. package/fesm2022/ng-nest-ui-crumb.mjs +10 -10
  360. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  361. package/fesm2022/ng-nest-ui-date-picker.mjs +49 -49
  362. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  363. package/fesm2022/ng-nest-ui-description.mjs +16 -16
  364. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  365. package/fesm2022/ng-nest-ui-dialog.mjs +40 -40
  366. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  367. package/fesm2022/ng-nest-ui-doc.mjs +8 -8
  368. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  369. package/fesm2022/ng-nest-ui-drag.mjs +10 -10
  370. package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
  371. package/fesm2022/ng-nest-ui-drawer.mjs +31 -31
  372. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  373. package/fesm2022/ng-nest-ui-dropdown.mjs +13 -13
  374. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  375. package/fesm2022/ng-nest-ui-empty.mjs +10 -10
  376. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  377. package/fesm2022/ng-nest-ui-examples.mjs +7 -7
  378. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  379. package/fesm2022/ng-nest-ui-find.mjs +10 -10
  380. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  381. package/fesm2022/ng-nest-ui-form.mjs +16 -16
  382. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  383. package/fesm2022/ng-nest-ui-highlight.mjs +10 -10
  384. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  385. package/fesm2022/ng-nest-ui-i18n.mjs +13 -13
  386. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  387. package/fesm2022/ng-nest-ui-icon.mjs +13 -13
  388. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  389. package/fesm2022/ng-nest-ui-image.mjs +19 -19
  390. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  391. package/fesm2022/ng-nest-ui-inner.mjs +10 -10
  392. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  393. package/fesm2022/ng-nest-ui-input-number.mjs +10 -10
  394. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  395. package/fesm2022/ng-nest-ui-input.mjs +16 -16
  396. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  397. package/fesm2022/ng-nest-ui-keyword.mjs +10 -10
  398. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  399. package/fesm2022/ng-nest-ui-layout.mjs +16 -16
  400. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  401. package/fesm2022/ng-nest-ui-link.mjs +10 -10
  402. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  403. package/fesm2022/ng-nest-ui-list.mjs +19 -19
  404. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  405. package/fesm2022/ng-nest-ui-loading.mjs +10 -10
  406. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  407. package/fesm2022/ng-nest-ui-menu.mjs +16 -16
  408. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  409. package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
  410. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  411. package/fesm2022/ng-nest-ui-message.mjs +10 -10
  412. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  413. package/fesm2022/ng-nest-ui-notification.mjs +10 -10
  414. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
  415. package/fesm2022/ng-nest-ui-outlet.mjs +7 -7
  416. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  417. package/fesm2022/ng-nest-ui-page-header.mjs +10 -10
  418. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  419. package/fesm2022/ng-nest-ui-pagination.mjs +10 -10
  420. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  421. package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
  422. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  423. package/fesm2022/ng-nest-ui-popconfirm.mjs +10 -10
  424. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  425. package/fesm2022/ng-nest-ui-popover.mjs +13 -13
  426. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  427. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  428. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  429. package/fesm2022/ng-nest-ui-progress.mjs +10 -10
  430. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  431. package/fesm2022/ng-nest-ui-radio.mjs +21 -11
  432. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  433. package/fesm2022/ng-nest-ui-rate.mjs +10 -10
  434. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  435. package/fesm2022/ng-nest-ui-resizable.mjs +10 -10
  436. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  437. package/fesm2022/ng-nest-ui-result.mjs +10 -10
  438. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  439. package/fesm2022/ng-nest-ui-ripple.mjs +10 -10
  440. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  441. package/fesm2022/ng-nest-ui-select.mjs +15 -15
  442. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  443. package/fesm2022/ng-nest-ui-skeleton.mjs +10 -10
  444. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  445. package/fesm2022/ng-nest-ui-slider-select.mjs +16 -14
  446. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  447. package/fesm2022/ng-nest-ui-slider.mjs +10 -10
  448. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  449. package/fesm2022/ng-nest-ui-statistic.mjs +16 -16
  450. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  451. package/fesm2022/ng-nest-ui-steps.mjs +10 -10
  452. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  453. package/fesm2022/ng-nest-ui-switch.mjs +10 -10
  454. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  455. package/fesm2022/ng-nest-ui-table.mjs +30 -30
  456. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  457. package/fesm2022/ng-nest-ui-tabs.mjs +25 -25
  458. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  459. package/fesm2022/ng-nest-ui-tag.mjs +10 -10
  460. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  461. package/fesm2022/ng-nest-ui-text-retract.mjs +10 -10
  462. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  463. package/fesm2022/ng-nest-ui-textarea.mjs +10 -10
  464. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  465. package/fesm2022/ng-nest-ui-theme.mjs +10 -10
  466. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  467. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  468. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
  469. package/fesm2022/ng-nest-ui-time-picker.mjs +16 -16
  470. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  471. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  472. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
  473. package/fesm2022/ng-nest-ui-timeline.mjs +11 -11
  474. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  475. package/fesm2022/ng-nest-ui-tooltip.mjs +19 -17
  476. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  477. package/fesm2022/ng-nest-ui-transfer.mjs +11 -11
  478. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  479. package/fesm2022/ng-nest-ui-tree-file.mjs +10 -10
  480. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  481. package/fesm2022/ng-nest-ui-tree-select.mjs +15 -15
  482. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  483. package/fesm2022/ng-nest-ui-tree.mjs +20 -20
  484. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  485. package/fesm2022/ng-nest-ui-typography.mjs +10 -10
  486. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  487. package/fesm2022/ng-nest-ui-upload.mjs +13 -13
  488. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  489. package/package.json +37 -37
  490. package/radio/radio.property.d.ts +6 -1
  491. package/slider-select/slider-select.property.d.ts +6 -1
  492. package/tooltip/tooltip-portal.component.d.ts +2 -2
  493. package/tooltip/tooltip.module.d.ts +2 -1
  494. package/tooltip/tooltip.property.d.ts +2 -2
@@ -333,11 +333,11 @@ class XDatePickerComponent extends XDatePickerProperty {
333
333
  this.ngOnInit();
334
334
  this.cdr.detectChanges();
335
335
  }
336
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XDatePickerComponent, deps: [{ token: i0.Renderer2 }, { token: i1.XConfigService }, { token: i0.ChangeDetectorRef }, { token: i2.XPortalService }, { token: i0.ViewContainerRef }, { token: i3.DatePipe }, { token: i4.XI18nService }, { token: i0.ElementRef }, { token: i5.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
337
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: XDatePickerComponent, selector: "x-date-picker", providers: [XValueAccessor(XDatePickerComponent), DatePipe], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["datePicker"], descendants: true, static: true }, { propertyName: "inputCom", first: true, predicate: ["inputCom"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #datePicker class=\"x-date-picker\">\r\n <div class=\"x-date-picker-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [validator]=\"validator\"\r\n [icon]=\"icon\"\r\n [placeholder]=\"getPlaceholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable && inputClearable\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"before\"\r\n [after]=\"after\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n [pointer]=\"pointer\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xInput)=\"onInput()\"\r\n (xClick)=\"showPortal()\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-picker{display:inline-block;width:12rem}.x-date-picker{margin:0;padding:0;width:100%}.x-date-picker x-input{width:100%}\n"], dependencies: [{ kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.XInputComponent, selector: "x-input" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
336
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XDatePickerComponent, deps: [{ token: i0.Renderer2 }, { token: i1.XConfigService }, { token: i0.ChangeDetectorRef }, { token: i2.XPortalService }, { token: i0.ViewContainerRef }, { token: i3.DatePipe }, { token: i4.XI18nService }, { token: i0.ElementRef }, { token: i5.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
337
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: XDatePickerComponent, selector: "x-date-picker", providers: [XValueAccessor(XDatePickerComponent), DatePipe], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["datePicker"], descendants: true, static: true }, { propertyName: "inputCom", first: true, predicate: ["inputCom"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #datePicker class=\"x-date-picker\">\r\n <div class=\"x-date-picker-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [validator]=\"validator\"\r\n [icon]=\"icon\"\r\n [placeholder]=\"getPlaceholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable && inputClearable\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"before\"\r\n [after]=\"after\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n [pointer]=\"pointer\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xInput)=\"onInput()\"\r\n (xClick)=\"showPortal()\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-picker{display:inline-block;width:12rem}.x-date-picker{margin:0;padding:0;width:100%}.x-date-picker x-input{width:100%}\n"], dependencies: [{ kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.XInputComponent, selector: "x-input" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
338
338
  }
339
339
  export { XDatePickerComponent };
340
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XDatePickerComponent, decorators: [{
340
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XDatePickerComponent, decorators: [{
341
341
  type: Component,
342
342
  args: [{ selector: `${XDatePickerPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XDatePickerComponent), DatePipe], template: "<div #datePicker class=\"x-date-picker\">\r\n <div class=\"x-date-picker-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [validator]=\"validator\"\r\n [icon]=\"icon\"\r\n [placeholder]=\"getPlaceholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable && inputClearable\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"before\"\r\n [after]=\"after\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n [pointer]=\"pointer\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xInput)=\"onInput()\"\r\n (xClick)=\"showPortal()\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-picker{display:inline-block;width:12rem}.x-date-picker{margin:0;padding:0;width:100%}.x-date-picker x-input{width:100%}\n"] }]
343
343
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.XConfigService }, { type: i0.ChangeDetectorRef }, { type: i2.XPortalService }, { type: i0.ViewContainerRef }, { type: i3.DatePipe }, { type: i4.XI18nService }, { type: i0.ElementRef }, { type: i5.Overlay }]; }, propDecorators: { datePicker: [{
@@ -347,4 +347,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
347
347
  type: ViewChild,
348
348
  args: ['inputCom', { static: true }]
349
349
  }] } });
350
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFxQyx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFDTCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQU12QixTQUFTLEVBRVQsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBd0IsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RyxPQUFPLEVBQ0wsUUFBUSxFQUNSLE9BQU8sRUFDUCxTQUFTLEVBQ1QsU0FBUyxFQUVULFdBQVcsRUFDWCxTQUFTLEVBRVQsT0FBTyxFQUNQLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNULE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7OztBQUd2RCxNQVFhLG9CQUFxQixTQUFRLG1CQUFtQjtJQVFsRCxVQUFVLENBQUMsS0FBVTtRQUM1QixJQUFJLE9BQU8sQ0FBQyxL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QkFBc0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRUQsV0FBVztRQUNULFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDcEYsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO2lJQTdVVSxvQkFBb0I7cUhBQXBCLG9CQUFvQix3Q0FGcEIsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsRUFBRSxRQUFRLENBQUMsbVNDN0M3RCw2b0NBcUNBOztTRFVhLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNFLEdBQUcsaUJBQWlCLEVBQUUsaUJBR2pCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLHNCQUFzQixFQUFFLFFBQVEsQ0FBQzswVEFHaEIsVUFBVTtzQkFBcEQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNBLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhEYXRlUGlja2VyUG9ydGFsQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXBpY2tlci1wb3J0YWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWFBvcnRhbFNlcnZpY2UsIFhQb3J0YWxPdmVybGF5UmVmLCBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24gfSBmcm9tICdAbmctbmVzdC91aS9wb3J0YWwnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIGluamVjdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYRGF0ZVBpY2tlclByZWZpeCwgWERhdGVQaWNrZXJQcm9wZXJ0eSwgWERhdGVQaWNrZXJNb2RlbFR5cGUgfSBmcm9tICcuL2RhdGUtcGlja2VyLnByb3BlcnR5JztcclxuaW1wb3J0IHtcclxuICBYSXNFbXB0eSxcclxuICBYSXNEYXRlLFxyXG4gIFhJc051bWJlcixcclxuICBYSXNDaGFuZ2UsXHJcbiAgWENvcm5lcixcclxuICBYQ2xlYXJDbGFzcyxcclxuICBYSXNTdHJpbmcsXHJcbiAgWENvbmZpZ1NlcnZpY2UsXHJcbiAgWElzTnVsbCxcclxuICBYRGF0ZVllYXJXZWVrLFxyXG4gIFhEYXRlWWVhclF1YXJ0ZXIsXHJcbiAgWFBhcmVudHNcclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWElucHV0Q29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvaW5wdXQnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCwgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksIENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5pbXBvcnQgeyBYSTE4bkRhdGVQaWNrZXIsIFhJMThuU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2kxOG4nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hEYXRlUGlja2VyUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbWFZhbHVlQWNjZXNzb3IoWERhdGVQaWNrZXJDb21wb25lbnQpLCBEYXRlUGlwZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhEYXRlUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgWERhdGVQaWNrZXJQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBAVmlld0NoaWxkKCdkYXRlUGlja2VyJywgeyBzdGF0aWM6IHRydWUgfSkgZGF0ZVBpY2tlciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0Q29tJywgeyBzdGF0aWM6IHRydWUgfSkgaW5wdXRDb20hOiBYSW5wdXRDb21wb25lbnQ7XHJcblxyXG4gIG1vZGVsVHlwZTogWERhdGVQaWNrZXJNb2RlbFR5cGUgPSAnZGF0ZSc7XHJcbiAgbnVtYmVyVmFsdWUhOiBudW1iZXIgfCBzdHJpbmc7XHJcbiAgaXNJbnB1dCA9IGZhbHNlO1xyXG5cclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmIChYSXNEYXRlKHZhbHVlKSkge1xyXG4gICAgICB0aGlzLm1vZGVsVHlwZSA9ICdkYXRlJztcclxuICAgICAgdGhpcy5udW1iZXJWYWx1ZSA9IHZhbHVlLmdldFRpbWUoKTtcclxuICAgIH0gZWxzZSBpZiAoWElzTnVtYmVyKHZhbHVlKSkge1xyXG4gICAgICB0aGlzLm1vZGVsVHlwZSA9ICdudW1iZXInO1xyXG4gICAgICB0aGlzLm51bWJlclZhbHVlID0gdmFsdWU7XHJcbiAgICB9IGVsc2UgaWYgKFhJc1N0cmluZyh2YWx1ZSkpIHtcclxuICAgICAgdGhpcy5tb2RlbFR5cGUgPSAnc3RyaW5nJztcclxuICAgICAgY29uc3QgdmFsdWVUaW1lID0gbmV3IERhdGUodmFsdWUpLmdldFRpbWUoKTtcclxuICAgICAgdGhpcy5udW1iZXJWYWx1ZSA9ICFpc05hTih2YWx1ZVRpbWUpID8gdmFsdWVUaW1lIDogJyc7XHJcbiAgICB9IGVsc2UgaWYgKFhJc0VtcHR5KHZhbHVlKSB8fCBYSXNOdWxsKHZhbHVlKSkge1xyXG4gICAgICB0aGlzLm51bWJlclZhbHVlID0gJyc7XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLnNldERpc3BsYXlWYWx1ZSh0aGlzLm51bWJlclZhbHVlKTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UubmV4dCh0aGlzLm51bWJlclZhbHVlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGVudGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaW5wdXRDbGVhcmFibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBhbmltYXRpbmcgPSBmYWxzZTtcclxuICBkaXNwbGF5VmFsdWU6IGFueSA9ICcnO1xyXG4gIHBvcnRhbCE6IFhQb3J0YWxPdmVybGF5UmVmPFhEYXRlUGlja2VyUG9ydGFsQ29tcG9uZW50PjtcclxuICBpY29uOiBzdHJpbmcgPSAnZnRvLWNhbGVuZGFyJztcclxuICBib3ghOiBET01SZWN0O1xyXG4gIHByb3RhbEhlaWdodCE6IG51bWJlcjtcclxuICBtYXhOb2RlczogbnVtYmVyID0gNjtcclxuICBwcm90YWxUb2JvdHRvbTogYm9vbGVhbiA9IHRydWU7XHJcbiAgdmFsdWVDaGFuZ2U6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgZGF0YUNoYW5nZTogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwb3NpdGlvbkNoYW5nZTogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBjbG9zZVN1YmplY3Q6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIGxvY2FsZTogWEkxOG5EYXRlUGlja2VyID0ge307XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XHJcblxyXG4gIGdldCBnZXRQbGFjZWhvbGRlcigpIHtcclxuICAgIGlmICh0aGlzLnBsYWNlaG9sZGVyKSByZXR1cm4gdGhpcy5wbGFjZWhvbGRlcjtcclxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdtb250aCcpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubG9jYWxlLnNlbGVjdE1vbnRoO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdxdWFydGVyJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5sb2NhbGUuc2VsZWN0UXVhcnRlcjtcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAneWVhcicpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubG9jYWxlLnNlbGVjdFllYXI7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ3dlZWsnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmxvY2FsZS5zZWxlY3RXZWVrO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMubG9jYWxlLnNlbGVjdERhdGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlLFxyXG4gICAgcHVibGljIG92ZXJyaWRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHBvcnRhbFNlcnZpY2U6IFhQb3J0YWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGUsXHJcbiAgICBwcml2YXRlIGkxOG46IFhJMThuU2VydmljZSxcclxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRGbGV4KHRoaXMuZGF0ZVBpY2tlci5uYXRpdmVFbGVtZW50LCB0aGlzLnJlbmRlcmVyLCB0aGlzLmp1c3RpZnksIHRoaXMuYWxpZ24sIHRoaXMuZGlyZWN0aW9uKTtcclxuICAgIHRoaXMuc2V0Rm9ybWF0KCk7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgICB0aGlzLnNldFN1YmplY3QoKTtcclxuICAgIHRoaXMuc2V0UGFyYW50U2Nyb2xsKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnNldFBvcnRhbCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3QgeyB0eXBlIH0gPSBjaGFuZ2VzO1xyXG4gICAgaWYgKFhJc0NoYW5nZSh0eXBlKSkge1xyXG4gICAgICB0aGlzLnNldEZvcm1hdCgpO1xyXG4gICAgICB0aGlzLnNldERpc3BsYXlWYWx1ZSh0aGlzLm51bWJlclZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0U3ViamVjdCgpIHtcclxuICAgIHRoaXMuY2xvc2VTdWJqZWN0LnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY2xvc2VQb3J0YWwoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5pMThuLmxvY2FsZUNoYW5nZVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHgpID0+IHguZGF0ZVBpY2tlciBhcyBYSTE4bkRhdGVQaWNrZXIpLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9jYWxlID0geDtcclxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRGb3JtYXQoKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtYXQgIT09ICd5eXl5LU1NLWRkJykgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0tZGQnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICd5ZWFyJykge1xyXG4gICAgICB0aGlzLmZvcm1hdCA9ICd5eXl5JztcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAncXVhcnRlcicpIHtcclxuICAgICAgdGhpcy5mb3JtYXQgPSAneXl5eS1NTS1kZCc7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ21vbnRoJykge1xyXG4gICAgICB0aGlzLmZvcm1hdCA9ICd5eXl5LU1NJztcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnZGF0ZS10aW1lJykge1xyXG4gICAgICB0aGlzLmZvcm1hdCA9ICd5eXl5LU1NLWRkIEhIOm1tOnNzJztcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnZGF0ZS1ob3VyJykge1xyXG4gICAgICB0aGlzLmZvcm1hdCA9ICd5eXl5LU1NLWRkIEhIJztcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnZGF0ZS1taW51dGUnKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0tZGQgSEg6bW0nO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbWVudGVyKCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRoaXMuZW50ZXIgPSB0cnVlO1xyXG4gICAgaWYgKCF0aGlzLmNsZWFyYWJsZSkgcmV0dXJuO1xyXG4gICAgaWYgKCFYSXNFbXB0eSh0aGlzLm51bWJlclZhbHVlKSkge1xyXG4gICAgICB0aGlzLmljb24gPSAnJztcclxuICAgICAgdGhpcy5pbnB1dENsZWFyYWJsZSA9IHRydWU7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1sZWF2ZSgpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICB0aGlzLmVudGVyID0gZmFsc2U7XHJcbiAgICBpZiAoIXRoaXMuY2xlYXJhYmxlKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5pbnB1dENsZWFyYWJsZSkge1xyXG4gICAgICB0aGlzLmljb24gPSAnZnRvLWNhbGVuZGFyJztcclxuICAgICAgdGhpcy5pbnB1dENsZWFyYWJsZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRQYXJhbnRTY3JvbGwoKSB7XHJcbiAgICBpZiAoIXRoaXMuZG9jdW1lbnQpIHJldHVybjtcclxuICAgIGNvbnN0IHBhcmVudHMgPSBYUGFyZW50cyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICBsZXQgZmlyc3RTY3JvbGw6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XHJcbiAgICBmb3IgKGxldCBpdGVtIG9mIHBhcmVudHMpIHtcclxuICAgICAgaWYgKGl0ZW0uY2xpZW50SGVpZ2h0IDwgaXRlbS5zY3JvbGxIZWlnaHQpIHtcclxuICAgICAgICBmaXJzdFNjcm9sbCA9IGl0ZW07XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChmaXJzdFNjcm9sbCAmJiBmaXJzdFNjcm9sbC50YWdOYW1lICE9PSAnQk9EWScpIHtcclxuICAgICAgZnJvbUV2ZW50KGZpcnN0U2Nyb2xsLCAnc2Nyb2xsJylcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLnBvcnRhbEF0dGFjaGVkKCkhKSxcclxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5wb3J0YWw/Lm92ZXJsYXlSZWY/LnVwZGF0ZVBvc2l0aW9uKCk7XHJcbiAgICAgICAgICBjb25zdCBlcmFjdCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgICAgY29uc3QgZnJlY3QgPSBmaXJzdFNjcm9sbCEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgICBpZiAoZXJhY3QudG9wICsgZXJhY3QuaGVpZ2h0IC0gZnJlY3QudG9wIDwgMCB8fCBlcmFjdC5ib3R0b20gPiBmcmVjdC5ib3R0b20pIHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZVN1YmplY3QubmV4dCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXJFbWl0KCkge1xyXG4gICAgdGhpcy52YWx1ZSA9IG51bGw7XHJcbiAgICB0aGlzLm51bWJlclZhbHVlID0gJyc7XHJcbiAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5tbGVhdmUoKTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UubmV4dCh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIG1vZGVsQ2hhbmdlKCkge1xyXG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcclxuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmdldFZhbHVlKCkpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtQ29udHJvbFZhbGlkYXRvcigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICBpZiAodGhpcy5udW1iZXJWYWx1ZSA9PT0gJycpIHJldHVybiBudWxsO1xyXG4gICAgcmV0dXJuIFsnZGF0ZScsICdzdHJpbmcnXS5pbmNsdWRlcyh0aGlzLm1vZGVsVHlwZSkgPyBuZXcgRGF0ZSh0aGlzLm51bWJlclZhbHVlKSA6IHRoaXMubnVtYmVyVmFsdWU7XHJcbiAgfVxyXG5cclxuICBwb3J0YWxBdHRhY2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlUG9ydGFsKCkge1xyXG4gICAgaWYgKHRoaXMucG9ydGFsQXR0YWNoZWQoKSkge1xyXG4gICAgICB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8uZGV0YWNoKCk7XHJcbiAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBkZXN0cm95UG9ydGFsKCkge1xyXG4gICAgdGhpcy5wb3J0YWw/Lm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICB9XHJcblxyXG4gIHNob3dQb3J0YWwoKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmFuaW1hdGluZykgcmV0dXJuO1xyXG4gICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xyXG4gICAgY29uc3QgY29uZmlnOiBPdmVybGF5Q29uZmlnID0ge1xyXG4gICAgICBiYWNrZHJvcENsYXNzOiAnJyxcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5zZXRQbGFjZW1lbnQoKSxcclxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxyXG4gICAgfTtcclxuICAgIHRoaXMuc2V0UG9zaXRpb24oY29uZmlnKTtcclxuICAgIHRoaXMucG9ydGFsID0gdGhpcy5wb3J0YWxTZXJ2aWNlLmF0dGFjaCh7XHJcbiAgICAgIGNvbnRlbnQ6IFhEYXRlUGlja2VyUG9ydGFsQ29tcG9uZW50LFxyXG4gICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgIG92ZXJsYXlDb25maWc6IGNvbmZpZ1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnBvcnRhbC5vdmVybGF5UmVmXHJcbiAgICAgID8ub3V0c2lkZVBvaW50ZXJFdmVudHMoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXREaXNwbGF5VmFsdWUodGhpcy5udW1iZXJWYWx1ZSk7XHJcbiAgICAgICAgdGhpcy5jbG9zZVN1YmplY3QubmV4dCgpO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMuc2V0SW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIHNldFBvc2l0aW9uKGNvbmZpZzogT3ZlcmxheUNvbmZpZykge1xyXG4gICAgbGV0IHBvc2l0aW9uID0gY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5O1xyXG4gICAgcG9zaXRpb24ucG9zaXRpb25DaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgocG9zOiBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UpID0+IHtcclxuICAgICAgY29uc3QgcGxhY2UgPSBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24uZ2V0KHBvcy5jb25uZWN0aW9uUGFpcikgYXMgWENvcm5lcjtcclxuICAgICAgcGxhY2UgIT09IHRoaXMucGxhY2VtZW50ICYmIHRoaXMucG9zaXRpb25DaGFuZ2UubmV4dChwbGFjZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldEluc3RhbmNlKCkge1xyXG4gICAgbGV0IGNvbXBvbmVudFJlZiA9IHRoaXMucG9ydGFsPy5jb21wb25lbnRSZWY7XHJcbiAgICBpZiAoIWNvbXBvbmVudFJlZikgcmV0dXJuO1xyXG4gICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIHtcclxuICAgICAgdHlwZTogdGhpcy50eXBlLFxyXG4gICAgICB2YWx1ZTogdGhpcy5udW1iZXJWYWx1ZSxcclxuICAgICAgcGxhY2VtZW50OiB0aGlzLnBsYWNlbWVudCxcclxuICAgICAgcHJlc2V0OiB0aGlzLnByZXNldCxcclxuICAgICAgZXh0cmFGb290ZXI6IHRoaXMuZXh0cmFGb290ZXIsXHJcbiAgICAgIHZhbHVlQ2hhbmdlOiB0aGlzLnZhbHVlQ2hhbmdlLFxyXG4gICAgICBwb3NpdGlvbkNoYW5nZTogdGhpcy5wb3NpdGlvbkNoYW5nZSxcclxuICAgICAgaW5wdXRDb206IHRoaXMuaW5wdXRDb20sXHJcbiAgICAgIGRpc2FibGVkRGF0ZTogdGhpcy5kaXNhYmxlZERhdGUsXHJcbiAgICAgIGRpc2FibGVkVGltZTogdGhpcy5kaXNhYmxlZFRpbWUsXHJcbiAgICAgIGNsb3NlUG9ydGFsOiAoKSA9PiB0aGlzLmNsb3NlU3ViamVjdC5uZXh0KCksXHJcbiAgICAgIGRlc3Ryb3lQb3J0YWw6ICgpID0+IHRoaXMuZGVzdHJveVBvcnRhbCgpLFxyXG4gICAgICBub2RlRW1pdDogKG5vZGU6IERhdGUsIHN1cmUgPSB0cnVlKSA9PiB0aGlzLm9uTm9kZUNsaWNrKG5vZGUsIHN1cmUpLFxyXG4gICAgICBhbmltYXRpbmc6IChpbmc6IGJvb2xlYW4pID0+ICh0aGlzLmFuaW1hdGluZyA9IGluZylcclxuICAgIH0pO1xyXG4gICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG9uTm9kZUNsaWNrKGRhdGU6IERhdGUsIHN1cmUgPSB0cnVlKSB7XHJcbiAgICB0aGlzLmlzSW5wdXQgPSBmYWxzZTtcclxuICAgIGlmIChzdXJlKSB7XHJcbiAgICAgIHRoaXMubnVtYmVyVmFsdWUgPSBkYXRlLmdldFRpbWUoKTtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTtcclxuICAgICAgdGhpcy5zZXREaXNwbGF5VmFsdWUodGhpcy5udW1iZXJWYWx1ZSk7XHJcbiAgICAgIHRoaXMuY2xvc2VTdWJqZWN0Lm5leHQoKTtcclxuICAgICAgdGhpcy5tb2RlbENoYW5nZSgpO1xyXG4gICAgICB0aGlzLm5vZGVFbWl0LmVtaXQodGhpcy5udW1iZXJWYWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldERpc3BsYXlWYWx1ZShkYXRlLmdldFRpbWUoKSk7XHJcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25JbnB1dCgpIHtcclxuICAgIHRoaXMuaXNJbnB1dCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzZXREaXNwbGF5VmFsdWUoZGF0ZU51bWJlcjogbnVtYmVyIHwgc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5pc0lucHV0ICYmIGlzTmFOKHRoaXMuZGlzcGxheVZhbHVlKSAmJiAhaXNOYU4oRGF0ZS5wYXJzZSh0aGlzLmRpc3BsYXlWYWx1ZSkpICYmICFbJ3dlZWsnLCAncXVhcnRlciddLmluY2x1ZGVzKHRoaXMudHlwZSkpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh0aGlzLmRpc3BsYXlWYWx1ZSwgdGhpcy5mb3JtYXQpO1xyXG4gICAgICB0aGlzLm51bWJlclZhbHVlID0gbmV3IERhdGUodGhpcy5kaXNwbGF5VmFsdWUpLmdldFRpbWUoKTtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTtcclxuICAgICAgdGhpcy5tb2RlbENoYW5nZSgpO1xyXG4gICAgICB0aGlzLmlzSW5wdXQgPSBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLnR5cGUgPT09ICd3ZWVrJykge1xyXG4gICAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gWERhdGVZZWFyV2VlayhkYXRlTnVtYmVyKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdxdWFydGVyJykge1xyXG4gICAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gWERhdGVZZWFyUXVhcnRlcihkYXRlTnVtYmVyKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGRhdGVOdW1iZXIsIHRoaXMuZm9ybWF0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0UGxhY2VtZW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMucG9ydGFsU2VydmljZS5zZXRQbGFjZW1lbnQoe1xyXG4gICAgICBlbGVtZW50UmVmOiB0aGlzLmlucHV0Q29tLmlucHV0UmVmLFxyXG4gICAgICBwbGFjZW1lbnQ6IFt0aGlzLnBsYWNlbWVudCBhcyBYQ29ybmVyLCAnYm90dG9tLXN0YXJ0JywgJ2JvdHRvbS1lbmQnLCAndG9wLXN0YXJ0JywgJ3RvcC1lbmQnXSxcclxuICAgICAgdHJhbnNmb3JtT3JpZ2luT246ICd4LWRhdGUtcGlja2VyLXBvcnRhbCdcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0UG9ydGFsKCkge1xyXG4gICAgdGhpcy5wb3J0YWxBdHRhY2hlZCgpICYmIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHRoaXMuc2V0UGxhY2VtZW50KCkpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICBYQ2xlYXJDbGFzcyh0aGlzLmxhYmVsTWFwKTtcclxuICAgIHRoaXMubGFiZWxNYXBbYHgtdGV4dC1hbGlnbi0ke3RoaXMubGFiZWxBbGlnbn1gXSA9IHRoaXMubGFiZWxBbGlnbiA/IHRydWUgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGZvcm1Db250cm9sQ2hhbmdlcygpIHtcclxuICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAjZGF0ZVBpY2tlciBjbGFzcz1cIngtZGF0ZS1waWNrZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwieC1kYXRlLXBpY2tlci1yb3dcIj5cclxuICAgIDx4LWlucHV0XHJcbiAgICAgICNpbnB1dENvbVxyXG4gICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgIFtsYWJlbF09XCJsYWJlbFwiXHJcbiAgICAgIFtsYWJlbFdpZHRoXT1cImxhYmVsV2lkdGhcIlxyXG4gICAgICBbbGFiZWxBbGlnbl09XCJsYWJlbEFsaWduXCJcclxuICAgICAgW2p1c3RpZnldPVwianVzdGlmeVwiXHJcbiAgICAgIFthbGlnbl09XCJhbGlnblwiXHJcbiAgICAgIFtkaXJlY3Rpb25dPVwiZGlyZWN0aW9uXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcclxuICAgICAgW3ZhbGlkYXRvcl09XCJ2YWxpZGF0b3JcIlxyXG4gICAgICBbaWNvbl09XCJpY29uXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyXCJcclxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgW2NsZWFyYWJsZV09XCJjbGVhcmFibGUgJiYgaW5wdXRDbGVhcmFibGVcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cImRpc3BsYXlWYWx1ZVwiXHJcbiAgICAgIFt2YWx1ZVRwbF09XCJ2YWx1ZVRwbFwiXHJcbiAgICAgIFt2YWx1ZVRwbENvbnRleHRdPVwidmFsdWVUcGxDb250ZXh0XCJcclxuICAgICAgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgIFtib3JkZXJlZF09XCJib3JkZXJlZFwiXHJcbiAgICAgIFtiZWZvcmVdPVwiYmVmb3JlXCJcclxuICAgICAgW2FmdGVyXT1cImFmdGVyXCJcclxuICAgICAgW3BhdHRlcm5dPVwicGF0dGVyblwiXHJcbiAgICAgIFttZXNzYWdlXT1cIm1lc3NhZ2VcIlxyXG4gICAgICBbcG9pbnRlcl09XCJwb2ludGVyXCJcclxuICAgICAgWyhhY3RpdmUpXT1cImFjdGl2ZVwiXHJcbiAgICAgIChjbGVhckVtaXQpPVwiY2xlYXJFbWl0KClcIlxyXG4gICAgICAoeElucHV0KT1cIm9uSW5wdXQoKVwiXHJcbiAgICAgICh4Q2xpY2spPVwic2hvd1BvcnRhbCgpXCJcclxuICAgICAgKHhNb3VzZWVudGVyKT1cIm1lbnRlcigpXCJcclxuICAgICAgKHhNb3VzZWxlYXZlKT1cIm1sZWF2ZSgpXCJcclxuICAgID48L3gtaW5wdXQ+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
350
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFxQyx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFDTCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQU12QixTQUFTLEVBRVQsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBd0IsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RyxPQUFPLEVBQ0wsUUFBUSxFQUNSLE9BQU8sRUFDUCxTQUFTLEVBQ1QsU0FBUyxFQUVULFdBQVcsRUFDWCxTQUFTLEVBRVQsT0FBTyxFQUNQLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNULE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7OztBQUd2RCxNQVFhLG9CQUFxQixTQUFRLG1CQUFtQjtJQVFsRCxVQUFVLENBQUMsS0FBVTtRQUM1QixJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztZQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNwQzthQUFNLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1lBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1NBQzFCO2FBQU0sSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7WUFDMUIsTUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDdkQ7YUFBTSxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7U0FDdkI7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBb0JELElBQUksY0FBYztRQUNoQixJQUFJLElBQUksQ0FBQyxXQUFXO1lBQUUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzlDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztTQUNoQzthQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDbEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQztTQUNsQzthQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDL0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztTQUMvQjthQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDL0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztTQUMvQjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFRCxZQUNTLFFBQW1CLEVBQ25CLGFBQTZCLEVBQ3BCLEdBQXNCLEVBQzlCLGFBQTZCLEVBQzdCLGdCQUFrQyxFQUNsQyxRQUFrQixFQUNsQixJQUFrQixFQUNsQixVQUFzQixFQUN0QixPQUFnQjtRQUV4QixLQUFLLEVBQUUsQ0FBQztRQVZELGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBQ3BCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQUM3QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBYztRQUNsQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFsRTFCLGNBQVMsR0FBeUIsTUFBTSxDQUFDO1FBRXpDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFzQmhCLFVBQUssR0FBWSxLQUFLLENBQUM7UUFDdkIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQUV2QixTQUFJLEdBQVcsY0FBYyxDQUFDO1FBRzlCLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFDckIsbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFDL0IsZ0JBQVcsR0FBaUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMxQyxlQUFVLEdBQWlCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDekMsbUJBQWMsR0FBaUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM3QyxpQkFBWSxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzVDLFdBQU0sR0FBb0IsRUFBRSxDQUFDO1FBQ3JCLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3pDLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUE2QjVCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUN6QixJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNuQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDeEM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2hFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWTthQUNuQixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBNkIsQ0FBQyxFQUMzQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUMzQjthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLFlBQVk7WUFBRSxPQUFPO1FBQ3pDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUM7U0FDNUI7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1NBQ3RCO2FBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQztTQUM1QjthQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7U0FDekI7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcscUJBQXFCLENBQUM7U0FDckM7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUFDO1NBQy9CO2FBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGFBQWEsRUFBRTtZQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHLGtCQUFrQixDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFjLENBQUM7WUFDM0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMzQixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RCxJQUFJLFdBQVcsR0FBdUIsSUFBSSxDQUFDO1FBQzNDLEtBQUssSUFBSSxJQUFJLElBQUksT0FBTyxFQUFFO1lBQ3hCLElBQUksSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUN6QyxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUNuQixNQUFNO2FBQ1A7U0FDRjtRQUNELElBQUksV0FBVyxJQUFJLFdBQVcsQ0FBQyxPQUFPLEtBQUssTUFBTSxFQUFFO1lBQ2pELFNBQVMsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDO2lCQUM3QixJQUFJLENBQ0gsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUcsQ0FBQyxFQUNwQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUMzQjtpQkFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxDQUFDO2dCQUMxQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUNwRSxNQUFNLEtBQUssR0FBRyxXQUFZLENBQUMscUJBQXFCLEVBQUUsQ0FBQztnQkFDbkQsSUFBSSxLQUFLLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFO29CQUMzRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO2lCQUMxQjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDSCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUNoQztRQUNELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQztRQUN6QyxPQUFPLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUNyRyxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNwQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQzVDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLE1BQU0sTUFBTSxHQUFrQjtZQUM1QixhQUFhLEVBQUUsRUFBRTtZQUNqQixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JDLGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRTtTQUMzRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO1lBQ3RDLE9BQU8sRUFBRSwwQkFBMEI7WUFDbkMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxhQUFhLEVBQUUsTUFBTTtTQUN0QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVU7WUFDcEIsRUFBRSxvQkFBb0IsRUFBRTthQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNoQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQXFCO1FBQy9CLElBQUksUUFBUSxHQUFHLE1BQU0sQ0FBQyxnQkFBcUQsQ0FBQztRQUM1RSxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBbUMsRUFBRSxFQUFFO1lBQzFHLE1BQU0sS0FBSyxHQUFHLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFZLENBQUM7WUFDMUUsS0FBSyxLQUFLLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDO1FBQzdDLElBQUksQ0FBQyxZQUFZO1lBQUUsT0FBTztRQUMxQixNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUU7WUFDbkMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFO1lBQzNDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3pDLFFBQVEsRUFBRSxDQUFDLElBQVUsRUFBRSxJQUFJLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7WUFDbkUsU0FBUyxFQUFFLENBQUMsR0FBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1NBQ3BELENBQUMsQ0FBQztRQUNILFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVUsRUFBRSxJQUFJLEdBQUcsSUFBSTtRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUN0QzthQUFNO1lBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDO0lBRUQsZUFBZSxDQUFDLFVBQTJCO1FBQ3pDLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2pJLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDekQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO2FBQU07WUFDTCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO2dCQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUMvQztpQkFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO2dCQUNsQyxJQUFJLENBQUMsWUFBWSxHQUFHLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2xEO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUN0RTtTQUNGO0lBQ0gsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1lBQ3JDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVE7WUFDbEMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQW9CLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDO1lBQzVGLGlCQUFpQixFQUFFLHNCQUFzQjtTQUMxQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRUQsV0FBVztRQUNULFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDcEYsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO2tJQTdVVSxvQkFBb0I7c0hBQXBCLG9CQUFvQix3Q0FGcEIsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsRUFBRSxRQUFRLENBQUMsbVNDN0M3RCw2b0NBcUNBOztTRFVhLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNFLEdBQUcsaUJBQWlCLEVBQUUsaUJBR2pCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLHNCQUFzQixFQUFFLFFBQVEsQ0FBQzswVEFHaEIsVUFBVTtzQkFBcEQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNBLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhEYXRlUGlja2VyUG9ydGFsQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXBpY2tlci1wb3J0YWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWFBvcnRhbFNlcnZpY2UsIFhQb3J0YWxPdmVybGF5UmVmLCBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24gfSBmcm9tICdAbmctbmVzdC91aS9wb3J0YWwnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIGluamVjdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYRGF0ZVBpY2tlclByZWZpeCwgWERhdGVQaWNrZXJQcm9wZXJ0eSwgWERhdGVQaWNrZXJNb2RlbFR5cGUgfSBmcm9tICcuL2RhdGUtcGlja2VyLnByb3BlcnR5JztcclxuaW1wb3J0IHtcclxuICBYSXNFbXB0eSxcclxuICBYSXNEYXRlLFxyXG4gIFhJc051bWJlcixcclxuICBYSXNDaGFuZ2UsXHJcbiAgWENvcm5lcixcclxuICBYQ2xlYXJDbGFzcyxcclxuICBYSXNTdHJpbmcsXHJcbiAgWENvbmZpZ1NlcnZpY2UsXHJcbiAgWElzTnVsbCxcclxuICBYRGF0ZVllYXJXZWVrLFxyXG4gIFhEYXRlWWVhclF1YXJ0ZXIsXHJcbiAgWFBhcmVudHNcclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWElucHV0Q29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvaW5wdXQnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCwgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksIENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5pbXBvcnQgeyBYSTE4bkRhdGVQaWNrZXIsIFhJMThuU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2kxOG4nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hEYXRlUGlja2VyUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbWFZhbHVlQWNjZXNzb3IoWERhdGVQaWNrZXJDb21wb25lbnQpLCBEYXRlUGlwZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhEYXRlUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgWERhdGVQaWNrZXJQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBAVmlld0NoaWxkKCdkYXRlUGlja2VyJywgeyBzdGF0aWM6IHRydWUgfSkgZGF0ZVBpY2tlciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0Q29tJywgeyBzdGF0aWM6IHRydWUgfSkgaW5wdXRDb20hOiBYSW5wdXRDb21wb25lbnQ7XHJcblxyXG4gIG1vZGVsVHlwZTogWERhdGVQaWNrZXJNb2RlbFR5cGUgPSAnZGF0ZSc7XHJcbiAgbnVtYmVyVmFsdWUhOiBudW1iZXIgfCBzdHJpbmc7XHJcbiAgaXNJbnB1dCA9IGZhbHNlO1xyXG5cclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmIChYSXNEYXRlKHZhbHVlKSkge1xyXG4gICAgICB0aGlzLm1vZGVsVHlwZSA9ICdkYXRlJztcclxuICAgICAgdGhpcy5udW1iZXJWYWx1ZSA9IHZhbHVlLmdldFRpbWUoKTtcclxuICAgIH0gZWxzZSBpZiAoWElzTnVtYmVyKHZhbHVlKSkge1xyXG4gICAgICB0aGlzLm1vZGVsVHlwZSA9ICdudW1iZXInO1xyXG4gICAgICB0aGlzLm51bWJlclZhbHVlID0gdmFsdWU7XHJcbiAgICB9IGVsc2UgaWYgKFhJc1N0cmluZyh2YWx1ZSkpIHtcclxuICAgICAgdGhpcy5tb2RlbFR5cGUgPSAnc3RyaW5nJztcclxuICAgICAgY29uc3QgdmFsdWVUaW1lID0gbmV3IERhdGUodmFsdWUpLmdldFRpbWUoKTtcclxuICAgICAgdGhpcy5udW1iZXJWYWx1ZSA9ICFpc05hTih2YWx1ZVRpbWUpID8gdmFsdWVUaW1lIDogJyc7XHJcbiAgICB9IGVsc2UgaWYgKFhJc0VtcHR5KHZhbHVlKSB8fCBYSXNOdWxsKHZhbHVlKSkge1xyXG4gICAgICB0aGlzLm51bWJlclZhbHVlID0gJyc7XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLnNldERpc3BsYXlWYWx1ZSh0aGlzLm51bWJlclZhbHVlKTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UubmV4dCh0aGlzLm51bWJlclZhbHVlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGVudGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaW5wdXRDbGVhcmFibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBhbmltYXRpbmcgPSBmYWxzZTtcclxuICBkaXNwbGF5VmFsdWU6IGFueSA9ICcnO1xyXG4gIHBvcnRhbCE6IFhQb3J0YWxPdmVybGF5UmVmPFhEYXRlUGlja2VyUG9ydGFsQ29tcG9uZW50PjtcclxuICBpY29uOiBzdHJpbmcgPSAnZnRvLWNhbGVuZGFyJztcclxuICBib3ghOiBET01SZWN0O1xyXG4gIHByb3RhbEhlaWdodCE6IG51bWJlcjtcclxuICBtYXhOb2RlczogbnVtYmVyID0gNjtcclxuICBwcm90YWxUb2JvdHRvbTogYm9vbGVhbiA9IHRydWU7XHJcbiAgdmFsdWVDaGFuZ2U6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgZGF0YUNoYW5nZTogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwb3NpdGlvbkNoYW5nZTogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBjbG9zZVN1YmplY3Q6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIGxvY2FsZTogWEkxOG5EYXRlUGlja2VyID0ge307XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XHJcblxyXG4gIGdldCBnZXRQbGFjZWhvbGRlcigpIHtcclxuICAgIGlmICh0aGlzLnBsYWNlaG9sZGVyKSByZXR1cm4gdGhpcy5wbGFjZWhvbGRlcjtcclxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdtb250aCcpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubG9jYWxlLnNlbGVjdE1vbnRoO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdxdWFydGVyJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5sb2NhbGUuc2VsZWN0UXVhcnRlcjtcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAneWVhcicpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubG9jYWxlLnNlbGVjdFllYXI7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ3dlZWsnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmxvY2FsZS5zZWxlY3RXZWVrO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMubG9jYWxlLnNlbGVjdERhdGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlLFxyXG4gICAgcHVibGljIG92ZXJyaWRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHBvcnRhbFNlcnZpY2U6IFhQb3J0YWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGUsXHJcbiAgICBwcml2YXRlIGkxOG46IFhJMThuU2VydmljZSxcclxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRGbGV4KHRoaXMuZGF0ZVBpY2tlci5uYXRpdmVFbGVtZW50LCB0aGlzLnJlbmRlcmVyLCB0aGlzLmp1c3RpZnksIHRoaXMuYWxpZ24sIHRoaXMuZGlyZWN0aW9uKTtcclxuICAgIHRoaXMuc2V0Rm9ybWF0KCk7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgICB0aGlzLnNldFN1YmplY3QoKTtcclxuICAgIHRoaXMuc2V0UGFyYW50U2Nyb2xsKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnNldFBvcnRhbCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3QgeyB0eXBlIH0gPSBjaGFuZ2VzO1xyXG4gICAgaWYgKFhJc0NoYW5nZSh0eXBlKSkge1xyXG4gICAgICB0aGlzLnNldEZvcm1hdCgpO1xyXG4gICAgICB0aGlzLnNldERpc3BsYXlWYWx1ZSh0aGlzLm51bWJlclZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0U3ViamVjdCgpIHtcclxuICAgIHRoaXMuY2xvc2VTdWJqZWN0LnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY2xvc2VQb3J0YWwoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5pMThuLmxvY2FsZUNoYW5nZVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHgpID0+IHguZGF0ZVBpY2tlciBhcyBYSTE4bkRhdGVQaWNrZXIpLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9jYWxlID0geDtcclxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRGb3JtYXQoKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtYXQgIT09ICd5eXl5LU1NLWRkJykgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0tZGQnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICd5ZWFyJykge1xyXG4gICAgICB0aGlzLmZvcm1hdCA9ICd5eXl5JztcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAncXVhcnRlcicpIHtcclxuICAgICAgdGhpcy5mb3JtYXQgPSAneXl5eS1NTS1kZCc7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ21vbnRoJykge1xyXG4gICAgICB0aGlzLmZvcm1hdCA9ICd5eXl5LU1NJztcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnZGF0ZS10aW1lJykge1xyXG4gICAgICB0aGlzLmZvcm1hdCA9ICd5eXl5LU1NLWRkIEhIOm1tOnNzJztcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnZGF0ZS1ob3VyJykge1xyXG4gICAgICB0aGlzLmZvcm1hdCA9ICd5eXl5LU1NLWRkIEhIJztcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnZGF0ZS1taW51dGUnKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0tZGQgSEg6bW0nO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbWVudGVyKCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRoaXMuZW50ZXIgPSB0cnVlO1xyXG4gICAgaWYgKCF0aGlzLmNsZWFyYWJsZSkgcmV0dXJuO1xyXG4gICAgaWYgKCFYSXNFbXB0eSh0aGlzLm51bWJlclZhbHVlKSkge1xyXG4gICAgICB0aGlzLmljb24gPSAnJztcclxuICAgICAgdGhpcy5pbnB1dENsZWFyYWJsZSA9IHRydWU7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1sZWF2ZSgpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICB0aGlzLmVudGVyID0gZmFsc2U7XHJcbiAgICBpZiAoIXRoaXMuY2xlYXJhYmxlKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5pbnB1dENsZWFyYWJsZSkge1xyXG4gICAgICB0aGlzLmljb24gPSAnZnRvLWNhbGVuZGFyJztcclxuICAgICAgdGhpcy5pbnB1dENsZWFyYWJsZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRQYXJhbnRTY3JvbGwoKSB7XHJcbiAgICBpZiAoIXRoaXMuZG9jdW1lbnQpIHJldHVybjtcclxuICAgIGNvbnN0IHBhcmVudHMgPSBYUGFyZW50cyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICBsZXQgZmlyc3RTY3JvbGw6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XHJcbiAgICBmb3IgKGxldCBpdGVtIG9mIHBhcmVudHMpIHtcclxuICAgICAgaWYgKGl0ZW0uY2xpZW50SGVpZ2h0IDwgaXRlbS5zY3JvbGxIZWlnaHQpIHtcclxuICAgICAgICBmaXJzdFNjcm9sbCA9IGl0ZW07XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChmaXJzdFNjcm9sbCAmJiBmaXJzdFNjcm9sbC50YWdOYW1lICE9PSAnQk9EWScpIHtcclxuICAgICAgZnJvbUV2ZW50KGZpcnN0U2Nyb2xsLCAnc2Nyb2xsJylcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLnBvcnRhbEF0dGFjaGVkKCkhKSxcclxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5wb3J0YWw/Lm92ZXJsYXlSZWY/LnVwZGF0ZVBvc2l0aW9uKCk7XHJcbiAgICAgICAgICBjb25zdCBlcmFjdCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgICAgY29uc3QgZnJlY3QgPSBmaXJzdFNjcm9sbCEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgICBpZiAoZXJhY3QudG9wICsgZXJhY3QuaGVpZ2h0IC0gZnJlY3QudG9wIDwgMCB8fCBlcmFjdC5ib3R0b20gPiBmcmVjdC5ib3R0b20pIHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZVN1YmplY3QubmV4dCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXJFbWl0KCkge1xyXG4gICAgdGhpcy52YWx1ZSA9IG51bGw7XHJcbiAgICB0aGlzLm51bWJlclZhbHVlID0gJyc7XHJcbiAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5tbGVhdmUoKTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UubmV4dCh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIG1vZGVsQ2hhbmdlKCkge1xyXG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcclxuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmdldFZhbHVlKCkpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtQ29udHJvbFZhbGlkYXRvcigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICBpZiAodGhpcy5udW1iZXJWYWx1ZSA9PT0gJycpIHJldHVybiBudWxsO1xyXG4gICAgcmV0dXJuIFsnZGF0ZScsICdzdHJpbmcnXS5pbmNsdWRlcyh0aGlzLm1vZGVsVHlwZSkgPyBuZXcgRGF0ZSh0aGlzLm51bWJlclZhbHVlKSA6IHRoaXMubnVtYmVyVmFsdWU7XHJcbiAgfVxyXG5cclxuICBwb3J0YWxBdHRhY2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlUG9ydGFsKCkge1xyXG4gICAgaWYgKHRoaXMucG9ydGFsQXR0YWNoZWQoKSkge1xyXG4gICAgICB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8uZGV0YWNoKCk7XHJcbiAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBkZXN0cm95UG9ydGFsKCkge1xyXG4gICAgdGhpcy5wb3J0YWw/Lm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICB9XHJcblxyXG4gIHNob3dQb3J0YWwoKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmFuaW1hdGluZykgcmV0dXJuO1xyXG4gICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xyXG4gICAgY29uc3QgY29uZmlnOiBPdmVybGF5Q29uZmlnID0ge1xyXG4gICAgICBiYWNrZHJvcENsYXNzOiAnJyxcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5zZXRQbGFjZW1lbnQoKSxcclxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxyXG4gICAgfTtcclxuICAgIHRoaXMuc2V0UG9zaXRpb24oY29uZmlnKTtcclxuICAgIHRoaXMucG9ydGFsID0gdGhpcy5wb3J0YWxTZXJ2aWNlLmF0dGFjaCh7XHJcbiAgICAgIGNvbnRlbnQ6IFhEYXRlUGlja2VyUG9ydGFsQ29tcG9uZW50LFxyXG4gICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgIG92ZXJsYXlDb25maWc6IGNvbmZpZ1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnBvcnRhbC5vdmVybGF5UmVmXHJcbiAgICAgID8ub3V0c2lkZVBvaW50ZXJFdmVudHMoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXREaXNwbGF5VmFsdWUodGhpcy5udW1iZXJWYWx1ZSk7XHJcbiAgICAgICAgdGhpcy5jbG9zZVN1YmplY3QubmV4dCgpO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMuc2V0SW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIHNldFBvc2l0aW9uKGNvbmZpZzogT3ZlcmxheUNvbmZpZykge1xyXG4gICAgbGV0IHBvc2l0aW9uID0gY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5O1xyXG4gICAgcG9zaXRpb24ucG9zaXRpb25DaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgocG9zOiBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UpID0+IHtcclxuICAgICAgY29uc3QgcGxhY2UgPSBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24uZ2V0KHBvcy5jb25uZWN0aW9uUGFpcikgYXMgWENvcm5lcjtcclxuICAgICAgcGxhY2UgIT09IHRoaXMucGxhY2VtZW50ICYmIHRoaXMucG9zaXRpb25DaGFuZ2UubmV4dChwbGFjZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldEluc3RhbmNlKCkge1xyXG4gICAgbGV0IGNvbXBvbmVudFJlZiA9IHRoaXMucG9ydGFsPy5jb21wb25lbnRSZWY7XHJcbiAgICBpZiAoIWNvbXBvbmVudFJlZikgcmV0dXJuO1xyXG4gICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIHtcclxuICAgICAgdHlwZTogdGhpcy50eXBlLFxyXG4gICAgICB2YWx1ZTogdGhpcy5udW1iZXJWYWx1ZSxcclxuICAgICAgcGxhY2VtZW50OiB0aGlzLnBsYWNlbWVudCxcclxuICAgICAgcHJlc2V0OiB0aGlzLnByZXNldCxcclxuICAgICAgZXh0cmFGb290ZXI6IHRoaXMuZXh0cmFGb290ZXIsXHJcbiAgICAgIHZhbHVlQ2hhbmdlOiB0aGlzLnZhbHVlQ2hhbmdlLFxyXG4gICAgICBwb3NpdGlvbkNoYW5nZTogdGhpcy5wb3NpdGlvbkNoYW5nZSxcclxuICAgICAgaW5wdXRDb206IHRoaXMuaW5wdXRDb20sXHJcbiAgICAgIGRpc2FibGVkRGF0ZTogdGhpcy5kaXNhYmxlZERhdGUsXHJcbiAgICAgIGRpc2FibGVkVGltZTogdGhpcy5kaXNhYmxlZFRpbWUsXHJcbiAgICAgIGNsb3NlUG9ydGFsOiAoKSA9PiB0aGlzLmNsb3NlU3ViamVjdC5uZXh0KCksXHJcbiAgICAgIGRlc3Ryb3lQb3J0YWw6ICgpID0+IHRoaXMuZGVzdHJveVBvcnRhbCgpLFxyXG4gICAgICBub2RlRW1pdDogKG5vZGU6IERhdGUsIHN1cmUgPSB0cnVlKSA9PiB0aGlzLm9uTm9kZUNsaWNrKG5vZGUsIHN1cmUpLFxyXG4gICAgICBhbmltYXRpbmc6IChpbmc6IGJvb2xlYW4pID0+ICh0aGlzLmFuaW1hdGluZyA9IGluZylcclxuICAgIH0pO1xyXG4gICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG9uTm9kZUNsaWNrKGRhdGU6IERhdGUsIHN1cmUgPSB0cnVlKSB7XHJcbiAgICB0aGlzLmlzSW5wdXQgPSBmYWxzZTtcclxuICAgIGlmIChzdXJlKSB7XHJcbiAgICAgIHRoaXMubnVtYmVyVmFsdWUgPSBkYXRlLmdldFRpbWUoKTtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTtcclxuICAgICAgdGhpcy5zZXREaXNwbGF5VmFsdWUodGhpcy5udW1iZXJWYWx1ZSk7XHJcbiAgICAgIHRoaXMuY2xvc2VTdWJqZWN0Lm5leHQoKTtcclxuICAgICAgdGhpcy5tb2RlbENoYW5nZSgpO1xyXG4gICAgICB0aGlzLm5vZGVFbWl0LmVtaXQodGhpcy5udW1iZXJWYWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldERpc3BsYXlWYWx1ZShkYXRlLmdldFRpbWUoKSk7XHJcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25JbnB1dCgpIHtcclxuICAgIHRoaXMuaXNJbnB1dCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzZXREaXNwbGF5VmFsdWUoZGF0ZU51bWJlcjogbnVtYmVyIHwgc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5pc0lucHV0ICYmIGlzTmFOKHRoaXMuZGlzcGxheVZhbHVlKSAmJiAhaXNOYU4oRGF0ZS5wYXJzZSh0aGlzLmRpc3BsYXlWYWx1ZSkpICYmICFbJ3dlZWsnLCAncXVhcnRlciddLmluY2x1ZGVzKHRoaXMudHlwZSkpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh0aGlzLmRpc3BsYXlWYWx1ZSwgdGhpcy5mb3JtYXQpO1xyXG4gICAgICB0aGlzLm51bWJlclZhbHVlID0gbmV3IERhdGUodGhpcy5kaXNwbGF5VmFsdWUpLmdldFRpbWUoKTtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTtcclxuICAgICAgdGhpcy5tb2RlbENoYW5nZSgpO1xyXG4gICAgICB0aGlzLmlzSW5wdXQgPSBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLnR5cGUgPT09ICd3ZWVrJykge1xyXG4gICAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gWERhdGVZZWFyV2VlayhkYXRlTnVtYmVyKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdxdWFydGVyJykge1xyXG4gICAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gWERhdGVZZWFyUXVhcnRlcihkYXRlTnVtYmVyKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGRhdGVOdW1iZXIsIHRoaXMuZm9ybWF0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0UGxhY2VtZW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMucG9ydGFsU2VydmljZS5zZXRQbGFjZW1lbnQoe1xyXG4gICAgICBlbGVtZW50UmVmOiB0aGlzLmlucHV0Q29tLmlucHV0UmVmLFxyXG4gICAgICBwbGFjZW1lbnQ6IFt0aGlzLnBsYWNlbWVudCBhcyBYQ29ybmVyLCAnYm90dG9tLXN0YXJ0JywgJ2JvdHRvbS1lbmQnLCAndG9wLXN0YXJ0JywgJ3RvcC1lbmQnXSxcclxuICAgICAgdHJhbnNmb3JtT3JpZ2luT246ICd4LWRhdGUtcGlja2VyLXBvcnRhbCdcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0UG9ydGFsKCkge1xyXG4gICAgdGhpcy5wb3J0YWxBdHRhY2hlZCgpICYmIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHRoaXMuc2V0UGxhY2VtZW50KCkpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICBYQ2xlYXJDbGFzcyh0aGlzLmxhYmVsTWFwKTtcclxuICAgIHRoaXMubGFiZWxNYXBbYHgtdGV4dC1hbGlnbi0ke3RoaXMubGFiZWxBbGlnbn1gXSA9IHRoaXMubGFiZWxBbGlnbiA/IHRydWUgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGZvcm1Db250cm9sQ2hhbmdlcygpIHtcclxuICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAjZGF0ZVBpY2tlciBjbGFzcz1cIngtZGF0ZS1waWNrZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwieC1kYXRlLXBpY2tlci1yb3dcIj5cclxuICAgIDx4LWlucHV0XHJcbiAgICAgICNpbnB1dENvbVxyXG4gICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgIFtsYWJlbF09XCJsYWJlbFwiXHJcbiAgICAgIFtsYWJlbFdpZHRoXT1cImxhYmVsV2lkdGhcIlxyXG4gICAgICBbbGFiZWxBbGlnbl09XCJsYWJlbEFsaWduXCJcclxuICAgICAgW2p1c3RpZnldPVwianVzdGlmeVwiXHJcbiAgICAgIFthbGlnbl09XCJhbGlnblwiXHJcbiAgICAgIFtkaXJlY3Rpb25dPVwiZGlyZWN0aW9uXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcclxuICAgICAgW3ZhbGlkYXRvcl09XCJ2YWxpZGF0b3JcIlxyXG4gICAgICBbaWNvbl09XCJpY29uXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyXCJcclxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgW2NsZWFyYWJsZV09XCJjbGVhcmFibGUgJiYgaW5wdXRDbGVhcmFibGVcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cImRpc3BsYXlWYWx1ZVwiXHJcbiAgICAgIFt2YWx1ZVRwbF09XCJ2YWx1ZVRwbFwiXHJcbiAgICAgIFt2YWx1ZVRwbENvbnRleHRdPVwidmFsdWVUcGxDb250ZXh0XCJcclxuICAgICAgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgIFtib3JkZXJlZF09XCJib3JkZXJlZFwiXHJcbiAgICAgIFtiZWZvcmVdPVwiYmVmb3JlXCJcclxuICAgICAgW2FmdGVyXT1cImFmdGVyXCJcclxuICAgICAgW3BhdHRlcm5dPVwicGF0dGVyblwiXHJcbiAgICAgIFttZXNzYWdlXT1cIm1lc3NhZ2VcIlxyXG4gICAgICBbcG9pbnRlcl09XCJwb2ludGVyXCJcclxuICAgICAgWyhhY3RpdmUpXT1cImFjdGl2ZVwiXHJcbiAgICAgIChjbGVhckVtaXQpPVwiY2xlYXJFbWl0KClcIlxyXG4gICAgICAoeElucHV0KT1cIm9uSW5wdXQoKVwiXHJcbiAgICAgICh4Q2xpY2spPVwic2hvd1BvcnRhbCgpXCJcclxuICAgICAgKHhNb3VzZWVudGVyKT1cIm1lbnRlcigpXCJcclxuICAgICAgKHhNb3VzZWxlYXZlKT1cIm1sZWF2ZSgpXCJcclxuICAgID48L3gtaW5wdXQ+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -22,8 +22,8 @@ import { XPickerQuarterComponent } from './picker-quarter.component';
22
22
  import { XDateQuarterPipe } from './date-quarter.pipe';
23
23
  import * as i0 from "@angular/core";
24
24
  class XDatePickerModule {
25
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XDatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.5", ngImport: i0, type: XDatePickerModule, declarations: [XDatePickerComponent,
25
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XDatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: XDatePickerModule, declarations: [XDatePickerComponent,
27
27
  XDatePickerPortalComponent,
28
28
  XPickerDateComponent,
29
29
  XPickerMonthComponent,
@@ -56,7 +56,7 @@ class XDatePickerModule {
56
56
  XPickerQuarterComponent,
57
57
  XPickerYearComponent,
58
58
  XDateQuarterPipe] }); }
59
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XDatePickerModule, imports: [CommonModule,
59
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XDatePickerModule, imports: [CommonModule,
60
60
  FormsModule,
61
61
  ReactiveFormsModule,
62
62
  XPortalModule,
@@ -70,7 +70,7 @@ class XDatePickerModule {
70
70
  XOutletModule] }); }
71
71
  }
72
72
  export { XDatePickerModule };
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XDatePickerModule, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XDatePickerModule, decorators: [{
74
74
  type: NgModule,
75
75
  args: [{
76
76
  declarations: [
@@ -116,4 +116,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
116
116
  ]
117
117
  }]
118
118
  }] });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3ZCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUV2RCxNQTJDYSxpQkFBaUI7aUlBQWpCLGlCQUFpQjtrSUFBakIsaUJBQWlCLGlCQXpDMUIsb0JBQW9CO1lBQ3BCLDBCQUEwQjtZQUMxQixvQkFBb0I7WUFDcEIscUJBQXFCO1lBQ3JCLHVCQUF1QjtZQUN2QixvQkFBb0I7WUFDcEIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIsc0JBQXNCO1lBQ3RCLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIseUJBQXlCO1lBQ3pCLGtCQUFrQjtZQUNsQixnQkFBZ0IsYUFhaEIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixZQUFZO1lBQ1osV0FBVztZQUNYLGFBQWE7WUFDYixXQUFXO1lBQ1gsV0FBVztZQUNYLGVBQWU7WUFDZixhQUFhLGFBckJiLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFDbkIsMEJBQTBCO1lBQzFCLG9CQUFvQjtZQUNwQixxQkFBcUI7WUFDckIsdUJBQXVCO1lBQ3ZCLG9CQUFvQjtZQUNwQixnQkFBZ0I7a0lBaUJQLGlCQUFpQixZQWQxQixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLFlBQVk7WUFDWixXQUFXO1lBQ1gsYUFBYTtZQUNiLFdBQVc7WUFDWCxXQUFXO1lBQ1gsZUFBZTtZQUNmLGFBQWE7O1NBR0osaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBM0M3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixvQkFBb0I7d0JBQ3BCLDBCQUEwQjt3QkFDMUIsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQix5QkFBeUI7d0JBQ3pCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLDBCQUEwQjt3QkFDMUIsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixnQkFBZ0I7cUJBQ2pCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsYUFBYTtxQkFDZDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBYSW5wdXRNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9pbnB1dCc7XHJcbmltcG9ydCB7IFhQb3J0YWxNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9wb3J0YWwnO1xyXG5pbXBvcnQgeyBYSWNvbk1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2ljb24nO1xyXG5pbXBvcnQgeyBYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgWERhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhEYXRlUGlja2VyUG9ydGFsQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXBpY2tlci1wb3J0YWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWFBpY2tlckRhdGVDb21wb25lbnQgfSBmcm9tICcuL3BpY2tlci1kYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhQaWNrZXJNb250aENvbXBvbmVudCB9IGZyb20gJy4vcGlja2VyLW1vbnRoLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhQaWNrZXJZZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9waWNrZXIteWVhci5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIFhEYXRlUGlja2VyUHJvcGVydHksXHJcbiAgWFBpY2tlckRhdGVQcm9wZXJ0eSxcclxuICBYUGlja2VyTW9udGhQcm9wZXJ0eSxcclxuICBYUGlja2VyWWVhclByb3BlcnR5LFxyXG4gIFhEYXRlUmFuZ2VQcm9wZXJ0eSxcclxuICBYUGlja2VyUXVhcnRlclByb3BlcnR5XHJcbn0gZnJvbSAnLi9kYXRlLXBpY2tlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJMThuTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaTE4bic7XHJcbmltcG9ydCB7IFhUaW1lUGlja2VyTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvdGltZS1waWNrZXInO1xyXG5pbXBvcnQgeyBYQmFzZUZvcm1Nb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5pbXBvcnQgeyBYRGF0ZVJhbmdlQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXJhbmdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhEYXRlUmFuZ2VQb3J0YWxDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcmFuZ2UtcG9ydGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhMaW5rTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvbGluayc7XHJcbmltcG9ydCB7IFhPdXRsZXRNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9vdXRsZXQnO1xyXG5pbXBvcnQgeyBYUGlja2VyUXVhcnRlckNvbXBvbmVudCB9IGZyb20gJy4vcGlja2VyLXF1YXJ0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWERhdGVRdWFydGVyUGlwZSB9IGZyb20gJy4vZGF0ZS1xdWFydGVyLnBpcGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFhEYXRlUGlja2VyQ29tcG9uZW50LFxyXG4gICAgWERhdGVQaWNrZXJQb3J0YWxDb21wb25lbnQsXHJcbiAgICBYUGlja2VyRGF0ZUNvbXBvbmVudCxcclxuICAgIFhQaWNrZXJNb250aENvbXBvbmVudCxcclxuICAgIFhQaWNrZXJRdWFydGVyQ29tcG9uZW50LFxyXG4gICAgWFBpY2tlclllYXJDb21wb25lbnQsXHJcbiAgICBYRGF0ZVBpY2tlclByb3BlcnR5LFxyXG4gICAgWFBpY2tlckRhdGVQcm9wZXJ0eSxcclxuICAgIFhQaWNrZXJNb250aFByb3BlcnR5LFxyXG4gICAgWFBpY2tlclF1YXJ0ZXJQcm9wZXJ0eSxcclxuICAgIFhQaWNrZXJZZWFyUHJvcGVydHksXHJcbiAgICBYRGF0ZVJhbmdlQ29tcG9uZW50LFxyXG4gICAgWERhdGVSYW5nZVBvcnRhbENvbXBvbmVudCxcclxuICAgIFhEYXRlUmFuZ2VQcm9wZXJ0eSxcclxuICAgIFhEYXRlUXVhcnRlclBpcGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFhEYXRlUGlja2VyQ29tcG9uZW50LFxyXG4gICAgWERhdGVSYW5nZUNvbXBvbmVudCxcclxuICAgIFhEYXRlUGlja2VyUG9ydGFsQ29tcG9uZW50LFxyXG4gICAgWFBpY2tlckRhdGVDb21wb25lbnQsXHJcbiAgICBYUGlja2VyTW9udGhDb21wb25lbnQsXHJcbiAgICBYUGlja2VyUXVhcnRlckNvbXBvbmVudCxcclxuICAgIFhQaWNrZXJZZWFyQ29tcG9uZW50LFxyXG4gICAgWERhdGVRdWFydGVyUGlwZVxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgWFBvcnRhbE1vZHVsZSxcclxuICAgIFhUaW1lUGlja2VyTW9kdWxlLFxyXG4gICAgWElucHV0TW9kdWxlLFxyXG4gICAgWExpbmtNb2R1bGUsXHJcbiAgICBYQnV0dG9uTW9kdWxlLFxyXG4gICAgWEljb25Nb2R1bGUsXHJcbiAgICBYSTE4bk1vZHVsZSxcclxuICAgIFhCYXNlRm9ybU1vZHVsZSxcclxuICAgIFhPdXRsZXRNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYRGF0ZVBpY2tlck1vZHVsZSB7fVxyXG4iXX0=
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3ZCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUV2RCxNQTJDYSxpQkFBaUI7a0lBQWpCLGlCQUFpQjttSUFBakIsaUJBQWlCLGlCQXpDMUIsb0JBQW9CO1lBQ3BCLDBCQUEwQjtZQUMxQixvQkFBb0I7WUFDcEIscUJBQXFCO1lBQ3JCLHVCQUF1QjtZQUN2QixvQkFBb0I7WUFDcEIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIsc0JBQXNCO1lBQ3RCLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIseUJBQXlCO1lBQ3pCLGtCQUFrQjtZQUNsQixnQkFBZ0IsYUFhaEIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixZQUFZO1lBQ1osV0FBVztZQUNYLGFBQWE7WUFDYixXQUFXO1lBQ1gsV0FBVztZQUNYLGVBQWU7WUFDZixhQUFhLGFBckJiLG9CQUFvQjtZQUNwQixtQkFBbUI7WUFDbkIsMEJBQTBCO1lBQzFCLG9CQUFvQjtZQUNwQixxQkFBcUI7WUFDckIsdUJBQXVCO1lBQ3ZCLG9CQUFvQjtZQUNwQixnQkFBZ0I7bUlBaUJQLGlCQUFpQixZQWQxQixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLFlBQVk7WUFDWixXQUFXO1lBQ1gsYUFBYTtZQUNiLFdBQVc7WUFDWCxXQUFXO1lBQ1gsZUFBZTtZQUNmLGFBQWE7O1NBR0osaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBM0M3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixvQkFBb0I7d0JBQ3BCLDBCQUEwQjt3QkFDMUIsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQix5QkFBeUI7d0JBQ3pCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLDBCQUEwQjt3QkFDMUIsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixnQkFBZ0I7cUJBQ2pCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsYUFBYTtxQkFDZDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBYSW5wdXRNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9pbnB1dCc7XHJcbmltcG9ydCB7IFhQb3J0YWxNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9wb3J0YWwnO1xyXG5pbXBvcnQgeyBYSWNvbk1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2ljb24nO1xyXG5pbXBvcnQgeyBYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgWERhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhEYXRlUGlja2VyUG9ydGFsQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXBpY2tlci1wb3J0YWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWFBpY2tlckRhdGVDb21wb25lbnQgfSBmcm9tICcuL3BpY2tlci1kYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhQaWNrZXJNb250aENvbXBvbmVudCB9IGZyb20gJy4vcGlja2VyLW1vbnRoLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhQaWNrZXJZZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9waWNrZXIteWVhci5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIFhEYXRlUGlja2VyUHJvcGVydHksXHJcbiAgWFBpY2tlckRhdGVQcm9wZXJ0eSxcclxuICBYUGlja2VyTW9udGhQcm9wZXJ0eSxcclxuICBYUGlja2VyWWVhclByb3BlcnR5LFxyXG4gIFhEYXRlUmFuZ2VQcm9wZXJ0eSxcclxuICBYUGlja2VyUXVhcnRlclByb3BlcnR5XHJcbn0gZnJvbSAnLi9kYXRlLXBpY2tlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJMThuTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaTE4bic7XHJcbmltcG9ydCB7IFhUaW1lUGlja2VyTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvdGltZS1waWNrZXInO1xyXG5pbXBvcnQgeyBYQmFzZUZvcm1Nb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5pbXBvcnQgeyBYRGF0ZVJhbmdlQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXJhbmdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhEYXRlUmFuZ2VQb3J0YWxDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcmFuZ2UtcG9ydGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhMaW5rTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvbGluayc7XHJcbmltcG9ydCB7IFhPdXRsZXRNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9vdXRsZXQnO1xyXG5pbXBvcnQgeyBYUGlja2VyUXVhcnRlckNvbXBvbmVudCB9IGZyb20gJy4vcGlja2VyLXF1YXJ0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWERhdGVRdWFydGVyUGlwZSB9IGZyb20gJy4vZGF0ZS1xdWFydGVyLnBpcGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFhEYXRlUGlja2VyQ29tcG9uZW50LFxyXG4gICAgWERhdGVQaWNrZXJQb3J0YWxDb21wb25lbnQsXHJcbiAgICBYUGlja2VyRGF0ZUNvbXBvbmVudCxcclxuICAgIFhQaWNrZXJNb250aENvbXBvbmVudCxcclxuICAgIFhQaWNrZXJRdWFydGVyQ29tcG9uZW50LFxyXG4gICAgWFBpY2tlclllYXJDb21wb25lbnQsXHJcbiAgICBYRGF0ZVBpY2tlclByb3BlcnR5LFxyXG4gICAgWFBpY2tlckRhdGVQcm9wZXJ0eSxcclxuICAgIFhQaWNrZXJNb250aFByb3BlcnR5LFxyXG4gICAgWFBpY2tlclF1YXJ0ZXJQcm9wZXJ0eSxcclxuICAgIFhQaWNrZXJZZWFyUHJvcGVydHksXHJcbiAgICBYRGF0ZVJhbmdlQ29tcG9uZW50LFxyXG4gICAgWERhdGVSYW5nZVBvcnRhbENvbXBvbmVudCxcclxuICAgIFhEYXRlUmFuZ2VQcm9wZXJ0eSxcclxuICAgIFhEYXRlUXVhcnRlclBpcGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFhEYXRlUGlja2VyQ29tcG9uZW50LFxyXG4gICAgWERhdGVSYW5nZUNvbXBvbmVudCxcclxuICAgIFhEYXRlUGlja2VyUG9ydGFsQ29tcG9uZW50LFxyXG4gICAgWFBpY2tlckRhdGVDb21wb25lbnQsXHJcbiAgICBYUGlja2VyTW9udGhDb21wb25lbnQsXHJcbiAgICBYUGlja2VyUXVhcnRlckNvbXBvbmVudCxcclxuICAgIFhQaWNrZXJZZWFyQ29tcG9uZW50LFxyXG4gICAgWERhdGVRdWFydGVyUGlwZVxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgWFBvcnRhbE1vZHVsZSxcclxuICAgIFhUaW1lUGlja2VyTW9kdWxlLFxyXG4gICAgWElucHV0TW9kdWxlLFxyXG4gICAgWExpbmtNb2R1bGUsXHJcbiAgICBYQnV0dG9uTW9kdWxlLFxyXG4gICAgWEljb25Nb2R1bGUsXHJcbiAgICBYSTE4bk1vZHVsZSxcclxuICAgIFhCYXNlRm9ybU1vZHVsZSxcclxuICAgIFhPdXRsZXRNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYRGF0ZVBpY2tlck1vZHVsZSB7fVxyXG4iXX0=