ngx-tethys 17.0.0 → 17.0.2

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 (384) hide show
  1. package/CHANGELOG.md +26 -7
  2. package/action/action.component.d.ts +3 -0
  3. package/affix/affix.component.d.ts +2 -0
  4. package/alert/alert.component.d.ts +1 -0
  5. package/anchor/anchor.component.d.ts +3 -0
  6. package/arrow-switcher/arrow-switcher.component.d.ts +1 -0
  7. package/autocomplete/autocomplete.component.d.ts +2 -3
  8. package/autocomplete/autocomplete.trigger.directive.d.ts +3 -0
  9. package/avatar/avatar.component.d.ts +4 -0
  10. package/back-top/back-top.component.d.ts +1 -0
  11. package/badge/badge.component.d.ts +5 -0
  12. package/button/button-icon.component.d.ts +2 -0
  13. package/button/button.component.d.ts +2 -0
  14. package/card/card.component.d.ts +3 -0
  15. package/card/content.component.d.ts +2 -1
  16. package/carousel/carousel.component.d.ts +5 -0
  17. package/cascader/cascader-li.component.d.ts +9 -2
  18. package/cascader/cascader-search-option.component.d.ts +7 -2
  19. package/cascader/cascader.component.d.ts +23 -2
  20. package/cascader/styles/cascader.scss +1 -0
  21. package/cascader/types.d.ts +1 -0
  22. package/checkbox/checkbox.component.d.ts +1 -0
  23. package/collapse/collapse-item.component.d.ts +2 -0
  24. package/collapse/collapse.component.d.ts +1 -0
  25. package/color-picker/color-picker-panel.component.d.ts +1 -0
  26. package/color-picker/color-picker.component.d.ts +7 -1
  27. package/copy/copy.directive.d.ts +1 -0
  28. package/core/behaviors/decorators.d.ts +6 -0
  29. package/date-picker/abstract-picker.component.d.ts +8 -1
  30. package/date-picker/abstract-picker.directive.d.ts +4 -0
  31. package/date-picker/base-picker.component.d.ts +2 -0
  32. package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -0
  33. package/date-picker/lib/popups/inner-popup.component.d.ts +1 -0
  34. package/date-picker/picker.component.d.ts +1 -0
  35. package/date-range/date-range.component.d.ts +2 -0
  36. package/dialog/body/dialog-body.component.d.ts +2 -1
  37. package/dialog/footer/dialog-footer.component.d.ts +1 -0
  38. package/dialog/header/dialog-header.component.d.ts +1 -0
  39. package/divider/divider.component.d.ts +2 -0
  40. package/drag-drop/drag-handle.directive.d.ts +1 -0
  41. package/drag-drop/drag.directive.d.ts +1 -0
  42. package/drag-drop/drop-container.directive.d.ts +1 -0
  43. package/dropdown/dropdown-menu-item.directive.d.ts +3 -1
  44. package/dropdown/dropdown-menu.component.d.ts +1 -0
  45. package/dropdown/dropdown.directive.d.ts +3 -0
  46. package/empty/empty.component.d.ts +1 -0
  47. package/esm2022/action/action.component.mjs +9 -22
  48. package/esm2022/affix/affix.component.mjs +8 -15
  49. package/esm2022/alert/alert.component.mjs +5 -10
  50. package/esm2022/anchor/anchor.component.mjs +10 -20
  51. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +5 -11
  52. package/esm2022/autocomplete/autocomplete.component.mjs +5 -23
  53. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +9 -20
  54. package/esm2022/avatar/avatar.component.mjs +14 -30
  55. package/esm2022/back-top/back-top.component.mjs +6 -10
  56. package/esm2022/badge/badge.component.mjs +15 -37
  57. package/esm2022/button/button-icon.component.mjs +9 -20
  58. package/esm2022/button/button.component.mjs +7 -16
  59. package/esm2022/card/card.component.mjs +6 -20
  60. package/esm2022/card/content.component.mjs +5 -6
  61. package/esm2022/carousel/carousel.component.mjs +13 -30
  62. package/esm2022/cascader/cascader-li.component.mjs +16 -31
  63. package/esm2022/cascader/cascader-search-option.component.mjs +12 -21
  64. package/esm2022/cascader/cascader.component.mjs +32 -52
  65. package/esm2022/cascader/types.mjs +1 -1
  66. package/esm2022/checkbox/checkbox.component.mjs +7 -13
  67. package/esm2022/collapse/collapse-item.component.mjs +8 -15
  68. package/esm2022/collapse/collapse.component.mjs +5 -10
  69. package/esm2022/color-picker/color-picker-panel.component.mjs +5 -10
  70. package/esm2022/color-picker/color-picker.component.mjs +17 -37
  71. package/esm2022/copy/copy.directive.mjs +5 -10
  72. package/esm2022/core/behaviors/decorators.mjs +7 -44
  73. package/esm2022/date-picker/abstract-picker.component.mjs +21 -45
  74. package/esm2022/date-picker/abstract-picker.directive.mjs +11 -27
  75. package/esm2022/date-picker/base-picker.component.mjs +8 -15
  76. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -10
  77. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +4 -2
  78. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +7 -6
  79. package/esm2022/date-picker/picker.component.mjs +6 -10
  80. package/esm2022/date-range/date-range.component.mjs +7 -15
  81. package/esm2022/dialog/body/dialog-body.component.mjs +6 -6
  82. package/esm2022/dialog/footer/dialog-footer.component.mjs +6 -13
  83. package/esm2022/dialog/header/dialog-header.component.mjs +6 -10
  84. package/esm2022/divider/divider.component.mjs +7 -15
  85. package/esm2022/drag-drop/drag-handle.directive.mjs +5 -13
  86. package/esm2022/drag-drop/drag.directive.mjs +5 -11
  87. package/esm2022/drag-drop/drop-container.directive.mjs +5 -10
  88. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +9 -19
  89. package/esm2022/dropdown/dropdown-menu.component.mjs +6 -9
  90. package/esm2022/dropdown/dropdown.directive.mjs +8 -22
  91. package/esm2022/empty/empty.component.mjs +7 -13
  92. package/esm2022/flexible-text/flexible-text.component.mjs +4 -11
  93. package/esm2022/form/form-group-error/form-group-error.component.mjs +5 -10
  94. package/esm2022/form/form-group-label.directive.mjs +6 -6
  95. package/esm2022/form/form-group.component.mjs +13 -17
  96. package/esm2022/icon/icon.component.mjs +6 -20
  97. package/esm2022/image/image.directive.mjs +7 -15
  98. package/esm2022/input/input-search.component.mjs +6 -11
  99. package/esm2022/input/input.component.mjs +7 -15
  100. package/esm2022/input-number/input-number.component.mjs +12 -25
  101. package/esm2022/layout/header.component.mjs +9 -19
  102. package/esm2022/layout/sidebar-header.component.mjs +5 -10
  103. package/esm2022/layout/sidebar.component.mjs +22 -45
  104. package/esm2022/list/list.component.mjs +5 -11
  105. package/esm2022/list/selection/selection-list.mjs +13 -10
  106. package/esm2022/loading/loading.component.mjs +9 -20
  107. package/esm2022/menu/group/menu-group.component.mjs +12 -38
  108. package/esm2022/menu/item/action/menu-item-action.component.mjs +5 -10
  109. package/esm2022/menu/item/name/menu-item-name.component.mjs +5 -10
  110. package/esm2022/menu/menu.component.mjs +5 -10
  111. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +6 -6
  112. package/esm2022/nav/nav-ink-bar.directive.mjs +7 -15
  113. package/esm2022/nav/nav-item.directive.mjs +10 -20
  114. package/esm2022/nav/nav.component.mjs +12 -25
  115. package/esm2022/pagination/pagination.component.mjs +18 -68
  116. package/esm2022/popover/popover.directive.mjs +12 -33
  117. package/esm2022/progress/progress-circle.component.mjs +9 -20
  118. package/esm2022/progress/progress-strip.component.mjs +5 -11
  119. package/esm2022/progress/progress.component.mjs +11 -23
  120. package/esm2022/property/properties.component.mjs +5 -10
  121. package/esm2022/property/property-item.component.mjs +8 -15
  122. package/esm2022/property-operation/property-operation.component.mjs +16 -37
  123. package/esm2022/radio/group/radio-group.component.mjs +6 -21
  124. package/esm2022/rate/rate-item.component.mjs +5 -10
  125. package/esm2022/rate/rate.component.mjs +16 -25
  126. package/esm2022/resizable/resizable.directive.mjs +24 -62
  127. package/esm2022/resizable/resize-handle.component.mjs +6 -10
  128. package/esm2022/resizable/resize-handles.component.mjs +5 -10
  129. package/esm2022/segment/segment-item.component.mjs +5 -10
  130. package/esm2022/segment/segment.component.mjs +7 -16
  131. package/esm2022/select/custom-select/custom-select.component.mjs +30 -65
  132. package/esm2022/select/native-select/native-select.component.mjs +6 -10
  133. package/esm2022/shared/base-form-check.component.mjs +10 -20
  134. package/esm2022/shared/directives/thy-autofocus.directive.mjs +10 -15
  135. package/esm2022/shared/directives/thy-scroll.directive.mjs +6 -13
  136. package/esm2022/shared/directives/thy-show.mjs +5 -11
  137. package/esm2022/shared/option/group/option-group.component.mjs +5 -10
  138. package/esm2022/shared/option/list-option/list-option.component.mjs +6 -13
  139. package/esm2022/shared/option/option.component.mjs +5 -11
  140. package/esm2022/shared/select/select-control/select-control.component.mjs +17 -44
  141. package/esm2022/skeleton/skeleton-circle.component.mjs +6 -9
  142. package/esm2022/skeleton/skeleton-rectangle.component.mjs +6 -9
  143. package/esm2022/skeleton/skeleton.component.mjs +5 -10
  144. package/esm2022/skeleton/stylized/bullet-list.component.mjs +6 -9
  145. package/esm2022/skeleton/stylized/list.component.mjs +6 -9
  146. package/esm2022/skeleton/stylized/paragraph.component.mjs +6 -9
  147. package/esm2022/slide/slide-body/slide-body-section.component.mjs +6 -6
  148. package/esm2022/slider/slider.component.mjs +18 -35
  149. package/esm2022/space/space.component.mjs +6 -10
  150. package/esm2022/stepper/step-header.component.mjs +9 -20
  151. package/esm2022/stepper/stepper.component.mjs +7 -16
  152. package/esm2022/switch/switch.component.mjs +12 -17
  153. package/esm2022/table/table-column.component.mjs +9 -31
  154. package/esm2022/table/table-skeleton.component.mjs +8 -14
  155. package/esm2022/table/table.component.mjs +32 -83
  156. package/esm2022/tabs/tab.component.mjs +5 -10
  157. package/esm2022/tabs/tabs.component.mjs +8 -15
  158. package/esm2022/tag/tag.component.mjs +6 -10
  159. package/esm2022/time-picker/time-picker-panel.component.mjs +8 -15
  160. package/esm2022/time-picker/time-picker.component.mjs +20 -46
  161. package/esm2022/timeline/timeline.component.mjs +5 -10
  162. package/esm2022/tooltip/tooltip.directive.mjs +11 -34
  163. package/esm2022/tree/tree-node.component.mjs +17 -40
  164. package/esm2022/tree/tree.component.mjs +19 -47
  165. package/esm2022/tree-select/tree-select.component.mjs +18 -40
  166. package/esm2022/upload/file-select-base.mjs +7 -6
  167. package/esm2022/upload/file-select.component.mjs +11 -26
  168. package/esm2022/version.mjs +2 -2
  169. package/esm2022/vote/vote.component.mjs +11 -33
  170. package/esm2022/watermark/watermark.directive.mjs +6 -10
  171. package/fesm2022/ngx-tethys-action.mjs +9 -21
  172. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  173. package/fesm2022/ngx-tethys-affix.mjs +6 -14
  174. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  175. package/fesm2022/ngx-tethys-alert.mjs +4 -9
  176. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  177. package/fesm2022/ngx-tethys-anchor.mjs +8 -19
  178. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  179. package/fesm2022/ngx-tethys-arrow-switcher.mjs +4 -10
  180. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  181. package/fesm2022/ngx-tethys-autocomplete.mjs +14 -39
  182. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  183. package/fesm2022/ngx-tethys-avatar.mjs +14 -29
  184. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  185. package/fesm2022/ngx-tethys-back-top.mjs +5 -9
  186. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  187. package/fesm2022/ngx-tethys-badge.mjs +14 -36
  188. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  189. package/fesm2022/ngx-tethys-button.mjs +13 -30
  190. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  191. package/fesm2022/ngx-tethys-card.mjs +8 -23
  192. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  193. package/fesm2022/ngx-tethys-carousel.mjs +12 -29
  194. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  195. package/fesm2022/ngx-tethys-cascader.mjs +55 -95
  196. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  197. package/fesm2022/ngx-tethys-checkbox.mjs +5 -12
  198. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  199. package/fesm2022/ngx-tethys-collapse.mjs +10 -20
  200. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  201. package/fesm2022/ngx-tethys-color-picker.mjs +19 -42
  202. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  203. package/fesm2022/ngx-tethys-copy.mjs +4 -9
  204. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  205. package/fesm2022/ngx-tethys-core.mjs +6 -43
  206. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  207. package/fesm2022/ngx-tethys-date-picker.mjs +48 -94
  208. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  209. package/fesm2022/ngx-tethys-date-range.mjs +6 -14
  210. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  211. package/fesm2022/ngx-tethys-dialog.mjs +13 -21
  212. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  213. package/fesm2022/ngx-tethys-divider.mjs +6 -14
  214. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  215. package/fesm2022/ngx-tethys-drag-drop.mjs +10 -25
  216. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  217. package/fesm2022/ngx-tethys-dropdown.mjs +19 -42
  218. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  219. package/fesm2022/ngx-tethys-empty.mjs +5 -12
  220. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  221. package/fesm2022/ngx-tethys-flexible-text.mjs +3 -10
  222. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  223. package/fesm2022/ngx-tethys-form.mjs +19 -25
  224. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  225. package/fesm2022/ngx-tethys-icon.mjs +5 -19
  226. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  227. package/fesm2022/ngx-tethys-image.mjs +7 -14
  228. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  229. package/fesm2022/ngx-tethys-input-number.mjs +11 -24
  230. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  231. package/fesm2022/ngx-tethys-input.mjs +10 -21
  232. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  233. package/fesm2022/ngx-tethys-layout.mjs +31 -64
  234. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  235. package/fesm2022/ngx-tethys-list.mjs +16 -18
  236. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  237. package/fesm2022/ngx-tethys-loading.mjs +8 -19
  238. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  239. package/fesm2022/ngx-tethys-menu.mjs +20 -55
  240. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  241. package/fesm2022/ngx-tethys-nav.mjs +28 -55
  242. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  243. package/fesm2022/ngx-tethys-pagination.mjs +17 -67
  244. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  245. package/fesm2022/ngx-tethys-popover.mjs +11 -32
  246. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  247. package/fesm2022/ngx-tethys-progress.mjs +20 -45
  248. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  249. package/fesm2022/ngx-tethys-property-operation.mjs +14 -36
  250. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  251. package/fesm2022/ngx-tethys-property.mjs +10 -21
  252. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  253. package/fesm2022/ngx-tethys-radio.mjs +5 -19
  254. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  255. package/fesm2022/ngx-tethys-rate.mjs +18 -30
  256. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  257. package/fesm2022/ngx-tethys-resizable.mjs +29 -73
  258. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  259. package/fesm2022/ngx-tethys-segment.mjs +10 -21
  260. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  261. package/fesm2022/ngx-tethys-select.mjs +32 -70
  262. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  263. package/fesm2022/ngx-tethys-shared.mjs +49 -105
  264. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  265. package/fesm2022/ngx-tethys-skeleton.mjs +20 -38
  266. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  267. package/fesm2022/ngx-tethys-slide.mjs +6 -5
  268. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  269. package/fesm2022/ngx-tethys-slider.mjs +17 -34
  270. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  271. package/fesm2022/ngx-tethys-space.mjs +5 -9
  272. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  273. package/fesm2022/ngx-tethys-stepper.mjs +13 -31
  274. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  275. package/fesm2022/ngx-tethys-switch.mjs +11 -16
  276. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  277. package/fesm2022/ngx-tethys-table.mjs +43 -120
  278. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  279. package/fesm2022/ngx-tethys-tabs.mjs +10 -20
  280. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  281. package/fesm2022/ngx-tethys-tag.mjs +5 -9
  282. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  283. package/fesm2022/ngx-tethys-time-picker.mjs +24 -55
  284. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  285. package/fesm2022/ngx-tethys-timeline.mjs +4 -9
  286. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  287. package/fesm2022/ngx-tethys-tooltip.mjs +10 -33
  288. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  289. package/fesm2022/ngx-tethys-tree-select.mjs +17 -39
  290. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  291. package/fesm2022/ngx-tethys-tree.mjs +33 -82
  292. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  293. package/fesm2022/ngx-tethys-upload.mjs +15 -28
  294. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  295. package/fesm2022/ngx-tethys-vote.mjs +10 -32
  296. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  297. package/fesm2022/ngx-tethys-watermark.mjs +5 -9
  298. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  299. package/fesm2022/ngx-tethys.mjs +1 -1
  300. package/fesm2022/ngx-tethys.mjs.map +1 -1
  301. package/flexible-text/flexible-text.component.d.ts +1 -0
  302. package/form/form-group-error/form-group-error.component.d.ts +1 -0
  303. package/form/form-group-label.directive.d.ts +2 -1
  304. package/form/form-group.component.d.ts +5 -2
  305. package/icon/icon.component.d.ts +3 -0
  306. package/image/image.directive.d.ts +2 -0
  307. package/input/input-search.component.d.ts +1 -0
  308. package/input/input.component.d.ts +2 -0
  309. package/input-number/input-number.component.d.ts +4 -0
  310. package/layout/header.component.d.ts +5 -2
  311. package/layout/sidebar-header.component.d.ts +1 -0
  312. package/layout/sidebar.component.d.ts +14 -4
  313. package/list/list.component.d.ts +1 -0
  314. package/list/selection/selection-list.d.ts +4 -1
  315. package/loading/loading.component.d.ts +4 -2
  316. package/menu/group/menu-group.component.d.ts +6 -0
  317. package/menu/item/action/menu-item-action.component.d.ts +1 -0
  318. package/menu/item/name/menu-item-name.component.d.ts +1 -0
  319. package/menu/menu.component.d.ts +1 -0
  320. package/nav/icon-nav/icon-nav-link.directive.d.ts +2 -1
  321. package/nav/nav-ink-bar.directive.d.ts +2 -0
  322. package/nav/nav-item.directive.d.ts +3 -0
  323. package/nav/nav.component.d.ts +4 -0
  324. package/package.json +7 -7
  325. package/pagination/pagination.component.d.ts +11 -0
  326. package/popover/popover.directive.d.ts +5 -0
  327. package/progress/progress-circle.component.d.ts +3 -0
  328. package/progress/progress-strip.component.d.ts +1 -0
  329. package/progress/progress.component.d.ts +3 -0
  330. package/property/properties.component.d.ts +1 -0
  331. package/property/property-item.component.d.ts +2 -0
  332. package/property-operation/property-operation.component.d.ts +5 -0
  333. package/radio/group/radio-group.component.d.ts +2 -2
  334. package/rate/rate-item.component.d.ts +1 -0
  335. package/rate/rate.component.d.ts +5 -1
  336. package/resizable/resizable.directive.d.ts +10 -1
  337. package/resizable/resize-handle.component.d.ts +1 -0
  338. package/resizable/resize-handles.component.d.ts +1 -0
  339. package/resizable/styles/resizable.scss +1 -0
  340. package/schematics/dependencies.js +1 -1
  341. package/schematics/version.d.ts +1 -1
  342. package/schematics/version.js +1 -1
  343. package/segment/segment-item.component.d.ts +1 -0
  344. package/segment/segment.component.d.ts +2 -0
  345. package/select/custom-select/custom-select.component.d.ts +12 -1
  346. package/select/native-select/native-select.component.d.ts +1 -0
  347. package/shared/base-form-check.component.d.ts +2 -0
  348. package/shared/directives/thy-autofocus.directive.d.ts +3 -1
  349. package/shared/directives/thy-scroll.directive.d.ts +1 -0
  350. package/shared/directives/thy-show.d.ts +1 -0
  351. package/shared/option/group/option-group.component.d.ts +1 -0
  352. package/shared/option/list-option/list-option.component.d.ts +1 -0
  353. package/shared/option/option.component.d.ts +1 -0
  354. package/shared/option/styles/select-dropdown.scss +1 -0
  355. package/shared/select/select-control/select-control.component.d.ts +7 -0
  356. package/skeleton/skeleton-circle.component.d.ts +1 -0
  357. package/skeleton/skeleton-rectangle.component.d.ts +1 -0
  358. package/skeleton/skeleton.component.d.ts +1 -0
  359. package/skeleton/stylized/bullet-list.component.d.ts +1 -0
  360. package/skeleton/stylized/list.component.d.ts +1 -0
  361. package/skeleton/stylized/paragraph.component.d.ts +1 -0
  362. package/slide/slide-body/slide-body-section.component.d.ts +2 -1
  363. package/slider/slider.component.d.ts +6 -1
  364. package/space/space.component.d.ts +1 -0
  365. package/stepper/step-header.component.d.ts +3 -0
  366. package/stepper/stepper.component.d.ts +2 -0
  367. package/switch/switch.component.d.ts +3 -1
  368. package/table/table-column.component.d.ts +7 -2
  369. package/table/table-skeleton.component.d.ts +2 -0
  370. package/table/table.component.d.ts +14 -0
  371. package/tabs/tab.component.d.ts +1 -0
  372. package/tabs/tabs.component.d.ts +2 -0
  373. package/tag/tag.component.d.ts +1 -0
  374. package/time-picker/time-picker-panel.component.d.ts +2 -0
  375. package/time-picker/time-picker.component.d.ts +6 -2
  376. package/timeline/timeline.component.d.ts +1 -0
  377. package/tooltip/tooltip.directive.d.ts +5 -0
  378. package/tree/tree-node.component.d.ts +7 -0
  379. package/tree/tree.component.d.ts +8 -0
  380. package/tree-select/tree-select.component.d.ts +7 -0
  381. package/upload/file-select-base.d.ts +1 -0
  382. package/upload/file-select.component.d.ts +3 -0
  383. package/vote/vote.component.d.ts +4 -2
  384. package/watermark/watermark.directive.d.ts +1 -0
@@ -1,5 +1,4 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter, ChangeDetectorRef, HostBinding, Optional, Inject } from '@angular/core';
1
+ import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter, ChangeDetectorRef, HostBinding, Optional, Inject, booleanAttribute, numberAttribute } from '@angular/core';
3
2
  import { PaginationDefaultConfig, DEFAULT_RANGE_COUNT, THY_PAGINATION_CONFIG } from './pagination.config';
4
3
  import { useHostRenderer } from '@tethys/cdk/dom';
5
4
  import { isTemplateRef } from 'ngx-tethys/util';
@@ -9,7 +8,6 @@ import { ThyOption, ThyEnterDirective } from 'ngx-tethys/shared';
9
8
  import { FormsModule } from '@angular/forms';
10
9
  import { ThySelect } from 'ngx-tethys/select';
11
10
  import { NgIf, NgTemplateOutlet, NgFor } from '@angular/common';
12
- import { InputBoolean, InputNumber } from 'ngx-tethys/core';
13
11
  import * as i0 from "@angular/core";
14
12
  import * as i1 from "@angular/forms";
15
13
  /**
@@ -271,60 +269,8 @@ export class ThyPagination {
271
269
  this.pageSizeChanged.emit(event);
272
270
  }
273
271
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyPagination, deps: [{ token: THY_PAGINATION_CONFIG, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
274
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyPagination, isStandalone: true, selector: "thy-pagination", inputs: { thyPageIndex: "thyPageIndex", thyPageSize: "thyPageSize", thyTotal: "thyTotal", thyCustomPages: "thyCustomPages", disabled: ["thyDisabled", "disabled"], showQuickJumper: ["thyShowQuickJumper", "showQuickJumper"], showTotalPageCount: ["thyShowTotalPageCount", "showTotalPageCount"], size: ["thySize", "size"], maxCount: ["thyMaxCount", "maxCount"], marginalCount: ["thyMarginalCount", "marginalCount"], thyRangeCount: "thyRangeCount", showSizeChanger: ["thyShowSizeChanger", "showSizeChanger"], pageSizeOptions: ["thyPageSizeOptions", "pageSizeOptions"], hideOnSinglePage: ["thyHideOnSinglePage", "hideOnSinglePage"], showTotal: ["thyShowTotal", "showTotal"] }, outputs: { pageIndexChange: "thyPageIndexChange", pageChanged: "thyPageChanged", pageSizeChanged: "thyPageSizeChanged" }, host: { properties: { "class.thy-pagination": "this.isPaginationClass", "class.thy-pagination-has-total": "this.showTotal" } }, ngImport: i0, template: "<ng-container *ngIf=\"(hideOnSinglePage && total > pageSize) || !hideOnSinglePage\">\n <div class=\"thy-pagination-total\" *ngIf=\"showTotal\">\n <ng-container *ngIf=\"!isTemplateRef(showTotal); else totalTemplate\">\n <ng-container *ngIf=\"total > 0\">\n <div class=\"mr-3\">\n \u7B2C<span class=\"number\"> {{ range.from }}-{{ range.to }} </span>\u6761\n </div>\n <div>\n \u5171<span class=\"number\"> {{ total }} </span>\u6761\n </div>\n </ng-container>\n </ng-container>\n <ng-template #totalTemplate>\n <ng-template [ngTemplateOutlet]=\"showTotal\" [ngTemplateOutletContext]=\"{ $implicit: total, range: range }\"></ng-template>\n </ng-template>\n </div>\n <div class=\"thy-pagination-content\">\n <div class=\"thy-pagination-size\" *ngIf=\"config.showSizeChanger\">\n <thy-select [(ngModel)]=\"selectPageSize\" [thySize]=\"selectSize\" [thyDisabled]=\"disabled\" (ngModelChange)=\"onPageSizeChange($event)\">\n <thy-option\n class=\"page-size-option\"\n *ngFor=\"let option of config.pageSizeOptions\"\n [thyValue]=\"option\"\n [thyLabelText]=\"option + ' \u6761/\u9875'\"></thy-option>\n </thy-select>\n </div>\n <ul class=\"thy-pagination-pages\">\n <li\n class=\"thy-page-item\"\n [class.disabled]=\"disabled || pageIndex === firstIndex\"\n *ngIf=\"config.boundaryLinks\"\n (click)=\"selectPage(firstIndex)\">\n <a class=\"thy-page-link thy-page-link-first\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.firstText\">{{ config.firstText }}</ng-container>\n <ng-container *ngIf=\"config.firstIcon\">\n <thy-icon [thyIconName]=\"config.firstIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n <li\n class=\"thy-page-item\"\n [class.disabled]=\"disabled || pageIndex === firstIndex\"\n *ngIf=\"config.directionLinks\"\n (click)=\"selectPage(pageIndex - 1)\">\n <a class=\"thy-page-link page-link-pre\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.previousText\">{{ config.previousText }}</ng-container>\n <ng-container *ngIf=\"config.previousIcon\">\n <thy-icon [thyIconName]=\"config.previousIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n <li\n class=\"thy-page-item thy-page-number\"\n [class.active]=\"page.active\"\n [class.disabled]=\"disabled\"\n (click)=\"selectPage(page.index)\"\n *ngFor=\"let page of pages\">\n <a class=\"thy-page-link\" href=\"javascript:;\">{{ page.text }}</a>\n </li>\n <li\n class=\"thy-page-item page-item-next\"\n [class.disabled]=\"disabled || pageIndex === pageCount\"\n *ngIf=\"config.directionLinks\"\n (click)=\"selectPage(pageIndex + 1)\">\n <a class=\"thy-page-link thy-page-link-next\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.nextText\">{{ config.nextText }}</ng-container>\n <ng-container *ngIf=\"config.nextIcon\">\n <thy-icon [thyIconName]=\"config.nextIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n <li\n class=\"thy-page-item\"\n [class.disabled]=\"disabled || pageIndex === pageCount\"\n *ngIf=\"config.boundaryLinks\"\n (click)=\"selectPage(pageCount)\">\n <a class=\"thy-page-link thy-page-link-last\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.lastText\">{{ config.lastText }}</ng-container>\n <ng-container *ngIf=\"config.lastIcon\">\n <thy-icon [thyIconName]=\"config.lastIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n </ul>\n <ng-container *ngIf=\"config.showTotalPageCount && config.totalPagesFormat\">\n <div class=\"thy-pagination-count\" [innerHTML]=\"pageCount | paginationTotalPagesFormat : config.totalPagesFormat\"></div>\n </ng-container>\n <ng-container *ngIf=\"config.showQuickJumper\">\n <div class=\"thy-pagination-jumper\">\n <div class=\"thy-pagination-jumper-input\">\n \u8DF3\u81F3\n <input type=\"text\" [disabled]=\"disabled\" #jumperInput (thyEnter)=\"jumpPage(jumperInput)\" (blur)=\"jumpPage(jumperInput)\" />\n \u9875\n </div>\n </div>\n </ng-container>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThySelect, selector: "thy-select,thy-custom-select", inputs: ["thyDropdownWidthMode", "thyShowSearch", "thyPlaceHolder", "thyServerSearch", "thyLoadState", "thyAutoActiveFirstItem", "thyMode", "thySize", "thyEmptyStateText", "thyEmptySearchMessageText", "thyEnableScrollLoad", "thyAllowClear", "thyDisabled", "thySortComparator", "thyFooterTemplate", "thyPlacement", "thyOrigin", "thyFooterClass", "thyAutoExpand", "thyHasBackdrop", "thyMaxTagCount", "thyBorderless", "thyOptions", "thyPreset"], outputs: ["thyOnSearch", "thyOnScrollToBottom", "thyOnExpandStatusChange"], exportAs: ["thySelect"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyOption, selector: "thy-option", inputs: ["thyValue", "thyRawValue", "thyLabelText", "thyShowOptionCustom", "thySearchKey", "thyDisabled"], outputs: ["selectionChange", "visibleChange"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "pipe", type: PaginationTotalCountFormat, name: "paginationTotalPagesFormat" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
272
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyPagination, isStandalone: true, selector: "thy-pagination", inputs: { thyPageIndex: ["thyPageIndex", "thyPageIndex", numberAttribute], thyPageSize: ["thyPageSize", "thyPageSize", numberAttribute], thyTotal: ["thyTotal", "thyTotal", numberAttribute], thyCustomPages: "thyCustomPages", disabled: ["thyDisabled", "disabled", booleanAttribute], showQuickJumper: ["thyShowQuickJumper", "showQuickJumper", booleanAttribute], showTotalPageCount: ["thyShowTotalPageCount", "showTotalPageCount", booleanAttribute], size: ["thySize", "size"], maxCount: ["thyMaxCount", "maxCount", numberAttribute], marginalCount: ["thyMarginalCount", "marginalCount", numberAttribute], thyRangeCount: ["thyRangeCount", "thyRangeCount", numberAttribute], showSizeChanger: ["thyShowSizeChanger", "showSizeChanger", booleanAttribute], pageSizeOptions: ["thyPageSizeOptions", "pageSizeOptions"], hideOnSinglePage: ["thyHideOnSinglePage", "hideOnSinglePage", booleanAttribute], showTotal: ["thyShowTotal", "showTotal"] }, outputs: { pageIndexChange: "thyPageIndexChange", pageChanged: "thyPageChanged", pageSizeChanged: "thyPageSizeChanged" }, host: { properties: { "class.thy-pagination": "this.isPaginationClass", "class.thy-pagination-has-total": "this.showTotal" } }, ngImport: i0, template: "<ng-container *ngIf=\"(hideOnSinglePage && total > pageSize) || !hideOnSinglePage\">\n <div class=\"thy-pagination-total\" *ngIf=\"showTotal\">\n <ng-container *ngIf=\"!isTemplateRef(showTotal); else totalTemplate\">\n <ng-container *ngIf=\"total > 0\">\n <div class=\"mr-3\">\n \u7B2C<span class=\"number\"> {{ range.from }}-{{ range.to }} </span>\u6761\n </div>\n <div>\n \u5171<span class=\"number\"> {{ total }} </span>\u6761\n </div>\n </ng-container>\n </ng-container>\n <ng-template #totalTemplate>\n <ng-template [ngTemplateOutlet]=\"showTotal\" [ngTemplateOutletContext]=\"{ $implicit: total, range: range }\"></ng-template>\n </ng-template>\n </div>\n <div class=\"thy-pagination-content\">\n <div class=\"thy-pagination-size\" *ngIf=\"config.showSizeChanger\">\n <thy-select [(ngModel)]=\"selectPageSize\" [thySize]=\"selectSize\" [thyDisabled]=\"disabled\" (ngModelChange)=\"onPageSizeChange($event)\">\n <thy-option\n class=\"page-size-option\"\n *ngFor=\"let option of config.pageSizeOptions\"\n [thyValue]=\"option\"\n [thyLabelText]=\"option + ' \u6761/\u9875'\"></thy-option>\n </thy-select>\n </div>\n <ul class=\"thy-pagination-pages\">\n <li\n class=\"thy-page-item\"\n [class.disabled]=\"disabled || pageIndex === firstIndex\"\n *ngIf=\"config.boundaryLinks\"\n (click)=\"selectPage(firstIndex)\">\n <a class=\"thy-page-link thy-page-link-first\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.firstText\">{{ config.firstText }}</ng-container>\n <ng-container *ngIf=\"config.firstIcon\">\n <thy-icon [thyIconName]=\"config.firstIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n <li\n class=\"thy-page-item\"\n [class.disabled]=\"disabled || pageIndex === firstIndex\"\n *ngIf=\"config.directionLinks\"\n (click)=\"selectPage(pageIndex - 1)\">\n <a class=\"thy-page-link page-link-pre\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.previousText\">{{ config.previousText }}</ng-container>\n <ng-container *ngIf=\"config.previousIcon\">\n <thy-icon [thyIconName]=\"config.previousIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n <li\n class=\"thy-page-item thy-page-number\"\n [class.active]=\"page.active\"\n [class.disabled]=\"disabled\"\n (click)=\"selectPage(page.index)\"\n *ngFor=\"let page of pages\">\n <a class=\"thy-page-link\" href=\"javascript:;\">{{ page.text }}</a>\n </li>\n <li\n class=\"thy-page-item page-item-next\"\n [class.disabled]=\"disabled || pageIndex === pageCount\"\n *ngIf=\"config.directionLinks\"\n (click)=\"selectPage(pageIndex + 1)\">\n <a class=\"thy-page-link thy-page-link-next\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.nextText\">{{ config.nextText }}</ng-container>\n <ng-container *ngIf=\"config.nextIcon\">\n <thy-icon [thyIconName]=\"config.nextIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n <li\n class=\"thy-page-item\"\n [class.disabled]=\"disabled || pageIndex === pageCount\"\n *ngIf=\"config.boundaryLinks\"\n (click)=\"selectPage(pageCount)\">\n <a class=\"thy-page-link thy-page-link-last\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.lastText\">{{ config.lastText }}</ng-container>\n <ng-container *ngIf=\"config.lastIcon\">\n <thy-icon [thyIconName]=\"config.lastIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n </ul>\n <ng-container *ngIf=\"config.showTotalPageCount && config.totalPagesFormat\">\n <div class=\"thy-pagination-count\" [innerHTML]=\"pageCount | paginationTotalPagesFormat : config.totalPagesFormat\"></div>\n </ng-container>\n <ng-container *ngIf=\"config.showQuickJumper\">\n <div class=\"thy-pagination-jumper\">\n <div class=\"thy-pagination-jumper-input\">\n \u8DF3\u81F3\n <input type=\"text\" [disabled]=\"disabled\" #jumperInput (thyEnter)=\"jumpPage(jumperInput)\" (blur)=\"jumpPage(jumperInput)\" />\n \u9875\n </div>\n </div>\n </ng-container>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThySelect, selector: "thy-select,thy-custom-select", inputs: ["thyDropdownWidthMode", "thyShowSearch", "thyPlaceHolder", "thyServerSearch", "thyLoadState", "thyAutoActiveFirstItem", "thyMode", "thySize", "thyEmptyStateText", "thyEmptySearchMessageText", "thyEnableScrollLoad", "thyAllowClear", "thyDisabled", "thySortComparator", "thyFooterTemplate", "thyPlacement", "thyOrigin", "thyFooterClass", "thyAutoExpand", "thyHasBackdrop", "thyMaxTagCount", "thyBorderless", "thyOptions", "thyPreset"], outputs: ["thyOnSearch", "thyOnScrollToBottom", "thyOnExpandStatusChange"], exportAs: ["thySelect"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyOption, selector: "thy-option", inputs: ["thyValue", "thyRawValue", "thyLabelText", "thyShowOptionCustom", "thySearchKey", "thyDisabled"], outputs: ["selectionChange", "visibleChange"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "pipe", type: PaginationTotalCountFormat, name: "paginationTotalPagesFormat" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
275
273
  }
276
- __decorate([
277
- InputNumber(),
278
- __metadata("design:type", Number),
279
- __metadata("design:paramtypes", [Number])
280
- ], ThyPagination.prototype, "thyPageIndex", null);
281
- __decorate([
282
- InputNumber(),
283
- __metadata("design:type", Number),
284
- __metadata("design:paramtypes", [Number])
285
- ], ThyPagination.prototype, "thyPageSize", null);
286
- __decorate([
287
- InputNumber(),
288
- __metadata("design:type", Number),
289
- __metadata("design:paramtypes", [Number])
290
- ], ThyPagination.prototype, "thyTotal", null);
291
- __decorate([
292
- InputBoolean(),
293
- __metadata("design:type", Object)
294
- ], ThyPagination.prototype, "disabled", void 0);
295
- __decorate([
296
- InputBoolean(),
297
- __metadata("design:type", Boolean),
298
- __metadata("design:paramtypes", [Boolean])
299
- ], ThyPagination.prototype, "showQuickJumper", null);
300
- __decorate([
301
- InputBoolean(),
302
- __metadata("design:type", Boolean),
303
- __metadata("design:paramtypes", [Boolean])
304
- ], ThyPagination.prototype, "showTotalPageCount", null);
305
- __decorate([
306
- InputNumber(),
307
- __metadata("design:type", Number),
308
- __metadata("design:paramtypes", [Number])
309
- ], ThyPagination.prototype, "maxCount", null);
310
- __decorate([
311
- InputNumber(),
312
- __metadata("design:type", Number)
313
- ], ThyPagination.prototype, "marginalCount", void 0);
314
- __decorate([
315
- InputNumber(),
316
- __metadata("design:type", Number),
317
- __metadata("design:paramtypes", [Number])
318
- ], ThyPagination.prototype, "thyRangeCount", null);
319
- __decorate([
320
- InputBoolean(),
321
- __metadata("design:type", Boolean),
322
- __metadata("design:paramtypes", [Boolean])
323
- ], ThyPagination.prototype, "showSizeChanger", null);
324
- __decorate([
325
- InputBoolean(),
326
- __metadata("design:type", Boolean)
327
- ], ThyPagination.prototype, "hideOnSinglePage", void 0);
328
274
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyPagination, decorators: [{
329
275
  type: Component,
330
276
  args: [{ selector: 'thy-pagination', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, NgTemplateOutlet, ThySelect, FormsModule, NgFor, ThyOption, ThyIcon, ThyEnterDirective, PaginationTotalCountFormat], template: "<ng-container *ngIf=\"(hideOnSinglePage && total > pageSize) || !hideOnSinglePage\">\n <div class=\"thy-pagination-total\" *ngIf=\"showTotal\">\n <ng-container *ngIf=\"!isTemplateRef(showTotal); else totalTemplate\">\n <ng-container *ngIf=\"total > 0\">\n <div class=\"mr-3\">\n \u7B2C<span class=\"number\"> {{ range.from }}-{{ range.to }} </span>\u6761\n </div>\n <div>\n \u5171<span class=\"number\"> {{ total }} </span>\u6761\n </div>\n </ng-container>\n </ng-container>\n <ng-template #totalTemplate>\n <ng-template [ngTemplateOutlet]=\"showTotal\" [ngTemplateOutletContext]=\"{ $implicit: total, range: range }\"></ng-template>\n </ng-template>\n </div>\n <div class=\"thy-pagination-content\">\n <div class=\"thy-pagination-size\" *ngIf=\"config.showSizeChanger\">\n <thy-select [(ngModel)]=\"selectPageSize\" [thySize]=\"selectSize\" [thyDisabled]=\"disabled\" (ngModelChange)=\"onPageSizeChange($event)\">\n <thy-option\n class=\"page-size-option\"\n *ngFor=\"let option of config.pageSizeOptions\"\n [thyValue]=\"option\"\n [thyLabelText]=\"option + ' \u6761/\u9875'\"></thy-option>\n </thy-select>\n </div>\n <ul class=\"thy-pagination-pages\">\n <li\n class=\"thy-page-item\"\n [class.disabled]=\"disabled || pageIndex === firstIndex\"\n *ngIf=\"config.boundaryLinks\"\n (click)=\"selectPage(firstIndex)\">\n <a class=\"thy-page-link thy-page-link-first\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.firstText\">{{ config.firstText }}</ng-container>\n <ng-container *ngIf=\"config.firstIcon\">\n <thy-icon [thyIconName]=\"config.firstIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n <li\n class=\"thy-page-item\"\n [class.disabled]=\"disabled || pageIndex === firstIndex\"\n *ngIf=\"config.directionLinks\"\n (click)=\"selectPage(pageIndex - 1)\">\n <a class=\"thy-page-link page-link-pre\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.previousText\">{{ config.previousText }}</ng-container>\n <ng-container *ngIf=\"config.previousIcon\">\n <thy-icon [thyIconName]=\"config.previousIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n <li\n class=\"thy-page-item thy-page-number\"\n [class.active]=\"page.active\"\n [class.disabled]=\"disabled\"\n (click)=\"selectPage(page.index)\"\n *ngFor=\"let page of pages\">\n <a class=\"thy-page-link\" href=\"javascript:;\">{{ page.text }}</a>\n </li>\n <li\n class=\"thy-page-item page-item-next\"\n [class.disabled]=\"disabled || pageIndex === pageCount\"\n *ngIf=\"config.directionLinks\"\n (click)=\"selectPage(pageIndex + 1)\">\n <a class=\"thy-page-link thy-page-link-next\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.nextText\">{{ config.nextText }}</ng-container>\n <ng-container *ngIf=\"config.nextIcon\">\n <thy-icon [thyIconName]=\"config.nextIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n <li\n class=\"thy-page-item\"\n [class.disabled]=\"disabled || pageIndex === pageCount\"\n *ngIf=\"config.boundaryLinks\"\n (click)=\"selectPage(pageCount)\">\n <a class=\"thy-page-link thy-page-link-last\" href=\"javascript:;\">\n <ng-container *ngIf=\"config.lastText\">{{ config.lastText }}</ng-container>\n <ng-container *ngIf=\"config.lastIcon\">\n <thy-icon [thyIconName]=\"config.lastIcon\"></thy-icon>\n </ng-container>\n </a>\n </li>\n </ul>\n <ng-container *ngIf=\"config.showTotalPageCount && config.totalPagesFormat\">\n <div class=\"thy-pagination-count\" [innerHTML]=\"pageCount | paginationTotalPagesFormat : config.totalPagesFormat\"></div>\n </ng-container>\n <ng-container *ngIf=\"config.showQuickJumper\">\n <div class=\"thy-pagination-jumper\">\n <div class=\"thy-pagination-jumper-input\">\n \u8DF3\u81F3\n <input type=\"text\" [disabled]=\"disabled\" #jumperInput (thyEnter)=\"jumpPage(jumperInput)\" (blur)=\"jumpPage(jumperInput)\" />\n \u9875\n </div>\n </div>\n </ng-container>\n </div>\n</ng-container>\n" }]
@@ -334,42 +280,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
334
280
  type: Inject,
335
281
  args: [THY_PAGINATION_CONFIG]
336
282
  }] }, { type: i0.ChangeDetectorRef }], propDecorators: { thyPageIndex: [{
337
- type: Input
283
+ type: Input,
284
+ args: [{ transform: numberAttribute }]
338
285
  }], thyPageSize: [{
339
- type: Input
286
+ type: Input,
287
+ args: [{ transform: numberAttribute }]
340
288
  }], thyTotal: [{
341
- type: Input
289
+ type: Input,
290
+ args: [{ transform: numberAttribute }]
342
291
  }], thyCustomPages: [{
343
292
  type: Input
344
293
  }], disabled: [{
345
294
  type: Input,
346
- args: ['thyDisabled']
295
+ args: [{ alias: 'thyDisabled', transform: booleanAttribute }]
347
296
  }], showQuickJumper: [{
348
297
  type: Input,
349
- args: ['thyShowQuickJumper']
298
+ args: [{ alias: 'thyShowQuickJumper', transform: booleanAttribute }]
350
299
  }], showTotalPageCount: [{
351
300
  type: Input,
352
- args: ['thyShowTotalPageCount']
301
+ args: [{ alias: 'thyShowTotalPageCount', transform: booleanAttribute }]
353
302
  }], size: [{
354
303
  type: Input,
355
304
  args: ['thySize']
356
305
  }], maxCount: [{
357
306
  type: Input,
358
- args: ['thyMaxCount']
307
+ args: [{ alias: 'thyMaxCount', transform: numberAttribute }]
359
308
  }], marginalCount: [{
360
309
  type: Input,
361
- args: ['thyMarginalCount']
310
+ args: [{ alias: 'thyMarginalCount', transform: numberAttribute }]
362
311
  }], thyRangeCount: [{
363
- type: Input
312
+ type: Input,
313
+ args: [{ transform: numberAttribute }]
364
314
  }], showSizeChanger: [{
365
315
  type: Input,
366
- args: ['thyShowSizeChanger']
316
+ args: [{ alias: 'thyShowSizeChanger', transform: booleanAttribute }]
367
317
  }], pageSizeOptions: [{
368
318
  type: Input,
369
319
  args: ['thyPageSizeOptions']
370
320
  }], hideOnSinglePage: [{
371
321
  type: Input,
372
- args: ['thyHideOnSinglePage']
322
+ args: [{ alias: 'thyHideOnSinglePage', transform: booleanAttribute }]
373
323
  }], pageIndexChange: [{
374
324
  type: Output,
375
325
  args: ['thyPageIndexChange']
@@ -389,4 +339,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
389
339
  type: Input,
390
340
  args: ['thyShowTotal']
391
341
  }] } });
392
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsdUJBQXVCLEVBQ3ZCLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsUUFBUSxFQUNSLE1BQU0sRUFFVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQXVCLE1BQU0scUJBQXFCLENBQUM7QUFDL0gsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFNUQ7Ozs7R0FJRztBQVFILE1BQU0sT0FBTyxhQUFhO0lBSXRCOzs7T0FHRztJQUNILElBRUksWUFBWSxD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QUFNOzJCQUFDLHFCQUFxQjt5RUE3TDdCLFlBQVk7c0JBRmYsS0FBSztnQkFlRixXQUFXO3NCQUZkLEtBQUs7Z0JBaUJGLFFBQVE7c0JBRlgsS0FBSztnQkFnQkYsY0FBYztzQkFEakIsS0FBSztnQkFjZ0MsUUFBUTtzQkFBN0MsS0FBSzt1QkFBQyxhQUFhO2dCQVFoQixlQUFlO3NCQUZsQixLQUFLO3VCQUFDLG9CQUFvQjtnQkFZdkIsa0JBQWtCO3NCQUZyQixLQUFLO3VCQUFDLHVCQUF1QjtnQkFZMUIsSUFBSTtzQkFEUCxLQUFLO3VCQUFDLFNBQVM7Z0JBWVosUUFBUTtzQkFGWCxLQUFLO3VCQUFDLGFBQWE7Z0JBVXNCLGFBQWE7c0JBQXRELEtBQUs7dUJBQUMsa0JBQWtCO2dCQVFyQixhQUFhO3NCQUZoQixLQUFLO2dCQWFGLGVBQWU7c0JBRmxCLEtBQUs7dUJBQUMsb0JBQW9CO2dCQVV2QixlQUFlO3NCQURsQixLQUFLO3VCQUFDLG9CQUFvQjtnQkFTbUIsZ0JBQWdCO3NCQUE3RCxLQUFLO3VCQUFDLHFCQUFxQjtnQkFLRSxlQUFlO3NCQUE1QyxNQUFNO3VCQUFDLG9CQUFvQjtnQkFLRixXQUFXO3NCQUFwQyxNQUFNO3VCQUFDLGdCQUFnQjtnQkFFTSxlQUFlO3NCQUE1QyxNQUFNO3VCQUFDLG9CQUFvQjtnQkE0QlMsaUJBQWlCO3NCQUFyRCxXQUFXO3VCQUFDLHNCQUFzQjtnQkFRbkMsU0FBUztzQkFGUixXQUFXO3VCQUFDLGdDQUFnQzs7c0JBQzVDLEtBQUs7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIE9wdGlvbmFsLFxuICAgIEluamVjdCxcbiAgICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBhZ2luYXRpb25Db25maWdNb2RlbCB9IGZyb20gJy4vcGFnaW5hdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uRGVmYXVsdENvbmZpZywgREVGQVVMVF9SQU5HRV9DT1VOVCwgVEhZX1BBR0lOQVRJT05fQ09ORklHLCBUaHlQYWdpbmF0aW9uQ29uZmlnIH0gZnJvbSAnLi9wYWdpbmF0aW9uLmNvbmZpZyc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuaW1wb3J0IHsgaXNUZW1wbGF0ZVJlZiB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uVG90YWxDb3VudEZvcm1hdCB9IGZyb20gJy4vcGFnaW5hdGlvbi5waXBlJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5T3B0aW9uLCBUaHlFbnRlckRpcmVjdGl2ZSB9IGZyb20gJ25neC10ZXRoeXMvc2hhcmVkJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGh5U2VsZWN0IH0gZnJvbSAnbmd4LXRldGh5cy9zZWxlY3QnO1xuaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5wdXRCb29sZWFuLCBJbnB1dE51bWJlciB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5cbi8qKlxuICog5YiG6aG157uE5Lu277yM5b2T5pWw5o2u6YeP6L+H5aSa5pe277yM5L2/55So5YiG6aG15YiG6Kej5pWw5o2u44CCXG4gKiBAbmFtZSB0aHktcGFnaW5hdGlvblxuICogQG9yZGVyIDEwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LXBhZ2luYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0LCBUaHlTZWxlY3QsIEZvcm1zTW9kdWxlLCBOZ0ZvciwgVGh5T3B0aW9uLCBUaHlJY29uLCBUaHlFbnRlckRpcmVjdGl2ZSwgUGFnaW5hdGlvblRvdGFsQ291bnRGb3JtYXRdXG59KVxuZXhwb3J0IGNsYXNzIFRoeVBhZ2luYXRpb24gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGlzVGVtcGxhdGVSZWYgPSBpc1RlbXBsYXRlUmVmO1xuICAgIHB1YmxpYyBjb25maWc6IFRoeVBhZ2luYXRpb25Db25maWdNb2RlbCA9IE9iamVjdC5hc3NpZ24oe30sIFBhZ2luYXRpb25EZWZhdWx0Q29uZmlnLCB0aGlzLnBhZ2luYXRpb25Db25maWcubWFpbik7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7lvZPliY3pobXvvIzmlK/mjIHlj4zlkJHnu5HlrppcbiAgICAgKiBAZGVmYXVsdCAxXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASW5wdXROdW1iZXIoKVxuICAgIHNldCB0aHlQYWdlSW5kZXgocGFnZUluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5wYWdlSW5kZXggPSBwYWdlSW5kZXg7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLnNldFBhZ2VJbmRleChwYWdlSW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5q+P6aG15p2h55uu5pWw6YePXG4gICAgICogQGRlZmF1bHQgMjBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBJbnB1dE51bWJlcigpXG4gICAgc2V0IHRoeVBhZ2VTaXplKHBhZ2VTaXplOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5wYWdlU2l6ZSA9IHBhZ2VTaXplO1xuICAgICAgICB0aGlzLnNlbGVjdFBhZ2VTaXplID0gcGFnZVNpemU7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVBhZ2VDb3VudCgpO1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplUGFnZXModGhpcy5wYWdlSW5kZXgsIHRoaXMucGFnZUNvdW50KTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5oC76aG15pWwIOS4jiB0b3RhbFBhZ2VzIOS6jOmAieS4gOS8oOWFpVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQElucHV0TnVtYmVyKClcbiAgICBzZXQgdGh5VG90YWwodG90YWw6IG51bWJlcikge1xuICAgICAgICB0aGlzLnRvdGFsID0gdG90YWw7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVBhZ2VDb3VudCgpO1xuICAgICAgICAgICAgdGhpcy5zZXRQYWdlSW5kZXgodGhpcy5wYWdlSW5kZXgpO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnliIbpobXpobXnoIHvvIzorr7nva7oh6rlrprkuYnliIbpobXpobXnoIHlkI7lsIbkuI3moLnmja4gVG90YWwg5ZKMIFBhZ2VTaXplIOadpeiHquWKqOiuoeeul+mhteegge+8jOWujOWFqOS7peS8oOWFpeeahOmhteeggeS4uuWHhlxuICAgICAqIEB0eXBlIG51bWJlcltdXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5Q3VzdG9tUGFnZXMocGFnZXM6IG51bWJlcltdKSB7XG4gICAgICAgIHRoaXMuY3VzdG9tUGFnZXMgPSBwYWdlcztcbiAgICAgICAgdGhpcy5jb25maWcuc2hvd1RvdGFsUGFnZUNvdW50ID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVBhZ2VDb3VudCgpO1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplUGFnZXModGhpcy5wYWdlSW5kZXgsIHRoaXMucGFnZUNvdW50KTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm56aB55SoXG4gICAgICovXG4gICAgQElucHV0KCd0aHlEaXNhYmxlZCcpIEBJbnB1dEJvb2xlYW4oKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pi+56S65b+r6YCf6Lez6L2sXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVNob3dRdWlja0p1bXBlcicpXG4gICAgQElucHV0Qm9vbGVhbigpXG4gICAgc2V0IHNob3dRdWlja0p1bXBlcih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmNvbmZpZy5zaG93UXVpY2tKdW1wZXIgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7mmK/lkKbmmL7npLrmgLvpobXmlbDkv6Hmga9cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgQElucHV0KCd0aHlTaG93VG90YWxQYWdlQ291bnQnKVxuICAgIEBJbnB1dEJvb2xlYW4oKVxuICAgIHNldCBzaG93VG90YWxQYWdlQ291bnQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5jb25maWcuc2hvd1RvdGFsUGFnZUNvdW50ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6K6+572u5YiG6aG157uE5Lu255qE5aSn5bCPXG4gICAgICogQHR5cGUgc20gfCBtZCB8IGxnXG4gICAgICogQGRlZmF1bHQgbWRcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVNpemUnKVxuICAgIHNldCBzaXplKHNpemU6ICdzbScgfCAnbWQnIHwgJ2xnJykge1xuICAgICAgICB0aGlzLnNlbGVjdFNpemUgPSBzaXplO1xuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci5hZGRDbGFzcyhgdGh5LXBhZ2luYXRpb24tJHtzaXplfWApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiuvue9ruacgOWkp+aYvuekuuaVsOmHj++8jOi2heWHuuacgOWkp+aYvuekuuaVsOWQjuS8muiHquWKqOi/m+ihjOWIhuWJsuaYvuekulxuICAgICAqIEBkZWZhdWx0IDlcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeU1heENvdW50JylcbiAgICBASW5wdXROdW1iZXIoKVxuICAgIHNldCBtYXhDb3VudCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuY29uZmlnLm1heENvdW50ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6K6+572u6L6557yY5pi+56S65pWw6YePXG4gICAgICogQGRlZmF1bHQgMlxuICAgICAqL1xuICAgIEBJbnB1dCgndGh5TWFyZ2luYWxDb3VudCcpIEBJbnB1dE51bWJlcigpIG1hcmdpbmFsQ291bnQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIOiuvue9ruS4remXtOWMuuWfn+aYvuekuuaVsOmHj1xuICAgICAqIEBkZWZhdWx0IDdcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBJbnB1dE51bWJlcigpXG4gICAgc2V0IHRoeVJhbmdlQ291bnQodmFsdWU6IG51bWJlcikge1xuICAgICAgICBpZiAoTnVtYmVyLmlzSW50ZWdlcih2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLnJhbmdlQ291bnQgPSB2YWx1ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRNYXJnaW5hbENvdW50KHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgndGh5U2hvd1NpemVDaGFuZ2VyJylcbiAgICBASW5wdXRCb29sZWFuKClcbiAgICBzZXQgc2hvd1NpemVDaGFuZ2VyKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuY29uZmlnLnNob3dTaXplQ2hhbmdlciA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEB0eXBlIG51bWJlcltdXG4gICAgICovXG4gICAgQElucHV0KCd0aHlQYWdlU2l6ZU9wdGlvbnMnKVxuICAgIHNldCBwYWdlU2l6ZU9wdGlvbnModmFsdWU6IG51bWJlcltdKSB7XG4gICAgICAgIHRoaXMuY29uZmlnLnBhZ2VTaXplT3B0aW9ucyA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWPquacieS4gOmhteaXtuaYr+WQpumakOiXj+WIhumhteWZqFxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KCd0aHlIaWRlT25TaW5nbGVQYWdlJykgQElucHV0Qm9vbGVhbigpIGhpZGVPblNpbmdsZVBhZ2U6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDpobXnoIHmlLnlj5jnmoTlm57osINcbiAgICAgKi9cbiAgICBAT3V0cHV0KCd0aHlQYWdlSW5kZXhDaGFuZ2UnKSBwYWdlSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIC8qKlxuICAgICAqIOS4jkJvb3RzdHJhcCBwYWdpbmF0aW9uIOWFvOWuue+8jOWQjue7reeJiOacrOS8mui/m+ihjOWIoOmZpO+8jOWPguaVsOS/neaMgeS4jiBib290c3RyYXAg5LiA6Ie0XG4gICAgICovXG4gICAgQE91dHB1dCgndGh5UGFnZUNoYW5nZWQnKSBwYWdlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBwYWdlOiBudW1iZXIgfT4oKTtcblxuICAgIEBPdXRwdXQoJ3RoeVBhZ2VTaXplQ2hhbmdlZCcpIHBhZ2VTaXplQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgcHVibGljIHBhZ2VzOiB7IGluZGV4PzogbnVtYmVyOyB0ZXh0Pzogc3RyaW5nOyBhY3RpdmU/OiBib29sZWFuIH1bXSA9IFtdO1xuXG4gICAgcHVibGljIHBhZ2VJbmRleCA9IDE7XG5cbiAgICBwdWJsaWMgcGFnZVNpemU6IG51bWJlcjtcblxuICAgIHB1YmxpYyBwYWdlQ291bnQ6IG51bWJlcjtcblxuICAgIHB1YmxpYyBjdXN0b21QYWdlczogbnVtYmVyW107XG5cbiAgICBwdWJsaWMgdG90YWw6IG51bWJlcjtcblxuICAgIHB1YmxpYyByYW5nZSA9IHsgZnJvbTogMCwgdG86IDAgfTtcblxuICAgIHB1YmxpYyBmaXJzdEluZGV4ID0gMTtcblxuICAgIHB1YmxpYyBpc0hpZGVPblNpbmdsZVBhZ2UgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICBwdWJsaWMgc2VsZWN0U2l6ZSA9ICdtZCc7XG5cbiAgICBwdWJsaWMgc2VsZWN0UGFnZVNpemU6IE51bWJlciA9IDIwO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aHktcGFnaW5hdGlvbicpIGlzUGFnaW5hdGlvbkNsYXNzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaYvuekuuiMg+WbtOWSjHRvdGFsXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1wYWdpbmF0aW9uLWhhcy10b3RhbCcpXG4gICAgQElucHV0KCd0aHlTaG93VG90YWwnKVxuICAgIHNob3dUb3RhbDogYm9vbGVhbiB8IFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBudW1iZXI7IHJhbmdlOiB7IGZyb206IG51bWJlcjsgdG86IG51bWJlciB9IH0+ID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUSFlfUEFHSU5BVElPTl9DT05GSUcpXG4gICAgICAgIHByaXZhdGUgcGFnaW5hdGlvbkNvbmZpZzogVGh5UGFnaW5hdGlvbkNvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc2V0TWFyZ2luYWxDb3VudCh0aGlzLmNvbmZpZy5yYW5nZUNvdW50KTtcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVQYWdlQ291bnQoKTtcbiAgICAgICAgdGhpcy5zZXRQYWdlSW5kZXgodGhpcy5wYWdlSW5kZXgpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldE1hcmdpbmFsQ291bnQocmFuZ2U6IG51bWJlcikge1xuICAgICAgICBpZiAoIXRoaXMubWFyZ2luYWxDb3VudCkge1xuICAgICAgICAgICAgdGhpcy5tYXJnaW5hbENvdW50ID0gcmFuZ2UgPD0gREVGQVVMVF9SQU5HRV9DT1VOVCA/IDEgOiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRQYWdlSW5kZXgocGFnZUluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5wYWdlSW5kZXggPSBwYWdlSW5kZXggPiB0aGlzLnBhZ2VDb3VudCA/IHRoaXMucGFnZUNvdW50IDogcGFnZUluZGV4IHx8IDE7XG4gICAgICAgIGNvbnN0IHRvUGFnZVNpemUgPSB0aGlzLnBhZ2VJbmRleCAqIHRoaXMucGFnZVNpemU7XG4gICAgICAgIHRoaXMucmFuZ2UgPSB7XG4gICAgICAgICAgICBmcm9tOiAodGhpcy5wYWdlSW5kZXggLSAxKSAqIHRoaXMucGFnZVNpemUgKyAxLFxuICAgICAgICAgICAgdG86IHRvUGFnZVNpemUgPiB0aGlzLnRvdGFsID8gdGhpcy50b3RhbCA6IHRvUGFnZVNpemVcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplUGFnZXModGhpcy5wYWdlSW5kZXgsIHRoaXMucGFnZUNvdW50KTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVQYWdlQ291bnQoKSB7XG4gICAgICAgIGxldCBwYWdlQ291bnQgPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5jdXN0b21QYWdlcyAmJiB0aGlzLmN1c3RvbVBhZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHBhZ2VDb3VudCA9IHRoaXMuY3VzdG9tUGFnZXNbdGhpcy5jdXN0b21QYWdlcy5sZW5ndGggLSAxXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBhZ2VDb3VudCA9IHRoaXMucGFnZVNpemUgPCAxID8gMSA6IE1hdGguY2VpbCh0aGlzLnRvdGFsIC8gdGhpcy5wYWdlU2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wYWdlQ291bnQgPSBNYXRoLm1heChwYWdlQ291bnQgfHwgMCwgMSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYWtlUGFnZShpbmRleDogbnVtYmVyLCB0ZXh0OiBzdHJpbmcsIGFjdGl2ZTogYm9vbGVhbik6IHsgaW5kZXg6IG51bWJlcjsgdGV4dDogc3RyaW5nOyBhY3RpdmU6IGJvb2xlYW4gfSB7XG4gICAgICAgIHJldHVybiB7IGluZGV4LCB0ZXh0LCBhY3RpdmUgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRpYWxpemVQYWdlcyhwYWdlSW5kZXg6IG51bWJlciwgcGFnZUNvdW50OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHRoaXMuY3VzdG9tUGFnZXMgJiYgdGhpcy5jdXN0b21QYWdlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VzID0gdGhpcy5jdXN0b21QYWdlcy5tYXAocGFnZSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IHBhZ2UsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IHBhZ2UudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlOiBwYWdlID09PSArcGFnZUluZGV4XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHBhZ2VzID0gW107XG4gICAgICAgIGNvbnN0IG1hcmdpbmFsQ291bnQgPSB0aGlzLm1hcmdpbmFsQ291bnQ7XG4gICAgICAgIGNvbnN0IHJhbmdlQ291bnQgPSB0aGlzLmNvbmZpZy5yYW5nZUNvdW50O1xuICAgICAgICBjb25zdCBtYXhDb3VudCA9IHRoaXMuY29uZmlnLm1heENvdW50O1xuICAgICAgICBjb25zdCBpc01heFNpemVkID0gcGFnZUNvdW50ID4gbWF4Q291bnQ7XG4gICAgICAgIGlmIChpc01heFNpemVkKSB7XG4gICAgICAgICAgICBjb25zdCBiZWZvcmVQYWdlcyA9IFtdO1xuICAgICAgICAgICAgY29uc3QgYWZ0ZXJQYWdlcyA9IFtdO1xuXG4gICAgICAgICAgICAvLyBiZWZvcmVQYWdlc1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gbWFyZ2luYWxDb3VudDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgYmVmb3JlUGFnZXMucHVzaCh0aGlzLm1ha2VQYWdlKGksIGkudG9TdHJpbmcoKSwgaSA9PT0gcGFnZUluZGV4KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocGFnZUluZGV4IC0gTWF0aC5jZWlsKHJhbmdlQ291bnQgLyAyKSA+IHRoaXMuZmlyc3RJbmRleCkge1xuICAgICAgICAgICAgICAgIGJlZm9yZVBhZ2VzLnB1c2godGhpcy5tYWtlUGFnZShwYWdlSW5kZXggLSByYW5nZUNvdW50LCAnwrfCt8K3JywgbnVsbCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBhZnRlclBhZ2VzXG4gICAgICAgICAgICBpZiAocGFnZUluZGV4ICsgTWF0aC5jZWlsKHJhbmdlQ291bnQgLyAyKSA8IHBhZ2VDb3VudCkge1xuICAgICAgICAgICAgICAgIGFmdGVyUGFnZXMucHVzaCh0aGlzLm1ha2VQYWdlKHBhZ2VJbmRleCArIHJhbmdlQ291bnQsICfCt8K3wrcnLCBudWxsKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gcGFnZUNvdW50IC0gbWFyZ2luYWxDb3VudCArIDE7IGkgPD0gcGFnZUNvdW50OyBpKyspIHtcbiAgICAgICAgICAgICAgICBhZnRlclBhZ2VzLnB1c2godGhpcy5tYWtlUGFnZShpLCBpLnRvU3RyaW5nKCksIGkgPT09IHBhZ2VJbmRleCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBtYWluUGFnZXNcbiAgICAgICAgICAgIGxldCBzdGFydCA9IE1hdGgubWF4KG1hcmdpbmFsQ291bnQgKyAxLCBwYWdlSW5kZXggLSAocmFuZ2VDb3VudCAtIDEpIC8gMik7XG4gICAgICAgICAgICBsZXQgZW5kID0gTWF0aC5taW4ocGFnZUluZGV4ICsgKHJhbmdlQ291bnQgLSAxKSAvIDIsIHBhZ2VDb3VudCAtIG1hcmdpbmFsQ291bnQpO1xuICAgICAgICAgICAgaWYgKHBhZ2VJbmRleCAtIDEgPD0gbWFyZ2luYWxDb3VudCkge1xuICAgICAgICAgICAgICAgIGVuZCA9IHJhbmdlQ291bnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocGFnZUNvdW50IC0gcGFnZUluZGV4IDw9IG1hcmdpbmFsQ291bnQpIHtcbiAgICAgICAgICAgICAgICBzdGFydCA9IHBhZ2VDb3VudCAtIHJhbmdlQ291bnQgKyAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPD0gZW5kOyBpKyspIHtcbiAgICAgICAgICAgICAgICBwYWdlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlOiBpID09PSArcGFnZUluZGV4XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYWdlcyA9IFsuLi5iZWZvcmVQYWdlcywgLi4ucGFnZXMsIC4uLmFmdGVyUGFnZXNdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gcGFnZUNvdW50OyBpKyspIHtcbiAgICAgICAgICAgICAgICBwYWdlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlOiBpID09PSArcGFnZUluZGV4XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wYWdlcyA9IHBhZ2VzO1xuICAgIH1cblxuICAgIHByaXZhdGUgcGFnZUNoYW5nZShwYWdlSW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLnBhZ2VJbmRleENoYW5nZS5lbWl0KHBhZ2VJbmRleCk7XG4gICAgICAgIHRoaXMucGFnZUNoYW5nZWQuZW1pdCh7IHBhZ2U6IHBhZ2VJbmRleCB9KTtcbiAgICB9XG5cbiAgICBzZWxlY3RQYWdlKHBhZ2VJbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHBhZ2VJbmRleCA9PT0gdGhpcy5maXJzdEluZGV4IC0gMSB8fCBwYWdlSW5kZXggPT09IHRoaXMucGFnZUNvdW50ICsgMSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0UGFnZUluZGV4KHBhZ2VJbmRleCk7XG4gICAgICAgIHRoaXMucGFnZUNoYW5nZSh0aGlzLnBhZ2VJbmRleCk7XG4gICAgfVxuXG4gICAganVtcFBhZ2UoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgcGFnZUluZGV4ID0gK2lucHV0LnZhbHVlO1xuICAgICAgICBpZiAoTnVtYmVyLmlzSW50ZWdlcihwYWdlSW5kZXgpKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdFBhZ2UocGFnZUluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dC52YWx1ZSA9ICcnO1xuICAgIH1cblxuICAgIG9uUGFnZVNpemVDaGFuZ2UoZXZlbnQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLnBhZ2VTaXplID0gZXZlbnQ7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlUGFnZUNvdW50KCk7XG4gICAgICAgIHRoaXMuc2V0UGFnZUluZGV4KHRoaXMucGFnZUluZGV4KTtcbiAgICAgICAgdGhpcy5wYWdlU2l6ZUNoYW5nZWQuZW1pdChldmVudCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIihoaWRlT25TaW5nbGVQYWdlICYmIHRvdGFsID4gcGFnZVNpemUpIHx8ICFoaWRlT25TaW5nbGVQYWdlXCI+XG4gIDxkaXYgY2xhc3M9XCJ0aHktcGFnaW5hdGlvbi10b3RhbFwiICpuZ0lmPVwic2hvd1RvdGFsXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1RlbXBsYXRlUmVmKHNob3dUb3RhbCk7IGVsc2UgdG90YWxUZW1wbGF0ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvdGFsID4gMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibXItM1wiPlxuICAgICAgICAgIOesrDxzcGFuIGNsYXNzPVwibnVtYmVyXCI+IHt7IHJhbmdlLmZyb20gfX0te3sgcmFuZ2UudG8gfX0gPC9zcGFuPuadoVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICDlhbE8c3BhbiBjbGFzcz1cIm51bWJlclwiPiB7eyB0b3RhbCB9fSA8L3NwYW4+5p2hXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICN0b3RhbFRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNob3dUb3RhbFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogdG90YWwsIHJhbmdlOiByYW5nZSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInRoeS1wYWdpbmF0aW9uLWNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGh5LXBhZ2luYXRpb24tc2l6ZVwiICpuZ0lmPVwiY29uZmlnLnNob3dTaXplQ2hhbmdlclwiPlxuICAgICAgPHRoeS1zZWxlY3QgWyhuZ01vZGVsKV09XCJzZWxlY3RQYWdlU2l6ZVwiIFt0aHlTaXplXT1cInNlbGVjdFNpemVcIiBbdGh5RGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAobmdNb2RlbENoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgPHRoeS1vcHRpb25cbiAgICAgICAgICBjbGFzcz1cInBhZ2Utc2l6ZS1vcHRpb25cIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgY29uZmlnLnBhZ2VTaXplT3B0aW9uc1wiXG4gICAgICAgICAgW3RoeVZhbHVlXT1cIm9wdGlvblwiXG4gICAgICAgICAgW3RoeUxhYmVsVGV4dF09XCJvcHRpb24gKyAnIOadoS/pobUnXCI+PC90aHktb3B0aW9uPlxuICAgICAgPC90aHktc2VsZWN0PlxuICAgIDwvZGl2PlxuICAgIDx1bCBjbGFzcz1cInRoeS1wYWdpbmF0aW9uLXBhZ2VzXCI+XG4gICAgICA8bGlcbiAgICAgICAgY2xhc3M9XCJ0aHktcGFnZS1pdGVtXCJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkIHx8IHBhZ2VJbmRleCA9PT0gZmlyc3RJbmRleFwiXG4gICAgICAgICpuZ0lmPVwiY29uZmlnLmJvdW5kYXJ5TGlua3NcIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0UGFnZShmaXJzdEluZGV4KVwiPlxuICAgICAgICA8YSBjbGFzcz1cInRoeS1wYWdlLWxpbmsgdGh5LXBhZ2UtbGluay1maXJzdFwiIGhyZWY9XCJqYXZhc2NyaXB0OjtcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLmZpcnN0VGV4dFwiPnt7IGNvbmZpZy5maXJzdFRleHQgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLmZpcnN0SWNvblwiPlxuICAgICAgICAgICAgPHRoeS1pY29uIFt0aHlJY29uTmFtZV09XCJjb25maWcuZmlyc3RJY29uXCI+PC90aHktaWNvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9saT5cbiAgICAgIDxsaVxuICAgICAgICBjbGFzcz1cInRoeS1wYWdlLWl0ZW1cIlxuICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcGFnZUluZGV4ID09PSBmaXJzdEluZGV4XCJcbiAgICAgICAgKm5nSWY9XCJjb25maWcuZGlyZWN0aW9uTGlua3NcIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0UGFnZShwYWdlSW5kZXggLSAxKVwiPlxuICAgICAgICA8YSBjbGFzcz1cInRoeS1wYWdlLWxpbmsgcGFnZS1saW5rLXByZVwiIGhyZWY9XCJqYXZhc2NyaXB0OjtcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLnByZXZpb3VzVGV4dFwiPnt7IGNvbmZpZy5wcmV2aW91c1RleHQgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLnByZXZpb3VzSWNvblwiPlxuICAgICAgICAgICAgPHRoeS1pY29uIFt0aHlJY29uTmFtZV09XCJjb25maWcucHJldmlvdXNJY29uXCI+PC90aHktaWNvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9saT5cbiAgICAgIDxsaVxuICAgICAgICBjbGFzcz1cInRoeS1wYWdlLWl0ZW0gdGh5LXBhZ2UtbnVtYmVyXCJcbiAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJwYWdlLmFjdGl2ZVwiXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RQYWdlKHBhZ2UuaW5kZXgpXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IHBhZ2Ugb2YgcGFnZXNcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJ0aHktcGFnZS1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6O1wiPnt7IHBhZ2UudGV4dCB9fTwvYT5cbiAgICAgIDwvbGk+XG4gICAgICA8bGlcbiAgICAgICAgY2xhc3M9XCJ0aHktcGFnZS1pdGVtIHBhZ2UtaXRlbS1uZXh0XCJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkIHx8IHBhZ2VJbmRleCA9PT0gcGFnZUNvdW50XCJcbiAgICAgICAgKm5nSWY9XCJjb25maWcuZGlyZWN0aW9uTGlua3NcIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0UGFnZShwYWdlSW5kZXggKyAxKVwiPlxuICAgICAgICA8YSBjbGFzcz1cInRoeS1wYWdlLWxpbmsgdGh5LXBhZ2UtbGluay1uZXh0XCIgaHJlZj1cImphdmFzY3JpcHQ6O1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWcubmV4dFRleHRcIj57eyBjb25maWcubmV4dFRleHQgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLm5leHRJY29uXCI+XG4gICAgICAgICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cImNvbmZpZy5uZXh0SWNvblwiPjwvdGh5LWljb24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvbGk+XG4gICAgICA8bGlcbiAgICAgICAgY2xhc3M9XCJ0aHktcGFnZS1pdGVtXCJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkIHx8IHBhZ2VJbmRleCA9PT0gcGFnZUNvdW50XCJcbiAgICAgICAgKm5nSWY9XCJjb25maWcuYm91bmRhcnlMaW5rc1wiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RQYWdlKHBhZ2VDb3VudClcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJ0aHktcGFnZS1saW5rIHRoeS1wYWdlLWxpbmstbGFzdFwiIGhyZWY9XCJqYXZhc2NyaXB0OjtcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLmxhc3RUZXh0XCI+e3sgY29uZmlnLmxhc3RUZXh0IH19PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZy5sYXN0SWNvblwiPlxuICAgICAgICAgICAgPHRoeS1pY29uIFt0aHlJY29uTmFtZV09XCJjb25maWcubGFzdEljb25cIj48L3RoeS1pY29uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2E+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZy5zaG93VG90YWxQYWdlQ291bnQgJiYgY29uZmlnLnRvdGFsUGFnZXNGb3JtYXRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0aHktcGFnaW5hdGlvbi1jb3VudFwiIFtpbm5lckhUTUxdPVwicGFnZUNvdW50IHwgcGFnaW5hdGlvblRvdGFsUGFnZXNGb3JtYXQgOiBjb25maWcudG90YWxQYWdlc0Zvcm1hdFwiPjwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWcuc2hvd1F1aWNrSnVtcGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidGh5LXBhZ2luYXRpb24tanVtcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aHktcGFnaW5hdGlvbi1qdW1wZXItaW5wdXRcIj5cbiAgICAgICAgICDot7Poh7NcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAjanVtcGVySW5wdXQgKHRoeUVudGVyKT1cImp1bXBQYWdlKGp1bXBlcklucHV0KVwiIChibHVyKT1cImp1bXBQYWdlKGp1bXBlcklucHV0KVwiIC8+XG4gICAgICAgICAg6aG1XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
342
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCx1QkFBdUIsRUFDdkIsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxRQUFRLEVBQ1IsTUFBTSxFQUVOLGdCQUFnQixFQUNoQixlQUFlLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBdUIsTUFBTSxxQkFBcUIsQ0FBQztBQUMvSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFaEU7Ozs7R0FJRztBQVFILE1BQU0sT0FBTyxhQUFhO0lBSXRCOzs7T0FHRztJQUNILElBQ0ksWUFBWSxDQUFDLFNBQWlCO1FBQzlCLElBQUksQ0FBQyxTQUFT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XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIE9wdGlvbmFsLFxuICAgIEluamVjdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIG51bWJlckF0dHJpYnV0ZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBhZ2luYXRpb25Db25maWdNb2RlbCB9IGZyb20gJy4vcGFnaW5hdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uRGVmYXVsdENvbmZpZywgREVGQVVMVF9SQU5HRV9DT1VOVCwgVEhZX1BBR0lOQVRJT05fQ09ORklHLCBUaHlQYWdpbmF0aW9uQ29uZmlnIH0gZnJvbSAnLi9wYWdpbmF0aW9uLmNvbmZpZyc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuaW1wb3J0IHsgaXNUZW1wbGF0ZVJlZiB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uVG90YWxDb3VudEZvcm1hdCB9IGZyb20gJy4vcGFnaW5hdGlvbi5waXBlJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5T3B0aW9uLCBUaHlFbnRlckRpcmVjdGl2ZSB9IGZyb20gJ25neC10ZXRoeXMvc2hhcmVkJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGh5U2VsZWN0IH0gZnJvbSAnbmd4LXRldGh5cy9zZWxlY3QnO1xuaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIOWIhumhtee7hOS7tu+8jOW9k+aVsOaNrumHj+i/h+WkmuaXtu+8jOS9v+eUqOWIhumhteWIhuino+aVsOaNruOAglxuICogQG5hbWUgdGh5LXBhZ2luYXRpb25cbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1wYWdpbmF0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgVGh5U2VsZWN0LCBGb3Jtc01vZHVsZSwgTmdGb3IsIFRoeU9wdGlvbiwgVGh5SWNvbiwgVGh5RW50ZXJEaXJlY3RpdmUsIFBhZ2luYXRpb25Ub3RhbENvdW50Rm9ybWF0XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlQYWdpbmF0aW9uIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBpc1RlbXBsYXRlUmVmID0gaXNUZW1wbGF0ZVJlZjtcbiAgICBwdWJsaWMgY29uZmlnOiBUaHlQYWdpbmF0aW9uQ29uZmlnTW9kZWwgPSBPYmplY3QuYXNzaWduKHt9LCBQYWdpbmF0aW9uRGVmYXVsdENvbmZpZywgdGhpcy5wYWdpbmF0aW9uQ29uZmlnLm1haW4pO1xuXG4gICAgLyoqXG4gICAgICog6K6+572u5b2T5YmN6aG177yM5pSv5oyB5Y+M5ZCR57uR5a6aXG4gICAgICogQGRlZmF1bHQgMVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeVBhZ2VJbmRleChwYWdlSW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLnBhZ2VJbmRleCA9IHBhZ2VJbmRleDtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0UGFnZUluZGV4KHBhZ2VJbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmr4/pobXmnaHnm67mlbDph49cbiAgICAgKiBAZGVmYXVsdCAyMFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeVBhZ2VTaXplKHBhZ2VTaXplOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5wYWdlU2l6ZSA9IHBhZ2VTaXplO1xuICAgICAgICB0aGlzLnNlbGVjdFBhZ2VTaXplID0gcGFnZVNpemU7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVBhZ2VDb3VudCgpO1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplUGFnZXModGhpcy5wYWdlSW5kZXgsIHRoaXMucGFnZUNvdW50KTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5oC76aG15pWwIOS4jiB0b3RhbFBhZ2VzIOS6jOmAieS4gOS8oOWFpVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeVRvdGFsKHRvdGFsOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy50b3RhbCA9IHRvdGFsO1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVQYWdlQ291bnQoKTtcbiAgICAgICAgICAgIHRoaXMuc2V0UGFnZUluZGV4KHRoaXMucGFnZUluZGV4KTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6Ieq5a6a5LmJ5YiG6aG16aG156CB77yM6K6+572u6Ieq5a6a5LmJ5YiG6aG16aG156CB5ZCO5bCG5LiN5qC55o2uIFRvdGFsIOWSjCBQYWdlU2l6ZSDmnaXoh6rliqjorqHnrpfpobXnoIHvvIzlrozlhajku6XkvKDlhaXnmoTpobXnoIHkuLrlh4ZcbiAgICAgKiBAdHlwZSBudW1iZXJbXVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUN1c3RvbVBhZ2VzKHBhZ2VzOiBudW1iZXJbXSkge1xuICAgICAgICB0aGlzLmN1c3RvbVBhZ2VzID0gcGFnZXM7XG4gICAgICAgIHRoaXMuY29uZmlnLnNob3dUb3RhbFBhZ2VDb3VudCA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVQYWdlQ291bnQoKTtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZVBhZ2VzKHRoaXMucGFnZUluZGV4LCB0aGlzLnBhZ2VDb3VudCk7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuemgeeUqFxuICAgICAqL1xuICAgIEBJbnB1dCh7IGFsaWFzOiAndGh5RGlzYWJsZWQnLCB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaYvuekuuW/q+mAn+i3s+i9rFxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICd0aHlTaG93UXVpY2tKdW1wZXInLCB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBzZXQgc2hvd1F1aWNrSnVtcGVyKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuY29uZmlnLnNob3dRdWlja0p1bXBlciA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiuvue9ruaYr+WQpuaYvuekuuaAu+mhteaVsOS/oeaBr1xuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeVNob3dUb3RhbFBhZ2VDb3VudCcsIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHNldCBzaG93VG90YWxQYWdlQ291bnQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5jb25maWcuc2hvd1RvdGFsUGFnZUNvdW50ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6K6+572u5YiG6aG157uE5Lu255qE5aSn5bCPXG4gICAgICogQHR5cGUgc20gfCBtZCB8IGxnXG4gICAgICogQGRlZmF1bHQgbWRcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVNpemUnKVxuICAgIHNldCBzaXplKHNpemU6ICdzbScgfCAnbWQnIHwgJ2xnJykge1xuICAgICAgICB0aGlzLnNlbGVjdFNpemUgPSBzaXplO1xuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci5hZGRDbGFzcyhgdGh5LXBhZ2luYXRpb24tJHtzaXplfWApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiuvue9ruacgOWkp+aYvuekuuaVsOmHj++8jOi2heWHuuacgOWkp+aYvuekuuaVsOWQjuS8muiHquWKqOi/m+ihjOWIhuWJsuaYvuekulxuICAgICAqIEBkZWZhdWx0IDlcbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeU1heENvdW50JywgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgICBzZXQgbWF4Q291bnQodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLmNvbmZpZy5tYXhDb3VudCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiuvue9rui+uee8mOaYvuekuuaVsOmHj1xuICAgICAqIEBkZWZhdWx0IDJcbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeU1hcmdpbmFsQ291bnQnLCB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSBtYXJnaW5hbENvdW50OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7kuK3pl7TljLrln5/mmL7npLrmlbDph49cbiAgICAgKiBAZGVmYXVsdCA3XG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgICBzZXQgdGh5UmFuZ2VDb3VudCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIGlmIChOdW1iZXIuaXNJbnRlZ2VyKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5jb25maWcucmFuZ2VDb3VudCA9IHZhbHVlO1xuICAgICAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldE1hcmdpbmFsQ291bnQodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KHsgYWxpYXM6ICd0aHlTaG93U2l6ZUNoYW5nZXInLCB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBzZXQgc2hvd1NpemVDaGFuZ2VyKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuY29uZmlnLnNob3dTaXplQ2hhbmdlciA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEB0eXBlIG51bWJlcltdXG4gICAgICovXG4gICAgQElucHV0KCd0aHlQYWdlU2l6ZU9wdGlvbnMnKVxuICAgIHNldCBwYWdlU2l6ZU9wdGlvbnModmFsdWU6IG51bWJlcltdKSB7XG4gICAgICAgIHRoaXMuY29uZmlnLnBhZ2VTaXplT3B0aW9ucyA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWPquacieS4gOmhteaXtuaYr+WQpumakOiXj+WIhumhteWZqFxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICd0aHlIaWRlT25TaW5nbGVQYWdlJywgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhpZGVPblNpbmdsZVBhZ2U6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDpobXnoIHmlLnlj5jnmoTlm57osINcbiAgICAgKi9cbiAgICBAT3V0cHV0KCd0aHlQYWdlSW5kZXhDaGFuZ2UnKSBwYWdlSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIC8qKlxuICAgICAqIOS4jkJvb3RzdHJhcCBwYWdpbmF0aW9uIOWFvOWuue+8jOWQjue7reeJiOacrOS8mui/m+ihjOWIoOmZpO+8jOWPguaVsOS/neaMgeS4jiBib290c3RyYXAg5LiA6Ie0XG4gICAgICovXG4gICAgQE91dHB1dCgndGh5UGFnZUNoYW5nZWQnKSBwYWdlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBwYWdlOiBudW1iZXIgfT4oKTtcblxuICAgIEBPdXRwdXQoJ3RoeVBhZ2VTaXplQ2hhbmdlZCcpIHBhZ2VTaXplQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgcHVibGljIHBhZ2VzOiB7IGluZGV4PzogbnVtYmVyOyB0ZXh0Pzogc3RyaW5nOyBhY3RpdmU/OiBib29sZWFuIH1bXSA9IFtdO1xuXG4gICAgcHVibGljIHBhZ2VJbmRleCA9IDE7XG5cbiAgICBwdWJsaWMgcGFnZVNpemU6IG51bWJlcjtcblxuICAgIHB1YmxpYyBwYWdlQ291bnQ6IG51bWJlcjtcblxuICAgIHB1YmxpYyBjdXN0b21QYWdlczogbnVtYmVyW107XG5cbiAgICBwdWJsaWMgdG90YWw6IG51bWJlcjtcblxuICAgIHB1YmxpYyByYW5nZSA9IHsgZnJvbTogMCwgdG86IDAgfTtcblxuICAgIHB1YmxpYyBmaXJzdEluZGV4ID0gMTtcblxuICAgIHB1YmxpYyBpc0hpZGVPblNpbmdsZVBhZ2UgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICBwdWJsaWMgc2VsZWN0U2l6ZSA9ICdtZCc7XG5cbiAgICBwdWJsaWMgc2VsZWN0UGFnZVNpemU6IE51bWJlciA9IDIwO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aHktcGFnaW5hdGlvbicpIGlzUGFnaW5hdGlvbkNsYXNzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaYvuekuuiMg+WbtOWSjHRvdGFsXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1wYWdpbmF0aW9uLWhhcy10b3RhbCcpXG4gICAgQElucHV0KCd0aHlTaG93VG90YWwnKVxuICAgIHNob3dUb3RhbDogYm9vbGVhbiB8IFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBudW1iZXI7IHJhbmdlOiB7IGZyb206IG51bWJlcjsgdG86IG51bWJlciB9IH0+ID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUSFlfUEFHSU5BVElPTl9DT05GSUcpXG4gICAgICAgIHByaXZhdGUgcGFnaW5hdGlvbkNvbmZpZzogVGh5UGFnaW5hdGlvbkNvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc2V0TWFyZ2luYWxDb3VudCh0aGlzLmNvbmZpZy5yYW5nZUNvdW50KTtcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVQYWdlQ291bnQoKTtcbiAgICAgICAgdGhpcy5zZXRQYWdlSW5kZXgodGhpcy5wYWdlSW5kZXgpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldE1hcmdpbmFsQ291bnQocmFuZ2U6IG51bWJlcikge1xuICAgICAgICBpZiAoIXRoaXMubWFyZ2luYWxDb3VudCkge1xuICAgICAgICAgICAgdGhpcy5tYXJnaW5hbENvdW50ID0gcmFuZ2UgPD0gREVGQVVMVF9SQU5HRV9DT1VOVCA/IDEgOiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRQYWdlSW5kZXgocGFnZUluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5wYWdlSW5kZXggPSBwYWdlSW5kZXggPiB0aGlzLnBhZ2VDb3VudCA/IHRoaXMucGFnZUNvdW50IDogcGFnZUluZGV4IHx8IDE7XG4gICAgICAgIGNvbnN0IHRvUGFnZVNpemUgPSB0aGlzLnBhZ2VJbmRleCAqIHRoaXMucGFnZVNpemU7XG4gICAgICAgIHRoaXMucmFuZ2UgPSB7XG4gICAgICAgICAgICBmcm9tOiAodGhpcy5wYWdlSW5kZXggLSAxKSAqIHRoaXMucGFnZVNpemUgKyAxLFxuICAgICAgICAgICAgdG86IHRvUGFnZVNpemUgPiB0aGlzLnRvdGFsID8gdGhpcy50b3RhbCA6IHRvUGFnZVNpemVcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplUGFnZXModGhpcy5wYWdlSW5kZXgsIHRoaXMucGFnZUNvdW50KTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVQYWdlQ291bnQoKSB7XG4gICAgICAgIGxldCBwYWdlQ291bnQgPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5jdXN0b21QYWdlcyAmJiB0aGlzLmN1c3RvbVBhZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHBhZ2VDb3VudCA9IHRoaXMuY3VzdG9tUGFnZXNbdGhpcy5jdXN0b21QYWdlcy5sZW5ndGggLSAxXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBhZ2VDb3VudCA9IHRoaXMucGFnZVNpemUgPCAxID8gMSA6IE1hdGguY2VpbCh0aGlzLnRvdGFsIC8gdGhpcy5wYWdlU2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wYWdlQ291bnQgPSBNYXRoLm1heChwYWdlQ291bnQgfHwgMCwgMSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYWtlUGFnZShpbmRleDogbnVtYmVyLCB0ZXh0OiBzdHJpbmcsIGFjdGl2ZTogYm9vbGVhbik6IHsgaW5kZXg6IG51bWJlcjsgdGV4dDogc3RyaW5nOyBhY3RpdmU6IGJvb2xlYW4gfSB7XG4gICAgICAgIHJldHVybiB7IGluZGV4LCB0ZXh0LCBhY3RpdmUgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRpYWxpemVQYWdlcyhwYWdlSW5kZXg6IG51bWJlciwgcGFnZUNvdW50OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHRoaXMuY3VzdG9tUGFnZXMgJiYgdGhpcy5jdXN0b21QYWdlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VzID0gdGhpcy5jdXN0b21QYWdlcy5tYXAocGFnZSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IHBhZ2UsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IHBhZ2UudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlOiBwYWdlID09PSArcGFnZUluZGV4XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHBhZ2VzID0gW107XG4gICAgICAgIGNvbnN0IG1hcmdpbmFsQ291bnQgPSB0aGlzLm1hcmdpbmFsQ291bnQ7XG4gICAgICAgIGNvbnN0IHJhbmdlQ291bnQgPSB0aGlzLmNvbmZpZy5yYW5nZUNvdW50O1xuICAgICAgICBjb25zdCBtYXhDb3VudCA9IHRoaXMuY29uZmlnLm1heENvdW50O1xuICAgICAgICBjb25zdCBpc01heFNpemVkID0gcGFnZUNvdW50ID4gbWF4Q291bnQ7XG4gICAgICAgIGlmIChpc01heFNpemVkKSB7XG4gICAgICAgICAgICBjb25zdCBiZWZvcmVQYWdlcyA9IFtdO1xuICAgICAgICAgICAgY29uc3QgYWZ0ZXJQYWdlcyA9IFtdO1xuXG4gICAgICAgICAgICAvLyBiZWZvcmVQYWdlc1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gbWFyZ2luYWxDb3VudDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgYmVmb3JlUGFnZXMucHVzaCh0aGlzLm1ha2VQYWdlKGksIGkudG9TdHJpbmcoKSwgaSA9PT0gcGFnZUluZGV4KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocGFnZUluZGV4IC0gTWF0aC5jZWlsKHJhbmdlQ291bnQgLyAyKSA+IHRoaXMuZmlyc3RJbmRleCkge1xuICAgICAgICAgICAgICAgIGJlZm9yZVBhZ2VzLnB1c2godGhpcy5tYWtlUGFnZShwYWdlSW5kZXggLSByYW5nZUNvdW50LCAnwrfCt8K3JywgbnVsbCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBhZnRlclBhZ2VzXG4gICAgICAgICAgICBpZiAocGFnZUluZGV4ICsgTWF0aC5jZWlsKHJhbmdlQ291bnQgLyAyKSA8IHBhZ2VDb3VudCkge1xuICAgICAgICAgICAgICAgIGFmdGVyUGFnZXMucHVzaCh0aGlzLm1ha2VQYWdlKHBhZ2VJbmRleCArIHJhbmdlQ291bnQsICfCt8K3wrcnLCBudWxsKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gcGFnZUNvdW50IC0gbWFyZ2luYWxDb3VudCArIDE7IGkgPD0gcGFnZUNvdW50OyBpKyspIHtcbiAgICAgICAgICAgICAgICBhZnRlclBhZ2VzLnB1c2godGhpcy5tYWtlUGFnZShpLCBpLnRvU3RyaW5nKCksIGkgPT09IHBhZ2VJbmRleCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBtYWluUGFnZXNcbiAgICAgICAgICAgIGxldCBzdGFydCA9IE1hdGgubWF4KG1hcmdpbmFsQ291bnQgKyAxLCBwYWdlSW5kZXggLSAocmFuZ2VDb3VudCAtIDEpIC8gMik7XG4gICAgICAgICAgICBsZXQgZW5kID0gTWF0aC5taW4ocGFnZUluZGV4ICsgKHJhbmdlQ291bnQgLSAxKSAvIDIsIHBhZ2VDb3VudCAtIG1hcmdpbmFsQ291bnQpO1xuICAgICAgICAgICAgaWYgKHBhZ2VJbmRleCAtIDEgPD0gbWFyZ2luYWxDb3VudCkge1xuICAgICAgICAgICAgICAgIGVuZCA9IHJhbmdlQ291bnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocGFnZUNvdW50IC0gcGFnZUluZGV4IDw9IG1hcmdpbmFsQ291bnQpIHtcbiAgICAgICAgICAgICAgICBzdGFydCA9IHBhZ2VDb3VudCAtIHJhbmdlQ291bnQgKyAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPD0gZW5kOyBpKyspIHtcbiAgICAgICAgICAgICAgICBwYWdlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlOiBpID09PSArcGFnZUluZGV4XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYWdlcyA9IFsuLi5iZWZvcmVQYWdlcywgLi4ucGFnZXMsIC4uLmFmdGVyUGFnZXNdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gcGFnZUNvdW50OyBpKyspIHtcbiAgICAgICAgICAgICAgICBwYWdlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlOiBpID09PSArcGFnZUluZGV4XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wYWdlcyA9IHBhZ2VzO1xuICAgIH1cblxuICAgIHByaXZhdGUgcGFnZUNoYW5nZShwYWdlSW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLnBhZ2VJbmRleENoYW5nZS5lbWl0KHBhZ2VJbmRleCk7XG4gICAgICAgIHRoaXMucGFnZUNoYW5nZWQuZW1pdCh7IHBhZ2U6IHBhZ2VJbmRleCB9KTtcbiAgICB9XG5cbiAgICBzZWxlY3RQYWdlKHBhZ2VJbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHBhZ2VJbmRleCA9PT0gdGhpcy5maXJzdEluZGV4IC0gMSB8fCBwYWdlSW5kZXggPT09IHRoaXMucGFnZUNvdW50ICsgMSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0UGFnZUluZGV4KHBhZ2VJbmRleCk7XG4gICAgICAgIHRoaXMucGFnZUNoYW5nZSh0aGlzLnBhZ2VJbmRleCk7XG4gICAgfVxuXG4gICAganVtcFBhZ2UoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgcGFnZUluZGV4ID0gK2lucHV0LnZhbHVlO1xuICAgICAgICBpZiAoTnVtYmVyLmlzSW50ZWdlcihwYWdlSW5kZXgpKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdFBhZ2UocGFnZUluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dC52YWx1ZSA9ICcnO1xuICAgIH1cblxuICAgIG9uUGFnZVNpemVDaGFuZ2UoZXZlbnQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLnBhZ2VTaXplID0gZXZlbnQ7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlUGFnZUNvdW50KCk7XG4gICAgICAgIHRoaXMuc2V0UGFnZUluZGV4KHRoaXMucGFnZUluZGV4KTtcbiAgICAgICAgdGhpcy5wYWdlU2l6ZUNoYW5nZWQuZW1pdChldmVudCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIihoaWRlT25TaW5nbGVQYWdlICYmIHRvdGFsID4gcGFnZVNpemUpIHx8ICFoaWRlT25TaW5nbGVQYWdlXCI+XG4gIDxkaXYgY2xhc3M9XCJ0aHktcGFnaW5hdGlvbi10b3RhbFwiICpuZ0lmPVwic2hvd1RvdGFsXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1RlbXBsYXRlUmVmKHNob3dUb3RhbCk7IGVsc2UgdG90YWxUZW1wbGF0ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvdGFsID4gMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibXItM1wiPlxuICAgICAgICAgIOesrDxzcGFuIGNsYXNzPVwibnVtYmVyXCI+IHt7IHJhbmdlLmZyb20gfX0te3sgcmFuZ2UudG8gfX0gPC9zcGFuPuadoVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICDlhbE8c3BhbiBjbGFzcz1cIm51bWJlclwiPiB7eyB0b3RhbCB9fSA8L3NwYW4+5p2hXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICN0b3RhbFRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNob3dUb3RhbFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogdG90YWwsIHJhbmdlOiByYW5nZSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInRoeS1wYWdpbmF0aW9uLWNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGh5LXBhZ2luYXRpb24tc2l6ZVwiICpuZ0lmPVwiY29uZmlnLnNob3dTaXplQ2hhbmdlclwiPlxuICAgICAgPHRoeS1zZWxlY3QgWyhuZ01vZGVsKV09XCJzZWxlY3RQYWdlU2l6ZVwiIFt0aHlTaXplXT1cInNlbGVjdFNpemVcIiBbdGh5RGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAobmdNb2RlbENoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgPHRoeS1vcHRpb25cbiAgICAgICAgICBjbGFzcz1cInBhZ2Utc2l6ZS1vcHRpb25cIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgY29uZmlnLnBhZ2VTaXplT3B0aW9uc1wiXG4gICAgICAgICAgW3RoeVZhbHVlXT1cIm9wdGlvblwiXG4gICAgICAgICAgW3RoeUxhYmVsVGV4dF09XCJvcHRpb24gKyAnIOadoS/pobUnXCI+PC90aHktb3B0aW9uPlxuICAgICAgPC90aHktc2VsZWN0PlxuICAgIDwvZGl2PlxuICAgIDx1bCBjbGFzcz1cInRoeS1wYWdpbmF0aW9uLXBhZ2VzXCI+XG4gICAgICA8bGlcbiAgICAgICAgY2xhc3M9XCJ0aHktcGFnZS1pdGVtXCJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkIHx8IHBhZ2VJbmRleCA9PT0gZmlyc3RJbmRleFwiXG4gICAgICAgICpuZ0lmPVwiY29uZmlnLmJvdW5kYXJ5TGlua3NcIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0UGFnZShmaXJzdEluZGV4KVwiPlxuICAgICAgICA8YSBjbGFzcz1cInRoeS1wYWdlLWxpbmsgdGh5LXBhZ2UtbGluay1maXJzdFwiIGhyZWY9XCJqYXZhc2NyaXB0OjtcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLmZpcnN0VGV4dFwiPnt7IGNvbmZpZy5maXJzdFRleHQgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLmZpcnN0SWNvblwiPlxuICAgICAgICAgICAgPHRoeS1pY29uIFt0aHlJY29uTmFtZV09XCJjb25maWcuZmlyc3RJY29uXCI+PC90aHktaWNvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9saT5cbiAgICAgIDxsaVxuICAgICAgICBjbGFzcz1cInRoeS1wYWdlLWl0ZW1cIlxuICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcGFnZUluZGV4ID09PSBmaXJzdEluZGV4XCJcbiAgICAgICAgKm5nSWY9XCJjb25maWcuZGlyZWN0aW9uTGlua3NcIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0UGFnZShwYWdlSW5kZXggLSAxKVwiPlxuICAgICAgICA8YSBjbGFzcz1cInRoeS1wYWdlLWxpbmsgcGFnZS1saW5rLXByZVwiIGhyZWY9XCJqYXZhc2NyaXB0OjtcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLnByZXZpb3VzVGV4dFwiPnt7IGNvbmZpZy5wcmV2aW91c1RleHQgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLnByZXZpb3VzSWNvblwiPlxuICAgICAgICAgICAgPHRoeS1pY29uIFt0aHlJY29uTmFtZV09XCJjb25maWcucHJldmlvdXNJY29uXCI+PC90aHktaWNvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9saT5cbiAgICAgIDxsaVxuICAgICAgICBjbGFzcz1cInRoeS1wYWdlLWl0ZW0gdGh5LXBhZ2UtbnVtYmVyXCJcbiAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJwYWdlLmFjdGl2ZVwiXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RQYWdlKHBhZ2UuaW5kZXgpXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IHBhZ2Ugb2YgcGFnZXNcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJ0aHktcGFnZS1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6O1wiPnt7IHBhZ2UudGV4dCB9fTwvYT5cbiAgICAgIDwvbGk+XG4gICAgICA8bGlcbiAgICAgICAgY2xhc3M9XCJ0aHktcGFnZS1pdGVtIHBhZ2UtaXRlbS1uZXh0XCJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkIHx8IHBhZ2VJbmRleCA9PT0gcGFnZUNvdW50XCJcbiAgICAgICAgKm5nSWY9XCJjb25maWcuZGlyZWN0aW9uTGlua3NcIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0UGFnZShwYWdlSW5kZXggKyAxKVwiPlxuICAgICAgICA8YSBjbGFzcz1cInRoeS1wYWdlLWxpbmsgdGh5LXBhZ2UtbGluay1uZXh0XCIgaHJlZj1cImphdmFzY3JpcHQ6O1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWcubmV4dFRleHRcIj57eyBjb25maWcubmV4dFRleHQgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLm5leHRJY29uXCI+XG4gICAgICAgICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cImNvbmZpZy5uZXh0SWNvblwiPjwvdGh5LWljb24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvbGk+XG4gICAgICA8bGlcbiAgICAgICAgY2xhc3M9XCJ0aHktcGFnZS1pdGVtXCJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkIHx8IHBhZ2VJbmRleCA9PT0gcGFnZUNvdW50XCJcbiAgICAgICAgKm5nSWY9XCJjb25maWcuYm91bmRhcnlMaW5rc1wiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RQYWdlKHBhZ2VDb3VudClcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJ0aHktcGFnZS1saW5rIHRoeS1wYWdlLWxpbmstbGFzdFwiIGhyZWY9XCJqYXZhc2NyaXB0OjtcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLmxhc3RUZXh0XCI+e3sgY29uZmlnLmxhc3RUZXh0IH19PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZy5sYXN0SWNvblwiPlxuICAgICAgICAgICAgPHRoeS1pY29uIFt0aHlJY29uTmFtZV09XCJjb25maWcubGFzdEljb25cIj48L3RoeS1pY29uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2E+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZy5zaG93VG90YWxQYWdlQ291bnQgJiYgY29uZmlnLnRvdGFsUGFnZXNGb3JtYXRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0aHktcGFnaW5hdGlvbi1jb3VudFwiIFtpbm5lckhUTUxdPVwicGFnZUNvdW50IHwgcGFnaW5hdGlvblRvdGFsUGFnZXNGb3JtYXQgOiBjb25maWcudG90YWxQYWdlc0Zvcm1hdFwiPjwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWcuc2hvd1F1aWNrSnVtcGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidGh5LXBhZ2luYXRpb24tanVtcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aHktcGFnaW5hdGlvbi1qdW1wZXItaW5wdXRcIj5cbiAgICAgICAgICDot7Poh7NcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAjanVtcGVySW5wdXQgKHRoeUVudGVyKT1cImp1bXBQYWdlKGp1bXBlcklucHV0KVwiIChibHVyKT1cImp1bXBQYWdlKGp1bXBlcklucHV0KVwiIC8+XG4gICAgICAgICAg6aG1XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -1,8 +1,7 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Directive, ElementRef, NgZone, Input, ViewContainerRef, HostBinding, ChangeDetectorRef } from '@angular/core';
1
+ import { Directive, ElementRef, NgZone, Input, ViewContainerRef, HostBinding, ChangeDetectorRef, numberAttribute, booleanAttribute } from '@angular/core';
3
2
  import { Platform } from '@angular/cdk/platform';
4
3
  import { FocusMonitor } from '@angular/cdk/a11y';
5
- import { InputBoolean, InputNumber, ThyOverlayDirectiveBase } from 'ngx-tethys/core';
4
+ import { ThyOverlayDirectiveBase } from 'ngx-tethys/core';
6
5
  import { ThyPopover } from './popover.service';
7
6
  import { ThyPopoverConfig } from './popover.config';
8
7
  import * as i0 from "@angular/core";
@@ -117,31 +116,8 @@ export class ThyPopoverDirective extends ThyOverlayDirectiveBase {
117
116
  this.dispose();
118
117
  }
119
118
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyPopoverDirective, deps: [{ token: i0.ElementRef }, { token: i1.Platform }, { token: i2.FocusMonitor }, { token: i0.NgZone }, { token: i3.ThyPopover }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
120
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.3", type: ThyPopoverDirective, isStandalone: true, selector: "[thyPopover]", inputs: { content: ["thyPopover", "content"], thyTrigger: "thyTrigger", thyPlacement: "thyPlacement", thyOffset: "thyOffset", thyConfig: "thyConfig", thyShowDelay: "thyShowDelay", thyHideDelay: "thyHideDelay", thyAutoAdaptive: "thyAutoAdaptive", thyDisabled: "thyDisabled" }, host: { properties: { "class.thy-popover-opened": "this.popoverOpened" } }, usesInheritance: true, ngImport: i0 }); }
119
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.2.3", type: ThyPopoverDirective, isStandalone: true, selector: "[thyPopover]", inputs: { content: ["thyPopover", "content"], thyTrigger: "thyTrigger", thyPlacement: "thyPlacement", thyOffset: ["thyOffset", "thyOffset", numberAttribute], thyConfig: "thyConfig", thyShowDelay: ["thyShowDelay", "thyShowDelay", numberAttribute], thyHideDelay: ["thyHideDelay", "thyHideDelay", numberAttribute], thyAutoAdaptive: ["thyAutoAdaptive", "thyAutoAdaptive", booleanAttribute], thyDisabled: ["thyDisabled", "thyDisabled", booleanAttribute] }, host: { properties: { "class.thy-popover-opened": "this.popoverOpened" } }, usesInheritance: true, ngImport: i0 }); }
121
120
  }
122
- __decorate([
123
- InputNumber(),
124
- __metadata("design:type", Number)
125
- ], ThyPopoverDirective.prototype, "thyOffset", void 0);
126
- __decorate([
127
- InputNumber(),
128
- __metadata("design:type", Number),
129
- __metadata("design:paramtypes", [Number])
130
- ], ThyPopoverDirective.prototype, "thyShowDelay", null);
131
- __decorate([
132
- InputNumber(),
133
- __metadata("design:type", Number),
134
- __metadata("design:paramtypes", [Number])
135
- ], ThyPopoverDirective.prototype, "thyHideDelay", null);
136
- __decorate([
137
- InputBoolean(),
138
- __metadata("design:type", Object)
139
- ], ThyPopoverDirective.prototype, "thyAutoAdaptive", void 0);
140
- __decorate([
141
- InputBoolean(),
142
- __metadata("design:type", Boolean),
143
- __metadata("design:paramtypes", [Boolean])
144
- ], ThyPopoverDirective.prototype, "thyDisabled", null);
145
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyPopoverDirective, decorators: [{
146
122
  type: Directive,
147
123
  args: [{
@@ -159,18 +135,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
159
135
  }], thyPlacement: [{
160
136
  type: Input
161
137
  }], thyOffset: [{
162
- type: Input
138
+ type: Input,
139
+ args: [{ transform: numberAttribute }]
163
140
  }], thyConfig: [{
164
141
  type: Input
165
142
  }], thyShowDelay: [{
166
143
  type: Input,
167
- args: ['thyShowDelay']
144
+ args: [{ transform: numberAttribute }]
168
145
  }], thyHideDelay: [{
169
146
  type: Input,
170
- args: ['thyHideDelay']
147
+ args: [{ transform: numberAttribute }]
171
148
  }], thyAutoAdaptive: [{
172
- type: Input
149
+ type: Input,
150
+ args: [{ transform: booleanAttribute }]
173
151
  }], thyDisabled: [{
174
- type: Input
152
+ type: Input,
153
+ args: [{ transform: booleanAttribute }]
175
154
  }] } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcG9wb3Zlci9wb3BvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUVOLEtBQUssRUFHTCxnQkFBZ0IsRUFDaEIsV0FBVyxFQUNYLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFtQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3RILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7QUFFcEQ7Ozs7R0FJRztBQUtILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx1QkFBdUI7SUFRNUQ7O09BRUc7SUFDSCxJQUFhLFVBQVUsQ0FBQyxPQUEwQjtRQUM5QyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUMzQixDQUFDO0lBa0JEOztPQUVHO0lBQ0gsSUFFSSxZQUFZLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUVJLFlBQVksQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFPRDs7O09BR0c7SUFDSCxJQUE2QixXQUFXLENBQUMsS0FBYztRQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBSUQsWUFDVyxVQUFzQixFQUM3QixR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ZUFBZTtzQkFBdkMsS0FBSztnQkFNdUIsV0FBVztzQkFBdkMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBJbnB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBPbkluaXQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4sIElucHV0TnVtYmVyLCBUaHlPdmVybGF5RGlyZWN0aXZlQmFzZSwgVGh5T3ZlcmxheVRyaWdnZXIsIFRoeVBsYWNlbWVudCB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyIH0gZnJvbSAnLi9wb3BvdmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlclJlZiB9IGZyb20gJy4vcG9wb3Zlci1yZWYnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlckNvbmZpZyB9IGZyb20gJy4vcG9wb3Zlci5jb25maWcnO1xuXG4vKipcbiAqIOW8ueWHuuaCrOa1ruWxguaMh+S7pFxuICogQG5hbWUgdGh5UG9wb3ZlclxuICogQG9yZGVyIDUwXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3RoeVBvcG92ZXJdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRoeVBvcG92ZXJEaXJlY3RpdmUgZXh0ZW5kcyBUaHlPdmVybGF5RGlyZWN0aXZlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLnRoeS1wb3BvdmVyLW9wZW5lZGApIHBvcG92ZXJPcGVuZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOaCrOa1rue7hOS7tuaIluiAheaooeadv1xuICAgICAqL1xuICAgIEBJbnB1dCgndGh5UG9wb3ZlcicpIGNvbnRlbnQ6IENvbXBvbmVudFR5cGU8YW55PiB8IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rmgqzmta7lsYLnmoTop6blj5HmlrnlvI9cbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgdGh5VHJpZ2dlcih0cmlnZ2VyOiBUaHlPdmVybGF5VHJpZ2dlcikge1xuICAgICAgICB0aGlzLnRyaWdnZXIgPSB0cmlnZ2VyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOW8ueWHuuaCrOa1ruWxgueahOS9jee9rlxuICAgICAqIEB0eXBlIHRvcCB8IHRvcExlZnQgfCB0b3BSaWdodCB8IGJvdHRvbSB8IGJvdHRvbUxlZnQgfCBib3R0b21SaWdodCB8IGxlZnQgfCBsZWZ0VG9wIHwgbGVmdEJvdHRvbSB8IHJpZ2h0IHwgIHJpZ2h0VG9wIHwgcmlnaHRCb3R0b21cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlQbGFjZW1lbnQ6IFRoeVBsYWNlbWVudCA9ICdib3R0b20nO1xuXG4gICAgLyoqXG4gICAgICog5by55Ye65oKs5rWu5bGC55qE5YGP56e76YePXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0TnVtYmVyKCkgdGh5T2Zmc2V0OiBudW1iZXIgPSAwO1xuXG4gICAgLyoqXG4gICAgICog5by55Ye65oKs5rWu5bGC55qE6YWN572uXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5Q29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnO1xuXG4gICAgLyoqXG4gICAgICog5pi+56S65bu26L+f5pe26Ze0XG4gICAgICovXG4gICAgQElucHV0KCd0aHlTaG93RGVsYXknKVxuICAgIEBJbnB1dE51bWJlcigpXG4gICAgc2V0IHRoeVNob3dEZWxheSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2hvd0RlbGF5ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6ZqQ6JeP5bu26L+f5pe26Ze0XG4gICAgICovXG4gICAgQElucHV0KCd0aHlIaWRlRGVsYXknKVxuICAgIEBJbnB1dE51bWJlcigpXG4gICAgc2V0IHRoeUhpZGVEZWxheSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuaGlkZURlbGF5ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6Ieq5Yqo6YCC6YWN5YaF5a655Y+Y5YyW6YeN5paw6K6h566X5L2N572uXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHRoeUF1dG9BZGFwdGl2ZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm56aB55So5omT5byA5oKs5rWu5bGCXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgc2V0IHRoeURpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHBvcG92ZXJSZWY6IFRoeVBvcG92ZXJSZWY8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICAgICBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICAgICAgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgcG9wb3ZlcjogVGh5UG9wb3ZlcixcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgcGxhdGZvcm0sIGZvY3VzTW9uaXRvciwgbmdab25lLCB0cnVlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfVxuXG4gICAgY3JlYXRlT3ZlcmxheSgpOiBPdmVybGF5UmVmIHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvcmlnaW46IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIGhhc0JhY2tkcm9wOiB0aGlzLnRyaWdnZXIgPT09ICdjbGljaycgfHwgdGhpcy50cmlnZ2VyID09PSAnZm9jdXMnLFxuICAgICAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6IHRoaXMudGh5UGxhY2VtZW50LFxuICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy50aHlPZmZzZXQsXG4gICAgICAgICAgICAgICAgYXV0b0FkYXB0aXZlOiB0aGlzLnRoeUF1dG9BZGFwdGl2ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMudGh5Q29uZmlnXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucG9wb3ZlclJlZiA9IHRoaXMucG9wb3Zlci5vcGVuKHRoaXMuY29udGVudCwgY29uZmlnKTtcblxuICAgICAgICB0aGlzLnBvcG92ZXJSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyT3BlbmVkID0gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnBvcG92ZXJSZWYuZ2V0T3ZlcmxheVJlZigpO1xuICAgIH1cblxuICAgIHNob3coZGVsYXk6IG51bWJlciA9IHRoaXMuc2hvd0RlbGF5KSB7XG4gICAgICAgIGlmICh0aGlzLmhpZGVUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmhpZGVUaW1lb3V0SWQpO1xuICAgICAgICAgICAgdGhpcy5oaWRlVGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8ICh0aGlzLm92ZXJsYXlSZWYgJiYgdGhpcy5vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlciAhPT0gJ2hvdmVyJykge1xuICAgICAgICAgICAgZGVsYXkgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5jcmVhdGVPdmVybGF5KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gb3ZlcmxheVJlZjtcbiAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJPcGVuZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfSwgZGVsYXkpO1xuICAgIH1cblxuICAgIGhpZGUoZGVsYXk6IG51bWJlciA9IHRoaXMuaGlkZURlbGF5KSB7XG4gICAgICAgIGlmICh0aGlzLnNob3dUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNob3dUaW1lb3V0SWQpO1xuICAgICAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaGlkZVRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucG9wb3ZlclJlZikge1xuICAgICAgICAgICAgICAgIHRoaXMucG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5oaWRlVGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfSwgZGVsYXkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgICB9XG59XG4iXX0=
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcG9wb3Zlci9wb3BvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBRU4sS0FBSyxFQUdMLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQW1DLE1BQU0saUJBQWlCLENBQUM7QUFDM0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQUVwRDs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHVCQUF1QjtJQVE1RDs7T0FFRztJQUNILElBQWEsVUFBVSxDQUFDLE9BQTBCO1FBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFrQkQ7O09BRUc7SUFDSCxJQUNJLFlBQVksQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksWUFBWSxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQU9EOzs7T0FHRztJQUNILElBQTRDLFdBQVcsQ0FBQyxLQUFjO1FBQ2xFLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFJRCxZQUNXLFVBQXNCLEVBQzdC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dEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFNTSxXQUFXO3NCQUF0RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIElucHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIG51bWJlckF0dHJpYnV0ZSxcbiAgICBib29sZWFuQXR0cmlidXRlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IFRoeU92ZXJsYXlEaXJlY3RpdmVCYXNlLCBUaHlPdmVybGF5VHJpZ2dlciwgVGh5UGxhY2VtZW50IH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIgfSBmcm9tICcuL3BvcG92ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnLi9wb3BvdmVyLXJlZic7XG5pbXBvcnQgeyBUaHlQb3BvdmVyQ29uZmlnIH0gZnJvbSAnLi9wb3BvdmVyLmNvbmZpZyc7XG5cbi8qKlxuICog5by55Ye65oKs5rWu5bGC5oyH5LukXG4gKiBAbmFtZSB0aHlQb3BvdmVyXG4gKiBAb3JkZXIgNTBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdGh5UG9wb3Zlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGh5UG9wb3ZlckRpcmVjdGl2ZSBleHRlbmRzIFRoeU92ZXJsYXlEaXJlY3RpdmVCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBIb3N0QmluZGluZyhgY2xhc3MudGh5LXBvcG92ZXItb3BlbmVkYCkgcG9wb3Zlck9wZW5lZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5oKs5rWu57uE5Lu25oiW6ICF5qih5p2/XG4gICAgICovXG4gICAgQElucHV0KCd0aHlQb3BvdmVyJykgY29udGVudDogQ29tcG9uZW50VHlwZTxhbnk+IHwgVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIOW8ueWHuuaCrOa1ruWxgueahOinpuWPkeaWueW8j1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCB0aHlUcmlnZ2VyKHRyaWdnZXI6IFRoeU92ZXJsYXlUcmlnZ2VyKSB7XG4gICAgICAgIHRoaXMudHJpZ2dlciA9IHRyaWdnZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5by55Ye65oKs5rWu5bGC55qE5L2N572uXG4gICAgICogQHR5cGUgdG9wIHwgdG9wTGVmdCB8IHRvcFJpZ2h0IHwgYm90dG9tIHwgYm90dG9tTGVmdCB8IGJvdHRvbVJpZ2h0IHwgbGVmdCB8IGxlZnRUb3AgfCBsZWZ0Qm90dG9tIHwgcmlnaHQgfCAgcmlnaHRUb3AgfCByaWdodEJvdHRvbVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVBsYWNlbWVudDogVGh5UGxhY2VtZW50ID0gJ2JvdHRvbSc7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rmgqzmta7lsYLnmoTlgY/np7vph49cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSB0aHlPZmZzZXQ6IG51bWJlciA9IDA7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rmgqzmta7lsYLnmoTphY3nva5cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlDb25maWc6IFRoeVBvcG92ZXJDb25maWc7XG5cbiAgICAvKipcbiAgICAgKiDmmL7npLrlu7bov5/ml7bpl7RcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICAgIHNldCB0aHlTaG93RGVsYXkodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNob3dEZWxheSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOmakOiXj+W7tui/n+aXtumXtFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeUhpZGVEZWxheSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuaGlkZURlbGF5ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6Ieq5Yqo6YCC6YWN5YaF5a655Y+Y5YyW6YeN5paw6K6h566X5L2N572uXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHRoeUF1dG9BZGFwdGl2ZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm56aB55So5omT5byA5oKs5rWu5bGCXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2V0IHRoeURpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHBvcG92ZXJSZWY6IFRoeVBvcG92ZXJSZWY8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICAgICBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICAgICAgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgcG9wb3ZlcjogVGh5UG9wb3ZlcixcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgcGxhdGZvcm0sIGZvY3VzTW9uaXRvciwgbmdab25lLCB0cnVlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfVxuXG4gICAgY3JlYXRlT3ZlcmxheSgpOiBPdmVybGF5UmVmIHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvcmlnaW46IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIGhhc0JhY2tkcm9wOiB0aGlzLnRyaWdnZXIgPT09ICdjbGljaycgfHwgdGhpcy50cmlnZ2VyID09PSAnZm9jdXMnLFxuICAgICAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6IHRoaXMudGh5UGxhY2VtZW50LFxuICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy50aHlPZmZzZXQsXG4gICAgICAgICAgICAgICAgYXV0b0FkYXB0aXZlOiB0aGlzLnRoeUF1dG9BZGFwdGl2ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMudGh5Q29uZmlnXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucG9wb3ZlclJlZiA9IHRoaXMucG9wb3Zlci5vcGVuKHRoaXMuY29udGVudCwgY29uZmlnKTtcblxuICAgICAgICB0aGlzLnBvcG92ZXJSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyT3BlbmVkID0gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnBvcG92ZXJSZWYuZ2V0T3ZlcmxheVJlZigpO1xuICAgIH1cblxuICAgIHNob3coZGVsYXk6IG51bWJlciA9IHRoaXMuc2hvd0RlbGF5KSB7XG4gICAgICAgIGlmICh0aGlzLmhpZGVUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmhpZGVUaW1lb3V0SWQpO1xuICAgICAgICAgICAgdGhpcy5oaWRlVGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8ICh0aGlzLm92ZXJsYXlSZWYgJiYgdGhpcy5vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlciAhPT0gJ2hvdmVyJykge1xuICAgICAgICAgICAgZGVsYXkgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5jcmVhdGVPdmVybGF5KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gb3ZlcmxheVJlZjtcbiAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJPcGVuZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfSwgZGVsYXkpO1xuICAgIH1cblxuICAgIGhpZGUoZGVsYXk6IG51bWJlciA9IHRoaXMuaGlkZURlbGF5KSB7XG4gICAgICAgIGlmICh0aGlzLnNob3dUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNob3dUaW1lb3V0SWQpO1xuICAgICAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaGlkZVRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucG9wb3ZlclJlZikge1xuICAgICAgICAgICAgICAgIHRoaXMucG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5oaWRlVGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfSwgZGVsYXkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgICB9XG59XG4iXX0=
@@ -1,10 +1,8 @@
1
- import { __decorate, __metadata } from "tslib";
2
1
  import { isString } from 'ngx-tethys/util';
3
- import { Component, Input, ViewEncapsulation } from '@angular/core';
2
+ import { Component, Input, ViewEncapsulation, numberAttribute } from '@angular/core';
4
3
  import { useHostRenderer } from '@tethys/cdk/dom';
5
4
  import { NgClass, NgStyle, NgFor } from '@angular/common';
6
5
  import { ThyTooltipDirective } from 'ngx-tethys/tooltip';
7
- import { InputNumber } from 'ngx-tethys/core';
8
6
  import * as i0 from "@angular/core";
9
7
  /**
10
8
  * @private
@@ -109,20 +107,8 @@ export class ThyProgressCircle {
109
107
  return index;
110
108
  }
111
109
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyProgressCircle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
112
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyProgressCircle, isStandalone: true, selector: "thy-progress-circle", inputs: { thyType: "thyType", thySize: "thySize", thyValue: "thyValue", thyMax: "thyMax", thyTips: "thyTips", thyShape: "thyShape", thyGapDegree: "thyGapDegree", thyGapPosition: "thyGapPosition", thyStrokeWidth: "thyStrokeWidth" }, host: { classAttribute: "progress-circle" }, usesOnChanges: true, ngImport: i0, template: "<div\n [thyTooltip]=\"thyTips\"\n [thyTooltipDisabled]=\"!thyTips\"\n [style.width.px]=\"width\"\n [style.height.px]=\"width\"\n [ngClass]=\"progressSize\"\n class=\"progress-circle-inner\"\n>\n <svg class=\"progress-circle-svg\" viewBox=\"0 0 100 100\">\n <path\n class=\"progress-circle-trail\"\n fill-opacity=\"0\"\n [attr.d]=\"pathString\"\n [ngStyle]=\"trailPathStyle\"\n [attr.stroke-width]=\"strokeWidth\"\n ></path>\n <path\n *ngFor=\"let p of progressCirclePath; trackBy: trackByFn\"\n class=\"progress-circle-path\"\n [ngClass]=\"p.className\"\n fill-opacity=\"0\"\n [attr.d]=\"pathString\"\n [attr.stroke-linecap]=\"'round'\"\n [attr.stroke]=\"p.stroke\"\n [attr.stroke-width]=\"p.value ? strokeWidth : 0\"\n [ngStyle]=\"p.strokePathStyle\"\n ></path>\n </svg>\n <span class=\"progress-circle-content\">\n <ng-content></ng-content>\n </span>\n</div>\n", dependencies: [{ kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], encapsulation: i0.ViewEncapsulation.None }); }
110
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyProgressCircle, isStandalone: true, selector: "thy-progress-circle", inputs: { thyType: "thyType", thySize: "thySize", thyValue: "thyValue", thyMax: ["thyMax", "thyMax", numberAttribute], thyTips: "thyTips", thyShape: "thyShape", thyGapDegree: ["thyGapDegree", "thyGapDegree", numberAttribute], thyGapPosition: "thyGapPosition", thyStrokeWidth: ["thyStrokeWidth", "thyStrokeWidth", numberAttribute] }, host: { classAttribute: "progress-circle" }, usesOnChanges: true, ngImport: i0, template: "<div\n [thyTooltip]=\"thyTips\"\n [thyTooltipDisabled]=\"!thyTips\"\n [style.width.px]=\"width\"\n [style.height.px]=\"width\"\n [ngClass]=\"progressSize\"\n class=\"progress-circle-inner\"\n>\n <svg class=\"progress-circle-svg\" viewBox=\"0 0 100 100\">\n <path\n class=\"progress-circle-trail\"\n fill-opacity=\"0\"\n [attr.d]=\"pathString\"\n [ngStyle]=\"trailPathStyle\"\n [attr.stroke-width]=\"strokeWidth\"\n ></path>\n <path\n *ngFor=\"let p of progressCirclePath; trackBy: trackByFn\"\n class=\"progress-circle-path\"\n [ngClass]=\"p.className\"\n fill-opacity=\"0\"\n [attr.d]=\"pathString\"\n [attr.stroke-linecap]=\"'round'\"\n [attr.stroke]=\"p.stroke\"\n [attr.stroke-width]=\"p.value ? strokeWidth : 0\"\n [ngStyle]=\"p.strokePathStyle\"\n ></path>\n </svg>\n <span class=\"progress-circle-content\">\n <ng-content></ng-content>\n </span>\n</div>\n", dependencies: [{ kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], encapsulation: i0.ViewEncapsulation.None }); }
113
111
  }
114
- __decorate([
115
- InputNumber(),
116
- __metadata("design:type", Number)
117
- ], ThyProgressCircle.prototype, "thyMax", void 0);
118
- __decorate([
119
- InputNumber(),
120
- __metadata("design:type", Number)
121
- ], ThyProgressCircle.prototype, "thyGapDegree", void 0);
122
- __decorate([
123
- InputNumber(),
124
- __metadata("design:type", Number)
125
- ], ThyProgressCircle.prototype, "thyStrokeWidth", void 0);
126
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyProgressCircle, decorators: [{
127
113
  type: Component,
128
114
  args: [{ selector: 'thy-progress-circle', encapsulation: ViewEncapsulation.None, host: {
@@ -135,16 +121,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
135
121
  }], thyValue: [{
136
122
  type: Input
137
123
  }], thyMax: [{
138
- type: Input
124
+ type: Input,
125
+ args: [{ transform: numberAttribute }]
139
126
  }], thyTips: [{
140
127
  type: Input
141
128
  }], thyShape: [{
142
129
  type: Input
143
130
  }], thyGapDegree: [{
144
- type: Input
131
+ type: Input,
132
+ args: [{ transform: numberAttribute }]
145
133
  }], thyGapPosition: [{
146
134
  type: Input
147
135
  }], thyStrokeWidth: [{
148
- type: Input
136
+ type: Input,
137
+ args: [{ transform: numberAttribute }]
149
138
  }] } });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtY2lyY2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm9ncmVzcy9wcm9ncmVzcy1jaXJjbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL3Byb2dyZXNzL3Byb2dyZXNzLWNpcmNsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFpRCxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFVbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUU5Qzs7R0FFRztBQVdILE1BQU0sT0FBTyxpQkFBaUI7SUFHMUIsSUFBYSxPQUFPLENBQUMsSUFBcUI7UUFDdEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsSUFBYSxPQUFPLENBQUMsSUFBcUI7UUFDdEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcseUJBQXlCLElBQUksRUFBRSxDQUFDO1lBQ3hELENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FB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QztRQUNOLENBQUMsQ0FBQzthQUNELE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYTtRQUNuQixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOzhHQXBJUSxpQkFBaUI7a0dBQWpCLGlCQUFpQix5WEM5QjlCLCs3QkFnQ0EsNENESmMsbUJBQW1CLDhUQUFFLE9BQU8sb0ZBQUUsT0FBTywyRUFBRSxLQUFLOztBQXFCOUI7SUFBZCxXQUFXLEVBQUU7O2lEQUFnQjtBQU1mO0lBQWQsV0FBVyxFQUFFOzt1REFBbUM7QUFJbEM7SUFBZCxXQUFXLEVBQUU7O3lEQUF3QjsyRkE3QnRDLGlCQUFpQjtrQkFWN0IsU0FBUzsrQkFDSSxxQkFBcUIsaUJBRWhCLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0YsS0FBSyxFQUFFLGlCQUFpQjtxQkFDM0IsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQzt3REFLMUMsT0FBTztzQkFBbkIsS0FBSztnQkFJTyxPQUFPO3NCQUFuQixLQUFLO2dCQVVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRWtCLE1BQU07c0JBQTdCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRWtCLFlBQVk7c0JBQW5DLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFFa0IsY0FBYztzQkFBckMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU3RyaW5nIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcblxuaW1wb3J0IHtcbiAgICBUaHlQcm9ncmVzc0NpcmNsZVBhdGgsXG4gICAgVGh5UHJvZ3Jlc3NHYXBQb3NpdGlvblR5cGUsXG4gICAgVGh5UHJvZ3Jlc3NQYXRoU3R5bGUsXG4gICAgVGh5UHJvZ3Jlc3NTaGFwZVR5cGUsXG4gICAgVGh5UHJvZ3Jlc3NTdGFja2VkVmFsdWUsXG4gICAgVGh5UHJvZ3Jlc3NUeXBlXG59IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1N0eWxlLCBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUaHlUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy90b29sdGlwJztcbmltcG9ydCB7IElucHV0TnVtYmVyIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1wcm9ncmVzcy1jaXJjbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmVzcy1jaXJjbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3Byb2dyZXNzLWNpcmNsZSdcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1RoeVRvb2x0aXBEaXJlY3RpdmUsIE5nQ2xhc3MsIE5nU3R5bGUsIE5nRm9yXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlQcm9ncmVzc0NpcmNsZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBwcml2YXRlIGhvc3RSZW5kZXJlciA9IHVzZUhvc3RSZW5kZXJlcigpO1xuXG4gICAgQElucHV0KCkgc2V0IHRoeVR5cGUodHlwZTogVGh5UHJvZ3Jlc3NUeXBlKSB7XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzKHR5cGUgPyBbYHByb2dyZXNzLWNpcmNsZS0ke3R5cGV9YF0gOiBbXSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHRoeVNpemUoc2l6ZTogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgICAgIGlmIChzaXplKSB7XG4gICAgICAgICAgICBpZiAoaXNTdHJpbmcoc2l6ZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2dyZXNzU2l6ZSA9IGBwcm9ncmVzcy1jaXJjbGUtaW5uZXItJHtzaXplfWA7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMud2lkdGggPSBzaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KCkgdGh5VmFsdWU6IG51bWJlciB8IFRoeVByb2dyZXNzU3RhY2tlZFZhbHVlW107XG5cbiAgICBASW5wdXQoKSBASW5wdXROdW1iZXIoKSB0aHlNYXg6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIHRoeVRpcHM6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gICAgQElucHV0KCkgdGh5U2hhcGU6IFRoeVByb2dyZXNzU2hhcGVUeXBlID0gJ3N0cmlwJztcblxuICAgIEBJbnB1dCgpIEBJbnB1dE51bWJlcigpIHRoeUdhcERlZ3JlZT86IG51bWJlciA9IHVuZGVmaW5lZDtcblxuICAgIEBJbnB1dCgpIHRoeUdhcFBvc2l0aW9uOiBUaHlQcm9ncmVzc0dhcFBvc2l0aW9uVHlwZSA9ICd0b3AnO1xuXG4gICAgQElucHV0KCkgQElucHV0TnVtYmVyKCkgdGh5U3Ryb2tlV2lkdGg6IG51bWJlcjtcblxuICAgIHB1YmxpYyB0cmFpbFBhdGhTdHlsZTogVGh5UHJvZ3Jlc3NQYXRoU3R5bGUgfCBudWxsID0gbnVsbDtcblxuICAgIHB1YmxpYyBwcm9ncmVzc0NpcmNsZVBhdGg6IFRoeVByb2dyZXNzQ2lyY2xlUGF0aFtdO1xuXG4gICAgcHVibGljIHBhdGhTdHJpbmc/OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgd2lkdGg6IG51bWJlciA9IDExMjtcblxuICAgIHB1YmxpYyBwcm9ncmVzc1NpemU6IHN0cmluZztcblxuICAgIGdldCBzdHJva2VXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy50aHlTdHJva2VXaWR0aCB8fCA2O1xuICAgIH1cblxuICAgIHB1YmxpYyB2YWx1ZTogbnVtYmVyIHwgVGh5UHJvZ3Jlc3NTdGFja2VkVmFsdWVbXTtcblxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNyZWF0ZUNpcmNsZVByb2dyZXNzKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHRoeUdhcERlZ3JlZSwgdGh5VmFsdWUsIHRoeUdhcFBvc2l0aW9uIH0gPSBjaGFuZ2VzO1xuXG4gICAgICAgIGlmICh0aHlHYXBEZWdyZWUgfHwgdGh5VmFsdWUgfHwgdGh5R2FwUG9zaXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQ2lyY2xlUHJvZ3Jlc3MoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQ2lyY2xlUHJvZ3Jlc3MoKTogdm9pZCB7XG4gICAgICAgIGxldCB2YWx1ZXM6IFRoeVByb2dyZXNzU3RhY2tlZFZhbHVlW10gPSBbXTtcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnRoeVZhbHVlKSkge1xuICAgICAgICAgICAgbGV0IHRvdGFsVmFsdWUgPSAwO1xuICAgICAgICAgICAgdmFsdWVzID0gKHRoaXMudGh5VmFsdWUgYXMgdW5rbm93biBhcyBUaHlQcm9ncmVzc1N0YWNrZWRWYWx1ZVtdKS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgdG90YWxWYWx1ZSArPSBpdGVtLnZhbHVlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9ICsoKHRvdGFsVmFsdWUgLyB0aGlzLnRoeU1heCkgKiAxMDApLnRvRml4ZWQoMik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgLi4uaXRlbSwgdmFsdWU6IGN1cnJlbnRWYWx1ZSB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YWx1ZXMgPSBbeyB2YWx1ZTogdGhpcy50aHlWYWx1ZSB9XTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJhZGl1cyA9IDUwIC0gdGhpcy5zdHJva2VXaWR0aCAvIDI7XG4gICAgICAgIGNvbnN0IGdhcFBvc2l0aW9uID0gdGhpcy50aHlHYXBQb3NpdGlvbiB8fCAndG9wJztcbiAgICAgICAgY29uc3QgbGVuID0gTWF0aC5QSSAqIDIgKiByYWRpdXM7XG4gICAgICAgIGNvbnN0IGdhcERlZ3JlZSA9IHRoaXMudGh5R2FwRGVncmVlIHx8IDA7XG5cbiAgICAgICAgbGV0IGJlZ2luUG9zaXRpb25YID0gMDtcbiAgICAgICAgbGV0IGJlZ2luUG9zaXRpb25ZID0gLXJhZGl1cztcbiAgICAgICAgbGV0IGVuZFBvc2l0aW9uWCA9IDA7XG4gICAgICAgIGxldCBlbmRQb3NpdGlvblkgPSByYWRpdXMgKiAtMjtcblxuICAgICAgICBzd2l0Y2ggKGdhcFBvc2l0aW9uKSB7XG4gICAgICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgICAgICAgICBiZWdpblBvc2l0aW9uWCA9IC1yYWRpdXM7XG4gICAgICAgICAgICAgICAgYmVnaW5Qb3NpdGlvblkgPSAwO1xuICAgICAgICAgICAgICAgIGVuZFBvc2l0aW9uWCA9IHJhZGl1cyAqIDI7XG4gICAgICAgICAgICAgICAgZW5kUG9zaXRpb25ZID0gMDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICAgICAgICBiZWdpblBvc2l0aW9uWCA9IHJhZGl1cztcbiAgICAgICAgICAgICAgICBiZWdpblBvc2l0aW9uWSA9IDA7XG4gICAgICAgICAgICAgICAgZW5kUG9zaXRpb25YID0gcmFkaXVzICogLTI7XG4gICAgICAgICAgICAgICAgZW5kUG9zaXRpb25ZID0gMDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgICAgICAgICAgYmVnaW5Qb3NpdGlvblkgPSByYWRpdXM7XG4gICAgICAgICAgICAgICAgZW5kUG9zaXRpb25ZID0gcmFkaXVzICogMjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBhdGhTdHJpbmcgPSBgTSA1MCw1MCBtICR7YmVnaW5Qb3NpdGlvblh9LCR7YmVnaW5Qb3NpdGlvbll9IGEgJHtyYWRpdXN9LCR7cmFkaXVzfSAwIDEgMSAke2VuZFBvc2l0aW9uWH0sJHstZW5kUG9zaXRpb25ZfSBhICR7cmFkaXVzfSwke3JhZGl1c30gMCAxIDEgJHstZW5kUG9zaXRpb25YfSwke2VuZFBvc2l0aW9uWX1gO1xuXG4gICAgICAgIHRoaXMudHJhaWxQYXRoU3R5bGUgPSB7XG4gICAgICAgICAgICBzdHJva2VEYXNoYXJyYXk6IGAke2xlbiAtIGdhcERlZ3JlZX1weCAke2xlbn1weGAsXG4gICAgICAgICAgICBzdHJva2VEYXNob2Zmc2V0OiBgLSR7Z2FwRGVncmVlIC8gMn1weGAsXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAnc3Ryb2tlLWRhc2hvZmZzZXQgLjNzIGVhc2UgMHMsIHN0cm9rZS1kYXNoYXJyYXkgLjNzIGVhc2UgMHMsIHN0cm9rZSAuM3MnXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5wcm9ncmVzc0NpcmNsZVBhdGggPSB2YWx1ZXNcbiAgICAgICAgICAgIC5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogK2l0ZW0udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogaXRlbS50eXBlID8gYHByb2dyZXNzLWNpcmNsZS1wYXRoLSR7aXRlbS50eXBlfWAgOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBzdHJva2VQYXRoU3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogaXRlbT8uY29sb3IgPyBpdGVtPy5jb2xvciA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAnc3Ryb2tlLWRhc2hvZmZzZXQgLjNzIGVhc2UgMHMsIHN0cm9rZS1kYXNoYXJyYXkgLjNzIGVhc2UgMHMsIHN0cm9rZSAuM3MsIHN0cm9rZS13aWR0aCAuMDZzIGVhc2UgLjNzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZURhc2hhcnJheTogYCR7KChpdGVtLnZhbHVlIHx8IDApIC8gMTAwKSAqIChsZW4gLSBnYXBEZWdyZWUpfXB4ICR7bGVufXB4YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZURhc2hvZmZzZXQ6IGAtJHtnYXBEZWdyZWUgLyAyfXB4YFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucmV2ZXJzZSgpO1xuICAgIH1cblxuICAgIHRyYWNrQnlGbihpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG59XG4iLCI8ZGl2XG4gIFt0aHlUb29sdGlwXT1cInRoeVRpcHNcIlxuICBbdGh5VG9vbHRpcERpc2FibGVkXT1cIiF0aHlUaXBzXCJcbiAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCJcbiAgW3N0eWxlLmhlaWdodC5weF09XCJ3aWR0aFwiXG4gIFtuZ0NsYXNzXT1cInByb2dyZXNzU2l6ZVwiXG4gIGNsYXNzPVwicHJvZ3Jlc3MtY2lyY2xlLWlubmVyXCJcbj5cbiAgPHN2ZyBjbGFzcz1cInByb2dyZXNzLWNpcmNsZS1zdmdcIiB2aWV3Qm94PVwiMCAwIDEwMCAxMDBcIj5cbiAgICA8cGF0aFxuICAgICAgY2xhc3M9XCJwcm9ncmVzcy1jaXJjbGUtdHJhaWxcIlxuICAgICAgZmlsbC1vcGFjaXR5PVwiMFwiXG4gICAgICBbYXR0ci5kXT1cInBhdGhTdHJpbmdcIlxuICAgICAgW25nU3R5bGVdPVwidHJhaWxQYXRoU3R5bGVcIlxuICAgICAgW2F0dHIuc3Ryb2tlLXdpZHRoXT1cInN0cm9rZVdpZHRoXCJcbiAgICA+PC9wYXRoPlxuICAgIDxwYXRoXG4gICAgICAqbmdGb3I9XCJsZXQgcCBvZiBwcm9ncmVzc0NpcmNsZVBhdGg7IHRyYWNrQnk6IHRyYWNrQnlGblwiXG4gICAgICBjbGFzcz1cInByb2dyZXNzLWNpcmNsZS1wYXRoXCJcbiAgICAgIFtuZ0NsYXNzXT1cInAuY2xhc3NOYW1lXCJcbiAgICAgIGZpbGwtb3BhY2l0eT1cIjBcIlxuICAgICAgW2F0dHIuZF09XCJwYXRoU3RyaW5nXCJcbiAgICAgIFthdHRyLnN0cm9rZS1saW5lY2FwXT1cIidyb3VuZCdcIlxuICAgICAgW2F0dHIuc3Ryb2tlXT1cInAuc3Ryb2tlXCJcbiAgICAgIFthdHRyLnN0cm9rZS13aWR0aF09XCJwLnZhbHVlID8gc3Ryb2tlV2lkdGggOiAwXCJcbiAgICAgIFtuZ1N0eWxlXT1cInAuc3Ryb2tlUGF0aFN0eWxlXCJcbiAgICA+PC9wYXRoPlxuICA8L3N2Zz5cbiAgPHNwYW4gY2xhc3M9XCJwcm9ncmVzcy1jaXJjbGUtY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9zcGFuPlxuPC9kaXY+XG4iXX0=
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtY2lyY2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm9ncmVzcy9wcm9ncmVzcy1jaXJjbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL3Byb2dyZXNzL3Byb2dyZXNzLWNpcmNsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWlELGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFVbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRXpEOztHQUVHO0FBV0gsTUFBTSxPQUFPLGlCQUFpQjtJQUcxQixJQUFhLE9BQU8sQ0FBQyxJQUFxQjtRQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxJQUFhLE9BQU8sQ0FBQyxJQUFxQjtRQUN0QyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDLFlBQVksR0FBRyx5QkFBeUIsSUFBSSxFQUFFLENBQUM7WUFDeEQsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJ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QztJQUNuQixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWE7UUFDbkIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs4R0FwSVEsaUJBQWlCO2tHQUFqQixpQkFBaUIsNEpBbUJOLGVBQWUsNEZBTWYsZUFBZSwwRkFJZixlQUFlLCtGQzFEdkMsKzdCQWdDQSw0Q0RMYyxtQkFBbUIsOFRBQUUsT0FBTyxvRkFBRSxPQUFPLDJFQUFFLEtBQUs7OzJGQUU3QyxpQkFBaUI7a0JBVjdCLFNBQVM7K0JBQ0kscUJBQXFCLGlCQUVoQixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNGLEtBQUssRUFBRSxpQkFBaUI7cUJBQzNCLGNBQ1csSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUM7d0RBSzFDLE9BQU87c0JBQW5CLEtBQUs7Z0JBSU8sT0FBTztzQkFBbkIsS0FBSztnQkFVRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVpQyxNQUFNO3NCQUE1QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFFNUIsT0FBTztzQkFBZixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRWlDLFlBQVk7c0JBQWxELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUU1QixjQUFjO3NCQUF0QixLQUFLO2dCQUVpQyxjQUFjO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU3RyaW5nIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiwgbnVtYmVyQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuXG5pbXBvcnQge1xuICAgIFRoeVByb2dyZXNzQ2lyY2xlUGF0aCxcbiAgICBUaHlQcm9ncmVzc0dhcFBvc2l0aW9uVHlwZSxcbiAgICBUaHlQcm9ncmVzc1BhdGhTdHlsZSxcbiAgICBUaHlQcm9ncmVzc1NoYXBlVHlwZSxcbiAgICBUaHlQcm9ncmVzc1N0YWNrZWRWYWx1ZSxcbiAgICBUaHlQcm9ncmVzc1R5cGVcbn0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE5nQ2xhc3MsIE5nU3R5bGUsIE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRoeVRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICduZ3gtdGV0aHlzL3Rvb2x0aXAnO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LXByb2dyZXNzLWNpcmNsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLWNpcmNsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAncHJvZ3Jlc3MtY2lyY2xlJ1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVGh5VG9vbHRpcERpcmVjdGl2ZSwgTmdDbGFzcywgTmdTdHlsZSwgTmdGb3JdXG59KVxuZXhwb3J0IGNsYXNzIFRoeVByb2dyZXNzQ2lyY2xlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICBASW5wdXQoKSBzZXQgdGh5VHlwZSh0eXBlOiBUaHlQcm9ncmVzc1R5cGUpIHtcbiAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIudXBkYXRlQ2xhc3ModHlwZSA/IFtgcHJvZ3Jlc3MtY2lyY2xlLSR7dHlwZX1gXSA6IFtdKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgdGh5U2l6ZShzaXplOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICAgICAgaWYgKHNpemUpIHtcbiAgICAgICAgICAgIGlmIChpc1N0cmluZyhzaXplKSkge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3NTaXplID0gYHByb2dyZXNzLWNpcmNsZS1pbm5lci0ke3NpemV9YDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy53aWR0aCA9IHNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKSB0aHlWYWx1ZTogbnVtYmVyIHwgVGh5UHJvZ3Jlc3NTdGFja2VkVmFsdWVbXTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHRoeU1heDogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgdGh5VGlwczogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgICBASW5wdXQoKSB0aHlTaGFwZTogVGh5UHJvZ3Jlc3NTaGFwZVR5cGUgPSAnc3RyaXAnO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdGh5R2FwRGVncmVlPzogbnVtYmVyID0gdW5kZWZpbmVkO1xuXG4gICAgQElucHV0KCkgdGh5R2FwUG9zaXRpb246IFRoeVByb2dyZXNzR2FwUG9zaXRpb25UeXBlID0gJ3RvcCc7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSB0aHlTdHJva2VXaWR0aDogbnVtYmVyO1xuXG4gICAgcHVibGljIHRyYWlsUGF0aFN0eWxlOiBUaHlQcm9ncmVzc1BhdGhTdHlsZSB8IG51bGwgPSBudWxsO1xuXG4gICAgcHVibGljIHByb2dyZXNzQ2lyY2xlUGF0aDogVGh5UHJvZ3Jlc3NDaXJjbGVQYXRoW107XG5cbiAgICBwdWJsaWMgcGF0aFN0cmluZz86IHN0cmluZztcblxuICAgIHB1YmxpYyB3aWR0aDogbnVtYmVyID0gMTEyO1xuXG4gICAgcHVibGljIHByb2dyZXNzU2l6ZTogc3RyaW5nO1xuXG4gICAgZ2V0IHN0cm9rZVdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoeVN0cm9rZVdpZHRoIHx8IDY7XG4gICAgfVxuXG4gICAgcHVibGljIHZhbHVlOiBudW1iZXIgfCBUaHlQcm9ncmVzc1N0YWNrZWRWYWx1ZVtdO1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlQ2lyY2xlUHJvZ3Jlc3MoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgdGh5R2FwRGVncmVlLCB0aHlWYWx1ZSwgdGh5R2FwUG9zaXRpb24gfSA9IGNoYW5nZXM7XG5cbiAgICAgICAgaWYgKHRoeUdhcERlZ3JlZSB8fCB0aHlWYWx1ZSB8fCB0aHlHYXBQb3NpdGlvbikge1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVDaXJjbGVQcm9ncmVzcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVDaXJjbGVQcm9ncmVzcygpOiB2b2lkIHtcbiAgICAgICAgbGV0IHZhbHVlczogVGh5UHJvZ3Jlc3NTdGFja2VkVmFsdWVbXSA9IFtdO1xuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMudGh5VmFsdWUpKSB7XG4gICAgICAgICAgICBsZXQgdG90YWxWYWx1ZSA9IDA7XG4gICAgICAgICAgICB2YWx1ZXMgPSAodGhpcy50aHlWYWx1ZSBhcyB1bmtub3duIGFzIFRoeVByb2dyZXNzU3RhY2tlZFZhbHVlW10pLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICB0b3RhbFZhbHVlICs9IGl0ZW0udmFsdWU7XG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gKygodG90YWxWYWx1ZSAvIHRoaXMudGh5TWF4KSAqIDEwMCkudG9GaXhlZCgyKTtcbiAgICAgICAgICAgICAgICByZXR1cm4geyAuLi5pdGVtLCB2YWx1ZTogY3VycmVudFZhbHVlIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhbHVlcyA9IFt7IHZhbHVlOiB0aGlzLnRoeVZhbHVlIH1dO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmFkaXVzID0gNTAgLSB0aGlzLnN0cm9rZVdpZHRoIC8gMjtcbiAgICAgICAgY29uc3QgZ2FwUG9zaXRpb24gPSB0aGlzLnRoeUdhcFBvc2l0aW9uIHx8ICd0b3AnO1xuICAgICAgICBjb25zdCBsZW4gPSBNYXRoLlBJICogMiAqIHJhZGl1cztcbiAgICAgICAgY29uc3QgZ2FwRGVncmVlID0gdGhpcy50aHlHYXBEZWdyZWUgfHwgMDtcblxuICAgICAgICBsZXQgYmVnaW5Qb3NpdGlvblggPSAwO1xuICAgICAgICBsZXQgYmVnaW5Qb3NpdGlvblkgPSAtcmFkaXVzO1xuICAgICAgICBsZXQgZW5kUG9zaXRpb25YID0gMDtcbiAgICAgICAgbGV0IGVuZFBvc2l0aW9uWSA9IHJhZGl1cyAqIC0yO1xuXG4gICAgICAgIHN3aXRjaCAoZ2FwUG9zaXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgICAgICAgIGJlZ2luUG9zaXRpb25YID0gLXJhZGl1cztcbiAgICAgICAgICAgICAgICBiZWdpblBvc2l0aW9uWSA9IDA7XG4gICAgICAgICAgICAgICAgZW5kUG9zaXRpb25YID0gcmFkaXVzICogMjtcbiAgICAgICAgICAgICAgICBlbmRQb3NpdGlvblkgPSAwO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgICAgICAgIGJlZ2luUG9zaXRpb25YID0gcmFkaXVzO1xuICAgICAgICAgICAgICAgIGJlZ2luUG9zaXRpb25ZID0gMDtcbiAgICAgICAgICAgICAgICBlbmRQb3NpdGlvblggPSByYWRpdXMgKiAtMjtcbiAgICAgICAgICAgICAgICBlbmRQb3NpdGlvblkgPSAwO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnYm90dG9tJzpcbiAgICAgICAgICAgICAgICBiZWdpblBvc2l0aW9uWSA9IHJhZGl1cztcbiAgICAgICAgICAgICAgICBlbmRQb3NpdGlvblkgPSByYWRpdXMgKiAyO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucGF0aFN0cmluZyA9IGBNIDUwLDUwIG0gJHtiZWdpblBvc2l0aW9uWH0sJHtiZWdpblBvc2l0aW9uWX0gYSAke3JhZGl1c30sJHtyYWRpdXN9IDAgMSAxICR7ZW5kUG9zaXRpb25YfSwkey1lbmRQb3NpdGlvbll9IGEgJHtyYWRpdXN9LCR7cmFkaXVzfSAwIDEgMSAkey1lbmRQb3NpdGlvblh9LCR7ZW5kUG9zaXRpb25ZfWA7XG5cbiAgICAgICAgdGhpcy50cmFpbFBhdGhTdHlsZSA9IHtcbiAgICAgICAgICAgIHN0cm9rZURhc2hhcnJheTogYCR7bGVuIC0gZ2FwRGVncmVlfXB4ICR7bGVufXB4YCxcbiAgICAgICAgICAgIHN0cm9rZURhc2hvZmZzZXQ6IGAtJHtnYXBEZWdyZWUgLyAyfXB4YCxcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICdzdHJva2UtZGFzaG9mZnNldCAuM3MgZWFzZSAwcywgc3Ryb2tlLWRhc2hhcnJheSAuM3MgZWFzZSAwcywgc3Ryb2tlIC4zcydcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnByb2dyZXNzQ2lyY2xlUGF0aCA9IHZhbHVlc1xuICAgICAgICAgICAgLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBzdHJva2U6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAraXRlbS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBpdGVtLnR5cGUgPyBgcHJvZ3Jlc3MtY2lyY2xlLXBhdGgtJHtpdGVtLnR5cGV9YCA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZVBhdGhTdHlsZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBpdGVtPy5jb2xvciA/IGl0ZW0/LmNvbG9yIDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICdzdHJva2UtZGFzaG9mZnNldCAuM3MgZWFzZSAwcywgc3Ryb2tlLWRhc2hhcnJheSAuM3MgZWFzZSAwcywgc3Ryb2tlIC4zcywgc3Ryb2tlLXdpZHRoIC4wNnMgZWFzZSAuM3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlRGFzaGFycmF5OiBgJHsoKGl0ZW0udmFsdWUgfHwgMCkgLyAxMDApICogKGxlbiAtIGdhcERlZ3JlZSl9cHggJHtsZW59cHhgLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlRGFzaG9mZnNldDogYC0ke2dhcERlZ3JlZSAvIDJ9cHhgXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5yZXZlcnNlKCk7XG4gICAgfVxuXG4gICAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgW3RoeVRvb2x0aXBdPVwidGh5VGlwc1wiXG4gIFt0aHlUb29sdGlwRGlzYWJsZWRdPVwiIXRoeVRpcHNcIlxuICBbc3R5bGUud2lkdGgucHhdPVwid2lkdGhcIlxuICBbc3R5bGUuaGVpZ2h0LnB4XT1cIndpZHRoXCJcbiAgW25nQ2xhc3NdPVwicHJvZ3Jlc3NTaXplXCJcbiAgY2xhc3M9XCJwcm9ncmVzcy1jaXJjbGUtaW5uZXJcIlxuPlxuICA8c3ZnIGNsYXNzPVwicHJvZ3Jlc3MtY2lyY2xlLXN2Z1wiIHZpZXdCb3g9XCIwIDAgMTAwIDEwMFwiPlxuICAgIDxwYXRoXG4gICAgICBjbGFzcz1cInByb2dyZXNzLWNpcmNsZS10cmFpbFwiXG4gICAgICBmaWxsLW9wYWNpdHk9XCIwXCJcbiAgICAgIFthdHRyLmRdPVwicGF0aFN0cmluZ1wiXG4gICAgICBbbmdTdHlsZV09XCJ0cmFpbFBhdGhTdHlsZVwiXG4gICAgICBbYXR0ci5zdHJva2Utd2lkdGhdPVwic3Ryb2tlV2lkdGhcIlxuICAgID48L3BhdGg+XG4gICAgPHBhdGhcbiAgICAgICpuZ0Zvcj1cImxldCBwIG9mIHByb2dyZXNzQ2lyY2xlUGF0aDsgdHJhY2tCeTogdHJhY2tCeUZuXCJcbiAgICAgIGNsYXNzPVwicHJvZ3Jlc3MtY2lyY2xlLXBhdGhcIlxuICAgICAgW25nQ2xhc3NdPVwicC5jbGFzc05hbWVcIlxuICAgICAgZmlsbC1vcGFjaXR5PVwiMFwiXG4gICAgICBbYXR0ci5kXT1cInBhdGhTdHJpbmdcIlxuICAgICAgW2F0dHIuc3Ryb2tlLWxpbmVjYXBdPVwiJ3JvdW5kJ1wiXG4gICAgICBbYXR0ci5zdHJva2VdPVwicC5zdHJva2VcIlxuICAgICAgW2F0dHIuc3Ryb2tlLXdpZHRoXT1cInAudmFsdWUgPyBzdHJva2VXaWR0aCA6IDBcIlxuICAgICAgW25nU3R5bGVdPVwicC5zdHJva2VQYXRoU3R5bGVcIlxuICAgID48L3BhdGg+XG4gIDwvc3ZnPlxuICA8c3BhbiBjbGFzcz1cInByb2dyZXNzLWNpcmNsZS1jb250ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L3NwYW4+XG48L2Rpdj5cbiJdfQ==