ngx-tethys 18.2.4 → 18.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (577) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/carousel/carousel.component.d.ts +2 -2
  3. package/date-picker/date-picker.config.d.ts +1 -1
  4. package/date-picker/lib/calendar/calendar-footer.component.d.ts +2 -2
  5. package/date-picker/lib/date/date-table.component.d.ts +2 -2
  6. package/date-picker/lib/popups/date-popup.component.d.ts +3 -2
  7. package/date-picker/lib/popups/inner-popup.component.d.ts +1 -1
  8. package/date-picker/picker.util.d.ts +3 -3
  9. package/date-range/date-range.component.d.ts +1 -1
  10. package/esm2022/action/action.component.mjs +4 -4
  11. package/esm2022/action/action.module.mjs +5 -5
  12. package/esm2022/action/actions.component.mjs +4 -4
  13. package/esm2022/affix/affix.component.mjs +4 -4
  14. package/esm2022/affix/affix.module.mjs +5 -5
  15. package/esm2022/alert/alert.component.mjs +4 -4
  16. package/esm2022/alert/alert.directive.mjs +4 -4
  17. package/esm2022/alert/alert.module.mjs +5 -5
  18. package/esm2022/anchor/anchor-link.component.mjs +4 -4
  19. package/esm2022/anchor/anchor.component.mjs +4 -4
  20. package/esm2022/anchor/anchor.module.mjs +5 -5
  21. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +4 -4
  22. package/esm2022/arrow-switcher/module.mjs +5 -5
  23. package/esm2022/autocomplete/autocomplete.component.mjs +4 -4
  24. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +4 -4
  25. package/esm2022/autocomplete/module.mjs +5 -5
  26. package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +4 -4
  27. package/esm2022/autocomplete/overlay/autocomplete.service.mjs +4 -4
  28. package/esm2022/avatar/avatar-list/avatar-list.component.mjs +4 -4
  29. package/esm2022/avatar/avatar.component.mjs +4 -4
  30. package/esm2022/avatar/avatar.module.mjs +5 -5
  31. package/esm2022/avatar/avatar.pipe.mjs +10 -10
  32. package/esm2022/avatar/avatar.service.mjs +4 -4
  33. package/esm2022/back-top/back-top.component.mjs +4 -4
  34. package/esm2022/back-top/back-top.module.mjs +5 -5
  35. package/esm2022/badge/badge.component.mjs +4 -4
  36. package/esm2022/badge/badge.module.mjs +5 -5
  37. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +4 -4
  38. package/esm2022/breadcrumb/breadcrumb.component.mjs +4 -4
  39. package/esm2022/breadcrumb/module.mjs +5 -5
  40. package/esm2022/button/button-group.component.mjs +4 -4
  41. package/esm2022/button/button-icon.component.mjs +4 -4
  42. package/esm2022/button/button.component.mjs +4 -4
  43. package/esm2022/button/button.module.mjs +5 -5
  44. package/esm2022/calendar/calendar-cells.mjs +7 -7
  45. package/esm2022/calendar/calendar-header.component.mjs +17 -17
  46. package/esm2022/calendar/calendar.component.mjs +6 -6
  47. package/esm2022/calendar/module.mjs +5 -5
  48. package/esm2022/card/card.component.mjs +4 -4
  49. package/esm2022/card/card.module.mjs +5 -5
  50. package/esm2022/card/content.component.mjs +4 -4
  51. package/esm2022/card/header.component.mjs +4 -4
  52. package/esm2022/carousel/carousel-item.directive.mjs +4 -4
  53. package/esm2022/carousel/carousel.component.mjs +13 -13
  54. package/esm2022/carousel/carousel.service.mjs +4 -4
  55. package/esm2022/carousel/module.mjs +5 -5
  56. package/esm2022/cascader/cascader-li.component.mjs +4 -4
  57. package/esm2022/cascader/cascader-search-option.component.mjs +4 -4
  58. package/esm2022/cascader/cascader.component.mjs +4 -4
  59. package/esm2022/cascader/cascader.service.mjs +4 -4
  60. package/esm2022/cascader/module.mjs +5 -5
  61. package/esm2022/checkbox/checkbox.component.mjs +4 -4
  62. package/esm2022/checkbox/module.mjs +5 -5
  63. package/esm2022/collapse/collapse-item.component.mjs +4 -4
  64. package/esm2022/collapse/collapse.component.mjs +4 -4
  65. package/esm2022/collapse/module.mjs +5 -5
  66. package/esm2022/color-picker/color-picker-custom-panel.component.mjs +4 -4
  67. package/esm2022/color-picker/color-picker-panel.component.mjs +4 -4
  68. package/esm2022/color-picker/color-picker.component.mjs +4 -4
  69. package/esm2022/color-picker/coordinates.directive.mjs +4 -4
  70. package/esm2022/color-picker/module.mjs +5 -5
  71. package/esm2022/color-picker/parts/alpha/alpha.component.mjs +4 -4
  72. package/esm2022/color-picker/parts/hue/hue.component.mjs +4 -4
  73. package/esm2022/color-picker/parts/indicator/indicator.component.mjs +4 -4
  74. package/esm2022/color-picker/parts/inputs/inputs.component.mjs +4 -4
  75. package/esm2022/color-picker/parts/saturation/saturation.component.mjs +4 -4
  76. package/esm2022/comment/comment-actions.directive.mjs +4 -4
  77. package/esm2022/comment/comment-content.directive.mjs +4 -4
  78. package/esm2022/comment/comment.component.mjs +4 -4
  79. package/esm2022/comment/comment.module.mjs +5 -5
  80. package/esm2022/copy/copy.directive.mjs +4 -4
  81. package/esm2022/copy/module.mjs +5 -5
  82. package/esm2022/core/click-positioner.mjs +4 -4
  83. package/esm2022/core/overlay/portal-directives.mjs +4 -4
  84. package/esm2022/core/request-animation.mjs +3 -2
  85. package/esm2022/core/scroll.mjs +4 -4
  86. package/esm2022/core/store/store.mjs +4 -4
  87. package/esm2022/core/theme/store.mjs +4 -4
  88. package/esm2022/core/translate.mjs +4 -4
  89. package/esm2022/core/update-host-class.service.mjs +4 -4
  90. package/esm2022/date-picker/abstract-picker.component.mjs +4 -4
  91. package/esm2022/date-picker/abstract-picker.directive.mjs +4 -4
  92. package/esm2022/date-picker/base-picker.component.mjs +4 -4
  93. package/esm2022/date-picker/date-helper.service.mjs +4 -4
  94. package/esm2022/date-picker/date-picker.component.mjs +4 -4
  95. package/esm2022/date-picker/date-picker.config.mjs +12 -13
  96. package/esm2022/date-picker/date-picker.directive.mjs +4 -4
  97. package/esm2022/date-picker/date-picker.module.mjs +5 -5
  98. package/esm2022/date-picker/date-picker.service.mjs +4 -4
  99. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +9 -9
  100. package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +4 -4
  101. package/esm2022/date-picker/lib/calendar/calendar-table.component.mjs +4 -4
  102. package/esm2022/date-picker/lib/date/date-header.component.mjs +4 -4
  103. package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +4 -4
  104. package/esm2022/date-picker/lib/date/date-table.component.mjs +10 -9
  105. package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +4 -4
  106. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +4 -4
  107. package/esm2022/date-picker/lib/decade/decade-table.component.mjs +4 -4
  108. package/esm2022/date-picker/lib/lib-packer.module.mjs +5 -5
  109. package/esm2022/date-picker/lib/month/month-header.component.mjs +4 -4
  110. package/esm2022/date-picker/lib/month/month-table.component.mjs +4 -4
  111. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +21 -18
  112. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +6 -6
  113. package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +4 -4
  114. package/esm2022/date-picker/lib/year/year-header.component.mjs +4 -4
  115. package/esm2022/date-picker/lib/year/year-table.component.mjs +4 -4
  116. package/esm2022/date-picker/month-picker.component.mjs +4 -4
  117. package/esm2022/date-picker/picker.component.mjs +8 -8
  118. package/esm2022/date-picker/picker.pipes.mjs +13 -13
  119. package/esm2022/date-picker/picker.util.mjs +8 -6
  120. package/esm2022/date-picker/picker.validators.mjs +7 -7
  121. package/esm2022/date-picker/quarter-picker.component.mjs +4 -4
  122. package/esm2022/date-picker/range-picker.component.mjs +4 -4
  123. package/esm2022/date-picker/range-picker.directive.mjs +4 -4
  124. package/esm2022/date-picker/week-picker.component.mjs +4 -4
  125. package/esm2022/date-picker/year-picker.component.mjs +4 -4
  126. package/esm2022/date-range/date-range.component.mjs +15 -16
  127. package/esm2022/date-range/module.mjs +5 -5
  128. package/esm2022/date-range/optional-dates/optional-dates.component.mjs +4 -4
  129. package/esm2022/dialog/body/dialog-body.component.mjs +4 -4
  130. package/esm2022/dialog/confirm/confirm.component.mjs +4 -4
  131. package/esm2022/dialog/dialog-container.component.mjs +4 -4
  132. package/esm2022/dialog/dialog.module.mjs +5 -5
  133. package/esm2022/dialog/dialog.service.mjs +4 -4
  134. package/esm2022/dialog/footer/dialog-footer.component.mjs +4 -4
  135. package/esm2022/dialog/header/dialog-header.component.mjs +4 -4
  136. package/esm2022/divider/divider.component.mjs +4 -4
  137. package/esm2022/divider/divider.module.mjs +5 -5
  138. package/esm2022/dot/dot.component.mjs +4 -4
  139. package/esm2022/dot/dot.module.mjs +5 -5
  140. package/esm2022/drag-drop/drag-content.directive.mjs +4 -4
  141. package/esm2022/drag-drop/drag-drop.service.mjs +4 -4
  142. package/esm2022/drag-drop/drag-handle.directive.mjs +4 -4
  143. package/esm2022/drag-drop/drag.directive.mjs +4 -4
  144. package/esm2022/drag-drop/drop-container.directive.mjs +4 -4
  145. package/esm2022/drag-drop/module.mjs +5 -5
  146. package/esm2022/dropdown/dropdown-active.directive.mjs +4 -4
  147. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +22 -22
  148. package/esm2022/dropdown/dropdown-menu.component.mjs +13 -13
  149. package/esm2022/dropdown/dropdown-submenu.component.mjs +4 -4
  150. package/esm2022/dropdown/dropdown.directive.mjs +4 -4
  151. package/esm2022/dropdown/module.mjs +5 -5
  152. package/esm2022/empty/empty.component.mjs +4 -4
  153. package/esm2022/empty/empty.config.mjs +4 -4
  154. package/esm2022/empty/empty.module.mjs +5 -5
  155. package/esm2022/flexible-text/flexible-text.component.mjs +4 -4
  156. package/esm2022/flexible-text/flexible-text.module.mjs +5 -5
  157. package/esm2022/form/form-group-error/form-group-error.component.mjs +4 -4
  158. package/esm2022/form/form-group-label.directive.mjs +4 -4
  159. package/esm2022/form/form-group.component.mjs +4 -4
  160. package/esm2022/form/form-submit.directive.mjs +4 -4
  161. package/esm2022/form/form-validator-loader.mjs +4 -4
  162. package/esm2022/form/form-validator.service.mjs +4 -4
  163. package/esm2022/form/form.directive.mjs +4 -4
  164. package/esm2022/form/from-group-footer/form-group-footer.component.mjs +4 -4
  165. package/esm2022/form/module.mjs +5 -5
  166. package/esm2022/form/validator/confirm-validator.directive.mjs +4 -4
  167. package/esm2022/form/validator/max-validator.directive.mjs +4 -4
  168. package/esm2022/form/validator/min-validator.directive.mjs +4 -4
  169. package/esm2022/form/validator/unique-validator.directive.mjs +4 -4
  170. package/esm2022/fullscreen/fullscreen-launch.directive.mjs +4 -4
  171. package/esm2022/fullscreen/fullscreen.component.mjs +4 -4
  172. package/esm2022/fullscreen/fullscreen.module.mjs +5 -5
  173. package/esm2022/fullscreen/fullscreen.service.mjs +4 -4
  174. package/esm2022/grid/flex.mjs +13 -13
  175. package/esm2022/grid/module.mjs +5 -5
  176. package/esm2022/grid/thy-col.directive.mjs +4 -4
  177. package/esm2022/grid/thy-grid-item.component.mjs +4 -4
  178. package/esm2022/grid/thy-grid.component.mjs +7 -7
  179. package/esm2022/grid/thy-row.directive.mjs +4 -4
  180. package/esm2022/guider/guider-hint/guider-hint.component.mjs +4 -4
  181. package/esm2022/guider/guider-manager.mjs +4 -4
  182. package/esm2022/guider/guider.directive.mjs +4 -4
  183. package/esm2022/guider/guider.module.mjs +5 -5
  184. package/esm2022/guider/guider.service.mjs +4 -4
  185. package/esm2022/i18n/i18n.service.mjs +4 -4
  186. package/esm2022/icon/icon-registry.mjs +5 -5
  187. package/esm2022/icon/icon.component.mjs +4 -4
  188. package/esm2022/icon/icon.module.mjs +6 -7
  189. package/esm2022/image/image-group.component.mjs +4 -4
  190. package/esm2022/image/image.directive.mjs +4 -4
  191. package/esm2022/image/image.service.mjs +4 -4
  192. package/esm2022/image/module.mjs +5 -5
  193. package/esm2022/image/preview/image-preview.component.mjs +4 -4
  194. package/esm2022/input/input-count.component.mjs +4 -4
  195. package/esm2022/input/input-group.component.mjs +4 -4
  196. package/esm2022/input/input-search.component.mjs +4 -4
  197. package/esm2022/input/input.component.mjs +4 -4
  198. package/esm2022/input/input.directive.mjs +4 -4
  199. package/esm2022/input/module.mjs +5 -5
  200. package/esm2022/input-number/input-number.component.mjs +4 -4
  201. package/esm2022/input-number/module.mjs +5 -5
  202. package/esm2022/layout/content-main.component.mjs +7 -7
  203. package/esm2022/layout/content-section.component.mjs +7 -7
  204. package/esm2022/layout/content.component.mjs +7 -7
  205. package/esm2022/layout/header.component.mjs +7 -7
  206. package/esm2022/layout/layout.component.mjs +7 -7
  207. package/esm2022/layout/layout.module.mjs +5 -5
  208. package/esm2022/layout/sidebar-content.component.mjs +7 -7
  209. package/esm2022/layout/sidebar-footer.component.mjs +7 -7
  210. package/esm2022/layout/sidebar-header.component.mjs +7 -7
  211. package/esm2022/layout/sidebar.component.mjs +7 -7
  212. package/esm2022/list/list-item-meta.component.mjs +4 -4
  213. package/esm2022/list/list-item.component.mjs +4 -4
  214. package/esm2022/list/list.component.mjs +4 -4
  215. package/esm2022/list/list.module.mjs +5 -5
  216. package/esm2022/list/selection/selection-list.mjs +4 -4
  217. package/esm2022/loading/loading.component.mjs +4 -4
  218. package/esm2022/loading/loading.module.mjs +5 -5
  219. package/esm2022/mention/mention.directive.mjs +4 -4
  220. package/esm2022/mention/mention.module.mjs +5 -5
  221. package/esm2022/mention/suggestions/suggestions.component.mjs +4 -4
  222. package/esm2022/menu/divider/menu-divider.component.mjs +4 -4
  223. package/esm2022/menu/group/menu-group.component.mjs +4 -4
  224. package/esm2022/menu/item/action/menu-item-action.component.mjs +4 -4
  225. package/esm2022/menu/item/icon/menu-item-icon.component.mjs +4 -4
  226. package/esm2022/menu/item/menu-item.component.mjs +4 -4
  227. package/esm2022/menu/item/name/menu-item-name.component.mjs +4 -4
  228. package/esm2022/menu/menu.component.mjs +4 -4
  229. package/esm2022/menu/menu.module.mjs +5 -5
  230. package/esm2022/message/abstract/abstract-message-container.component.mjs +4 -4
  231. package/esm2022/message/abstract/abstract-message.component.mjs +4 -4
  232. package/esm2022/message/message-container.component.mjs +4 -4
  233. package/esm2022/message/message-queue.service.mjs +4 -4
  234. package/esm2022/message/message.component.mjs +4 -4
  235. package/esm2022/message/message.service.mjs +4 -4
  236. package/esm2022/message/module.mjs +5 -5
  237. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +4 -4
  238. package/esm2022/nav/icon-nav/icon-nav.component.mjs +4 -4
  239. package/esm2022/nav/nav-ink-bar.directive.mjs +4 -4
  240. package/esm2022/nav/nav-item.directive.mjs +4 -4
  241. package/esm2022/nav/nav.component.mjs +4 -4
  242. package/esm2022/nav/nav.module.mjs +5 -5
  243. package/esm2022/nav/nav.pipe.mjs +4 -4
  244. package/esm2022/notify/module.mjs +5 -5
  245. package/esm2022/notify/notify-container.component.mjs +4 -4
  246. package/esm2022/notify/notify-queue.service.mjs +4 -4
  247. package/esm2022/notify/notify.component.mjs +4 -4
  248. package/esm2022/notify/notify.service.mjs +4 -4
  249. package/esm2022/pagination/pagination.component.mjs +4 -4
  250. package/esm2022/pagination/pagination.module.mjs +5 -5
  251. package/esm2022/pagination/pagination.pipe.mjs +7 -7
  252. package/esm2022/popover/body/popover-body.component.mjs +4 -4
  253. package/esm2022/popover/header/popover-header.component.mjs +4 -4
  254. package/esm2022/popover/module.mjs +5 -5
  255. package/esm2022/popover/popover-container.component.mjs +4 -4
  256. package/esm2022/popover/popover.directive.mjs +4 -4
  257. package/esm2022/popover/popover.service.mjs +4 -4
  258. package/esm2022/progress/progress-circle.component.mjs +4 -4
  259. package/esm2022/progress/progress-strip.component.mjs +4 -4
  260. package/esm2022/progress/progress.component.mjs +4 -4
  261. package/esm2022/progress/progress.module.mjs +5 -5
  262. package/esm2022/property/module.mjs +5 -5
  263. package/esm2022/property/properties.component.mjs +4 -4
  264. package/esm2022/property/property-item.component.mjs +4 -4
  265. package/esm2022/property-operation/group/property-operation-group.component.mjs +4 -4
  266. package/esm2022/property-operation/module.mjs +5 -5
  267. package/esm2022/property-operation/property-operation.component.mjs +4 -4
  268. package/esm2022/radio/button/radio-button.component.mjs +4 -4
  269. package/esm2022/radio/group/radio-group.component.mjs +4 -4
  270. package/esm2022/radio/module.mjs +5 -5
  271. package/esm2022/radio/radio.component.mjs +4 -4
  272. package/esm2022/rate/module.mjs +5 -5
  273. package/esm2022/rate/rate-item.component.mjs +4 -4
  274. package/esm2022/rate/rate.component.mjs +4 -4
  275. package/esm2022/resizable/module.mjs +5 -5
  276. package/esm2022/resizable/resizable.directive.mjs +4 -4
  277. package/esm2022/resizable/resizable.service.mjs +4 -4
  278. package/esm2022/resizable/resize-handle.component.mjs +4 -4
  279. package/esm2022/resizable/resize-handles.component.mjs +4 -4
  280. package/esm2022/result/result.component.mjs +4 -4
  281. package/esm2022/result/result.module.mjs +5 -5
  282. package/esm2022/segment/segment-item.component.mjs +4 -4
  283. package/esm2022/segment/segment.component.mjs +4 -4
  284. package/esm2022/segment/segment.module.mjs +5 -5
  285. package/esm2022/select/custom-select/custom-select.component.mjs +4 -4
  286. package/esm2022/select/module.mjs +5 -5
  287. package/esm2022/select/native-select/native-select.component.mjs +4 -4
  288. package/esm2022/shared/base-form-check.component.mjs +4 -4
  289. package/esm2022/shared/directives/string-or-template-outlet.directive.mjs +4 -4
  290. package/esm2022/shared/directives/thy-autofocus.directive.mjs +4 -4
  291. package/esm2022/shared/directives/thy-contextmenu.directive.mjs +4 -4
  292. package/esm2022/shared/directives/thy-ctrl-enter.directive.mjs +4 -4
  293. package/esm2022/shared/directives/thy-drag-drop.directive.mjs +4 -4
  294. package/esm2022/shared/directives/thy-enter.directive.mjs +4 -4
  295. package/esm2022/shared/directives/thy-scroll.directive.mjs +4 -4
  296. package/esm2022/shared/directives/thy-show.mjs +4 -4
  297. package/esm2022/shared/directives/thy-stop-propagation.directive.mjs +4 -4
  298. package/esm2022/shared/directives/view-outlet.directive.mjs +4 -4
  299. package/esm2022/shared/ng-transclude.directive.mjs +4 -4
  300. package/esm2022/shared/option/group/option-group.component.mjs +4 -4
  301. package/esm2022/shared/option/list-option/list-option.component.mjs +4 -4
  302. package/esm2022/shared/option/module.mjs +5 -5
  303. package/esm2022/shared/option/option-group.component.mjs +4 -4
  304. package/esm2022/shared/option/option.component.mjs +4 -4
  305. package/esm2022/shared/option/options-container.component.mjs +4 -4
  306. package/esm2022/shared/select/module.mjs +5 -5
  307. package/esm2022/shared/select/select-control/select-control.component.mjs +4 -4
  308. package/esm2022/shared/shared.module.mjs +5 -5
  309. package/esm2022/skeleton/module.mjs +5 -5
  310. package/esm2022/skeleton/skeleton-circle.component.mjs +4 -4
  311. package/esm2022/skeleton/skeleton-rectangle.component.mjs +4 -4
  312. package/esm2022/skeleton/skeleton.component.mjs +4 -4
  313. package/esm2022/skeleton/stylized/bullet-list.component.mjs +4 -4
  314. package/esm2022/skeleton/stylized/list.component.mjs +4 -4
  315. package/esm2022/skeleton/stylized/paragraph.component.mjs +4 -4
  316. package/esm2022/slide/drawer/drawer-container.directive.mjs +4 -4
  317. package/esm2022/slide/slide-body/slide-body-section.component.mjs +4 -4
  318. package/esm2022/slide/slide-body/slide-body.component.mjs +4 -4
  319. package/esm2022/slide/slide-container.component.mjs +4 -4
  320. package/esm2022/slide/slide-footer/slide-footer.component.mjs +4 -4
  321. package/esm2022/slide/slide-header/slide-header.component.mjs +4 -4
  322. package/esm2022/slide/slide-layout/slide-layout.component.mjs +4 -4
  323. package/esm2022/slide/slide-ref.service.mjs +4 -4
  324. package/esm2022/slide/slide.module.mjs +5 -5
  325. package/esm2022/slide/slide.service.mjs +4 -4
  326. package/esm2022/slider/slider.component.mjs +4 -4
  327. package/esm2022/slider/slider.module.mjs +5 -5
  328. package/esm2022/space/space.component.mjs +7 -7
  329. package/esm2022/space/space.module.mjs +5 -5
  330. package/esm2022/statistic/statistic.component.mjs +4 -4
  331. package/esm2022/statistic/statistic.module.mjs +5 -5
  332. package/esm2022/stepper/step-header.component.mjs +4 -4
  333. package/esm2022/stepper/step.component.mjs +4 -4
  334. package/esm2022/stepper/stepper-button.directive.mjs +7 -7
  335. package/esm2022/stepper/stepper.component.mjs +4 -4
  336. package/esm2022/stepper/stepper.module.mjs +5 -5
  337. package/esm2022/strength/strength.component.mjs +4 -4
  338. package/esm2022/strength/strength.module.mjs +5 -5
  339. package/esm2022/switch/switch.component.mjs +4 -4
  340. package/esm2022/switch/switch.module.mjs +5 -5
  341. package/esm2022/table/pipes/drag.pipe.mjs +4 -4
  342. package/esm2022/table/pipes/table.pipe.mjs +4 -4
  343. package/esm2022/table/table-column.component.mjs +4 -4
  344. package/esm2022/table/table-skeleton.component.mjs +4 -4
  345. package/esm2022/table/table.component.mjs +4 -4
  346. package/esm2022/table/table.module.mjs +5 -5
  347. package/esm2022/tabs/tab-content.component.mjs +4 -4
  348. package/esm2022/tabs/tab.component.mjs +4 -4
  349. package/esm2022/tabs/tabs.component.mjs +4 -4
  350. package/esm2022/tabs/tabs.module.mjs +5 -5
  351. package/esm2022/tag/tag.component.mjs +4 -4
  352. package/esm2022/tag/tag.module.mjs +5 -5
  353. package/esm2022/tag/tags.component.mjs +4 -4
  354. package/esm2022/time-picker/inner/inner-time-picker.component.mjs +5 -5
  355. package/esm2022/time-picker/inner/inner-time-picker.config.mjs +4 -4
  356. package/esm2022/time-picker/inner/inner-time-picker.store.mjs +12 -9
  357. package/esm2022/time-picker/time-picker-panel.component.mjs +11 -12
  358. package/esm2022/time-picker/time-picker.component.mjs +17 -19
  359. package/esm2022/time-picker/time-picker.module.mjs +5 -5
  360. package/esm2022/time-picker/time-picker.utils.mjs +14 -8
  361. package/esm2022/timeline/timeline-item.component.mjs +4 -4
  362. package/esm2022/timeline/timeline.component.mjs +4 -4
  363. package/esm2022/timeline/timeline.module.mjs +5 -5
  364. package/esm2022/timeline/timeline.service.mjs +4 -4
  365. package/esm2022/tooltip/tooltip.component.mjs +4 -4
  366. package/esm2022/tooltip/tooltip.directive.mjs +4 -4
  367. package/esm2022/tooltip/tooltip.module.mjs +5 -5
  368. package/esm2022/tooltip/tooltip.service.mjs +4 -4
  369. package/esm2022/transfer/transfer-list.component.mjs +4 -4
  370. package/esm2022/transfer/transfer.component.mjs +4 -4
  371. package/esm2022/transfer/transfer.module.mjs +5 -5
  372. package/esm2022/tree/tree-node.component.mjs +4 -4
  373. package/esm2022/tree/tree.component.mjs +4 -4
  374. package/esm2022/tree/tree.module.mjs +5 -5
  375. package/esm2022/tree/tree.pipe.mjs +4 -4
  376. package/esm2022/tree/tree.service.mjs +4 -4
  377. package/esm2022/tree-select/module.mjs +5 -5
  378. package/esm2022/tree-select/tree-select.component.mjs +7 -7
  379. package/esm2022/typography/bg-color.directive.mjs +4 -4
  380. package/esm2022/typography/module.mjs +5 -5
  381. package/esm2022/typography/text/text.component.mjs +4 -4
  382. package/esm2022/typography/text-color.directive.mjs +4 -4
  383. package/esm2022/upload/file-drop.directive.mjs +4 -4
  384. package/esm2022/upload/file-select-base.mjs +4 -4
  385. package/esm2022/upload/file-select.component.mjs +4 -4
  386. package/esm2022/upload/module.mjs +6 -7
  387. package/esm2022/upload/upload.service.mjs +11 -11
  388. package/esm2022/util/date/functions.mjs +26 -1
  389. package/esm2022/util/date/tiny-date.mjs +78 -34
  390. package/esm2022/util/index.mjs +9 -9
  391. package/esm2022/version.mjs +2 -2
  392. package/esm2022/vote/vote.component.mjs +4 -4
  393. package/esm2022/vote/vote.module.mjs +5 -5
  394. package/esm2022/watermark/watermark.directive.mjs +4 -4
  395. package/esm2022/watermark/watermark.module.mjs +5 -5
  396. package/fesm2022/ngx-tethys-action.mjs +10 -10
  397. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  398. package/fesm2022/ngx-tethys-affix.mjs +7 -7
  399. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  400. package/fesm2022/ngx-tethys-alert.mjs +10 -10
  401. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  402. package/fesm2022/ngx-tethys-anchor.mjs +10 -10
  403. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  404. package/fesm2022/ngx-tethys-arrow-switcher.mjs +7 -7
  405. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  406. package/fesm2022/ngx-tethys-autocomplete.mjs +16 -16
  407. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  408. package/fesm2022/ngx-tethys-avatar.mjs +22 -22
  409. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  410. package/fesm2022/ngx-tethys-back-top.mjs +7 -7
  411. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  412. package/fesm2022/ngx-tethys-badge.mjs +7 -7
  413. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  414. package/fesm2022/ngx-tethys-breadcrumb.mjs +10 -10
  415. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  416. package/fesm2022/ngx-tethys-button.mjs +13 -13
  417. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  418. package/fesm2022/ngx-tethys-calendar.mjs +26 -26
  419. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  420. package/fesm2022/ngx-tethys-card.mjs +13 -13
  421. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  422. package/fesm2022/ngx-tethys-carousel.mjs +84 -84
  423. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  424. package/fesm2022/ngx-tethys-cascader.mjs +16 -16
  425. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  426. package/fesm2022/ngx-tethys-checkbox.mjs +7 -7
  427. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  428. package/fesm2022/ngx-tethys-collapse.mjs +10 -10
  429. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  430. package/fesm2022/ngx-tethys-color-picker.mjs +31 -31
  431. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  432. package/fesm2022/ngx-tethys-comment.mjs +13 -13
  433. package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
  434. package/fesm2022/ngx-tethys-copy.mjs +7 -7
  435. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  436. package/fesm2022/ngx-tethys-core.mjs +23 -23
  437. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  438. package/fesm2022/ngx-tethys-date-picker.mjs +242 -235
  439. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  440. package/fesm2022/ngx-tethys-date-range.mjs +17 -18
  441. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  442. package/fesm2022/ngx-tethys-dialog.mjs +22 -22
  443. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  444. package/fesm2022/ngx-tethys-divider.mjs +7 -7
  445. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  446. package/fesm2022/ngx-tethys-dot.mjs +7 -7
  447. package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
  448. package/fesm2022/ngx-tethys-drag-drop.mjs +19 -19
  449. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  450. package/fesm2022/ngx-tethys-dropdown.mjs +46 -46
  451. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  452. package/fesm2022/ngx-tethys-empty.mjs +10 -10
  453. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  454. package/fesm2022/ngx-tethys-flexible-text.mjs +7 -7
  455. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  456. package/fesm2022/ngx-tethys-form.mjs +40 -40
  457. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  458. package/fesm2022/ngx-tethys-fullscreen.mjs +13 -13
  459. package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
  460. package/fesm2022/ngx-tethys-grid.mjs +31 -31
  461. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  462. package/fesm2022/ngx-tethys-guider.mjs +16 -16
  463. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  464. package/fesm2022/ngx-tethys-i18n.mjs +3 -3
  465. package/fesm2022/ngx-tethys-i18n.mjs.map +1 -1
  466. package/fesm2022/ngx-tethys-icon.mjs +13 -13
  467. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  468. package/fesm2022/ngx-tethys-image.mjs +16 -16
  469. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  470. package/fesm2022/ngx-tethys-input-number.mjs +7 -7
  471. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  472. package/fesm2022/ngx-tethys-input.mjs +19 -19
  473. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  474. package/fesm2022/ngx-tethys-layout.mjs +58 -58
  475. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  476. package/fesm2022/ngx-tethys-list.mjs +16 -16
  477. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  478. package/fesm2022/ngx-tethys-loading.mjs +7 -7
  479. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  480. package/fesm2022/ngx-tethys-mention.mjs +10 -10
  481. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  482. package/fesm2022/ngx-tethys-menu.mjs +25 -25
  483. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  484. package/fesm2022/ngx-tethys-message.mjs +22 -22
  485. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  486. package/fesm2022/ngx-tethys-nav.mjs +22 -22
  487. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  488. package/fesm2022/ngx-tethys-notify.mjs +16 -16
  489. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  490. package/fesm2022/ngx-tethys-pagination.mjs +13 -13
  491. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  492. package/fesm2022/ngx-tethys-popover.mjs +19 -19
  493. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  494. package/fesm2022/ngx-tethys-progress.mjs +13 -13
  495. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  496. package/fesm2022/ngx-tethys-property-operation.mjs +10 -10
  497. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  498. package/fesm2022/ngx-tethys-property.mjs +10 -10
  499. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  500. package/fesm2022/ngx-tethys-radio.mjs +13 -13
  501. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  502. package/fesm2022/ngx-tethys-rate.mjs +10 -10
  503. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  504. package/fesm2022/ngx-tethys-resizable.mjs +16 -16
  505. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  506. package/fesm2022/ngx-tethys-result.mjs +7 -7
  507. package/fesm2022/ngx-tethys-result.mjs.map +1 -1
  508. package/fesm2022/ngx-tethys-segment.mjs +10 -10
  509. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  510. package/fesm2022/ngx-tethys-select.mjs +10 -10
  511. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  512. package/fesm2022/ngx-tethys-shared.mjs +66 -66
  513. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  514. package/fesm2022/ngx-tethys-skeleton.mjs +22 -22
  515. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  516. package/fesm2022/ngx-tethys-slide.mjs +31 -31
  517. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  518. package/fesm2022/ngx-tethys-slider.mjs +7 -7
  519. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  520. package/fesm2022/ngx-tethys-space.mjs +10 -10
  521. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  522. package/fesm2022/ngx-tethys-statistic.mjs +7 -7
  523. package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
  524. package/fesm2022/ngx-tethys-stepper.mjs +19 -19
  525. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  526. package/fesm2022/ngx-tethys-strength.mjs +7 -7
  527. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  528. package/fesm2022/ngx-tethys-switch.mjs +7 -7
  529. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  530. package/fesm2022/ngx-tethys-table.mjs +19 -19
  531. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  532. package/fesm2022/ngx-tethys-tabs.mjs +13 -13
  533. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  534. package/fesm2022/ngx-tethys-tag.mjs +10 -10
  535. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  536. package/fesm2022/ngx-tethys-time-picker.mjs +46 -40
  537. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  538. package/fesm2022/ngx-tethys-timeline.mjs +13 -13
  539. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  540. package/fesm2022/ngx-tethys-tooltip.mjs +13 -13
  541. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  542. package/fesm2022/ngx-tethys-transfer.mjs +10 -10
  543. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  544. package/fesm2022/ngx-tethys-tree-select.mjs +10 -10
  545. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  546. package/fesm2022/ngx-tethys-tree.mjs +16 -16
  547. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  548. package/fesm2022/ngx-tethys-typography.mjs +13 -13
  549. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  550. package/fesm2022/ngx-tethys-upload.mjs +23 -24
  551. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  552. package/fesm2022/ngx-tethys-util.mjs +107 -38
  553. package/fesm2022/ngx-tethys-util.mjs.map +1 -1
  554. package/fesm2022/ngx-tethys-vote.mjs +7 -7
  555. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  556. package/fesm2022/ngx-tethys-watermark.mjs +7 -7
  557. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  558. package/fesm2022/ngx-tethys.mjs +1 -1
  559. package/fesm2022/ngx-tethys.mjs.map +1 -1
  560. package/nav/styles/nav.scss +18 -2
  561. package/package.json +3 -2
  562. package/schematics/ng-add/index.js +2 -3
  563. package/schematics/ng-add/index.spec.js +21 -22
  564. package/schematics/ng-update/update-18/index.spec.js +7 -8
  565. package/schematics/testing/test-app.js +2 -5
  566. package/schematics/testing/test-project.js +7 -10
  567. package/schematics/testing/test-workspace.d.ts +1 -0
  568. package/schematics/testing/test-workspace.js +14 -15
  569. package/schematics/tsconfig.json +1 -1
  570. package/schematics/utils/get-workspace-tsconfig.js +8 -9
  571. package/schematics/utils/package-config.js +1 -2
  572. package/schematics/version.d.ts +1 -1
  573. package/schematics/version.js +1 -1
  574. package/time-picker/inner/inner-time-picker.store.d.ts +1 -1
  575. package/util/date/functions.d.ts +25 -0
  576. package/util/date/tiny-date.d.ts +20 -4
  577. package/util/index.d.ts +8 -8
@@ -1,4 +1,6 @@
1
- import { differenceInCalendarDays, differenceInCalendarMonths, differenceInCalendarYears, differenceInCalendarQuarters, differenceInWeeks, differenceInHours, differenceInMinutes, differenceInSeconds, isSameDay, isSameHour, isSameMinute, isSameMonth, isSameSecond, isSameYear, isSameQuarter, isToday, isTomorrow, isValid, setYear, startOfMonth, startOfWeek, addMonths, addYears, setDay, setMonth, setQuarter, getUnixTime, startOfDay, endOfDay, fromUnixTime, isWeekend, getWeek, getDaysInMonth, addSeconds, addMinutes, addHours, addWeeks, addQuarters, startOfQuarter, startOfYear, endOfWeek, endOfMonth, endOfQuarter, endOfYear, format, getQuarter, addDays } from './functions';
1
+ import { TZDate } from '@date-fns/tz';
2
+ import { setHours, setMinutes, setSeconds } from 'date-fns';
3
+ import { addDays, addHours, addMinutes, addMonths, addQuarters, addSeconds, addWeeks, addYears, differenceInCalendarDays, differenceInCalendarMonths, differenceInCalendarQuarters, differenceInCalendarYears, differenceInDays, differenceInHours, differenceInMinutes, differenceInSeconds, differenceInWeeks, endOfDay, endOfISOWeek, endOfMonth, endOfQuarter, endOfWeek, endOfYear, format, fromUnixTime, getDaysInMonth, getQuarter, getUnixTime, getWeek, isSameDay, isSameHour, isSameMinute, isSameMonth, isSameQuarter, isSameSecond, isSameYear, isToday, isTomorrow, isValid, isWeekend, setDay, setMonth, setQuarter, setYear, startOfDay, startOfISOWeek, startOfMonth, startOfQuarter, startOfWeek, startOfYear, subDays, subWeeks } from './functions';
2
4
  export function sortRangeValue(rangeValue) {
3
5
  if (Array.isArray(rangeValue)) {
4
6
  const [start, end] = rangeValue;
@@ -6,25 +8,37 @@ export function sortRangeValue(rangeValue) {
6
8
  }
7
9
  return rangeValue;
8
10
  }
11
+ export const DEFAULT_TIMEZONE = 'Asia/Shanghai';
9
12
  export class TinyDate {
10
- constructor(date) {
13
+ static { this.defaultTimeZone = DEFAULT_TIMEZONE; }
14
+ constructor(date, zone) {
15
+ this.useTimeZone = zone || TinyDate.defaultTimeZone;
11
16
  if (date) {
12
17
  if (date instanceof Date) {
13
- this.nativeDate = date;
18
+ this.nativeDate = TinyDate.utcToZonedTime(date, this.useTimeZone);
14
19
  }
15
20
  else if (typeof date === 'string' || typeof date === 'number') {
16
- this.nativeDate = new Date(date);
21
+ this.nativeDate = new TZDate(date, this.useTimeZone);
17
22
  }
18
23
  else if (typeof ngDevMode === 'undefined' || ngDevMode) {
19
24
  throw new Error(`The input date type is not supported expect Date | string | number | { date: number; with_time: 0 | 1}, actual ${JSON.stringify(date)}`);
20
25
  }
21
26
  }
22
27
  else {
23
- this.nativeDate = new Date();
28
+ this.nativeDate = new TZDate(Date.now(), this.useTimeZone);
24
29
  }
25
30
  }
26
- static fromUnixTime(unixTime) {
27
- return new TinyDate(fromUnixTime(unixTime));
31
+ static setDefaultTimeZone(zone) {
32
+ TinyDate.defaultTimeZone = zone ?? DEFAULT_TIMEZONE;
33
+ }
34
+ static utcToZonedTime(value, timeZone) {
35
+ return TZDate.tz(timeZone || TinyDate.defaultTimeZone, value);
36
+ }
37
+ static createDateInTimeZone(year, month, day, hours, minutes, seconds, timeZone) {
38
+ return new TZDate(year, month, day, hours, minutes, seconds, timeZone || TinyDate.defaultTimeZone);
39
+ }
40
+ static fromUnixTime(unixTime, timeZone) {
41
+ return new TinyDate(fromUnixTime(unixTime), timeZone || TinyDate.defaultTimeZone);
28
42
  }
29
43
  // get
30
44
  getTime() {
@@ -42,6 +56,9 @@ export class TinyDate {
42
56
  getMonth() {
43
57
  return this.nativeDate.getMonth();
44
58
  }
59
+ getFullYear() {
60
+ return this.nativeDate.getFullYear();
61
+ }
45
62
  getWeek(options = { weekStartsOn: 1 }) {
46
63
  return getWeek(this.nativeDate, options);
47
64
  }
@@ -70,49 +87,58 @@ export class TinyDate {
70
87
  setDate(amount) {
71
88
  const date = new Date(this.nativeDate);
72
89
  date.setDate(amount);
73
- return new TinyDate(date);
90
+ return new TinyDate(date, this.useTimeZone);
74
91
  }
75
92
  setHms(hour, minute, second) {
76
93
  const date = new Date(this.nativeDate);
77
94
  date.setHours(hour, minute, second);
78
- return new TinyDate(date);
95
+ return new TinyDate(date, this.useTimeZone);
79
96
  }
80
97
  setYear(year) {
81
- return new TinyDate(setYear(this.nativeDate, year));
98
+ return new TinyDate(setYear(this.nativeDate, year), this.useTimeZone);
82
99
  }
83
100
  setMonth(month) {
84
- return new TinyDate(setMonth(this.nativeDate, month));
101
+ return new TinyDate(setMonth(this.nativeDate, month), this.useTimeZone);
85
102
  }
86
103
  setQuarter(quarter) {
87
- return new TinyDate(setQuarter(this.nativeDate, quarter));
104
+ return new TinyDate(setQuarter(this.nativeDate, quarter), this.useTimeZone);
88
105
  }
89
106
  setDay(day, options) {
90
- return new TinyDate(setDay(this.nativeDate, day, options));
107
+ return new TinyDate(setDay(this.nativeDate, day, options), this.useTimeZone);
108
+ }
109
+ setHours(hours) {
110
+ return new TinyDate(setHours(this.nativeDate, hours), this.useTimeZone);
111
+ }
112
+ setMinutes(minutes) {
113
+ return new TinyDate(setMinutes(this.nativeDate, minutes), this.useTimeZone);
114
+ }
115
+ setSeconds(seconds) {
116
+ return new TinyDate(setSeconds(this.nativeDate, seconds), this.useTimeZone);
91
117
  }
92
118
  // add
93
119
  addYears(amount) {
94
- return new TinyDate(addYears(this.nativeDate, amount));
120
+ return new TinyDate(addYears(this.nativeDate, amount), this.useTimeZone);
95
121
  }
96
122
  addQuarters(amount) {
97
- return new TinyDate(addQuarters(this.nativeDate, amount));
123
+ return new TinyDate(addQuarters(this.nativeDate, amount), this.useTimeZone);
98
124
  }
99
125
  addMonths(amount) {
100
- return new TinyDate(addMonths(this.nativeDate, amount));
126
+ return new TinyDate(addMonths(this.nativeDate, amount), this.useTimeZone);
101
127
  }
102
128
  addWeeks(amount) {
103
- return new TinyDate(addWeeks(this.nativeDate, amount));
129
+ return new TinyDate(addWeeks(this.nativeDate, amount), this.useTimeZone);
104
130
  }
105
131
  addDays(amount) {
106
- return new TinyDate(addDays(this.nativeDate, amount));
132
+ return new TinyDate(addDays(this.nativeDate, amount), this.useTimeZone);
107
133
  }
108
134
  addHours(amount) {
109
- return new TinyDate(addHours(this.nativeDate, amount));
135
+ return new TinyDate(addHours(this.nativeDate, amount), this.useTimeZone);
110
136
  }
111
137
  addSeconds(amount) {
112
- return new TinyDate(addSeconds(this.nativeDate, amount));
138
+ return new TinyDate(addSeconds(this.nativeDate, amount), this.useTimeZone);
113
139
  }
114
140
  addMinutes(amount) {
115
- return new TinyDate(addMinutes(this.nativeDate, amount));
141
+ return new TinyDate(addMinutes(this.nativeDate, amount), this.useTimeZone);
116
142
  }
117
143
  // isSame
118
144
  isSame(date, grain = 'day') {
@@ -233,44 +259,44 @@ export class TinyDate {
233
259
  }
234
260
  // startOf and endOf
235
261
  startOfYear() {
236
- return new TinyDate(startOfYear(this.nativeDate));
262
+ return new TinyDate(startOfYear(this.nativeDate), this.useTimeZone);
237
263
  }
238
264
  startOfQuarter() {
239
- return new TinyDate(startOfQuarter(this.nativeDate));
265
+ return new TinyDate(startOfQuarter(this.nativeDate), this.useTimeZone);
240
266
  }
241
267
  startOfMonth() {
242
- return new TinyDate(startOfMonth(this.nativeDate));
268
+ return new TinyDate(startOfMonth(this.nativeDate), this.useTimeZone);
243
269
  }
244
270
  startOfWeek(options) {
245
- return new TinyDate(startOfWeek(this.nativeDate, options));
271
+ return new TinyDate(startOfWeek(this.nativeDate, options), this.useTimeZone);
246
272
  }
247
273
  startOfDay() {
248
- return new TinyDate(startOfDay(this.nativeDate));
274
+ return new TinyDate(startOfDay(this.nativeDate), this.useTimeZone);
249
275
  }
250
276
  endOfYear() {
251
- return new TinyDate(endOfYear(this.nativeDate));
277
+ return new TinyDate(endOfYear(this.nativeDate), this.useTimeZone);
252
278
  }
253
279
  endOfQuarter() {
254
- return new TinyDate(endOfQuarter(this.nativeDate));
280
+ return new TinyDate(endOfQuarter(this.nativeDate), this.useTimeZone);
255
281
  }
256
282
  endOfMonth() {
257
- return new TinyDate(endOfMonth(this.nativeDate));
283
+ return new TinyDate(endOfMonth(this.nativeDate), this.useTimeZone);
258
284
  }
259
285
  endOfWeek(options) {
260
- return new TinyDate(endOfWeek(this.nativeDate, options));
286
+ return new TinyDate(endOfWeek(this.nativeDate, options), this.useTimeZone);
261
287
  }
262
288
  endOfDay() {
263
- return new TinyDate(endOfDay(this.nativeDate));
289
+ return new TinyDate(endOfDay(this.nativeDate), this.useTimeZone);
264
290
  }
265
291
  // other
266
292
  format(mat, options) {
267
293
  return format(this.nativeDate, mat, options);
268
294
  }
269
295
  calendarStart(options) {
270
- return new TinyDate(startOfWeek(startOfMonth(this.nativeDate), options));
296
+ return new TinyDate(startOfWeek(startOfMonth(this.nativeDate), options), this.useTimeZone);
271
297
  }
272
298
  clone() {
273
- return new TinyDate(new Date(this.nativeDate));
299
+ return new TinyDate(new Date(this.nativeDate), this.useTimeZone);
274
300
  }
275
301
  getUnixTime() {
276
302
  return getUnixTime(this.nativeDate);
@@ -314,5 +340,23 @@ export class TinyDate {
314
340
  toNativeDate(date) {
315
341
  return date instanceof TinyDate ? date.nativeDate : date;
316
342
  }
343
+ startOfISOWeek() {
344
+ return new TinyDate(startOfISOWeek(this.nativeDate), this.useTimeZone);
345
+ }
346
+ endOfISOWeek() {
347
+ return new TinyDate(endOfISOWeek(this.nativeDate), this.useTimeZone);
348
+ }
349
+ differenceInDays(date) {
350
+ return differenceInDays(this.nativeDate, date);
351
+ }
352
+ differenceInHours(date) {
353
+ return differenceInHours(this.nativeDate, date);
354
+ }
355
+ subWeeks(amount) {
356
+ return new TinyDate(subWeeks(this.nativeDate, amount), this.useTimeZone);
357
+ }
358
+ subDays(amount) {
359
+ return new TinyDate(subDays(this.nativeDate, amount), this.useTimeZone);
360
+ }
317
361
  }
318
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlueS1kYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3V0aWwvZGF0ZS90aW55LWRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHdCQUF3QixFQUN4QiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLDRCQUE0QixFQUM1QixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixVQUFVLEVBQ1YsYUFBYSxFQUNiLE9BQU8sRUFDUCxVQUFVLEVBQ1YsT0FBTyxFQUNQLE9BQU8sRUFDUCxZQUFZLEVBQ1osV0FBVyxFQUNYLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFFBQVEsRUFDUixVQUFVLEVBQ1YsV0FBVyxFQUNYLFVBQVUsRUFDVixRQUFRLEVBQ1IsWUFBWSxFQUNaLFNBQVMsRUFDVCxPQUFPLEVBQ1AsY0FBYyxFQUNkLFVBQVUsRUFDVixVQUFVLEVBQ1YsUUFBUSxFQUNSLFFBQVEsRUFDUixXQUFXLEVBQ1gsY0FBYyxFQUNkLFdBQVcsRUFDWCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixTQUFTLEVBQ1QsTUFBTSxFQUNOLFVBQVUsRUFDVixPQUFPLEVBQ1YsTUFBTSxhQUFhLENBQUM7QUFVckIsTUFBTSxVQUFVLGNBQWMsQ0FBQyxVQUFzQjtJQUNqRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUM1QixNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQztRQUNoQyxPQUFPLEtBQUssSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxD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LEVBQUUsR0FBRyw0QkFBNEIsQ0FBQztnQkFDbEMsTUFBTTtZQUNWLEtBQUssT0FBTztnQkFDUixFQUFFLEdBQUcsMEJBQTBCLENBQUM7Z0JBQ2hDLE1BQU07WUFDVixLQUFLLEtBQUs7Z0JBQ04sRUFBRSxHQUFHLHdCQUF3QixDQUFDO2dCQUM5QixNQUFNO1lBQ1YsS0FBSyxNQUFNO2dCQUNQLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztnQkFDdkIsTUFBTTtZQUNWLEtBQUssTUFBTTtnQkFDUCxFQUFFLEdBQUcsaUJBQWlCLENBQUM7Z0JBQ3ZCLE1BQU07WUFDVixLQUFLLFFBQVE7Z0JBQ1QsRUFBRSxHQUFHLG1CQUFtQixDQUFDO2dCQUN6QixNQUFNO1lBQ1YsS0FBSyxRQUFRO2dCQUNULEVBQUUsR0FBRyxtQkFBbUIsQ0FBQztnQkFDekIsTUFBTTtZQUNWO2dCQUNJLEVBQUUsR0FBRyx3QkFBd0IsQ0FBQztnQkFDOUIsTUFBTTtRQUNkLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxSCxDQUFDO0lBRU8sWUFBWSxDQUFDLElBQVM7UUFDMUIsT0FBTyxJQUFJLFlBQVksUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDN0QsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMsXG4gICAgZGlmZmVyZW5jZUluQ2FsZW5kYXJNb250aHMsXG4gICAgZGlmZmVyZW5jZUluQ2FsZW5kYXJZZWFycyxcbiAgICBkaWZmZXJlbmNlSW5DYWxlbmRhclF1YXJ0ZXJzLFxuICAgIGRpZmZlcmVuY2VJbldlZWtzLFxuICAgIGRpZmZlcmVuY2VJbkhvdXJzLFxuICAgIGRpZmZlcmVuY2VJbk1pbnV0ZXMsXG4gICAgZGlmZmVyZW5jZUluU2Vjb25kcyxcbiAgICBpc1NhbWVEYXksXG4gICAgaXNTYW1lSG91cixcbiAgICBpc1NhbWVNaW51dGUsXG4gICAgaXNTYW1lTW9udGgsXG4gICAgaXNTYW1lU2Vjb25kLFxuICAgIGlzU2FtZVllYXIsXG4gICAgaXNTYW1lUXVhcnRlcixcbiAgICBpc1RvZGF5LFxuICAgIGlzVG9tb3Jyb3csXG4gICAgaXNWYWxpZCxcbiAgICBzZXRZZWFyLFxuICAgIHN0YXJ0T2ZNb250aCxcbiAgICBzdGFydE9mV2VlayxcbiAgICBhZGRNb250aHMsXG4gICAgYWRkWWVhcnMsXG4gICAgc2V0RGF5LFxuICAgIHNldE1vbnRoLFxuICAgIHNldFF1YXJ0ZXIsXG4gICAgZ2V0VW5peFRpbWUsXG4gICAgc3RhcnRPZkRheSxcbiAgICBlbmRPZkRheSxcbiAgICBmcm9tVW5peFRpbWUsXG4gICAgaXNXZWVrZW5kLFxuICAgIGdldFdlZWssXG4gICAgZ2V0RGF5c0luTW9udGgsXG4gICAgYWRkU2Vjb25kcyxcbiAgICBhZGRNaW51dGVzLFxuICAgIGFkZEhvdXJzLFxuICAgIGFkZFdlZWtzLFxuICAgIGFkZFF1YXJ0ZXJzLFxuICAgIHN0YXJ0T2ZRdWFydGVyLFxuICAgIHN0YXJ0T2ZZZWFyLFxuICAgIGVuZE9mV2VlayxcbiAgICBlbmRPZk1vbnRoLFxuICAgIGVuZE9mUXVhcnRlcixcbiAgICBlbmRPZlllYXIsXG4gICAgZm9ybWF0LFxuICAgIGdldFF1YXJ0ZXIsXG4gICAgYWRkRGF5c1xufSBmcm9tICcuL2Z1bmN0aW9ucyc7XG5cbmltcG9ydCB7IExvY2FsZSB9IGZyb20gJ2RhdGUtZm5zJztcblxuZXhwb3J0IHR5cGUgVGlueURhdGVDb21wYXJlR3JhaW4gPSAnZGVjYWRlJyB8ICd5ZWFyJyB8ICdxdWFydGVyJyB8ICdtb250aCcgfCAnd2VlaycgfCAnZGF5JyB8ICdob3VyJyB8ICdtaW51dGUnIHwgJ3NlY29uZCc7XG5cbmV4cG9ydCB0eXBlIFdlZWtEYXlJbmRleCA9IDAgfCAxIHwgMiB8IDMgfCA0IHwgNSB8IDY7XG5cbmV4cG9ydCB0eXBlIFRpbnlEYXRlVHlwZSA9IFRpbnlEYXRlIHwgRGF0ZSB8IG51bGw7XG5cbmV4cG9ydCBmdW5jdGlvbiBzb3J0UmFuZ2VWYWx1ZShyYW5nZVZhbHVlOiBUaW55RGF0ZVtdKTogVGlueURhdGVbXSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocmFuZ2VWYWx1ZSkpIHtcbiAgICAgICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gcmFuZ2VWYWx1ZTtcbiAgICAgICAgcmV0dXJuIHN0YXJ0ICYmIGVuZCAmJiBzdGFydC5pc0FmdGVyU2Vjb25kKGVuZCkgPyBbZW5kLCBzdGFydF0gOiBbc3RhcnQsIGVuZF07XG4gICAgfVxuICAgIHJldHVybiByYW5nZVZhbHVlO1xufVxuXG5leHBvcnQgY2xhc3MgVGlueURhdGUgaW1wbGVtZW50cyBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICBuYXRpdmVEYXRlOiBEYXRlO1xuXG4gICAgY29uc3RydWN0b3IoZGF0ZT86IERhdGUgfCBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICAgICAgaWYgKGRhdGUpIHtcbiAgICAgICAgICAgIGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubmF0aXZlRGF0ZSA9IGRhdGU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgZGF0ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdGl2ZURhdGUgPSBuZXcgRGF0ZShkYXRlKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgICAgICBgVGhlIGlucHV0IGRhdGUgdHlwZSBpcyBub3Qgc3VwcG9ydGVkIGV4cGVjdCBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyIHwgeyBkYXRlOiBudW1iZXI7IHdpdGhfdGltZTogMCB8IDF9LCBhY3R1YWwgJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVcbiAgICAgICAgICAgICAgICAgICAgKX1gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgZnJvbVVuaXhUaW1lKHVuaXhUaW1lOiBudW1iZXIpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoZnJvbVVuaXhUaW1lKHVuaXhUaW1lKSk7XG4gICAgfVxuXG4gICAgLy8gZ2V0XG4gICAgZ2V0VGltZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVEYXRlLmdldFRpbWUoKTtcbiAgICB9XG5cbiAgICBnZXREYXRlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZURhdGUuZ2V0RGF0ZSgpO1xuICAgIH1cblxuICAgIGdldFllYXIoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgIH1cblxuICAgIGdldFF1YXJ0ZXIoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGdldFF1YXJ0ZXIodGhpcy5uYXRpdmVEYXRlKTtcbiAgICB9XG5cbiAgICBnZXRNb250aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVEYXRlLmdldE1vbnRoKCk7XG4gICAgfVxuXG4gICAgZ2V0V2VlayhvcHRpb25zOiB7IGxvY2FsZT86IExvY2FsZTsgd2Vla1N0YXJ0c09uPzogV2Vla0RheUluZGV4IH0gPSB7IHdlZWtTdGFydHNPbjogMSB9KTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGdldFdlZWsodGhpcy5uYXRpdmVEYXRlLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBnZXREYXkoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRGF0ZS5nZXREYXkoKTtcbiAgICB9XG5cbiAgICBnZXRIb3VycygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVEYXRlLmdldEhvdXJzKCk7XG4gICAgfVxuXG4gICAgZ2V0TWludXRlcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVEYXRlLmdldE1pbnV0ZXMoKTtcbiAgICB9XG5cbiAgICBnZXRTZWNvbmRzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZURhdGUuZ2V0U2Vjb25kcygpO1xuICAgIH1cblxuICAgIGdldE1pbGxpc2Vjb25kcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVEYXRlLmdldE1pbGxpc2Vjb25kcygpO1xuICAgIH1cblxuICAgIGdldERheXNJbk1vbnRoKCkge1xuICAgICAgICByZXR1cm4gZ2V0RGF5c0luTW9udGgodGhpcy5uYXRpdmVEYXRlKTtcbiAgICB9XG5cbiAgICBnZXREYXlzSW5RdWFydGVyKCkge1xuICAgICAgICByZXR1cm4gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKHRoaXMuZW5kT2ZRdWFydGVyKCkuYWRkU2Vjb25kcygxKS5uYXRpdmVEYXRlLCB0aGlzLnN0YXJ0T2ZRdWFydGVyKCkubmF0aXZlRGF0ZSk7XG4gICAgfVxuXG4gICAgLy8gc2V0XG4gICAgc2V0RGF0ZShhbW91bnQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRoaXMubmF0aXZlRGF0ZSk7XG4gICAgICAgIGRhdGUuc2V0RGF0ZShhbW91bnQpO1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGRhdGUpO1xuICAgIH1cblxuICAgIHNldEhtcyhob3VyOiBudW1iZXIsIG1pbnV0ZTogbnVtYmVyLCBzZWNvbmQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRoaXMubmF0aXZlRGF0ZSk7XG4gICAgICAgIGRhdGUuc2V0SG91cnMoaG91ciwgbWludXRlLCBzZWNvbmQpO1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGRhdGUpO1xuICAgIH1cblxuICAgIHNldFllYXIoeWVhcjogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKHNldFllYXIodGhpcy5uYXRpdmVEYXRlLCB5ZWFyKSk7XG4gICAgfVxuXG4gICAgc2V0TW9udGgobW9udGg6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzZXRNb250aCh0aGlzLm5hdGl2ZURhdGUsIG1vbnRoKSk7XG4gICAgfVxuXG4gICAgc2V0UXVhcnRlcihxdWFydGVyOiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzZXRRdWFydGVyKHRoaXMubmF0aXZlRGF0ZSwgcXVhcnRlcikpO1xuICAgIH1cblxuICAgIHNldERheShkYXk6IG51bWJlciwgb3B0aW9ucz86IHsgd2Vla1N0YXJ0c09uOiBXZWVrRGF5SW5kZXggfSk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzZXREYXkodGhpcy5uYXRpdmVEYXRlLCBkYXksIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICAvLyBhZGRcbiAgICBhZGRZZWFycyhhbW91bnQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShhZGRZZWFycyh0aGlzLm5hdGl2ZURhdGUsIGFtb3VudCkpO1xuICAgIH1cblxuICAgIGFkZFF1YXJ0ZXJzKGFtb3VudDogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGFkZFF1YXJ0ZXJzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSk7XG4gICAgfVxuXG4gICAgYWRkTW9udGhzKGFtb3VudDogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGFkZE1vbnRocyh0aGlzLm5hdGl2ZURhdGUsIGFtb3VudCkpO1xuICAgIH1cblxuICAgIGFkZFdlZWtzKGFtb3VudDogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGFkZFdlZWtzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSk7XG4gICAgfVxuXG4gICAgYWRkRGF5cyhhbW91bnQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShhZGREYXlzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSk7XG4gICAgfVxuICAgIGFkZEhvdXJzKGFtb3VudDogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGFkZEhvdXJzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSk7XG4gICAgfVxuXG4gICAgYWRkU2Vjb25kcyhhbW91bnQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShhZGRTZWNvbmRzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSk7XG4gICAgfVxuXG4gICAgYWRkTWludXRlcyhhbW91bnQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShhZGRNaW51dGVzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSk7XG4gICAgfVxuXG4gICAgLy8gaXNTYW1lXG5cbiAgICBpc1NhbWUoZGF0ZTogVGlueURhdGVUeXBlLCBncmFpbjogVGlueURhdGVDb21wYXJlR3JhaW4gPSAnZGF5Jyk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgZm47XG4gICAgICAgIHN3aXRjaCAoZ3JhaW4pIHtcbiAgICAgICAgICAgIGNhc2UgJ2RlY2FkZSc6XG4gICAgICAgICAgICAgICAgZm4gPSAocHJlOiBEYXRlLCBuZXh0OiBEYXRlKSA9PiBNYXRoLmFicyhwcmUuZ2V0RnVsbFllYXIoKSAtIG5leHQuZ2V0RnVsbFllYXIoKSkgPCAxMTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3llYXInOlxuICAgICAgICAgICAgICAgIGZuID0gaXNTYW1lWWVhcjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgICAgICAgICAgICBmbiA9IGlzU2FtZU1vbnRoO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncXVhcnRlcic6XG4gICAgICAgICAgICAgICAgZm4gPSBpc1NhbWVRdWFydGVyO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZGF5JzpcbiAgICAgICAgICAgICAgICBmbiA9IGlzU2FtZURheTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2hvdXInOlxuICAgICAgICAgICAgICAgIGZuID0gaXNTYW1lSG91cjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ21pbnV0ZSc6XG4gICAgICAgICAgICAgICAgZm4gPSBpc1NhbWVNaW51dGU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdzZWNvbmQnOlxuICAgICAgICAgICAgICAgIGZuID0gaXNTYW1lU2Vjb25kO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBmbiA9IGlzU2FtZURheTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZm4odGhpcy5uYXRpdmVEYXRlLCB0aGlzLnRvTmF0aXZlRGF0ZShkYXRlKSk7XG4gICAgfVxuXG4gICAgaXNTYW1lWWVhcihkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTYW1lKGRhdGUsICd5ZWFyJyk7XG4gICAgfVxuXG4gICAgaXNTYW1lTW9udGgoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzU2FtZShkYXRlLCAnbW9udGgnKTtcbiAgICB9XG5cbiAgICBpc1NhbWVRdWFydGVyKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1NhbWUoZGF0ZSwgJ3F1YXJ0ZXInKTtcbiAgICB9XG5cbiAgICBpc1NhbWVEYXkoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzU2FtZShkYXRlLCAnZGF5Jyk7XG4gICAgfVxuXG4gICAgaXNTYW1lSG91cihkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTYW1lKGRhdGUsICdob3VyJyk7XG4gICAgfVxuXG4gICAgaXNTYW1lTWludXRlKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1NhbWUoZGF0ZSwgJ21pbnV0ZScpO1xuICAgIH1cblxuICAgIGlzU2FtZVNlY29uZChkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTYW1lKGRhdGUsICdzZWNvbmQnKTtcbiAgICB9XG5cbiAgICAvLyBpc0JlZm9yZSBhbmQgaXNBZnRlclxuICAgIGlzQmVmb3JlWWVhcihkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAneWVhcicpO1xuICAgIH1cblxuICAgIGlzQmVmb3JlUXVhcnRlcihkYXRlOiBUaW55RGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdxdWFydGVyJyk7XG4gICAgfVxuXG4gICAgaXNCZWZvcmVNb250aChkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAnbW9udGgnKTtcbiAgICB9XG5cbiAgICBpc0JlZm9yZVdlZWsoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUoZGF0ZSwgJ3dlZWsnKTtcbiAgICB9XG5cbiAgICBpc0JlZm9yZURheShkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAnZGF5Jyk7XG4gICAgfVxuXG4gICAgaXNCZWZvcmVIb3VyKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdob3VyJyk7XG4gICAgfVxuXG4gICAgaXNCZWZvcmVNaW51dGUoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUoZGF0ZSwgJ21pbnV0ZScpO1xuICAgIH1cblxuICAgIGlzQmVmb3JlU2Vjb25kKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdzZWNvbmQnKTtcbiAgICB9XG5cbiAgICBpc0FmdGVyWWVhcihkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAneWVhcicsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBpc0FmdGVyUXVhcnRlcihkYXRlOiBUaW55RGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdxdWFydGVyJywgZmFsc2UpO1xuICAgIH1cblxuICAgIGlzQWZ0ZXJNb250aChkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAnbW9udGgnLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgaXNBZnRlcldlZWsoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUoZGF0ZSwgJ3dlZWsnLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgaXNBZnRlckRheShkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAnZGF5JywgZmFsc2UpO1xuICAgIH1cblxuICAgIGlzQWZ0ZXJIb3VyKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdob3VyJywgZmFsc2UpO1xuICAgIH1cblxuICAgIGlzQWZ0ZXJNaW51dGUoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUoZGF0ZSwgJ21pbnV0ZScsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBpc0FmdGVyU2Vjb25kKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdzZWNvbmQnLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gaXNcbiAgICBpc1dlZWtlbmQoKSB7XG4gICAgICAgIHJldHVybiBpc1dlZWtlbmQodGhpcy5uYXRpdmVEYXRlKTtcbiAgICB9XG5cbiAgICBpc1RvZGF5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaXNUb2RheSh0aGlzLm5hdGl2ZURhdGUpO1xuICAgIH1cblxuICAgIGlzVG9tb3Jyb3coKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc1RvbW9ycm93KHRoaXMubmF0aXZlRGF0ZSk7XG4gICAgfVxuXG4gICAgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzVmFsaWQodGhpcy5uYXRpdmVEYXRlKTtcbiAgICB9XG5cbiAgICAvLyBzdGFydE9mIGFuZCBlbmRPZlxuICAgIHN0YXJ0T2ZZZWFyKCk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzdGFydE9mWWVhcih0aGlzLm5hdGl2ZURhdGUpKTtcbiAgICB9XG5cbiAgICBzdGFydE9mUXVhcnRlcigpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoc3RhcnRPZlF1YXJ0ZXIodGhpcy5uYXRpdmVEYXRlKSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZk1vbnRoKCk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzdGFydE9mTW9udGgodGhpcy5uYXRpdmVEYXRlKSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZldlZWsob3B0aW9ucz86IHsgbG9jYWxlPzogTG9jYWxlOyB3ZWVrU3RhcnRzT24/OiBXZWVrRGF5SW5kZXggfSk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzdGFydE9mV2Vlayh0aGlzLm5hdGl2ZURhdGUsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBzdGFydE9mRGF5KCk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzdGFydE9mRGF5KHRoaXMubmF0aXZlRGF0ZSkpO1xuICAgIH1cblxuICAgIGVuZE9mWWVhcigpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoZW5kT2ZZZWFyKHRoaXMubmF0aXZlRGF0ZSkpO1xuICAgIH1cblxuICAgIGVuZE9mUXVhcnRlcigpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoZW5kT2ZRdWFydGVyKHRoaXMubmF0aXZlRGF0ZSkpO1xuICAgIH1cblxuICAgIGVuZE9mTW9udGgoKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGVuZE9mTW9udGgodGhpcy5uYXRpdmVEYXRlKSk7XG4gICAgfVxuXG4gICAgZW5kT2ZXZWVrKG9wdGlvbnM/OiB7IGxvY2FsZT86IExvY2FsZTsgd2Vla1N0YXJ0c09uPzogV2Vla0RheUluZGV4IH0pOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoZW5kT2ZXZWVrKHRoaXMubmF0aXZlRGF0ZSwgb3B0aW9ucykpO1xuICAgIH1cblxuICAgIGVuZE9mRGF5KCk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShlbmRPZkRheSh0aGlzLm5hdGl2ZURhdGUpKTtcbiAgICB9XG5cbiAgICAvLyBvdGhlclxuICAgIGZvcm1hdChcbiAgICAgICAgbWF0OiBzdHJpbmcsXG4gICAgICAgIG9wdGlvbnM/OiB7XG4gICAgICAgICAgICBsb2NhbGU/OiBMb2NhbGU7XG4gICAgICAgICAgICB3ZWVrU3RhcnRzT24/OiBXZWVrRGF5SW5kZXg7XG4gICAgICAgICAgICBmaXJzdFdlZWtDb250YWluc0RhdGU/OiBudW1iZXI7XG4gICAgICAgICAgICB1c2VBZGRpdGlvbmFsV2Vla1llYXJUb2tlbnM/OiBib29sZWFuO1xuICAgICAgICAgICAgdXNlQWRkaXRpb25hbERheU9mWWVhclRva2Vucz86IGJvb2xlYW47XG4gICAgICAgIH1cbiAgICApIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdCh0aGlzLm5hdGl2ZURhdGUsIG1hdCwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY2FsZW5kYXJTdGFydChvcHRpb25zPzogeyB3ZWVrU3RhcnRzT246IFdlZWtEYXlJbmRleCB8IHVuZGVmaW5lZCB9KTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKHN0YXJ0T2ZXZWVrKHN0YXJ0T2ZNb250aCh0aGlzLm5hdGl2ZURhdGUpLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgY2xvbmUoKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKG5ldyBEYXRlKHRoaXMubmF0aXZlRGF0ZSkpO1xuICAgIH1cblxuICAgIGdldFVuaXhUaW1lKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBnZXRVbml4VGltZSh0aGlzLm5hdGl2ZURhdGUpO1xuICAgIH1cblxuICAgIGNvbXBhcmUoZGF0ZTogVGlueURhdGVUeXBlLCBncmFpbjogVGlueURhdGVDb21wYXJlR3JhaW4gPSAnZGF5JywgaXNCZWZvcmU6IGJvb2xlYW4gPSB0cnVlKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChkYXRlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGZuO1xuICAgICAgICBzd2l0Y2ggKGdyYWluKSB7XG4gICAgICAgICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgICAgICAgICBmbiA9IGRpZmZlcmVuY2VJbkNhbGVuZGFyWWVhcnM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdxdWFydGVyJzpcbiAgICAgICAgICAgICAgICBmbiA9IGRpZmZlcmVuY2VJbkNhbGVuZGFyUXVhcnRlcnM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdtb250aCc6XG4gICAgICAgICAgICAgICAgZm4gPSBkaWZmZXJlbmNlSW5DYWxlbmRhck1vbnRocztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2RheSc6XG4gICAgICAgICAgICAgICAgZm4gPSBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd3ZWVrJzpcbiAgICAgICAgICAgICAgICBmbiA9IGRpZmZlcmVuY2VJbldlZWtzO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnaG91cic6XG4gICAgICAgICAgICAgICAgZm4gPSBkaWZmZXJlbmNlSW5Ib3VycztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ21pbnV0ZSc6XG4gICAgICAgICAgICAgICAgZm4gPSBkaWZmZXJlbmNlSW5NaW51dGVzO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnc2Vjb25kJzpcbiAgICAgICAgICAgICAgICBmbiA9IGRpZmZlcmVuY2VJblNlY29uZHM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGZuID0gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0JlZm9yZSA/IGZuKHRoaXMubmF0aXZlRGF0ZSwgdGhpcy50b05hdGl2ZURhdGUoZGF0ZSkpIDwgMCA6IGZuKHRoaXMubmF0aXZlRGF0ZSwgdGhpcy50b05hdGl2ZURhdGUoZGF0ZSkpID4gMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvTmF0aXZlRGF0ZShkYXRlOiBhbnkpOiBEYXRlIHtcbiAgICAgICAgcmV0dXJuIGRhdGUgaW5zdGFuY2VvZiBUaW55RGF0ZSA/IGRhdGUubmF0aXZlRGF0ZSA6IGRhdGU7XG4gICAgfVxufVxuIl19
362
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlueS1kYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3V0aWwvZGF0ZS90aW55LWRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQWlDLFFBQVEsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTNGLE9BQU8sRUFDSCxPQUFPLEVBQ1AsUUFBUSxFQUNSLFVBQVUsRUFDVixTQUFTLEVBQ1QsV0FBVyxFQUNYLFVBQVUsRUFDVixRQUFRLEVBQ1IsUUFBUSxFQUNSLHdCQUF3QixFQUN4QiwwQkFBMEIsRUFDMUIsNEJBQTRCLEVBQzVCLHlCQUF5QixFQUN6QixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixTQUFTLEVBQ1QsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixXQUFXLEVBQ1gsT0FBTyxFQUNQLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxhQUFhLEVBQ2IsWUFBWSxFQUNaLFVBQVUsRUFDVixPQUFPLEVBQ1AsVUFBVSxFQUNWLE9BQU8sRUFDUCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFFBQVEsRUFDUixVQUFVLEVBQ1YsT0FBTyxFQUNQLFVBQVUsRUFDVixjQUFjLEVBQ2QsWUFBWSxFQUNaLGNBQWMsRUFDZCxXQUFXLEVBQ1gsV0FBVyxFQUNYLE9BQU8sRUFDUCxRQUFRLEVBQ1gsTUFBTSxhQUFhLENBQUM7QUFRckIsTUFBTSxVQUFVLGNBQWMsQ0FBQyxVQUFzQjtJQUNqRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUM1QixN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LENBQUM7SUFFRCxZQUFZO1FBQ1IsT0FBTyxJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBVTtRQUN2QixPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQVU7UUFDeEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxRQUFRLENBQUMsTUFBYztRQUNuQixPQUFPLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQWM7UUFDbEIsT0FBTyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRaRGF0ZSB9IGZyb20gJ0BkYXRlLWZucy90eic7XG5pbXBvcnQgeyBGaXJzdFdlZWtDb250YWluc0RhdGUsIExvY2FsZSwgc2V0SG91cnMsIHNldE1pbnV0ZXMsIHNldFNlY29uZHMgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBTYWZlQW55IH0gZnJvbSAnbmd4LXRldGh5cy90eXBlcyc7XG5pbXBvcnQge1xuICAgIGFkZERheXMsXG4gICAgYWRkSG91cnMsXG4gICAgYWRkTWludXRlcyxcbiAgICBhZGRNb250aHMsXG4gICAgYWRkUXVhcnRlcnMsXG4gICAgYWRkU2Vjb25kcyxcbiAgICBhZGRXZWVrcyxcbiAgICBhZGRZZWFycyxcbiAgICBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMsXG4gICAgZGlmZmVyZW5jZUluQ2FsZW5kYXJNb250aHMsXG4gICAgZGlmZmVyZW5jZUluQ2FsZW5kYXJRdWFydGVycyxcbiAgICBkaWZmZXJlbmNlSW5DYWxlbmRhclllYXJzLFxuICAgIGRpZmZlcmVuY2VJbkRheXMsXG4gICAgZGlmZmVyZW5jZUluSG91cnMsXG4gICAgZGlmZmVyZW5jZUluTWludXRlcyxcbiAgICBkaWZmZXJlbmNlSW5TZWNvbmRzLFxuICAgIGRpZmZlcmVuY2VJbldlZWtzLFxuICAgIGVuZE9mRGF5LFxuICAgIGVuZE9mSVNPV2VlayxcbiAgICBlbmRPZk1vbnRoLFxuICAgIGVuZE9mUXVhcnRlcixcbiAgICBlbmRPZldlZWssXG4gICAgZW5kT2ZZZWFyLFxuICAgIGZvcm1hdCxcbiAgICBmcm9tVW5peFRpbWUsXG4gICAgZ2V0RGF5c0luTW9udGgsXG4gICAgZ2V0UXVhcnRlcixcbiAgICBnZXRVbml4VGltZSxcbiAgICBnZXRXZWVrLFxuICAgIGlzU2FtZURheSxcbiAgICBpc1NhbWVIb3VyLFxuICAgIGlzU2FtZU1pbnV0ZSxcbiAgICBpc1NhbWVNb250aCxcbiAgICBpc1NhbWVRdWFydGVyLFxuICAgIGlzU2FtZVNlY29uZCxcbiAgICBpc1NhbWVZZWFyLFxuICAgIGlzVG9kYXksXG4gICAgaXNUb21vcnJvdyxcbiAgICBpc1ZhbGlkLFxuICAgIGlzV2Vla2VuZCxcbiAgICBzZXREYXksXG4gICAgc2V0TW9udGgsXG4gICAgc2V0UXVhcnRlcixcbiAgICBzZXRZZWFyLFxuICAgIHN0YXJ0T2ZEYXksXG4gICAgc3RhcnRPZklTT1dlZWssXG4gICAgc3RhcnRPZk1vbnRoLFxuICAgIHN0YXJ0T2ZRdWFydGVyLFxuICAgIHN0YXJ0T2ZXZWVrLFxuICAgIHN0YXJ0T2ZZZWFyLFxuICAgIHN1YkRheXMsXG4gICAgc3ViV2Vla3Ncbn0gZnJvbSAnLi9mdW5jdGlvbnMnO1xuXG5leHBvcnQgdHlwZSBUaW55RGF0ZUNvbXBhcmVHcmFpbiA9ICdkZWNhZGUnIHwgJ3llYXInIHwgJ3F1YXJ0ZXInIHwgJ21vbnRoJyB8ICd3ZWVrJyB8ICdkYXknIHwgJ2hvdXInIHwgJ21pbnV0ZScgfCAnc2Vjb25kJztcblxuZXhwb3J0IHR5cGUgV2Vla0RheUluZGV4ID0gMCB8IDEgfCAyIHwgMyB8IDQgfCA1IHwgNjtcblxuZXhwb3J0IHR5cGUgVGlueURhdGVUeXBlID0gVGlueURhdGUgfCBEYXRlIHwgbnVsbDtcblxuZXhwb3J0IGZ1bmN0aW9uIHNvcnRSYW5nZVZhbHVlKHJhbmdlVmFsdWU6IFRpbnlEYXRlW10pOiBUaW55RGF0ZVtdIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShyYW5nZVZhbHVlKSkge1xuICAgICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSByYW5nZVZhbHVlO1xuICAgICAgICByZXR1cm4gc3RhcnQgJiYgZW5kICYmIHN0YXJ0LmlzQWZ0ZXJTZWNvbmQoZW5kKSA/IFtlbmQsIHN0YXJ0XSA6IFtzdGFydCwgZW5kXTtcbiAgICB9XG4gICAgcmV0dXJuIHJhbmdlVmFsdWU7XG59XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1RJTUVaT05FID0gJ0FzaWEvU2hhbmdoYWknO1xuXG5leHBvcnQgY2xhc3MgVGlueURhdGUgaW1wbGVtZW50cyBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICBuYXRpdmVEYXRlOiBEYXRlO1xuXG4gICAgcHJpdmF0ZSB1c2VUaW1lWm9uZTogc3RyaW5nO1xuXG4gICAgcHJvdGVjdGVkIHN0YXRpYyBkZWZhdWx0VGltZVpvbmU6IHN0cmluZyA9IERFRkFVTFRfVElNRVpPTkU7XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRlPzogRGF0ZSB8IHN0cmluZyB8IG51bWJlciwgem9uZT86IHN0cmluZykge1xuICAgICAgICB0aGlzLnVzZVRpbWVab25lID0gem9uZSB8fCBUaW55RGF0ZS5kZWZhdWx0VGltZVpvbmU7XG4gICAgICAgIGlmIChkYXRlKSB7XG4gICAgICAgICAgICBpZiAoZGF0ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdGl2ZURhdGUgPSBUaW55RGF0ZS51dGNUb1pvbmVkVGltZShkYXRlLCB0aGlzLnVzZVRpbWVab25lKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBkYXRlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgIHRoaXMubmF0aXZlRGF0ZSA9IG5ldyBUWkRhdGUoZGF0ZSBhcyBTYWZlQW55LCB0aGlzLnVzZVRpbWVab25lKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgICAgICBgVGhlIGlucHV0IGRhdGUgdHlwZSBpcyBub3Qgc3VwcG9ydGVkIGV4cGVjdCBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyIHwgeyBkYXRlOiBudW1iZXI7IHdpdGhfdGltZTogMCB8IDF9LCBhY3R1YWwgJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVcbiAgICAgICAgICAgICAgICAgICAgKX1gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRGF0ZSA9IG5ldyBUWkRhdGUoRGF0ZS5ub3coKSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgc2V0RGVmYXVsdFRpbWVab25lKHpvbmU6IHN0cmluZykge1xuICAgICAgICBUaW55RGF0ZS5kZWZhdWx0VGltZVpvbmUgPSB6b25lID8/IERFRkFVTFRfVElNRVpPTkU7XG4gICAgfVxuXG4gICAgc3RhdGljIHV0Y1RvWm9uZWRUaW1lKHZhbHVlOiBEYXRlIHwgbnVtYmVyLCB0aW1lWm9uZT86IHN0cmluZyk6IERhdGUge1xuICAgICAgICByZXR1cm4gVFpEYXRlLnR6KHRpbWVab25lIHx8IFRpbnlEYXRlLmRlZmF1bHRUaW1lWm9uZSwgdmFsdWUgYXMgYW55KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgY3JlYXRlRGF0ZUluVGltZVpvbmUoXG4gICAgICAgIHllYXI6IG51bWJlcixcbiAgICAgICAgbW9udGg6IG51bWJlcixcbiAgICAgICAgZGF5OiBudW1iZXIsXG4gICAgICAgIGhvdXJzOiBudW1iZXIsXG4gICAgICAgIG1pbnV0ZXM6IG51bWJlcixcbiAgICAgICAgc2Vjb25kczogbnVtYmVyLFxuICAgICAgICB0aW1lWm9uZT86IHN0cmluZ1xuICAgICk6IERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRaRGF0ZSh5ZWFyLCBtb250aCwgZGF5LCBob3VycywgbWludXRlcywgc2Vjb25kcywgdGltZVpvbmUgfHwgVGlueURhdGUuZGVmYXVsdFRpbWVab25lKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZnJvbVVuaXhUaW1lKHVuaXhUaW1lOiBudW1iZXIsIHRpbWVab25lPzogc3RyaW5nKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGZyb21Vbml4VGltZSh1bml4VGltZSksIHRpbWVab25lIHx8IFRpbnlEYXRlLmRlZmF1bHRUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgLy8gZ2V0XG4gICAgZ2V0VGltZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVEYXRlLmdldFRpbWUoKTtcbiAgICB9XG5cbiAgICBnZXREYXRlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZURhdGUuZ2V0RGF0ZSgpO1xuICAgIH1cblxuICAgIGdldFllYXIoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgIH1cblxuICAgIGdldFF1YXJ0ZXIoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGdldFF1YXJ0ZXIodGhpcy5uYXRpdmVEYXRlKTtcbiAgICB9XG5cbiAgICBnZXRNb250aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVEYXRlLmdldE1vbnRoKCk7XG4gICAgfVxuXG4gICAgZ2V0RnVsbFllYXIoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgIH1cblxuICAgIGdldFdlZWsob3B0aW9uczogeyBsb2NhbGU/OiBMb2NhbGU7IHdlZWtTdGFydHNPbj86IFdlZWtEYXlJbmRleCB9ID0geyB3ZWVrU3RhcnRzT246IDEgfSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBnZXRXZWVrKHRoaXMubmF0aXZlRGF0ZSwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgZ2V0RGF5KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZURhdGUuZ2V0RGF5KCk7XG4gICAgfVxuXG4gICAgZ2V0SG91cnMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRGF0ZS5nZXRIb3VycygpO1xuICAgIH1cblxuICAgIGdldE1pbnV0ZXMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRGF0ZS5nZXRNaW51dGVzKCk7XG4gICAgfVxuXG4gICAgZ2V0U2Vjb25kcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVEYXRlLmdldFNlY29uZHMoKTtcbiAgICB9XG5cbiAgICBnZXRNaWxsaXNlY29uZHMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRGF0ZS5nZXRNaWxsaXNlY29uZHMoKTtcbiAgICB9XG5cbiAgICBnZXREYXlzSW5Nb250aCgpIHtcbiAgICAgICAgcmV0dXJuIGdldERheXNJbk1vbnRoKHRoaXMubmF0aXZlRGF0ZSk7XG4gICAgfVxuXG4gICAgZ2V0RGF5c0luUXVhcnRlcigpIHtcbiAgICAgICAgcmV0dXJuIGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyh0aGlzLmVuZE9mUXVhcnRlcigpLmFkZFNlY29uZHMoMSkubmF0aXZlRGF0ZSwgdGhpcy5zdGFydE9mUXVhcnRlcigpLm5hdGl2ZURhdGUpO1xuICAgIH1cblxuICAgIC8vIHNldFxuICAgIHNldERhdGUoYW1vdW50OiBudW1iZXIpOiBUaW55RGF0ZSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLm5hdGl2ZURhdGUpO1xuICAgICAgICBkYXRlLnNldERhdGUoYW1vdW50KTtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShkYXRlLCB0aGlzLnVzZVRpbWVab25lKTtcbiAgICB9XG5cbiAgICBzZXRIbXMoaG91cjogbnVtYmVyLCBtaW51dGU6IG51bWJlciwgc2Vjb25kOiBudW1iZXIpOiBUaW55RGF0ZSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLm5hdGl2ZURhdGUpO1xuICAgICAgICBkYXRlLnNldEhvdXJzKGhvdXIsIG1pbnV0ZSwgc2Vjb25kKTtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShkYXRlLCB0aGlzLnVzZVRpbWVab25lKTtcbiAgICB9XG5cbiAgICBzZXRZZWFyKHllYXI6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzZXRZZWFyKHRoaXMubmF0aXZlRGF0ZSwgeWVhciksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIHNldE1vbnRoKG1vbnRoOiBudW1iZXIpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoc2V0TW9udGgodGhpcy5uYXRpdmVEYXRlLCBtb250aCksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIHNldFF1YXJ0ZXIocXVhcnRlcjogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKHNldFF1YXJ0ZXIodGhpcy5uYXRpdmVEYXRlLCBxdWFydGVyKSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgc2V0RGF5KGRheTogbnVtYmVyLCBvcHRpb25zPzogeyB3ZWVrU3RhcnRzT246IFdlZWtEYXlJbmRleCB9KTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKHNldERheSh0aGlzLm5hdGl2ZURhdGUsIGRheSwgb3B0aW9ucyksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIHNldEhvdXJzKGhvdXJzOiBudW1iZXIpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoc2V0SG91cnModGhpcy5uYXRpdmVEYXRlLCBob3VycyksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIHNldE1pbnV0ZXMobWludXRlczogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKHNldE1pbnV0ZXModGhpcy5uYXRpdmVEYXRlLCBtaW51dGVzKSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgc2V0U2Vjb25kcyhzZWNvbmRzOiBudW1iZXIpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoc2V0U2Vjb25kcyh0aGlzLm5hdGl2ZURhdGUsIHNlY29uZHMpLCB0aGlzLnVzZVRpbWVab25lKTtcbiAgICB9XG5cbiAgICAvLyBhZGRcbiAgICBhZGRZZWFycyhhbW91bnQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShhZGRZZWFycyh0aGlzLm5hdGl2ZURhdGUsIGFtb3VudCksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIGFkZFF1YXJ0ZXJzKGFtb3VudDogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGFkZFF1YXJ0ZXJzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgYWRkTW9udGhzKGFtb3VudDogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGFkZE1vbnRocyh0aGlzLm5hdGl2ZURhdGUsIGFtb3VudCksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIGFkZFdlZWtzKGFtb3VudDogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGFkZFdlZWtzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgYWRkRGF5cyhhbW91bnQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShhZGREYXlzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuICAgIGFkZEhvdXJzKGFtb3VudDogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGFkZEhvdXJzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgYWRkU2Vjb25kcyhhbW91bnQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShhZGRTZWNvbmRzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgYWRkTWludXRlcyhhbW91bnQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShhZGRNaW51dGVzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgLy8gaXNTYW1lXG5cbiAgICBpc1NhbWUoZGF0ZTogVGlueURhdGVUeXBlLCBncmFpbjogVGlueURhdGVDb21wYXJlR3JhaW4gPSAnZGF5Jyk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgZm47XG4gICAgICAgIHN3aXRjaCAoZ3JhaW4pIHtcbiAgICAgICAgICAgIGNhc2UgJ2RlY2FkZSc6XG4gICAgICAgICAgICAgICAgZm4gPSAocHJlOiBEYXRlLCBuZXh0OiBEYXRlKSA9PiBNYXRoLmFicyhwcmUuZ2V0RnVsbFllYXIoKSAtIG5leHQuZ2V0RnVsbFllYXIoKSkgPCAxMTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3llYXInOlxuICAgICAgICAgICAgICAgIGZuID0gaXNTYW1lWWVhcjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgICAgICAgICAgICBmbiA9IGlzU2FtZU1vbnRoO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncXVhcnRlcic6XG4gICAgICAgICAgICAgICAgZm4gPSBpc1NhbWVRdWFydGVyO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZGF5JzpcbiAgICAgICAgICAgICAgICBmbiA9IGlzU2FtZURheTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2hvdXInOlxuICAgICAgICAgICAgICAgIGZuID0gaXNTYW1lSG91cjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ21pbnV0ZSc6XG4gICAgICAgICAgICAgICAgZm4gPSBpc1NhbWVNaW51dGU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdzZWNvbmQnOlxuICAgICAgICAgICAgICAgIGZuID0gaXNTYW1lU2Vjb25kO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBmbiA9IGlzU2FtZURheTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZm4odGhpcy5uYXRpdmVEYXRlLCB0aGlzLnRvTmF0aXZlRGF0ZShkYXRlKSk7XG4gICAgfVxuXG4gICAgaXNTYW1lWWVhcihkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTYW1lKGRhdGUsICd5ZWFyJyk7XG4gICAgfVxuXG4gICAgaXNTYW1lTW9udGgoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzU2FtZShkYXRlLCAnbW9udGgnKTtcbiAgICB9XG5cbiAgICBpc1NhbWVRdWFydGVyKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1NhbWUoZGF0ZSwgJ3F1YXJ0ZXInKTtcbiAgICB9XG5cbiAgICBpc1NhbWVEYXkoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzU2FtZShkYXRlLCAnZGF5Jyk7XG4gICAgfVxuXG4gICAgaXNTYW1lSG91cihkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTYW1lKGRhdGUsICdob3VyJyk7XG4gICAgfVxuXG4gICAgaXNTYW1lTWludXRlKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1NhbWUoZGF0ZSwgJ21pbnV0ZScpO1xuICAgIH1cblxuICAgIGlzU2FtZVNlY29uZChkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTYW1lKGRhdGUsICdzZWNvbmQnKTtcbiAgICB9XG5cbiAgICAvLyBpc0JlZm9yZSBhbmQgaXNBZnRlclxuICAgIGlzQmVmb3JlWWVhcihkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAneWVhcicpO1xuICAgIH1cblxuICAgIGlzQmVmb3JlUXVhcnRlcihkYXRlOiBUaW55RGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdxdWFydGVyJyk7XG4gICAgfVxuXG4gICAgaXNCZWZvcmVNb250aChkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAnbW9udGgnKTtcbiAgICB9XG5cbiAgICBpc0JlZm9yZVdlZWsoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUoZGF0ZSwgJ3dlZWsnKTtcbiAgICB9XG5cbiAgICBpc0JlZm9yZURheShkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAnZGF5Jyk7XG4gICAgfVxuXG4gICAgaXNCZWZvcmVIb3VyKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdob3VyJyk7XG4gICAgfVxuXG4gICAgaXNCZWZvcmVNaW51dGUoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUoZGF0ZSwgJ21pbnV0ZScpO1xuICAgIH1cblxuICAgIGlzQmVmb3JlU2Vjb25kKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdzZWNvbmQnKTtcbiAgICB9XG5cbiAgICBpc0FmdGVyWWVhcihkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAneWVhcicsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBpc0FmdGVyUXVhcnRlcihkYXRlOiBUaW55RGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdxdWFydGVyJywgZmFsc2UpO1xuICAgIH1cblxuICAgIGlzQWZ0ZXJNb250aChkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAnbW9udGgnLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgaXNBZnRlcldlZWsoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUoZGF0ZSwgJ3dlZWsnLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgaXNBZnRlckRheShkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAnZGF5JywgZmFsc2UpO1xuICAgIH1cblxuICAgIGlzQWZ0ZXJIb3VyKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdob3VyJywgZmFsc2UpO1xuICAgIH1cblxuICAgIGlzQWZ0ZXJNaW51dGUoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUoZGF0ZSwgJ21pbnV0ZScsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBpc0FmdGVyU2Vjb25kKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdzZWNvbmQnLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gaXNcbiAgICBpc1dlZWtlbmQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc1dlZWtlbmQodGhpcy5uYXRpdmVEYXRlKTtcbiAgICB9XG5cbiAgICBpc1RvZGF5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaXNUb2RheSh0aGlzLm5hdGl2ZURhdGUpO1xuICAgIH1cblxuICAgIGlzVG9tb3Jyb3coKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc1RvbW9ycm93KHRoaXMubmF0aXZlRGF0ZSk7XG4gICAgfVxuXG4gICAgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzVmFsaWQodGhpcy5uYXRpdmVEYXRlKTtcbiAgICB9XG5cbiAgICAvLyBzdGFydE9mIGFuZCBlbmRPZlxuICAgIHN0YXJ0T2ZZZWFyKCk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzdGFydE9mWWVhcih0aGlzLm5hdGl2ZURhdGUpLCB0aGlzLnVzZVRpbWVab25lKTtcbiAgICB9XG5cbiAgICBzdGFydE9mUXVhcnRlcigpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoc3RhcnRPZlF1YXJ0ZXIodGhpcy5uYXRpdmVEYXRlKSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZk1vbnRoKCk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzdGFydE9mTW9udGgodGhpcy5uYXRpdmVEYXRlKSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZldlZWsob3B0aW9ucz86IHsgbG9jYWxlPzogTG9jYWxlOyB3ZWVrU3RhcnRzT24/OiBXZWVrRGF5SW5kZXggfSk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzdGFydE9mV2Vlayh0aGlzLm5hdGl2ZURhdGUsIG9wdGlvbnMpLCB0aGlzLnVzZVRpbWVab25lKTtcbiAgICB9XG5cbiAgICBzdGFydE9mRGF5KCk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzdGFydE9mRGF5KHRoaXMubmF0aXZlRGF0ZSksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIGVuZE9mWWVhcigpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoZW5kT2ZZZWFyKHRoaXMubmF0aXZlRGF0ZSksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIGVuZE9mUXVhcnRlcigpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoZW5kT2ZRdWFydGVyKHRoaXMubmF0aXZlRGF0ZSksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIGVuZE9mTW9udGgoKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGVuZE9mTW9udGgodGhpcy5uYXRpdmVEYXRlKSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgZW5kT2ZXZWVrKG9wdGlvbnM/OiB7IGxvY2FsZT86IExvY2FsZTsgd2Vla1N0YXJ0c09uPzogV2Vla0RheUluZGV4IH0pOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoZW5kT2ZXZWVrKHRoaXMubmF0aXZlRGF0ZSwgb3B0aW9ucyksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIGVuZE9mRGF5KCk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShlbmRPZkRheSh0aGlzLm5hdGl2ZURhdGUpLCB0aGlzLnVzZVRpbWVab25lKTtcbiAgICB9XG5cbiAgICAvLyBvdGhlclxuICAgIGZvcm1hdChcbiAgICAgICAgbWF0OiBzdHJpbmcsXG4gICAgICAgIG9wdGlvbnM/OiB7XG4gICAgICAgICAgICBsb2NhbGU/OiBMb2NhbGU7XG4gICAgICAgICAgICB3ZWVrU3RhcnRzT24/OiBXZWVrRGF5SW5kZXg7XG4gICAgICAgICAgICBmaXJzdFdlZWtDb250YWluc0RhdGU/OiBGaXJzdFdlZWtDb250YWluc0RhdGU7XG4gICAgICAgICAgICB1c2VBZGRpdGlvbmFsV2Vla1llYXJUb2tlbnM/OiBib29sZWFuO1xuICAgICAgICAgICAgdXNlQWRkaXRpb25hbERheU9mWWVhclRva2Vucz86IGJvb2xlYW47XG4gICAgICAgIH1cbiAgICApIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdCh0aGlzLm5hdGl2ZURhdGUsIG1hdCwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY2FsZW5kYXJTdGFydChvcHRpb25zPzogeyB3ZWVrU3RhcnRzT246IFdlZWtEYXlJbmRleCB8IHVuZGVmaW5lZCB9KTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKHN0YXJ0T2ZXZWVrKHN0YXJ0T2ZNb250aCh0aGlzLm5hdGl2ZURhdGUpLCBvcHRpb25zKSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgY2xvbmUoKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKG5ldyBEYXRlKHRoaXMubmF0aXZlRGF0ZSksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIGdldFVuaXhUaW1lKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBnZXRVbml4VGltZSh0aGlzLm5hdGl2ZURhdGUpO1xuICAgIH1cblxuICAgIGNvbXBhcmUoZGF0ZTogVGlueURhdGVUeXBlLCBncmFpbjogVGlueURhdGVDb21wYXJlR3JhaW4gPSAnZGF5JywgaXNCZWZvcmU6IGJvb2xlYW4gPSB0cnVlKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChkYXRlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGZuO1xuICAgICAgICBzd2l0Y2ggKGdyYWluKSB7XG4gICAgICAgICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgICAgICAgICBmbiA9IGRpZmZlcmVuY2VJbkNhbGVuZGFyWWVhcnM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdxdWFydGVyJzpcbiAgICAgICAgICAgICAgICBmbiA9IGRpZmZlcmVuY2VJbkNhbGVuZGFyUXVhcnRlcnM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdtb250aCc6XG4gICAgICAgICAgICAgICAgZm4gPSBkaWZmZXJlbmNlSW5DYWxlbmRhck1vbnRocztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2RheSc6XG4gICAgICAgICAgICAgICAgZm4gPSBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd3ZWVrJzpcbiAgICAgICAgICAgICAgICBmbiA9IGRpZmZlcmVuY2VJbldlZWtzO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnaG91cic6XG4gICAgICAgICAgICAgICAgZm4gPSBkaWZmZXJlbmNlSW5Ib3VycztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ21pbnV0ZSc6XG4gICAgICAgICAgICAgICAgZm4gPSBkaWZmZXJlbmNlSW5NaW51dGVzO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnc2Vjb25kJzpcbiAgICAgICAgICAgICAgICBmbiA9IGRpZmZlcmVuY2VJblNlY29uZHM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGZuID0gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0JlZm9yZSA/IGZuKHRoaXMubmF0aXZlRGF0ZSwgdGhpcy50b05hdGl2ZURhdGUoZGF0ZSkpIDwgMCA6IGZuKHRoaXMubmF0aXZlRGF0ZSwgdGhpcy50b05hdGl2ZURhdGUoZGF0ZSkpID4gMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvTmF0aXZlRGF0ZShkYXRlOiBhbnkpOiBEYXRlIHtcbiAgICAgICAgcmV0dXJuIGRhdGUgaW5zdGFuY2VvZiBUaW55RGF0ZSA/IGRhdGUubmF0aXZlRGF0ZSA6IGRhdGU7XG4gICAgfVxuXG4gICAgc3RhcnRPZklTT1dlZWsoKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKHN0YXJ0T2ZJU09XZWVrKHRoaXMubmF0aXZlRGF0ZSksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIGVuZE9mSVNPV2VlaygpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoZW5kT2ZJU09XZWVrKHRoaXMubmF0aXZlRGF0ZSksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIGRpZmZlcmVuY2VJbkRheXMoZGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBkaWZmZXJlbmNlSW5EYXlzKHRoaXMubmF0aXZlRGF0ZSwgZGF0ZSk7XG4gICAgfVxuXG4gICAgZGlmZmVyZW5jZUluSG91cnMoZGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBkaWZmZXJlbmNlSW5Ib3Vycyh0aGlzLm5hdGl2ZURhdGUsIGRhdGUpO1xuICAgIH1cblxuICAgIHN1YldlZWtzKGFtb3VudDogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKHN1YldlZWtzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgc3ViRGF5cyhhbW91bnQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzdWJEYXlzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxufVxuIl19
@@ -1,16 +1,16 @@
1
1
  export * from './date/functions';
2
2
  export * from './date/tiny-date';
3
- import * as helpers from './helpers/index';
3
+ export * from './dom';
4
4
  export * from './helpers/index';
5
- import * as dom from './dom';
6
5
  export { produce } from './immutable';
6
+ import * as dom from './dom';
7
+ import * as helpers from './helpers/index';
8
+ import * as keycodes from './keycodes';
7
9
  import * as references from './references';
8
- export * from './dom';
9
- export * from './references';
10
- export * from './ng';
11
10
  export { Producer } from './immutable';
12
- export * from './logger/index';
13
- import * as keycodes from './keycodes';
14
- export { helpers, dom, references, keycodes };
11
+ export * from './ng';
12
+ export * from './references';
15
13
  export * from './keycodes';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsT0FBTyxLQUFLLE9BQU8sTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLE9BQU8sS0FBSyxHQUFHLE1BQU0sT0FBTyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdEMsT0FBTyxLQUFLLFVBQVUsTUFBTSxjQUFjLENBQUM7QUFDM0MsY0FBYyxPQUFPLENBQUM7QUFFdEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxNQUFNLENBQUM7QUFDckIsT0FBTyxFQUE4RSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkgsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixPQUFPLEtBQUssUUFBUSxNQUFNLFlBQVksQ0FBQztBQUN2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLENBQUM7QUFDOUMsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RhdGUvZnVuY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZS90aW55LWRhdGUnO1xuaW1wb3J0ICogYXMgaGVscGVycyBmcm9tICcuL2hlbHBlcnMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzL2luZGV4JztcbmltcG9ydCAqIGFzIGRvbSBmcm9tICcuL2RvbSc7XG5leHBvcnQgeyBwcm9kdWNlIH0gZnJvbSAnLi9pbW11dGFibGUnO1xuaW1wb3J0ICogYXMgcmVmZXJlbmNlcyBmcm9tICcuL3JlZmVyZW5jZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9kb20nO1xuXG5leHBvcnQgKiBmcm9tICcuL3JlZmVyZW5jZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9uZyc7XG5leHBvcnQgeyBFbnRpdHlBZGRPcHRpb25zIGFzIEVudGl0eUFkZE9wdGlvbnMkMCwgRW50aXR5TW92ZU9wdGlvbnMsIFByb2R1Y2VyT3B0aW9ucywgUHJvZHVjZXIgfSBmcm9tICcuL2ltbXV0YWJsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbG9nZ2VyL2luZGV4JztcbmltcG9ydCAqIGFzIGtleWNvZGVzIGZyb20gJy4va2V5Y29kZXMnO1xuZXhwb3J0IHsgaGVscGVycywgZG9tLCByZWZlcmVuY2VzLCBrZXljb2RlcyB9O1xuZXhwb3J0ICogZnJvbSAnLi9rZXljb2Rlcyc7XG4iXX0=
14
+ export * from './logger/index';
15
+ export { dom, helpers, keycodes, references };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sS0FBSyxHQUFHLE1BQU0sT0FBTyxDQUFDO0FBQzdCLE9BQU8sS0FBSyxPQUFPLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxLQUFLLFFBQVEsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxLQUFLLFVBQVUsTUFBTSxjQUFjLENBQUM7QUFFM0MsT0FBTyxFQUE2RCxRQUFRLEVBQW1CLE1BQU0sYUFBYSxDQUFDO0FBQ25ILGNBQWMsTUFBTSxDQUFDO0FBQ3JCLGNBQWMsY0FBYyxDQUFDO0FBRTdCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsT0FBTyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRlL2Z1bmN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUvdGlueS1kYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vZG9tJztcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycy9pbmRleCc7XG5leHBvcnQgeyBwcm9kdWNlIH0gZnJvbSAnLi9pbW11dGFibGUnO1xuaW1wb3J0ICogYXMgZG9tIGZyb20gJy4vZG9tJztcbmltcG9ydCAqIGFzIGhlbHBlcnMgZnJvbSAnLi9oZWxwZXJzL2luZGV4JztcbmltcG9ydCAqIGFzIGtleWNvZGVzIGZyb20gJy4va2V5Y29kZXMnO1xuaW1wb3J0ICogYXMgcmVmZXJlbmNlcyBmcm9tICcuL3JlZmVyZW5jZXMnO1xuXG5leHBvcnQgeyBFbnRpdHlBZGRPcHRpb25zIGFzIEVudGl0eUFkZE9wdGlvbnMkMCwgRW50aXR5TW92ZU9wdGlvbnMsIFByb2R1Y2VyLCBQcm9kdWNlck9wdGlvbnMgfSBmcm9tICcuL2ltbXV0YWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL25nJztcbmV4cG9ydCAqIGZyb20gJy4vcmVmZXJlbmNlcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4va2V5Y29kZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2dnZXIvaW5kZXgnO1xuZXhwb3J0IHsgZG9tLCBoZWxwZXJzLCBrZXljb2RlcywgcmVmZXJlbmNlcyB9O1xuIl19
@@ -1,3 +1,3 @@
1
1
  import { Version } from '@angular/core';
2
- export const VERSION = new Version('18.2.4');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVyc2lvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IG5ldyBWZXJzaW9uKCcxOC4yLjQnKTtcbiJdfQ==
2
+ export const VERSION = new Version('18.2.6');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVyc2lvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IG5ldyBWZXJzaW9uKCcxOC4yLjYnKTtcbiJdfQ==
@@ -90,10 +90,10 @@ export class ThyVote {
90
90
  classNames.push(`thy-vote-${this._layout}-size-${this._size}`);
91
91
  this.hostRenderer.updateClass(classNames);
92
92
  }
93
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyVote, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
94
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyVote, isStandalone: true, selector: "thy-vote,[thyVote]", inputs: { thySize: "thySize", thyVote: "thyVote", thyRound: ["thyRound", "thyRound", coerceBooleanProperty], thyLayout: "thyLayout", thyVoteCount: "thyVoteCount", thyIcon: "thyIcon", thyHasVoted: ["thyHasVoted", "thyHasVoted", coerceBooleanProperty], thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty] }, host: { properties: { "class.thy-vote-disabled": "thyDisabled", "class.thy-vote": "this.class", "class.has-voted": "this._hasVoted" } }, queries: [{ propertyName: "voteIcon", first: true, predicate: ["voteIcon"], descendants: true }], ngImport: i0, template: "@if (voteIcon) {\n <ng-container [ngTemplateOutlet]=\"voteIcon\"></ng-container>\n} @else {\n <thy-icon [thyIconName]=\"thyIcon\" [thyIconType]=\"_hasVoted ? 'fill' : ''\"></thy-icon>\n}\n<div>{{ thyVoteCount }}</div>\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
93
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyVote, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
94
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ThyVote, isStandalone: true, selector: "thy-vote,[thyVote]", inputs: { thySize: "thySize", thyVote: "thyVote", thyRound: ["thyRound", "thyRound", coerceBooleanProperty], thyLayout: "thyLayout", thyVoteCount: "thyVoteCount", thyIcon: "thyIcon", thyHasVoted: ["thyHasVoted", "thyHasVoted", coerceBooleanProperty], thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty] }, host: { properties: { "class.thy-vote-disabled": "thyDisabled", "class.thy-vote": "this.class", "class.has-voted": "this._hasVoted" } }, queries: [{ propertyName: "voteIcon", first: true, predicate: ["voteIcon"], descendants: true }], ngImport: i0, template: "@if (voteIcon) {\n <ng-container [ngTemplateOutlet]=\"voteIcon\"></ng-container>\n} @else {\n <thy-icon [thyIconName]=\"thyIcon\" [thyIconType]=\"_hasVoted ? 'fill' : ''\"></thy-icon>\n}\n<div>{{ thyVoteCount }}</div>\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
95
95
  }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyVote, decorators: [{
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyVote, decorators: [{
97
97
  type: Component,
98
98
  args: [{ selector: 'thy-vote,[thyVote]', host: {
99
99
  '[class.thy-vote-disabled]': `thyDisabled`
@@ -127,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
127
127
  type: ContentChild,
128
128
  args: ['voteIcon']
129
129
  }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm90ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdm90ZS92b3RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy92b3RlL3ZvdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFReEQ7Ozs7R0FJRztBQVVILE1BQU0sT0FBTyxPQUFPO0lBZWhCOzs7T0FHRztJQUNILElBQ0ksT0FBTyxDQUFDLEtBQW1CO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDSSxPQUFPLENBQUMsS0FBa0I7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFRRDs7O09BR0c7SUFDSCxJQUNJLFNBQVMsQ0FBQyxLQUFvQjtRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUs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aW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcblxuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbmV4cG9ydCB0eXBlIFRoeVZvdGVTaXplcyA9ICdkZWZhdWx0JyB8ICdzbSc7XG5cbmV4cG9ydCB0eXBlIFRoeVZvdGVUeXBlID0gJ3ByaW1hcnknIHwgJ3N1Y2Nlc3MnIHwgJ3ByaW1hcnktd2VhaycgfCAnc3VjY2Vzcy13ZWFrJztcblxuZXhwb3J0IHR5cGUgVGh5Vm90ZUxheW91dCA9ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCc7XG5cbi8qKlxuICog5oqV56Wo57uE5Lu2XG4gKiBAbmFtZSB0aHktdm90ZSxbdGh5Vm90ZV1cbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS12b3RlLFt0aHlWb3RlXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3ZvdGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy50aHktdm90ZS1kaXNhYmxlZF0nOiBgdGh5RGlzYWJsZWRgXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtUaHlJY29uLCBOZ1RlbXBsYXRlT3V0bGV0XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlWb3RlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBfc2l6ZTogVGh5Vm90ZVNpemVzO1xuXG4gICAgX3R5cGU6IFRoeVZvdGVUeXBlO1xuXG4gICAgX2xheW91dDogVGh5Vm90ZUxheW91dDtcblxuICAgIF9pbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBob3N0UmVuZGVyZXIgPSB1c2VIb3N0UmVuZGVyZXIoKTtcblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MudGh5LXZvdGVgKSBjbGFzcyA9IHRydWU7XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLmhhcy12b3RlZGApIF9oYXNWb3RlZCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDlpKflsI/vvIx0aHlMYXlvdXQ9XCJ2ZXJ0aWNhbFwiIOaXtu+8jOaUr+aMgTogc20gfCBkZWZhdWx0XG4gICAgICogQGRlZmF1bHQgZGVmYXVsdFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVNpemUodmFsdWU6IFRoeVZvdGVTaXplcykge1xuICAgICAgICB0aGlzLl9zaXplID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5fc2V0Q2xhc3Nlc0J5VHlwZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5qCH562+57G75Z6LOiBwcmltYXJ5IHwgc3VjY2VzcyB8IHByaW1hcnktd2VhayB8IHN1Y2Nlc3Mtd2Vha1xuICAgICAqIEBkZWZhdWx0IHByaW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlWb3RlKHZhbHVlOiBUaHlWb3RlVHlwZSkge1xuICAgICAgICB0aGlzLl90eXBlID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5fc2V0Q2xhc3Nlc0J5VHlwZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5piv5YGP5ZyG5Z6LXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlSb3VuZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOW4g+WxgDogaG9yaXpvbnRhbCB8IHZlcnRpY2FsXG4gICAgICogQGRlZmF1bHQgaG9yaXpvbnRhbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUxheW91dCh2YWx1ZTogVGh5Vm90ZUxheW91dCkge1xuICAgICAgICB0aGlzLl9sYXlvdXQgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuX2luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRDbGFzc2VzQnlUeXBlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDotZ7lkIznmoTmlbDph49cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlWb3RlQ291bnQ6IG51bWJlciB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOWbvuagh1xuICAgICAqIEB0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUljb24gPSAndGh1bWItdXAnO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm6LWe5ZCMXG4gICAgICogQHR5cGUgYm9vbGVhblxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBzZXQgdGh5SGFzVm90ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faGFzVm90ZWQgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuX2luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRDbGFzc2VzQnlUeXBlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbnpoHnlKhcbiAgICAgKiBAdHlwZSBib29sZWFuXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5RGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOiHquWumuS5iUljb27mqKHmnb9cbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ3ZvdGVJY29uJykgdm90ZUljb246IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5fc2V0Q2xhc3Nlc0J5VHlwZSgpO1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuXG4gICAgX3NldENsYXNzZXNCeVR5cGUoKSB7XG4gICAgICAgIGNvbnN0IGNsYXNzTmFtZXMgPSBbXTtcbiAgICAgICAgaWYgKCF0aGlzLl90eXBlKSB7XG4gICAgICAgICAgICB0aGlzLl90eXBlID0gJ3ByaW1hcnknO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5fbGF5b3V0KSB7XG4gICAgICAgICAgICB0aGlzLl9sYXlvdXQgPSAnaG9yaXpvbnRhbCc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLl9zaXplKSB7XG4gICAgICAgICAgICB0aGlzLl9zaXplID0gJ2RlZmF1bHQnO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnRoeVJvdW5kKSB7XG4gICAgICAgICAgICBjbGFzc05hbWVzLnB1c2goJ3RoeS12b3RlLXJvdW5kJyk7XG4gICAgICAgIH1cbiAgICAgICAgY2xhc3NOYW1lcy5wdXNoKGB0aHktdm90ZS0ke3RoaXMuX3R5cGV9YCk7XG4gICAgICAgIGNsYXNzTmFtZXMucHVzaChgdGh5LXZvdGUtJHt0aGlzLl9sYXlvdXR9YCk7XG4gICAgICAgIGNsYXNzTmFtZXMucHVzaChgdGh5LXZvdGUtJHt0aGlzLl9sYXlvdXR9LXNpemUtJHt0aGlzLl9zaXplfWApO1xuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzcyhjbGFzc05hbWVzKTtcbiAgICB9XG59XG4iLCJAaWYgKHZvdGVJY29uKSB7XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidm90ZUljb25cIj48L25nLWNvbnRhaW5lcj5cbn0gQGVsc2Uge1xuICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cInRoeUljb25cIiBbdGh5SWNvblR5cGVdPVwiX2hhc1ZvdGVkID8gJ2ZpbGwnIDogJydcIj48L3RoeS1pY29uPlxufVxuPGRpdj57eyB0aHlWb3RlQ291bnQgfX08L2Rpdj5cbiJdfQ==
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm90ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdm90ZS92b3RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy92b3RlL3ZvdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFReEQ7Ozs7R0FJRztBQVVILE1BQU0sT0FBTyxPQUFPO0lBZWhCOzs7T0FHRztJQUNILElBQ0ksT0FBTyxDQUFDLEtBQW1CO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDSSxPQUFPLENBQUMsS0FBa0I7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFRRDs7O09BR0c7SUFDSCxJQUNJLFNBQVMsQ0FBQyxLQUFvQjtRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUs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aW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcblxuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbmV4cG9ydCB0eXBlIFRoeVZvdGVTaXplcyA9ICdkZWZhdWx0JyB8ICdzbSc7XG5cbmV4cG9ydCB0eXBlIFRoeVZvdGVUeXBlID0gJ3ByaW1hcnknIHwgJ3N1Y2Nlc3MnIHwgJ3ByaW1hcnktd2VhaycgfCAnc3VjY2Vzcy13ZWFrJztcblxuZXhwb3J0IHR5cGUgVGh5Vm90ZUxheW91dCA9ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCc7XG5cbi8qKlxuICog5oqV56Wo57uE5Lu2XG4gKiBAbmFtZSB0aHktdm90ZSxbdGh5Vm90ZV1cbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS12b3RlLFt0aHlWb3RlXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3ZvdGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy50aHktdm90ZS1kaXNhYmxlZF0nOiBgdGh5RGlzYWJsZWRgXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtUaHlJY29uLCBOZ1RlbXBsYXRlT3V0bGV0XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlWb3RlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBfc2l6ZTogVGh5Vm90ZVNpemVzO1xuXG4gICAgX3R5cGU6IFRoeVZvdGVUeXBlO1xuXG4gICAgX2xheW91dDogVGh5Vm90ZUxheW91dDtcblxuICAgIF9pbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBob3N0UmVuZGVyZXIgPSB1c2VIb3N0UmVuZGVyZXIoKTtcblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MudGh5LXZvdGVgKSBjbGFzcyA9IHRydWU7XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLmhhcy12b3RlZGApIF9oYXNWb3RlZCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDlpKflsI/vvIx0aHlMYXlvdXQ9XCJ2ZXJ0aWNhbFwiIOaXtu+8jOaUr+aMgTogc20gfCBkZWZhdWx0XG4gICAgICogQGRlZmF1bHQgZGVmYXVsdFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVNpemUodmFsdWU6IFRoeVZvdGVTaXplcykge1xuICAgICAgICB0aGlzLl9zaXplID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5fc2V0Q2xhc3Nlc0J5VHlwZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5qCH562+57G75Z6LOiBwcmltYXJ5IHwgc3VjY2VzcyB8IHByaW1hcnktd2VhayB8IHN1Y2Nlc3Mtd2Vha1xuICAgICAqIEBkZWZhdWx0IHByaW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlWb3RlKHZhbHVlOiBUaHlWb3RlVHlwZSkge1xuICAgICAgICB0aGlzLl90eXBlID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5fc2V0Q2xhc3Nlc0J5VHlwZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5piv5YGP5ZyG5Z6LXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlSb3VuZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOW4g+WxgDogaG9yaXpvbnRhbCB8IHZlcnRpY2FsXG4gICAgICogQGRlZmF1bHQgaG9yaXpvbnRhbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUxheW91dCh2YWx1ZTogVGh5Vm90ZUxheW91dCkge1xuICAgICAgICB0aGlzLl9sYXlvdXQgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuX2luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRDbGFzc2VzQnlUeXBlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDotZ7lkIznmoTmlbDph49cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlWb3RlQ291bnQ6IG51bWJlciB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOWbvuagh1xuICAgICAqIEB0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUljb24gPSAndGh1bWItdXAnO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm6LWe5ZCMXG4gICAgICogQHR5cGUgYm9vbGVhblxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBzZXQgdGh5SGFzVm90ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faGFzVm90ZWQgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuX2luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRDbGFzc2VzQnlUeXBlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbnpoHnlKhcbiAgICAgKiBAdHlwZSBib29sZWFuXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5RGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOiHquWumuS5iUljb27mqKHmnb9cbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ3ZvdGVJY29uJykgdm90ZUljb246IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5fc2V0Q2xhc3Nlc0J5VHlwZSgpO1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuXG4gICAgX3NldENsYXNzZXNCeVR5cGUoKSB7XG4gICAgICAgIGNvbnN0IGNsYXNzTmFtZXMgPSBbXTtcbiAgICAgICAgaWYgKCF0aGlzLl90eXBlKSB7XG4gICAgICAgICAgICB0aGlzLl90eXBlID0gJ3ByaW1hcnknO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5fbGF5b3V0KSB7XG4gICAgICAgICAgICB0aGlzLl9sYXlvdXQgPSAnaG9yaXpvbnRhbCc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLl9zaXplKSB7XG4gICAgICAgICAgICB0aGlzLl9zaXplID0gJ2RlZmF1bHQnO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnRoeVJvdW5kKSB7XG4gICAgICAgICAgICBjbGFzc05hbWVzLnB1c2goJ3RoeS12b3RlLXJvdW5kJyk7XG4gICAgICAgIH1cbiAgICAgICAgY2xhc3NOYW1lcy5wdXNoKGB0aHktdm90ZS0ke3RoaXMuX3R5cGV9YCk7XG4gICAgICAgIGNsYXNzTmFtZXMucHVzaChgdGh5LXZvdGUtJHt0aGlzLl9sYXlvdXR9YCk7XG4gICAgICAgIGNsYXNzTmFtZXMucHVzaChgdGh5LXZvdGUtJHt0aGlzLl9sYXlvdXR9LXNpemUtJHt0aGlzLl9zaXplfWApO1xuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzcyhjbGFzc05hbWVzKTtcbiAgICB9XG59XG4iLCJAaWYgKHZvdGVJY29uKSB7XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidm90ZUljb25cIj48L25nLWNvbnRhaW5lcj5cbn0gQGVsc2Uge1xuICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cInRoeUljb25cIiBbdGh5SWNvblR5cGVdPVwiX2hhc1ZvdGVkID8gJ2ZpbGwnIDogJydcIj48L3RoeS1pY29uPlxufVxuPGRpdj57eyB0aHlWb3RlQ291bnQgfX08L2Rpdj5cbiJdfQ==
@@ -5,11 +5,11 @@ import { ThyVote } from './vote.component';
5
5
  import { ThyIconModule } from 'ngx-tethys/icon';
6
6
  import * as i0 from "@angular/core";
7
7
  export class ThyVoteModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyVoteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: ThyVoteModule, imports: [CommonModule, ThySharedModule, ThyIconModule, ThyVote], exports: [ThyVote] }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyVoteModule, imports: [CommonModule, ThySharedModule, ThyIconModule, ThyVote] }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyVoteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ThyVoteModule, imports: [CommonModule, ThySharedModule, ThyIconModule, ThyVote], exports: [ThyVote] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyVoteModule, imports: [CommonModule, ThySharedModule, ThyIconModule, ThyVote] }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyVoteModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyVoteModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  imports: [CommonModule, ThySharedModule, ThyIconModule, ThyVote],
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
17
17
  providers: []
18
18
  }]
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm90ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdm90ZS92b3RlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFNaEQsTUFBTSxPQUFPLGFBQWE7OEdBQWIsYUFBYTsrR0FBYixhQUFhLFlBSlosWUFBWSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsT0FBTyxhQUNyRCxPQUFPOytHQUdSLGFBQWEsWUFKWixZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPOzsyRkFJdEQsYUFBYTtrQkFMekIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUM7b0JBQ2hFLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsU0FBUyxFQUFFLEVBQUU7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlTaGFyZWRNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3NoYXJlZCc7XG5pbXBvcnQgeyBUaHlWb3RlIH0gZnJvbSAnLi92b3RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlJY29uTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVGh5U2hhcmVkTW9kdWxlLCBUaHlJY29uTW9kdWxlLCBUaHlWb3RlXSxcbiAgICBleHBvcnRzOiBbVGh5Vm90ZV0sXG4gICAgcHJvdmlkZXJzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlWb3RlTW9kdWxlIHt9XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm90ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdm90ZS92b3RlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFNaEQsTUFBTSxPQUFPLGFBQWE7K0dBQWIsYUFBYTtnSEFBYixhQUFhLFlBSlosWUFBWSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsT0FBTyxhQUNyRCxPQUFPO2dIQUdSLGFBQWEsWUFKWixZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPOzs0RkFJdEQsYUFBYTtrQkFMekIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUM7b0JBQ2hFLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsU0FBUyxFQUFFLEVBQUU7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlTaGFyZWRNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3NoYXJlZCc7XG5pbXBvcnQgeyBUaHlWb3RlIH0gZnJvbSAnLi92b3RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlJY29uTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVGh5U2hhcmVkTW9kdWxlLCBUaHlJY29uTW9kdWxlLCBUaHlWb3RlXSxcbiAgICBleHBvcnRzOiBbVGh5Vm90ZV0sXG4gICAgcHJvdmlkZXJzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlWb3RlTW9kdWxlIHt9XG4iXX0=
@@ -158,10 +158,10 @@ export class ThyWatermarkDirective {
158
158
  };
159
159
  });
160
160
  }
161
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyWatermarkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
162
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.0", type: ThyWatermarkDirective, isStandalone: true, selector: "[thyWatermark]", inputs: { thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty], thyWatermark: "thyWatermark", thyCanvasConfig: "thyCanvasConfig" }, usesOnChanges: true, ngImport: i0 }); }
161
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyWatermarkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
162
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.13", type: ThyWatermarkDirective, isStandalone: true, selector: "[thyWatermark]", inputs: { thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty], thyWatermark: "thyWatermark", thyCanvasConfig: "thyCanvasConfig" }, usesOnChanges: true, ngImport: i0 }); }
163
163
  }
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyWatermarkDirective, decorators: [{
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyWatermarkDirective, decorators: [{
165
165
  type: Directive,
166
166
  args: [{
167
167
  selector: '[thyWatermark]',
@@ -175,4 +175,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
175
175
  }], thyCanvasConfig: [{
176
176
  type: Input
177
177
  }] } });
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJtYXJrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93YXRlcm1hcmsvd2F0ZXJtYXJrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQW9DLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNILE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBNkJoRDs7O0dBR0c7QUFLSCxNQUFNLE9BQU8scUJBQXFCO0lBVTlCOztPQUVHO0lBQ0gsSUFDSSxZQUFZLENBQUMsS0FBYTtRQUMxQixLQUFLLEdBQUcsS0FBSyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBbUJEO1FBbkNRLE9BQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEM7O1dBRUc7UUFFSCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQWlCckIscUJBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQVFoQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXpDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRzFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQ2xELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzVCLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQzNFLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtxQkFDbkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztxQkFDekMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLE1BQU0sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzlDLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxFQUFFO1lBQzVCLElBQUksWUFBWSxDQUFDLFdBQVc7Z0JBQUUsT0FBTztZQUNyQyxJQUFJLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDNUIsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUNGLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxFQUFFO1lBQzNCLElBQUksV0FBVyxDQUFDLFdBQVc7Z0JBQUUsT0FBTztZQUNwQyxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2pGLENBQUMsQ0FBQztRQUNGLFlBQVksSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3JDLFdBQVcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxnQkFBZ0I7UUFDcEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sZUFBZTtRQUNuQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDdEIsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FBRztZQUN0RCxHQUFHLHFCQUFxQjtZQUN4QixHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUM7U0FDbEMsQ0FBQztRQUNGLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVqRCxNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUNsQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFcEMsTUFBTSxXQUFXLEdBQUcsR0FBRyxFQUFFO1lBQ3JCLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUMsTUFBTSxZQUFZLEdBQUc7Z0JBQ2pCLFFBQVEsRUFBRSxVQUFVO2dCQUNwQixHQUFHLEVBQUUsQ0FBQztnQkFDTixJQUFJLEVBQUUsQ0FBQztnQkFDUCxPQUFPLEVBQUUsY0FBYztnQkFDdkIsV0FBVyxFQUFFLEdBQUcsVUFBVSxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsSUFBSTtnQkFDN0MsV0FBVyxFQUFFLFlBQVk7Z0JBQ3pCLGFBQWEsRUFBRSxTQUFTO2dCQUN4QixhQUFhLEVBQUUsVUFBVTthQUM1QixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdkgsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFeEMsT0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDN0QsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDaEcsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUMxRCxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUM7UUFDRixNQUFNLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsV0FBVyxFQUFFLENBQUM7UUFFckUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUN2QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLFlBQVksR0FBRyxhQUFhLENBQUM7UUFFcEUsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDeEUsTUFBTSxXQUFXLEdBQUcsS0FBSyxHQUFHLFlBQVksQ0FBQztRQUN6QyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMzRCxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFLEdBQUcsQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUU3RCxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsVUFBVSxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsb0JBQW9CLENBQUM7UUFDNUQsR0FBRyxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDekIsR0FBRyxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDekIsR0FBRyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDcEIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxXQUFXLEdBQUcsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3pHLEtBQUssSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLGNBQWMsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxlQUFlLENBQUMsU0FBUyxHQUFHLElBQUk7UUFDcEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWpFLE1BQU0sVUFBVSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDMUYsTUFBTSxjQUFjLEdBQUc7WUFDbkIsR0FBRyx3QkFBd0I7WUFDM0Isa0JBQWtCLEVBQUUsT0FBTyxVQUFVLEdBQUc7U0FDM0MsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNILFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRTdDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztZQUN6QyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQztZQUMxQixVQUFVLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVPLGlCQUFpQjtRQUNyQixJQUFJLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDNUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQW9CLENBQUM7WUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLHVCQUF1QixFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQzFGLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUM5QixVQUFVLEVBQUUsSUFBSTtpQkFDbkIsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDNUQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ2IsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQztvQkFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQixPQUFPLEdBQUcsRUFBRTtnQkFDUixJQUFJLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0F0TFEscUJBQXFCO2tHQUFyQixxQkFBcUIsd0dBTVYscUJBQXFCOzsyRkFOaEMscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjt3REFRRyxXQUFXO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBUXZDLFlBQVk7c0JBRGYsS0FBSztnQkFTRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgRWxlbWVudFJlZiwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLCBPbkNoYW5nZXMsIGluamVjdCwgRGVzdHJveVJlZiwgZWZmZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBERUZBVUxUX1dBVEVSTUFSS19DT05GSUcsIERFRkFVTFRfQ0FOVkFTX0NPTkZJRyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IE11dGF0aW9uT2JzZXJ2ZXJGYWN0b3J5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL29ic2VydmVycyc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgVGh5VGhlbWVTdG9yZSB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5cbi8qKlxuICogQHB1YmxpY1xuICog5rC05Y2w5qC35byP6YWN572uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGh5Q2FudmFzQ29uZmlnVHlwZSB7XG4gICAgLyoqXG4gICAgICog5YGP56e76KeS5bqmXG4gICAgICovXG4gICAgZGVncmVlPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIOWtl+S9k+minOiJsuOAguWmguaenOS8oOeahOaYr+aVsOe7hO+8jOesrOS4gOS4quS4uum7mOiupOS4u+mimOeahOWtl+S9k+minOiJsu+8jOesrOS6jOS4quS4uum7keaal+S4u+mimOeahOWtl+S9k+minOiJslxuICAgICAqL1xuICAgIGNvbG9yPzogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgLyoqXG4gICAgICog5a2X5L2T5aSn5bCPXG4gICAgICovXG4gICAgZm9udFNpemU/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgLyoqXG4gICAgICog5paH5pys6KGM6auYXG4gICAgICovXG4gICAgdGV4dExpbmVIZWlnaHQ/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICog5qiq57q16Ze06LedXG4gICAgICovXG4gICAgZ3V0dGVyPzogbnVtYmVyW107XG59XG5cbi8qKlxuICog5rC05Y2w5oyH5LukXG4gKiBAbmFtZSB0aHlXYXRlcm1hcmtcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdGh5V2F0ZXJtYXJrXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaHlXYXRlcm1hcmtEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSBlbCA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuemgeeUqO+8jOm7mOiupOS4uiBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgdGh5RGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnRlbnQ6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiDmsLTljbDlhoXlrrlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlXYXRlcm1hcmsodmFsdWU6IHN0cmluZykge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlPy5yZXBsYWNlKC9eXFxcInxcXFwiJC9nLCAnJyk7XG4gICAgICAgIHRoaXMuY29udGVudCA9ICEhdmFsdWUgPyB2YWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOawtOWNsOagt+W8j+mFjee9rlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNhbnZhc0NvbmZpZzogVGh5Q2FudmFzQ29uZmlnVHlwZTtcblxuICAgIHByaXZhdGUgY3JlYXRlV2F0ZXJtYXJrJCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAgIHByaXZhdGUgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgICBwcml2YXRlIGNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQ7XG5cbiAgICBwcml2YXRlIHdtRGl2OiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIHByaXZhdGUgdGh5VGhlbWVTdG9yZSA9IGluamVjdChUaHlUaGVtZVN0b3JlKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnRoeURpc2FibGVkICYmIHRoaXMudGh5VGhlbWVTdG9yZS50aGVtZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoV2F0ZXJtYXJrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAoIXRoaXMudGh5RGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlV2F0ZXJtYXJrJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub2JzZXJ2ZUF0dHJpYnV0ZXMoKVxuICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7fSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5jcmVhdGVXYXRlcm1hcmsoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyB0aHlXYXRlcm1hcmssIHRoeURpc2FibGVkIH0gPSBjaGFuZ2VzO1xuICAgICAgICBjb25zdCB0aHlXYXRlcm1hcmtDaGFuZ2UgPSAoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGh5V2F0ZXJtYXJrLmZpcnN0Q2hhbmdlKSByZXR1cm47XG4gICAgICAgICAgICBpZiAodGh5V2F0ZXJtYXJrLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaFdhdGVybWFyaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCB0aHlEaXNhYmxlZENoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aHlEaXNhYmxlZC5maXJzdENoYW5nZSkgcmV0dXJuO1xuICAgICAgICAgICAgdGh5RGlzYWJsZWQ/LmN1cnJlbnRWYWx1ZSA/IHRoaXMucmVtb3ZlV2F0ZXJtYXJrKCkgOiB0aGlzLnJlZnJlc2hXYXRlcm1hcmsoKTtcbiAgICAgICAgfTtcbiAgICAgICAgdGh5V2F0ZXJtYXJrICYmIHRoeVdhdGVybWFya0NoYW5nZSgpO1xuICAgICAgICB0aHlEaXNhYmxlZCAmJiB0aHlEaXNhYmxlZENoYW5nZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVmcmVzaFdhdGVybWFyaygpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVXYXRlcm1hcmsoKTtcbiAgICAgICAgdGhpcy5jcmVhdGVXYXRlcm1hcmsoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZVdhdGVybWFyaygpIHtcbiAgICAgICAgaWYgKHRoaXMud21EaXYpIHtcbiAgICAgICAgICAgIHRoaXMud21EaXYucmVtb3ZlKCk7XG4gICAgICAgICAgICB0aGlzLndtRGl2ID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNyZWF0ZUNhbnZhcygpIHtcbiAgICAgICAgbGV0IHsgZ3V0dGVyLCBmb250U2l6ZSwgY29sb3IsIGRlZ3JlZSwgdGV4dExpbmVIZWlnaHQgfSA9IHtcbiAgICAgICAgICAgIC4uLkRFRkFVTFRfQ0FOVkFTX0NPTkZJRyxcbiAgICAgICAgICAgIC4uLih0aGlzLnRoeUNhbnZhc0NvbmZpZyB8fCB7fSlcbiAgICAgICAgfTtcbiAgICAgICAgY29sb3IgPSB0aGlzLnRoeVRoZW1lU3RvcmUubm9ybWFsaXplQ29sb3IoY29sb3IpO1xuXG4gICAgICAgIGNvbnN0IFt4R3V0dGVyLCB5R3V0dGVyXSA9IGd1dHRlcjtcbiAgICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuXG4gICAgICAgIGNvbnN0IGdldEZha2VTaXplID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmFrZUJveCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgICAgY29uc3QgZmFrZUJveFN0eWxlID0ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICAgICAgICAgICdmb250LXNpemUnOiBgJHtwYXJzZUZsb2F0KCcnICsgZm9udFNpemUpfXB4YCxcbiAgICAgICAgICAgICAgICAnd29yZC13cmFwJzogJ2JyZWFrLXdvcmQnLFxuICAgICAgICAgICAgICAgICdmb250LWZhbWlseSc6ICdpbmhlcml0JyxcbiAgICAgICAgICAgICAgICAnd2hpdGUtc3BhY2UnOiAncHJlLWxpbmUnXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3Qgc3R5bGVTdHIgPSBPYmplY3Qua2V5cyhmYWtlQm94U3R5bGUpLnJlZHVjZSgocHJlLCBuZXh0KSA9PiAoKHByZSArPSBgJHtuZXh0fToke2Zha2VCb3hTdHlsZVtuZXh0XX07YCksIHByZSksICcnKTtcbiAgICAgICAgICAgIGZha2VCb3guc2V0QXR0cmlidXRlKCdzdHlsZScsIHN0eWxlU3RyKTtcblxuICAgICAgICAgICAgZmFrZUJveC5pbm5lckhUTUwgPSB0aGlzLmNvbnRlbnQucmVwbGFjZSgvKFxcXFxuKS9nbSwgJzwvYnI+Jyk7XG4gICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5JykuaW5zZXJ0QmVmb3JlKGZha2VCb3gsIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHknKS5maXJzdENoaWxkKTtcbiAgICAgICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gZmFrZUJveC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGZha2VCb3gucmVtb3ZlKCk7XG4gICAgICAgICAgICByZXR1cm4geyB3aWR0aCwgaGVpZ2h0IH07XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHsgd2lkdGg6IGZha2VCb3hXaWR0aCwgaGVpZ2h0OiBmYWtlQm94SGVpZ2h0IH0gPSBnZXRGYWtlU2l6ZSgpO1xuXG4gICAgICAgIGNvbnN0IGFuZ2xlID0gKGRlZ3JlZSAqIE1hdGguUEkpIC8gMTgwO1xuICAgICAgICBjb25zdCBjb250ZW50QXJyID0gdGhpcy5jb250ZW50LnNwbGl0KCdcXFxcbicpO1xuICAgICAgICBjb25zdCBjYW52YXNIZWlnaHQgPSBNYXRoLnNpbihhbmdsZSkgKiBmYWtlQm94V2lkdGggKyBmYWtlQm94SGVpZ2h0O1xuXG4gICAgICAgIGxldCBzdGFydCA9IE1hdGguY2VpbChNYXRoLnNpbihhbmdsZSkgKiBmYWtlQm94V2lkdGggKiBNYXRoLnNpbihhbmdsZSkpO1xuICAgICAgICBjb25zdCBjYW52YXNXaWR0aCA9IHN0YXJ0ICsgZmFrZUJveFdpZHRoO1xuICAgICAgICBjYW52YXMuc2V0QXR0cmlidXRlKCd3aWR0aCcsICcnICsgKGNhbnZhc1dpZHRoICsgeEd1dHRlcikpO1xuICAgICAgICBjYW52YXMuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCAnJyArIChjYW52YXNIZWlnaHQgKyB5R3V0dGVyKSk7XG5cbiAgICAgICAgY3R4LmZvbnQgPSBgJHtwYXJzZUZsb2F0KCcnICsgZm9udFNpemUpfXB4IG1pY3Jvc29mdCB5YWhlaWA7XG4gICAgICAgIGN0eC50ZXh0QWxpZ24gPSAnY2VudGVyJztcbiAgICAgICAgY3R4LnRleHRCYXNlbGluZSA9ICd0b3AnO1xuICAgICAgICBjdHguZmlsbFN0eWxlID0gY29sb3I7XG4gICAgICAgIGN0eC5yb3RhdGUoMCAtIChkZWdyZWUgKiBNYXRoLlBJKSAvIDE4MCk7XG4gICAgICAgIGNvbnRlbnRBcnIubWFwKChrLCBpKSA9PiB7XG4gICAgICAgICAgICBjdHguZmlsbFRleHQoaywgLXN0YXJ0ICsgTWF0aC5jZWlsKGNhbnZhc1dpZHRoIC8gMiksIE1hdGguc2luKGFuZ2xlKSAqIGNhbnZhc1dpZHRoICsgdGV4dExpbmVIZWlnaHQgKiBpKTtcbiAgICAgICAgICAgIHN0YXJ0ICs9IE1hdGguc2luKGFuZ2xlKSAqIHRleHRMaW5lSGVpZ2h0O1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYW52YXMgPSBjYW52YXM7XG4gICAgICAgIHJldHVybiBjYW52YXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVXYXRlcm1hcmsoaXNSZWZyZXNoID0gdHJ1ZSkge1xuICAgICAgICBjb25zdCB3YXRlcm1hcmtEaXYgPSB0aGlzLndtRGl2IHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgICAgIGNvbnN0IGJhY2tncm91bmQgPSAhaXNSZWZyZXNoID8gdGhpcy5jYW52YXMudG9EYXRhVVJMKCkgOiB0aGlzLmNyZWF0ZUNhbnZhcygpLnRvRGF0YVVSTCgpO1xuICAgICAgICBjb25zdCB3YXRlcm1hcmtTdHlsZSA9IHtcbiAgICAgICAgICAgIC4uLkRFRkFVTFRfV0FURVJNQVJLX0NPTkZJRyxcbiAgICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJzogYHVybCgke2JhY2tncm91bmR9KWBcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzdHlsZVN0ciA9IE9iamVjdC5rZXlzKHdhdGVybWFya1N0eWxlKS5yZWR1Y2UoKHByZSwgbmV4dCkgPT4gKChwcmUgKz0gYCR7bmV4dH06JHt3YXRlcm1hcmtTdHlsZVtuZXh0XX07YCksIHByZSksICcnKTtcbiAgICAgICAgd2F0ZXJtYXJrRGl2LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCBzdHlsZVN0cik7XG5cbiAgICAgICAgaWYgKCF0aGlzLndtRGl2KSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnROb2RlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgd2F0ZXJtYXJrRGl2LmNsYXNzTGlzdC5hZGQoYF92bWApO1xuICAgICAgICAgICAgdGhpcy53bURpdiA9IHdhdGVybWFya0RpdjtcbiAgICAgICAgICAgIHBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHdhdGVybWFya0RpdiwgcGFyZW50Tm9kZS5maXJzdENoaWxkKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNyZWF0ZVdhdGVybWFyayQubmV4dCgnJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvYnNlcnZlQXR0cmlidXRlcygpIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdHJlYW0gPSBuZXcgU3ViamVjdDxNdXRhdGlvblJlY29yZFtdPigpO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyRmFjdG9yeSgpLmNyZWF0ZShtdXRhdGlvbnMgPT4gc3RyZWFtLm5leHQobXV0YXRpb25zKSk7XG4gICAgICAgICAgICBpZiAodGhpcy5vYnNlcnZlcikge1xuICAgICAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLndtRGl2LCB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHRydWVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN0cmVhbS5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLndtRGl2KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXM/Lm9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlV2F0ZXJtYXJrKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIG9ic2VydmUubmV4dChzdHJlYW0pO1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJtYXJrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93YXRlcm1hcmsvd2F0ZXJtYXJrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQW9DLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNILE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBNkJoRDs7O0dBR0c7QUFLSCxNQUFNLE9BQU8scUJBQXFCO0lBVTlCOztPQUVHO0lBQ0gsSUFDSSxZQUFZLENBQUMsS0FBYTtRQUMxQixLQUFLLEdBQUcsS0FBSyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBbUJEO1FBbkNRLE9BQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEM7O1dBRUc7UUFFSCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQWlCckIscUJBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQVFoQyxlQUFVLEdBQUcsTUFBTSxD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Q0gsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQixPQUFPLEdBQUcsRUFBRTtnQkFDUixJQUFJLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0F0TFEscUJBQXFCO21HQUFyQixxQkFBcUIsd0dBTVYscUJBQXFCOzs0RkFOaEMscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjt3REFRRyxXQUFXO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBUXZDLFlBQVk7c0JBRGYsS0FBSztnQkFTRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgRWxlbWVudFJlZiwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLCBPbkNoYW5nZXMsIGluamVjdCwgRGVzdHJveVJlZiwgZWZmZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBERUZBVUxUX1dBVEVSTUFSS19DT05GSUcsIERFRkFVTFRfQ0FOVkFTX0NPTkZJRyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IE11dGF0aW9uT2JzZXJ2ZXJGYWN0b3J5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL29ic2VydmVycyc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgVGh5VGhlbWVTdG9yZSB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5cbi8qKlxuICogQHB1YmxpY1xuICog5rC05Y2w5qC35byP6YWN572uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGh5Q2FudmFzQ29uZmlnVHlwZSB7XG4gICAgLyoqXG4gICAgICog5YGP56e76KeS5bqmXG4gICAgICovXG4gICAgZGVncmVlPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIOWtl+S9k+minOiJsuOAguWmguaenOS8oOeahOaYr+aVsOe7hO+8jOesrOS4gOS4quS4uum7mOiupOS4u+mimOeahOWtl+S9k+minOiJsu+8jOesrOS6jOS4quS4uum7keaal+S4u+mimOeahOWtl+S9k+minOiJslxuICAgICAqL1xuICAgIGNvbG9yPzogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgLyoqXG4gICAgICog5a2X5L2T5aSn5bCPXG4gICAgICovXG4gICAgZm9udFNpemU/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgLyoqXG4gICAgICog5paH5pys6KGM6auYXG4gICAgICovXG4gICAgdGV4dExpbmVIZWlnaHQ/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICog5qiq57q16Ze06LedXG4gICAgICovXG4gICAgZ3V0dGVyPzogbnVtYmVyW107XG59XG5cbi8qKlxuICog5rC05Y2w5oyH5LukXG4gKiBAbmFtZSB0aHlXYXRlcm1hcmtcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdGh5V2F0ZXJtYXJrXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaHlXYXRlcm1hcmtEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSBlbCA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuemgeeUqO+8jOm7mOiupOS4uiBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgdGh5RGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnRlbnQ6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiDmsLTljbDlhoXlrrlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlXYXRlcm1hcmsodmFsdWU6IHN0cmluZykge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlPy5yZXBsYWNlKC9eXFxcInxcXFwiJC9nLCAnJyk7XG4gICAgICAgIHRoaXMuY29udGVudCA9ICEhdmFsdWUgPyB2YWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOawtOWNsOagt+W8j+mFjee9rlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNhbnZhc0NvbmZpZzogVGh5Q2FudmFzQ29uZmlnVHlwZTtcblxuICAgIHByaXZhdGUgY3JlYXRlV2F0ZXJtYXJrJCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAgIHByaXZhdGUgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgICBwcml2YXRlIGNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQ7XG5cbiAgICBwcml2YXRlIHdtRGl2OiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIHByaXZhdGUgdGh5VGhlbWVTdG9yZSA9IGluamVjdChUaHlUaGVtZVN0b3JlKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnRoeURpc2FibGVkICYmIHRoaXMudGh5VGhlbWVTdG9yZS50aGVtZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoV2F0ZXJtYXJrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAoIXRoaXMudGh5RGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlV2F0ZXJtYXJrJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub2JzZXJ2ZUF0dHJpYnV0ZXMoKVxuICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7fSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5jcmVhdGVXYXRlcm1hcmsoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyB0aHlXYXRlcm1hcmssIHRoeURpc2FibGVkIH0gPSBjaGFuZ2VzO1xuICAgICAgICBjb25zdCB0aHlXYXRlcm1hcmtDaGFuZ2UgPSAoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGh5V2F0ZXJtYXJrLmZpcnN0Q2hhbmdlKSByZXR1cm47XG4gICAgICAgICAgICBpZiAodGh5V2F0ZXJtYXJrLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaFdhdGVybWFyaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCB0aHlEaXNhYmxlZENoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aHlEaXNhYmxlZC5maXJzdENoYW5nZSkgcmV0dXJuO1xuICAgICAgICAgICAgdGh5RGlzYWJsZWQ/LmN1cnJlbnRWYWx1ZSA/IHRoaXMucmVtb3ZlV2F0ZXJtYXJrKCkgOiB0aGlzLnJlZnJlc2hXYXRlcm1hcmsoKTtcbiAgICAgICAgfTtcbiAgICAgICAgdGh5V2F0ZXJtYXJrICYmIHRoeVdhdGVybWFya0NoYW5nZSgpO1xuICAgICAgICB0aHlEaXNhYmxlZCAmJiB0aHlEaXNhYmxlZENoYW5nZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVmcmVzaFdhdGVybWFyaygpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVXYXRlcm1hcmsoKTtcbiAgICAgICAgdGhpcy5jcmVhdGVXYXRlcm1hcmsoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZVdhdGVybWFyaygpIHtcbiAgICAgICAgaWYgKHRoaXMud21EaXYpIHtcbiAgICAgICAgICAgIHRoaXMud21EaXYucmVtb3ZlKCk7XG4gICAgICAgICAgICB0aGlzLndtRGl2ID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNyZWF0ZUNhbnZhcygpIHtcbiAgICAgICAgbGV0IHsgZ3V0dGVyLCBmb250U2l6ZSwgY29sb3IsIGRlZ3JlZSwgdGV4dExpbmVIZWlnaHQgfSA9IHtcbiAgICAgICAgICAgIC4uLkRFRkFVTFRfQ0FOVkFTX0NPTkZJRyxcbiAgICAgICAgICAgIC4uLih0aGlzLnRoeUNhbnZhc0NvbmZpZyB8fCB7fSlcbiAgICAgICAgfTtcbiAgICAgICAgY29sb3IgPSB0aGlzLnRoeVRoZW1lU3RvcmUubm9ybWFsaXplQ29sb3IoY29sb3IpO1xuXG4gICAgICAgIGNvbnN0IFt4R3V0dGVyLCB5R3V0dGVyXSA9IGd1dHRlcjtcbiAgICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuXG4gICAgICAgIGNvbnN0IGdldEZha2VTaXplID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmFrZUJveCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgICAgY29uc3QgZmFrZUJveFN0eWxlID0ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICAgICAgICAgICdmb250LXNpemUnOiBgJHtwYXJzZUZsb2F0KCcnICsgZm9udFNpemUpfXB4YCxcbiAgICAgICAgICAgICAgICAnd29yZC13cmFwJzogJ2JyZWFrLXdvcmQnLFxuICAgICAgICAgICAgICAgICdmb250LWZhbWlseSc6ICdpbmhlcml0JyxcbiAgICAgICAgICAgICAgICAnd2hpdGUtc3BhY2UnOiAncHJlLWxpbmUnXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3Qgc3R5bGVTdHIgPSBPYmplY3Qua2V5cyhmYWtlQm94U3R5bGUpLnJlZHVjZSgocHJlLCBuZXh0KSA9PiAoKHByZSArPSBgJHtuZXh0fToke2Zha2VCb3hTdHlsZVtuZXh0XX07YCksIHByZSksICcnKTtcbiAgICAgICAgICAgIGZha2VCb3guc2V0QXR0cmlidXRlKCdzdHlsZScsIHN0eWxlU3RyKTtcblxuICAgICAgICAgICAgZmFrZUJveC5pbm5lckhUTUwgPSB0aGlzLmNvbnRlbnQucmVwbGFjZSgvKFxcXFxuKS9nbSwgJzwvYnI+Jyk7XG4gICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5JykuaW5zZXJ0QmVmb3JlKGZha2VCb3gsIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHknKS5maXJzdENoaWxkKTtcbiAgICAgICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gZmFrZUJveC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGZha2VCb3gucmVtb3ZlKCk7XG4gICAgICAgICAgICByZXR1cm4geyB3aWR0aCwgaGVpZ2h0IH07XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHsgd2lkdGg6IGZha2VCb3hXaWR0aCwgaGVpZ2h0OiBmYWtlQm94SGVpZ2h0IH0gPSBnZXRGYWtlU2l6ZSgpO1xuXG4gICAgICAgIGNvbnN0IGFuZ2xlID0gKGRlZ3JlZSAqIE1hdGguUEkpIC8gMTgwO1xuICAgICAgICBjb25zdCBjb250ZW50QXJyID0gdGhpcy5jb250ZW50LnNwbGl0KCdcXFxcbicpO1xuICAgICAgICBjb25zdCBjYW52YXNIZWlnaHQgPSBNYXRoLnNpbihhbmdsZSkgKiBmYWtlQm94V2lkdGggKyBmYWtlQm94SGVpZ2h0O1xuXG4gICAgICAgIGxldCBzdGFydCA9IE1hdGguY2VpbChNYXRoLnNpbihhbmdsZSkgKiBmYWtlQm94V2lkdGggKiBNYXRoLnNpbihhbmdsZSkpO1xuICAgICAgICBjb25zdCBjYW52YXNXaWR0aCA9IHN0YXJ0ICsgZmFrZUJveFdpZHRoO1xuICAgICAgICBjYW52YXMuc2V0QXR0cmlidXRlKCd3aWR0aCcsICcnICsgKGNhbnZhc1dpZHRoICsgeEd1dHRlcikpO1xuICAgICAgICBjYW52YXMuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCAnJyArIChjYW52YXNIZWlnaHQgKyB5R3V0dGVyKSk7XG5cbiAgICAgICAgY3R4LmZvbnQgPSBgJHtwYXJzZUZsb2F0KCcnICsgZm9udFNpemUpfXB4IG1pY3Jvc29mdCB5YWhlaWA7XG4gICAgICAgIGN0eC50ZXh0QWxpZ24gPSAnY2VudGVyJztcbiAgICAgICAgY3R4LnRleHRCYXNlbGluZSA9ICd0b3AnO1xuICAgICAgICBjdHguZmlsbFN0eWxlID0gY29sb3I7XG4gICAgICAgIGN0eC5yb3RhdGUoMCAtIChkZWdyZWUgKiBNYXRoLlBJKSAvIDE4MCk7XG4gICAgICAgIGNvbnRlbnRBcnIubWFwKChrLCBpKSA9PiB7XG4gICAgICAgICAgICBjdHguZmlsbFRleHQoaywgLXN0YXJ0ICsgTWF0aC5jZWlsKGNhbnZhc1dpZHRoIC8gMiksIE1hdGguc2luKGFuZ2xlKSAqIGNhbnZhc1dpZHRoICsgdGV4dExpbmVIZWlnaHQgKiBpKTtcbiAgICAgICAgICAgIHN0YXJ0ICs9IE1hdGguc2luKGFuZ2xlKSAqIHRleHRMaW5lSGVpZ2h0O1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYW52YXMgPSBjYW52YXM7XG4gICAgICAgIHJldHVybiBjYW52YXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVXYXRlcm1hcmsoaXNSZWZyZXNoID0gdHJ1ZSkge1xuICAgICAgICBjb25zdCB3YXRlcm1hcmtEaXYgPSB0aGlzLndtRGl2IHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgICAgIGNvbnN0IGJhY2tncm91bmQgPSAhaXNSZWZyZXNoID8gdGhpcy5jYW52YXMudG9EYXRhVVJMKCkgOiB0aGlzLmNyZWF0ZUNhbnZhcygpLnRvRGF0YVVSTCgpO1xuICAgICAgICBjb25zdCB3YXRlcm1hcmtTdHlsZSA9IHtcbiAgICAgICAgICAgIC4uLkRFRkFVTFRfV0FURVJNQVJLX0NPTkZJRyxcbiAgICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJzogYHVybCgke2JhY2tncm91bmR9KWBcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzdHlsZVN0ciA9IE9iamVjdC5rZXlzKHdhdGVybWFya1N0eWxlKS5yZWR1Y2UoKHByZSwgbmV4dCkgPT4gKChwcmUgKz0gYCR7bmV4dH06JHt3YXRlcm1hcmtTdHlsZVtuZXh0XX07YCksIHByZSksICcnKTtcbiAgICAgICAgd2F0ZXJtYXJrRGl2LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCBzdHlsZVN0cik7XG5cbiAgICAgICAgaWYgKCF0aGlzLndtRGl2KSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnROb2RlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgd2F0ZXJtYXJrRGl2LmNsYXNzTGlzdC5hZGQoYF92bWApO1xuICAgICAgICAgICAgdGhpcy53bURpdiA9IHdhdGVybWFya0RpdjtcbiAgICAgICAgICAgIHBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHdhdGVybWFya0RpdiwgcGFyZW50Tm9kZS5maXJzdENoaWxkKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNyZWF0ZVdhdGVybWFyayQubmV4dCgnJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvYnNlcnZlQXR0cmlidXRlcygpIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdHJlYW0gPSBuZXcgU3ViamVjdDxNdXRhdGlvblJlY29yZFtdPigpO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyRmFjdG9yeSgpLmNyZWF0ZShtdXRhdGlvbnMgPT4gc3RyZWFtLm5leHQobXV0YXRpb25zKSk7XG4gICAgICAgICAgICBpZiAodGhpcy5vYnNlcnZlcikge1xuICAgICAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLndtRGl2LCB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHRydWVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN0cmVhbS5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLndtRGl2KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXM/Lm9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlV2F0ZXJtYXJrKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIG9ic2VydmUubmV4dChzdHJlYW0pO1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=