ngx-tethys 17.0.0-next.1 → 17.0.0-next.3

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 (745) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/action/action.component.d.ts +3 -3
  3. package/action/action.module.d.ts +1 -1
  4. package/action/actions.component.d.ts +5 -5
  5. package/affix/affix.component.d.ts +3 -3
  6. package/affix/affix.module.d.ts +1 -1
  7. package/alert/alert.component.d.ts +3 -3
  8. package/alert/alert.module.d.ts +1 -1
  9. package/anchor/anchor-link.component.d.ts +5 -5
  10. package/anchor/anchor.component.d.ts +9 -9
  11. package/anchor/anchor.module.d.ts +1 -1
  12. package/arrow-switcher/arrow-switcher.component.d.ts +3 -3
  13. package/arrow-switcher/module.d.ts +1 -1
  14. package/autocomplete/autocomplete.component.d.ts +9 -9
  15. package/autocomplete/autocomplete.trigger.directive.d.ts +6 -6
  16. package/autocomplete/module.d.ts +1 -1
  17. package/autocomplete/overlay/autocomplete-container.component.d.ts +3 -3
  18. package/autocomplete/overlay/autocomplete-ref.d.ts +4 -4
  19. package/autocomplete/overlay/autocomplete.service.d.ts +5 -5
  20. package/avatar/avatar-list/avatar-list.component.d.ts +6 -6
  21. package/avatar/avatar.component.d.ts +3 -3
  22. package/avatar/avatar.module.d.ts +1 -1
  23. package/back-top/back-top.component.d.ts +3 -3
  24. package/back-top/back-top.module.d.ts +1 -1
  25. package/badge/badge.component.d.ts +3 -3
  26. package/badge/badge.module.d.ts +1 -1
  27. package/breadcrumb/breadcrumb-item.component.d.ts +3 -3
  28. package/breadcrumb/breadcrumb.component.d.ts +3 -3
  29. package/breadcrumb/module.d.ts +1 -1
  30. package/button/button-group.component.d.ts +3 -3
  31. package/button/button-icon.component.d.ts +3 -3
  32. package/button/button.component.d.ts +3 -3
  33. package/button/button.module.d.ts +1 -1
  34. package/calendar/calendar-header.component.d.ts +3 -3
  35. package/calendar/calendar.component.d.ts +3 -3
  36. package/calendar/module.d.ts +1 -1
  37. package/card/card.component.d.ts +3 -3
  38. package/card/card.module.d.ts +1 -1
  39. package/card/content.component.d.ts +3 -3
  40. package/card/header.component.d.ts +3 -3
  41. package/carousel/carousel.component.d.ts +3 -3
  42. package/carousel/engine/carousel-base.d.ts +3 -3
  43. package/carousel/engine/carousel-fade.d.ts +2 -2
  44. package/carousel/engine/carousel-noop.d.ts +2 -2
  45. package/carousel/engine/carousel-slide.d.ts +2 -2
  46. package/carousel/module.d.ts +1 -1
  47. package/cascader/cascader.component.d.ts +3 -3
  48. package/cascader/module.d.ts +1 -1
  49. package/checkbox/checkbox.component.d.ts +3 -3
  50. package/checkbox/module.d.ts +1 -1
  51. package/collapse/collapse-item.component.d.ts +5 -5
  52. package/collapse/collapse.component.d.ts +7 -7
  53. package/collapse/module.d.ts +1 -1
  54. package/color-picker/color-picker-custom-panel.component.d.ts +3 -3
  55. package/color-picker/color-picker-panel.component.d.ts +6 -6
  56. package/color-picker/color-picker.component.d.ts +3 -3
  57. package/color-picker/module.d.ts +1 -1
  58. package/color-picker/parts/alpha/alpha.component.d.ts +3 -3
  59. package/color-picker/parts/hue/hue.component.d.ts +3 -3
  60. package/color-picker/parts/indicator/indicator.component.d.ts +3 -3
  61. package/color-picker/parts/inputs/inputs.component.d.ts +3 -3
  62. package/color-picker/parts/saturation/saturation.component.d.ts +3 -3
  63. package/comment/comment.component.d.ts +3 -3
  64. package/comment/comment.module.d.ts +1 -1
  65. package/date-picker/abstract-picker.component.d.ts +2 -2
  66. package/date-picker/base-picker.component.d.ts +5 -5
  67. package/date-picker/date-picker.component.d.ts +4 -4
  68. package/date-picker/date-picker.module.d.ts +1 -1
  69. package/date-picker/lib/calendar/calendar-footer.component.d.ts +3 -3
  70. package/date-picker/lib/date/date-header.component.d.ts +3 -3
  71. package/date-picker/lib/date/date-table-cell.component.d.ts +3 -3
  72. package/date-picker/lib/date/date-table.component.d.ts +3 -3
  73. package/date-picker/lib/date-carousel/date-carousel.component.d.ts +3 -3
  74. package/date-picker/lib/decade/decade-header.component.d.ts +3 -3
  75. package/date-picker/lib/decade/decade-table.component.d.ts +3 -3
  76. package/date-picker/lib/lib-packer.module.d.ts +1 -1
  77. package/date-picker/lib/month/month-header.component.d.ts +3 -3
  78. package/date-picker/lib/month/month-table.component.d.ts +3 -3
  79. package/date-picker/lib/popups/date-popup.component.d.ts +4 -4
  80. package/date-picker/lib/popups/inner-popup.component.d.ts +3 -3
  81. package/date-picker/lib/quarter/quarter-table.component.d.ts +3 -3
  82. package/date-picker/lib/year/year-header.component.d.ts +3 -3
  83. package/date-picker/lib/year/year-table.component.d.ts +3 -3
  84. package/date-picker/month-picker.component.d.ts +4 -4
  85. package/date-picker/picker.component.d.ts +3 -3
  86. package/date-picker/quarter-picker.component.d.ts +4 -4
  87. package/date-picker/range-picker.component.d.ts +4 -4
  88. package/date-picker/week-picker.component.d.ts +4 -4
  89. package/date-picker/year-picker.component.d.ts +4 -4
  90. package/date-range/date-range.component.d.ts +3 -3
  91. package/date-range/module.d.ts +1 -1
  92. package/date-range/optional-dates/optional-dates.component.d.ts +3 -3
  93. package/dialog/body/dialog-body.component.d.ts +3 -3
  94. package/dialog/confirm/confirm.component.d.ts +4 -4
  95. package/dialog/dialog-container.component.d.ts +3 -3
  96. package/dialog/dialog-ref.d.ts +4 -4
  97. package/dialog/dialog.module.d.ts +1 -1
  98. package/dialog/dialog.service.d.ts +5 -5
  99. package/dialog/footer/dialog-footer.component.d.ts +3 -3
  100. package/dialog/header/dialog-header.component.d.ts +5 -5
  101. package/dialog/index.d.ts +1 -1
  102. package/divider/divider.component.d.ts +3 -3
  103. package/divider/divider.module.d.ts +1 -1
  104. package/dot/dot.component.d.ts +3 -3
  105. package/dot/dot.module.d.ts +1 -1
  106. package/dropdown/dropdown-menu.component.d.ts +6 -6
  107. package/dropdown/dropdown-submenu.component.d.ts +3 -3
  108. package/dropdown/module.d.ts +1 -1
  109. package/empty/empty.component.d.ts +3 -3
  110. package/empty/empty.module.d.ts +1 -1
  111. package/esm2022/action/action.component.mjs +10 -10
  112. package/esm2022/action/action.module.mjs +7 -7
  113. package/esm2022/action/actions.component.mjs +7 -7
  114. package/esm2022/affix/affix.component.mjs +7 -7
  115. package/esm2022/affix/affix.module.mjs +5 -5
  116. package/esm2022/alert/alert.component.mjs +8 -8
  117. package/esm2022/alert/alert.module.mjs +6 -6
  118. package/esm2022/anchor/anchor-link.component.mjs +7 -7
  119. package/esm2022/anchor/anchor.component.mjs +11 -11
  120. package/esm2022/anchor/anchor.module.mjs +7 -7
  121. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +13 -13
  122. package/esm2022/arrow-switcher/module.mjs +6 -6
  123. package/esm2022/autocomplete/autocomplete.component.mjs +13 -13
  124. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +2 -2
  125. package/esm2022/autocomplete/module.mjs +10 -10
  126. package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +5 -5
  127. package/esm2022/autocomplete/overlay/autocomplete-ref.mjs +1 -1
  128. package/esm2022/autocomplete/overlay/autocomplete.service.mjs +4 -4
  129. package/esm2022/avatar/avatar-list/avatar-list.component.mjs +8 -8
  130. package/esm2022/avatar/avatar.component.mjs +11 -11
  131. package/esm2022/avatar/avatar.module.mjs +7 -7
  132. package/esm2022/back-top/back-top.component.mjs +8 -8
  133. package/esm2022/back-top/back-top.module.mjs +6 -6
  134. package/esm2022/badge/badge.component.mjs +10 -10
  135. package/esm2022/badge/badge.module.mjs +5 -5
  136. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +7 -7
  137. package/esm2022/breadcrumb/breadcrumb.component.mjs +8 -8
  138. package/esm2022/breadcrumb/module.mjs +7 -7
  139. package/esm2022/button/button-group.component.mjs +5 -5
  140. package/esm2022/button/button-icon.component.mjs +9 -9
  141. package/esm2022/button/button.component.mjs +9 -9
  142. package/esm2022/button/button.module.mjs +8 -8
  143. package/esm2022/calendar/calendar-header.component.mjs +8 -8
  144. package/esm2022/calendar/calendar.component.mjs +8 -8
  145. package/esm2022/calendar/module.mjs +11 -11
  146. package/esm2022/card/card.component.mjs +8 -8
  147. package/esm2022/card/card.module.mjs +7 -7
  148. package/esm2022/card/content.component.mjs +5 -5
  149. package/esm2022/card/header.component.mjs +5 -5
  150. package/esm2022/carousel/carousel.component.mjs +13 -13
  151. package/esm2022/carousel/engine/carousel-base.mjs +1 -1
  152. package/esm2022/carousel/engine/carousel-fade.mjs +1 -1
  153. package/esm2022/carousel/engine/carousel-noop.mjs +1 -1
  154. package/esm2022/carousel/engine/carousel-slide.mjs +1 -1
  155. package/esm2022/carousel/module.mjs +5 -5
  156. package/esm2022/cascader/cascader-li.component.mjs +6 -6
  157. package/esm2022/cascader/cascader-search-option.component.mjs +7 -16
  158. package/esm2022/cascader/cascader.component.mjs +22 -22
  159. package/esm2022/cascader/module.mjs +7 -7
  160. package/esm2022/checkbox/checkbox.component.mjs +8 -8
  161. package/esm2022/checkbox/module.mjs +5 -5
  162. package/esm2022/collapse/collapse-item.component.mjs +11 -11
  163. package/esm2022/collapse/collapse.component.mjs +6 -6
  164. package/esm2022/collapse/module.mjs +7 -7
  165. package/esm2022/color-picker/color-picker-custom-panel.component.mjs +11 -11
  166. package/esm2022/color-picker/color-picker-panel.component.mjs +10 -10
  167. package/esm2022/color-picker/color-picker.component.mjs +3 -3
  168. package/esm2022/color-picker/module.mjs +25 -25
  169. package/esm2022/color-picker/parts/alpha/alpha.component.mjs +5 -5
  170. package/esm2022/color-picker/parts/hue/hue.component.mjs +5 -5
  171. package/esm2022/color-picker/parts/indicator/indicator.component.mjs +5 -5
  172. package/esm2022/color-picker/parts/inputs/inputs.component.mjs +7 -7
  173. package/esm2022/color-picker/parts/saturation/saturation.component.mjs +5 -5
  174. package/esm2022/comment/comment.component.mjs +7 -7
  175. package/esm2022/comment/comment.module.mjs +7 -7
  176. package/esm2022/date-picker/abstract-picker.component.mjs +4 -4
  177. package/esm2022/date-picker/abstract-picker.directive.mjs +3 -3
  178. package/esm2022/date-picker/base-picker.component.mjs +8 -8
  179. package/esm2022/date-picker/date-picker.component.mjs +12 -12
  180. package/esm2022/date-picker/date-picker.module.mjs +44 -44
  181. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +10 -10
  182. package/esm2022/date-picker/lib/date/date-header.component.mjs +7 -7
  183. package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +5 -5
  184. package/esm2022/date-picker/lib/date/date-table.component.mjs +7 -7
  185. package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +11 -11
  186. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +7 -7
  187. package/esm2022/date-picker/lib/decade/decade-table.component.mjs +5 -5
  188. package/esm2022/date-picker/lib/lib-packer.module.mjs +79 -79
  189. package/esm2022/date-picker/lib/month/month-header.component.mjs +7 -7
  190. package/esm2022/date-picker/lib/month/month-table.component.mjs +5 -5
  191. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +15 -15
  192. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +23 -23
  193. package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +5 -5
  194. package/esm2022/date-picker/lib/year/year-header.component.mjs +7 -7
  195. package/esm2022/date-picker/lib/year/year-table.component.mjs +5 -5
  196. package/esm2022/date-picker/month-picker.component.mjs +12 -12
  197. package/esm2022/date-picker/picker.component.mjs +8 -8
  198. package/esm2022/date-picker/quarter-picker.component.mjs +12 -12
  199. package/esm2022/date-picker/range-picker.component.mjs +12 -12
  200. package/esm2022/date-picker/week-picker.component.mjs +12 -12
  201. package/esm2022/date-picker/year-picker.component.mjs +12 -12
  202. package/esm2022/date-range/date-range.component.mjs +13 -13
  203. package/esm2022/date-range/module.mjs +10 -10
  204. package/esm2022/date-range/optional-dates/optional-dates.component.mjs +7 -7
  205. package/esm2022/dialog/body/dialog-body.component.mjs +5 -5
  206. package/esm2022/dialog/confirm/confirm.component.mjs +10 -18
  207. package/esm2022/dialog/dialog-container.component.mjs +5 -5
  208. package/esm2022/dialog/dialog-ref.mjs +1 -1
  209. package/esm2022/dialog/dialog.module.mjs +22 -22
  210. package/esm2022/dialog/dialog.service.mjs +4 -4
  211. package/esm2022/dialog/footer/dialog-footer.component.mjs +6 -6
  212. package/esm2022/dialog/header/dialog-header.component.mjs +11 -11
  213. package/esm2022/dialog/index.mjs +2 -2
  214. package/esm2022/divider/divider.component.mjs +7 -7
  215. package/esm2022/divider/divider.module.mjs +5 -5
  216. package/esm2022/dot/dot.component.mjs +5 -5
  217. package/esm2022/dot/dot.module.mjs +5 -5
  218. package/esm2022/dropdown/dropdown-menu.component.mjs +9 -9
  219. package/esm2022/dropdown/dropdown-submenu.component.mjs +5 -5
  220. package/esm2022/dropdown/module.mjs +15 -15
  221. package/esm2022/empty/empty.component.mjs +8 -8
  222. package/esm2022/empty/empty.module.mjs +6 -6
  223. package/esm2022/flexible-text/flexible-text.component.mjs +7 -7
  224. package/esm2022/flexible-text/flexible-text.module.mjs +5 -5
  225. package/esm2022/form/form-group-error/form-group-error.component.mjs +8 -8
  226. package/esm2022/form/form-group.component.mjs +8 -8
  227. package/esm2022/form/from-group-footer/form-group-footer.component.mjs +5 -5
  228. package/esm2022/form/module.mjs +18 -18
  229. package/esm2022/grid/module.mjs +6 -6
  230. package/esm2022/grid/thy-grid-item.component.mjs +5 -5
  231. package/esm2022/grid/thy-grid.component.mjs +4 -4
  232. package/esm2022/guider/guider-hint/guider-hint.component.mjs +6 -6
  233. package/esm2022/guider/guider.module.mjs +6 -24
  234. package/esm2022/icon/icon.component.mjs +8 -8
  235. package/esm2022/icon/icon.module.mjs +5 -5
  236. package/esm2022/icon/index.mjs +2 -2
  237. package/esm2022/image/image-group.component.mjs +5 -5
  238. package/esm2022/image/image.directive.mjs +3 -3
  239. package/esm2022/image/image.service.mjs +3 -3
  240. package/esm2022/image/module.mjs +9 -9
  241. package/esm2022/image/preview/image-preview-ref.mjs +1 -1
  242. package/esm2022/image/preview/image-preview.component.mjs +10 -21
  243. package/esm2022/input/input-count.component.mjs +7 -7
  244. package/esm2022/input/input-group.component.mjs +5 -5
  245. package/esm2022/input/input-search.component.mjs +9 -9
  246. package/esm2022/input/input.component.mjs +10 -10
  247. package/esm2022/input/module.mjs +16 -16
  248. package/esm2022/input-number/input-number.component.mjs +14 -14
  249. package/esm2022/input-number/module.mjs +6 -6
  250. package/esm2022/layout/content-main.component.mjs +5 -5
  251. package/esm2022/layout/content-section.component.mjs +5 -5
  252. package/esm2022/layout/content.component.mjs +5 -5
  253. package/esm2022/layout/header.component.mjs +7 -7
  254. package/esm2022/layout/layout.component.mjs +5 -5
  255. package/esm2022/layout/layout.module.mjs +48 -48
  256. package/esm2022/layout/sidebar-content.component.mjs +5 -5
  257. package/esm2022/layout/sidebar-footer.component.mjs +5 -5
  258. package/esm2022/layout/sidebar-header.component.mjs +5 -5
  259. package/esm2022/layout/sidebar.component.mjs +15 -24
  260. package/esm2022/list/list-item-meta.component.mjs +7 -7
  261. package/esm2022/list/list-item.component.mjs +5 -5
  262. package/esm2022/list/list.component.mjs +6 -6
  263. package/esm2022/list/list.module.mjs +9 -26
  264. package/esm2022/list/selection/selection-list.mjs +12 -12
  265. package/esm2022/list/selection/selection.interface.mjs +1 -1
  266. package/esm2022/loading/loading.component.mjs +7 -7
  267. package/esm2022/loading/loading.module.mjs +5 -5
  268. package/esm2022/mention/mention.directive.mjs +3 -3
  269. package/esm2022/mention/mention.module.mjs +5 -24
  270. package/esm2022/mention/suggestions/suggestions.component.mjs +9 -9
  271. package/esm2022/menu/divider/menu-divider.component.mjs +5 -5
  272. package/esm2022/menu/group/menu-group.component.mjs +13 -13
  273. package/esm2022/menu/item/action/menu-item-action.component.mjs +6 -6
  274. package/esm2022/menu/item/icon/menu-item-icon.component.mjs +5 -5
  275. package/esm2022/menu/item/menu-item.component.mjs +7 -7
  276. package/esm2022/menu/item/name/menu-item-name.component.mjs +6 -6
  277. package/esm2022/menu/menu.component.mjs +6 -6
  278. package/esm2022/menu/menu.module.mjs +25 -39
  279. package/esm2022/message/message-container.component.mjs +7 -7
  280. package/esm2022/message/message.component.mjs +7 -7
  281. package/esm2022/message/message.service.mjs +3 -3
  282. package/esm2022/message/module.mjs +7 -7
  283. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +7 -7
  284. package/esm2022/nav/icon-nav/icon-nav.component.mjs +5 -5
  285. package/esm2022/nav/nav.component.mjs +11 -11
  286. package/esm2022/nav/nav.module.mjs +14 -14
  287. package/esm2022/notify/module.mjs +7 -7
  288. package/esm2022/notify/notify-container.component.mjs +7 -7
  289. package/esm2022/notify/notify.component.mjs +7 -7
  290. package/esm2022/notify/notify.service.mjs +3 -3
  291. package/esm2022/pagination/pagination.component.mjs +20 -30
  292. package/esm2022/pagination/pagination.module.mjs +6 -25
  293. package/esm2022/popover/body/popover-body.component.mjs +5 -5
  294. package/esm2022/popover/header/popover-header.component.mjs +7 -7
  295. package/esm2022/popover/module.mjs +13 -13
  296. package/esm2022/popover/popover-container.component.mjs +5 -5
  297. package/esm2022/popover/popover-ref.mjs +1 -1
  298. package/esm2022/popover/popover.service.mjs +4 -4
  299. package/esm2022/progress/progress-circle.component.mjs +8 -8
  300. package/esm2022/progress/progress-strip.component.mjs +6 -6
  301. package/esm2022/progress/progress.component.mjs +15 -15
  302. package/esm2022/progress/progress.module.mjs +7 -7
  303. package/esm2022/property/module.mjs +7 -7
  304. package/esm2022/property/properties.component.mjs +6 -6
  305. package/esm2022/property/property-item.component.mjs +11 -11
  306. package/esm2022/property-operation/group/property-operation-group.component.mjs +5 -5
  307. package/esm2022/property-operation/module.mjs +7 -23
  308. package/esm2022/property-operation/property-operation.component.mjs +14 -14
  309. package/esm2022/radio/button/radio-button.component.mjs +8 -8
  310. package/esm2022/radio/group/radio-group.component.mjs +8 -8
  311. package/esm2022/radio/module.mjs +7 -7
  312. package/esm2022/radio/radio.component.mjs +9 -9
  313. package/esm2022/rate/module.mjs +7 -7
  314. package/esm2022/rate/rate-item.component.mjs +9 -9
  315. package/esm2022/rate/rate.component.mjs +13 -13
  316. package/esm2022/resizable/module.mjs +6 -6
  317. package/esm2022/resizable/resize-handle.component.mjs +6 -6
  318. package/esm2022/resizable/resize-handles.component.mjs +8 -8
  319. package/esm2022/result/result.component.mjs +5 -5
  320. package/esm2022/result/result.module.mjs +5 -5
  321. package/esm2022/segment/segment-item.component.mjs +8 -8
  322. package/esm2022/segment/segment.component.mjs +12 -12
  323. package/esm2022/segment/segment.module.mjs +7 -7
  324. package/esm2022/segment/segment.token.mjs +1 -1
  325. package/esm2022/select/custom-select/custom-select.component.mjs +37 -37
  326. package/esm2022/select/index.mjs +3 -3
  327. package/esm2022/select/module.mjs +10 -10
  328. package/esm2022/select/native-select/native-select.component.mjs +103 -0
  329. package/esm2022/shared/option/group/option-group.component.mjs +11 -11
  330. package/esm2022/shared/option/list-option/list-option.component.mjs +8 -8
  331. package/esm2022/shared/option/module.mjs +10 -37
  332. package/esm2022/shared/option/option-group.component.mjs +5 -5
  333. package/esm2022/shared/option/option.component.mjs +8 -8
  334. package/esm2022/shared/option/option.token.mjs +1 -1
  335. package/esm2022/shared/option/options-container.component.mjs +5 -5
  336. package/esm2022/shared/select/module.mjs +6 -6
  337. package/esm2022/shared/select/select-control/select-control.component.mjs +15 -15
  338. package/esm2022/skeleton/module.mjs +9 -26
  339. package/esm2022/skeleton/skeleton-circle.component.mjs +9 -9
  340. package/esm2022/skeleton/skeleton-rectangle.component.mjs +11 -11
  341. package/esm2022/skeleton/skeleton.component.mjs +6 -6
  342. package/esm2022/skeleton/stylized/bullet-list.component.mjs +14 -14
  343. package/esm2022/skeleton/stylized/list.component.mjs +12 -12
  344. package/esm2022/skeleton/stylized/paragraph.component.mjs +14 -14
  345. package/esm2022/slide/slide-body/slide-body-section.component.mjs +5 -5
  346. package/esm2022/slide/slide-body/slide-body.component.mjs +5 -5
  347. package/esm2022/slide/slide-container.component.mjs +5 -5
  348. package/esm2022/slide/slide-footer/slide-footer.component.mjs +5 -5
  349. package/esm2022/slide/slide-header/slide-header.component.mjs +8 -8
  350. package/esm2022/slide/slide-layout/slide-layout.component.mjs +5 -5
  351. package/esm2022/slide/slide-ref.service.mjs +4 -4
  352. package/esm2022/slide/slide.module.mjs +23 -35
  353. package/esm2022/slide/slide.service.mjs +4 -4
  354. package/esm2022/slider/slider.component.mjs +12 -12
  355. package/esm2022/slider/slider.module.mjs +5 -5
  356. package/esm2022/space/space.component.mjs +6 -6
  357. package/esm2022/space/space.module.mjs +5 -5
  358. package/esm2022/statistic/statistic.component.mjs +5 -5
  359. package/esm2022/statistic/statistic.module.mjs +5 -5
  360. package/esm2022/stepper/step-header.component.mjs +8 -8
  361. package/esm2022/stepper/step.component.mjs +5 -5
  362. package/esm2022/stepper/stepper-button.directive.mjs +6 -6
  363. package/esm2022/stepper/stepper.component.mjs +15 -15
  364. package/esm2022/stepper/stepper.module.mjs +7 -19
  365. package/esm2022/strength/strength.component.mjs +7 -7
  366. package/esm2022/strength/strength.module.mjs +5 -5
  367. package/esm2022/switch/switch.component.mjs +8 -8
  368. package/esm2022/switch/switch.module.mjs +5 -5
  369. package/esm2022/table/table-skeleton.component.mjs +12 -12
  370. package/esm2022/table/table.component.mjs +34 -34
  371. package/esm2022/table/table.module.mjs +10 -10
  372. package/esm2022/tabs/tab-content.component.mjs +5 -5
  373. package/esm2022/tabs/tab.component.mjs +6 -6
  374. package/esm2022/tabs/tabs.component.mjs +12 -12
  375. package/esm2022/tabs/tabs.module.mjs +8 -8
  376. package/esm2022/tag/tag.component.mjs +6 -6
  377. package/esm2022/tag/tag.module.mjs +6 -6
  378. package/esm2022/tag/tags.component.mjs +5 -5
  379. package/esm2022/time-picker/inner/inner-time-picker.component.mjs +6 -6
  380. package/esm2022/time-picker/time-picker-panel.component.mjs +12 -12
  381. package/esm2022/time-picker/time-picker.component.mjs +17 -17
  382. package/esm2022/time-picker/time-picker.module.mjs +7 -7
  383. package/esm2022/timeline/timeline-item.component.mjs +5 -5
  384. package/esm2022/timeline/timeline.component.mjs +8 -8
  385. package/esm2022/timeline/timeline.module.mjs +6 -6
  386. package/esm2022/tooltip/tooltip-ref.mjs +3 -3
  387. package/esm2022/tooltip/tooltip.component.mjs +5 -5
  388. package/esm2022/tooltip/tooltip.module.mjs +4 -4
  389. package/esm2022/transfer/transfer-list.component.mjs +7 -18
  390. package/esm2022/transfer/transfer.component.mjs +9 -9
  391. package/esm2022/transfer/transfer.module.mjs +10 -10
  392. package/esm2022/tree/tree-node.component.mjs +5 -5
  393. package/esm2022/tree/tree.component.mjs +17 -17
  394. package/esm2022/tree/tree.module.mjs +7 -7
  395. package/esm2022/tree-select/module.mjs +9 -9
  396. package/esm2022/tree-select/tree-select.component.mjs +29 -29
  397. package/esm2022/typography/module.mjs +6 -6
  398. package/esm2022/typography/text/text.component.mjs +7 -7
  399. package/esm2022/upload/file-select.component.mjs +8 -8
  400. package/esm2022/upload/module.mjs +5 -5
  401. package/esm2022/version.mjs +2 -2
  402. package/esm2022/vote/vote.component.mjs +10 -10
  403. package/esm2022/vote/vote.module.mjs +6 -6
  404. package/fesm2022/ngx-tethys-action.mjs +19 -19
  405. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  406. package/fesm2022/ngx-tethys-affix.mjs +10 -10
  407. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  408. package/fesm2022/ngx-tethys-alert.mjs +12 -12
  409. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  410. package/fesm2022/ngx-tethys-anchor.mjs +20 -20
  411. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  412. package/fesm2022/ngx-tethys-arrow-switcher.mjs +17 -17
  413. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  414. package/fesm2022/ngx-tethys-autocomplete.mjs +26 -26
  415. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  416. package/fesm2022/ngx-tethys-avatar.mjs +21 -21
  417. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  418. package/fesm2022/ngx-tethys-back-top.mjs +12 -12
  419. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  420. package/fesm2022/ngx-tethys-badge.mjs +13 -13
  421. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  422. package/fesm2022/ngx-tethys-breadcrumb.mjs +17 -17
  423. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  424. package/fesm2022/ngx-tethys-button.mjs +24 -24
  425. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  426. package/fesm2022/ngx-tethys-calendar.mjs +22 -22
  427. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  428. package/fesm2022/ngx-tethys-card.mjs +19 -19
  429. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  430. package/fesm2022/ngx-tethys-carousel.mjs +16 -16
  431. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  432. package/fesm2022/ngx-tethys-cascader.mjs +35 -44
  433. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  434. package/fesm2022/ngx-tethys-checkbox.mjs +11 -11
  435. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  436. package/fesm2022/ngx-tethys-collapse.mjs +19 -19
  437. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  438. package/fesm2022/ngx-tethys-color-picker.mjs +54 -54
  439. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  440. package/fesm2022/ngx-tethys-comment.mjs +12 -12
  441. package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
  442. package/fesm2022/ngx-tethys-date-picker.mjs +248 -248
  443. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  444. package/fesm2022/ngx-tethys-date-range.mjs +24 -24
  445. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  446. package/fesm2022/ngx-tethys-dialog.mjs +48 -56
  447. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  448. package/fesm2022/ngx-tethys-divider.mjs +10 -10
  449. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  450. package/fesm2022/ngx-tethys-dot.mjs +8 -8
  451. package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
  452. package/fesm2022/ngx-tethys-dropdown.mjs +25 -25
  453. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  454. package/fesm2022/ngx-tethys-empty.mjs +12 -12
  455. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  456. package/fesm2022/ngx-tethys-flexible-text.mjs +10 -10
  457. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  458. package/fesm2022/ngx-tethys-form.mjs +33 -33
  459. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  460. package/fesm2022/ngx-tethys-grid.mjs +11 -11
  461. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  462. package/fesm2022/ngx-tethys-guider.mjs +10 -28
  463. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  464. package/fesm2022/ngx-tethys-icon.mjs +11 -11
  465. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  466. package/fesm2022/ngx-tethys-image.mjs +22 -33
  467. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  468. package/fesm2022/ngx-tethys-input-number.mjs +18 -18
  469. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  470. package/fesm2022/ngx-tethys-input.mjs +37 -37
  471. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  472. package/fesm2022/ngx-tethys-layout.mjs +86 -95
  473. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  474. package/fesm2022/ngx-tethys-list.mjs +31 -48
  475. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  476. package/fesm2022/ngx-tethys-loading.mjs +10 -10
  477. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  478. package/fesm2022/ngx-tethys-mention.mjs +13 -32
  479. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  480. package/fesm2022/ngx-tethys-menu.mjs +58 -72
  481. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  482. package/fesm2022/ngx-tethys-message.mjs +17 -17
  483. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  484. package/fesm2022/ngx-tethys-nav.mjs +30 -30
  485. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  486. package/fesm2022/ngx-tethys-notify.mjs +17 -17
  487. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  488. package/fesm2022/ngx-tethys-pagination.mjs +24 -53
  489. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  490. package/fesm2022/ngx-tethys-popover.mjs +26 -26
  491. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  492. package/fesm2022/ngx-tethys-progress.mjs +28 -28
  493. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  494. package/fesm2022/ngx-tethys-property-operation.mjs +22 -38
  495. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  496. package/fesm2022/ngx-tethys-property.mjs +19 -19
  497. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  498. package/fesm2022/ngx-tethys-radio.mjs +23 -23
  499. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  500. package/fesm2022/ngx-tethys-rate.mjs +24 -24
  501. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  502. package/fesm2022/ngx-tethys-resizable.mjs +15 -15
  503. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  504. package/fesm2022/ngx-tethys-result.mjs +8 -8
  505. package/fesm2022/ngx-tethys-result.mjs.map +1 -1
  506. package/fesm2022/ngx-tethys-segment.mjs +22 -22
  507. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  508. package/fesm2022/ngx-tethys-select.mjs +58 -58
  509. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  510. package/fesm2022/ngx-tethys-shared.mjs +52 -79
  511. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  512. package/fesm2022/ngx-tethys-skeleton.mjs +57 -74
  513. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  514. package/fesm2022/ngx-tethys-slide.mjs +48 -60
  515. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  516. package/fesm2022/ngx-tethys-slider.mjs +15 -15
  517. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  518. package/fesm2022/ngx-tethys-space.mjs +9 -9
  519. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  520. package/fesm2022/ngx-tethys-statistic.mjs +8 -8
  521. package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
  522. package/fesm2022/ngx-tethys-stepper.mjs +31 -43
  523. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  524. package/fesm2022/ngx-tethys-strength.mjs +10 -10
  525. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  526. package/fesm2022/ngx-tethys-switch.mjs +11 -11
  527. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  528. package/fesm2022/ngx-tethys-table.mjs +51 -51
  529. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  530. package/fesm2022/ngx-tethys-tabs.mjs +23 -23
  531. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  532. package/fesm2022/ngx-tethys-tag.mjs +13 -13
  533. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  534. package/fesm2022/ngx-tethys-time-picker.mjs +35 -35
  535. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  536. package/fesm2022/ngx-tethys-timeline.mjs +14 -14
  537. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  538. package/fesm2022/ngx-tethys-tooltip.mjs +8 -8
  539. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  540. package/fesm2022/ngx-tethys-transfer.mjs +21 -32
  541. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  542. package/fesm2022/ngx-tethys-tree-select.mjs +36 -36
  543. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  544. package/fesm2022/ngx-tethys-tree.mjs +26 -26
  545. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  546. package/fesm2022/ngx-tethys-typography.mjs +11 -11
  547. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  548. package/fesm2022/ngx-tethys-upload.mjs +11 -11
  549. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  550. package/fesm2022/ngx-tethys-vote.mjs +14 -14
  551. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  552. package/fesm2022/ngx-tethys.mjs +1 -1
  553. package/fesm2022/ngx-tethys.mjs.map +1 -1
  554. package/flexible-text/flexible-text.component.d.ts +3 -3
  555. package/flexible-text/flexible-text.module.d.ts +1 -1
  556. package/form/form-group-error/form-group-error.component.d.ts +3 -3
  557. package/form/form-group.component.d.ts +3 -3
  558. package/form/from-group-footer/form-group-footer.component.d.ts +3 -3
  559. package/form/module.d.ts +1 -1
  560. package/grid/module.d.ts +1 -1
  561. package/grid/thy-grid-item.component.d.ts +4 -4
  562. package/grid/thy-grid.component.d.ts +2 -2
  563. package/guider/guider-hint/guider-hint.component.d.ts +3 -3
  564. package/guider/guider.module.d.ts +1 -1
  565. package/icon/icon.component.d.ts +3 -3
  566. package/icon/icon.module.d.ts +1 -1
  567. package/icon/index.d.ts +1 -1
  568. package/image/image-group.component.d.ts +3 -3
  569. package/image/module.d.ts +1 -1
  570. package/image/preview/image-preview-ref.d.ts +4 -4
  571. package/image/preview/image-preview.component.d.ts +4 -4
  572. package/input/input-count.component.d.ts +5 -5
  573. package/input/input-group.component.d.ts +4 -4
  574. package/input/input-search.component.d.ts +3 -3
  575. package/input/input.component.d.ts +3 -3
  576. package/input/module.d.ts +1 -1
  577. package/input-number/input-number.component.d.ts +3 -3
  578. package/input-number/module.d.ts +1 -1
  579. package/layout/content-main.component.d.ts +3 -3
  580. package/layout/content-section.component.d.ts +3 -3
  581. package/layout/content.component.d.ts +3 -3
  582. package/layout/header.component.d.ts +3 -3
  583. package/layout/layout.component.d.ts +3 -3
  584. package/layout/layout.module.d.ts +1 -1
  585. package/layout/sidebar-content.component.d.ts +3 -3
  586. package/layout/sidebar-footer.component.d.ts +3 -3
  587. package/layout/sidebar-header.component.d.ts +3 -3
  588. package/layout/sidebar.component.d.ts +3 -3
  589. package/list/list-item-meta.component.d.ts +3 -3
  590. package/list/list-item.component.d.ts +3 -3
  591. package/list/list.component.d.ts +3 -3
  592. package/list/list.module.d.ts +1 -1
  593. package/list/selection/selection-list.d.ts +9 -9
  594. package/list/selection/selection.interface.d.ts +4 -4
  595. package/loading/loading.component.d.ts +3 -3
  596. package/loading/loading.module.d.ts +1 -1
  597. package/mention/mention.directive.d.ts +2 -2
  598. package/mention/mention.module.d.ts +1 -1
  599. package/mention/suggestions/suggestions.component.d.ts +3 -3
  600. package/menu/divider/menu-divider.component.d.ts +3 -3
  601. package/menu/group/menu-group.component.d.ts +3 -3
  602. package/menu/item/action/menu-item-action.component.d.ts +3 -3
  603. package/menu/item/icon/menu-item-icon.component.d.ts +3 -3
  604. package/menu/item/menu-item.component.d.ts +3 -3
  605. package/menu/item/name/menu-item-name.component.d.ts +3 -3
  606. package/menu/menu.component.d.ts +3 -3
  607. package/menu/menu.module.d.ts +1 -1
  608. package/message/message-container.component.d.ts +3 -3
  609. package/message/message.component.d.ts +3 -3
  610. package/message/message.service.d.ts +2 -2
  611. package/message/module.d.ts +1 -1
  612. package/nav/icon-nav/icon-nav-link.directive.d.ts +3 -3
  613. package/nav/icon-nav/icon-nav.component.d.ts +3 -3
  614. package/nav/nav.component.d.ts +3 -3
  615. package/nav/nav.module.d.ts +1 -1
  616. package/notify/module.d.ts +1 -1
  617. package/notify/notify-container.component.d.ts +3 -3
  618. package/notify/notify.component.d.ts +3 -3
  619. package/notify/notify.service.d.ts +2 -2
  620. package/package.json +134 -134
  621. package/pagination/pagination.component.d.ts +3 -3
  622. package/pagination/pagination.module.d.ts +1 -1
  623. package/popover/body/popover-body.component.d.ts +3 -3
  624. package/popover/header/popover-header.component.d.ts +3 -3
  625. package/popover/module.d.ts +1 -1
  626. package/popover/popover-container.component.d.ts +3 -3
  627. package/popover/popover-ref.d.ts +4 -4
  628. package/popover/popover.service.d.ts +5 -5
  629. package/progress/progress-circle.component.d.ts +3 -3
  630. package/progress/progress-strip.component.d.ts +4 -4
  631. package/progress/progress.component.d.ts +6 -6
  632. package/progress/progress.module.d.ts +1 -1
  633. package/property/module.d.ts +1 -1
  634. package/property/properties.component.d.ts +3 -3
  635. package/property/property-item.component.d.ts +5 -5
  636. package/property-operation/group/property-operation-group.component.d.ts +3 -3
  637. package/property-operation/module.d.ts +1 -1
  638. package/property-operation/property-operation.component.d.ts +3 -3
  639. package/radio/button/radio-button.component.d.ts +6 -6
  640. package/radio/group/radio-group.component.d.ts +7 -7
  641. package/radio/module.d.ts +1 -1
  642. package/radio/radio.component.d.ts +6 -6
  643. package/rate/module.d.ts +1 -1
  644. package/rate/rate-item.component.d.ts +3 -3
  645. package/rate/rate.component.d.ts +3 -3
  646. package/resizable/module.d.ts +1 -1
  647. package/resizable/resize-handle.component.d.ts +3 -3
  648. package/resizable/resize-handles.component.d.ts +3 -3
  649. package/result/result.component.d.ts +3 -3
  650. package/result/result.module.d.ts +1 -1
  651. package/schematics/dependencies.js +1 -1
  652. package/schematics/ng-update/data/class-names.js +740 -4
  653. package/schematics/ng-update/update-17/index.spec.js +1 -1
  654. package/schematics/version.d.ts +1 -1
  655. package/schematics/version.js +1 -1
  656. package/segment/segment-item.component.d.ts +3 -3
  657. package/segment/segment.component.d.ts +7 -7
  658. package/segment/segment.module.d.ts +1 -1
  659. package/segment/segment.token.d.ts +3 -3
  660. package/select/custom-select/custom-select.component.d.ts +17 -17
  661. package/select/index.d.ts +2 -2
  662. package/select/module.d.ts +2 -2
  663. package/select/{select.component.d.ts → native-select/native-select.component.d.ts} +4 -4
  664. package/select/{custom-select/styles → styles}/custom-select.scss +1 -1
  665. package/select/{custom-select/styles → styles}/mixin.scss +2 -2
  666. package/select/styles/select.scss +4 -4
  667. package/shared/option/group/option-group.component.d.ts +5 -5
  668. package/shared/option/list-option/list-option.component.d.ts +3 -3
  669. package/shared/option/module.d.ts +1 -1
  670. package/shared/option/option-group.component.d.ts +3 -3
  671. package/shared/option/option.component.d.ts +6 -6
  672. package/shared/option/option.token.d.ts +7 -7
  673. package/shared/option/options-container.component.d.ts +3 -3
  674. package/shared/select/module.d.ts +1 -1
  675. package/shared/select/select-control/select-control.component.d.ts +3 -3
  676. package/shared/select/select-control/select-control.scss +1 -1
  677. package/skeleton/module.d.ts +1 -1
  678. package/skeleton/skeleton-circle.component.d.ts +5 -5
  679. package/skeleton/skeleton-rectangle.component.d.ts +5 -5
  680. package/skeleton/skeleton.component.d.ts +3 -3
  681. package/skeleton/stylized/bullet-list.component.d.ts +3 -3
  682. package/skeleton/stylized/list.component.d.ts +3 -3
  683. package/skeleton/stylized/paragraph.component.d.ts +3 -3
  684. package/slide/slide-body/slide-body-section.component.d.ts +3 -3
  685. package/slide/slide-body/slide-body.component.d.ts +3 -3
  686. package/slide/slide-container.component.d.ts +3 -3
  687. package/slide/slide-footer/slide-footer.component.d.ts +3 -3
  688. package/slide/slide-header/slide-header.component.d.ts +3 -3
  689. package/slide/slide-layout/slide-layout.component.d.ts +3 -3
  690. package/slide/slide-ref.service.d.ts +4 -4
  691. package/slide/slide.module.d.ts +1 -1
  692. package/slide/slide.service.d.ts +5 -5
  693. package/slider/slider.component.d.ts +3 -3
  694. package/slider/slider.module.d.ts +1 -1
  695. package/space/space.component.d.ts +3 -3
  696. package/space/space.module.d.ts +1 -1
  697. package/statistic/statistic.component.d.ts +3 -3
  698. package/statistic/statistic.module.d.ts +1 -1
  699. package/stepper/step-header.component.d.ts +3 -3
  700. package/stepper/step.component.d.ts +4 -4
  701. package/stepper/stepper-button.directive.d.ts +3 -3
  702. package/stepper/stepper.component.d.ts +10 -10
  703. package/stepper/stepper.module.d.ts +1 -1
  704. package/strength/strength.component.d.ts +3 -3
  705. package/strength/strength.module.d.ts +1 -1
  706. package/styles/index.scss +1 -1
  707. package/styles/mixins/index.scss +1 -1
  708. package/switch/switch.component.d.ts +3 -3
  709. package/switch/switch.module.d.ts +1 -1
  710. package/table/table-skeleton.component.d.ts +3 -3
  711. package/table/table.component.d.ts +3 -3
  712. package/table/table.module.d.ts +1 -1
  713. package/tabs/tab-content.component.d.ts +3 -3
  714. package/tabs/tab.component.d.ts +3 -3
  715. package/tabs/tabs.component.d.ts +7 -7
  716. package/tabs/tabs.module.d.ts +1 -1
  717. package/tag/tag.component.d.ts +3 -3
  718. package/tag/tag.module.d.ts +1 -1
  719. package/tag/tags.component.d.ts +3 -3
  720. package/time-picker/inner/inner-time-picker.component.d.ts +3 -3
  721. package/time-picker/time-picker-panel.component.d.ts +3 -3
  722. package/time-picker/time-picker.component.d.ts +3 -3
  723. package/time-picker/time-picker.module.d.ts +1 -1
  724. package/timeline/timeline-item.component.d.ts +3 -3
  725. package/timeline/timeline.component.d.ts +6 -6
  726. package/timeline/timeline.module.d.ts +1 -1
  727. package/tooltip/tooltip.component.d.ts +3 -3
  728. package/tooltip/tooltip.module.d.ts +1 -1
  729. package/transfer/transfer-list.component.d.ts +3 -3
  730. package/transfer/transfer.component.d.ts +3 -3
  731. package/transfer/transfer.module.d.ts +1 -1
  732. package/tree/tree.component.d.ts +3 -3
  733. package/tree/tree.module.d.ts +1 -1
  734. package/tree-select/module.d.ts +1 -1
  735. package/tree-select/tree-select.component.d.ts +8 -8
  736. package/typography/module.d.ts +1 -1
  737. package/typography/text/text.component.d.ts +3 -3
  738. package/upload/file-select.component.d.ts +3 -3
  739. package/upload/module.d.ts +1 -1
  740. package/vote/vote.component.d.ts +3 -3
  741. package/vote/vote.module.d.ts +1 -1
  742. package/divider/examples/color/color.component.scss +0 -5
  743. package/divider/examples/deeper/deeper.component.scss +0 -5
  744. package/divider/examples/with-text/with-text.component.scss +0 -5
  745. package/esm2022/select/select.component.mjs +0 -103
@@ -1,6 +1,6 @@
1
1
  import { isTemplateRef } from 'ngx-tethys/util';
2
2
  import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
3
- import { ThyAvatarComponent } from 'ngx-tethys/avatar';
3
+ import { ThyAvatar } from 'ngx-tethys/avatar';
4
4
  import { ThyStringOrTemplateOutletDirective } from 'ngx-tethys/shared';
5
5
  import { NgIf, NgTemplateOutlet } from '@angular/common';
6
6
  import * as i0 from "@angular/core";
@@ -8,18 +8,18 @@ import * as i0 from "@angular/core";
8
8
  * 评论组件
9
9
  * @name thy-comment
10
10
  */
11
- export class ThyCommentComponent {
11
+ export class ThyComment {
12
12
  constructor() {
13
13
  this.isTemplateRef = isTemplateRef;
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCommentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyCommentComponent, isStandalone: true, selector: "thy-comment", inputs: { thyAuthor: "thyAuthor", thyDatetime: "thyDatetime", thyAvatar: "thyAvatar" }, host: { classAttribute: "thy-comment" }, ngImport: i0, template: "<div class=\"thy-comment-inner\">\n <ng-container *ngIf=\"isTemplateRef(this.thyAvatar); else defaultAvatar\">\n <ng-template [ngTemplateOutlet]=\"thyAvatar\"></ng-template>\n </ng-container>\n\n <div class=\"thy-comment-body\">\n <div class=\"thy-comment-body-author\">\n <span class=\"thy-comment-body-author-name\">\n <ng-container *thyStringOrTemplateOutlet=\"thyAuthor\"></ng-container>\n </span>\n <span class=\"thy-comment-body-author-time\">\n <ng-container *thyStringOrTemplateOutlet=\"thyDatetime\"></ng-container>\n </span>\n </div>\n <ng-content select=\"[thyCommentContent]\"></ng-content>\n </div>\n <ng-content select=\"[thyCommentActions]\"></ng-content>\n</div>\n<div class=\"thy-comment-nested\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #defaultAvatar>\n <ng-container *ngIf=\"thyAuthor || thyAvatar\">\n <div class=\"thy-comment-avatar\">\n <thy-avatar [thyName]=\"!isTemplateRef(thyAuthor) && thyAuthor\" thySize=\"28\" [thySrc]=\"thyAvatar || ''\"></thy-avatar>\n </div>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ThyStringOrTemplateOutletDirective, selector: "[thyStringOrTemplateOutlet]", inputs: ["thyStringOrTemplateOutletContext", "thyStringOrTemplateOutlet"], exportAs: ["thyStringOrTemplateOutlet"] }, { kind: "component", type: ThyAvatarComponent, selector: "thy-avatar", inputs: ["thyShowName", "thySrc", "thyName", "thySize", "thyShowRemove", "thyRemovable", "thyImgClass", "thyDisabled", "thyLoading", "thyFetchPriority"], outputs: ["thyOnRemove", "thyRemove", "thyError"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyComment, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyComment, isStandalone: true, selector: "thy-comment", inputs: { thyAuthor: "thyAuthor", thyDatetime: "thyDatetime", thyAvatar: "thyAvatar" }, host: { classAttribute: "thy-comment" }, ngImport: i0, template: "<div class=\"thy-comment-inner\">\n <ng-container *ngIf=\"isTemplateRef(this.thyAvatar); else defaultAvatar\">\n <ng-template [ngTemplateOutlet]=\"thyAvatar\"></ng-template>\n </ng-container>\n\n <div class=\"thy-comment-body\">\n <div class=\"thy-comment-body-author\">\n <span class=\"thy-comment-body-author-name\">\n <ng-container *thyStringOrTemplateOutlet=\"thyAuthor\"></ng-container>\n </span>\n <span class=\"thy-comment-body-author-time\">\n <ng-container *thyStringOrTemplateOutlet=\"thyDatetime\"></ng-container>\n </span>\n </div>\n <ng-content select=\"[thyCommentContent]\"></ng-content>\n </div>\n <ng-content select=\"[thyCommentActions]\"></ng-content>\n</div>\n<div class=\"thy-comment-nested\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #defaultAvatar>\n <ng-container *ngIf=\"thyAuthor || thyAvatar\">\n <div class=\"thy-comment-avatar\">\n <thy-avatar [thyName]=\"!isTemplateRef(thyAuthor) && thyAuthor\" thySize=\"28\" [thySrc]=\"thyAvatar || ''\"></thy-avatar>\n </div>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ThyStringOrTemplateOutletDirective, selector: "[thyStringOrTemplateOutlet]", inputs: ["thyStringOrTemplateOutletContext", "thyStringOrTemplateOutlet"], exportAs: ["thyStringOrTemplateOutlet"] }, { kind: "component", type: ThyAvatar, selector: "thy-avatar", inputs: ["thyShowName", "thySrc", "thyName", "thySize", "thyShowRemove", "thyRemovable", "thyImgClass", "thyDisabled", "thyLoading", "thyFetchPriority"], outputs: ["thyOnRemove", "thyRemove", "thyError"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCommentComponent, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyComment, decorators: [{
19
19
  type: Component,
20
20
  args: [{ selector: 'thy-comment', host: {
21
21
  class: 'thy-comment'
22
- }, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, NgTemplateOutlet, ThyStringOrTemplateOutletDirective, ThyAvatarComponent], template: "<div class=\"thy-comment-inner\">\n <ng-container *ngIf=\"isTemplateRef(this.thyAvatar); else defaultAvatar\">\n <ng-template [ngTemplateOutlet]=\"thyAvatar\"></ng-template>\n </ng-container>\n\n <div class=\"thy-comment-body\">\n <div class=\"thy-comment-body-author\">\n <span class=\"thy-comment-body-author-name\">\n <ng-container *thyStringOrTemplateOutlet=\"thyAuthor\"></ng-container>\n </span>\n <span class=\"thy-comment-body-author-time\">\n <ng-container *thyStringOrTemplateOutlet=\"thyDatetime\"></ng-container>\n </span>\n </div>\n <ng-content select=\"[thyCommentContent]\"></ng-content>\n </div>\n <ng-content select=\"[thyCommentActions]\"></ng-content>\n</div>\n<div class=\"thy-comment-nested\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #defaultAvatar>\n <ng-container *ngIf=\"thyAuthor || thyAvatar\">\n <div class=\"thy-comment-avatar\">\n <thy-avatar [thyName]=\"!isTemplateRef(thyAuthor) && thyAuthor\" thySize=\"28\" [thySrc]=\"thyAvatar || ''\"></thy-avatar>\n </div>\n </ng-container>\n</ng-template>\n" }]
22
+ }, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, NgTemplateOutlet, ThyStringOrTemplateOutletDirective, ThyAvatar], template: "<div class=\"thy-comment-inner\">\n <ng-container *ngIf=\"isTemplateRef(this.thyAvatar); else defaultAvatar\">\n <ng-template [ngTemplateOutlet]=\"thyAvatar\"></ng-template>\n </ng-container>\n\n <div class=\"thy-comment-body\">\n <div class=\"thy-comment-body-author\">\n <span class=\"thy-comment-body-author-name\">\n <ng-container *thyStringOrTemplateOutlet=\"thyAuthor\"></ng-container>\n </span>\n <span class=\"thy-comment-body-author-time\">\n <ng-container *thyStringOrTemplateOutlet=\"thyDatetime\"></ng-container>\n </span>\n </div>\n <ng-content select=\"[thyCommentContent]\"></ng-content>\n </div>\n <ng-content select=\"[thyCommentActions]\"></ng-content>\n</div>\n<div class=\"thy-comment-nested\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #defaultAvatar>\n <ng-container *ngIf=\"thyAuthor || thyAvatar\">\n <div class=\"thy-comment-avatar\">\n <thy-avatar [thyName]=\"!isTemplateRef(thyAuthor) && thyAuthor\" thySize=\"28\" [thySrc]=\"thyAvatar || ''\"></thy-avatar>\n </div>\n </ng-container>\n</ng-template>\n" }]
23
23
  }], propDecorators: { thyAuthor: [{
24
24
  type: Input
25
25
  }], thyDatetime: [{
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
27
27
  }], thyAvatar: [{
28
28
  type: Input
29
29
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWVudC9jb21tZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21tZW50L2NvbW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFekQ7OztHQUdHO0FBV0gsTUFBTSxPQUFPLG1CQUFtQjtJQVZoQztRQTBCSSxrQkFBYSxHQUFHLGFBQWEsQ0FBQztLQUNqQzs4R0FqQlksbUJBQW1CO2tHQUFuQixtQkFBbUIsd01DckJoQyxrbENBNkJBLDRDRFZjLElBQUksNkZBQUUsZ0JBQWdCLG9KQUFFLGtDQUFrQyw0TEFBRSxrQkFBa0I7OzJGQUUvRSxtQkFBbUI7a0JBVi9CLFNBQVM7K0JBQ0ksYUFBYSxRQUVqQjt3QkFDRixLQUFLLEVBQUUsYUFBYTtxQkFDdkIsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLGtDQUFrQyxFQUFFLGtCQUFrQixDQUFDOzhCQU1oRixTQUFTO3NCQUFqQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzVGVtcGxhdGVSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgU2FmZUFueSB9IGZyb20gJ25neC10ZXRoeXMvdHlwZXMnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlBdmF0YXJDb21wb25lbnQgfSBmcm9tICduZ3gtdGV0aHlzL2F2YXRhcic7XG5pbXBvcnQgeyBUaHlTdHJpbmdPclRlbXBsYXRlT3V0bGV0RGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy9zaGFyZWQnO1xuaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qKlxuICog6K+E6K6657uE5Lu2XG4gKiBAbmFtZSB0aHktY29tbWVudFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1jb21tZW50JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29tbWVudC5jb21wb25lbnQuaHRtbCcsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1jb21tZW50J1xuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgVGh5U3RyaW5nT3JUZW1wbGF0ZU91dGxldERpcmVjdGl2ZSwgVGh5QXZhdGFyQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlDb21tZW50Q29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDlsZXnpLror4TorrrkvZzogIVcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlBdXRob3I/OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxTYWZlQW55PjtcblxuICAgIC8qKlxuICAgICAqIOWxleekuuivhOiuuuaXtumXtFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeURhdGV0aW1lPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8U2FmZUFueT47XG5cbiAgICAvKipcbiAgICAgKiDlsZXnpLror4TorrrkvZzogIXlpLTlg49cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlBdmF0YXI/OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxTYWZlQW55PjtcblxuICAgIGlzVGVtcGxhdGVSZWYgPSBpc1RlbXBsYXRlUmVmO1xufVxuIiwiPGRpdiBjbGFzcz1cInRoeS1jb21tZW50LWlubmVyXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1RlbXBsYXRlUmVmKHRoaXMudGh5QXZhdGFyKTsgZWxzZSBkZWZhdWx0QXZhdGFyXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRoeUF2YXRhclwiPjwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxkaXYgY2xhc3M9XCJ0aHktY29tbWVudC1ib2R5XCI+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1jb21tZW50LWJvZHktYXV0aG9yXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInRoeS1jb21tZW50LWJvZHktYXV0aG9yLW5hbWVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqdGh5U3RyaW5nT3JUZW1wbGF0ZU91dGxldD1cInRoeUF1dGhvclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0aHktY29tbWVudC1ib2R5LWF1dGhvci10aW1lXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKnRoeVN0cmluZ09yVGVtcGxhdGVPdXRsZXQ9XCJ0aHlEYXRldGltZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt0aHlDb21tZW50Q29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbdGh5Q29tbWVudEFjdGlvbnNdXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwidGh5LWNvbW1lbnQtbmVzdGVkXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRBdmF0YXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aHlBdXRob3IgfHwgdGh5QXZhdGFyXCI+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1jb21tZW50LWF2YXRhclwiPlxuICAgICAgPHRoeS1hdmF0YXIgW3RoeU5hbWVdPVwiIWlzVGVtcGxhdGVSZWYodGh5QXV0aG9yKSAmJiB0aHlBdXRob3JcIiB0aHlTaXplPVwiMjhcIiBbdGh5U3JjXT1cInRoeUF2YXRhciB8fCAnJ1wiPjwvdGh5LWF2YXRhcj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWVudC9jb21tZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21tZW50L2NvbW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRXpEOzs7R0FHRztBQVdILE1BQU0sT0FBTyxVQUFVO0lBVnZCO1FBMEJJLGtCQUFhLEdBQUcsYUFBYSxDQUFDO0tBQ2pDOzhHQWpCWSxVQUFVO2tHQUFWLFVBQVUsd01DckJ2QixrbENBNkJBLDRDRFZjLElBQUksNkZBQUUsZ0JBQWdCLG9KQUFFLGtDQUFrQyw0TEFBRSxTQUFTOzsyRkFFdEUsVUFBVTtrQkFWdEIsU0FBUzsrQkFDSSxhQUFhLFFBRWpCO3dCQUNGLEtBQUssRUFBRSxhQUFhO3FCQUN2QixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsa0NBQWtDLEVBQUUsU0FBUyxDQUFDOzhCQU12RSxTQUFTO3NCQUFqQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzVGVtcGxhdGVSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgU2FmZUFueSB9IGZyb20gJ25neC10ZXRoeXMvdHlwZXMnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlBdmF0YXIgfSBmcm9tICduZ3gtdGV0aHlzL2F2YXRhcic7XG5pbXBvcnQgeyBUaHlTdHJpbmdPclRlbXBsYXRlT3V0bGV0RGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy9zaGFyZWQnO1xuaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qKlxuICog6K+E6K6657uE5Lu2XG4gKiBAbmFtZSB0aHktY29tbWVudFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1jb21tZW50JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29tbWVudC5jb21wb25lbnQuaHRtbCcsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1jb21tZW50J1xuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgVGh5U3RyaW5nT3JUZW1wbGF0ZU91dGxldERpcmVjdGl2ZSwgVGh5QXZhdGFyXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlDb21tZW50IHtcbiAgICAvKipcbiAgICAgKiDlsZXnpLror4TorrrkvZzogIVcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlBdXRob3I/OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxTYWZlQW55PjtcblxuICAgIC8qKlxuICAgICAqIOWxleekuuivhOiuuuaXtumXtFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeURhdGV0aW1lPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8U2FmZUFueT47XG5cbiAgICAvKipcbiAgICAgKiDlsZXnpLror4TorrrkvZzogIXlpLTlg49cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlBdmF0YXI/OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxTYWZlQW55PjtcblxuICAgIGlzVGVtcGxhdGVSZWYgPSBpc1RlbXBsYXRlUmVmO1xufVxuIiwiPGRpdiBjbGFzcz1cInRoeS1jb21tZW50LWlubmVyXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1RlbXBsYXRlUmVmKHRoaXMudGh5QXZhdGFyKTsgZWxzZSBkZWZhdWx0QXZhdGFyXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRoeUF2YXRhclwiPjwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxkaXYgY2xhc3M9XCJ0aHktY29tbWVudC1ib2R5XCI+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1jb21tZW50LWJvZHktYXV0aG9yXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInRoeS1jb21tZW50LWJvZHktYXV0aG9yLW5hbWVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqdGh5U3RyaW5nT3JUZW1wbGF0ZU91dGxldD1cInRoeUF1dGhvclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0aHktY29tbWVudC1ib2R5LWF1dGhvci10aW1lXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKnRoeVN0cmluZ09yVGVtcGxhdGVPdXRsZXQ9XCJ0aHlEYXRldGltZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt0aHlDb21tZW50Q29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbdGh5Q29tbWVudEFjdGlvbnNdXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwidGh5LWNvbW1lbnQtbmVzdGVkXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRBdmF0YXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aHlBdXRob3IgfHwgdGh5QXZhdGFyXCI+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1jb21tZW50LWF2YXRhclwiPlxuICAgICAgPHRoeS1hdmF0YXIgW3RoeU5hbWVdPVwiIWlzVGVtcGxhdGVSZWYodGh5QXV0aG9yKSAmJiB0aHlBdXRob3JcIiB0aHlTaXplPVwiMjhcIiBbdGh5U3JjXT1cInRoeUF2YXRhciB8fCAnJ1wiPjwvdGh5LWF2YXRhcj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,7 +1,7 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { ThySharedModule } from 'ngx-tethys/shared';
4
- import { ThyCommentComponent } from './comment.component';
4
+ import { ThyComment } from './comment.component';
5
5
  import { ThyIconModule } from 'ngx-tethys/icon';
6
6
  import { ThyAvatarModule } from 'ngx-tethys/avatar';
7
7
  import { ThyCommentContentDirective } from './comment-content.directive';
@@ -13,14 +13,14 @@ export class ThyCommentModule {
13
13
  ThySharedModule,
14
14
  ThyIconModule,
15
15
  ThyAvatarModule,
16
- ThyCommentComponent,
16
+ ThyComment,
17
17
  ThyCommentContentDirective,
18
- ThyCommentActionsDirective], exports: [ThyCommentComponent, ThyCommentContentDirective, ThyCommentActionsDirective] }); }
18
+ ThyCommentActionsDirective], exports: [ThyComment, ThyCommentContentDirective, ThyCommentActionsDirective] }); }
19
19
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCommentModule, imports: [CommonModule,
20
20
  ThySharedModule,
21
21
  ThyIconModule,
22
22
  ThyAvatarModule,
23
- ThyCommentComponent] }); }
23
+ ThyComment] }); }
24
24
  }
25
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyCommentModule, decorators: [{
26
26
  type: NgModule,
@@ -30,12 +30,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
30
30
  ThySharedModule,
31
31
  ThyIconModule,
32
32
  ThyAvatarModule,
33
- ThyCommentComponent,
33
+ ThyComment,
34
34
  ThyCommentContentDirective,
35
35
  ThyCommentActionsDirective
36
36
  ],
37
- exports: [ThyCommentComponent, ThyCommentContentDirective, ThyCommentActionsDirective],
37
+ exports: [ThyComment, ThyCommentContentDirective, ThyCommentActionsDirective],
38
38
  providers: []
39
39
  }]
40
40
  }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWVudC9jb21tZW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFjekUsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsWUFYckIsWUFBWTtZQUNaLGVBQWU7WUFDZixhQUFhO1lBQ2IsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQiwwQkFBMEI7WUFDMUIsMEJBQTBCLGFBRXBCLG1CQUFtQixFQUFFLDBCQUEwQixFQUFFLDBCQUEwQjsrR0FHNUUsZ0JBQWdCLFlBWHJCLFlBQVk7WUFDWixlQUFlO1lBQ2YsYUFBYTtZQUNiLGVBQWU7WUFDZixtQkFBbUI7OzJGQU9kLGdCQUFnQjtrQkFiNUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3FCQUM3QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSwwQkFBMEIsRUFBRSwwQkFBMEIsQ0FBQztvQkFDdEYsU0FBUyxFQUFFLEVBQUU7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlTaGFyZWRNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3NoYXJlZCc7XG5pbXBvcnQgeyBUaHlDb21tZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21tZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlJY29uTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IFRoeUF2YXRhck1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYXZhdGFyJztcbmltcG9ydCB7IFRoeUNvbW1lbnRDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9jb21tZW50LWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRoeUNvbW1lbnRBY3Rpb25zRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21tZW50LWFjdGlvbnMuZGlyZWN0aXZlJztcbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFRoeVNoYXJlZE1vZHVsZSxcbiAgICAgICAgVGh5SWNvbk1vZHVsZSxcbiAgICAgICAgVGh5QXZhdGFyTW9kdWxlLFxuICAgICAgICBUaHlDb21tZW50Q29tcG9uZW50LFxuICAgICAgICBUaHlDb21tZW50Q29udGVudERpcmVjdGl2ZSxcbiAgICAgICAgVGh5Q29tbWVudEFjdGlvbnNEaXJlY3RpdmVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtUaHlDb21tZW50Q29tcG9uZW50LCBUaHlDb21tZW50Q29udGVudERpcmVjdGl2ZSwgVGh5Q29tbWVudEFjdGlvbnNEaXJlY3RpdmVdLFxuICAgIHByb3ZpZGVyczogW11cbn0pXG5leHBvcnQgY2xhc3MgVGh5Q29tbWVudE1vZHVsZSB7fVxuIl19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWVudC9jb21tZW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBY3pFLE1BQU0sT0FBTyxnQkFBZ0I7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLFlBWHJCLFlBQVk7WUFDWixlQUFlO1lBQ2YsYUFBYTtZQUNiLGVBQWU7WUFDZixVQUFVO1lBQ1YsMEJBQTBCO1lBQzFCLDBCQUEwQixhQUVwQixVQUFVLEVBQUUsMEJBQTBCLEVBQUUsMEJBQTBCOytHQUduRSxnQkFBZ0IsWUFYckIsWUFBWTtZQUNaLGVBQWU7WUFDZixhQUFhO1lBQ2IsZUFBZTtZQUNmLFVBQVU7OzJGQU9MLGdCQUFnQjtrQkFiNUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixVQUFVO3dCQUNWLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3FCQUM3QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxVQUFVLEVBQUUsMEJBQTBCLEVBQUUsMEJBQTBCLENBQUM7b0JBQzdFLFNBQVMsRUFBRSxFQUFFO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5U2hhcmVkTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9zaGFyZWQnO1xuaW1wb3J0IHsgVGh5Q29tbWVudCB9IGZyb20gJy4vY29tbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5SWNvbk1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBUaHlBdmF0YXJNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2F2YXRhcic7XG5pbXBvcnQgeyBUaHlDb21tZW50Q29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vY29tbWVudC1jb250ZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUaHlDb21tZW50QWN0aW9uc0RpcmVjdGl2ZSB9IGZyb20gJy4vY29tbWVudC1hY3Rpb25zLmRpcmVjdGl2ZSc7XG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBUaHlTaGFyZWRNb2R1bGUsXG4gICAgICAgIFRoeUljb25Nb2R1bGUsXG4gICAgICAgIFRoeUF2YXRhck1vZHVsZSxcbiAgICAgICAgVGh5Q29tbWVudCxcbiAgICAgICAgVGh5Q29tbWVudENvbnRlbnREaXJlY3RpdmUsXG4gICAgICAgIFRoeUNvbW1lbnRBY3Rpb25zRGlyZWN0aXZlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbVGh5Q29tbWVudCwgVGh5Q29tbWVudENvbnRlbnREaXJlY3RpdmUsIFRoeUNvbW1lbnRBY3Rpb25zRGlyZWN0aXZlXSxcbiAgICBwcm92aWRlcnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIFRoeUNvbW1lbnRNb2R1bGUge31cbiJdfQ==
@@ -3,7 +3,7 @@ import { InputBoolean, TabIndexDisabledControlValueAccessorMixin } from 'ngx-tet
3
3
  import { coerceBooleanProperty } from 'ngx-tethys/util';
4
4
  import { Subject } from 'rxjs';
5
5
  import { ChangeDetectorRef, Directive, EventEmitter, Input, Output, ViewChild } from '@angular/core';
6
- import { ThyPickerComponent } from './picker.component';
6
+ import { ThyPicker } from './picker.component';
7
7
  import { makeValue, transformDateValue } from './picker.util';
8
8
  import * as i0 from "@angular/core";
9
9
  /**
@@ -253,7 +253,7 @@ export class AbstractPickerComponent extends TabIndexDisabledControlValueAccesso
253
253
  this.thyValue = makeValue(value, this.isRange);
254
254
  }
255
255
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: AbstractPickerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
256
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.2", type: AbstractPickerComponent, inputs: { thyMode: "thyMode", thyAllowClear: "thyAllowClear", thyAutoFocus: "thyAutoFocus", thyOpen: "thyOpen", thyDisabledDate: "thyDisabledDate", thyMinDate: "thyMinDate", thyMaxDate: "thyMaxDate", thyPlaceHolder: "thyPlaceHolder", thyReadonly: "thyReadonly", thyOriginClassName: "thyOriginClassName", thyPanelClassName: "thyPanelClassName", thySize: "thySize", thyFormat: "thyFormat", thyAutoStartAndEnd: "thyAutoStartAndEnd", thyDefaultPickerValue: "thyDefaultPickerValue", thySuffixIcon: "thySuffixIcon", thyShowShortcut: "thyShowShortcut", thyShortcutPosition: "thyShortcutPosition", thyShortcutPresets: "thyShortcutPresets", thyDisabled: "thyDisabled" }, outputs: { thyShortcutValueChange: "thyShortcutValueChange", thyDateChange: "thyDateChange", thyOpenChange: "thyOpenChange" }, viewQueries: [{ propertyName: "picker", first: true, predicate: ThyPickerComponent, descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
256
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.2", type: AbstractPickerComponent, inputs: { thyMode: "thyMode", thyAllowClear: "thyAllowClear", thyAutoFocus: "thyAutoFocus", thyOpen: "thyOpen", thyDisabledDate: "thyDisabledDate", thyMinDate: "thyMinDate", thyMaxDate: "thyMaxDate", thyPlaceHolder: "thyPlaceHolder", thyReadonly: "thyReadonly", thyOriginClassName: "thyOriginClassName", thyPanelClassName: "thyPanelClassName", thySize: "thySize", thyFormat: "thyFormat", thyAutoStartAndEnd: "thyAutoStartAndEnd", thyDefaultPickerValue: "thyDefaultPickerValue", thySuffixIcon: "thySuffixIcon", thyShowShortcut: "thyShowShortcut", thyShortcutPosition: "thyShortcutPosition", thyShortcutPresets: "thyShortcutPresets", thyDisabled: "thyDisabled" }, outputs: { thyShortcutValueChange: "thyShortcutValueChange", thyDateChange: "thyDateChange", thyOpenChange: "thyOpenChange" }, viewQueries: [{ propertyName: "picker", first: true, predicate: ThyPicker, descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
257
257
  }
258
258
  __decorate([
259
259
  InputBoolean(),
@@ -332,8 +332,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
332
332
  type: Output
333
333
  }], picker: [{
334
334
  type: ViewChild,
335
- args: [ThyPickerComponent, { static: true }]
335
+ args: [ThyPicker, { static: true }]
336
336
  }], thyDisabled: [{
337
337
  type: Input
338
338
  }] } });
339
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRlLXBpY2tlci9hYnN0cmFjdC1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLHlDQUF5QyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUYsT0FBTyxFQUFFLHFCQUFxQixFQUE2QixNQUFNLGlCQUFpQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBRU4sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBYzlEOztHQUVHO0FBRUgsTUFBTSxPQUFnQix1QkFDbEIsU0FBUSx5Q0FBeUM7SUFPakQ7OztPQUdHO0lBQ0gsSUFBYSxPQUFPLENBQUMsS0FBbUI7UUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLElBQUksTUFBTSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQXVGRDs7O09BR0c7SUFDSCxJQUFhLG1CQUFtQixDQUFDLFFBQTZCO1FBQzFELElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQztRQUNyQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQWEsa0JBQWtCLENBQUMsT0FBMEI7UUFDdEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFP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QVc7c0JBRmQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0Qm9vbGVhbiwgVGFiSW5kZXhEaXNhYmxlZENvbnRyb2xWYWx1ZUFjY2Vzc29yTWl4aW4gfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBUaW55RGF0ZSwgd2FybkRlcHJlY2F0aW9uIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBDb21wYXRpYmxlVmFsdWUsIFJhbmdlQWR2YW5jZWRWYWx1ZSB9IGZyb20gJy4vaW5uZXItdHlwZXMnO1xuaW1wb3J0IHsgVGh5UGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IG1ha2VWYWx1ZSwgdHJhbnNmb3JtRGF0ZVZhbHVlIH0gZnJvbSAnLi9waWNrZXIudXRpbCc7XG5pbXBvcnQge1xuICAgIENvbXBhdGlibGVEYXRlLFxuICAgIERhdGVFbnRyeSxcbiAgICBEaXNhYmxlZERhdGVGbixcbiAgICBUaHlEYXRlUmFuZ2VFbnRyeSxcbiAgICBUaHlQYW5lbE1vZGUsXG4gICAgVGh5U2hvcnRjdXRQb3NpdGlvbixcbiAgICBDb21wYXRpYmxlUHJlc2V0cyxcbiAgICBUaHlTaG9ydGN1dFZhbHVlQ2hhbmdlLFxuICAgIFRoeURhdGVHcmFudWxhcml0eSxcbiAgICBUaHlEYXRlQ2hhbmdlRXZlbnRcbn0gZnJvbSAnLi9zdGFuZGFyZC10eXBlcyc7XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RQaWNrZXJDb21wb25lbnRcbiAgICBleHRlbmRzIFRhYkluZGV4RGlzYWJsZWRDb250cm9sVmFsdWVBY2Nlc3Nvck1peGluXG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3Nvclxue1xuICAgIHRoeVZhbHVlOiBDb21wYXRpYmxlVmFsdWUgfCBudWxsO1xuXG4gICAgX3BhbmVsTW9kZTogVGh5UGFuZWxNb2RlID0gJ2RhdGUnO1xuXG4gICAgLyoqXG4gICAgICog5qih5byPXG4gICAgICogQHR5cGUgZGVjYWRlIHwgeWVhciB8IG1vbnRoIHwgZGF0ZSB8IHdlZWsgfCBmbGV4aWJsZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCB0aHlNb2RlKHZhbHVlOiBUaHlQYW5lbE1vZGUpIHtcbiAgICAgICAgdGhpcy5fcGFuZWxNb2RlID0gdmFsdWUgPz8gJ2RhdGUnO1xuICAgIH1cblxuICAgIGdldCB0aHlNb2RlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFuZWxNb2RlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaYvuekuua4hemZpOaMiemSrlxuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB0aHlBbGxvd0NsZWFyID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuiHquWKqOiOt+WPlueEpueCuVxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHRoeUF1dG9Gb2N1cyA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHRoeU9wZW46IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSB0aHlEaXNhYmxlZERhdGU6IERpc2FibGVkRGF0ZUZuO1xuXG4gICAgLyoqXG4gICAgICog5pyA5bCP5YC8XG4gICAgICogQHR5cGUgRGF0ZSB8IG51bWJlclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeU1pbkRhdGU6IERhdGUgfCBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDmnIDlpKflgLxcbiAgICAgKiBAdHlwZSBEYXRlIHwgbnVtYmVyXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5TWF4RGF0ZTogRGF0ZSB8IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIOi+k+WFpeahhuaPkOekuuaWh+Wtl1xuICAgICAqIEB0eXBlIHN0cmluZyB8IHN0cmluZ1tdXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UGxhY2VIb2xkZXI6IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5Y+q6K+7XG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgdGh5UmVhZG9ubHk6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDpgInmi6nlmaggY2xhc3NOYW1lXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5T3JpZ2luQ2xhc3NOYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rlsYIgY2xhc3NOYW1lXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UGFuZWxDbGFzc05hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOi+k+WFpeahhueahOWkp+Wwj1xuICAgICAqIEB0eXBlIHhzIHwgc20gfCBtZCB8IGxnIHwgZGVmYXVsdFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVNpemU6ICdsZycgfCAnbWQnIHwgJ3NtJyB8ICd4cycgfCAnZGVmYXVsdCcgPSAnZGVmYXVsdCc7XG5cbiAgICAvKipcbiAgICAgKiDlsZXnpLrnmoTml6XmnJ/moLzlvI9cbiAgICAgKiBAZGVmYXVsdCB5eXl5LU1NLWRkXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5Rm9ybWF0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgb25seSBmb3IgcmFuZ2UgcGlja2VyLCBXaGV0aGVyIHRvIGF1dG9tYXRpY2FsbHkgdGFrZSB0aGUgYmVnaW5uaW5nIGFuZCBlbmRpbmcgdW5peFRpbWUgb2YgdGhlIGRheVxuICAgICAqIEBkZXNjcmlwdGlvbi56aC1jbiDmmK/lkKblj5blgLzlvIDlp4vml6XmnJ/nmoQwMDowMOS7peWPiuaIquatouaXpeacn+eahDI0OjAwXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgdGh5QXV0b1N0YXJ0QW5kRW5kID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDpnaLmnb/pu5jorqTml6XmnJ9cbiAgICAgKiBAdHlwZSBDb21wYXRpYmxlRGF0ZSB8IG51bWJlciB8IG51bGxcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlEZWZhdWx0UGlja2VyVmFsdWU6IENvbXBhdGlibGVEYXRlIHwgbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnnmoTlkI7nvIDlm77moIdcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlTdWZmaXhJY29uID0gJ2NhbGVuZGFyJztcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuWxleekuuW/q+aNt+mAiemhuemdouadv1xuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHRoeVNob3dTaG9ydGN1dDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOW/q+aNt+mAiemhuemdouadv+eahOaYvuekuuS9jee9rlxuICAgICAqIEB0eXBlIGxlZnQgfCBib3R0b21cbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgdGh5U2hvcnRjdXRQb3NpdGlvbihwb3NpdGlvbjogVGh5U2hvcnRjdXRQb3NpdGlvbikge1xuICAgICAgICBpZiAoISFwb3NpdGlvbikge1xuICAgICAgICAgICAgdGhpcy5zaG9ydGN1dFBvc2l0aW9uID0gcG9zaXRpb247XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnlv6vmjbfpgInpoblcbiAgICAgKiBAdHlwZSBUaHlTaG9ydGN1dFByZXNldFtdXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHRoeVNob3J0Y3V0UHJlc2V0cyhwcmVzZXRzOiBDb21wYXRpYmxlUHJlc2V0cykge1xuICAgICAgICB0aGlzLnNob3J0Y3V0UHJlc2V0cyA9IHByZXNldHM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5bey5bqf5byD77yM6K+35L2/55SoIHRoeURhdGVDaGFuZ2VcbiAgICAgKiBAZGVwcmVjYXRlZCBwbGVhc2UgdXNlIHRoeURhdGVDaGFuZ2VcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdGh5U2hvcnRjdXRWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGh5U2hvcnRjdXRWYWx1ZUNoYW5nZT4oKTtcblxuICAgIC8qKlxuICAgICAqIOaXpeacn+WPmOWMlueahOWbnuiwg1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSB0aHlEYXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlEYXRlQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdGh5T3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBWaWV3Q2hpbGQoVGh5UGlja2VyQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgcGlja2VyOiBUaHlQaWNrZXJDb21wb25lbnQ7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbnpoHnlKhcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQElucHV0Qm9vbGVhbigpXG4gICAgZ2V0IHRoeURpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcbiAgICB9XG4gICAgc2V0IHRoeURpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBzaG9ydGN1dFBvc2l0aW9uOiBUaHlTaG9ydGN1dFBvc2l0aW9uID0gJ2xlZnQnO1xuXG4gICAgc2hvcnRjdXRQcmVzZXRzOiBDb21wYXRpYmxlUHJlc2V0cztcblxuICAgIGlzUmFuZ2U6IGJvb2xlYW47XG5cbiAgICB3aXRoVGltZTogYm9vbGVhbjtcblxuICAgIGZsZXhpYmxlOiBib29sZWFuO1xuXG4gICAgZmxleGlibGVEYXRlR3JhbnVsYXJpdHk6IFRoeURhdGVHcmFudWxhcml0eTtcblxuICAgIHByb3RlY3RlZCBkZXN0cm95ZWQkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcbiAgICBwcm90ZWN0ZWQgaXNDdXN0b21QbGFjZUhvbGRlciA9IGZhbHNlO1xuICAgIHByaXZhdGUgb25seUVtaXREYXRlID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIG9yaWdpbldpdGhUaW1lOiBib29sZWFuO1xuXG4gICAgZ2V0IHJlYWxPcGVuU3RhdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBpY2tlci5yZWFsT3BlblN0YXRlO1xuICAgIH1cblxuICAgIGdldCBpc1Nob3dEYXRlUG9wdXAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBpY2tlci5pc1Nob3dEYXRlUG9wdXA7XG4gICAgfVxuXG4gICAgaW5pdFZhbHVlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRoeVZhbHVlID0gdGhpcy5pc1JhbmdlID8gW10gOiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0RGVmYXVsdFBsYWNlSG9sZGVyKCk7XG4gICAgICAgIHRoaXMuaW5pdFZhbHVlKCk7XG4gICAgICAgIHRoaXMuaXNGbGV4aWJsZSgpO1xuICAgIH1cblxuICAgIGlzRmxleGlibGUoKSB7XG4gICAgICAgIHRoaXMuZmxleGlibGUgPSB0aGlzLnRoeU1vZGUgPT09ICdmbGV4aWJsZSc7XG4gICAgfVxuXG4gICAgb25TaG9ydGN1dFZhbHVlQ2hhbmdlKGV2ZW50OiBUaHlTaG9ydGN1dFZhbHVlQ2hhbmdlKSB7XG4gICAgICAgIHRoaXMudGh5U2hvcnRjdXRWYWx1ZUNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkRhdGVWYWx1ZUNoYW5nZShldmVudDogVGh5RGF0ZUNoYW5nZUV2ZW50KSB7XG4gICAgICAgIHRoaXMudGh5RGF0ZUNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnRoeVBsYWNlSG9sZGVyICYmIGNoYW5nZXMudGh5UGxhY2VIb2xkZXIuZmlyc3RDaGFuZ2UgJiYgdHlwZW9mIHRoaXMudGh5UGxhY2VIb2xkZXIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLmlzQ3VzdG9tUGxhY2VIb2xkZXIgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGNsb3NlT3ZlcmxheSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5waWNrZXIuaGlkZU92ZXJsYXkoKTtcbiAgICB9XG5cbiAgICBnZXRBdXRvU3RhcnRBbmRFbmRWYWx1ZShiZWdpbjogVGlueURhdGUsIGVuZDogVGlueURhdGUpIHtcbiAgICAgICAgbGV0IHZhbHVlOiB7IGJlZ2luOiBudW1iZXI7IGVuZDogbnVtYmVyIH07XG4gICAgICAgIHN3aXRjaCAodGhpcy50aHlNb2RlKSB7XG4gICAgICAgICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgYmVnaW46IGJlZ2luLnN0YXJ0T2ZEYXkoKS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IGVuZC5lbmRPZkRheSgpLmdldFVuaXhUaW1lKClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnd2Vlayc6XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB7XG4gICAgICAgICAgICAgICAgICAgIGJlZ2luOiBiZWdpbi5zdGFydE9mV2VlaygpLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgIGVuZDogZW5kLmVuZE9mV2VlaygpLmdldFVuaXhUaW1lKClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnbW9udGgnOlxuICAgICAgICAgICAgICAgIHZhbHVlID0ge1xuICAgICAgICAgICAgICAgICAgICBiZWdpbjogYmVnaW4uc3RhcnRPZk1vbnRoKCkuZ2V0VW5peFRpbWUoKSxcbiAgICAgICAgICAgICAgICAgICAgZW5kOiBlbmQuZW5kT2ZNb250aCgpLmdldFVuaXhUaW1lKClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAneWVhcic6XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB7XG4gICAgICAgICAgICAgICAgICAgIGJlZ2luOiBiZWdpbi5zdGFydE9mWWVhcigpLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgIGVuZDogZW5kLmVuZE9mWWVhcigpLmdldFVuaXhUaW1lKClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgYmVnaW46IGJlZ2luLnN0YXJ0T2ZEYXkoKS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IGVuZC5lbmRPZkRheSgpLmdldFVuaXhUaW1lKClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKG9yaWdpbmFsVmFsdWU6IENvbXBhdGlibGVWYWx1ZSB8IFJhbmdlQWR2YW5jZWRWYWx1ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldEZvcm1hdFJ1bGUoKTtcbiAgICAgICAgY29uc3QgeyB2YWx1ZSwgd2l0aFRpbWUsIGZsZXhpYmxlRGF0ZUdyYW51bGFyaXR5IH0gPSB0cmFuc2Zvcm1EYXRlVmFsdWUob3JpZ2luYWxWYWx1ZSk7XG4gICAgICAgIHRoaXMuZmxleGlibGVEYXRlR3JhbnVsYXJpdHkgPSBmbGV4aWJsZURhdGVHcmFudWxhcml0eTtcbiAgICAgICAgdGhpcy5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIGlmICh0aGlzLmlzUmFuZ2UpIHtcbiAgICAgICAgICAgIGNvbnN0IHZBc1JhbmdlOiBhbnkgPSB0aGlzLnRoeVZhbHVlO1xuICAgICAgICAgICAgbGV0IHZhbHVlID0geyBiZWdpbjogbnVsbCwgZW5kOiBudWxsIH0gYXMgVGh5RGF0ZVJhbmdlRW50cnk7XG4gICAgICAgICAgICBpZiAodkFzUmFuZ2UubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgW2JlZ2luLCBlbmRdID0gdkFzUmFuZ2UgYXMgVGlueURhdGVbXTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50aHlBdXRvU3RhcnRBbmRFbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSB0aGlzLmdldEF1dG9TdGFydEFuZEVuZFZhbHVlKGJlZ2luLCBlbmQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW46IGJlZ2luLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmQ6IGVuZC5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuZmxleGlibGUpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZS5ncmFudWxhcml0eSA9IGZsZXhpYmxlRGF0ZUdyYW51bGFyaXR5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUZuKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0geyBkYXRlOiBudWxsLCB3aXRoX3RpbWU6IHRoaXMud2l0aFRpbWUgPyAxIDogMCB9IGFzIERhdGVFbnRyeTtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUuZGF0ZSA9ICh0aGlzLnRoeVZhbHVlIGFzIFRpbnlEYXRlKS5nZXRVbml4VGltZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMub25seUVtaXREYXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUZuKHZhbHVlLmRhdGUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlRm4odmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0Rm9ybWF0UnVsZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnRoeUZvcm1hdCkge1xuICAgICAgICAgICAgaWYgKHRoaXMud2l0aFRpbWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRoeUZvcm1hdCA9ICd5eXl5LU1NLWRkIEhIOm1tJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLm9ubHlFbWl0RGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRoeUZvcm1hdCA9ICd5eXl5LU1NLWRkJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk9wZW5DaGFuZ2Uob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnRoeU9wZW4gPSBvcGVuO1xuICAgICAgICB0aGlzLnRoeU9wZW5DaGFuZ2UuZW1pdChvcGVuKTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZUZuOiAodmFsOiBDb21wYXRpYmxlRGF0ZSB8IERhdGVFbnRyeSB8IFRoeURhdGVSYW5nZUVudHJ5IHwgbnVtYmVyIHwgbnVsbCkgPT4gdm9pZCA9ICgpID0+IHZvaWQgMDtcblxuICAgIHdyaXRlVmFsdWUob3JpZ2luYWxWYWx1ZTogQ29tcGF0aWJsZURhdGUgfCBUaHlEYXRlUmFuZ2VFbnRyeSk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHZhbHVlLCB3aXRoVGltZSwgZmxleGlibGVEYXRlR3JhbnVsYXJpdHkgfSA9IHRyYW5zZm9ybURhdGVWYWx1ZShvcmlnaW5hbFZhbHVlKTtcbiAgICAgICAgdGhpcy5mbGV4aWJsZURhdGVHcmFudWxhcml0eSA9IGZsZXhpYmxlRGF0ZUdyYW51bGFyaXR5O1xuICAgICAgICBpZiAodGhpcy5mbGV4aWJsZSAmJiB2YWx1ZSAmJiAodmFsdWUgYXMgRGF0ZVtdKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5mbGV4aWJsZURhdGVHcmFudWxhcml0eSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmxleGlibGVEYXRlR3JhbnVsYXJpdHkgPSAnZGF5JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLnNldFRpbWVQaWNrZXJTdGF0ZSh3aXRoVGltZSk7XG4gICAgICAgIHRoaXMub25seUVtaXREYXRlID0gdHlwZW9mIHdpdGhUaW1lID09PSAndW5kZWZpbmVkJztcbiAgICAgICAgdGhpcy5vcmlnaW5XaXRoVGltZSA9IHdpdGhUaW1lO1xuICAgICAgICB0aGlzLnNldEZvcm1hdFJ1bGUoKTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgc2V0VGltZVBpY2tlclN0YXRlKHdpdGhUaW1lOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMud2l0aFRpbWUgPSB3aXRoVGltZTtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGh5RGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXREZWZhdWx0UGxhY2VIb2xkZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc0N1c3RvbVBsYWNlSG9sZGVyKSB7XG4gICAgICAgICAgICB0aGlzLnRoeVBsYWNlSG9sZGVyID0gdGhpcy5pc1JhbmdlID8gWyflvIDlp4vml6XmnJ8nLCAn57uT5p2f5pel5pyfJ10gOiAn6K+36YCJ5oup5pel5pyfJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0VmFsdWUodmFsdWU6IENvbXBhdGlibGVEYXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGh5VmFsdWUgPSBtYWtlVmFsdWUodmFsdWUsIHRoaXMuaXNSYW5nZSk7XG4gICAgfVxufVxuIl19
339
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRlLXBpY2tlci9hYnN0cmFjdC1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLHlDQUF5QyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUYsT0FBTyxFQUFFLHFCQUFxQixFQUE2QixNQUFNLGlCQUFpQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBRU4sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWM5RDs7R0FFRztBQUVILE1BQU0sT0FBZ0IsdUJBQ2xCLFNBQVEseUNBQXlDO0lBT2pEOzs7T0FHRztJQUNILElBQWEsT0FBTyxDQUFDLEtBQW1CO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxJQUFJLE1BQU0sQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUF1RkQ7OztPQUdHO0lBQ0gsSUFBYSxtQkFBbUIsQ0FBQyxRQUE2QjtRQUMxRCxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLENBQUM7UUFDckMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFhLGtCQUFrQixDQUFDLE9BQTBCO1FBQ3RELElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxD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RmQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0Qm9vbGVhbiwgVGFiSW5kZXhEaXNhYmxlZENvbnRyb2xWYWx1ZUFjY2Vzc29yTWl4aW4gfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBUaW55RGF0ZSwgd2FybkRlcHJlY2F0aW9uIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBDb21wYXRpYmxlVmFsdWUsIFJhbmdlQWR2YW5jZWRWYWx1ZSB9IGZyb20gJy4vaW5uZXItdHlwZXMnO1xuaW1wb3J0IHsgVGh5UGlja2VyIH0gZnJvbSAnLi9waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IG1ha2VWYWx1ZSwgdHJhbnNmb3JtRGF0ZVZhbHVlIH0gZnJvbSAnLi9waWNrZXIudXRpbCc7XG5pbXBvcnQge1xuICAgIENvbXBhdGlibGVEYXRlLFxuICAgIERhdGVFbnRyeSxcbiAgICBEaXNhYmxlZERhdGVGbixcbiAgICBUaHlEYXRlUmFuZ2VFbnRyeSxcbiAgICBUaHlQYW5lbE1vZGUsXG4gICAgVGh5U2hvcnRjdXRQb3NpdGlvbixcbiAgICBDb21wYXRpYmxlUHJlc2V0cyxcbiAgICBUaHlTaG9ydGN1dFZhbHVlQ2hhbmdlLFxuICAgIFRoeURhdGVHcmFudWxhcml0eSxcbiAgICBUaHlEYXRlQ2hhbmdlRXZlbnRcbn0gZnJvbSAnLi9zdGFuZGFyZC10eXBlcyc7XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RQaWNrZXJDb21wb25lbnRcbiAgICBleHRlbmRzIFRhYkluZGV4RGlzYWJsZWRDb250cm9sVmFsdWVBY2Nlc3Nvck1peGluXG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3Nvclxue1xuICAgIHRoeVZhbHVlOiBDb21wYXRpYmxlVmFsdWUgfCBudWxsO1xuXG4gICAgX3BhbmVsTW9kZTogVGh5UGFuZWxNb2RlID0gJ2RhdGUnO1xuXG4gICAgLyoqXG4gICAgICog5qih5byPXG4gICAgICogQHR5cGUgZGVjYWRlIHwgeWVhciB8IG1vbnRoIHwgZGF0ZSB8IHdlZWsgfCBmbGV4aWJsZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCB0aHlNb2RlKHZhbHVlOiBUaHlQYW5lbE1vZGUpIHtcbiAgICAgICAgdGhpcy5fcGFuZWxNb2RlID0gdmFsdWUgPz8gJ2RhdGUnO1xuICAgIH1cblxuICAgIGdldCB0aHlNb2RlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFuZWxNb2RlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaYvuekuua4hemZpOaMiemSrlxuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB0aHlBbGxvd0NsZWFyID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuiHquWKqOiOt+WPlueEpueCuVxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHRoeUF1dG9Gb2N1cyA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHRoeU9wZW46IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSB0aHlEaXNhYmxlZERhdGU6IERpc2FibGVkRGF0ZUZuO1xuXG4gICAgLyoqXG4gICAgICog5pyA5bCP5YC8XG4gICAgICogQHR5cGUgRGF0ZSB8IG51bWJlclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeU1pbkRhdGU6IERhdGUgfCBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDmnIDlpKflgLxcbiAgICAgKiBAdHlwZSBEYXRlIHwgbnVtYmVyXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5TWF4RGF0ZTogRGF0ZSB8IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIOi+k+WFpeahhuaPkOekuuaWh+Wtl1xuICAgICAqIEB0eXBlIHN0cmluZyB8IHN0cmluZ1tdXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UGxhY2VIb2xkZXI6IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5Y+q6K+7XG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgdGh5UmVhZG9ubHk6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDpgInmi6nlmaggY2xhc3NOYW1lXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5T3JpZ2luQ2xhc3NOYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rlsYIgY2xhc3NOYW1lXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UGFuZWxDbGFzc05hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOi+k+WFpeahhueahOWkp+Wwj1xuICAgICAqIEB0eXBlIHhzIHwgc20gfCBtZCB8IGxnIHwgZGVmYXVsdFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVNpemU6ICdsZycgfCAnbWQnIHwgJ3NtJyB8ICd4cycgfCAnZGVmYXVsdCcgPSAnZGVmYXVsdCc7XG5cbiAgICAvKipcbiAgICAgKiDlsZXnpLrnmoTml6XmnJ/moLzlvI9cbiAgICAgKiBAZGVmYXVsdCB5eXl5LU1NLWRkXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5Rm9ybWF0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgb25seSBmb3IgcmFuZ2UgcGlja2VyLCBXaGV0aGVyIHRvIGF1dG9tYXRpY2FsbHkgdGFrZSB0aGUgYmVnaW5uaW5nIGFuZCBlbmRpbmcgdW5peFRpbWUgb2YgdGhlIGRheVxuICAgICAqIEBkZXNjcmlwdGlvbi56aC1jbiDmmK/lkKblj5blgLzlvIDlp4vml6XmnJ/nmoQwMDowMOS7peWPiuaIquatouaXpeacn+eahDI0OjAwXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgdGh5QXV0b1N0YXJ0QW5kRW5kID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDpnaLmnb/pu5jorqTml6XmnJ9cbiAgICAgKiBAdHlwZSBDb21wYXRpYmxlRGF0ZSB8IG51bWJlciB8IG51bGxcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlEZWZhdWx0UGlja2VyVmFsdWU6IENvbXBhdGlibGVEYXRlIHwgbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnnmoTlkI7nvIDlm77moIdcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlTdWZmaXhJY29uID0gJ2NhbGVuZGFyJztcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuWxleekuuW/q+aNt+mAiemhuemdouadv1xuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHRoeVNob3dTaG9ydGN1dDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOW/q+aNt+mAiemhuemdouadv+eahOaYvuekuuS9jee9rlxuICAgICAqIEB0eXBlIGxlZnQgfCBib3R0b21cbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgdGh5U2hvcnRjdXRQb3NpdGlvbihwb3NpdGlvbjogVGh5U2hvcnRjdXRQb3NpdGlvbikge1xuICAgICAgICBpZiAoISFwb3NpdGlvbikge1xuICAgICAgICAgICAgdGhpcy5zaG9ydGN1dFBvc2l0aW9uID0gcG9zaXRpb247XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnlv6vmjbfpgInpoblcbiAgICAgKiBAdHlwZSBUaHlTaG9ydGN1dFByZXNldFtdXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHRoeVNob3J0Y3V0UHJlc2V0cyhwcmVzZXRzOiBDb21wYXRpYmxlUHJlc2V0cykge1xuICAgICAgICB0aGlzLnNob3J0Y3V0UHJlc2V0cyA9IHByZXNldHM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5bey5bqf5byD77yM6K+35L2/55SoIHRoeURhdGVDaGFuZ2VcbiAgICAgKiBAZGVwcmVjYXRlZCBwbGVhc2UgdXNlIHRoeURhdGVDaGFuZ2VcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdGh5U2hvcnRjdXRWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGh5U2hvcnRjdXRWYWx1ZUNoYW5nZT4oKTtcblxuICAgIC8qKlxuICAgICAqIOaXpeacn+WPmOWMlueahOWbnuiwg1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSB0aHlEYXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlEYXRlQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdGh5T3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBWaWV3Q2hpbGQoVGh5UGlja2VyLCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgcGlja2VyOiBUaHlQaWNrZXI7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbnpoHnlKhcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQElucHV0Qm9vbGVhbigpXG4gICAgZ2V0IHRoeURpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcbiAgICB9XG4gICAgc2V0IHRoeURpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBzaG9ydGN1dFBvc2l0aW9uOiBUaHlTaG9ydGN1dFBvc2l0aW9uID0gJ2xlZnQnO1xuXG4gICAgc2hvcnRjdXRQcmVzZXRzOiBDb21wYXRpYmxlUHJlc2V0cztcblxuICAgIGlzUmFuZ2U6IGJvb2xlYW47XG5cbiAgICB3aXRoVGltZTogYm9vbGVhbjtcblxuICAgIGZsZXhpYmxlOiBib29sZWFuO1xuXG4gICAgZmxleGlibGVEYXRlR3JhbnVsYXJpdHk6IFRoeURhdGVHcmFudWxhcml0eTtcblxuICAgIHByb3RlY3RlZCBkZXN0cm95ZWQkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcbiAgICBwcm90ZWN0ZWQgaXNDdXN0b21QbGFjZUhvbGRlciA9IGZhbHNlO1xuICAgIHByaXZhdGUgb25seUVtaXREYXRlID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIG9yaWdpbldpdGhUaW1lOiBib29sZWFuO1xuXG4gICAgZ2V0IHJlYWxPcGVuU3RhdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBpY2tlci5yZWFsT3BlblN0YXRlO1xuICAgIH1cblxuICAgIGdldCBpc1Nob3dEYXRlUG9wdXAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBpY2tlci5pc1Nob3dEYXRlUG9wdXA7XG4gICAgfVxuXG4gICAgaW5pdFZhbHVlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRoeVZhbHVlID0gdGhpcy5pc1JhbmdlID8gW10gOiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0RGVmYXVsdFBsYWNlSG9sZGVyKCk7XG4gICAgICAgIHRoaXMuaW5pdFZhbHVlKCk7XG4gICAgICAgIHRoaXMuaXNGbGV4aWJsZSgpO1xuICAgIH1cblxuICAgIGlzRmxleGlibGUoKSB7XG4gICAgICAgIHRoaXMuZmxleGlibGUgPSB0aGlzLnRoeU1vZGUgPT09ICdmbGV4aWJsZSc7XG4gICAgfVxuXG4gICAgb25TaG9ydGN1dFZhbHVlQ2hhbmdlKGV2ZW50OiBUaHlTaG9ydGN1dFZhbHVlQ2hhbmdlKSB7XG4gICAgICAgIHRoaXMudGh5U2hvcnRjdXRWYWx1ZUNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkRhdGVWYWx1ZUNoYW5nZShldmVudDogVGh5RGF0ZUNoYW5nZUV2ZW50KSB7XG4gICAgICAgIHRoaXMudGh5RGF0ZUNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnRoeVBsYWNlSG9sZGVyICYmIGNoYW5nZXMudGh5UGxhY2VIb2xkZXIuZmlyc3RDaGFuZ2UgJiYgdHlwZW9mIHRoaXMudGh5UGxhY2VIb2xkZXIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLmlzQ3VzdG9tUGxhY2VIb2xkZXIgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGNsb3NlT3ZlcmxheSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5waWNrZXIuaGlkZU92ZXJsYXkoKTtcbiAgICB9XG5cbiAgICBnZXRBdXRvU3RhcnRBbmRFbmRWYWx1ZShiZWdpbjogVGlueURhdGUsIGVuZDogVGlueURhdGUpIHtcbiAgICAgICAgbGV0IHZhbHVlOiB7IGJlZ2luOiBudW1iZXI7IGVuZDogbnVtYmVyIH07XG4gICAgICAgIHN3aXRjaCAodGhpcy50aHlNb2RlKSB7XG4gICAgICAgICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgYmVnaW46IGJlZ2luLnN0YXJ0T2ZEYXkoKS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IGVuZC5lbmRPZkRheSgpLmdldFVuaXhUaW1lKClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnd2Vlayc6XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB7XG4gICAgICAgICAgICAgICAgICAgIGJlZ2luOiBiZWdpbi5zdGFydE9mV2VlaygpLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgIGVuZDogZW5kLmVuZE9mV2VlaygpLmdldFVuaXhUaW1lKClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnbW9udGgnOlxuICAgICAgICAgICAgICAgIHZhbHVlID0ge1xuICAgICAgICAgICAgICAgICAgICBiZWdpbjogYmVnaW4uc3RhcnRPZk1vbnRoKCkuZ2V0VW5peFRpbWUoKSxcbiAgICAgICAgICAgICAgICAgICAgZW5kOiBlbmQuZW5kT2ZNb250aCgpLmdldFVuaXhUaW1lKClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAneWVhcic6XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB7XG4gICAgICAgICAgICAgICAgICAgIGJlZ2luOiBiZWdpbi5zdGFydE9mWWVhcigpLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgIGVuZDogZW5kLmVuZE9mWWVhcigpLmdldFVuaXhUaW1lKClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgYmVnaW46IGJlZ2luLnN0YXJ0T2ZEYXkoKS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IGVuZC5lbmRPZkRheSgpLmdldFVuaXhUaW1lKClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKG9yaWdpbmFsVmFsdWU6IENvbXBhdGlibGVWYWx1ZSB8IFJhbmdlQWR2YW5jZWRWYWx1ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldEZvcm1hdFJ1bGUoKTtcbiAgICAgICAgY29uc3QgeyB2YWx1ZSwgd2l0aFRpbWUsIGZsZXhpYmxlRGF0ZUdyYW51bGFyaXR5IH0gPSB0cmFuc2Zvcm1EYXRlVmFsdWUob3JpZ2luYWxWYWx1ZSk7XG4gICAgICAgIHRoaXMuZmxleGlibGVEYXRlR3JhbnVsYXJpdHkgPSBmbGV4aWJsZURhdGVHcmFudWxhcml0eTtcbiAgICAgICAgdGhpcy5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIGlmICh0aGlzLmlzUmFuZ2UpIHtcbiAgICAgICAgICAgIGNvbnN0IHZBc1JhbmdlOiBhbnkgPSB0aGlzLnRoeVZhbHVlO1xuICAgICAgICAgICAgbGV0IHZhbHVlID0geyBiZWdpbjogbnVsbCwgZW5kOiBudWxsIH0gYXMgVGh5RGF0ZVJhbmdlRW50cnk7XG4gICAgICAgICAgICBpZiAodkFzUmFuZ2UubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgW2JlZ2luLCBlbmRdID0gdkFzUmFuZ2UgYXMgVGlueURhdGVbXTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50aHlBdXRvU3RhcnRBbmRFbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSB0aGlzLmdldEF1dG9TdGFydEFuZEVuZFZhbHVlKGJlZ2luLCBlbmQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW46IGJlZ2luLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmQ6IGVuZC5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuZmxleGlibGUpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZS5ncmFudWxhcml0eSA9IGZsZXhpYmxlRGF0ZUdyYW51bGFyaXR5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUZuKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0geyBkYXRlOiBudWxsLCB3aXRoX3RpbWU6IHRoaXMud2l0aFRpbWUgPyAxIDogMCB9IGFzIERhdGVFbnRyeTtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUuZGF0ZSA9ICh0aGlzLnRoeVZhbHVlIGFzIFRpbnlEYXRlKS5nZXRVbml4VGltZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMub25seUVtaXREYXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUZuKHZhbHVlLmRhdGUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlRm4odmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0Rm9ybWF0UnVsZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnRoeUZvcm1hdCkge1xuICAgICAgICAgICAgaWYgKHRoaXMud2l0aFRpbWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRoeUZvcm1hdCA9ICd5eXl5LU1NLWRkIEhIOm1tJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLm9ubHlFbWl0RGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRoeUZvcm1hdCA9ICd5eXl5LU1NLWRkJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk9wZW5DaGFuZ2Uob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnRoeU9wZW4gPSBvcGVuO1xuICAgICAgICB0aGlzLnRoeU9wZW5DaGFuZ2UuZW1pdChvcGVuKTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZUZuOiAodmFsOiBDb21wYXRpYmxlRGF0ZSB8IERhdGVFbnRyeSB8IFRoeURhdGVSYW5nZUVudHJ5IHwgbnVtYmVyIHwgbnVsbCkgPT4gdm9pZCA9ICgpID0+IHZvaWQgMDtcblxuICAgIHdyaXRlVmFsdWUob3JpZ2luYWxWYWx1ZTogQ29tcGF0aWJsZURhdGUgfCBUaHlEYXRlUmFuZ2VFbnRyeSk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHZhbHVlLCB3aXRoVGltZSwgZmxleGlibGVEYXRlR3JhbnVsYXJpdHkgfSA9IHRyYW5zZm9ybURhdGVWYWx1ZShvcmlnaW5hbFZhbHVlKTtcbiAgICAgICAgdGhpcy5mbGV4aWJsZURhdGVHcmFudWxhcml0eSA9IGZsZXhpYmxlRGF0ZUdyYW51bGFyaXR5O1xuICAgICAgICBpZiAodGhpcy5mbGV4aWJsZSAmJiB2YWx1ZSAmJiAodmFsdWUgYXMgRGF0ZVtdKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5mbGV4aWJsZURhdGVHcmFudWxhcml0eSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmxleGlibGVEYXRlR3JhbnVsYXJpdHkgPSAnZGF5JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLnNldFRpbWVQaWNrZXJTdGF0ZSh3aXRoVGltZSk7XG4gICAgICAgIHRoaXMub25seUVtaXREYXRlID0gdHlwZW9mIHdpdGhUaW1lID09PSAndW5kZWZpbmVkJztcbiAgICAgICAgdGhpcy5vcmlnaW5XaXRoVGltZSA9IHdpdGhUaW1lO1xuICAgICAgICB0aGlzLnNldEZvcm1hdFJ1bGUoKTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgc2V0VGltZVBpY2tlclN0YXRlKHdpdGhUaW1lOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMud2l0aFRpbWUgPSB3aXRoVGltZTtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGh5RGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXREZWZhdWx0UGxhY2VIb2xkZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc0N1c3RvbVBsYWNlSG9sZGVyKSB7XG4gICAgICAgICAgICB0aGlzLnRoeVBsYWNlSG9sZGVyID0gdGhpcy5pc1JhbmdlID8gWyflvIDlp4vml6XmnJ8nLCAn57uT5p2f5pel5pyfJ10gOiAn6K+36YCJ5oup5pel5pyfJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0VmFsdWUodmFsdWU6IENvbXBhdGlibGVEYXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGh5VmFsdWUgPSBtYWtlVmFsdWUodmFsdWUsIHRoaXMuaXNSYW5nZSk7XG4gICAgfVxufVxuIl19
@@ -7,7 +7,7 @@ import { debounceTime, mapTo, takeUntil, tap } from 'rxjs/operators';
7
7
  import { coerceArray } from '@angular/cdk/coercion';
8
8
  import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, Input, Output } from '@angular/core';
9
9
  import { AbstractPickerComponent } from './abstract-picker.component';
10
- import { DatePopupComponent } from './lib/popups/date-popup.component';
10
+ import { DatePopup } from './lib/popups/date-popup.component';
11
11
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
12
12
  import * as i0 from "@angular/core";
13
13
  import * as i1 from "ngx-tethys/popover";
@@ -57,7 +57,7 @@ export class PickerDirective extends AbstractPickerComponent {
57
57
  }
58
58
  openOverlay() {
59
59
  this.getInitialState();
60
- const popoverRef = this.thyPopover.open(DatePopupComponent, Object.assign({
60
+ const popoverRef = this.thyPopover.open(DatePopup, Object.assign({
61
61
  origin: this.el,
62
62
  hasBackdrop: this.hasBackdrop,
63
63
  backdropClass: 'thy-overlay-transparent-backdrop',
@@ -235,4 +235,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
235
235
  }], thyStopPropagation: [{
236
236
  type: Input
237
237
  }] } });
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcGlja2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRlLXBpY2tlci9hYnN0cmFjdC1waWNrZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBZ0IsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFnQixlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RixPQUFPLEVBQUUsU0FBUyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFFSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFHVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUd2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBRWhFOztHQUVHO0FBRUgsTUFBTSxPQUFnQixlQUFnQixTQUFRLHVCQUF1QjtJQWtCakUsSUFBYSxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsS0FBdUI7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFR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S1ksbUJBQW1CO3NCQUFyQyxNQUFNO2dCQUdNLFdBQVc7c0JBQXZCLEtBQUs7Z0JBV21CLGVBQWU7c0JBQXZDLEtBQUs7Z0JBTUcsWUFBWTtzQkFBcEIsS0FBSztnQkFVRixTQUFTO3NCQUZaLEtBQUs7Z0JBaUJGLGNBQWM7c0JBRmpCLEtBQUs7Z0JBWUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUttQixrQkFBa0I7c0JBQTFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dEJvb2xlYW4sIElucHV0TnVtYmVyLCBUaHlQbGFjZW1lbnQgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciwgVGh5UG9wb3ZlckNvbmZpZyB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIEZ1bmN0aW9uUHJvcCwgd2FybkRlcHJlY2F0aW9uIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IGZyb21FdmVudCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXBUbywgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGNvZXJjZUFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZSxcbiAgICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWJzdHJhY3RQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2Fic3RyYWN0LXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvcG9wdXBzL2RhdGUtcG9wdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRoeURhdGVDaGFuZ2VFdmVudCwgVGh5UGFuZWxNb2RlLCBUaHlTaG9ydGN1dFZhbHVlQ2hhbmdlIH0gZnJvbSAnLi9zdGFuZGFyZC10eXBlcyc7XG5pbXBvcnQgeyBDb21wYXRpYmxlVmFsdWUgfSBmcm9tICcuL2lubmVyLXR5cGVzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQaWNrZXJEaXJlY3RpdmUgZXh0ZW5kcyBBYnN0cmFjdFBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICAgIHNob3dXZWVrID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSB0aHlEYXRlUmVuZGVyOiBGdW5jdGlvblByb3A8VGVtcGxhdGVSZWY8RGF0ZT4gfCBzdHJpbmc+O1xuXG4gICAgcGFuZWxNb2RlOiBUaHlQYW5lbE1vZGUgfCBUaHlQYW5lbE1vZGVbXTtcblxuICAgIC8qKlxuICAgICAqIEB0eXBlIEV2ZW50RW1pdHRlcjxUaHlQYW5lbE1vZGUgfCBUaHlQYW5lbE1vZGVbXT5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdGh5T25QYW5lbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGh5UGFuZWxNb2RlIHwgVGh5UGFuZWxNb2RlW10+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAdHlwZSBFdmVudEVtaXR0ZXI8RGF0ZVtdPlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSB0aHlPbkNhbGVuZGFyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlW10+KCk7XG5cbiAgICBwcml2YXRlIF9zaG93VGltZTogb2JqZWN0IHwgYm9vbGVhbjtcbiAgICBASW5wdXQoKSBnZXQgdGh5U2hvd1RpbWUoKTogb2JqZWN0IHwgYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93VGltZTtcbiAgICB9XG4gICAgc2V0IHRoeVNob3dUaW1lKHZhbHVlOiBvYmplY3QgfCBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3Nob3dUaW1lID0gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyA/IHZhbHVlIDogY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKblsZXnpLrml7bpl7Qo5pe244CB5YiGKVxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHRoeU11c3RTaG93VGltZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5by55Ye65L2N572uXG4gICAgICogQHR5cGUgdG9wIHwgdG9wTGVmdCB8IHRvcFJpZ2h0IHwgYm90dG9tIHwgYm90dG9tTGVmdCB8IGJvdHRvbVJpZ2h0IHwgbGVmdCB8IGxlZnRUb3AgfCBsZWZ0Qm90dG9tIHwgcmlnaHQgfCByaWdodFRvcCB8IHJpZ2h0Qm90dG9tXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UGxhY2VtZW50OiBUaHlQbGFjZW1lbnQgPSAnYm90dG9tJztcblxuICAgIHByaXZhdGUgb2Zmc2V0ID0gNDtcblxuICAgIC8qKlxuICAgICAqIOW8ueWHuiBEYXRlUGlja2VyIOeahOWBj+enu+mHj1xuICAgICAqIEBkZWZhdWx0IDRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBJbnB1dE51bWJlcigpXG4gICAgc2V0IHRoeU9mZnNldCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpIHtcbiAgICAgICAgICAgIHdhcm5EZXByZWNhdGlvbihgdGh5T2Zmc2V0IHBhcmFtZXRlciB3aWxsIGJlIGRlcHJlY2F0ZWQsIHBsZWFzZSB1c2UgdGh5UG9wb3Zlck9wdGlvbnMgaW5zdGVhZC5gKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9mZnNldCA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzQmFja2Ryb3AgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pyJ5bmV5biDXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQElucHV0Qm9vbGVhbigpXG4gICAgc2V0IHRoeUhhc0JhY2tkcm9wKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpIHtcbiAgICAgICAgICAgIHdhcm5EZXByZWNhdGlvbihgdGh5SGFzQmFja2Ryb3AgcGFyYW1ldGVyIHdpbGwgYmUgZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSB0aHlQb3BvdmVyT3B0aW9ucyBpbnN0ZWFkLmApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaGFzQmFja2Ryb3AgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBwb3BvdmVyIOeahOWFtuWug+WPguaVsFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVBvcG92ZXJPcHRpb25zOiBUaHlQb3BvdmVyQ29uZmlnO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm6Zi75q2i5YaS5rOhXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHRoeVN0b3BQcm9wYWdhdGlvbiA9IHRydWU7XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIGVsOiBIVE1MRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIHJlYWRvbmx5ICRjbGljazogT2JzZXJ2YWJsZTxib29sZWFuPiA9IGZyb21FdmVudCh0aGlzLmVsLCAnY2xpY2snKS5waXBlKFxuICAgICAgICB0YXAoZSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy50aHlTdG9wUHJvcGFnYXRpb24pIHtcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgbWFwVG8odHJ1ZSlcbiAgICApO1xuXG4gICAgdGFrZVVudGlsRGVzdHJveWVkID0gdGFrZVVudGlsRGVzdHJveWVkKCk7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5nZXRJbml0aWFsU3RhdGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEluaXRpYWxTdGF0ZSgpIHtcbiAgICAgICAgdGhpcy50aHlNb2RlID0gdGhpcy50aHlNb2RlIHx8ICdkYXRlJztcbiAgICAgICAgdGhpcy5mbGV4aWJsZSA9IHRoaXMudGh5TW9kZSA9PT0gJ2ZsZXhpYmxlJztcblxuICAgICAgICBpZiAodGhpcy5pc1JhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnBhbmVsTW9kZSA9IHRoaXMuZmxleGlibGUgPyBbJ2RhdGUnLCAnZGF0ZSddIDogW3RoaXMudGh5TW9kZSwgdGhpcy50aHlNb2RlXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucGFuZWxNb2RlID0gdGhpcy50aHlNb2RlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2hvd1dlZWsgPSB0aGlzLnRoeU1vZGUgPT09ICd3ZWVrJztcbiAgICB9XG5cbiAgICBwcml2YXRlIG9wZW5PdmVybGF5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdldEluaXRpYWxTdGF0ZSgpO1xuICAgICAgICBjb25zdCBwb3BvdmVyUmVmID0gdGhpcy50aHlQb3BvdmVyLm9wZW4oXG4gICAgICAgICAgICBEYXRlUG9wdXBDb21wb25lbnQsXG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luOiB0aGlzLmVsLFxuICAgICAgICAgICAgICAgICAgICBoYXNCYWNrZHJvcDogdGhpcy5oYXNCYWNrZHJvcCxcbiAgICAgICAgICAgICAgICAgICAgYmFja2Ryb3BDbGFzczogJ3RoeS1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJyxcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgb3V0c2lkZUNsb3NhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBpbml0aWFsU3RhdGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzUmFuZ2U6IHRoaXMuaXNSYW5nZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhbmVsTW9kZTogdGhpcy5wYW5lbE1vZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93V2VlazogdGhpcy5zaG93V2VlayxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnRoeVZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1RpbWU6IHRoaXMudGh5U2hvd1RpbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBtdXN0U2hvd1RpbWU6IHRoaXMud2l0aFRpbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6IHRoaXMudGh5Rm9ybWF0LFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZVJlbmRlcjogdGhpcy50aHlEYXRlUmVuZGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWREYXRlOiB0aGlzLnRoeURpc2FibGVkRGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnRoeVBsYWNlSG9sZGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiB0aGlzLnRoeVBhbmVsQ2xhc3NOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFBpY2tlclZhbHVlOiB0aGlzLnRoeURlZmF1bHRQaWNrZXJWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbkRhdGU6IHRoaXMudGh5TWluRGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heERhdGU6IHRoaXMudGh5TWF4RGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dTaG9ydGN1dDogdGhpcy50aHlTaG93U2hvcnRjdXQsXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG9ydGN1dFByZXNldHM6IHRoaXMuc2hvcnRjdXRQcmVzZXRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvcnRjdXRQb3NpdGlvbjogdGhpcy5zaG9ydGN1dFBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleGlibGU6IHRoaXMuZmxleGlibGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4aWJsZURhdGVHcmFudWxhcml0eTogdGhpcy5mbGV4aWJsZURhdGVHcmFudWxhcml0eVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6IHRoaXMudGh5UGxhY2VtZW50XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0aGlzLnRoeVBvcG92ZXJPcHRpb25zXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIGlmIChwb3BvdmVyUmVmKSB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnRJbnN0YW5jZSA9IHBvcG92ZXJSZWYuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgICAgICAgICBjb21wb25lbnRJbnN0YW5jZS52YWx1ZUNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChldmVudDogQ29tcGF0aWJsZVZhbHVlKSA9PiB0aGlzLm9uVmFsdWVDaGFuZ2UoZXZlbnQpKTtcbiAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLmNhbGVuZGFyQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGV2ZW50OiBDb21wYXRpYmxlVmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByYW5nZVZhbHVlID0gY29lcmNlQXJyYXkoZXZlbnQpLm1hcCh4ID0+IHgubmF0aXZlRGF0ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy50aHlPbkNhbGVuZGFyQ2hhbmdlLmVtaXQocmFuZ2VWYWx1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLnNob3dUaW1lUGlja2VyQ2hhbmdlXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBib29sZWFuKSA9PiB0aGlzLm9uU2hvd1RpbWVQaWNrZXJDaGFuZ2UoZXZlbnQpKTtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG4gICAgICAgICAgICBjb21wb25lbnRJbnN0YW5jZS5uZ09uQ2hhbmdlcyh7IHZhbHVlOiB7fSBhcyBTaW1wbGVDaGFuZ2UgfSk7IC8vIGR5bmFtaWNhbGx5IGNyZWF0ZWQgY29tcG9uZW50cyBkb24ndCBjYWxsIG5nT25DaGFuZ2VzLCBtYW51YWwgY2FsbFxuICAgICAgICAgICAgY29tcG9uZW50SW5zdGFuY2Uuc2hvcnRjdXRWYWx1ZUNoYW5nZT8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZXZlbnQ6IFRoeVNob3J0Y3V0VmFsdWVDaGFuZ2UpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRoeVNob3J0Y3V0VmFsdWVDaGFuZ2UuZW1pdChldmVudCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLmRhdGVWYWx1ZUNoYW5nZT8ucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3llZCkuc3Vic2NyaWJlKChldmVudDogVGh5RGF0ZUNoYW5nZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50aHlEYXRlQ2hhbmdlLmVtaXQoZXZlbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBwb3BvdmVyUmVmXG4gICAgICAgICAgICAgICAgLmFmdGVyT3BlbmVkKClcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRoeU9wZW5DaGFuZ2UuZW1pdCh0cnVlKSk7XG4gICAgICAgICAgICBwb3BvdmVyUmVmXG4gICAgICAgICAgICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRoeU9wZW5DaGFuZ2UuZW1pdChmYWxzZSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xvc2VPdmVybGF5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRoeVBvcG92ZXIuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBpbml0QWN0aW9uU3Vic2NyaWJlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLiRjbGljay5waXBlKGRlYm91bmNlVGltZSg1MCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy50aHlEaXNhYmxlZCAmJiAhdGhpcy50aHlSZWFkb25seSkge1xuICAgICAgICAgICAgICAgIHRoaXMub3Blbk92ZXJsYXkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHRoeVBvcG92ZXI6IFRoeVBvcG92ZXIpIHtcbiAgICAgICAgc3VwZXIoY2RyKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0RGVmYXVsdFRpbWVQaWNrZXJTdGF0ZSgpO1xuICAgICAgICB0aGlzLmluaXRBY3Rpb25TdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBDb21wYXRpYmxlVmFsdWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZXN0b3JlVGltZVBpY2tlclN0YXRlKHZhbHVlKTtcbiAgICAgICAgc3VwZXIub25WYWx1ZUNoYW5nZSh2YWx1ZSk7XG4gICAgICAgIGlmICghdGhpcy5mbGV4aWJsZSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZU92ZXJsYXkoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc3BsYXlzIHRoZSB0aW1lIGRpcmVjdGx5IHdoZW4gdGhlIHRpbWUgbXVzdCBiZSBkaXNwbGF5ZWQgYnkgZGVmYXVsdFxuICAgIHNldERlZmF1bHRUaW1lUGlja2VyU3RhdGUoKSB7XG4gICAgICAgIHRoaXMud2l0aFRpbWUgPSB0aGlzLnRoeU11c3RTaG93VGltZTtcbiAgICB9XG5cbiAgICAvLyBSZXN0b3JlIGFmdGVyIGNsZWFyaW5nIHRpbWUgdG8gc2VsZWN0IHdoZXRoZXIgdGhlIG9yaWdpbmFsIHBpY2tlciB0aW1lIGlzIGRpc3BsYXllZCBvciBub3RcbiAgICByZXN0b3JlVGltZVBpY2tlclN0YXRlKHZhbHVlOiBDb21wYXRpYmxlVmFsdWUgfCBudWxsKSB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMud2l0aFRpbWUgPSB0aGlzLnRoeU11c3RTaG93VGltZSB8fCB0aGlzLm9yaWdpbldpdGhUaW1lO1xuICAgICAgICB9XG4gICAgfVxuICAgIG9uU2hvd1RpbWVQaWNrZXJDaGFuZ2Uoc2hvdzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLndpdGhUaW1lID0gc2hvdztcbiAgICB9XG59XG4iXX0=
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcGlja2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRlLXBpY2tlci9hYnN0cmFjdC1waWNrZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBZ0IsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFnQixlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RixPQUFPLEVBQUUsU0FBUyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFFSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFHVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUVoRTs7R0FFRztBQUVILE1BQU0sT0FBZ0IsZUFBZ0IsU0FBUSx1QkFBdUI7SUFrQmpFLElBQWEsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksV0FBVyxDQUFDLEtBQXVCO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxLQUFLLEtBQUssUUFBUSxD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QUFtQjtzQkFBckMsTUFBTTtnQkFHTSxXQUFXO3NCQUF2QixLQUFLO2dCQVdtQixlQUFlO3NCQUF2QyxLQUFLO2dCQU1HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBVUYsU0FBUztzQkFGWixLQUFLO2dCQWlCRixjQUFjO3NCQUZqQixLQUFLO2dCQVlHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFLbUIsa0JBQWtCO3NCQUExQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXRCb29sZWFuLCBJbnB1dE51bWJlciwgVGh5UGxhY2VtZW50IH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJDb25maWcgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBGdW5jdGlvblByb3AsIHdhcm5EZXByZWNhdGlvbiB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwVG8sIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBjb2VyY2VBcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2UsXG4gICAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFic3RyYWN0UGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9hYnN0cmFjdC1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVQb3B1cCB9IGZyb20gJy4vbGliL3BvcHVwcy9kYXRlLXBvcHVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlEYXRlQ2hhbmdlRXZlbnQsIFRoeVBhbmVsTW9kZSwgVGh5U2hvcnRjdXRWYWx1ZUNoYW5nZSB9IGZyb20gJy4vc3RhbmRhcmQtdHlwZXMnO1xuaW1wb3J0IHsgQ29tcGF0aWJsZVZhbHVlIH0gZnJvbSAnLi9pbm5lci10eXBlcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGlja2VyRGlyZWN0aXZlIGV4dGVuZHMgQWJzdHJhY3RQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgICBzaG93V2VlayA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgdGh5RGF0ZVJlbmRlcjogRnVuY3Rpb25Qcm9wPFRlbXBsYXRlUmVmPERhdGU+IHwgc3RyaW5nPjtcblxuICAgIHBhbmVsTW9kZTogVGh5UGFuZWxNb2RlIHwgVGh5UGFuZWxNb2RlW107XG5cbiAgICAvKipcbiAgICAgKiBAdHlwZSBFdmVudEVtaXR0ZXI8VGh5UGFuZWxNb2RlIHwgVGh5UGFuZWxNb2RlW10+XG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHRoeU9uUGFuZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRoeVBhbmVsTW9kZSB8IFRoeVBhbmVsTW9kZVtdPigpO1xuXG4gICAgLyoqXG4gICAgICogQHR5cGUgRXZlbnRFbWl0dGVyPERhdGVbXT5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdGh5T25DYWxlbmRhckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVtdPigpO1xuXG4gICAgcHJpdmF0ZSBfc2hvd1RpbWU6IG9iamVjdCB8IGJvb2xlYW47XG4gICAgQElucHV0KCkgZ2V0IHRoeVNob3dUaW1lKCk6IG9iamVjdCB8IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd1RpbWU7XG4gICAgfVxuICAgIHNldCB0aHlTaG93VGltZSh2YWx1ZTogb2JqZWN0IHwgYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zaG93VGltZSA9IHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgPyB2YWx1ZSA6IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5bGV56S65pe26Ze0KOaXtuOAgeWIhilcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB0aHlNdXN0U2hvd1RpbWUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOW8ueWHuuS9jee9rlxuICAgICAqIEB0eXBlIHRvcCB8IHRvcExlZnQgfCB0b3BSaWdodCB8IGJvdHRvbSB8IGJvdHRvbUxlZnQgfCBib3R0b21SaWdodCB8IGxlZnQgfCBsZWZ0VG9wIHwgbGVmdEJvdHRvbSB8IHJpZ2h0IHwgcmlnaHRUb3AgfCByaWdodEJvdHRvbVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVBsYWNlbWVudDogVGh5UGxhY2VtZW50ID0gJ2JvdHRvbSc7XG5cbiAgICBwcml2YXRlIG9mZnNldCA9IDQ7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7ogRGF0ZVBpY2tlciDnmoTlgY/np7vph49cbiAgICAgKiBAZGVmYXVsdCA0XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASW5wdXROdW1iZXIoKVxuICAgIHNldCB0aHlPZmZzZXQodmFsdWU6IG51bWJlcikge1xuICAgICAgICBpZiAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSB7XG4gICAgICAgICAgICB3YXJuRGVwcmVjYXRpb24oYHRoeU9mZnNldCBwYXJhbWV0ZXIgd2lsbCBiZSBkZXByZWNhdGVkLCBwbGVhc2UgdXNlIHRoeVBvcG92ZXJPcHRpb25zIGluc3RlYWQuYCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vZmZzZXQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc0JhY2tkcm9wID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuacieW5leW4g1xuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBJbnB1dEJvb2xlYW4oKVxuICAgIHNldCB0aHlIYXNCYWNrZHJvcCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSB7XG4gICAgICAgICAgICB3YXJuRGVwcmVjYXRpb24oYHRoeUhhc0JhY2tkcm9wIHBhcmFtZXRlciB3aWxsIGJlIGRlcHJlY2F0ZWQsIHBsZWFzZSB1c2UgdGh5UG9wb3Zlck9wdGlvbnMgaW5zdGVhZC5gKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhhc0JhY2tkcm9wID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcG9wb3ZlciDnmoTlhbblroPlj4LmlbBcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlQb3BvdmVyT3B0aW9uczogVGh5UG9wb3ZlckNvbmZpZztcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpumYu+atouWGkuazoVxuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB0aHlTdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBlbDogSFRNTEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICByZWFkb25seSAkY2xpY2s6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSBmcm9tRXZlbnQodGhpcy5lbCwgJ2NsaWNrJykucGlwZShcbiAgICAgICAgdGFwKGUgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMudGh5U3RvcFByb3BhZ2F0aW9uKSB7XG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIG1hcFRvKHRydWUpXG4gICAgKTtcblxuICAgIHRha2VVbnRpbERlc3Ryb3llZCA9IHRha2VVbnRpbERlc3Ryb3llZCgpO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZ2V0SW5pdGlhbFN0YXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRJbml0aWFsU3RhdGUoKSB7XG4gICAgICAgIHRoaXMudGh5TW9kZSA9IHRoaXMudGh5TW9kZSB8fCAnZGF0ZSc7XG4gICAgICAgIHRoaXMuZmxleGlibGUgPSB0aGlzLnRoeU1vZGUgPT09ICdmbGV4aWJsZSc7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNSYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5wYW5lbE1vZGUgPSB0aGlzLmZsZXhpYmxlID8gWydkYXRlJywgJ2RhdGUnXSA6IFt0aGlzLnRoeU1vZGUsIHRoaXMudGh5TW9kZV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnBhbmVsTW9kZSA9IHRoaXMudGh5TW9kZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNob3dXZWVrID0gdGhpcy50aHlNb2RlID09PSAnd2Vlayc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcGVuT3ZlcmxheSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRJbml0aWFsU3RhdGUoKTtcbiAgICAgICAgY29uc3QgcG9wb3ZlclJlZiA9IHRoaXMudGh5UG9wb3Zlci5vcGVuKFxuICAgICAgICAgICAgRGF0ZVBvcHVwLFxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9yaWdpbjogdGhpcy5lbCxcbiAgICAgICAgICAgICAgICAgICAgaGFzQmFja2Ryb3A6IHRoaXMuaGFzQmFja2Ryb3AsXG4gICAgICAgICAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6ICd0aHktb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgIG91dHNpZGVDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpc1JhbmdlOiB0aGlzLmlzUmFuZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYW5lbE1vZGU6IHRoaXMucGFuZWxNb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1dlZWs6IHRoaXMuc2hvd1dlZWssXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy50aHlWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dUaW1lOiB0aGlzLnRoeVNob3dUaW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgbXVzdFNob3dUaW1lOiB0aGlzLndpdGhUaW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiB0aGlzLnRoeUZvcm1hdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVSZW5kZXI6IHRoaXMudGh5RGF0ZVJlbmRlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkRGF0ZTogdGhpcy50aHlEaXNhYmxlZERhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogdGhpcy50aHlQbGFjZUhvbGRlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogdGhpcy50aHlQYW5lbENsYXNzTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRQaWNrZXJWYWx1ZTogdGhpcy50aHlEZWZhdWx0UGlja2VyVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5EYXRlOiB0aGlzLnRoeU1pbkRhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXhEYXRlOiB0aGlzLnRoeU1heERhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93U2hvcnRjdXQ6IHRoaXMudGh5U2hvd1Nob3J0Y3V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvcnRjdXRQcmVzZXRzOiB0aGlzLnNob3J0Y3V0UHJlc2V0cyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3J0Y3V0UG9zaXRpb246IHRoaXMuc2hvcnRjdXRQb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXhpYmxlOiB0aGlzLmZsZXhpYmxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleGlibGVEYXRlR3JhbnVsYXJpdHk6IHRoaXMuZmxleGlibGVEYXRlR3JhbnVsYXJpdHlcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50OiB0aGlzLnRoeVBsYWNlbWVudFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdGhpcy50aHlQb3BvdmVyT3B0aW9uc1xuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgICBpZiAocG9wb3ZlclJlZikge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50SW5zdGFuY2UgPSBwb3BvdmVyUmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgICAgICAgICAgY29tcG9uZW50SW5zdGFuY2UudmFsdWVDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZXZlbnQ6IENvbXBhdGlibGVWYWx1ZSkgPT4gdGhpcy5vblZhbHVlQ2hhbmdlKGV2ZW50KSk7XG4gICAgICAgICAgICBjb21wb25lbnRJbnN0YW5jZS5jYWxlbmRhckNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChldmVudDogQ29tcGF0aWJsZVZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmFuZ2VWYWx1ZSA9IGNvZXJjZUFycmF5KGV2ZW50KS5tYXAoeCA9PiB4Lm5hdGl2ZURhdGUpO1xuICAgICAgICAgICAgICAgIHRoaXMudGh5T25DYWxlbmRhckNoYW5nZS5lbWl0KHJhbmdlVmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb21wb25lbnRJbnN0YW5jZS5zaG93VGltZVBpY2tlckNoYW5nZVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudDogYm9vbGVhbikgPT4gdGhpcy5vblNob3dUaW1lUGlja2VyQ2hhbmdlKGV2ZW50KSk7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgICAgICAgY29tcG9uZW50SW5zdGFuY2UubmdPbkNoYW5nZXMoeyB2YWx1ZToge30gYXMgU2ltcGxlQ2hhbmdlIH0pOyAvLyBkeW5hbWljYWxseSBjcmVhdGVkIGNvbXBvbmVudHMgZG9uJ3QgY2FsbCBuZ09uQ2hhbmdlcywgbWFudWFsIGNhbGxcbiAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLnNob3J0Y3V0VmFsdWVDaGFuZ2U/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGV2ZW50OiBUaHlTaG9ydGN1dFZhbHVlQ2hhbmdlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50aHlTaG9ydGN1dFZhbHVlQ2hhbmdlLmVtaXQoZXZlbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb21wb25lbnRJbnN0YW5jZS5kYXRlVmFsdWVDaGFuZ2U/LnBpcGUodGhpcy50YWtlVW50aWxEZXN0cm95ZWQpLnN1YnNjcmliZSgoZXZlbnQ6IFRoeURhdGVDaGFuZ2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGh5RGF0ZUNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcG9wb3ZlclJlZlxuICAgICAgICAgICAgICAgIC5hZnRlck9wZW5lZCgpXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy50aHlPcGVuQ2hhbmdlLmVtaXQodHJ1ZSkpO1xuICAgICAgICAgICAgcG9wb3ZlclJlZlxuICAgICAgICAgICAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy50aHlPcGVuQ2hhbmdlLmVtaXQoZmFsc2UpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsb3NlT3ZlcmxheSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aHlQb3BvdmVyLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgaW5pdEFjdGlvblN1YnNjcmliZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy4kY2xpY2sucGlwZShkZWJvdW5jZVRpbWUoNTApLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMudGh5RGlzYWJsZWQgJiYgIXRoaXMudGh5UmVhZG9ubHkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5PdmVybGF5KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSB0aHlQb3BvdmVyOiBUaHlQb3BvdmVyKSB7XG4gICAgICAgIHN1cGVyKGNkcik7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldERlZmF1bHRUaW1lUGlja2VyU3RhdGUoKTtcbiAgICAgICAgdGhpcy5pbml0QWN0aW9uU3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogQ29tcGF0aWJsZVZhbHVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVzdG9yZVRpbWVQaWNrZXJTdGF0ZSh2YWx1ZSk7XG4gICAgICAgIHN1cGVyLm9uVmFsdWVDaGFuZ2UodmFsdWUpO1xuICAgICAgICBpZiAoIXRoaXMuZmxleGlibGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VPdmVybGF5KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNwbGF5cyB0aGUgdGltZSBkaXJlY3RseSB3aGVuIHRoZSB0aW1lIG11c3QgYmUgZGlzcGxheWVkIGJ5IGRlZmF1bHRcbiAgICBzZXREZWZhdWx0VGltZVBpY2tlclN0YXRlKCkge1xuICAgICAgICB0aGlzLndpdGhUaW1lID0gdGhpcy50aHlNdXN0U2hvd1RpbWU7XG4gICAgfVxuXG4gICAgLy8gUmVzdG9yZSBhZnRlciBjbGVhcmluZyB0aW1lIHRvIHNlbGVjdCB3aGV0aGVyIHRoZSBvcmlnaW5hbCBwaWNrZXIgdGltZSBpcyBkaXNwbGF5ZWQgb3Igbm90XG4gICAgcmVzdG9yZVRpbWVQaWNrZXJTdGF0ZSh2YWx1ZTogQ29tcGF0aWJsZVZhbHVlIHwgbnVsbCkge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLndpdGhUaW1lID0gdGhpcy50aHlNdXN0U2hvd1RpbWUgfHwgdGhpcy5vcmlnaW5XaXRoVGltZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBvblNob3dUaW1lUGlja2VyQ2hhbmdlKHNob3c6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy53aXRoVGltZSA9IHNob3c7XG4gICAgfVxufVxuIl19
@@ -3,7 +3,7 @@ import { InputBoolean, ThyClickDispatcher } from 'ngx-tethys/core';
3
3
  import { coerceBooleanProperty, elementMatchClosest, TinyDate } from 'ngx-tethys/util';
4
4
  import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, NgZone, Output, PLATFORM_ID, ViewChild, inject } from '@angular/core';
5
5
  import { AbstractPickerComponent } from './abstract-picker.component';
6
- import { ThyPickerComponent } from './picker.component';
6
+ import { ThyPicker } from './picker.component';
7
7
  import { hasTimeInStringDate, isValidStringDate, parseStringDate, transformDateValue } from './picker.util';
8
8
  import { isPlatformBrowser } from '@angular/common';
9
9
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
@@ -11,7 +11,7 @@ import * as i0 from "@angular/core";
11
11
  /**
12
12
  * @private
13
13
  */
14
- export class BasePickerComponent extends AbstractPickerComponent {
14
+ export class BasePicker extends AbstractPickerComponent {
15
15
  set thyMode(value) {
16
16
  this._panelMode = value ?? 'date';
17
17
  if (this.initialized) {
@@ -208,18 +208,18 @@ export class BasePickerComponent extends AbstractPickerComponent {
208
208
  (!maxDate || date.startOfDay().nativeDate <= maxDate.startOfDay().nativeDate) &&
209
209
  !disable);
210
210
  }
211
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: BasePickerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
212
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: BasePickerComponent, isStandalone: true, selector: "ng-component", inputs: { thyDateRender: "thyDateRender", thyMode: "thyMode", thyHasBackdrop: "thyHasBackdrop", thyShowTime: "thyShowTime", thyMustShowTime: "thyMustShowTime", thyPlacement: "thyPlacement" }, outputs: { thyOnPanelChange: "thyOnPanelChange", thyOnCalendarChange: "thyOnCalendarChange", thyOnOk: "thyOnOk" }, host: { listeners: { "focus": "onFocus($event)", "blur": "onBlur($event)" }, properties: { "attr.tabindex": "tabIndex" } }, viewQueries: [{ propertyName: "thyPicker", first: true, predicate: ["thyPicker"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: ``, isInline: true }); }
211
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: BasePicker, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
212
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: BasePicker, isStandalone: true, selector: "ng-component", inputs: { thyDateRender: "thyDateRender", thyMode: "thyMode", thyHasBackdrop: "thyHasBackdrop", thyShowTime: "thyShowTime", thyMustShowTime: "thyMustShowTime", thyPlacement: "thyPlacement" }, outputs: { thyOnPanelChange: "thyOnPanelChange", thyOnCalendarChange: "thyOnCalendarChange", thyOnOk: "thyOnOk" }, host: { listeners: { "focus": "onFocus($event)", "blur": "onBlur($event)" }, properties: { "attr.tabindex": "tabIndex" } }, viewQueries: [{ propertyName: "thyPicker", first: true, predicate: ["thyPicker"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: ``, isInline: true }); }
213
213
  }
214
214
  __decorate([
215
215
  InputBoolean(),
216
216
  __metadata("design:type", Object)
217
- ], BasePickerComponent.prototype, "thyHasBackdrop", void 0);
217
+ ], BasePicker.prototype, "thyHasBackdrop", void 0);
218
218
  __decorate([
219
219
  InputBoolean(),
220
220
  __metadata("design:type", Object)
221
- ], BasePickerComponent.prototype, "thyMustShowTime", void 0);
222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: BasePickerComponent, decorators: [{
221
+ ], BasePicker.prototype, "thyMustShowTime", void 0);
222
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: BasePicker, decorators: [{
223
223
  type: Component,
224
224
  args: [{
225
225
  template: ``,
@@ -252,4 +252,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
252
252
  }], thyOnOk: [{
253
253
  type: Output
254
254
  }] } });
255
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2Jhc2UtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBZ0IsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQWdCLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXJHLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBRVosS0FBSyxFQUNMLE1BQU0sRUFHTixNQUFNLEVBQ04sV0FBVyxFQUVYLFNBQVMsRUFDVCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHdEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFaEU7O0dBRUc7QUFVSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsdUJBQXVCO0lBYTVELElBQWEsT0FBTyxDQUFDLEtBQW1CO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxJQUFJLE1BQU0sQ0FBQztRQUNsQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDTCxDQUFDO0lB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QkFXbUIsZUFBZTtzQkFBdkMsS0FBSztnQkFNRyxZQUFZO3NCQUFwQixLQUFLO2dCQUthLE9BQU87c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dEJvb2xlYW4sIFRoeUNsaWNrRGlzcGF0Y2hlciwgVGh5UGxhY2VtZW50IH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgZWxlbWVudE1hdGNoQ2xvc2VzdCwgRnVuY3Rpb25Qcm9wLCBUaW55RGF0ZSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUExBVEZPUk1fSUQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWJzdHJhY3RQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2Fic3RyYWN0LXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcGF0aWJsZVZhbHVlLCBSYW5nZUFkdmFuY2VkVmFsdWUgfSBmcm9tICcuL2lubmVyLXR5cGVzJztcbmltcG9ydCB7IENvbXBhdGlibGVEYXRlLCBUaHlQYW5lbE1vZGUgfSBmcm9tICcuL3N0YW5kYXJkLXR5cGVzJztcbmltcG9ydCB7IFRoeVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBoYXNUaW1lSW5TdHJpbmdEYXRlLCBpc1ZhbGlkU3RyaW5nRGF0ZSwgcGFyc2VTdHJpbmdEYXRlLCB0cmFuc2Zvcm1EYXRlVmFsdWUgfSBmcm9tICcuL3BpY2tlci51dGlsJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci50YWJpbmRleF0nOiBgdGFiSW5kZXhgLFxuICAgICAgICAnKGZvY3VzKSc6ICdvbkZvY3VzKCRldmVudCknLFxuICAgICAgICAnKGJsdXIpJzogJ29uQmx1cigkZXZlbnQpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQmFzZVBpY2tlckNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0UGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIHNob3dXZWVrID0gZmFsc2U7XG5cbiAgICBwYW5lbE1vZGU6IFRoeVBhbmVsTW9kZSB8IFRoeVBhbmVsTW9kZVtdO1xuXG4gICAgaW5pdGlhbGl6ZWQ6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIGlubmVyUHJldmlvdXNEYXRlOiBzdHJpbmc7XG5cbiAgICBAVmlld0NoaWxkKCd0aHlQaWNrZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSB0aHlQaWNrZXI6IFRoeVBpY2tlckNvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpIHRoeURhdGVSZW5kZXI6IEZ1bmN0aW9uUHJvcDxUZW1wbGF0ZVJlZjxEYXRlPiB8IHN0cmluZz47XG5cbiAgICBASW5wdXQoKSBzZXQgdGh5TW9kZSh2YWx1ZTogVGh5UGFuZWxNb2RlKSB7XG4gICAgICAgIHRoaXMuX3BhbmVsTW9kZSA9IHZhbHVlID8/ICdkYXRlJztcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdFRpbWVQaWNrZXJTdGF0ZSh0aGlzLl9wYW5lbE1vZGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IHRoeU1vZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wYW5lbE1vZGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pyJ5bmV5biDXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB0aHlIYXNCYWNrZHJvcCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBAdHlwZSBFdmVudEVtaXR0ZXI8VGh5UGFuZWxNb2RlIHwgVGh5UGFuZWxNb2RlW10+XG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHRoeU9uUGFuZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRoeVBhbmVsTW9kZSB8IFRoeVBhbmVsTW9kZVtdPigpO1xuXG4gICAgLyoqXG4gICAgICogQHR5cGUgRXZlbnRFbWl0dGVyPERhdGVbXT5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdGh5T25DYWxlbmRhckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVtdPigpO1xuXG4gICAgcHJpdmF0ZSBfc2hvd1RpbWU6IG9iamVjdCB8IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDlop7liqDml7bpl7TpgInmi6nlip/og71cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGdldCB0aHlTaG93VGltZSgpOiBvYmplY3QgfCBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dUaW1lO1xuICAgIH1cbiAgICBzZXQgdGh5U2hvd1RpbWUodmFsdWU6IG9iamVjdCB8IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2hvd1RpbWUgPSB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnID8gdmFsdWUgOiBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuWxleekuuaXtumXtCjml7bjgIHliIYpXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgdGh5TXVzdFNob3dUaW1lID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rkvY3nva5cbiAgICAgKiBAdHlwZSB0b3AgfCB0b3BMZWZ0IHwgdG9wUmlnaHQgfCBib3R0b20gfCBib3R0b21MZWZ0IHwgYm90dG9tUmlnaHQgfCBsZWZ0IHwgbGVmdFRvcCB8IGxlZnRCb3R0b20gfCByaWdodCB8IHJpZ2h0VG9wIHwgcmlnaHRCb3R0b21cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlQbGFjZW1lbnQ6IFRoeVBsYWNlbWVudCA9ICdib3R0b21MZWZ0JztcblxuICAgIC8qKlxuICAgICAqIEB0eXBlIEV2ZW50RW1pdHRlcjxDb21wYXRpYmxlRGF0ZSB8IG51bGw+XG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHRoeU9uT2sgPSBuZXcgRXZlbnRFbWl0dGVyPENvbXBhdGlibGVEYXRlIHwgbnVsbD4oKTtcblxuICAgIHRha2VVbnRpbERlc3Ryb3llZCA9IHRha2VVbnRpbERlc3Ryb3llZCgpO1xuXG4gICAgdGh5Q2xpY2tEaXNwYXRjaGVyID0gaW5qZWN0KFRoeUNsaWNrRGlzcGF0Y2hlcik7XG5cbiAgICBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcblxuICAgIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gICAgY29uc3RydWN0b3IoY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJvdGVjdGVkIGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoY2RyKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5zZXREZWZhdWx0VGltZVBpY2tlclN0YXRlKHRoaXMuX3BhbmVsTW9kZSk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuXG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICB0aGlzLnRoeUNsaWNrRGlzcGF0Y2hlclxuICAgICAgICAgICAgICAgIC5jbGlja2VkKDApXG4gICAgICAgICAgICAgICAgLnBpcGUodGhpcy50YWtlVW50aWxEZXN0cm95ZWQpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICF0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy50aHlQaWNrZXI/Lm92ZXJsYXlDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlYWxPcGVuU3RhdGVcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VPdmVybGF5KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogQ29tcGF0aWJsZVZhbHVlIHwgUmFuZ2VBZHZhbmNlZFZhbHVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGh5UGlja2VyLmVudGVyaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVzdG9yZVRpbWVQaWNrZXJTdGF0ZSh2YWx1ZSBhcyBDb21wYXRpYmxlVmFsdWUpO1xuICAgICAgICBzdXBlci5vblZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgaWYgKCF0aGlzLmZsZXhpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlT3ZlcmxheSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW5uZXJQcmV2aW91c0RhdGUgPSB0aGlzLnRoeVBpY2tlci5nZXRSZWFkYWJsZVZhbHVlKHRoaXMudGh5VmFsdWUpO1xuICAgIH1cblxuICAgIG9uSW5wdXRWYWx1ZUNoYW5nZShmb3JtYXREYXRlOiBzdHJpbmcgfCBudWxsIHwgQXJyYXk8bnVsbD4pIHtcbiAgICAgICAgaWYgKCFmb3JtYXREYXRlIHx8ICFmb3JtYXREYXRlLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgY29tcGF0aWJsZVZhbHVlID0gZm9ybWF0RGF0ZSA/IChmb3JtYXREYXRlIGFzIENvbXBhdGlibGVWYWx1ZSkgOiBudWxsO1xuICAgICAgICAgICAgdGhpcy5yZXN0b3JlVGltZVBpY2tlclN0YXRlKGNvbXBhdGlibGVWYWx1ZSk7XG4gICAgICAgICAgICBzdXBlci5vblZhbHVlQ2hhbmdlKGNvbXBhdGlibGVWYWx1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHZhbHVlID0gZm9ybWF0RGF0ZSBhcyBzdHJpbmc7XG4gICAgICAgIGNvbnN0IHZhbHVlVmFsaWQgPSBpc1ZhbGlkU3RyaW5nRGF0ZSh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IHZhbHVlTGltaXRWYWxpZCA9IHZhbHVlVmFsaWQgPyB0aGlzLmlzVmFsaWREYXRlTGltaXQocGFyc2VTdHJpbmdEYXRlKHZhbHVlKSkgOiBmYWxzZTtcbiAgICAgICAgaWYgKHZhbHVlVmFsaWQgJiYgdmFsdWVMaW1pdFZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLmlubmVyUHJldmlvdXNEYXRlID0gdmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHRoaXMuaW5uZXJQcmV2aW91c0RhdGU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGlueURhdGUgPSB2YWx1ZSA/ICh0aGlzLnRoeVNob3dUaW1lID8gcGFyc2VTdHJpbmdEYXRlKHZhbHVlKSA6IHBhcnNlU3RyaW5nRGF0ZSh2YWx1ZSkuc3RhcnRPZkRheSgpKSA6IG51bGw7XG4gICAgICAgIHRoaXMucmVzdG9yZVRpbWVQaWNrZXJTdGF0ZSh0aW55RGF0ZSk7XG4gICAgICAgIHN1cGVyLm9uVmFsdWVDaGFuZ2UodGlueURhdGUpO1xuICAgIH1cblxuICAgIC8vIERpc3BsYXlzIHRoZSB0aW1lIGRpcmVjdGx5IHdoZW4gdGhlIHRpbWUgbXVzdCBiZSBkaXNwbGF5ZWQgYnkgZGVmYXVsdFxuICAgIHNldERlZmF1bHRUaW1lUGlja2VyU3RhdGUodmFsdWU6IFRoeVBhbmVsTW9kZSkge1xuICAgICAgICB0aGlzLndpdGhUaW1lID0gdGhpcy50aHlNdXN0U2hvd1RpbWU7XG4gICAgICAgIGlmICh0aGlzLmlzUmFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMucGFuZWxNb2RlID0gdGhpcy5mbGV4aWJsZSA/IFsnZGF0ZScsICdkYXRlJ10gOiBbdmFsdWUsIHZhbHVlXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucGFuZWxNb2RlID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zaG93V2VlayA9IHZhbHVlID09PSAnd2Vlayc7XG4gICAgICAgIGlmICghdGhpcy50aHlGb3JtYXQpIHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0Rm9ybWF0czogeyBba2V5IGluIFRoeVBhbmVsTW9kZV0/OiBzdHJpbmcgfSA9IHtcbiAgICAgICAgICAgICAgICB5ZWFyOiAneXl5eScsXG4gICAgICAgICAgICAgICAgcXVhcnRlcjogJ3l5eXktcXFxJyxcbiAgICAgICAgICAgICAgICBtb250aDogJ3l5eXktTU0nLFxuICAgICAgICAgICAgICAgIHdlZWs6ICd5eXl5LXd35ZGoJyxcbiAgICAgICAgICAgICAgICBkYXRlOiB0aGlzLnRoeVNob3dUaW1lID8gJ3l5eXktTU0tZGQgSEg6bW0nIDogJ3l5eXktTU0tZGQnXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy50aHlGb3JtYXQgPSB0aGlzLmZsZXhpYmxlID8gaW5wdXRGb3JtYXRzWydkYXRlJ10gOiBpbnB1dEZvcm1hdHNbdmFsdWVdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzdG9yZSBhZnRlciBjbGVhcmluZyB0aW1lIHRvIHNlbGVjdCB3aGV0aGVyIHRoZSBvcmlnaW5hbCBwaWNrZXIgdGltZSBpcyBkaXNwbGF5ZWQgb3Igbm90XG4gICAgcmVzdG9yZVRpbWVQaWNrZXJTdGF0ZSh2YWx1ZTogQ29tcGF0aWJsZVZhbHVlIHwgbnVsbCkge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLndpdGhUaW1lID0gdGhpcy50aHlNdXN0U2hvd1RpbWUgfHwgdGhpcy5vcmlnaW5XaXRoVGltZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVtaXQgdGh5T25DYWxlbmRhckNoYW5nZSB3aGVuIHNlbGVjdCBkYXRlIGJ5IHRoeS1yYW5nZS1waWNrZXJcbiAgICBvbkNhbGVuZGFyQ2hhbmdlKHZhbHVlOiBUaW55RGF0ZVtdKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzUmFuZ2UpIHtcbiAgICAgICAgICAgIGNvbnN0IHJhbmdlVmFsdWUgPSB2YWx1ZS5tYXAoeCA9PiB4Lm5hdGl2ZURhdGUpO1xuICAgICAgICAgICAgdGhpcy50aHlPbkNhbGVuZGFyQ2hhbmdlLmVtaXQocmFuZ2VWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNob3dUaW1lUGlja2VyQ2hhbmdlKHNob3c6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy53aXRoVGltZSA9IHNob3c7XG4gICAgfVxuXG4gICAgb25SZXN1bHRPaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNSYW5nZSkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnRoeVZhbHVlIGFzIFRpbnlEYXRlW107XG4gICAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aHlPbk9rLmVtaXQoW3ZhbHVlWzBdLm5hdGl2ZURhdGUsIHZhbHVlWzFdLm5hdGl2ZURhdGVdKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aHlPbk9rLmVtaXQoW10pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMudGh5VmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRoeU9uT2suZW1pdCgodGhpcy50aHlWYWx1ZSBhcyBUaW55RGF0ZSkubmF0aXZlRGF0ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudGh5T25Pay5lbWl0KG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2xvc2VPdmVybGF5KCk7XG4gICAgfVxuXG4gICAgb25PcGVuQ2hhbmdlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aHlPcGVuQ2hhbmdlLmVtaXQob3Blbik7XG4gICAgICAgIGlmICghb3Blbikge1xuICAgICAgICAgICAgdGhpcy5vblRvdWNoZWRGbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Gb2N1cyhldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5waWNrZXIuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbkJsdXIoZXZlbnQ/OiBGb2N1c0V2ZW50KSB7XG4gICAgICAgIC8vIFRhYiDogZrnhKblkI7oh6rliqjogZrnhKbliLAgaW5wdXQg6L6T5YWl5qGG77yM5q2k5YiG5pSv5LiL55u05o6l6L+U5Zue77yM5peg6ZyA6Kem5Y+RIG9uVG91Y2hlZEZuXG4gICAgICAgIGlmIChlbGVtZW50TWF0Y2hDbG9zZXN0KGV2ZW50Py5yZWxhdGVkVGFyZ2V0IGFzIEhUTUxFbGVtZW50LCBbJ2RhdGUtcG9wdXAnLCAndGh5LXBpY2tlciddKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub25Ub3VjaGVkRm4oKTtcbiAgICB9XG5cbiAgICBvbklucHV0RGF0ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSAmJiBpc1ZhbGlkU3RyaW5nRGF0ZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeVNob3dUaW1lKSB7XG4gICAgICAgICAgICAgICAgdGhpcy53aXRoVGltZSA9IGhhc1RpbWVJblN0cmluZ0RhdGUodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy50aHlWYWx1ZSA9IHBhcnNlU3RyaW5nRGF0ZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVmFsaWREYXRlTGltaXQoZGF0ZTogVGlueURhdGUpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IGRpc2FibGUgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMudGh5RGlzYWJsZWREYXRlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGRpc2FibGUgPSB0aGlzLnRoeURpc2FibGVkRGF0ZShkYXRlLm5hdGl2ZURhdGUpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1pbkRhdGUgPSB0aGlzLnRoeU1pbkRhdGUgPyBuZXcgVGlueURhdGUodHJhbnNmb3JtRGF0ZVZhbHVlKHRoaXMudGh5TWluRGF0ZSkudmFsdWUgYXMgRGF0ZSkgOiBudWxsO1xuICAgICAgICBjb25zdCBtYXhEYXRlID0gdGhpcy50aHlNYXhEYXRlID8gbmV3IFRpbnlEYXRlKHRyYW5zZm9ybURhdGVWYWx1ZSh0aGlzLnRoeU1heERhdGUpLnZhbHVlIGFzIERhdGUpIDogbnVsbDtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICghbWluRGF0ZSB8fCBkYXRlLnN0YXJ0T2ZEYXkoKS5uYXRpdmVEYXRlID49IG1pbkRhdGUuc3RhcnRPZkRheSgpLm5hdGl2ZURhdGUpICYmXG4gICAgICAgICAgICAoIW1heERhdGUgfHwgZGF0ZS5zdGFydE9mRGF5KCkubmF0aXZlRGF0ZSA8PSBtYXhEYXRlLnN0YXJ0T2ZEYXkoKS5uYXRpdmVEYXRlKSAmJlxuICAgICAgICAgICAgIWRpc2FibGVcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
255
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2Jhc2UtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBZ0IsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQWdCLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXJHLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBRVosS0FBSyxFQUNMLE1BQU0sRUFHTixNQUFNLEVBQ04sV0FBVyxFQUVYLFNBQVMsRUFDVCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRWhFOztHQUVHO0FBVUgsTUFBTSxPQUFPLFVBQVcsU0FBUSx1QkFBdUI7SUFhbkQsSUFBYSxPQUFPLENBQUMsS0FBbUI7UUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLElBQUksTUFBTSxDQUFDO1FBQ2xDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNMLENBQUM7SUFFRCxJ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QkFBdkMsS0FBSztnQkFNRyxZQUFZO3NCQUFwQixLQUFLO2dCQUthLE9BQU87c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dEJvb2xlYW4sIFRoeUNsaWNrRGlzcGF0Y2hlciwgVGh5UGxhY2VtZW50IH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgZWxlbWVudE1hdGNoQ2xvc2VzdCwgRnVuY3Rpb25Qcm9wLCBUaW55RGF0ZSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUExBVEZPUk1fSUQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWJzdHJhY3RQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2Fic3RyYWN0LXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcGF0aWJsZVZhbHVlLCBSYW5nZUFkdmFuY2VkVmFsdWUgfSBmcm9tICcuL2lubmVyLXR5cGVzJztcbmltcG9ydCB7IENvbXBhdGlibGVEYXRlLCBUaHlQYW5lbE1vZGUgfSBmcm9tICcuL3N0YW5kYXJkLXR5cGVzJztcbmltcG9ydCB7IFRoeVBpY2tlciB9IGZyb20gJy4vcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBoYXNUaW1lSW5TdHJpbmdEYXRlLCBpc1ZhbGlkU3RyaW5nRGF0ZSwgcGFyc2VTdHJpbmdEYXRlLCB0cmFuc2Zvcm1EYXRlVmFsdWUgfSBmcm9tICcuL3BpY2tlci51dGlsJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci50YWJpbmRleF0nOiBgdGFiSW5kZXhgLFxuICAgICAgICAnKGZvY3VzKSc6ICdvbkZvY3VzKCRldmVudCknLFxuICAgICAgICAnKGJsdXIpJzogJ29uQmx1cigkZXZlbnQpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQmFzZVBpY2tlciBleHRlbmRzIEFic3RyYWN0UGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIHNob3dXZWVrID0gZmFsc2U7XG5cbiAgICBwYW5lbE1vZGU6IFRoeVBhbmVsTW9kZSB8IFRoeVBhbmVsTW9kZVtdO1xuXG4gICAgaW5pdGlhbGl6ZWQ6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIGlubmVyUHJldmlvdXNEYXRlOiBzdHJpbmc7XG5cbiAgICBAVmlld0NoaWxkKCd0aHlQaWNrZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSB0aHlQaWNrZXI6IFRoeVBpY2tlcjtcblxuICAgIEBJbnB1dCgpIHRoeURhdGVSZW5kZXI6IEZ1bmN0aW9uUHJvcDxUZW1wbGF0ZVJlZjxEYXRlPiB8IHN0cmluZz47XG5cbiAgICBASW5wdXQoKSBzZXQgdGh5TW9kZSh2YWx1ZTogVGh5UGFuZWxNb2RlKSB7XG4gICAgICAgIHRoaXMuX3BhbmVsTW9kZSA9IHZhbHVlID8/ICdkYXRlJztcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdFRpbWVQaWNrZXJTdGF0ZSh0aGlzLl9wYW5lbE1vZGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IHRoeU1vZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wYW5lbE1vZGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pyJ5bmV5biDXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB0aHlIYXNCYWNrZHJvcCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBAdHlwZSBFdmVudEVtaXR0ZXI8VGh5UGFuZWxNb2RlIHwgVGh5UGFuZWxNb2RlW10+XG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHRoeU9uUGFuZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRoeVBhbmVsTW9kZSB8IFRoeVBhbmVsTW9kZVtdPigpO1xuXG4gICAgLyoqXG4gICAgICogQHR5cGUgRXZlbnRFbWl0dGVyPERhdGVbXT5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdGh5T25DYWxlbmRhckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVtdPigpO1xuXG4gICAgcHJpdmF0ZSBfc2hvd1RpbWU6IG9iamVjdCB8IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDlop7liqDml7bpl7TpgInmi6nlip/og71cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGdldCB0aHlTaG93VGltZSgpOiBvYmplY3QgfCBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dUaW1lO1xuICAgIH1cbiAgICBzZXQgdGh5U2hvd1RpbWUodmFsdWU6IG9iamVjdCB8IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2hvd1RpbWUgPSB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnID8gdmFsdWUgOiBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuWxleekuuaXtumXtCjml7bjgIHliIYpXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgdGh5TXVzdFNob3dUaW1lID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rkvY3nva5cbiAgICAgKiBAdHlwZSB0b3AgfCB0b3BMZWZ0IHwgdG9wUmlnaHQgfCBib3R0b20gfCBib3R0b21MZWZ0IHwgYm90dG9tUmlnaHQgfCBsZWZ0IHwgbGVmdFRvcCB8IGxlZnRCb3R0b20gfCByaWdodCB8IHJpZ2h0VG9wIHwgcmlnaHRCb3R0b21cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlQbGFjZW1lbnQ6IFRoeVBsYWNlbWVudCA9ICdib3R0b21MZWZ0JztcblxuICAgIC8qKlxuICAgICAqIEB0eXBlIEV2ZW50RW1pdHRlcjxDb21wYXRpYmxlRGF0ZSB8IG51bGw+XG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHRoeU9uT2sgPSBuZXcgRXZlbnRFbWl0dGVyPENvbXBhdGlibGVEYXRlIHwgbnVsbD4oKTtcblxuICAgIHRha2VVbnRpbERlc3Ryb3llZCA9IHRha2VVbnRpbERlc3Ryb3llZCgpO1xuXG4gICAgdGh5Q2xpY2tEaXNwYXRjaGVyID0gaW5qZWN0KFRoeUNsaWNrRGlzcGF0Y2hlcik7XG5cbiAgICBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcblxuICAgIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gICAgY29uc3RydWN0b3IoY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJvdGVjdGVkIGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoY2RyKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5zZXREZWZhdWx0VGltZVBpY2tlclN0YXRlKHRoaXMuX3BhbmVsTW9kZSk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuXG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICB0aGlzLnRoeUNsaWNrRGlzcGF0Y2hlclxuICAgICAgICAgICAgICAgIC5jbGlja2VkKDApXG4gICAgICAgICAgICAgICAgLnBpcGUodGhpcy50YWtlVW50aWxEZXN0cm95ZWQpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICF0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy50aHlQaWNrZXI/Lm92ZXJsYXlDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlYWxPcGVuU3RhdGVcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VPdmVybGF5KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogQ29tcGF0aWJsZVZhbHVlIHwgUmFuZ2VBZHZhbmNlZFZhbHVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGh5UGlja2VyLmVudGVyaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVzdG9yZVRpbWVQaWNrZXJTdGF0ZSh2YWx1ZSBhcyBDb21wYXRpYmxlVmFsdWUpO1xuICAgICAgICBzdXBlci5vblZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgaWYgKCF0aGlzLmZsZXhpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlT3ZlcmxheSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW5uZXJQcmV2aW91c0RhdGUgPSB0aGlzLnRoeVBpY2tlci5nZXRSZWFkYWJsZVZhbHVlKHRoaXMudGh5VmFsdWUpO1xuICAgIH1cblxuICAgIG9uSW5wdXRWYWx1ZUNoYW5nZShmb3JtYXREYXRlOiBzdHJpbmcgfCBudWxsIHwgQXJyYXk8bnVsbD4pIHtcbiAgICAgICAgaWYgKCFmb3JtYXREYXRlIHx8ICFmb3JtYXREYXRlLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgY29tcGF0aWJsZVZhbHVlID0gZm9ybWF0RGF0ZSA/IChmb3JtYXREYXRlIGFzIENvbXBhdGlibGVWYWx1ZSkgOiBudWxsO1xuICAgICAgICAgICAgdGhpcy5yZXN0b3JlVGltZVBpY2tlclN0YXRlKGNvbXBhdGlibGVWYWx1ZSk7XG4gICAgICAgICAgICBzdXBlci5vblZhbHVlQ2hhbmdlKGNvbXBhdGlibGVWYWx1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHZhbHVlID0gZm9ybWF0RGF0ZSBhcyBzdHJpbmc7XG4gICAgICAgIGNvbnN0IHZhbHVlVmFsaWQgPSBpc1ZhbGlkU3RyaW5nRGF0ZSh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IHZhbHVlTGltaXRWYWxpZCA9IHZhbHVlVmFsaWQgPyB0aGlzLmlzVmFsaWREYXRlTGltaXQocGFyc2VTdHJpbmdEYXRlKHZhbHVlKSkgOiBmYWxzZTtcbiAgICAgICAgaWYgKHZhbHVlVmFsaWQgJiYgdmFsdWVMaW1pdFZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLmlubmVyUHJldmlvdXNEYXRlID0gdmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHRoaXMuaW5uZXJQcmV2aW91c0RhdGU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGlueURhdGUgPSB2YWx1ZSA/ICh0aGlzLnRoeVNob3dUaW1lID8gcGFyc2VTdHJpbmdEYXRlKHZhbHVlKSA6IHBhcnNlU3RyaW5nRGF0ZSh2YWx1ZSkuc3RhcnRPZkRheSgpKSA6IG51bGw7XG4gICAgICAgIHRoaXMucmVzdG9yZVRpbWVQaWNrZXJTdGF0ZSh0aW55RGF0ZSk7XG4gICAgICAgIHN1cGVyLm9uVmFsdWVDaGFuZ2UodGlueURhdGUpO1xuICAgIH1cblxuICAgIC8vIERpc3BsYXlzIHRoZSB0aW1lIGRpcmVjdGx5IHdoZW4gdGhlIHRpbWUgbXVzdCBiZSBkaXNwbGF5ZWQgYnkgZGVmYXVsdFxuICAgIHNldERlZmF1bHRUaW1lUGlja2VyU3RhdGUodmFsdWU6IFRoeVBhbmVsTW9kZSkge1xuICAgICAgICB0aGlzLndpdGhUaW1lID0gdGhpcy50aHlNdXN0U2hvd1RpbWU7XG4gICAgICAgIGlmICh0aGlzLmlzUmFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMucGFuZWxNb2RlID0gdGhpcy5mbGV4aWJsZSA/IFsnZGF0ZScsICdkYXRlJ10gOiBbdmFsdWUsIHZhbHVlXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucGFuZWxNb2RlID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zaG93V2VlayA9IHZhbHVlID09PSAnd2Vlayc7XG4gICAgICAgIGlmICghdGhpcy50aHlGb3JtYXQpIHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0Rm9ybWF0czogeyBba2V5IGluIFRoeVBhbmVsTW9kZV0/OiBzdHJpbmcgfSA9IHtcbiAgICAgICAgICAgICAgICB5ZWFyOiAneXl5eScsXG4gICAgICAgICAgICAgICAgcXVhcnRlcjogJ3l5eXktcXFxJyxcbiAgICAgICAgICAgICAgICBtb250aDogJ3l5eXktTU0nLFxuICAgICAgICAgICAgICAgIHdlZWs6ICd5eXl5LXd35ZGoJyxcbiAgICAgICAgICAgICAgICBkYXRlOiB0aGlzLnRoeVNob3dUaW1lID8gJ3l5eXktTU0tZGQgSEg6bW0nIDogJ3l5eXktTU0tZGQnXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy50aHlGb3JtYXQgPSB0aGlzLmZsZXhpYmxlID8gaW5wdXRGb3JtYXRzWydkYXRlJ10gOiBpbnB1dEZvcm1hdHNbdmFsdWVdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzdG9yZSBhZnRlciBjbGVhcmluZyB0aW1lIHRvIHNlbGVjdCB3aGV0aGVyIHRoZSBvcmlnaW5hbCBwaWNrZXIgdGltZSBpcyBkaXNwbGF5ZWQgb3Igbm90XG4gICAgcmVzdG9yZVRpbWVQaWNrZXJTdGF0ZSh2YWx1ZTogQ29tcGF0aWJsZVZhbHVlIHwgbnVsbCkge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLndpdGhUaW1lID0gdGhpcy50aHlNdXN0U2hvd1RpbWUgfHwgdGhpcy5vcmlnaW5XaXRoVGltZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVtaXQgdGh5T25DYWxlbmRhckNoYW5nZSB3aGVuIHNlbGVjdCBkYXRlIGJ5IHRoeS1yYW5nZS1waWNrZXJcbiAgICBvbkNhbGVuZGFyQ2hhbmdlKHZhbHVlOiBUaW55RGF0ZVtdKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzUmFuZ2UpIHtcbiAgICAgICAgICAgIGNvbnN0IHJhbmdlVmFsdWUgPSB2YWx1ZS5tYXAoeCA9PiB4Lm5hdGl2ZURhdGUpO1xuICAgICAgICAgICAgdGhpcy50aHlPbkNhbGVuZGFyQ2hhbmdlLmVtaXQocmFuZ2VWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNob3dUaW1lUGlja2VyQ2hhbmdlKHNob3c6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy53aXRoVGltZSA9IHNob3c7XG4gICAgfVxuXG4gICAgb25SZXN1bHRPaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNSYW5nZSkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnRoeVZhbHVlIGFzIFRpbnlEYXRlW107XG4gICAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aHlPbk9rLmVtaXQoW3ZhbHVlWzBdLm5hdGl2ZURhdGUsIHZhbHVlWzFdLm5hdGl2ZURhdGVdKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aHlPbk9rLmVtaXQoW10pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMudGh5VmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRoeU9uT2suZW1pdCgodGhpcy50aHlWYWx1ZSBhcyBUaW55RGF0ZSkubmF0aXZlRGF0ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudGh5T25Pay5lbWl0KG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2xvc2VPdmVybGF5KCk7XG4gICAgfVxuXG4gICAgb25PcGVuQ2hhbmdlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aHlPcGVuQ2hhbmdlLmVtaXQob3Blbik7XG4gICAgICAgIGlmICghb3Blbikge1xuICAgICAgICAgICAgdGhpcy5vblRvdWNoZWRGbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Gb2N1cyhldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5waWNrZXIuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbkJsdXIoZXZlbnQ/OiBGb2N1c0V2ZW50KSB7XG4gICAgICAgIC8vIFRhYiDogZrnhKblkI7oh6rliqjogZrnhKbliLAgaW5wdXQg6L6T5YWl5qGG77yM5q2k5YiG5pSv5LiL55u05o6l6L+U5Zue77yM5peg6ZyA6Kem5Y+RIG9uVG91Y2hlZEZuXG4gICAgICAgIGlmIChlbGVtZW50TWF0Y2hDbG9zZXN0KGV2ZW50Py5yZWxhdGVkVGFyZ2V0IGFzIEhUTUxFbGVtZW50LCBbJ2RhdGUtcG9wdXAnLCAndGh5LXBpY2tlciddKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub25Ub3VjaGVkRm4oKTtcbiAgICB9XG5cbiAgICBvbklucHV0RGF0ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSAmJiBpc1ZhbGlkU3RyaW5nRGF0ZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeVNob3dUaW1lKSB7XG4gICAgICAgICAgICAgICAgdGhpcy53aXRoVGltZSA9IGhhc1RpbWVJblN0cmluZ0RhdGUodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy50aHlWYWx1ZSA9IHBhcnNlU3RyaW5nRGF0ZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVmFsaWREYXRlTGltaXQoZGF0ZTogVGlueURhdGUpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IGRpc2FibGUgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMudGh5RGlzYWJsZWREYXRlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGRpc2FibGUgPSB0aGlzLnRoeURpc2FibGVkRGF0ZShkYXRlLm5hdGl2ZURhdGUpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1pbkRhdGUgPSB0aGlzLnRoeU1pbkRhdGUgPyBuZXcgVGlueURhdGUodHJhbnNmb3JtRGF0ZVZhbHVlKHRoaXMudGh5TWluRGF0ZSkudmFsdWUgYXMgRGF0ZSkgOiBudWxsO1xuICAgICAgICBjb25zdCBtYXhEYXRlID0gdGhpcy50aHlNYXhEYXRlID8gbmV3IFRpbnlEYXRlKHRyYW5zZm9ybURhdGVWYWx1ZSh0aGlzLnRoeU1heERhdGUpLnZhbHVlIGFzIERhdGUpIDogbnVsbDtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICghbWluRGF0ZSB8fCBkYXRlLnN0YXJ0T2ZEYXkoKS5uYXRpdmVEYXRlID49IG1pbkRhdGUuc3RhcnRPZkRheSgpLm5hdGl2ZURhdGUpICYmXG4gICAgICAgICAgICAoIW1heERhdGUgfHwgZGF0ZS5zdGFydE9mRGF5KCkubmF0aXZlRGF0ZSA8PSBtYXhEYXRlLnN0YXJ0T2ZEYXkoKS5uYXRpdmVEYXRlKSAmJlxuICAgICAgICAgICAgIWRpc2FibGVcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=