ngx-tethys 18.1.0-next.0 → 18.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (558) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/action/action.component.d.ts +1 -2
  3. package/affix/affix.component.d.ts +2 -4
  4. package/anchor/anchor-link.component.d.ts +2 -4
  5. package/anchor/anchor.component.d.ts +1 -4
  6. package/arrow-switcher/arrow-switcher.component.d.ts +1 -2
  7. package/autocomplete/autocomplete.component.d.ts +1 -2
  8. package/autocomplete/autocomplete.trigger.directive.d.ts +3 -5
  9. package/autocomplete/overlay/autocomplete-container.component.d.ts +4 -4
  10. package/autocomplete/overlay/autocomplete.service.d.ts +3 -5
  11. package/avatar/avatar.component.d.ts +1 -3
  12. package/avatar/avatar.pipe.d.ts +0 -2
  13. package/back-top/back-top.component.d.ts +2 -4
  14. package/badge/badge.component.d.ts +5 -14
  15. package/breadcrumb/breadcrumb-item.component.d.ts +1 -2
  16. package/breadcrumb/breadcrumb.component.d.ts +1 -2
  17. package/button/button.component.d.ts +1 -2
  18. package/calendar/calendar-header.component.d.ts +1 -2
  19. package/calendar/calendar.component.d.ts +1 -2
  20. package/carousel/carousel-item.directive.d.ts +1 -2
  21. package/carousel/carousel.component.d.ts +1 -4
  22. package/carousel/carousel.service.d.ts +1 -2
  23. package/cascader/cascader.component.d.ts +4 -4
  24. package/checkbox/checkbox.component.d.ts +0 -2
  25. package/collapse/collapse-item.component.d.ts +2 -4
  26. package/color-picker/color-picker-panel.component.d.ts +2 -3
  27. package/color-picker/color-picker.component.d.ts +2 -4
  28. package/color-picker/coordinates.directive.d.ts +1 -2
  29. package/color-picker/parts/alpha/alpha.component.d.ts +1 -2
  30. package/color-picker/parts/hue/hue.component.d.ts +1 -2
  31. package/color-picker/parts/saturation/saturation.component.d.ts +1 -2
  32. package/copy/copy.directive.d.ts +0 -2
  33. package/core/click-positioner.d.ts +0 -2
  34. package/core/scroll.d.ts +1 -2
  35. package/core/update-host-class.service.d.ts +1 -2
  36. package/date-picker/abstract-picker.component.d.ts +1 -1
  37. package/date-picker/abstract-picker.directive.d.ts +2 -3
  38. package/date-picker/base-picker.component.d.ts +2 -3
  39. package/date-picker/date-picker.component.d.ts +2 -2
  40. package/date-picker/date-picker.directive.d.ts +1 -3
  41. package/date-picker/date-picker.service.d.ts +2 -2
  42. package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -2
  43. package/date-picker/lib/calendar/calendar-header.component.d.ts +0 -1
  44. package/date-picker/lib/date/date-header.component.d.ts +0 -3
  45. package/date-picker/lib/date/date-table.component.d.ts +1 -3
  46. package/date-picker/lib/date-carousel/date-carousel.component.d.ts +1 -2
  47. package/date-picker/lib/decade/decade-header.component.d.ts +1 -1
  48. package/date-picker/lib/month/month-header.component.d.ts +0 -3
  49. package/date-picker/lib/month/month-table.component.d.ts +1 -2
  50. package/date-picker/lib/popups/date-popup.component.d.ts +1 -3
  51. package/date-picker/lib/popups/inner-popup.component.d.ts +1 -4
  52. package/date-picker/lib/quarter/quarter-table.component.d.ts +1 -2
  53. package/date-picker/lib/year/year-header.component.d.ts +0 -1
  54. package/date-picker/month-picker.component.d.ts +2 -2
  55. package/date-picker/picker.component.d.ts +1 -3
  56. package/date-picker/picker.pipes.d.ts +0 -3
  57. package/date-picker/quarter-picker.component.d.ts +2 -2
  58. package/date-picker/range-picker.component.d.ts +2 -2
  59. package/date-picker/range-picker.directive.d.ts +2 -3
  60. package/date-picker/week-picker.component.d.ts +2 -2
  61. package/date-picker/year-picker.component.d.ts +2 -2
  62. package/date-range/date-range.component.d.ts +1 -3
  63. package/date-range/optional-dates/optional-dates.component.d.ts +0 -2
  64. package/dialog/body/dialog-body.component.d.ts +0 -2
  65. package/dialog/confirm/confirm.component.d.ts +2 -3
  66. package/dialog/dialog-container.component.d.ts +4 -5
  67. package/dialog/dialog.service.d.ts +4 -4
  68. package/dialog/footer/dialog-footer.component.d.ts +2 -2
  69. package/dialog/header/dialog-header.component.d.ts +2 -6
  70. package/dot/dot.component.d.ts +1 -2
  71. package/drag-drop/drag-content.directive.d.ts +2 -3
  72. package/drag-drop/drag-handle.directive.d.ts +2 -3
  73. package/drag-drop/drag.directive.d.ts +4 -5
  74. package/drag-drop/drop-container.directive.d.ts +6 -3
  75. package/dropdown/dropdown-active.directive.d.ts +3 -4
  76. package/dropdown/dropdown-menu-item.directive.d.ts +1 -2
  77. package/dropdown/dropdown-submenu.component.d.ts +1 -3
  78. package/dropdown/dropdown.directive.d.ts +3 -5
  79. package/empty/empty.component.d.ts +6 -6
  80. package/esm2022/action/action.component.mjs +18 -18
  81. package/esm2022/affix/affix.component.mjs +11 -14
  82. package/esm2022/anchor/anchor-link.component.mjs +9 -10
  83. package/esm2022/anchor/anchor.component.mjs +11 -16
  84. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +22 -22
  85. package/esm2022/autocomplete/autocomplete.component.mjs +7 -7
  86. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +30 -37
  87. package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +11 -15
  88. package/esm2022/autocomplete/overlay/autocomplete.service.mjs +14 -21
  89. package/esm2022/avatar/avatar.component.mjs +24 -25
  90. package/esm2022/avatar/avatar.pipe.mjs +6 -7
  91. package/esm2022/back-top/back-top.component.mjs +11 -15
  92. package/esm2022/badge/badge.component.mjs +6 -6
  93. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +7 -7
  94. package/esm2022/breadcrumb/breadcrumb.component.mjs +12 -12
  95. package/esm2022/button/button.component.mjs +12 -12
  96. package/esm2022/calendar/calendar-header.component.mjs +12 -12
  97. package/esm2022/calendar/calendar.component.mjs +12 -12
  98. package/esm2022/carousel/carousel-item.directive.mjs +7 -6
  99. package/esm2022/carousel/carousel.component.mjs +10 -12
  100. package/esm2022/carousel/carousel.service.mjs +7 -9
  101. package/esm2022/cascader/cascader.component.mjs +11 -16
  102. package/esm2022/checkbox/checkbox.component.mjs +7 -9
  103. package/esm2022/collapse/collapse-item.component.mjs +18 -21
  104. package/esm2022/color-picker/color-picker-panel.component.mjs +11 -12
  105. package/esm2022/color-picker/color-picker.component.mjs +10 -11
  106. package/esm2022/color-picker/coordinates.directive.mjs +10 -10
  107. package/esm2022/color-picker/parts/alpha/alpha.component.mjs +6 -6
  108. package/esm2022/color-picker/parts/hue/hue.component.mjs +6 -6
  109. package/esm2022/color-picker/parts/saturation/saturation.component.mjs +9 -9
  110. package/esm2022/copy/copy.directive.mjs +8 -12
  111. package/esm2022/core/click-positioner.mjs +6 -7
  112. package/esm2022/core/scroll.mjs +7 -9
  113. package/esm2022/core/store/store.mjs +1 -1
  114. package/esm2022/core/update-host-class.service.mjs +6 -6
  115. package/esm2022/date-picker/abstract-picker.component.mjs +5 -5
  116. package/esm2022/date-picker/abstract-picker.directive.mjs +42 -44
  117. package/esm2022/date-picker/base-picker.component.mjs +26 -26
  118. package/esm2022/date-picker/date-picker.component.mjs +6 -6
  119. package/esm2022/date-picker/date-picker.directive.mjs +6 -8
  120. package/esm2022/date-picker/date-picker.service.mjs +6 -10
  121. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -5
  122. package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +6 -7
  123. package/esm2022/date-picker/lib/date/date-header.component.mjs +3 -9
  124. package/esm2022/date-picker/lib/date/date-table.component.mjs +7 -9
  125. package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +12 -12
  126. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +5 -8
  127. package/esm2022/date-picker/lib/month/month-header.component.mjs +3 -9
  128. package/esm2022/date-picker/lib/month/month-table.component.mjs +6 -7
  129. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +12 -13
  130. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +12 -13
  131. package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +6 -7
  132. package/esm2022/date-picker/lib/year/year-header.component.mjs +3 -9
  133. package/esm2022/date-picker/month-picker.component.mjs +6 -7
  134. package/esm2022/date-picker/picker.component.mjs +21 -22
  135. package/esm2022/date-picker/picker.pipes.mjs +10 -11
  136. package/esm2022/date-picker/quarter-picker.component.mjs +6 -7
  137. package/esm2022/date-picker/range-picker.component.mjs +6 -7
  138. package/esm2022/date-picker/range-picker.directive.mjs +6 -8
  139. package/esm2022/date-picker/week-picker.component.mjs +6 -7
  140. package/esm2022/date-picker/year-picker.component.mjs +6 -7
  141. package/esm2022/date-range/date-range.component.mjs +14 -15
  142. package/esm2022/date-range/optional-dates/optional-dates.component.mjs +8 -9
  143. package/esm2022/dialog/body/dialog-body.component.mjs +11 -12
  144. package/esm2022/dialog/confirm/confirm.component.mjs +10 -14
  145. package/esm2022/dialog/dialog-container.component.mjs +13 -18
  146. package/esm2022/dialog/dialog.service.mjs +10 -17
  147. package/esm2022/dialog/footer/dialog-footer.component.mjs +7 -11
  148. package/esm2022/dialog/header/dialog-header.component.mjs +14 -19
  149. package/esm2022/dot/dot.component.mjs +7 -7
  150. package/esm2022/drag-drop/drag-content.directive.mjs +7 -9
  151. package/esm2022/drag-drop/drag-handle.directive.mjs +7 -9
  152. package/esm2022/drag-drop/drag.directive.mjs +13 -16
  153. package/esm2022/drag-drop/drop-container.directive.mjs +13 -13
  154. package/esm2022/dropdown/dropdown-active.directive.mjs +9 -12
  155. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +12 -12
  156. package/esm2022/dropdown/dropdown-submenu.component.mjs +9 -10
  157. package/esm2022/dropdown/dropdown.directive.mjs +12 -10
  158. package/esm2022/empty/empty.component.mjs +14 -17
  159. package/esm2022/flexible-text/flexible-text.component.mjs +16 -17
  160. package/esm2022/form/form-group-error/form-group-error.component.mjs +9 -12
  161. package/esm2022/form/form-group-label.directive.mjs +9 -10
  162. package/esm2022/form/form-group.component.mjs +15 -19
  163. package/esm2022/form/form-submit.directive.mjs +6 -7
  164. package/esm2022/form/form-validator-loader.mjs +1 -1
  165. package/esm2022/form/form-validator.service.mjs +12 -13
  166. package/esm2022/form/form.directive.mjs +11 -16
  167. package/esm2022/form/from-group-footer/form-group-footer.component.mjs +10 -16
  168. package/esm2022/form/validator/unique-validator.directive.mjs +7 -10
  169. package/esm2022/fullscreen/fullscreen.component.mjs +10 -11
  170. package/esm2022/fullscreen/fullscreen.service.mjs +7 -10
  171. package/esm2022/grid/thy-col.directive.mjs +9 -14
  172. package/esm2022/grid/thy-grid-item.component.mjs +8 -14
  173. package/esm2022/grid/thy-grid.component.mjs +7 -8
  174. package/esm2022/guider/guider.directive.mjs +8 -9
  175. package/esm2022/guider/guider.service.mjs +12 -19
  176. package/esm2022/icon/icon-registry.mjs +11 -16
  177. package/esm2022/icon/icon.component.mjs +8 -9
  178. package/esm2022/image/image-group.component.mjs +7 -7
  179. package/esm2022/image/image.directive.mjs +11 -12
  180. package/esm2022/image/image.service.mjs +8 -14
  181. package/esm2022/image/preview/image-preview.component.mjs +34 -38
  182. package/esm2022/input/input-count.component.mjs +7 -10
  183. package/esm2022/input/input-group.component.mjs +12 -13
  184. package/esm2022/input/input-search.component.mjs +7 -7
  185. package/esm2022/input/input.component.mjs +14 -14
  186. package/esm2022/input/input.directive.mjs +12 -17
  187. package/esm2022/input-number/input-number.component.mjs +6 -6
  188. package/esm2022/layout/sidebar.component.mjs +45 -51
  189. package/esm2022/list/selection/selection-list.mjs +25 -25
  190. package/esm2022/loading/loading.component.mjs +8 -8
  191. package/esm2022/mention/mention.directive.mjs +9 -14
  192. package/esm2022/mention/suggestions/suggestions.component.mjs +8 -9
  193. package/esm2022/menu/group/menu-group.component.mjs +34 -35
  194. package/esm2022/menu/item/action/menu-item-action.component.mjs +15 -16
  195. package/esm2022/menu/item/menu-item.component.mjs +6 -6
  196. package/esm2022/message/abstract/abstract-message-container.component.mjs +5 -5
  197. package/esm2022/message/abstract/abstract-message.component.mjs +6 -6
  198. package/esm2022/message/message-container.component.mjs +9 -11
  199. package/esm2022/message/message-queue.service.mjs +6 -8
  200. package/esm2022/message/message.component.mjs +7 -7
  201. package/esm2022/message/message.service.mjs +10 -11
  202. package/esm2022/nav/icon-nav/icon-nav.component.mjs +6 -6
  203. package/esm2022/nav/nav-ink-bar.directive.mjs +9 -14
  204. package/esm2022/nav/nav-item.directive.mjs +8 -11
  205. package/esm2022/nav/nav.component.mjs +32 -33
  206. package/esm2022/nav/nav.pipe.mjs +6 -7
  207. package/esm2022/notify/notify-container.component.mjs +8 -11
  208. package/esm2022/notify/notify-queue.service.mjs +6 -8
  209. package/esm2022/notify/notify.component.mjs +7 -7
  210. package/esm2022/notify/notify.service.mjs +11 -12
  211. package/esm2022/pagination/pagination.component.mjs +38 -43
  212. package/esm2022/pagination/pagination.pipe.mjs +6 -7
  213. package/esm2022/popover/header/popover-header.component.mjs +12 -14
  214. package/esm2022/popover/popover-container.component.mjs +11 -13
  215. package/esm2022/popover/popover.directive.mjs +13 -12
  216. package/esm2022/popover/popover.service.mjs +14 -26
  217. package/esm2022/progress/progress-strip.component.mjs +10 -13
  218. package/esm2022/property/property-item.component.mjs +10 -13
  219. package/esm2022/property-operation/property-operation.component.mjs +24 -25
  220. package/esm2022/radio/button/radio-button.component.mjs +9 -15
  221. package/esm2022/radio/group/radio-group.component.mjs +17 -17
  222. package/esm2022/radio/radio.component.mjs +8 -14
  223. package/esm2022/rate/rate.component.mjs +6 -6
  224. package/esm2022/resizable/resizable.directive.mjs +10 -12
  225. package/esm2022/resizable/resizable.service.mjs +7 -9
  226. package/esm2022/resizable/resize-handle.component.mjs +7 -8
  227. package/esm2022/segment/segment-item.component.mjs +12 -15
  228. package/esm2022/segment/segment.component.mjs +26 -26
  229. package/esm2022/select/custom-select/custom-select.component.mjs +14 -28
  230. package/esm2022/select/native-select/native-select.component.mjs +6 -6
  231. package/esm2022/shared/base-form-check.component.mjs +7 -8
  232. package/esm2022/shared/directives/string-or-template-outlet.directive.mjs +7 -7
  233. package/esm2022/shared/directives/thy-autofocus.directive.mjs +10 -10
  234. package/esm2022/shared/directives/thy-contextmenu.directive.mjs +8 -8
  235. package/esm2022/shared/directives/thy-ctrl-enter.directive.mjs +8 -8
  236. package/esm2022/shared/directives/thy-enter.directive.mjs +8 -8
  237. package/esm2022/shared/directives/thy-scroll.directive.mjs +21 -21
  238. package/esm2022/shared/directives/thy-show.mjs +11 -11
  239. package/esm2022/shared/directives/thy-stop-propagation.directive.mjs +7 -5
  240. package/esm2022/shared/directives/view-outlet.directive.mjs +7 -7
  241. package/esm2022/shared/ng-transclude.directive.mjs +6 -5
  242. package/esm2022/shared/option/group/option-group.component.mjs +10 -10
  243. package/esm2022/shared/option/list-option/list-option.component.mjs +12 -19
  244. package/esm2022/shared/option/option.component.mjs +9 -19
  245. package/esm2022/shared/select/select-control/select-control.component.mjs +23 -23
  246. package/esm2022/skeleton/skeleton-circle.component.mjs +7 -15
  247. package/esm2022/skeleton/skeleton-rectangle.component.mjs +7 -15
  248. package/esm2022/slide/drawer/drawer-container.directive.mjs +6 -6
  249. package/esm2022/slide/slide-container.component.mjs +12 -16
  250. package/esm2022/slide/slide-header/slide-header.component.mjs +10 -11
  251. package/esm2022/slide/slide-ref.service.mjs +1 -1
  252. package/esm2022/slide/slide.service.mjs +8 -12
  253. package/esm2022/slider/slider.component.mjs +8 -8
  254. package/esm2022/space/space.component.mjs +13 -13
  255. package/esm2022/statistic/statistic.component.mjs +20 -20
  256. package/esm2022/stepper/step.component.mjs +6 -11
  257. package/esm2022/stepper/stepper-button.directive.mjs +10 -11
  258. package/esm2022/strength/strength.component.mjs +11 -12
  259. package/esm2022/switch/switch.component.mjs +6 -6
  260. package/esm2022/table/table-column.component.mjs +58 -63
  261. package/esm2022/table/table-skeleton.component.mjs +32 -32
  262. package/esm2022/table/table.component.mjs +16 -24
  263. package/esm2022/tabs/tabs.component.mjs +19 -19
  264. package/esm2022/tag/tag.component.mjs +22 -22
  265. package/esm2022/time-picker/inner/inner-time-picker.component.mjs +10 -9
  266. package/esm2022/time-picker/time-picker-panel.component.mjs +27 -27
  267. package/esm2022/time-picker/time-picker.component.mjs +29 -29
  268. package/esm2022/timeline/timeline-item.component.mjs +12 -13
  269. package/esm2022/timeline/timeline.component.mjs +7 -8
  270. package/esm2022/tooltip/tooltip.component.mjs +14 -14
  271. package/esm2022/tooltip/tooltip.directive.mjs +11 -10
  272. package/esm2022/tooltip/tooltip.service.mjs +9 -13
  273. package/esm2022/transfer/transfer-list.component.mjs +6 -6
  274. package/esm2022/tree/tree-node.component.mjs +13 -17
  275. package/esm2022/tree/tree.component.mjs +86 -90
  276. package/esm2022/tree-select/tree-select.component.mjs +22 -27
  277. package/esm2022/typography/bg-color.directive.mjs +9 -9
  278. package/esm2022/typography/text-color.directive.mjs +9 -9
  279. package/esm2022/upload/file-drop.directive.mjs +1 -1
  280. package/esm2022/upload/file-select-base.mjs +5 -6
  281. package/esm2022/upload/file-select.component.mjs +4 -3
  282. package/esm2022/upload/upload.service.mjs +6 -7
  283. package/esm2022/version.mjs +2 -2
  284. package/esm2022/watermark/watermark.directive.mjs +12 -12
  285. package/fesm2022/ngx-tethys-action.mjs +17 -17
  286. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  287. package/fesm2022/ngx-tethys-affix.mjs +12 -14
  288. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  289. package/fesm2022/ngx-tethys-anchor.mjs +19 -22
  290. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  291. package/fesm2022/ngx-tethys-arrow-switcher.mjs +21 -21
  292. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  293. package/fesm2022/ngx-tethys-autocomplete.mjs +59 -71
  294. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  295. package/fesm2022/ngx-tethys-avatar.mjs +27 -27
  296. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  297. package/fesm2022/ngx-tethys-back-top.mjs +12 -15
  298. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  299. package/fesm2022/ngx-tethys-badge.mjs +5 -5
  300. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  301. package/fesm2022/ngx-tethys-breadcrumb.mjs +16 -16
  302. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  303. package/fesm2022/ngx-tethys-button.mjs +11 -11
  304. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  305. package/fesm2022/ngx-tethys-calendar.mjs +21 -21
  306. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  307. package/fesm2022/ngx-tethys-carousel.mjs +20 -21
  308. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  309. package/fesm2022/ngx-tethys-cascader.mjs +11 -15
  310. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  311. package/fesm2022/ngx-tethys-checkbox.mjs +6 -7
  312. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  313. package/fesm2022/ngx-tethys-collapse.mjs +17 -19
  314. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  315. package/fesm2022/ngx-tethys-color-picker.mjs +44 -42
  316. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  317. package/fesm2022/ngx-tethys-copy.mjs +8 -12
  318. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  319. package/fesm2022/ngx-tethys-core.mjs +14 -16
  320. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  321. package/fesm2022/ngx-tethys-date-picker.mjs +192 -216
  322. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  323. package/fesm2022/ngx-tethys-date-range.mjs +20 -20
  324. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  325. package/fesm2022/ngx-tethys-dialog.mjs +56 -72
  326. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  327. package/fesm2022/ngx-tethys-dot.mjs +6 -6
  328. package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
  329. package/fesm2022/ngx-tethys-drag-drop.mjs +33 -37
  330. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  331. package/fesm2022/ngx-tethys-dropdown.mjs +39 -37
  332. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  333. package/fesm2022/ngx-tethys-empty.mjs +15 -15
  334. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  335. package/fesm2022/ngx-tethys-flexible-text.mjs +16 -17
  336. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  337. package/fesm2022/ngx-tethys-form.mjs +67 -82
  338. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  339. package/fesm2022/ngx-tethys-fullscreen.mjs +14 -17
  340. package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
  341. package/fesm2022/ngx-tethys-grid.mjs +20 -29
  342. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  343. package/fesm2022/ngx-tethys-guider.mjs +17 -23
  344. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  345. package/fesm2022/ngx-tethys-icon.mjs +18 -22
  346. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  347. package/fesm2022/ngx-tethys-image.mjs +57 -62
  348. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  349. package/fesm2022/ngx-tethys-input-number.mjs +5 -5
  350. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  351. package/fesm2022/ngx-tethys-input.mjs +46 -53
  352. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  353. package/fesm2022/ngx-tethys-layout.mjs +45 -50
  354. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  355. package/fesm2022/ngx-tethys-list.mjs +24 -24
  356. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  357. package/fesm2022/ngx-tethys-loading.mjs +7 -7
  358. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  359. package/fesm2022/ngx-tethys-mention.mjs +16 -21
  360. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  361. package/fesm2022/ngx-tethys-menu.mjs +51 -52
  362. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  363. package/fesm2022/ngx-tethys-message.mjs +33 -35
  364. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  365. package/fesm2022/ngx-tethys-nav.mjs +55 -64
  366. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  367. package/fesm2022/ngx-tethys-notify.mjs +26 -29
  368. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  369. package/fesm2022/ngx-tethys-pagination.mjs +44 -49
  370. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  371. package/fesm2022/ngx-tethys-popover.mjs +48 -54
  372. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  373. package/fesm2022/ngx-tethys-progress.mjs +9 -12
  374. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  375. package/fesm2022/ngx-tethys-property-operation.mjs +24 -24
  376. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  377. package/fesm2022/ngx-tethys-property.mjs +11 -11
  378. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  379. package/fesm2022/ngx-tethys-radio.mjs +29 -35
  380. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  381. package/fesm2022/ngx-tethys-rate.mjs +5 -5
  382. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  383. package/fesm2022/ngx-tethys-resizable.mjs +22 -25
  384. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  385. package/fesm2022/ngx-tethys-segment.mjs +35 -38
  386. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  387. package/fesm2022/ngx-tethys-select.mjs +20 -34
  388. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  389. package/fesm2022/ngx-tethys-shared.mjs +128 -143
  390. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  391. package/fesm2022/ngx-tethys-skeleton.mjs +11 -25
  392. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  393. package/fesm2022/ngx-tethys-slide.mjs +30 -34
  394. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  395. package/fesm2022/ngx-tethys-slider.mjs +7 -7
  396. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  397. package/fesm2022/ngx-tethys-space.mjs +13 -13
  398. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  399. package/fesm2022/ngx-tethys-statistic.mjs +19 -19
  400. package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
  401. package/fesm2022/ngx-tethys-stepper.mjs +13 -18
  402. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  403. package/fesm2022/ngx-tethys-strength.mjs +11 -11
  404. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  405. package/fesm2022/ngx-tethys-switch.mjs +5 -5
  406. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  407. package/fesm2022/ngx-tethys-table.mjs +103 -115
  408. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  409. package/fesm2022/ngx-tethys-tabs.mjs +19 -19
  410. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  411. package/fesm2022/ngx-tethys-tag.mjs +21 -21
  412. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  413. package/fesm2022/ngx-tethys-time-picker.mjs +61 -58
  414. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  415. package/fesm2022/ngx-tethys-timeline.mjs +16 -16
  416. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  417. package/fesm2022/ngx-tethys-tooltip.mjs +32 -33
  418. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  419. package/fesm2022/ngx-tethys-transfer.mjs +5 -5
  420. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  421. package/fesm2022/ngx-tethys-tree-select.mjs +23 -28
  422. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  423. package/fesm2022/ngx-tethys-tree.mjs +96 -102
  424. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  425. package/fesm2022/ngx-tethys-typography.mjs +15 -15
  426. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  427. package/fesm2022/ngx-tethys-upload.mjs +11 -12
  428. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  429. package/fesm2022/ngx-tethys-watermark.mjs +12 -12
  430. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  431. package/fesm2022/ngx-tethys.mjs +1 -1
  432. package/fesm2022/ngx-tethys.mjs.map +1 -1
  433. package/flexible-text/flexible-text.component.d.ts +1 -3
  434. package/form/form-group-error/form-group-error.component.d.ts +1 -3
  435. package/form/form-group-label.directive.d.ts +0 -2
  436. package/form/form-group.component.d.ts +1 -4
  437. package/form/form-submit.directive.d.ts +0 -2
  438. package/form/form-validator.service.d.ts +0 -2
  439. package/form/form.directive.d.ts +4 -4
  440. package/form/from-group-footer/form-group-footer.component.d.ts +2 -4
  441. package/form/validator/unique-validator.directive.d.ts +1 -4
  442. package/fullscreen/fullscreen.component.d.ts +0 -2
  443. package/fullscreen/fullscreen.service.d.ts +0 -2
  444. package/grid/thy-col.directive.d.ts +1 -2
  445. package/grid/thy-grid-item.component.d.ts +2 -4
  446. package/grid/thy-grid.component.d.ts +1 -3
  447. package/guider/guider.directive.d.ts +1 -3
  448. package/guider/guider.service.d.ts +0 -7
  449. package/icon/icon-registry.d.ts +1 -3
  450. package/icon/icon.component.d.ts +1 -3
  451. package/image/image-group.component.d.ts +1 -2
  452. package/image/image.directive.d.ts +1 -3
  453. package/image/image.service.d.ts +2 -2
  454. package/image/preview/image-preview.component.d.ts +1 -4
  455. package/input/input-count.component.d.ts +3 -4
  456. package/input/input-group.component.d.ts +1 -3
  457. package/input/input-search.component.d.ts +2 -2
  458. package/input/input.component.d.ts +1 -2
  459. package/input/input.directive.d.ts +2 -3
  460. package/input-number/input-number.component.d.ts +2 -2
  461. package/layout/sidebar.component.d.ts +44 -13
  462. package/list/selection/selection-list.d.ts +1 -2
  463. package/loading/loading.component.d.ts +0 -2
  464. package/loading/styles/loading.scss +3 -1
  465. package/mention/mention.directive.d.ts +4 -5
  466. package/mention/suggestions/suggestions.component.d.ts +2 -3
  467. package/menu/group/menu-group.component.d.ts +12 -26
  468. package/menu/item/action/menu-item-action.component.d.ts +2 -3
  469. package/menu/item/menu-item.component.d.ts +1 -2
  470. package/message/abstract/abstract-message-container.component.d.ts +1 -2
  471. package/message/abstract/abstract-message.component.d.ts +2 -2
  472. package/message/message-container.component.d.ts +1 -3
  473. package/message/message-queue.service.d.ts +1 -2
  474. package/message/message.component.d.ts +1 -3
  475. package/message/message.service.d.ts +3 -5
  476. package/nav/icon-nav/icon-nav.component.d.ts +2 -2
  477. package/nav/nav-ink-bar.directive.d.ts +2 -4
  478. package/nav/nav-item.directive.d.ts +3 -4
  479. package/nav/nav.component.d.ts +1 -3
  480. package/nav/nav.pipe.d.ts +0 -2
  481. package/notify/notify-container.component.d.ts +1 -3
  482. package/notify/notify-queue.service.d.ts +1 -2
  483. package/notify/notify.component.d.ts +2 -3
  484. package/notify/notify.service.d.ts +1 -4
  485. package/package.json +1 -1
  486. package/pagination/pagination.component.d.ts +7 -19
  487. package/pagination/pagination.pipe.d.ts +0 -2
  488. package/popover/header/popover-header.component.d.ts +0 -3
  489. package/popover/popover-container.component.d.ts +3 -4
  490. package/popover/popover.directive.d.ts +2 -5
  491. package/popover/popover.service.d.ts +4 -6
  492. package/progress/progress-strip.component.d.ts +0 -1
  493. package/property/property-item.component.d.ts +6 -6
  494. package/property-operation/property-operation.component.d.ts +1 -3
  495. package/radio/button/radio-button.component.d.ts +2 -5
  496. package/radio/group/radio-group.component.d.ts +1 -2
  497. package/radio/radio.component.d.ts +2 -3
  498. package/rate/rate.component.d.ts +2 -2
  499. package/resizable/resizable.directive.d.ts +2 -4
  500. package/resizable/resizable.service.d.ts +2 -2
  501. package/resizable/resize-handle.component.d.ts +1 -3
  502. package/schematics/version.d.ts +1 -1
  503. package/schematics/version.js +1 -1
  504. package/segment/segment-item.component.d.ts +4 -5
  505. package/segment/segment.component.d.ts +1 -2
  506. package/select/custom-select/custom-select.component.d.ts +5 -5
  507. package/select/native-select/native-select.component.d.ts +1 -1
  508. package/shared/base-form-check.component.d.ts +1 -1
  509. package/shared/directives/string-or-template-outlet.directive.d.ts +1 -2
  510. package/shared/directives/thy-autofocus.directive.d.ts +0 -2
  511. package/shared/directives/thy-contextmenu.directive.d.ts +1 -2
  512. package/shared/directives/thy-ctrl-enter.directive.d.ts +1 -2
  513. package/shared/directives/thy-enter.directive.d.ts +1 -2
  514. package/shared/directives/thy-scroll.directive.d.ts +1 -2
  515. package/shared/directives/thy-show.d.ts +1 -2
  516. package/shared/directives/thy-stop-propagation.directive.d.ts +2 -2
  517. package/shared/directives/view-outlet.directive.d.ts +1 -2
  518. package/shared/ng-transclude.directive.d.ts +1 -1
  519. package/shared/option/group/option-group.component.d.ts +1 -2
  520. package/shared/option/list-option/list-option.component.d.ts +5 -10
  521. package/shared/option/option.component.d.ts +5 -5
  522. package/shared/select/select-control/select-control.component.d.ts +1 -2
  523. package/skeleton/skeleton-circle.component.d.ts +1 -4
  524. package/skeleton/skeleton-rectangle.component.d.ts +5 -5
  525. package/slide/drawer/drawer-container.directive.d.ts +1 -2
  526. package/slide/slide-container.component.d.ts +3 -4
  527. package/slide/slide-header/slide-header.component.d.ts +0 -2
  528. package/slide/slide.service.d.ts +3 -3
  529. package/slider/slider.component.d.ts +2 -2
  530. package/space/space.component.d.ts +1 -2
  531. package/statistic/statistic.component.d.ts +1 -2
  532. package/stepper/step.component.d.ts +1 -2
  533. package/stepper/stepper-button.directive.d.ts +0 -3
  534. package/strength/strength.component.d.ts +0 -1
  535. package/switch/switch.component.d.ts +1 -1
  536. package/table/table-column.component.d.ts +32 -8
  537. package/table/table-skeleton.component.d.ts +3 -12
  538. package/table/table.component.d.ts +3 -5
  539. package/tabs/tabs.component.d.ts +1 -2
  540. package/tag/tag.component.d.ts +7 -3
  541. package/time-picker/inner/inner-time-picker.component.d.ts +2 -4
  542. package/time-picker/time-picker-panel.component.d.ts +1 -2
  543. package/time-picker/time-picker.component.d.ts +1 -2
  544. package/timeline/timeline-item.component.d.ts +1 -3
  545. package/timeline/timeline.component.d.ts +1 -3
  546. package/tooltip/tooltip.component.d.ts +1 -2
  547. package/tooltip/tooltip.directive.d.ts +6 -9
  548. package/tooltip/tooltip.service.d.ts +2 -4
  549. package/transfer/transfer-list.component.d.ts +1 -2
  550. package/tree/tree-node.component.d.ts +5 -21
  551. package/tree/tree.component.d.ts +1 -2
  552. package/tree-select/tree-select.component.d.ts +5 -6
  553. package/typography/bg-color.directive.d.ts +0 -2
  554. package/typography/text-color.directive.d.ts +1 -2
  555. package/upload/file-select-base.d.ts +2 -3
  556. package/upload/file-select.component.d.ts +1 -0
  557. package/upload/upload.service.d.ts +0 -2
  558. package/watermark/watermark.directive.d.ts +1 -2
@@ -1,4 +1,4 @@
1
- import { Component, Input, HostBinding, ContentChildren, QueryList, ChangeDetectorRef, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
1
+ import { Component, Input, HostBinding, ContentChildren, QueryList, ChangeDetectorRef, ViewEncapsulation, ChangeDetectionStrategy, inject } from '@angular/core';
2
2
  import { takeUntil } from 'rxjs/operators';
3
3
  import { ThyTimelineItem } from './timeline-item.component';
4
4
  import { ThyTimelineService } from './timeline.service';
@@ -6,7 +6,6 @@ import { Subject } from 'rxjs';
6
6
  import { NgTemplateOutlet } from '@angular/common';
7
7
  import { coerceBooleanProperty } from 'ngx-tethys/util';
8
8
  import * as i0 from "@angular/core";
9
- import * as i1 from "./timeline.service";
10
9
  export var ThyTimeModes;
11
10
  (function (ThyTimeModes) {
12
11
  ThyTimeModes["left"] = "left";
@@ -19,9 +18,9 @@ export var ThyTimeModes;
19
18
  * @order 10
20
19
  */
21
20
  export class ThyTimeline {
22
- constructor(cdr, timelineService) {
23
- this.cdr = cdr;
24
- this.timelineService = timelineService;
21
+ constructor() {
22
+ this.cdr = inject(ChangeDetectorRef);
23
+ this.timelineService = inject(ThyTimelineService);
25
24
  /**
26
25
  * 时间轴的方向
27
26
  * @type horizontal | vertical
@@ -90,7 +89,7 @@ export class ThyTimeline {
90
89
  }
91
90
  this.cdr.markForCheck();
92
91
  }
93
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTimeline, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ThyTimelineService }], target: i0.ɵɵFactoryTarget.Component }); }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTimeline, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
94
93
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyTimeline, isStandalone: true, selector: "thy-timeline", inputs: { thyReverse: ["thyReverse", "thyReverse", coerceBooleanProperty], thyMode: "thyMode", thyDirection: "thyDirection" }, host: { properties: { "class.thy-timeline": "this.isTimeline", "class.thy-timeline-right": "this.rightTimeline", "class.thy-timeline-center": "this.centerTimeline", "class.thy-timeline-template": "this.templateTimeline", "class.thy-timeline-horizontal": "this.horizontal" } }, providers: [ThyTimelineService], queries: [{ propertyName: "listOfItems", predicate: ThyTimelineItem }], usesOnChanges: true, ngImport: i0, template: `
95
94
  <ng-container>
96
95
  @for (item of timelineItems; track $index) {
@@ -122,7 +121,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
122
121
  standalone: true,
123
122
  imports: [NgTemplateOutlet]
124
123
  }]
125
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.ThyTimelineService }], propDecorators: { thyReverse: [{
124
+ }], propDecorators: { thyReverse: [{
126
125
  type: Input,
127
126
  args: [{ transform: coerceBooleanProperty }]
128
127
  }], thyMode: [{
@@ -154,4 +153,4 @@ function simpleChangeActivated(simpleChange) {
154
153
  function getTimelineItemPosition(index, mode) {
155
154
  return mode === 'left' ? 'left' : mode === 'right' ? 'right' : mode === 'center' && index % 2 === 0 ? 'left' : 'right';
156
155
  }
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RpbWVsaW5lL3RpbWVsaW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxXQUFXLEVBQ1gsZUFBZSxFQUNmLFNBQVMsRUFPVCxpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUMxQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUl4RCxNQUFNLENBQU4sSUFBWSxZQUlYO0FBSkQsV0FBWSxZQUFZO0lBQ3BCLDZCQUFhLENBQUE7SUFDYiwrQkFBZSxDQUFBO0lBQ2YsaUNBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUpXLFlBQVksS0FBWixZQUFZLFFBSXZCO0FBSUQ7Ozs7R0FJRztBQW1CSCxNQUFNLE9BQU8sV0FBVztJQWlDcEIsWUFDWSxHQUFzQixFQUN0QixlQUFtQztRQURuQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUFyQi9DOzs7V0FHRztRQUNNLGlCQUFZLEdBQXFCLFVBQVUsQ0FBQztRQUU5QyxrQkFBYSxHQUFzQixFQUFFLENBQUM7UUFFckMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFSixlQUFVLEdBQUcsSUFBSSxD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TWdELFVBQVU7c0JBQXRELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBT2xDLE9BQU87c0JBQWYsS0FBSztnQkFNRyxZQUFZO3NCQUFwQixLQUFLO2dCQU02QixVQUFVO3NCQUE1QyxXQUFXO3VCQUFDLG9CQUFvQjtnQkFDUSxhQUFhO3NCQUFyRCxXQUFXO3VCQUFDLDBCQUEwQjtnQkFDRyxjQUFjO3NCQUF2RCxXQUFXO3VCQUFDLDJCQUEyQjtnQkFDSSxnQkFBZ0I7c0JBQTNELFdBQVc7dUJBQUMsNkJBQTZCO2dCQUNJLFVBQVU7c0JBQXZELFdBQVc7dUJBQUMsK0JBQStCO2dCQUc1QyxXQUFXO3NCQURWLGVBQWU7dUJBQUMsZUFBZTs7QUFrRXBDLFNBQVMscUJBQXFCLENBQUMsWUFBMkI7SUFDdEQsT0FBTyxDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxLQUFLLFlBQVksQ0FBQyxZQUFZLElBQUksWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMxSCxDQUFDO0FBRUQsU0FBUyx1QkFBdUIsQ0FBQyxLQUFhLEVBQUUsSUFBaUI7SUFDN0QsT0FBTyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDM0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBRdWVyeUxpc3QsXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRoeVRpbWVsaW5lSXRlbSB9IGZyb20gJy4vdGltZWxpbmUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5VGltZWxpbmVTZXJ2aWNlIH0gZnJvbSAnLi90aW1lbGluZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuZXhwb3J0IHR5cGUgVGh5VGltZU1vZGUgPSAnbGVmdCcgfCAncmlnaHQnIHwgJ2NlbnRlcic7XG5cbmV4cG9ydCBlbnVtIFRoeVRpbWVNb2RlcyB7XG4gICAgbGVmdCA9ICdsZWZ0JyxcbiAgICByaWdodCA9ICdyaWdodCcsXG4gICAgY2VudGVyID0gJ2NlbnRlcidcbn1cblxuZXhwb3J0IHR5cGUgVGh5VGltZURpcmVjdGlvbiA9ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCc7XG5cbi8qKlxuICog5pe26Ze06L2057uE5Lu2XG4gKiBAbmFtZSB0aHktdGltZWxpbmVcbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHNlbGVjdG9yOiAndGh5LXRpbWVsaW5lJyxcbiAgICBwcm92aWRlcnM6IFtUaHlUaW1lbGluZVNlcnZpY2VdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIHRpbWVsaW5lSXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtLnRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBgLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXRdXG59KVxuZXhwb3J0IGNsYXNzIFRoeVRpbWVsaW5lIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICog6IqC54K55o6S5bqP5piv5ZCm5YCS5bqPXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlSZXZlcnNlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog5pS55Y+Y5pe26Ze06L205ZKM5YaF5a6555qE55u45a+55L2N572uXG4gICAgICogQHR5cGUgbGVmdCB8IHJpZ2h0IHwgY2VudGVyXG4gICAgICogQGRlZmF1bHQgbGVmdFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeU1vZGU6IFRoeVRpbWVNb2RlO1xuXG4gICAgLyoqXG4gICAgICog5pe26Ze06L2055qE5pa55ZCRXG4gICAgICogQHR5cGUgaG9yaXpvbnRhbCB8IHZlcnRpY2FsXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RGlyZWN0aW9uOiBUaHlUaW1lRGlyZWN0aW9uID0gJ3ZlcnRpY2FsJztcblxuICAgIHB1YmxpYyB0aW1lbGluZUl0ZW1zOiBUaHlUaW1lbGluZUl0ZW1bXSA9IFtdO1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLnRoeS10aW1lbGluZWApIGlzVGltZWxpbmUgPSB0cnVlO1xuICAgIEBIb3N0QmluZGluZyhgY2xhc3MudGh5LXRpbWVsaW5lLXJpZ2h0YCkgcmlnaHRUaW1lbGluZSA9IGZhbHNlO1xuICAgIEBIb3N0QmluZGluZyhgY2xhc3MudGh5LXRpbWVsaW5lLWNlbnRlcmApIGNlbnRlclRpbWVsaW5lID0gZmFsc2U7XG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy50aHktdGltZWxpbmUtdGVtcGxhdGVgKSB0ZW1wbGF0ZVRpbWVsaW5lID0gZmFsc2U7XG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy50aHktdGltZWxpbmUtaG9yaXpvbnRhbGApIGhvcml6b250YWwgPSBmYWxzZTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVGh5VGltZWxpbmVJdGVtKVxuICAgIGxpc3RPZkl0ZW1zOiBRdWVyeUxpc3Q8VGh5VGltZWxpbmVJdGVtPjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgdGltZWxpbmVTZXJ2aWNlOiBUaHlUaW1lbGluZVNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgdGh5TW9kZSwgdGh5UmV2ZXJzZSB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKHRoeU1vZGUgJiYgIXRoaXMuaG9yaXpvbnRhbCkge1xuICAgICAgICAgICAgaWYgKHRoeU1vZGUuY3VycmVudFZhbHVlID09PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yaWdodFRpbWVsaW5lID0gIXRoaXMudGVtcGxhdGVUaW1lbGluZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNlbnRlclRpbWVsaW5lID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoeU1vZGUuY3VycmVudFZhbHVlID09PSAnY2VudGVyJykge1xuICAgICAgICAgICAgICAgIHRoaXMuY2VudGVyVGltZWxpbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMucmlnaHRUaW1lbGluZSA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJpZ2h0VGltZWxpbmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNlbnRlclRpbWVsaW5lID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKChzaW1wbGVDaGFuZ2VBY3RpdmF0ZWQodGh5TW9kZSkgJiYgIXRoaXMuaG9yaXpvbnRhbCkgfHwgc2ltcGxlQ2hhbmdlQWN0aXZhdGVkKHRoeVJldmVyc2UpKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNoaWxkcmVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5ob3Jpem9udGFsID0gdGhpcy50aHlEaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJyA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgdGhpcy50aW1lbGluZVNlcnZpY2UuY2hlY2skLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVDaGlsZHJlbigpO1xuICAgICAgICB0aGlzLmxpc3RPZkl0ZW1zLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2hpbGRyZW4oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDaGlsZHJlbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubGlzdE9mSXRlbXMgJiYgdGhpcy5saXN0T2ZJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMubGlzdE9mSXRlbXMubGVuZ3RoO1xuICAgICAgICAgICAgdGhpcy5saXN0T2ZJdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGl0ZW0uaXNMYXN0ID0gIXRoaXMudGh5UmV2ZXJzZSA/IGluZGV4ID09PSBsZW5ndGggLSAxIDogaW5kZXggPT09IDA7XG4gICAgICAgICAgICAgICAgaXRlbS5pc0ZpcnN0ID0gdGhpcy50aHlSZXZlcnNlID8gaW5kZXggPT09IGxlbmd0aCAtIDEgOiBpbmRleCA9PT0gMDtcbiAgICAgICAgICAgICAgICBpdGVtLnJldmVyc2UgPSB0aGlzLnRoeVJldmVyc2U7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmhvcml6b250YWwpIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5wb3NpdGlvbiA9IGdldFRpbWVsaW5lSXRlbVBvc2l0aW9uKGluZGV4LCB0aGlzLnRoeU1vZGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5kZXNjcmlwdGlvbiB8fCAoaXRlbS50aHlQb3NpdGlvbiAmJiAhdGhpcy5ob3Jpem9udGFsKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbXBsYXRlVGltZWxpbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpdGVtLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy50aW1lbGluZUl0ZW1zID0gdGhpcy50aHlSZXZlcnNlID8gdGhpcy5saXN0T2ZJdGVtcy50b0FycmF5KCkucmV2ZXJzZSgpIDogdGhpcy5saXN0T2ZJdGVtcy50b0FycmF5KCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxufVxuZnVuY3Rpb24gc2ltcGxlQ2hhbmdlQWN0aXZhdGVkKHNpbXBsZUNoYW5nZT86IFNpbXBsZUNoYW5nZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIShzaW1wbGVDaGFuZ2UgJiYgKHNpbXBsZUNoYW5nZS5wcmV2aW91c1ZhbHVlICE9PSBzaW1wbGVDaGFuZ2UuY3VycmVudFZhbHVlIHx8IHNpbXBsZUNoYW5nZS5pc0ZpcnN0Q2hhbmdlKCkpKTtcbn1cblxuZnVuY3Rpb24gZ2V0VGltZWxpbmVJdGVtUG9zaXRpb24oaW5kZXg6IG51bWJlciwgbW9kZTogVGh5VGltZU1vZGUpOiBUaHlUaW1lTW9kZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIG1vZGUgPT09ICdsZWZ0JyA/ICdsZWZ0JyA6IG1vZGUgPT09ICdyaWdodCcgPyAncmlnaHQnIDogbW9kZSA9PT0gJ2NlbnRlcicgJiYgaW5kZXggJSAyID09PSAwID8gJ2xlZnQnIDogJ3JpZ2h0Jztcbn1cbiJdfQ==
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RpbWVsaW5lL3RpbWVsaW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxXQUFXLEVBQ1gsZUFBZSxFQUNmLFNBQVMsRUFPVCxpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUl4RCxNQUFNLENBQU4sSUFBWSxZQUlYO0FBSkQsV0FBWSxZQUFZO0lBQ3BCLDZCQUFhLENBQUE7SUFDYiwrQkFBZSxDQUFBO0lBQ2YsaUNBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUpXLFlBQVksS0FBWixZQUFZLFFBSXZCO0FBSUQ7Ozs7R0FJRztBQW1CSCxNQUFNLE9BQU8sV0FBVztJQWxCeEI7UUFtQlksUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2hDLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFlckQ7OztXQUdHO1FBQ00saUJBQVksR0FBcUIsVUFBVSxDQUFDO1FBRTlDLGtCQUFhLEdBQXNCLEVBQUUsQ0FBQztRQUVyQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVK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QUFDO2lCQUM5Qjs4QkFTZ0QsVUFBVTtzQkFBdEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFPbEMsT0FBTztzQkFBZixLQUFLO2dCQU1HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBTTZCLFVBQVU7c0JBQTVDLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUNRLGFBQWE7c0JBQXJELFdBQVc7dUJBQUMsMEJBQTBCO2dCQUNHLGNBQWM7c0JBQXZELFdBQVc7dUJBQUMsMkJBQTJCO2dCQUNJLGdCQUFnQjtzQkFBM0QsV0FBVzt1QkFBQyw2QkFBNkI7Z0JBQ0ksVUFBVTtzQkFBdkQsV0FBVzt1QkFBQywrQkFBK0I7Z0JBRzVDLFdBQVc7c0JBRFYsZUFBZTt1QkFBQyxlQUFlOztBQTZEcEMsU0FBUyxxQkFBcUIsQ0FBQyxZQUEyQjtJQUN0RCxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEtBQUssWUFBWSxDQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzFILENBQUM7QUFFRCxTQUFTLHVCQUF1QixDQUFDLEtBQWEsRUFBRSxJQUFpQjtJQUM3RCxPQUFPLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUMzSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRoeVRpbWVsaW5lSXRlbSB9IGZyb20gJy4vdGltZWxpbmUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5VGltZWxpbmVTZXJ2aWNlIH0gZnJvbSAnLi90aW1lbGluZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuZXhwb3J0IHR5cGUgVGh5VGltZU1vZGUgPSAnbGVmdCcgfCAncmlnaHQnIHwgJ2NlbnRlcic7XG5cbmV4cG9ydCBlbnVtIFRoeVRpbWVNb2RlcyB7XG4gICAgbGVmdCA9ICdsZWZ0JyxcbiAgICByaWdodCA9ICdyaWdodCcsXG4gICAgY2VudGVyID0gJ2NlbnRlcidcbn1cblxuZXhwb3J0IHR5cGUgVGh5VGltZURpcmVjdGlvbiA9ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCc7XG5cbi8qKlxuICog5pe26Ze06L2057uE5Lu2XG4gKiBAbmFtZSB0aHktdGltZWxpbmVcbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHNlbGVjdG9yOiAndGh5LXRpbWVsaW5lJyxcbiAgICBwcm92aWRlcnM6IFtUaHlUaW1lbGluZVNlcnZpY2VdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIHRpbWVsaW5lSXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtLnRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBgLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXRdXG59KVxuZXhwb3J0IGNsYXNzIFRoeVRpbWVsaW5lIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByaXZhdGUgdGltZWxpbmVTZXJ2aWNlID0gaW5qZWN0KFRoeVRpbWVsaW5lU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDoioLngrnmjpLluo/mmK/lkKblgJLluo9cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeVJldmVyc2U6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDmlLnlj5jml7bpl7TovbTlkozlhoXlrrnnmoTnm7jlr7nkvY3nva5cbiAgICAgKiBAdHlwZSBsZWZ0IHwgcmlnaHQgfCBjZW50ZXJcbiAgICAgKiBAZGVmYXVsdCBsZWZ0XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5TW9kZTogVGh5VGltZU1vZGU7XG5cbiAgICAvKipcbiAgICAgKiDml7bpl7TovbTnmoTmlrnlkJFcbiAgICAgKiBAdHlwZSBob3Jpem9udGFsIHwgdmVydGljYWxcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlEaXJlY3Rpb246IFRoeVRpbWVEaXJlY3Rpb24gPSAndmVydGljYWwnO1xuXG4gICAgcHVibGljIHRpbWVsaW5lSXRlbXM6IFRoeVRpbWVsaW5lSXRlbVtdID0gW107XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MudGh5LXRpbWVsaW5lYCkgaXNUaW1lbGluZSA9IHRydWU7XG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy50aHktdGltZWxpbmUtcmlnaHRgKSByaWdodFRpbWVsaW5lID0gZmFsc2U7XG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy50aHktdGltZWxpbmUtY2VudGVyYCkgY2VudGVyVGltZWxpbmUgPSBmYWxzZTtcbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLnRoeS10aW1lbGluZS10ZW1wbGF0ZWApIHRlbXBsYXRlVGltZWxpbmUgPSBmYWxzZTtcbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLnRoeS10aW1lbGluZS1ob3Jpem9udGFsYCkgaG9yaXpvbnRhbCA9IGZhbHNlO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUaHlUaW1lbGluZUl0ZW0pXG4gICAgbGlzdE9mSXRlbXM6IFF1ZXJ5TGlzdDxUaHlUaW1lbGluZUl0ZW0+O1xuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHRoeU1vZGUsIHRoeVJldmVyc2UgfSA9IGNoYW5nZXM7XG4gICAgICAgIGlmICh0aHlNb2RlICYmICF0aGlzLmhvcml6b250YWwpIHtcbiAgICAgICAgICAgIGlmICh0aHlNb2RlLmN1cnJlbnRWYWx1ZSA9PT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgIHRoaXMucmlnaHRUaW1lbGluZSA9ICF0aGlzLnRlbXBsYXRlVGltZWxpbmU7XG4gICAgICAgICAgICAgICAgdGhpcy5jZW50ZXJUaW1lbGluZSA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aHlNb2RlLmN1cnJlbnRWYWx1ZSA9PT0gJ2NlbnRlcicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNlbnRlclRpbWVsaW5lID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnJpZ2h0VGltZWxpbmUgPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yaWdodFRpbWVsaW5lID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5jZW50ZXJUaW1lbGluZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICgoc2ltcGxlQ2hhbmdlQWN0aXZhdGVkKHRoeU1vZGUpICYmICF0aGlzLmhvcml6b250YWwpIHx8IHNpbXBsZUNoYW5nZUFjdGl2YXRlZCh0aHlSZXZlcnNlKSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDaGlsZHJlbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaG9yaXpvbnRhbCA9IHRoaXMudGh5RGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIHRoaXMudGltZWxpbmVTZXJ2aWNlLmNoZWNrJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlQ2hpbGRyZW4oKTtcbiAgICAgICAgdGhpcy5saXN0T2ZJdGVtcy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNoaWxkcmVuKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQ2hpbGRyZW4oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmxpc3RPZkl0ZW1zICYmIHRoaXMubGlzdE9mSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBsZW5ndGggPSB0aGlzLmxpc3RPZkl0ZW1zLmxlbmd0aDtcbiAgICAgICAgICAgIHRoaXMubGlzdE9mSXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBpdGVtLmlzTGFzdCA9ICF0aGlzLnRoeVJldmVyc2UgPyBpbmRleCA9PT0gbGVuZ3RoIC0gMSA6IGluZGV4ID09PSAwO1xuICAgICAgICAgICAgICAgIGl0ZW0uaXNGaXJzdCA9IHRoaXMudGh5UmV2ZXJzZSA/IGluZGV4ID09PSBsZW5ndGggLSAxIDogaW5kZXggPT09IDA7XG4gICAgICAgICAgICAgICAgaXRlbS5yZXZlcnNlID0gdGhpcy50aHlSZXZlcnNlO1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5ob3Jpem9udGFsKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ucG9zaXRpb24gPSBnZXRUaW1lbGluZUl0ZW1Qb3NpdGlvbihpbmRleCwgdGhpcy50aHlNb2RlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0uZGVzY3JpcHRpb24gfHwgKGl0ZW0udGh5UG9zaXRpb24gJiYgIXRoaXMuaG9yaXpvbnRhbCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZVRpbWVsaW5lID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaXRlbS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMudGltZWxpbmVJdGVtcyA9IHRoaXMudGh5UmV2ZXJzZSA/IHRoaXMubGlzdE9mSXRlbXMudG9BcnJheSgpLnJldmVyc2UoKSA6IHRoaXMubGlzdE9mSXRlbXMudG9BcnJheSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHNpbXBsZUNoYW5nZUFjdGl2YXRlZChzaW1wbGVDaGFuZ2U/OiBTaW1wbGVDaGFuZ2UpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEoc2ltcGxlQ2hhbmdlICYmIChzaW1wbGVDaGFuZ2UucHJldmlvdXNWYWx1ZSAhPT0gc2ltcGxlQ2hhbmdlLmN1cnJlbnRWYWx1ZSB8fCBzaW1wbGVDaGFuZ2UuaXNGaXJzdENoYW5nZSgpKSk7XG59XG5cbmZ1bmN0aW9uIGdldFRpbWVsaW5lSXRlbVBvc2l0aW9uKGluZGV4OiBudW1iZXIsIG1vZGU6IFRoeVRpbWVNb2RlKTogVGh5VGltZU1vZGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBtb2RlID09PSAnbGVmdCcgPyAnbGVmdCcgOiBtb2RlID09PSAncmlnaHQnID8gJ3JpZ2h0JyA6IG1vZGUgPT09ICdjZW50ZXInICYmIGluZGV4ICUgMiA9PT0gMCA/ICdsZWZ0JyA6ICdyaWdodCc7XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, HostBinding, TemplateRef } from '@angular/core';
1
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, HostBinding, TemplateRef, inject } from '@angular/core';
2
2
  import { Subject } from 'rxjs';
3
3
  import { useHostRenderer } from '@tethys/cdk/dom';
4
4
  import { thyTooltipAnimations } from './tooltip-animations';
@@ -9,6 +9,16 @@ import * as i0 from "@angular/core";
9
9
  * @internal
10
10
  */
11
11
  export class ThyTooltip {
12
+ constructor() {
13
+ this.changeDetectorRef = inject(ChangeDetectorRef);
14
+ this.addTooltipContainerClass = true;
15
+ this.onHide = new Subject();
16
+ this.closeOnInteraction = false;
17
+ this.hostRenderer = useHostRenderer();
18
+ this.visibility = 'initial';
19
+ this.tooltipClasses = [];
20
+ this.isTemplateRef = false;
21
+ }
12
22
  get content() {
13
23
  return this._content;
14
24
  }
@@ -23,16 +33,6 @@ export class ThyTooltip {
23
33
  }
24
34
  this.hostRenderer.updateClass(classes);
25
35
  }
26
- constructor(changeDetectorRef) {
27
- this.changeDetectorRef = changeDetectorRef;
28
- this.addTooltipContainerClass = true;
29
- this.onHide = new Subject();
30
- this.closeOnInteraction = false;
31
- this.hostRenderer = useHostRenderer();
32
- this.visibility = 'initial';
33
- this.tooltipClasses = [];
34
- this.isTemplateRef = false;
35
- }
36
36
  ngOnInit() { }
37
37
  markForCheck() {
38
38
  this.changeDetectorRef.markForCheck();
@@ -86,7 +86,7 @@ export class ThyTooltip {
86
86
  this.updateClasses();
87
87
  // this.markForCheck();
88
88
  }
89
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTooltip, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
89
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTooltip, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
90
90
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyTooltip, isStandalone: true, selector: "thy-tooltip", host: { listeners: { "@state.start": "animationStart()", "@state.done": "animationDone($event)" }, properties: { "@state": "visibility", "class.thy-tooltip": "this.addTooltipContainerClass" } }, ngImport: i0, template: "<div class=\"thy-tooltip-arrow\"></div>\n<div class=\"thy-tooltip-content\">\n @if (isTemplateRef) {\n <ng-container *ngTemplateOutlet=\"content; context: { $implicit: data }\"></ng-container>\n } @else {\n {{ content }}\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [thyTooltipAnimations.tooltipState], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
91
91
  }
92
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTooltip, decorators: [{
@@ -96,8 +96,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
96
96
  '(@state.start)': 'animationStart()',
97
97
  '(@state.done)': 'animationDone($event)'
98
98
  }, standalone: true, imports: [NgTemplateOutlet], template: "<div class=\"thy-tooltip-arrow\"></div>\n<div class=\"thy-tooltip-content\">\n @if (isTemplateRef) {\n <ng-container *ngTemplateOutlet=\"content; context: { $implicit: data }\"></ng-container>\n } @else {\n {{ content }}\n }\n</div>\n" }]
99
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { addTooltipContainerClass: [{
99
+ }], propDecorators: { addTooltipContainerClass: [{
100
100
  type: HostBinding,
101
101
  args: [`class.thy-tooltip`]
102
102
  }] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzNJLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFbkQ7O0dBRUc7QUFlSCxNQUFNLE9BQU8sVUFBVTtJQXVCbkIsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxLQUF3QztRQUNoRCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssWUFBWSxXQUFXLENBQUM7SUFDdEQsQ0FBQztJQUVPLGFBQWE7UUFDakIsSUFBSSxPQUFPLEdBQWEsRUFBRSxDQUFDO1FBRTNCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsT0FB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QVksQ0FBQzs7MkZBU3RDLFVBQVU7a0JBZHRCLFNBQVM7K0JBQ0ksYUFBYSxpQkFFUixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLFFBQ3pDO3dCQUNGLFVBQVUsRUFBRSxZQUFZO3dCQUN4QixnQkFBZ0IsRUFBRSxrQkFBa0I7d0JBQ3BDLGVBQWUsRUFBRSx1QkFBdUI7cUJBQzNDLGNBQ1csSUFBSSxXQUNQLENBQUMsZ0JBQWdCLENBQUM7c0ZBR08sd0JBQXdCO3NCQUF6RCxXQUFXO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgSG9zdEJpbmRpbmcsIFRlbXBsYXRlUmVmLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuaW1wb3J0IHsgVGh5VG9vbHRpcFZpc2liaWxpdHkgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5pbXBvcnQgeyB0aHlUb29sdGlwQW5pbWF0aW9ucyB9IGZyb20gJy4vdG9vbHRpcC1hbmltYXRpb25zJztcbmltcG9ydCB7IGNvZXJjZUFycmF5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS10b29sdGlwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9vbHRpcC5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBhbmltYXRpb25zOiBbdGh5VG9vbHRpcEFuaW1hdGlvbnMudG9vbHRpcFN0YXRlXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbQHN0YXRlXSc6ICd2aXNpYmlsaXR5JyxcbiAgICAgICAgJyhAc3RhdGUuc3RhcnQpJzogJ2FuaW1hdGlvblN0YXJ0KCknLFxuICAgICAgICAnKEBzdGF0ZS5kb25lKSc6ICdhbmltYXRpb25Eb25lKCRldmVudCknXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlUb29sdGlwIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLnRoeS10b29sdGlwYCkgYWRkVG9vbHRpcENvbnRhaW5lckNsYXNzID0gdHJ1ZTtcblxuICAgIF9jb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBkYXRhOiBhbnk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG9uSGlkZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwcml2YXRlIGNsb3NlT25JbnRlcmFjdGlvbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBob3N0UmVuZGVyZXIgPSB1c2VIb3N0UmVuZGVyZXIoKTtcblxuICAgIHZpc2liaWxpdHk6IFRoeVRvb2x0aXBWaXNpYmlsaXR5ID0gJ2luaXRpYWwnO1xuXG4gICAgc2hvd1RpbWVvdXRJZDogbnVtYmVyIHwgbnVsbCB8IGFueTtcblxuICAgIGhpZGVUaW1lb3V0SWQ6IG51bWJlciB8IG51bGwgfCBhbnk7XG5cbiAgICB0b29sdGlwQ2xhc3Nlczogc3RyaW5nW10gPSBbXTtcblxuICAgIGlzVGVtcGxhdGVSZWYgPSBmYWxzZTtcblxuICAgIGdldCBjb250ZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29udGVudDtcbiAgICB9XG5cbiAgICBzZXQgY29udGVudCh2YWx1ZTogc3RyaW5nIHwgVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgICAgIHRoaXMuX2NvbnRlbnQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5pc1RlbXBsYXRlUmVmID0gdmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZjtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNsYXNzZXMoKSB7XG4gICAgICAgIGxldCBjbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBDbGFzc2VzKSB7XG4gICAgICAgICAgICBjbGFzc2VzID0gY2xhc3Nlcy5jb25jYXQodGhpcy50b29sdGlwQ2xhc3Nlcyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzcyhjbGFzc2VzKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIG5nT25Jbml0KCkge31cblxuICAgIG1hcmtGb3JDaGVjaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBpc1Zpc2libGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZpc2liaWxpdHkgPT09ICd2aXNpYmxlJztcbiAgICB9XG5cbiAgICBzaG93KGRlbGF5OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgLy8gQ2FuY2VsIHRoZSBkZWxheWVkIGhpZGUgaWYgaXQgaXMgc2NoZWR1bGVkXG4gICAgICAgIGlmICh0aGlzLmhpZGVUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmhpZGVUaW1lb3V0SWQpO1xuICAgICAgICAgICAgdGhpcy5oaWRlVGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJvZHkgaW50ZXJhY3Rpb25zIHNob3VsZCBjYW5jZWwgdGhlIHRvb2x0aXAgaWYgdGhlcmUgaXMgYSBkZWxheSBpbiBzaG93aW5nLlxuICAgICAgICB0aGlzLmNsb3NlT25JbnRlcmFjdGlvbiA9IHRydWU7XG4gICAgICAgIHRoaXMuc2hvd1RpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy52aXNpYmlsaXR5ID0gJ3Zpc2libGUnO1xuICAgICAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0sIGRlbGF5KTtcbiAgICB9XG5cbiAgICBoaWRlKGRlbGF5OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgLy8gQ2FuY2VsIHRoZSBkZWxheWVkIHNob3cgaWYgaXQgaXMgc2NoZWR1bGVkXG4gICAgICAgIGlmICh0aGlzLnNob3dUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNob3dUaW1lb3V0SWQpO1xuICAgICAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaGlkZVRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICAgICAgICB0aGlzLmhpZGVUaW1lb3V0SWQgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSwgZGVsYXkpO1xuICAgIH1cblxuICAgIGFuaW1hdGlvblN0YXJ0KCkge1xuICAgICAgICB0aGlzLmNsb3NlT25JbnRlcmFjdGlvbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIGFuaW1hdGlvbkRvbmUoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRvU3RhdGUgPSBldmVudC50b1N0YXRlIGFzIFRoeVRvb2x0aXBWaXNpYmlsaXR5O1xuICAgICAgICBpZiAodG9TdGF0ZSA9PT0gJ2hpZGRlbicgJiYgIXRoaXMuaXNWaXNpYmxlKCkpIHtcbiAgICAgICAgICAgIHRoaXMub25IaWRlLm5leHQoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodG9TdGF0ZSA9PT0gJ3Zpc2libGUnIHx8IHRvU3RhdGUgPT09ICdoaWRkZW4nKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlT25JbnRlcmFjdGlvbiA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhZnRlckhpZGRlbigpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub25IaWRlLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHNldFRvb2x0aXBDbGFzcyhjbGFzc2VzOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgICAgICB0aGlzLnRvb2x0aXBDbGFzc2VzID0gY29lcmNlQXJyYXkoY2xhc3Nlcyk7XG4gICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgICAgICAvLyB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aHktdG9vbHRpcC1hcnJvd1wiPjwvZGl2PlxuPGRpdiBjbGFzcz1cInRoeS10b29sdGlwLWNvbnRlbnRcIj5cbiAgQGlmIChpc1RlbXBsYXRlUmVmKSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnQ7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBkYXRhIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgfSBAZWxzZSB7XG4gICAge3sgY29udGVudCB9fVxuICB9XG48L2Rpdj5cbiJdfQ==
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsV0FBVyxFQUVYLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRW5EOztHQUVHO0FBZUgsTUFBTSxPQUFPLFVBQVU7SUFkdkI7UUFlWSxzQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUVwQiw2QkFBd0IsR0FBRyxJQUFJLENBQUM7UUFNakQsV0FBTSxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRS9DLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUUzQixpQkFBWSxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBRXpDLGVBQVUsR0FBeUIsU0FBUyxDQUFDO1FBTTdDLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBRTlCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO0tBb0Z6QjtJQWxGRyxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLEtBQXdDO1FBQ2hE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QUMsWUFBWSxDQUFDOzsyRkFTdEMsVUFBVTtrQkFkdEIsU0FBUzsrQkFDSSxhQUFhLGlCQUVSLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsUUFDekM7d0JBQ0YsVUFBVSxFQUFFLFlBQVk7d0JBQ3hCLGdCQUFnQixFQUFFLGtCQUFrQjt3QkFDcEMsZUFBZSxFQUFFLHVCQUF1QjtxQkFDM0MsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsQ0FBQzs4QkFLTyx3QkFBd0I7c0JBQXpELFdBQVc7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgT25Jbml0LFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuaW1wb3J0IHsgVGh5VG9vbHRpcFZpc2liaWxpdHkgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5pbXBvcnQgeyB0aHlUb29sdGlwQW5pbWF0aW9ucyB9IGZyb20gJy4vdG9vbHRpcC1hbmltYXRpb25zJztcbmltcG9ydCB7IGNvZXJjZUFycmF5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS10b29sdGlwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9vbHRpcC5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBhbmltYXRpb25zOiBbdGh5VG9vbHRpcEFuaW1hdGlvbnMudG9vbHRpcFN0YXRlXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbQHN0YXRlXSc6ICd2aXNpYmlsaXR5JyxcbiAgICAgICAgJyhAc3RhdGUuc3RhcnQpJzogJ2FuaW1hdGlvblN0YXJ0KCknLFxuICAgICAgICAnKEBzdGF0ZS5kb25lKSc6ICdhbmltYXRpb25Eb25lKCRldmVudCknXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlUb29sdGlwIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MudGh5LXRvb2x0aXBgKSBhZGRUb29sdGlwQ29udGFpbmVyQ2xhc3MgPSB0cnVlO1xuXG4gICAgX2NvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PjtcblxuICAgIGRhdGE6IGFueTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgb25IaWRlOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICAgIHByaXZhdGUgY2xvc2VPbkludGVyYWN0aW9uID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGhvc3RSZW5kZXJlciA9IHVzZUhvc3RSZW5kZXJlcigpO1xuXG4gICAgdmlzaWJpbGl0eTogVGh5VG9vbHRpcFZpc2liaWxpdHkgPSAnaW5pdGlhbCc7XG5cbiAgICBzaG93VGltZW91dElkOiBudW1iZXIgfCBudWxsIHwgYW55O1xuXG4gICAgaGlkZVRpbWVvdXRJZDogbnVtYmVyIHwgbnVsbCB8IGFueTtcblxuICAgIHRvb2x0aXBDbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgaXNUZW1wbGF0ZVJlZiA9IGZhbHNlO1xuXG4gICAgZ2V0IGNvbnRlbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250ZW50O1xuICAgIH1cblxuICAgIHNldCBjb250ZW50KHZhbHVlOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICAgICAgdGhpcy5fY29udGVudCA9IHZhbHVlO1xuICAgICAgICB0aGlzLmlzVGVtcGxhdGVSZWYgPSB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQ2xhc3NlcygpIHtcbiAgICAgICAgbGV0IGNsYXNzZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICAgICAgaWYgKHRoaXMudG9vbHRpcENsYXNzZXMpIHtcbiAgICAgICAgICAgIGNsYXNzZXMgPSBjbGFzc2VzLmNvbmNhdCh0aGlzLnRvb2x0aXBDbGFzc2VzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzKGNsYXNzZXMpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge31cblxuICAgIG1hcmtGb3JDaGVjaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBpc1Zpc2libGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZpc2liaWxpdHkgPT09ICd2aXNpYmxlJztcbiAgICB9XG5cbiAgICBzaG93KGRlbGF5OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgLy8gQ2FuY2VsIHRoZSBkZWxheWVkIGhpZGUgaWYgaXQgaXMgc2NoZWR1bGVkXG4gICAgICAgIGlmICh0aGlzLmhpZGVUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmhpZGVUaW1lb3V0SWQpO1xuICAgICAgICAgICAgdGhpcy5oaWRlVGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJvZHkgaW50ZXJhY3Rpb25zIHNob3VsZCBjYW5jZWwgdGhlIHRvb2x0aXAgaWYgdGhlcmUgaXMgYSBkZWxheSBpbiBzaG93aW5nLlxuICAgICAgICB0aGlzLmNsb3NlT25JbnRlcmFjdGlvbiA9IHRydWU7XG4gICAgICAgIHRoaXMuc2hvd1RpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy52aXNpYmlsaXR5ID0gJ3Zpc2libGUnO1xuICAgICAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0sIGRlbGF5KTtcbiAgICB9XG5cbiAgICBoaWRlKGRlbGF5OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgLy8gQ2FuY2VsIHRoZSBkZWxheWVkIHNob3cgaWYgaXQgaXMgc2NoZWR1bGVkXG4gICAgICAgIGlmICh0aGlzLnNob3dUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNob3dUaW1lb3V0SWQpO1xuICAgICAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaGlkZVRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICAgICAgICB0aGlzLmhpZGVUaW1lb3V0SWQgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSwgZGVsYXkpO1xuICAgIH1cblxuICAgIGFuaW1hdGlvblN0YXJ0KCkge1xuICAgICAgICB0aGlzLmNsb3NlT25JbnRlcmFjdGlvbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIGFuaW1hdGlvbkRvbmUoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRvU3RhdGUgPSBldmVudC50b1N0YXRlIGFzIFRoeVRvb2x0aXBWaXNpYmlsaXR5O1xuICAgICAgICBpZiAodG9TdGF0ZSA9PT0gJ2hpZGRlbicgJiYgIXRoaXMuaXNWaXNpYmxlKCkpIHtcbiAgICAgICAgICAgIHRoaXMub25IaWRlLm5leHQoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodG9TdGF0ZSA9PT0gJ3Zpc2libGUnIHx8IHRvU3RhdGUgPT09ICdoaWRkZW4nKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlT25JbnRlcmFjdGlvbiA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhZnRlckhpZGRlbigpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub25IaWRlLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHNldFRvb2x0aXBDbGFzcyhjbGFzc2VzOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgICAgICB0aGlzLnRvb2x0aXBDbGFzc2VzID0gY29lcmNlQXJyYXkoY2xhc3Nlcyk7XG4gICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgICAgICAvLyB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aHktdG9vbHRpcC1hcnJvd1wiPjwvZGl2PlxuPGRpdiBjbGFzcz1cInRoeS10b29sdGlwLWNvbnRlbnRcIj5cbiAgQGlmIChpc1RlbXBsYXRlUmVmKSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnQ7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBkYXRhIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgfSBAZWxzZSB7XG4gICAge3sgY29udGVudCB9fVxuICB9XG48L2Rpdj5cbiJdfQ==
@@ -1,13 +1,10 @@
1
1
  import { FocusMonitor } from '@angular/cdk/a11y';
2
2
  import { Platform } from '@angular/cdk/platform';
3
- import { Directive, ElementRef, Input, NgZone, ViewContainerRef, numberAttribute } from '@angular/core';
3
+ import { Directive, ElementRef, Input, NgZone, ViewContainerRef, numberAttribute, inject } from '@angular/core';
4
4
  import { ThyOverlayDirectiveBase } from 'ngx-tethys/core';
5
5
  import { coerceBooleanProperty, isString } from 'ngx-tethys/util';
6
6
  import { ThyTooltipService } from './tooltip.service';
7
7
  import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/cdk/platform";
9
- import * as i2 from "@angular/cdk/a11y";
10
- import * as i3 from "./tooltip.service";
11
8
  /**
12
9
  * @name thyTooltip
13
10
  */
@@ -65,10 +62,14 @@ export class ThyTooltipDirective extends ThyOverlayDirectiveBase {
65
62
  set tooltipPin(value) {
66
63
  this.overlayPin = value;
67
64
  }
68
- constructor(elementRef, ngZone, platform, focusMonitor, viewContainerRef, thyTooltipService) {
65
+ constructor() {
66
+ const elementRef = inject(ElementRef);
67
+ const ngZone = inject(NgZone);
68
+ const platform = inject(Platform);
69
+ const focusMonitor = inject(FocusMonitor);
69
70
  super(elementRef, platform, focusMonitor, ngZone);
70
- this.viewContainerRef = viewContainerRef;
71
- this.thyTooltipService = thyTooltipService;
71
+ this.viewContainerRef = inject(ViewContainerRef);
72
+ this.thyTooltipService = inject(ThyTooltipService);
72
73
  this.touchendHideDelay = 1500;
73
74
  this.isAutoCloseOnMobileTouch = true;
74
75
  /**
@@ -105,7 +106,7 @@ export class ThyTooltipDirective extends ThyOverlayDirectiveBase {
105
106
  ngOnDestroy() {
106
107
  this.tooltipRef?.dispose();
107
108
  }
108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.Platform }, { token: i2.FocusMonitor }, { token: i0.ViewContainerRef }, { token: i3.ThyTooltipService }], target: i0.ɵɵFactoryTarget.Directive }); }
109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
109
110
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.0", type: ThyTooltipDirective, isStandalone: true, selector: "[thyTooltip],[thy-tooltip]", inputs: { content: ["thyTooltip", "content"], placement: ["thyTooltipPlacement", "placement"], thyTooltipClass: "thyTooltipClass", showDelay: ["thyTooltipShowDelay", "showDelay", numberAttribute], hideDelay: ["thyTooltipHideDelay", "hideDelay", numberAttribute], thyTooltipTrigger: "thyTooltipTrigger", thyTooltipDisabled: ["thyTooltipDisabled", "thyTooltipDisabled", coerceBooleanProperty], data: ["thyTooltipTemplateContext", "data"], tooltipOffset: ["thyTooltipOffset", "tooltipOffset", numberAttribute], tooltipPin: ["thyTooltipPin", "tooltipPin", coerceBooleanProperty] }, exportAs: ["thyTooltip"], usesInheritance: true, ngImport: i0 }); }
110
111
  }
111
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTooltipDirective, decorators: [{
@@ -115,7 +116,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
115
116
  exportAs: 'thyTooltip',
116
117
  standalone: true
117
118
  }]
118
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.Platform }, { type: i2.FocusMonitor }, { type: i0.ViewContainerRef }, { type: i3.ThyTooltipService }], propDecorators: { content: [{
119
+ }], ctorParameters: () => [], propDecorators: { content: [{
119
120
  type: Input,
120
121
  args: ['thyTooltip']
121
122
  }], placement: [{
@@ -146,4 +147,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
146
147
  type: Input,
147
148
  args: [{ alias: 'thyTooltipPin', transform: coerceBooleanProperty }]
148
149
  }] } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQXFCLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQUUsdUJBQXVCLEVBQW1DLE1BQU0saUJBQWlCLENBQUM7QUFFM0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQUV0RDs7R0FFRztBQU1ILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx1QkFBdUI7SUFXNUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUF5QixPQUFPLENBQUMsS0FBd0I7UUFDckQsb0ZBQW9GO1FBQ3BGLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLENBQUM7YUFBTSxDQUFD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Q0FNbEIscUJBQXFCOzsyRkEvRnhELG1CQUFtQjtrQkFML0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsVUFBVSxFQUFFLElBQUk7aUJBQ25CO3FOQW9CNEIsT0FBTztzQkFBL0IsS0FBSzt1QkFBQyxZQUFZO2dCQWNXLFNBQVM7c0JBQXRDLEtBQUs7dUJBQUMscUJBQXFCO2dCQU14QixlQUFlO3NCQURsQixLQUFLO3VCQUFDLGlCQUFpQjtnQkFTNkMsU0FBUztzQkFBN0UsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUtFLFNBQVM7c0JBQTdFLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFZbkMsaUJBQWlCO3NCQUFoRCxLQUFLO3VCQUFDLG1CQUFtQjtnQkFTdEIsa0JBQWtCO3NCQURyQixLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFZcEMsSUFBSTtzQkFBdkMsS0FBSzt1QkFBQywyQkFBMkI7Z0JBS2dDLGFBQWE7c0JBQTlFLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFPNUQsVUFBVTtzQkFEYixLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q29udGFpbmVyUmVmLCBudW1iZXJBdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeU92ZXJsYXlEaXJlY3RpdmVCYXNlLCBUaHlPdmVybGF5VHJpZ2dlciwgVGh5UGxhY2VtZW50IH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFNhZmVBbnkgfSBmcm9tICduZ3gtdGV0aHlzL3R5cGVzJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgaXNTdHJpbmcgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgVGh5VG9vbHRpcENvbnRlbnQgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBUaHlUb29sdGlwUmVmIH0gZnJvbSAnLi90b29sdGlwLXJlZic7XG5pbXBvcnQgeyBUaHlUb29sdGlwU2VydmljZSB9IGZyb20gJy4vdG9vbHRpcC5zZXJ2aWNlJztcblxuLyoqXG4gKiBAbmFtZSB0aHlUb29sdGlwXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3RoeVRvb2x0aXBdLFt0aHktdG9vbHRpcF0nLFxuICAgIGV4cG9ydEFzOiAndGh5VG9vbHRpcCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaHlUb29sdGlwRGlyZWN0aXZlIGV4dGVuZHMgVGh5T3ZlcmxheURpcmVjdGl2ZUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgdG91Y2hlbmRIaWRlRGVsYXkgPSAxNTAwO1xuXG4gICAgcHJvdGVjdGVkIGlzQXV0b0Nsb3NlT25Nb2JpbGVUb3VjaDogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBwcml2YXRlIHRvb2x0aXBDbGFzczogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgICBwcml2YXRlIHRvb2x0aXBSZWY6IFRoeVRvb2x0aXBSZWY7XG5cbiAgICBwcml2YXRlIF9jb250ZW50OiBUaHlUb29sdGlwQ29udGVudDtcblxuICAgIGdldCBjb250ZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29udGVudDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmj5DnpLrmtojmga/vvIzlj6/ku6XmmK/mlofmnKzvvIzkuZ/lj6/ku6XmmK/kuIDkuKrmqKHmnb9cbiAgICAgKiBAdHlwZSBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxUPlxuICAgICAqL1xuICAgIEBJbnB1dCgndGh5VG9vbHRpcCcpIHNldCBjb250ZW50KHZhbHVlOiBUaHlUb29sdGlwQ29udGVudCkge1xuICAgICAgICAvLyBJZiB0aGUgY29udGVudCBpcyBub3QgYSBzdHJpbmcgKGUuZy4gbnVtYmVyKSwgY29udmVydCBpdCB0byBhIHN0cmluZyBhbmQgdHJpbSBpdC5cbiAgICAgICAgdGhpcy5fY29udGVudCA9IHZhbHVlICYmIGlzU3RyaW5nKHZhbHVlKSA/IGAke3ZhbHVlfWAudHJpbSgpIDogdmFsdWU7XG4gICAgICAgIGlmICghdGhpcy5fY29udGVudCAmJiB0aGlzLnRvb2x0aXBSZWY/LmlzVG9vbHRpcFZpc2libGUoKSkge1xuICAgICAgICAgICAgdGhpcy50b29sdGlwUmVmLmhpZGUoMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBSZWY/LnVwZGF0ZVRvb2x0aXBDb250ZW50KHZhbHVlLCB0aGlzLmRhdGEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5oyH5a6a5o+Q56S655qE5L2N572uXG4gICAgICogQHR5cGUgVGh5UGxhY2VtZW50XG4gICAgICovXG4gICAgQElucHV0KCd0aHlUb29sdGlwUGxhY2VtZW50JykgcGxhY2VtZW50OiBUaHlQbGFjZW1lbnQgPSAndG9wJztcblxuICAgIC8qKlxuICAgICAqIOaPkOekuuWGheWuueiHquWumuS5ieagt+W8j1xuICAgICAqL1xuICAgIEBJbnB1dCgndGh5VG9vbHRpcENsYXNzJylcbiAgICBzZXQgdGh5VG9vbHRpcENsYXNzKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgICAgICB0aGlzLnRvb2x0aXBDbGFzcyA9IHZhbHVlO1xuICAgICAgICB0aGlzLnRvb2x0aXBSZWY/LnNldFRvb2x0aXBDbGFzcyh0aGlzLnRvb2x0aXBDbGFzcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5pi+56S65o+Q56S65YaF5a655bu26L+f5q+r56eSXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICd0aHlUb29sdGlwU2hvd0RlbGF5JywgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgc2hvd0RlbGF5OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDpmpDol4/mj5DnpLrlhoXlrrnlu7bov5/mr6vnp5JcbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeVRvb2x0aXBIaWRlRGVsYXknLCB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSBoaWRlRGVsYXk6IG51bWJlcjtcblxuICAgIF90cmlnZ2VyOiBUaHlPdmVybGF5VHJpZ2dlciA9ICdob3Zlcic7XG5cbiAgICAvKipcbiAgICAgKiDop6blj5Hmj5DnpLrmlrnlvI9cbiAgICAgKiA8YnIvPmBob3ZlcmAg6byg5qCH56e75YWl77yM5pi+56S65o+Q56S677yb6byg5qCH56e75Ye677yM6ZqQ6JeP5o+Q56S677yb5pi+56S65o+Q56S65pe277yM5rua5Yqo6aG16Z2i77yM5Lya6ZqQ6JeP5o+Q56S644CCXG4gICAgICogPGJyLz5gZm9jdXNgIOWFg+e0oOiOt+WPlueEpueCue+8jOaYvuekuuaPkOekuu+8m+WFg+e0oOWkseWOu+eEpueCue+8jOmakOiXj+aPkOekuu+8m+aYvuekuuWFg+e0oOaXtu+8jOa7muWKqOmhtemdou+8jOaPkOekuuS8mui3n+maj+iBmueEpua6kOS4gOi1t+enu+WKqOOAglxuICAgICAqIDxici8+YGNsaWNrYCDngrnlh7vlhYPntKDvvIzmmL7npLrmj5DnpLrvvJvngrnlh7tiYWNrZHJvcO+8jOmakOiXj+aPkOekuu+8m+aYvuekuuaPkOekuuaXtu+8jOmhtemdoueahOa7muWKqOihjOS4uuS8muiiq+mYu+atouOAglxuICAgICAqXG4gICAgICogQHR5cGUgaG92ZXIgfCBmb2N1cyB8IGNsaWNrXG4gICAgICovXG4gICAgQElucHV0KCd0aHlUb29sdGlwVHJpZ2dlcicpIHNldCB0aHlUb29sdGlwVHJpZ2dlcih2YWx1ZTogVGh5T3ZlcmxheVRyaWdnZXIpIHtcbiAgICAgICAgdGhpcy50cmlnZ2VyID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6K6+572u5piv5ZCm56aB55So5o+Q56S6XG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeVRvb2x0aXBEaXNhYmxlZCcsIHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgc2V0IHRoeVRvb2x0aXBEaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gdmFsdWU7XG4gICAgICAgIC8vIElmIHRvb2x0aXAgaXMgZGlzYWJsZWQsIGhpZGUgaW1tZWRpYXRlbHkuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLmhpZGUoMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDkvKDlhaUgdGVtcGxhdGUg5pe277yM6ZyA6KaB5rOo5YWl57uZIHRlbXBsYXRlIOeahOS4iuS4i+aWh+aVsOaNrlxuICAgICAqL1xuICAgIEBJbnB1dCgndGh5VG9vbHRpcFRlbXBsYXRlQ29udGV4dCcpIGRhdGE6IFNhZmVBbnk7XG5cbiAgICAvKipcbiAgICAgKiDlgY/np7vph49cbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeVRvb2x0aXBPZmZzZXQnLCB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSB0b29sdGlwT2Zmc2V0OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBob3ZlciDop6blj5HmlrnlvI/kuIsg6byg5qCH56e75YWlVG9vbHRpcOaYr+WQpuWbuuWumiBUb29sdGlwXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeVRvb2x0aXBQaW4nLCB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCB0b29sdGlwUGluKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMub3ZlcmxheVBpbiA9IHZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHBsYXRmb3JtOiBQbGF0Zm9ybSxcbiAgICAgICAgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSB0aHlUb29sdGlwU2VydmljZTogVGh5VG9vbHRpcFNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgcGxhdGZvcm0sIGZvY3VzTW9uaXRvciwgbmdab25lKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfVxuXG4gICAgLyoqIFNob3dzIHRoZSB0b29sdGlwIGFmdGVyIHRoZSBkZWxheSBpbiBtcywgZGVmYXVsdHMgdG8gdG9vbHRpcC1kZWxheS1zaG93IDIwMG1zICovXG4gICAgc2hvdyhkZWxheTogbnVtYmVyID0gdGhpcy5zaG93RGVsYXkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMudG9vbHRpcFJlZikge1xuICAgICAgICAgICAgdGhpcy50b29sdGlwUmVmID0gdGhpcy50aHlUb29sdGlwU2VydmljZS5jcmVhdGUodGhpcy5lbGVtZW50UmVmLCB7XG4gICAgICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgICAgIHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgY29udGVudENsYXNzOiB0aGlzLnRvb2x0aXBDbGFzcyxcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IHRoaXMudG9vbHRpcE9mZnNldCxcbiAgICAgICAgICAgICAgICB0b29sdGlwUGluOiB0aGlzLnRvb2x0aXBQaW4sXG4gICAgICAgICAgICAgICAgaGFzQmFja2Ryb3A6IHRoaXMudHJpZ2dlciA9PT0gJ2NsaWNrJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b29sdGlwUmVmLnNob3codGhpcy5jb250ZW50LCB0aGlzLmRhdGEsIGRlbGF5KTtcbiAgICB9XG5cbiAgICAvKiogSGlkZXMgdGhlIHRvb2x0aXAgYWZ0ZXIgdGhlIGRlbGF5IGluIG1zLCBkZWZhdWx0cyB0byB0b29sdGlwLWRlbGF5LWhpZGUgMTAwbXMgKi9cbiAgICBoaWRlKGRlbGF5OiBudW1iZXIgPSB0aGlzLmhpZGVEZWxheSk6IHZvaWQge1xuICAgICAgICB0aGlzLnRvb2x0aXBSZWY/LmhpZGUoZGVsYXkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnRvb2x0aXBSZWY/LmRpc3Bvc2UoKTtcbiAgICB9XG59XG4iXX0=
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQXFCLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkksT0FBTyxFQUFFLHVCQUF1QixFQUFtQyxNQUFNLGlCQUFpQixDQUFDO0FBRTNGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFdEQ7O0dBRUc7QUFNSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsdUJBQXVCO0lBYzVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBeUIsT0FBTyxDQUFDLEtBQXdCO1FBQ3JELG9GQUFvRjtRQUNwRixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNyRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsQ0FBQztZQUN4RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixDQUFDO2FB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ay9hMTF5JztcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDb250YWluZXJSZWYsIG51bWJlckF0dHJpYnV0ZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlPdmVybGF5RGlyZWN0aXZlQmFzZSwgVGh5T3ZlcmxheVRyaWdnZXIsIFRoeVBsYWNlbWVudCB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBTYWZlQW55IH0gZnJvbSAnbmd4LXRldGh5cy90eXBlcyc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIGlzU3RyaW5nIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IFRoeVRvb2x0aXBDb250ZW50IH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGh5VG9vbHRpcFJlZiB9IGZyb20gJy4vdG9vbHRpcC1yZWYnO1xuaW1wb3J0IHsgVGh5VG9vbHRpcFNlcnZpY2UgfSBmcm9tICcuL3Rvb2x0aXAuc2VydmljZSc7XG5cbi8qKlxuICogQG5hbWUgdGh5VG9vbHRpcFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0aHlUb29sdGlwXSxbdGh5LXRvb2x0aXBdJyxcbiAgICBleHBvcnRBczogJ3RoeVRvb2x0aXAnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGh5VG9vbHRpcERpcmVjdGl2ZSBleHRlbmRzIFRoeU92ZXJsYXlEaXJlY3RpdmVCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcbiAgICBwcml2YXRlIHRoeVRvb2x0aXBTZXJ2aWNlID0gaW5qZWN0KFRoeVRvb2x0aXBTZXJ2aWNlKTtcblxuICAgIHRvdWNoZW5kSGlkZURlbGF5ID0gMTUwMDtcblxuICAgIHByb3RlY3RlZCBpc0F1dG9DbG9zZU9uTW9iaWxlVG91Y2g6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSB0b29sdGlwQ2xhc3M6IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gICAgcHJpdmF0ZSB0b29sdGlwUmVmOiBUaHlUb29sdGlwUmVmO1xuXG4gICAgcHJpdmF0ZSBfY29udGVudDogVGh5VG9vbHRpcENvbnRlbnQ7XG5cbiAgICBnZXQgY29udGVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRlbnQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5o+Q56S65raI5oGv77yM5Y+v5Lul5piv5paH5pys77yM5Lmf5Y+v5Lul5piv5LiA5Liq5qih5p2/XG4gICAgICogQHR5cGUgc3RyaW5nIHwgVGVtcGxhdGVSZWY8VD5cbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVRvb2x0aXAnKSBzZXQgY29udGVudCh2YWx1ZTogVGh5VG9vbHRpcENvbnRlbnQpIHtcbiAgICAgICAgLy8gSWYgdGhlIGNvbnRlbnQgaXMgbm90IGEgc3RyaW5nIChlLmcuIG51bWJlciksIGNvbnZlcnQgaXQgdG8gYSBzdHJpbmcgYW5kIHRyaW0gaXQuXG4gICAgICAgIHRoaXMuX2NvbnRlbnQgPSB2YWx1ZSAmJiBpc1N0cmluZyh2YWx1ZSkgPyBgJHt2YWx1ZX1gLnRyaW0oKSA6IHZhbHVlO1xuICAgICAgICBpZiAoIXRoaXMuX2NvbnRlbnQgJiYgdGhpcy50b29sdGlwUmVmPy5pc1Rvb2x0aXBWaXNpYmxlKCkpIHtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcFJlZi5oaWRlKDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50b29sdGlwUmVmPy51cGRhdGVUb29sdGlwQ29udGVudCh2YWx1ZSwgdGhpcy5kYXRhKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaMh+WumuaPkOekuueahOS9jee9rlxuICAgICAqIEB0eXBlIFRoeVBsYWNlbWVudFxuICAgICAqL1xuICAgIEBJbnB1dCgndGh5VG9vbHRpcFBsYWNlbWVudCcpIHBsYWNlbWVudDogVGh5UGxhY2VtZW50ID0gJ3RvcCc7XG5cbiAgICAvKipcbiAgICAgKiDmj5DnpLrlhoXlrrnoh6rlrprkuYnmoLflvI9cbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVRvb2x0aXBDbGFzcycpXG4gICAgc2V0IHRoeVRvb2x0aXBDbGFzcyh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICAgICAgdGhpcy50b29sdGlwQ2xhc3MgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy50b29sdGlwUmVmPy5zZXRUb29sdGlwQ2xhc3ModGhpcy50b29sdGlwQ2xhc3MpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaYvuekuuaPkOekuuWGheWuueW7tui/n+avq+enklxuICAgICAqL1xuICAgIEBJbnB1dCh7IGFsaWFzOiAndGh5VG9vbHRpcFNob3dEZWxheScsIHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHNob3dEZWxheTogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog6ZqQ6JeP5o+Q56S65YaF5a655bu26L+f5q+r56eSXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICd0aHlUb29sdGlwSGlkZURlbGF5JywgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgaGlkZURlbGF5OiBudW1iZXI7XG5cbiAgICBfdHJpZ2dlcjogVGh5T3ZlcmxheVRyaWdnZXIgPSAnaG92ZXInO1xuXG4gICAgLyoqXG4gICAgICog6Kem5Y+R5o+Q56S65pa55byPXG4gICAgICogPGJyLz5gaG92ZXJgIOm8oOagh+enu+WFpe+8jOaYvuekuuaPkOekuu+8m+m8oOagh+enu+WHuu+8jOmakOiXj+aPkOekuu+8m+aYvuekuuaPkOekuuaXtu+8jOa7muWKqOmhtemdou+8jOS8mumakOiXj+aPkOekuuOAglxuICAgICAqIDxici8+YGZvY3VzYCDlhYPntKDojrflj5bnhKbngrnvvIzmmL7npLrmj5DnpLrvvJvlhYPntKDlpLHljrvnhKbngrnvvIzpmpDol4/mj5DnpLrvvJvmmL7npLrlhYPntKDml7bvvIzmu5rliqjpobXpnaLvvIzmj5DnpLrkvJrot5/pmo/ogZrnhKbmupDkuIDotbfnp7vliqjjgIJcbiAgICAgKiA8YnIvPmBjbGlja2Ag54K55Ye75YWD57Sg77yM5pi+56S65o+Q56S677yb54K55Ye7YmFja2Ryb3DvvIzpmpDol4/mj5DnpLrvvJvmmL7npLrmj5DnpLrml7bvvIzpobXpnaLnmoTmu5rliqjooYzkuLrkvJrooqvpmLvmraLjgIJcbiAgICAgKlxuICAgICAqIEB0eXBlIGhvdmVyIHwgZm9jdXMgfCBjbGlja1xuICAgICAqL1xuICAgIEBJbnB1dCgndGh5VG9vbHRpcFRyaWdnZXInKSBzZXQgdGh5VG9vbHRpcFRyaWdnZXIodmFsdWU6IFRoeU92ZXJsYXlUcmlnZ2VyKSB7XG4gICAgICAgIHRoaXMudHJpZ2dlciA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiuvue9ruaYr+WQpuemgeeUqOaPkOekulxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICd0aHlUb29sdGlwRGlzYWJsZWQnLCB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCB0aHlUb29sdGlwRGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHZhbHVlO1xuICAgICAgICAvLyBJZiB0b29sdGlwIGlzIGRpc2FibGVkLCBoaWRlIGltbWVkaWF0ZWx5LlxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5oaWRlKDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5Lyg5YWlIHRlbXBsYXRlIOaXtu+8jOmcgOimgeazqOWFpee7mSB0ZW1wbGF0ZSDnmoTkuIrkuIvmlofmlbDmja5cbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVRvb2x0aXBUZW1wbGF0ZUNvbnRleHQnKSBkYXRhOiBTYWZlQW55O1xuXG4gICAgLyoqXG4gICAgICog5YGP56e76YePXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICd0aHlUb29sdGlwT2Zmc2V0JywgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdG9vbHRpcE9mZnNldDogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogaG92ZXIg6Kem5Y+R5pa55byP5LiLIOm8oOagh+enu+WFpVRvb2x0aXDmmK/lkKblm7rlrpogVG9vbHRpcFxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICd0aHlUb29sdGlwUGluJywgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBzZXQgdG9vbHRpcFBpbih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm92ZXJsYXlQaW4gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG4gICAgICAgIGNvbnN0IG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuICAgICAgICBjb25zdCBwbGF0Zm9ybSA9IGluamVjdChQbGF0Zm9ybSk7XG4gICAgICAgIGNvbnN0IGZvY3VzTW9uaXRvciA9IGluamVjdChGb2N1c01vbml0b3IpO1xuXG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIHBsYXRmb3JtLCBmb2N1c01vbml0b3IsIG5nWm9uZSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICAgIH1cblxuICAgIC8qKiBTaG93cyB0aGUgdG9vbHRpcCBhZnRlciB0aGUgZGVsYXkgaW4gbXMsIGRlZmF1bHRzIHRvIHRvb2x0aXAtZGVsYXktc2hvdyAyMDBtcyAqL1xuICAgIHNob3coZGVsYXk6IG51bWJlciA9IHRoaXMuc2hvd0RlbGF5KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLnRvb2x0aXBSZWYpIHtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcFJlZiA9IHRoaXMudGh5VG9vbHRpcFNlcnZpY2UuY3JlYXRlKHRoaXMuZWxlbWVudFJlZiwge1xuICAgICAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6IHRoaXMucGxhY2VtZW50LFxuICAgICAgICAgICAgICAgIGNvbnRlbnRDbGFzczogdGhpcy50b29sdGlwQ2xhc3MsXG4gICAgICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLnRvb2x0aXBPZmZzZXQsXG4gICAgICAgICAgICAgICAgdG9vbHRpcFBpbjogdGhpcy50b29sdGlwUGluLFxuICAgICAgICAgICAgICAgIGhhc0JhY2tkcm9wOiB0aGlzLnRyaWdnZXIgPT09ICdjbGljaydcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudG9vbHRpcFJlZi5zaG93KHRoaXMuY29udGVudCwgdGhpcy5kYXRhLCBkZWxheSk7XG4gICAgfVxuXG4gICAgLyoqIEhpZGVzIHRoZSB0b29sdGlwIGFmdGVyIHRoZSBkZWxheSBpbiBtcywgZGVmYXVsdHMgdG8gdG9vbHRpcC1kZWxheS1oaWRlIDEwMG1zICovXG4gICAgaGlkZShkZWxheTogbnVtYmVyID0gdGhpcy5oaWRlRGVsYXkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b29sdGlwUmVmPy5oaWRlKGRlbGF5KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy50b29sdGlwUmVmPy5kaXNwb3NlKCk7XG4gICAgfVxufVxuIl19
@@ -1,15 +1,14 @@
1
1
  import { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';
2
- import { Inject, Injectable, NgZone } from '@angular/core';
2
+ import { Injectable, NgZone, inject } from '@angular/core';
3
3
  import { ThyTooltipRef } from './tooltip-ref';
4
4
  import { THY_TOOLTIP_DEFAULT_CONFIG_TOKEN } from './tooltip.config';
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/cdk/overlay";
7
6
  export class ThyTooltipService {
8
- constructor(overlay, scrollDispatcher, ngZone, defaultTooltipConfig) {
9
- this.overlay = overlay;
10
- this.scrollDispatcher = scrollDispatcher;
11
- this.ngZone = ngZone;
12
- this.defaultTooltipConfig = defaultTooltipConfig;
7
+ constructor() {
8
+ this.overlay = inject(Overlay);
9
+ this.scrollDispatcher = inject(ScrollDispatcher);
10
+ this.ngZone = inject(NgZone);
11
+ this.defaultTooltipConfig = inject(THY_TOOLTIP_DEFAULT_CONFIG_TOKEN);
13
12
  }
14
13
  /**
15
14
  * 创建一个 Tooltip
@@ -19,14 +18,11 @@ export class ThyTooltipService {
19
18
  const tooltipRef = new ThyTooltipRef(host, config, this.overlay, this.scrollDispatcher, this.ngZone);
20
19
  return tooltipRef;
21
20
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTooltipService, deps: [{ token: i1.Overlay }, { token: i1.ScrollDispatcher }, { token: i0.NgZone }, { token: THY_TOOLTIP_DEFAULT_CONFIG_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTooltipService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
23
22
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTooltipService, providedIn: 'root' }); }
24
23
  }
25
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTooltipService, decorators: [{
26
25
  type: Injectable,
27
26
  args: [{ providedIn: 'root' }]
28
- }], ctorParameters: () => [{ type: i1.Overlay }, { type: i1.ScrollDispatcher }, { type: i0.NgZone }, { type: undefined, decorators: [{
29
- type: Inject,
30
- args: [THY_TOOLTIP_DEFAULT_CONFIG_TOKEN]
31
- }] }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Rvb2x0aXAvdG9vbHRpcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQTRDLGdDQUFnQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUc5RyxNQUFNLE9BQU8saUJBQWlCO0lBQzFCLFlBQ1ksT0FBZ0IsRUFDaEIsZ0JBQWtDLEVBQ2xDLE1BQWMsRUFFZCxvQkFBNEM7UUFKNUMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFFZCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXdCO0lBQ3JELENBQUM7SUFFSjs7T0FFRztJQUNILE1BQU0sQ0FBQyxJQUEyQyxFQUFFLFNBQTJCLEVBQUU7UUFDN0UsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5RCxNQUFNLFVBQVUsR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRyxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDOzhHQWhCUSxpQkFBaUIsK0ZBS2QsZ0NBQWdDO2tIQUxuQyxpQkFBaUIsY0FESixNQUFNOzsyRkFDbkIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBTXpCLE1BQU07MkJBQUMsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgU2Nyb2xsRGlzcGF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgTmdab25lLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlUb29sdGlwUmVmIH0gZnJvbSAnLi90b29sdGlwLXJlZic7XG5pbXBvcnQgeyBUaHlHbG9iYWxUb29sdGlwQ29uZmlnLCBUaHlUb29sdGlwQ29uZmlnLCBUSFlfVE9PTFRJUF9ERUZBVUxUX0NPTkZJR19UT0tFTiB9IGZyb20gJy4vdG9vbHRpcC5jb25maWcnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFRoeVRvb2x0aXBTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBwcml2YXRlIHNjcm9sbERpc3BhdGNoZXI6IFNjcm9sbERpc3BhdGNoZXIsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoVEhZX1RPT0xUSVBfREVGQVVMVF9DT05GSUdfVE9LRU4pXG4gICAgICAgIHByaXZhdGUgZGVmYXVsdFRvb2x0aXBDb25maWc6IFRoeUdsb2JhbFRvb2x0aXBDb25maWdcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiDliJvlu7rkuIDkuKogVG9vbHRpcFxuICAgICAqL1xuICAgIGNyZWF0ZShob3N0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB8IEhUTUxFbGVtZW50LCBjb25maWc6IFRoeVRvb2x0aXBDb25maWcgPSB7fSkge1xuICAgICAgICBjb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmRlZmF1bHRUb29sdGlwQ29uZmlnLCBjb25maWcpO1xuICAgICAgICBjb25zdCB0b29sdGlwUmVmID0gbmV3IFRoeVRvb2x0aXBSZWYoaG9zdCwgY29uZmlnLCB0aGlzLm92ZXJsYXksIHRoaXMuc2Nyb2xsRGlzcGF0Y2hlciwgdGhpcy5uZ1pvbmUpO1xuICAgICAgICByZXR1cm4gdG9vbHRpcFJlZjtcbiAgICB9XG59XG4iXX0=
27
+ }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Rvb2x0aXAvdG9vbHRpcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBYyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQTRDLGdDQUFnQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRzlHLE1BQU0sT0FBTyxpQkFBaUI7SUFEOUI7UUFFWSxZQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFCLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIseUJBQW9CLEdBQUcsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7S0FVM0U7SUFSRzs7T0FFRztJQUNILE1BQU0sQ0FBQyxJQUEyQyxFQUFFLFNBQTJCLEVBQUU7UUFDN0UsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5RCxNQUFNLFVBQVUsR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRyxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDOzhHQWJRLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBREosTUFBTTs7MkZBQ25CLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5LCBTY3JvbGxEaXNwYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lLCBFbGVtZW50UmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVRvb2x0aXBSZWYgfSBmcm9tICcuL3Rvb2x0aXAtcmVmJztcbmltcG9ydCB7IFRoeUdsb2JhbFRvb2x0aXBDb25maWcsIFRoeVRvb2x0aXBDb25maWcsIFRIWV9UT09MVElQX0RFRkFVTFRfQ09ORklHX1RPS0VOIH0gZnJvbSAnLi90b29sdGlwLmNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVGh5VG9vbHRpcFNlcnZpY2Uge1xuICAgIHByaXZhdGUgb3ZlcmxheSA9IGluamVjdChPdmVybGF5KTtcbiAgICBwcml2YXRlIHNjcm9sbERpc3BhdGNoZXIgPSBpbmplY3QoU2Nyb2xsRGlzcGF0Y2hlcik7XG4gICAgcHJpdmF0ZSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgICBwcml2YXRlIGRlZmF1bHRUb29sdGlwQ29uZmlnID0gaW5qZWN0KFRIWV9UT09MVElQX0RFRkFVTFRfQ09ORklHX1RPS0VOKTtcblxuICAgIC8qKlxuICAgICAqIOWIm+W7uuS4gOS4qiBUb29sdGlwXG4gICAgICovXG4gICAgY3JlYXRlKGhvc3Q6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgSFRNTEVsZW1lbnQsIGNvbmZpZzogVGh5VG9vbHRpcENvbmZpZyA9IHt9KSB7XG4gICAgICAgIGNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuZGVmYXVsdFRvb2x0aXBDb25maWcsIGNvbmZpZyk7XG4gICAgICAgIGNvbnN0IHRvb2x0aXBSZWYgPSBuZXcgVGh5VG9vbHRpcFJlZihob3N0LCBjb25maWcsIHRoaXMub3ZlcmxheSwgdGhpcy5zY3JvbGxEaXNwYXRjaGVyLCB0aGlzLm5nWm9uZSk7XG4gICAgICAgIHJldHVybiB0b29sdGlwUmVmO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { CdkDrag, CdkDropList, CdkDropListGroup, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';
2
- import { Component, EventEmitter, HostBinding, Input, IterableDiffers, Output, TemplateRef, ViewEncapsulation } from '@angular/core';
2
+ import { Component, EventEmitter, HostBinding, Input, IterableDiffers, Output, TemplateRef, ViewEncapsulation, inject } from '@angular/core';
3
3
  import { NgClass, NgTemplateOutlet } from '@angular/common';
4
4
  import { ThyList, ThyListItem } from 'ngx-tethys/list';
5
5
  import { ThyDragDropDirective } from 'ngx-tethys/shared';
@@ -8,8 +8,8 @@ import * as i0 from "@angular/core";
8
8
  * @private
9
9
  */
10
10
  export class ThyTransferList {
11
- constructor(differs) {
12
- this.differs = differs;
11
+ constructor() {
12
+ this.differs = inject(IterableDiffers);
13
13
  this.lockItems = [];
14
14
  this.unlockItems = [];
15
15
  this.draggableUpdate = new EventEmitter();
@@ -114,13 +114,13 @@ export class ThyTransferList {
114
114
  listData: { lock: this.lockItems, unlock: this.unlockItems }
115
115
  });
116
116
  }
117
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTransferList, deps: [{ token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component }); }
117
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTransferList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
118
118
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyTransferList, isStandalone: true, selector: "thy-transfer-list", inputs: { title: "title", items: "items", draggable: "draggable", canLock: "canLock", maxLock: "maxLock", max: "max", disabled: "disabled", template: "template", contentRef: ["renderContentRef", "contentRef"] }, outputs: { draggableUpdate: "draggableUpdate", selectItem: "selectItem", unselectItem: "unselectItem" }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<div class=\"thy-transfer-list-header\">\n <span class=\"thy-transfer-list-header-title\"\n >{{ title }} \u00B7 {{ items?.length }}\n @if (max) {\n <span> (\u4E0A\u9650{{ max }}\u4E2A)</span>\n }\n </span>\n</div>\n@if (!contentRef) {\n <div class=\"thy-transfer-list-body\" cdkDropListGroup [cdkDropListGroupDisabled]=\"!draggable\">\n @if (canLock) {\n <div class=\"thy-transfer-list-group-name\">\u9501\u5B9A (\u4E0A\u9650{{ maxLock }}\u4E2A)</div>\n <thy-list\n class=\"thy-transfer-list-content\"\n cdkDropList\n thyDragDrop\n id=\"lock\"\n [cdkDropListData]=\"lockItems\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListEnterPredicate]=\"lockListEnterPredicate\">\n @if (lockItems.length === 0) {\n <div class=\"cdk-drop-list-empty\"></div>\n }\n @for (item of lockItems; track $index) {\n <thy-list-item\n class=\"thy-transfer-list-content-item text-truncate\"\n cdkDrag\n [cdkDragData]=\"item\"\n [ngClass]=\"{ active: item.checked }\">\n <ng-template [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </thy-list-item>\n }\n </thy-list>\n <div class=\"thy-transfer-list-group-name\">\u672A\u9501\u5B9A</div>\n }\n <thy-list\n class=\"thy-transfer-list-content\"\n cdkDropList\n thyDragDrop\n [cdkDropListDisabled]=\"!draggable\"\n id=\"unlock\"\n [cdkDropListData]=\"unlockItems\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListEnterPredicate]=\"unlockListEnterPredicate\">\n @if (unlockItems.length === 0) {\n <div class=\"cdk-drop-list-empty\"></div>\n }\n @for (item of unlockItems; track $index) {\n <thy-list-item\n class=\"thy-transfer-list-content-item text-truncate\"\n cdkDrag\n [cdkDragData]=\"item\"\n [ngClass]=\"{ active: item.checked, disabled: disabled && item.direction === 'left' }\">\n <ng-template [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </thy-list-item>\n }\n </thy-list>\n </div>\n} @else {\n <div class=\"thy-transfer-list-body\">\n <ng-container\n *ngTemplateOutlet=\"\n contentRef;\n context: {\n $implicit: items,\n onSelectItem: onSelectItem,\n onUnselectItem: onUnselectItem\n }\n \"></ng-container>\n </div>\n}\n", dependencies: [{ kind: "directive", type: CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "component", type: ThyList, selector: "thy-list", inputs: ["thyDivided"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: ThyDragDropDirective, selector: "[thyDragDrop]" }, { kind: "component", type: ThyListItem, selector: "thy-list-item,[thy-list-item]" }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
119
119
  }
120
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTransferList, decorators: [{
121
121
  type: Component,
122
122
  args: [{ selector: 'thy-transfer-list', encapsulation: ViewEncapsulation.None, standalone: true, imports: [CdkDropListGroup, ThyList, CdkDropList, ThyDragDropDirective, ThyListItem, CdkDrag, NgClass, NgTemplateOutlet], template: "<div class=\"thy-transfer-list-header\">\n <span class=\"thy-transfer-list-header-title\"\n >{{ title }} \u00B7 {{ items?.length }}\n @if (max) {\n <span> (\u4E0A\u9650{{ max }}\u4E2A)</span>\n }\n </span>\n</div>\n@if (!contentRef) {\n <div class=\"thy-transfer-list-body\" cdkDropListGroup [cdkDropListGroupDisabled]=\"!draggable\">\n @if (canLock) {\n <div class=\"thy-transfer-list-group-name\">\u9501\u5B9A (\u4E0A\u9650{{ maxLock }}\u4E2A)</div>\n <thy-list\n class=\"thy-transfer-list-content\"\n cdkDropList\n thyDragDrop\n id=\"lock\"\n [cdkDropListData]=\"lockItems\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListEnterPredicate]=\"lockListEnterPredicate\">\n @if (lockItems.length === 0) {\n <div class=\"cdk-drop-list-empty\"></div>\n }\n @for (item of lockItems; track $index) {\n <thy-list-item\n class=\"thy-transfer-list-content-item text-truncate\"\n cdkDrag\n [cdkDragData]=\"item\"\n [ngClass]=\"{ active: item.checked }\">\n <ng-template [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </thy-list-item>\n }\n </thy-list>\n <div class=\"thy-transfer-list-group-name\">\u672A\u9501\u5B9A</div>\n }\n <thy-list\n class=\"thy-transfer-list-content\"\n cdkDropList\n thyDragDrop\n [cdkDropListDisabled]=\"!draggable\"\n id=\"unlock\"\n [cdkDropListData]=\"unlockItems\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListEnterPredicate]=\"unlockListEnterPredicate\">\n @if (unlockItems.length === 0) {\n <div class=\"cdk-drop-list-empty\"></div>\n }\n @for (item of unlockItems; track $index) {\n <thy-list-item\n class=\"thy-transfer-list-content-item text-truncate\"\n cdkDrag\n [cdkDragData]=\"item\"\n [ngClass]=\"{ active: item.checked, disabled: disabled && item.direction === 'left' }\">\n <ng-template [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </thy-list-item>\n }\n </thy-list>\n </div>\n} @else {\n <div class=\"thy-transfer-list-body\">\n <ng-container\n *ngTemplateOutlet=\"\n contentRef;\n context: {\n $implicit: items,\n onSelectItem: onSelectItem,\n onUnselectItem: onUnselectItem\n }\n \"></ng-container>\n </div>\n}\n" }]
123
- }], ctorParameters: () => [{ type: i0.IterableDiffers }], propDecorators: { title: [{
123
+ }], propDecorators: { title: [{
124
124
  type: Input
125
125
  }], items: [{
126
126
  type: Input
@@ -149,4 +149,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
149
149
  type: HostBinding,
150
150
  args: ['class']
151
151
  }] } });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHJhbnNmZXIvdHJhbnNmZXItbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvdHJhbnNmZXIvdHJhbnNmZXItbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFlLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqSSxPQUFPLEVBQ0gsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUdMLGVBQWUsRUFFZixNQUFNLEVBQ04sV0FBVyxFQUNYLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFHekQ7O0dBRUc7QUFRSCxNQUFNLE9BQU8sZUFBZTtJQXFDeEIsWUFBb0IsT0FBd0I7UUFBeEIsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFwQ3JDLGNBQVMsR0FBc0IsRUFBRSxDQUFDO1FBRWxDLGdCQUFXLEdBQXNCLEVBQUUsQ0FBQztRQTBCakMsb0JBQWUsR0FBeUMsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFFbkcsZUFBVSxHQUF5QyxJQUFJLFlBQVksRUFBMEIsQ0FBQztRQUU5RixpQkFBWSxHQUF5QyxJQUFJLFlBQVksRUFBMEIsQ0FBQztRQUVwRixjQUFTLEdBQUcsbUJBQW1CLENBQUM7UUFrRXRELDJCQUFzQixHQUFHLEdBQUcsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQyxTQUFTLENB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QUFFLFdBQVcsMEVBQUUsT0FBTyx3Y0FBRSxPQUFPLG9GQUFFLGdCQUFnQjs7MkZBRTlHLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0ksbUJBQW1CLGlCQUVkLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQztvRkFhL0csS0FBSztzQkFBYixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFcUIsVUFBVTtzQkFBcEMsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBRWYsZUFBZTtzQkFBeEIsTUFBTTtnQkFFRyxVQUFVO3NCQUFuQixNQUFNO2dCQUVHLFlBQVk7c0JBQXJCLE1BQU07Z0JBRWUsU0FBUztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZywgQ2RrRHJhZ0Ryb3AsIENka0Ryb3BMaXN0LCBDZGtEcm9wTGlzdEdyb3VwLCBtb3ZlSXRlbUluQXJyYXksIHRyYW5zZmVyQXJyYXlJdGVtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBEb0NoZWNrLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBJdGVyYWJsZUNoYW5nZXMsXG4gICAgSXRlcmFibGVEaWZmZXIsXG4gICAgSXRlcmFibGVEaWZmZXJzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGh5TGlzdCwgVGh5TGlzdEl0ZW0gfSBmcm9tICduZ3gtdGV0aHlzL2xpc3QnO1xuaW1wb3J0IHsgVGh5RHJhZ0Ryb3BEaXJlY3RpdmUgfSBmcm9tICduZ3gtdGV0aHlzL3NoYXJlZCc7XG5pbXBvcnQgeyBJbm5lclRyYW5zZmVyRHJhZ0V2ZW50LCBUaHlUcmFuc2ZlckRyYWdFdmVudCwgVGh5VHJhbnNmZXJJdGVtLCBUaHlUcmFuc2ZlclNlbGVjdEV2ZW50IH0gZnJvbSAnLi90cmFuc2Zlci5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LXRyYW5zZmVyLWxpc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90cmFuc2Zlci1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0Nka0Ryb3BMaXN0R3JvdXAsIFRoeUxpc3QsIENka0Ryb3BMaXN0LCBUaHlEcmFnRHJvcERpcmVjdGl2ZSwgVGh5TGlzdEl0ZW0sIENka0RyYWcsIE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXRdXG59KVxuZXhwb3J0IGNsYXNzIFRoeVRyYW5zZmVyTGlzdCBpbXBsZW1lbnRzIE9uSW5pdCwgRG9DaGVjayB7XG4gICAgcHVibGljIGxvY2tJdGVtczogVGh5VHJhbnNmZXJJdGVtW10gPSBbXTtcblxuICAgIHB1YmxpYyB1bmxvY2tJdGVtczogVGh5VHJhbnNmZXJJdGVtW10gPSBbXTtcblxuICAgIHByaXZhdGUgX2RpZmY6IEl0ZXJhYmxlRGlmZmVyPFRoeVRyYW5zZmVySXRlbT47XG5cbiAgICBwcml2YXRlIF9sb2NrRGlmZjogSXRlcmFibGVEaWZmZXI8VGh5VHJhbnNmZXJJdGVtPjtcblxuICAgIHByaXZhdGUgX3VubG9ja0RpZmY6IEl0ZXJhYmxlRGlmZmVyPFRoeVRyYW5zZmVySXRlbT47XG5cbiAgICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgaXRlbXM6IFRoeVRyYW5zZmVySXRlbVtdO1xuXG4gICAgQElucHV0KCkgZHJhZ2dhYmxlOiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgY2FuTG9jazogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIG1heExvY2s6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIG1heDogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBJbnB1dCgncmVuZGVyQ29udGVudFJlZicpIGNvbnRlbnRSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAT3V0cHV0KCkgZHJhZ2dhYmxlVXBkYXRlOiBFdmVudEVtaXR0ZXI8SW5uZXJUcmFuc2ZlckRyYWdFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElubmVyVHJhbnNmZXJEcmFnRXZlbnQ+KCk7XG5cbiAgICBAT3V0cHV0KCkgc2VsZWN0SXRlbTogRXZlbnRFbWl0dGVyPFRoeVRyYW5zZmVyU2VsZWN0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlUcmFuc2ZlclNlbGVjdEV2ZW50PigpO1xuXG4gICAgQE91dHB1dCgpIHVuc2VsZWN0SXRlbTogRXZlbnRFbWl0dGVyPFRoeVRyYW5zZmVyU2VsZWN0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlUcmFuc2ZlclNlbGVjdEV2ZW50PigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGhvc3RDbGFzcyA9ICd0aHktdHJhbnNmZXItbGlzdCc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpZmZlcnM6IEl0ZXJhYmxlRGlmZmVycykge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLl9jb21iaW5lVHJhbnNmZXJEYXRhKCk7XG4gICAgICAgIGlmICh0aGlzLmNhbkxvY2spIHtcbiAgICAgICAgICAgIHRoaXMuX2xvY2tEaWZmID0gdGhpcy5kaWZmZXJzLmZpbmQodGhpcy5sb2NrSXRlbXMpLmNyZWF0ZSgpO1xuICAgICAgICAgICAgdGhpcy5fdW5sb2NrRGlmZiA9IHRoaXMuZGlmZmVycy5maW5kKHRoaXMudW5sb2NrSXRlbXMpLmNyZWF0ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fdW5sb2NrRGlmZiA9IHRoaXMuZGlmZmVycy5maW5kKHRoaXMudW5sb2NrSXRlbXMpLmNyZWF0ZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2RpZmYgPSB0aGlzLmRpZmZlcnMuZmluZCh0aGlzLml0ZW1zKS5jcmVhdGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jb21iaW5lVHJhbnNmZXJEYXRhKCkge1xuICAgICAgICB0aGlzLmxvY2tJdGVtcyA9IFtdO1xuICAgICAgICB0aGlzLnVubG9ja0l0ZW1zID0gW107XG4gICAgICAgIGlmICh0aGlzLmNhbkxvY2spIHtcbiAgICAgICAgICAgICh0aGlzLml0ZW1zIHx8IFtdKS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLmlzTG9jaykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvY2tJdGVtcy5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudW5sb2NrSXRlbXMucHVzaChpdGVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudW5sb2NrSXRlbXMgPSB0aGlzLml0ZW1zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYWZ0ZXJDaGFuZ2VJdGVtcyhjaGFuZ2VzOiBJdGVyYWJsZUNoYW5nZXM8VGh5VHJhbnNmZXJJdGVtPiwgaXRlbXM6IFRoeVRyYW5zZmVySXRlbVtdKSB7XG4gICAgICAgIC8vIOaVsOaNruWPkeeUn+WPmOWMluaXtu+8jOabtOaUuW9yZGVy5YC8XG4gICAgICAgIGNoYW5nZXMuZm9yRWFjaEFkZGVkSXRlbShyZWNvcmQgPT4ge1xuICAgICAgICAgICAgcmVjb3JkLml0ZW0ub3JkZXIgPSByZWNvcmQuY3VycmVudEluZGV4O1xuICAgICAgICB9KTtcbiAgICAgICAgY2hhbmdlcy5mb3JFYWNoUmVtb3ZlZEl0ZW0oKCkgPT4ge1xuICAgICAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBpdGVtLm9yZGVyID0gaW5kZXg7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNoYW5nZXMuZm9yRWFjaE1vdmVkSXRlbSgoKSA9PiB7XG4gICAgICAgICAgICBpdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGl0ZW0ub3JkZXIgPSBpbmRleDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0RvQ2hlY2soKSB7XG4gICAgICAgIGNvbnN0IGNoYW5nZXMgPSB0aGlzLl9kaWZmLmRpZmYodGhpcy5pdGVtcyk7XG4gICAgICAgIGlmIChjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLl9hZnRlckNoYW5nZUl0ZW1zKGNoYW5nZXMsIHRoaXMuaXRlbXMpO1xuICAgICAgICAgICAgdGhpcy5fY29tYmluZVRyYW5zZmVyRGF0YSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9sb2NrRGlmZikge1xuICAgICAgICAgICAgY29uc3QgbG9ja0NoYW5nZXMgPSB0aGlzLl9sb2NrRGlmZi5kaWZmKHRoaXMubG9ja0l0ZW1zKTtcbiAgICAgICAgICAgIGlmIChsb2NrQ2hhbmdlcykge1xuICAgICAgICAgICAgICAgIHRoaXMuX2FmdGVyQ2hhbmdlSXRlbXMobG9ja0NoYW5nZXMsIHRoaXMubG9ja0l0ZW1zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCB1bmxvY2tDaGFuZ2VzID0gdGhpcy5fdW5sb2NrRGlmZi5kaWZmKHRoaXMudW5sb2NrSXRlbXMpO1xuICAgICAgICBpZiAodW5sb2NrQ2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy5fYWZ0ZXJDaGFuZ2VJdGVtcyh1bmxvY2tDaGFuZ2VzLCB0aGlzLnVubG9ja0l0ZW1zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxvY2tMaXN0RW50ZXJQcmVkaWNhdGUgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvY2tJdGVtcy5sZW5ndGggPCB0aGlzLm1heExvY2s7XG4gICAgfTtcblxuICAgIHVubG9ja0xpc3RFbnRlclByZWRpY2F0ZSA9IChldmVudDogQ2RrRHJhZzxUaHlUcmFuc2Zlckl0ZW0+KSA9PiB7XG4gICAgICAgIHJldHVybiAhZXZlbnQuZGF0YS5pc0ZpeGVkO1xuICAgIH07XG5cbiAgICBvblNlbGVjdEl0ZW0gPSAoaXRlbTogVGh5VHJhbnNmZXJJdGVtKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0SXRlbS5lbWl0KHsgaXRlbSB9KTtcbiAgICB9O1xuXG4gICAgb25VbnNlbGVjdEl0ZW0gPSAoaXRlbTogVGh5VHJhbnNmZXJJdGVtKSA9PiB7XG4gICAgICAgIHRoaXMudW5zZWxlY3RJdGVtLmVtaXQoeyBpdGVtIH0pO1xuICAgIH07XG5cbiAgICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxUaHlUcmFuc2Zlckl0ZW1bXT4pIHtcbiAgICAgICAgaWYgKGV2ZW50LnByZXZpb3VzQ29udGFpbmVyID09PSBldmVudC5jb250YWluZXIpIHtcbiAgICAgICAgICAgIG1vdmVJdGVtSW5BcnJheShldmVudC5jb250YWluZXIuZGF0YSwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyYW5zZmVyQXJyYXlJdGVtKGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGEsIGV2ZW50LmNvbnRhaW5lci5kYXRhLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgICAgICAgICAgKGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGEgfHwgW10pLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5pc0xvY2sgPSBldmVudC5wcmV2aW91c0NvbnRhaW5lci5pZCA9PT0gJ2xvY2snO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIChldmVudC5jb250YWluZXIuZGF0YSB8fCBbXSkuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICBpdGVtLmlzTG9jayA9IGV2ZW50LmNvbnRhaW5lci5pZCA9PT0gJ2xvY2snO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZHJhZ0V2ZW50OiBUaHlUcmFuc2ZlckRyYWdFdmVudCA9IHtcbiAgICAgICAgICAgIG1vZGVsOiBldmVudC5pdGVtLmRhdGEsXG4gICAgICAgICAgICBtb2RlbHM6IGV2ZW50LmNvbnRhaW5lci5kYXRhLFxuICAgICAgICAgICAgb2xkSW5kZXg6IGV2ZW50LnByZXZpb3VzSW5kZXgsXG4gICAgICAgICAgICBuZXdJbmRleDogZXZlbnQuY3VycmVudEluZGV4XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZHJhZ2dhYmxlVXBkYXRlLmVtaXQoe1xuICAgICAgICAgICAgZHJhZ0V2ZW50OiBkcmFnRXZlbnQsXG4gICAgICAgICAgICBsaXN0RGF0YTogeyBsb2NrOiB0aGlzLmxvY2tJdGVtcywgdW5sb2NrOiB0aGlzLnVubG9ja0l0ZW1zIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRoeS10cmFuc2Zlci1saXN0LWhlYWRlclwiPlxuICA8c3BhbiBjbGFzcz1cInRoeS10cmFuc2Zlci1saXN0LWhlYWRlci10aXRsZVwiXG4gICAgPnt7IHRpdGxlIH19IMK3IHt7IGl0ZW1zPy5sZW5ndGggfX1cbiAgICBAaWYgKG1heCkge1xuICAgICAgPHNwYW4+ICjkuIrpmZB7eyBtYXggfX3kuKopPC9zcGFuPlxuICAgIH1cbiAgPC9zcGFuPlxuPC9kaXY+XG5AaWYgKCFjb250ZW50UmVmKSB7XG4gIDxkaXYgY2xhc3M9XCJ0aHktdHJhbnNmZXItbGlzdC1ib2R5XCIgY2RrRHJvcExpc3RHcm91cCBbY2RrRHJvcExpc3RHcm91cERpc2FibGVkXT1cIiFkcmFnZ2FibGVcIj5cbiAgICBAaWYgKGNhbkxvY2spIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aHktdHJhbnNmZXItbGlzdC1ncm91cC1uYW1lXCI+6ZSB5a6aICjkuIrpmZB7eyBtYXhMb2NrIH195LiqKTwvZGl2PlxuICAgICAgPHRoeS1saXN0XG4gICAgICAgIGNsYXNzPVwidGh5LXRyYW5zZmVyLWxpc3QtY29udGVudFwiXG4gICAgICAgIGNka0Ryb3BMaXN0XG4gICAgICAgIHRoeURyYWdEcm9wXG4gICAgICAgIGlkPVwibG9ja1wiXG4gICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwibG9ja0l0ZW1zXCJcbiAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIlxuICAgICAgICBbY2RrRHJvcExpc3RFbnRlclByZWRpY2F0ZV09XCJsb2NrTGlzdEVudGVyUHJlZGljYXRlXCI+XG4gICAgICAgIEBpZiAobG9ja0l0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZGstZHJvcC1saXN0LWVtcHR5XCI+PC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAoaXRlbSBvZiBsb2NrSXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgIDx0aHktbGlzdC1pdGVtXG4gICAgICAgICAgICBjbGFzcz1cInRoeS10cmFuc2Zlci1saXN0LWNvbnRlbnQtaXRlbSB0ZXh0LXRydW5jYXRlXCJcbiAgICAgICAgICAgIGNka0RyYWdcbiAgICAgICAgICAgIFtjZGtEcmFnRGF0YV09XCJpdGVtXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiBpdGVtLmNoZWNrZWQgfVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvdGh5LWxpc3QtaXRlbT5cbiAgICAgICAgfVxuICAgICAgPC90aHktbGlzdD5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0aHktdHJhbnNmZXItbGlzdC1ncm91cC1uYW1lXCI+5pyq6ZSB5a6aPC9kaXY+XG4gICAgfVxuICAgIDx0aHktbGlzdFxuICAgICAgY2xhc3M9XCJ0aHktdHJhbnNmZXItbGlzdC1jb250ZW50XCJcbiAgICAgIGNka0Ryb3BMaXN0XG4gICAgICB0aHlEcmFnRHJvcFxuICAgICAgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiIWRyYWdnYWJsZVwiXG4gICAgICBpZD1cInVubG9ja1wiXG4gICAgICBbY2RrRHJvcExpc3REYXRhXT1cInVubG9ja0l0ZW1zXCJcbiAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCJcbiAgICAgIFtjZGtEcm9wTGlzdEVudGVyUHJlZGljYXRlXT1cInVubG9ja0xpc3RFbnRlclByZWRpY2F0ZVwiPlxuICAgICAgQGlmICh1bmxvY2tJdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNkay1kcm9wLWxpc3QtZW1wdHlcIj48L2Rpdj5cbiAgICAgIH1cbiAgICAgIEBmb3IgKGl0ZW0gb2YgdW5sb2NrSXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8dGh5LWxpc3QtaXRlbVxuICAgICAgICAgIGNsYXNzPVwidGh5LXRyYW5zZmVyLWxpc3QtY29udGVudC1pdGVtIHRleHQtdHJ1bmNhdGVcIlxuICAgICAgICAgIGNka0RyYWdcbiAgICAgICAgICBbY2RrRHJhZ0RhdGFdPVwiaXRlbVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyBhY3RpdmU6IGl0ZW0uY2hlY2tlZCwgZGlzYWJsZWQ6IGRpc2FibGVkICYmIGl0ZW0uZGlyZWN0aW9uID09PSAnbGVmdCcgfVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC90aHktbGlzdC1pdGVtPlxuICAgICAgfVxuICAgIDwvdGh5LWxpc3Q+XG4gIDwvZGl2PlxufSBAZWxzZSB7XG4gIDxkaXYgY2xhc3M9XCJ0aHktdHJhbnNmZXItbGlzdC1ib2R5XCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgY29udGVudFJlZjtcbiAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICRpbXBsaWNpdDogaXRlbXMsXG4gICAgICAgICAgb25TZWxlY3RJdGVtOiBvblNlbGVjdEl0ZW0sXG4gICAgICAgICAgb25VbnNlbGVjdEl0ZW06IG9uVW5zZWxlY3RJdGVtXG4gICAgICAgIH1cbiAgICAgIFwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbn1cbiJdfQ==
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHJhbnNmZXIvdHJhbnNmZXItbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvdHJhbnNmZXIvdHJhbnNmZXItbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFlLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqSSxPQUFPLEVBQ0gsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUdMLGVBQWUsRUFFZixNQUFNLEVBQ04sV0FBVyxFQUNYLGlCQUFpQixFQUNqQixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVELE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBR3pEOztHQUVHO0FBUUgsTUFBTSxPQUFPLGVBQWU7SUFQNUI7UUFRWSxZQUFPLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRW5DLGNBQVMsR0FBc0IsRUFBRSxDQUFDO1FBRWxDLGdCQUFXLEdBQXNCLEVBQUUsQ0FBQztRQTBCakMsb0JBQWUsR0FBeUMsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFFbkcsZUFBVSxHQUF5QyxJQUFJLFlBQVksRUFBMEIsQ0FBQztRQUU5RixpQkFBWSxHQUF5QyxJQUFJLFlBQVksRUFBMEIsQ0FBQztRQUVwRixjQUFTLEdBQUcsbUJBQW1CLENBQUM7UUFnRXRELDJCQUFzQixHQUFHLEdBQUcsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FB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LDBEQUFFLFdBQVcsMEVBQUUsT0FBTyx3Y0FBRSxPQUFPLG9GQUFFLGdCQUFnQjs7MkZBRTlHLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0ksbUJBQW1CLGlCQUVkLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQzs4QkFlL0csS0FBSztzQkFBYixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFcUIsVUFBVTtzQkFBcEMsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBRWYsZUFBZTtzQkFBeEIsTUFBTTtnQkFFRyxVQUFVO3NCQUFuQixNQUFNO2dCQUVHLFlBQVk7c0JBQXJCLE1BQU07Z0JBRWUsU0FBUztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZywgQ2RrRHJhZ0Ryb3AsIENka0Ryb3BMaXN0LCBDZGtEcm9wTGlzdEdyb3VwLCBtb3ZlSXRlbUluQXJyYXksIHRyYW5zZmVyQXJyYXlJdGVtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBEb0NoZWNrLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBJdGVyYWJsZUNoYW5nZXMsXG4gICAgSXRlcmFibGVEaWZmZXIsXG4gICAgSXRlcmFibGVEaWZmZXJzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRoeUxpc3QsIFRoeUxpc3RJdGVtIH0gZnJvbSAnbmd4LXRldGh5cy9saXN0JztcbmltcG9ydCB7IFRoeURyYWdEcm9wRGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy9zaGFyZWQnO1xuaW1wb3J0IHsgSW5uZXJUcmFuc2ZlckRyYWdFdmVudCwgVGh5VHJhbnNmZXJEcmFnRXZlbnQsIFRoeVRyYW5zZmVySXRlbSwgVGh5VHJhbnNmZXJTZWxlY3RFdmVudCB9IGZyb20gJy4vdHJhbnNmZXIuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS10cmFuc2Zlci1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdHJhbnNmZXItbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDZGtEcm9wTGlzdEdyb3VwLCBUaHlMaXN0LCBDZGtEcm9wTGlzdCwgVGh5RHJhZ0Ryb3BEaXJlY3RpdmUsIFRoeUxpc3RJdGVtLCBDZGtEcmFnLCBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlUcmFuc2Zlckxpc3QgaW1wbGVtZW50cyBPbkluaXQsIERvQ2hlY2sge1xuICAgIHByaXZhdGUgZGlmZmVycyA9IGluamVjdChJdGVyYWJsZURpZmZlcnMpO1xuXG4gICAgcHVibGljIGxvY2tJdGVtczogVGh5VHJhbnNmZXJJdGVtW10gPSBbXTtcblxuICAgIHB1YmxpYyB1bmxvY2tJdGVtczogVGh5VHJhbnNmZXJJdGVtW10gPSBbXTtcblxuICAgIHByaXZhdGUgX2RpZmY6IEl0ZXJhYmxlRGlmZmVyPFRoeVRyYW5zZmVySXRlbT47XG5cbiAgICBwcml2YXRlIF9sb2NrRGlmZjogSXRlcmFibGVEaWZmZXI8VGh5VHJhbnNmZXJJdGVtPjtcblxuICAgIHByaXZhdGUgX3VubG9ja0RpZmY6IEl0ZXJhYmxlRGlmZmVyPFRoeVRyYW5zZmVySXRlbT47XG5cbiAgICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgaXRlbXM6IFRoeVRyYW5zZmVySXRlbVtdO1xuXG4gICAgQElucHV0KCkgZHJhZ2dhYmxlOiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgY2FuTG9jazogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIG1heExvY2s6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIG1heDogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBJbnB1dCgncmVuZGVyQ29udGVudFJlZicpIGNvbnRlbnRSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAT3V0cHV0KCkgZHJhZ2dhYmxlVXBkYXRlOiBFdmVudEVtaXR0ZXI8SW5uZXJUcmFuc2ZlckRyYWdFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElubmVyVHJhbnNmZXJEcmFnRXZlbnQ+KCk7XG5cbiAgICBAT3V0cHV0KCkgc2VsZWN0SXRlbTogRXZlbnRFbWl0dGVyPFRoeVRyYW5zZmVyU2VsZWN0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlUcmFuc2ZlclNlbGVjdEV2ZW50PigpO1xuXG4gICAgQE91dHB1dCgpIHVuc2VsZWN0SXRlbTogRXZlbnRFbWl0dGVyPFRoeVRyYW5zZmVyU2VsZWN0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlUcmFuc2ZlclNlbGVjdEV2ZW50PigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGhvc3RDbGFzcyA9ICd0aHktdHJhbnNmZXItbGlzdCc7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5fY29tYmluZVRyYW5zZmVyRGF0YSgpO1xuICAgICAgICBpZiAodGhpcy5jYW5Mb2NrKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2NrRGlmZiA9IHRoaXMuZGlmZmVycy5maW5kKHRoaXMubG9ja0l0ZW1zKS5jcmVhdGUoKTtcbiAgICAgICAgICAgIHRoaXMuX3VubG9ja0RpZmYgPSB0aGlzLmRpZmZlcnMuZmluZCh0aGlzLnVubG9ja0l0ZW1zKS5jcmVhdGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3VubG9ja0RpZmYgPSB0aGlzLmRpZmZlcnMuZmluZCh0aGlzLnVubG9ja0l0ZW1zKS5jcmVhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9kaWZmID0gdGhpcy5kaWZmZXJzLmZpbmQodGhpcy5pdGVtcykuY3JlYXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY29tYmluZVRyYW5zZmVyRGF0YSgpIHtcbiAgICAgICAgdGhpcy5sb2NrSXRlbXMgPSBbXTtcbiAgICAgICAgdGhpcy51bmxvY2tJdGVtcyA9IFtdO1xuICAgICAgICBpZiAodGhpcy5jYW5Mb2NrKSB7XG4gICAgICAgICAgICAodGhpcy5pdGVtcyB8fCBbXSkuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5pc0xvY2spIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2NrSXRlbXMucHVzaChpdGVtKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVubG9ja0l0ZW1zLnB1c2goaXRlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVubG9ja0l0ZW1zID0gdGhpcy5pdGVtcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2FmdGVyQ2hhbmdlSXRlbXMoY2hhbmdlczogSXRlcmFibGVDaGFuZ2VzPFRoeVRyYW5zZmVySXRlbT4sIGl0ZW1zOiBUaHlUcmFuc2Zlckl0ZW1bXSkge1xuICAgICAgICAvLyDmlbDmja7lj5HnlJ/lj5jljJbml7bvvIzmm7TmlLlvcmRlcuWAvFxuICAgICAgICBjaGFuZ2VzLmZvckVhY2hBZGRlZEl0ZW0ocmVjb3JkID0+IHtcbiAgICAgICAgICAgIHJlY29yZC5pdGVtLm9yZGVyID0gcmVjb3JkLmN1cnJlbnRJbmRleDtcbiAgICAgICAgfSk7XG4gICAgICAgIGNoYW5nZXMuZm9yRWFjaFJlbW92ZWRJdGVtKCgpID0+IHtcbiAgICAgICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5vcmRlciA9IGluZGV4O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBjaGFuZ2VzLmZvckVhY2hNb3ZlZEl0ZW0oKCkgPT4ge1xuICAgICAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBpdGVtLm9yZGVyID0gaW5kZXg7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCkge1xuICAgICAgICBjb25zdCBjaGFuZ2VzID0gdGhpcy5fZGlmZi5kaWZmKHRoaXMuaXRlbXMpO1xuICAgICAgICBpZiAoY2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy5fYWZ0ZXJDaGFuZ2VJdGVtcyhjaGFuZ2VzLCB0aGlzLml0ZW1zKTtcbiAgICAgICAgICAgIHRoaXMuX2NvbWJpbmVUcmFuc2ZlckRhdGEoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fbG9ja0RpZmYpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvY2tDaGFuZ2VzID0gdGhpcy5fbG9ja0RpZmYuZGlmZih0aGlzLmxvY2tJdGVtcyk7XG4gICAgICAgICAgICBpZiAobG9ja0NoYW5nZXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9hZnRlckNoYW5nZUl0ZW1zKGxvY2tDaGFuZ2VzLCB0aGlzLmxvY2tJdGVtcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdW5sb2NrQ2hhbmdlcyA9IHRoaXMuX3VubG9ja0RpZmYuZGlmZih0aGlzLnVubG9ja0l0ZW1zKTtcbiAgICAgICAgaWYgKHVubG9ja0NoYW5nZXMpIHtcbiAgICAgICAgICAgIHRoaXMuX2FmdGVyQ2hhbmdlSXRlbXModW5sb2NrQ2hhbmdlcywgdGhpcy51bmxvY2tJdGVtcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsb2NrTGlzdEVudGVyUHJlZGljYXRlID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NrSXRlbXMubGVuZ3RoIDwgdGhpcy5tYXhMb2NrO1xuICAgIH07XG5cbiAgICB1bmxvY2tMaXN0RW50ZXJQcmVkaWNhdGUgPSAoZXZlbnQ6IENka0RyYWc8VGh5VHJhbnNmZXJJdGVtPikgPT4ge1xuICAgICAgICByZXR1cm4gIWV2ZW50LmRhdGEuaXNGaXhlZDtcbiAgICB9O1xuXG4gICAgb25TZWxlY3RJdGVtID0gKGl0ZW06IFRoeVRyYW5zZmVySXRlbSkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdEl0ZW0uZW1pdCh7IGl0ZW0gfSk7XG4gICAgfTtcblxuICAgIG9uVW5zZWxlY3RJdGVtID0gKGl0ZW06IFRoeVRyYW5zZmVySXRlbSkgPT4ge1xuICAgICAgICB0aGlzLnVuc2VsZWN0SXRlbS5lbWl0KHsgaXRlbSB9KTtcbiAgICB9O1xuXG4gICAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8VGh5VHJhbnNmZXJJdGVtW10+KSB7XG4gICAgICAgIGlmIChldmVudC5wcmV2aW91c0NvbnRhaW5lciA9PT0gZXZlbnQuY29udGFpbmVyKSB7XG4gICAgICAgICAgICBtb3ZlSXRlbUluQXJyYXkoZXZlbnQuY29udGFpbmVyLmRhdGEsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0cmFuc2ZlckFycmF5SXRlbShldmVudC5wcmV2aW91c0NvbnRhaW5lci5kYXRhLCBldmVudC5jb250YWluZXIuZGF0YSwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICAgICAgICAgIChldmVudC5wcmV2aW91c0NvbnRhaW5lci5kYXRhIHx8IFtdKS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIGl0ZW0uaXNMb2NrID0gZXZlbnQucHJldmlvdXNDb250YWluZXIuaWQgPT09ICdsb2NrJztcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAoZXZlbnQuY29udGFpbmVyLmRhdGEgfHwgW10pLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5pc0xvY2sgPSBldmVudC5jb250YWluZXIuaWQgPT09ICdsb2NrJztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRyYWdFdmVudDogVGh5VHJhbnNmZXJEcmFnRXZlbnQgPSB7XG4gICAgICAgICAgICBtb2RlbDogZXZlbnQuaXRlbS5kYXRhLFxuICAgICAgICAgICAgbW9kZWxzOiBldmVudC5jb250YWluZXIuZGF0YSxcbiAgICAgICAgICAgIG9sZEluZGV4OiBldmVudC5wcmV2aW91c0luZGV4LFxuICAgICAgICAgICAgbmV3SW5kZXg6IGV2ZW50LmN1cnJlbnRJbmRleFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmRyYWdnYWJsZVVwZGF0ZS5lbWl0KHtcbiAgICAgICAgICAgIGRyYWdFdmVudDogZHJhZ0V2ZW50LFxuICAgICAgICAgICAgbGlzdERhdGE6IHsgbG9jazogdGhpcy5sb2NrSXRlbXMsIHVubG9jazogdGhpcy51bmxvY2tJdGVtcyB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aHktdHJhbnNmZXItbGlzdC1oZWFkZXJcIj5cbiAgPHNwYW4gY2xhc3M9XCJ0aHktdHJhbnNmZXItbGlzdC1oZWFkZXItdGl0bGVcIlxuICAgID57eyB0aXRsZSB9fSDCtyB7eyBpdGVtcz8ubGVuZ3RoIH19XG4gICAgQGlmIChtYXgpIHtcbiAgICAgIDxzcGFuPiAo5LiK6ZmQe3sgbWF4IH195LiqKTwvc3Bhbj5cbiAgICB9XG4gIDwvc3Bhbj5cbjwvZGl2PlxuQGlmICghY29udGVudFJlZikge1xuICA8ZGl2IGNsYXNzPVwidGh5LXRyYW5zZmVyLWxpc3QtYm9keVwiIGNka0Ryb3BMaXN0R3JvdXAgW2Nka0Ryb3BMaXN0R3JvdXBEaXNhYmxlZF09XCIhZHJhZ2dhYmxlXCI+XG4gICAgQGlmIChjYW5Mb2NrKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwidGh5LXRyYW5zZmVyLWxpc3QtZ3JvdXAtbmFtZVwiPumUgeWumiAo5LiK6ZmQe3sgbWF4TG9jayB9feS4qik8L2Rpdj5cbiAgICAgIDx0aHktbGlzdFxuICAgICAgICBjbGFzcz1cInRoeS10cmFuc2Zlci1saXN0LWNvbnRlbnRcIlxuICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICB0aHlEcmFnRHJvcFxuICAgICAgICBpZD1cImxvY2tcIlxuICAgICAgICBbY2RrRHJvcExpc3REYXRhXT1cImxvY2tJdGVtc1wiXG4gICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCJcbiAgICAgICAgW2Nka0Ryb3BMaXN0RW50ZXJQcmVkaWNhdGVdPVwibG9ja0xpc3RFbnRlclByZWRpY2F0ZVwiPlxuICAgICAgICBAaWYgKGxvY2tJdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2RrLWRyb3AtbGlzdC1lbXB0eVwiPjwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgbG9ja0l0ZW1zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8dGh5LWxpc3QtaXRlbVxuICAgICAgICAgICAgY2xhc3M9XCJ0aHktdHJhbnNmZXItbGlzdC1jb250ZW50LWl0ZW0gdGV4dC10cnVuY2F0ZVwiXG4gICAgICAgICAgICBjZGtEcmFnXG4gICAgICAgICAgICBbY2RrRHJhZ0RhdGFdPVwiaXRlbVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogaXRlbS5jaGVja2VkIH1cIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L3RoeS1saXN0LWl0ZW0+XG4gICAgICAgIH1cbiAgICAgIDwvdGh5LWxpc3Q+XG4gICAgICA8ZGl2IGNsYXNzPVwidGh5LXRyYW5zZmVyLWxpc3QtZ3JvdXAtbmFtZVwiPuacqumUgeWumjwvZGl2PlxuICAgIH1cbiAgICA8dGh5LWxpc3RcbiAgICAgIGNsYXNzPVwidGh5LXRyYW5zZmVyLWxpc3QtY29udGVudFwiXG4gICAgICBjZGtEcm9wTGlzdFxuICAgICAgdGh5RHJhZ0Ryb3BcbiAgICAgIFtjZGtEcm9wTGlzdERpc2FibGVkXT1cIiFkcmFnZ2FibGVcIlxuICAgICAgaWQ9XCJ1bmxvY2tcIlxuICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJ1bmxvY2tJdGVtc1wiXG4gICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiXG4gICAgICBbY2RrRHJvcExpc3RFbnRlclByZWRpY2F0ZV09XCJ1bmxvY2tMaXN0RW50ZXJQcmVkaWNhdGVcIj5cbiAgICAgIEBpZiAodW5sb2NrSXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjZGstZHJvcC1saXN0LWVtcHR5XCI+PC9kaXY+XG4gICAgICB9XG4gICAgICBAZm9yIChpdGVtIG9mIHVubG9ja0l0ZW1zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPHRoeS1saXN0LWl0ZW1cbiAgICAgICAgICBjbGFzcz1cInRoeS10cmFuc2Zlci1saXN0LWNvbnRlbnQtaXRlbSB0ZXh0LXRydW5jYXRlXCJcbiAgICAgICAgICBjZGtEcmFnXG4gICAgICAgICAgW2Nka0RyYWdEYXRhXT1cIml0ZW1cIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiBpdGVtLmNoZWNrZWQsIGRpc2FibGVkOiBkaXNhYmxlZCAmJiBpdGVtLmRpcmVjdGlvbiA9PT0gJ2xlZnQnIH1cIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvdGh5LWxpc3QtaXRlbT5cbiAgICAgIH1cbiAgICA8L3RoeS1saXN0PlxuICA8L2Rpdj5cbn0gQGVsc2Uge1xuICA8ZGl2IGNsYXNzPVwidGh5LXRyYW5zZmVyLWxpc3QtYm9keVwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgIGNvbnRlbnRSZWY7XG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW1zLFxuICAgICAgICAgIG9uU2VsZWN0SXRlbTogb25TZWxlY3RJdGVtLFxuICAgICAgICAgIG9uVW5zZWxlY3RJdGVtOiBvblVuc2VsZWN0SXRlbVxuICAgICAgICB9XG4gICAgICBcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG59XG4iXX0=