ngx-tethys 18.2.5 → 18.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (576) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/carousel/carousel.component.d.ts +2 -2
  3. package/date-picker/date-picker.config.d.ts +1 -1
  4. package/date-picker/lib/calendar/calendar-footer.component.d.ts +2 -2
  5. package/date-picker/lib/date/date-table.component.d.ts +2 -2
  6. package/date-picker/lib/popups/date-popup.component.d.ts +3 -2
  7. package/date-picker/lib/popups/inner-popup.component.d.ts +1 -1
  8. package/date-picker/picker.util.d.ts +3 -3
  9. package/date-range/date-range.component.d.ts +1 -1
  10. package/esm2022/action/action.component.mjs +4 -4
  11. package/esm2022/action/action.module.mjs +5 -5
  12. package/esm2022/action/actions.component.mjs +4 -4
  13. package/esm2022/affix/affix.component.mjs +4 -4
  14. package/esm2022/affix/affix.module.mjs +5 -5
  15. package/esm2022/alert/alert.component.mjs +4 -4
  16. package/esm2022/alert/alert.directive.mjs +4 -4
  17. package/esm2022/alert/alert.module.mjs +5 -5
  18. package/esm2022/anchor/anchor-link.component.mjs +4 -4
  19. package/esm2022/anchor/anchor.component.mjs +4 -4
  20. package/esm2022/anchor/anchor.module.mjs +5 -5
  21. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +4 -4
  22. package/esm2022/arrow-switcher/module.mjs +5 -5
  23. package/esm2022/autocomplete/autocomplete.component.mjs +4 -4
  24. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +4 -4
  25. package/esm2022/autocomplete/module.mjs +5 -5
  26. package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +4 -4
  27. package/esm2022/autocomplete/overlay/autocomplete.service.mjs +4 -4
  28. package/esm2022/avatar/avatar-list/avatar-list.component.mjs +4 -4
  29. package/esm2022/avatar/avatar.component.mjs +4 -4
  30. package/esm2022/avatar/avatar.module.mjs +5 -5
  31. package/esm2022/avatar/avatar.pipe.mjs +10 -10
  32. package/esm2022/avatar/avatar.service.mjs +4 -4
  33. package/esm2022/back-top/back-top.component.mjs +4 -4
  34. package/esm2022/back-top/back-top.module.mjs +5 -5
  35. package/esm2022/badge/badge.component.mjs +4 -4
  36. package/esm2022/badge/badge.module.mjs +5 -5
  37. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +4 -4
  38. package/esm2022/breadcrumb/breadcrumb.component.mjs +4 -4
  39. package/esm2022/breadcrumb/module.mjs +5 -5
  40. package/esm2022/button/button-group.component.mjs +4 -4
  41. package/esm2022/button/button-icon.component.mjs +4 -4
  42. package/esm2022/button/button.component.mjs +4 -4
  43. package/esm2022/button/button.module.mjs +5 -5
  44. package/esm2022/calendar/calendar-cells.mjs +7 -7
  45. package/esm2022/calendar/calendar-header.component.mjs +17 -17
  46. package/esm2022/calendar/calendar.component.mjs +6 -6
  47. package/esm2022/calendar/module.mjs +5 -5
  48. package/esm2022/card/card.component.mjs +4 -4
  49. package/esm2022/card/card.module.mjs +5 -5
  50. package/esm2022/card/content.component.mjs +4 -4
  51. package/esm2022/card/header.component.mjs +4 -4
  52. package/esm2022/carousel/carousel-item.directive.mjs +4 -4
  53. package/esm2022/carousel/carousel.component.mjs +13 -13
  54. package/esm2022/carousel/carousel.service.mjs +4 -4
  55. package/esm2022/carousel/module.mjs +5 -5
  56. package/esm2022/cascader/cascader-li.component.mjs +4 -4
  57. package/esm2022/cascader/cascader-search-option.component.mjs +4 -4
  58. package/esm2022/cascader/cascader.component.mjs +4 -4
  59. package/esm2022/cascader/cascader.service.mjs +4 -4
  60. package/esm2022/cascader/module.mjs +5 -5
  61. package/esm2022/checkbox/checkbox.component.mjs +4 -4
  62. package/esm2022/checkbox/module.mjs +5 -5
  63. package/esm2022/collapse/collapse-item.component.mjs +4 -4
  64. package/esm2022/collapse/collapse.component.mjs +4 -4
  65. package/esm2022/collapse/module.mjs +5 -5
  66. package/esm2022/color-picker/color-picker-custom-panel.component.mjs +4 -4
  67. package/esm2022/color-picker/color-picker-panel.component.mjs +4 -4
  68. package/esm2022/color-picker/color-picker.component.mjs +4 -4
  69. package/esm2022/color-picker/coordinates.directive.mjs +4 -4
  70. package/esm2022/color-picker/module.mjs +5 -5
  71. package/esm2022/color-picker/parts/alpha/alpha.component.mjs +4 -4
  72. package/esm2022/color-picker/parts/hue/hue.component.mjs +4 -4
  73. package/esm2022/color-picker/parts/indicator/indicator.component.mjs +4 -4
  74. package/esm2022/color-picker/parts/inputs/inputs.component.mjs +4 -4
  75. package/esm2022/color-picker/parts/saturation/saturation.component.mjs +4 -4
  76. package/esm2022/comment/comment-actions.directive.mjs +4 -4
  77. package/esm2022/comment/comment-content.directive.mjs +4 -4
  78. package/esm2022/comment/comment.component.mjs +4 -4
  79. package/esm2022/comment/comment.module.mjs +5 -5
  80. package/esm2022/copy/copy.directive.mjs +4 -4
  81. package/esm2022/copy/module.mjs +5 -5
  82. package/esm2022/core/click-positioner.mjs +4 -4
  83. package/esm2022/core/overlay/portal-directives.mjs +4 -4
  84. package/esm2022/core/request-animation.mjs +3 -2
  85. package/esm2022/core/scroll.mjs +4 -4
  86. package/esm2022/core/store/store.mjs +4 -4
  87. package/esm2022/core/theme/store.mjs +4 -4
  88. package/esm2022/core/translate.mjs +4 -4
  89. package/esm2022/core/update-host-class.service.mjs +4 -4
  90. package/esm2022/date-picker/abstract-picker.component.mjs +4 -4
  91. package/esm2022/date-picker/abstract-picker.directive.mjs +4 -4
  92. package/esm2022/date-picker/base-picker.component.mjs +4 -4
  93. package/esm2022/date-picker/date-helper.service.mjs +4 -4
  94. package/esm2022/date-picker/date-picker.component.mjs +4 -4
  95. package/esm2022/date-picker/date-picker.config.mjs +12 -13
  96. package/esm2022/date-picker/date-picker.directive.mjs +4 -4
  97. package/esm2022/date-picker/date-picker.module.mjs +5 -5
  98. package/esm2022/date-picker/date-picker.service.mjs +4 -4
  99. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +9 -9
  100. package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +4 -4
  101. package/esm2022/date-picker/lib/calendar/calendar-table.component.mjs +4 -4
  102. package/esm2022/date-picker/lib/date/date-header.component.mjs +4 -4
  103. package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +4 -4
  104. package/esm2022/date-picker/lib/date/date-table.component.mjs +10 -9
  105. package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +4 -4
  106. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +4 -4
  107. package/esm2022/date-picker/lib/decade/decade-table.component.mjs +4 -4
  108. package/esm2022/date-picker/lib/lib-packer.module.mjs +5 -5
  109. package/esm2022/date-picker/lib/month/month-header.component.mjs +4 -4
  110. package/esm2022/date-picker/lib/month/month-table.component.mjs +4 -4
  111. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +21 -18
  112. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +6 -6
  113. package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +4 -4
  114. package/esm2022/date-picker/lib/year/year-header.component.mjs +4 -4
  115. package/esm2022/date-picker/lib/year/year-table.component.mjs +4 -4
  116. package/esm2022/date-picker/month-picker.component.mjs +4 -4
  117. package/esm2022/date-picker/picker.component.mjs +8 -8
  118. package/esm2022/date-picker/picker.pipes.mjs +13 -13
  119. package/esm2022/date-picker/picker.util.mjs +8 -6
  120. package/esm2022/date-picker/picker.validators.mjs +7 -7
  121. package/esm2022/date-picker/quarter-picker.component.mjs +4 -4
  122. package/esm2022/date-picker/range-picker.component.mjs +4 -4
  123. package/esm2022/date-picker/range-picker.directive.mjs +4 -4
  124. package/esm2022/date-picker/week-picker.component.mjs +4 -4
  125. package/esm2022/date-picker/year-picker.component.mjs +4 -4
  126. package/esm2022/date-range/date-range.component.mjs +15 -16
  127. package/esm2022/date-range/module.mjs +5 -5
  128. package/esm2022/date-range/optional-dates/optional-dates.component.mjs +4 -4
  129. package/esm2022/dialog/body/dialog-body.component.mjs +4 -4
  130. package/esm2022/dialog/confirm/confirm.component.mjs +4 -4
  131. package/esm2022/dialog/dialog-container.component.mjs +4 -4
  132. package/esm2022/dialog/dialog.module.mjs +5 -5
  133. package/esm2022/dialog/dialog.service.mjs +4 -4
  134. package/esm2022/dialog/footer/dialog-footer.component.mjs +4 -4
  135. package/esm2022/dialog/header/dialog-header.component.mjs +4 -4
  136. package/esm2022/divider/divider.component.mjs +4 -4
  137. package/esm2022/divider/divider.module.mjs +5 -5
  138. package/esm2022/dot/dot.component.mjs +4 -4
  139. package/esm2022/dot/dot.module.mjs +5 -5
  140. package/esm2022/drag-drop/drag-content.directive.mjs +4 -4
  141. package/esm2022/drag-drop/drag-drop.service.mjs +4 -4
  142. package/esm2022/drag-drop/drag-handle.directive.mjs +4 -4
  143. package/esm2022/drag-drop/drag.directive.mjs +4 -4
  144. package/esm2022/drag-drop/drop-container.directive.mjs +4 -4
  145. package/esm2022/drag-drop/module.mjs +5 -5
  146. package/esm2022/dropdown/dropdown-active.directive.mjs +4 -4
  147. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +22 -22
  148. package/esm2022/dropdown/dropdown-menu.component.mjs +13 -13
  149. package/esm2022/dropdown/dropdown-submenu.component.mjs +4 -4
  150. package/esm2022/dropdown/dropdown.directive.mjs +4 -4
  151. package/esm2022/dropdown/module.mjs +5 -5
  152. package/esm2022/empty/empty.component.mjs +4 -4
  153. package/esm2022/empty/empty.config.mjs +4 -4
  154. package/esm2022/empty/empty.module.mjs +5 -5
  155. package/esm2022/flexible-text/flexible-text.component.mjs +4 -4
  156. package/esm2022/flexible-text/flexible-text.module.mjs +5 -5
  157. package/esm2022/form/form-group-error/form-group-error.component.mjs +4 -4
  158. package/esm2022/form/form-group-label.directive.mjs +4 -4
  159. package/esm2022/form/form-group.component.mjs +4 -4
  160. package/esm2022/form/form-submit.directive.mjs +4 -4
  161. package/esm2022/form/form-validator-loader.mjs +4 -4
  162. package/esm2022/form/form-validator.service.mjs +4 -4
  163. package/esm2022/form/form.directive.mjs +4 -4
  164. package/esm2022/form/from-group-footer/form-group-footer.component.mjs +4 -4
  165. package/esm2022/form/module.mjs +5 -5
  166. package/esm2022/form/validator/confirm-validator.directive.mjs +4 -4
  167. package/esm2022/form/validator/max-validator.directive.mjs +4 -4
  168. package/esm2022/form/validator/min-validator.directive.mjs +4 -4
  169. package/esm2022/form/validator/unique-validator.directive.mjs +4 -4
  170. package/esm2022/fullscreen/fullscreen-launch.directive.mjs +4 -4
  171. package/esm2022/fullscreen/fullscreen.component.mjs +4 -4
  172. package/esm2022/fullscreen/fullscreen.module.mjs +5 -5
  173. package/esm2022/fullscreen/fullscreen.service.mjs +4 -4
  174. package/esm2022/grid/flex.mjs +13 -13
  175. package/esm2022/grid/module.mjs +5 -5
  176. package/esm2022/grid/thy-col.directive.mjs +4 -4
  177. package/esm2022/grid/thy-grid-item.component.mjs +4 -4
  178. package/esm2022/grid/thy-grid.component.mjs +7 -7
  179. package/esm2022/grid/thy-row.directive.mjs +4 -4
  180. package/esm2022/guider/guider-hint/guider-hint.component.mjs +4 -4
  181. package/esm2022/guider/guider-manager.mjs +4 -4
  182. package/esm2022/guider/guider.directive.mjs +4 -4
  183. package/esm2022/guider/guider.module.mjs +5 -5
  184. package/esm2022/guider/guider.service.mjs +4 -4
  185. package/esm2022/i18n/i18n.service.mjs +4 -4
  186. package/esm2022/icon/icon-registry.mjs +5 -5
  187. package/esm2022/icon/icon.component.mjs +4 -4
  188. package/esm2022/icon/icon.module.mjs +6 -7
  189. package/esm2022/image/image-group.component.mjs +4 -4
  190. package/esm2022/image/image.directive.mjs +4 -4
  191. package/esm2022/image/image.service.mjs +4 -4
  192. package/esm2022/image/module.mjs +5 -5
  193. package/esm2022/image/preview/image-preview.component.mjs +4 -4
  194. package/esm2022/input/input-count.component.mjs +4 -4
  195. package/esm2022/input/input-group.component.mjs +4 -4
  196. package/esm2022/input/input-search.component.mjs +4 -4
  197. package/esm2022/input/input.component.mjs +4 -4
  198. package/esm2022/input/input.directive.mjs +4 -4
  199. package/esm2022/input/module.mjs +5 -5
  200. package/esm2022/input-number/input-number.component.mjs +4 -4
  201. package/esm2022/input-number/module.mjs +5 -5
  202. package/esm2022/layout/content-main.component.mjs +7 -7
  203. package/esm2022/layout/content-section.component.mjs +7 -7
  204. package/esm2022/layout/content.component.mjs +7 -7
  205. package/esm2022/layout/header.component.mjs +7 -7
  206. package/esm2022/layout/layout.component.mjs +7 -7
  207. package/esm2022/layout/layout.module.mjs +5 -5
  208. package/esm2022/layout/sidebar-content.component.mjs +7 -7
  209. package/esm2022/layout/sidebar-footer.component.mjs +7 -7
  210. package/esm2022/layout/sidebar-header.component.mjs +7 -7
  211. package/esm2022/layout/sidebar.component.mjs +7 -7
  212. package/esm2022/list/list-item-meta.component.mjs +4 -4
  213. package/esm2022/list/list-item.component.mjs +4 -4
  214. package/esm2022/list/list.component.mjs +4 -4
  215. package/esm2022/list/list.module.mjs +5 -5
  216. package/esm2022/list/selection/selection-list.mjs +4 -4
  217. package/esm2022/loading/loading.component.mjs +4 -4
  218. package/esm2022/loading/loading.module.mjs +5 -5
  219. package/esm2022/mention/mention.directive.mjs +4 -4
  220. package/esm2022/mention/mention.module.mjs +5 -5
  221. package/esm2022/mention/suggestions/suggestions.component.mjs +4 -4
  222. package/esm2022/menu/divider/menu-divider.component.mjs +4 -4
  223. package/esm2022/menu/group/menu-group.component.mjs +4 -4
  224. package/esm2022/menu/item/action/menu-item-action.component.mjs +4 -4
  225. package/esm2022/menu/item/icon/menu-item-icon.component.mjs +4 -4
  226. package/esm2022/menu/item/menu-item.component.mjs +4 -4
  227. package/esm2022/menu/item/name/menu-item-name.component.mjs +4 -4
  228. package/esm2022/menu/menu.component.mjs +4 -4
  229. package/esm2022/menu/menu.module.mjs +5 -5
  230. package/esm2022/message/abstract/abstract-message-container.component.mjs +4 -4
  231. package/esm2022/message/abstract/abstract-message.component.mjs +4 -4
  232. package/esm2022/message/message-container.component.mjs +4 -4
  233. package/esm2022/message/message-queue.service.mjs +4 -4
  234. package/esm2022/message/message.component.mjs +4 -4
  235. package/esm2022/message/message.service.mjs +4 -4
  236. package/esm2022/message/module.mjs +5 -5
  237. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +4 -4
  238. package/esm2022/nav/icon-nav/icon-nav.component.mjs +4 -4
  239. package/esm2022/nav/nav-ink-bar.directive.mjs +4 -4
  240. package/esm2022/nav/nav-item.directive.mjs +4 -4
  241. package/esm2022/nav/nav.component.mjs +4 -4
  242. package/esm2022/nav/nav.module.mjs +5 -5
  243. package/esm2022/nav/nav.pipe.mjs +4 -4
  244. package/esm2022/notify/module.mjs +5 -5
  245. package/esm2022/notify/notify-container.component.mjs +4 -4
  246. package/esm2022/notify/notify-queue.service.mjs +4 -4
  247. package/esm2022/notify/notify.component.mjs +4 -4
  248. package/esm2022/notify/notify.service.mjs +4 -4
  249. package/esm2022/pagination/pagination.component.mjs +4 -4
  250. package/esm2022/pagination/pagination.module.mjs +5 -5
  251. package/esm2022/pagination/pagination.pipe.mjs +7 -7
  252. package/esm2022/popover/body/popover-body.component.mjs +4 -4
  253. package/esm2022/popover/header/popover-header.component.mjs +4 -4
  254. package/esm2022/popover/module.mjs +5 -5
  255. package/esm2022/popover/popover-container.component.mjs +4 -4
  256. package/esm2022/popover/popover.directive.mjs +4 -4
  257. package/esm2022/popover/popover.service.mjs +4 -4
  258. package/esm2022/progress/progress-circle.component.mjs +4 -4
  259. package/esm2022/progress/progress-strip.component.mjs +4 -4
  260. package/esm2022/progress/progress.component.mjs +4 -4
  261. package/esm2022/progress/progress.module.mjs +5 -5
  262. package/esm2022/property/module.mjs +5 -5
  263. package/esm2022/property/properties.component.mjs +4 -4
  264. package/esm2022/property/property-item.component.mjs +4 -4
  265. package/esm2022/property-operation/group/property-operation-group.component.mjs +4 -4
  266. package/esm2022/property-operation/module.mjs +5 -5
  267. package/esm2022/property-operation/property-operation.component.mjs +4 -4
  268. package/esm2022/radio/button/radio-button.component.mjs +4 -4
  269. package/esm2022/radio/group/radio-group.component.mjs +4 -4
  270. package/esm2022/radio/module.mjs +5 -5
  271. package/esm2022/radio/radio.component.mjs +4 -4
  272. package/esm2022/rate/module.mjs +5 -5
  273. package/esm2022/rate/rate-item.component.mjs +4 -4
  274. package/esm2022/rate/rate.component.mjs +4 -4
  275. package/esm2022/resizable/module.mjs +5 -5
  276. package/esm2022/resizable/resizable.directive.mjs +4 -4
  277. package/esm2022/resizable/resizable.service.mjs +4 -4
  278. package/esm2022/resizable/resize-handle.component.mjs +4 -4
  279. package/esm2022/resizable/resize-handles.component.mjs +4 -4
  280. package/esm2022/result/result.component.mjs +4 -4
  281. package/esm2022/result/result.module.mjs +5 -5
  282. package/esm2022/segment/segment-item.component.mjs +4 -4
  283. package/esm2022/segment/segment.component.mjs +4 -4
  284. package/esm2022/segment/segment.module.mjs +5 -5
  285. package/esm2022/select/custom-select/custom-select.component.mjs +4 -4
  286. package/esm2022/select/module.mjs +5 -5
  287. package/esm2022/select/native-select/native-select.component.mjs +4 -4
  288. package/esm2022/shared/base-form-check.component.mjs +4 -4
  289. package/esm2022/shared/directives/string-or-template-outlet.directive.mjs +4 -4
  290. package/esm2022/shared/directives/thy-autofocus.directive.mjs +4 -4
  291. package/esm2022/shared/directives/thy-contextmenu.directive.mjs +4 -4
  292. package/esm2022/shared/directives/thy-ctrl-enter.directive.mjs +4 -4
  293. package/esm2022/shared/directives/thy-drag-drop.directive.mjs +4 -4
  294. package/esm2022/shared/directives/thy-enter.directive.mjs +4 -4
  295. package/esm2022/shared/directives/thy-scroll.directive.mjs +4 -4
  296. package/esm2022/shared/directives/thy-show.mjs +4 -4
  297. package/esm2022/shared/directives/thy-stop-propagation.directive.mjs +4 -4
  298. package/esm2022/shared/directives/view-outlet.directive.mjs +4 -4
  299. package/esm2022/shared/ng-transclude.directive.mjs +4 -4
  300. package/esm2022/shared/option/group/option-group.component.mjs +4 -4
  301. package/esm2022/shared/option/list-option/list-option.component.mjs +4 -4
  302. package/esm2022/shared/option/module.mjs +5 -5
  303. package/esm2022/shared/option/option-group.component.mjs +4 -4
  304. package/esm2022/shared/option/option.component.mjs +4 -4
  305. package/esm2022/shared/option/options-container.component.mjs +4 -4
  306. package/esm2022/shared/select/module.mjs +5 -5
  307. package/esm2022/shared/select/select-control/select-control.component.mjs +4 -4
  308. package/esm2022/shared/shared.module.mjs +5 -5
  309. package/esm2022/skeleton/module.mjs +5 -5
  310. package/esm2022/skeleton/skeleton-circle.component.mjs +4 -4
  311. package/esm2022/skeleton/skeleton-rectangle.component.mjs +4 -4
  312. package/esm2022/skeleton/skeleton.component.mjs +4 -4
  313. package/esm2022/skeleton/stylized/bullet-list.component.mjs +4 -4
  314. package/esm2022/skeleton/stylized/list.component.mjs +4 -4
  315. package/esm2022/skeleton/stylized/paragraph.component.mjs +4 -4
  316. package/esm2022/slide/drawer/drawer-container.directive.mjs +4 -4
  317. package/esm2022/slide/slide-body/slide-body-section.component.mjs +4 -4
  318. package/esm2022/slide/slide-body/slide-body.component.mjs +4 -4
  319. package/esm2022/slide/slide-container.component.mjs +4 -4
  320. package/esm2022/slide/slide-footer/slide-footer.component.mjs +4 -4
  321. package/esm2022/slide/slide-header/slide-header.component.mjs +4 -4
  322. package/esm2022/slide/slide-layout/slide-layout.component.mjs +4 -4
  323. package/esm2022/slide/slide-ref.service.mjs +4 -4
  324. package/esm2022/slide/slide.module.mjs +5 -5
  325. package/esm2022/slide/slide.service.mjs +4 -4
  326. package/esm2022/slider/slider.component.mjs +4 -4
  327. package/esm2022/slider/slider.module.mjs +5 -5
  328. package/esm2022/space/space.component.mjs +7 -7
  329. package/esm2022/space/space.module.mjs +5 -5
  330. package/esm2022/statistic/statistic.component.mjs +4 -4
  331. package/esm2022/statistic/statistic.module.mjs +5 -5
  332. package/esm2022/stepper/step-header.component.mjs +4 -4
  333. package/esm2022/stepper/step.component.mjs +4 -4
  334. package/esm2022/stepper/stepper-button.directive.mjs +7 -7
  335. package/esm2022/stepper/stepper.component.mjs +4 -4
  336. package/esm2022/stepper/stepper.module.mjs +5 -5
  337. package/esm2022/strength/strength.component.mjs +4 -4
  338. package/esm2022/strength/strength.module.mjs +5 -5
  339. package/esm2022/switch/switch.component.mjs +4 -4
  340. package/esm2022/switch/switch.module.mjs +5 -5
  341. package/esm2022/table/pipes/drag.pipe.mjs +4 -4
  342. package/esm2022/table/pipes/table.pipe.mjs +4 -4
  343. package/esm2022/table/table-column.component.mjs +4 -4
  344. package/esm2022/table/table-skeleton.component.mjs +4 -4
  345. package/esm2022/table/table.component.mjs +4 -4
  346. package/esm2022/table/table.module.mjs +5 -5
  347. package/esm2022/tabs/tab-content.component.mjs +4 -4
  348. package/esm2022/tabs/tab.component.mjs +4 -4
  349. package/esm2022/tabs/tabs.component.mjs +4 -4
  350. package/esm2022/tabs/tabs.module.mjs +5 -5
  351. package/esm2022/tag/tag.component.mjs +4 -4
  352. package/esm2022/tag/tag.module.mjs +5 -5
  353. package/esm2022/tag/tags.component.mjs +4 -4
  354. package/esm2022/time-picker/inner/inner-time-picker.component.mjs +5 -5
  355. package/esm2022/time-picker/inner/inner-time-picker.config.mjs +4 -4
  356. package/esm2022/time-picker/inner/inner-time-picker.store.mjs +12 -9
  357. package/esm2022/time-picker/time-picker-panel.component.mjs +11 -12
  358. package/esm2022/time-picker/time-picker.component.mjs +17 -19
  359. package/esm2022/time-picker/time-picker.module.mjs +5 -5
  360. package/esm2022/time-picker/time-picker.utils.mjs +14 -8
  361. package/esm2022/timeline/timeline-item.component.mjs +4 -4
  362. package/esm2022/timeline/timeline.component.mjs +4 -4
  363. package/esm2022/timeline/timeline.module.mjs +5 -5
  364. package/esm2022/timeline/timeline.service.mjs +4 -4
  365. package/esm2022/tooltip/tooltip.component.mjs +4 -4
  366. package/esm2022/tooltip/tooltip.directive.mjs +4 -4
  367. package/esm2022/tooltip/tooltip.module.mjs +5 -5
  368. package/esm2022/tooltip/tooltip.service.mjs +4 -4
  369. package/esm2022/transfer/transfer-list.component.mjs +4 -4
  370. package/esm2022/transfer/transfer.component.mjs +4 -4
  371. package/esm2022/transfer/transfer.module.mjs +5 -5
  372. package/esm2022/tree/tree-node.component.mjs +4 -4
  373. package/esm2022/tree/tree.component.mjs +4 -4
  374. package/esm2022/tree/tree.module.mjs +5 -5
  375. package/esm2022/tree/tree.pipe.mjs +4 -4
  376. package/esm2022/tree/tree.service.mjs +4 -4
  377. package/esm2022/tree-select/module.mjs +5 -5
  378. package/esm2022/tree-select/tree-select.component.mjs +7 -7
  379. package/esm2022/typography/bg-color.directive.mjs +4 -4
  380. package/esm2022/typography/module.mjs +5 -5
  381. package/esm2022/typography/text/text.component.mjs +4 -4
  382. package/esm2022/typography/text-color.directive.mjs +4 -4
  383. package/esm2022/upload/file-drop.directive.mjs +4 -4
  384. package/esm2022/upload/file-select-base.mjs +4 -4
  385. package/esm2022/upload/file-select.component.mjs +4 -4
  386. package/esm2022/upload/module.mjs +6 -7
  387. package/esm2022/upload/upload.service.mjs +11 -11
  388. package/esm2022/util/date/functions.mjs +26 -1
  389. package/esm2022/util/date/tiny-date.mjs +78 -34
  390. package/esm2022/util/index.mjs +9 -9
  391. package/esm2022/version.mjs +2 -2
  392. package/esm2022/vote/vote.component.mjs +4 -4
  393. package/esm2022/vote/vote.module.mjs +5 -5
  394. package/esm2022/watermark/watermark.directive.mjs +4 -4
  395. package/esm2022/watermark/watermark.module.mjs +5 -5
  396. package/fesm2022/ngx-tethys-action.mjs +10 -10
  397. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  398. package/fesm2022/ngx-tethys-affix.mjs +7 -7
  399. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  400. package/fesm2022/ngx-tethys-alert.mjs +10 -10
  401. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  402. package/fesm2022/ngx-tethys-anchor.mjs +10 -10
  403. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  404. package/fesm2022/ngx-tethys-arrow-switcher.mjs +7 -7
  405. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  406. package/fesm2022/ngx-tethys-autocomplete.mjs +16 -16
  407. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  408. package/fesm2022/ngx-tethys-avatar.mjs +22 -22
  409. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  410. package/fesm2022/ngx-tethys-back-top.mjs +7 -7
  411. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  412. package/fesm2022/ngx-tethys-badge.mjs +7 -7
  413. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  414. package/fesm2022/ngx-tethys-breadcrumb.mjs +10 -10
  415. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  416. package/fesm2022/ngx-tethys-button.mjs +13 -13
  417. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  418. package/fesm2022/ngx-tethys-calendar.mjs +26 -26
  419. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  420. package/fesm2022/ngx-tethys-card.mjs +13 -13
  421. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  422. package/fesm2022/ngx-tethys-carousel.mjs +84 -84
  423. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  424. package/fesm2022/ngx-tethys-cascader.mjs +16 -16
  425. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  426. package/fesm2022/ngx-tethys-checkbox.mjs +7 -7
  427. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  428. package/fesm2022/ngx-tethys-collapse.mjs +10 -10
  429. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  430. package/fesm2022/ngx-tethys-color-picker.mjs +31 -31
  431. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  432. package/fesm2022/ngx-tethys-comment.mjs +13 -13
  433. package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
  434. package/fesm2022/ngx-tethys-copy.mjs +7 -7
  435. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  436. package/fesm2022/ngx-tethys-core.mjs +23 -23
  437. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  438. package/fesm2022/ngx-tethys-date-picker.mjs +242 -235
  439. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  440. package/fesm2022/ngx-tethys-date-range.mjs +17 -18
  441. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  442. package/fesm2022/ngx-tethys-dialog.mjs +22 -22
  443. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  444. package/fesm2022/ngx-tethys-divider.mjs +7 -7
  445. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  446. package/fesm2022/ngx-tethys-dot.mjs +7 -7
  447. package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
  448. package/fesm2022/ngx-tethys-drag-drop.mjs +19 -19
  449. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  450. package/fesm2022/ngx-tethys-dropdown.mjs +46 -46
  451. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  452. package/fesm2022/ngx-tethys-empty.mjs +10 -10
  453. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  454. package/fesm2022/ngx-tethys-flexible-text.mjs +7 -7
  455. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  456. package/fesm2022/ngx-tethys-form.mjs +40 -40
  457. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  458. package/fesm2022/ngx-tethys-fullscreen.mjs +13 -13
  459. package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
  460. package/fesm2022/ngx-tethys-grid.mjs +31 -31
  461. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  462. package/fesm2022/ngx-tethys-guider.mjs +16 -16
  463. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  464. package/fesm2022/ngx-tethys-i18n.mjs +3 -3
  465. package/fesm2022/ngx-tethys-i18n.mjs.map +1 -1
  466. package/fesm2022/ngx-tethys-icon.mjs +13 -13
  467. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  468. package/fesm2022/ngx-tethys-image.mjs +16 -16
  469. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  470. package/fesm2022/ngx-tethys-input-number.mjs +7 -7
  471. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  472. package/fesm2022/ngx-tethys-input.mjs +19 -19
  473. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  474. package/fesm2022/ngx-tethys-layout.mjs +58 -58
  475. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  476. package/fesm2022/ngx-tethys-list.mjs +16 -16
  477. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  478. package/fesm2022/ngx-tethys-loading.mjs +7 -7
  479. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  480. package/fesm2022/ngx-tethys-mention.mjs +10 -10
  481. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  482. package/fesm2022/ngx-tethys-menu.mjs +25 -25
  483. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  484. package/fesm2022/ngx-tethys-message.mjs +22 -22
  485. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  486. package/fesm2022/ngx-tethys-nav.mjs +22 -22
  487. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  488. package/fesm2022/ngx-tethys-notify.mjs +16 -16
  489. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  490. package/fesm2022/ngx-tethys-pagination.mjs +13 -13
  491. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  492. package/fesm2022/ngx-tethys-popover.mjs +19 -19
  493. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  494. package/fesm2022/ngx-tethys-progress.mjs +13 -13
  495. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  496. package/fesm2022/ngx-tethys-property-operation.mjs +10 -10
  497. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  498. package/fesm2022/ngx-tethys-property.mjs +10 -10
  499. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  500. package/fesm2022/ngx-tethys-radio.mjs +13 -13
  501. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  502. package/fesm2022/ngx-tethys-rate.mjs +10 -10
  503. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  504. package/fesm2022/ngx-tethys-resizable.mjs +16 -16
  505. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  506. package/fesm2022/ngx-tethys-result.mjs +7 -7
  507. package/fesm2022/ngx-tethys-result.mjs.map +1 -1
  508. package/fesm2022/ngx-tethys-segment.mjs +10 -10
  509. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  510. package/fesm2022/ngx-tethys-select.mjs +10 -10
  511. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  512. package/fesm2022/ngx-tethys-shared.mjs +66 -66
  513. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  514. package/fesm2022/ngx-tethys-skeleton.mjs +22 -22
  515. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  516. package/fesm2022/ngx-tethys-slide.mjs +31 -31
  517. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  518. package/fesm2022/ngx-tethys-slider.mjs +7 -7
  519. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  520. package/fesm2022/ngx-tethys-space.mjs +10 -10
  521. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  522. package/fesm2022/ngx-tethys-statistic.mjs +7 -7
  523. package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
  524. package/fesm2022/ngx-tethys-stepper.mjs +19 -19
  525. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  526. package/fesm2022/ngx-tethys-strength.mjs +7 -7
  527. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  528. package/fesm2022/ngx-tethys-switch.mjs +7 -7
  529. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  530. package/fesm2022/ngx-tethys-table.mjs +19 -19
  531. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  532. package/fesm2022/ngx-tethys-tabs.mjs +13 -13
  533. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  534. package/fesm2022/ngx-tethys-tag.mjs +10 -10
  535. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  536. package/fesm2022/ngx-tethys-time-picker.mjs +46 -40
  537. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  538. package/fesm2022/ngx-tethys-timeline.mjs +13 -13
  539. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  540. package/fesm2022/ngx-tethys-tooltip.mjs +13 -13
  541. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  542. package/fesm2022/ngx-tethys-transfer.mjs +10 -10
  543. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  544. package/fesm2022/ngx-tethys-tree-select.mjs +10 -10
  545. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  546. package/fesm2022/ngx-tethys-tree.mjs +16 -16
  547. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  548. package/fesm2022/ngx-tethys-typography.mjs +13 -13
  549. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  550. package/fesm2022/ngx-tethys-upload.mjs +23 -24
  551. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  552. package/fesm2022/ngx-tethys-util.mjs +107 -38
  553. package/fesm2022/ngx-tethys-util.mjs.map +1 -1
  554. package/fesm2022/ngx-tethys-vote.mjs +7 -7
  555. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  556. package/fesm2022/ngx-tethys-watermark.mjs +7 -7
  557. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  558. package/fesm2022/ngx-tethys.mjs +1 -1
  559. package/fesm2022/ngx-tethys.mjs.map +1 -1
  560. package/package.json +3 -2
  561. package/schematics/ng-add/index.js +2 -3
  562. package/schematics/ng-add/index.spec.js +21 -22
  563. package/schematics/ng-update/update-18/index.spec.js +7 -8
  564. package/schematics/testing/test-app.js +2 -5
  565. package/schematics/testing/test-project.js +7 -10
  566. package/schematics/testing/test-workspace.d.ts +1 -0
  567. package/schematics/testing/test-workspace.js +14 -15
  568. package/schematics/tsconfig.json +1 -1
  569. package/schematics/utils/get-workspace-tsconfig.js +8 -9
  570. package/schematics/utils/package-config.js +1 -2
  571. package/schematics/version.d.ts +1 -1
  572. package/schematics/version.js +1 -1
  573. package/time-picker/inner/inner-time-picker.store.d.ts +1 -1
  574. package/util/date/functions.d.ts +25 -0
  575. package/util/date/tiny-date.d.ts +20 -4
  576. package/util/index.d.ts +8 -8
@@ -116,10 +116,10 @@ export class ThyTransferList {
116
116
  listData: { lock: this.lockItems, unlock: this.unlockItems }
117
117
  });
118
118
  }
119
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTransferList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
120
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyTransferList, isStandalone: true, selector: "thy-transfer-list", inputs: { title: "title", items: "items", draggable: "draggable", canLock: "canLock", maxLock: "maxLock", max: "max", disabled: "disabled", template: "template", contentRef: ["renderContentRef", "contentRef"] }, outputs: { draggableUpdate: "draggableUpdate", selectItem: "selectItem", unselectItem: "unselectItem" }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<div class=\"thy-transfer-list-header\">\n <span class=\"thy-transfer-list-header-title\"\n >{{ title }} \u00B7 {{ items?.length }}\n @if (max) {\n <span>{{ locale().maxLimit.replace('{max}', max) }}</span>\n }\n </span>\n</div>\n@if (!contentRef) {\n <div class=\"thy-transfer-list-body\" cdkDropListGroup [cdkDropListGroupDisabled]=\"!draggable\">\n @if (canLock) {\n <div class=\"thy-transfer-list-group-name\">{{ locale().maxLockLimit.replace('{maxLock}', maxLock) }}</div>\n <thy-list\n class=\"thy-transfer-list-content\"\n cdkDropList\n thyDragDrop\n id=\"lock\"\n [cdkDropListData]=\"lockItems\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListEnterPredicate]=\"lockListEnterPredicate\">\n @if (lockItems.length === 0) {\n <div class=\"cdk-drop-list-empty\"></div>\n }\n @for (item of lockItems; track $index) {\n <thy-list-item\n class=\"thy-transfer-list-content-item text-truncate\"\n cdkDrag\n [cdkDragData]=\"item\"\n [ngClass]=\"{ active: item.checked }\">\n <ng-template [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </thy-list-item>\n }\n </thy-list>\n <div class=\"thy-transfer-list-group-name\">{{ locale().unlocked }}</div>\n }\n <thy-list\n class=\"thy-transfer-list-content\"\n cdkDropList\n thyDragDrop\n [cdkDropListDisabled]=\"!draggable\"\n id=\"unlock\"\n [cdkDropListData]=\"unlockItems\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListEnterPredicate]=\"unlockListEnterPredicate\">\n @if (unlockItems.length === 0) {\n <div class=\"cdk-drop-list-empty\"></div>\n }\n @for (item of unlockItems; track $index) {\n <thy-list-item\n class=\"thy-transfer-list-content-item text-truncate\"\n cdkDrag\n [cdkDragData]=\"item\"\n [ngClass]=\"{ active: item.checked, disabled: disabled && item.direction === 'left' }\">\n <ng-template [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </thy-list-item>\n }\n </thy-list>\n </div>\n} @else {\n <div class=\"thy-transfer-list-body\">\n <ng-container\n *ngTemplateOutlet=\"\n contentRef;\n context: {\n $implicit: items,\n onSelectItem: onSelectItem,\n onUnselectItem: onUnselectItem\n }\n \"></ng-container>\n </div>\n}\n", dependencies: [{ kind: "directive", type: CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "component", type: ThyList, selector: "thy-list", inputs: ["thyDivided"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: ThyDragDropDirective, selector: "[thyDragDrop]" }, { kind: "component", type: ThyListItem, selector: "thy-list-item,[thy-list-item]" }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
119
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyTransferList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
120
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ThyTransferList, isStandalone: true, selector: "thy-transfer-list", inputs: { title: "title", items: "items", draggable: "draggable", canLock: "canLock", maxLock: "maxLock", max: "max", disabled: "disabled", template: "template", contentRef: ["renderContentRef", "contentRef"] }, outputs: { draggableUpdate: "draggableUpdate", selectItem: "selectItem", unselectItem: "unselectItem" }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<div class=\"thy-transfer-list-header\">\n <span class=\"thy-transfer-list-header-title\"\n >{{ title }} \u00B7 {{ items?.length }}\n @if (max) {\n <span>{{ locale().maxLimit.replace('{max}', max) }}</span>\n }\n </span>\n</div>\n@if (!contentRef) {\n <div class=\"thy-transfer-list-body\" cdkDropListGroup [cdkDropListGroupDisabled]=\"!draggable\">\n @if (canLock) {\n <div class=\"thy-transfer-list-group-name\">{{ locale().maxLockLimit.replace('{maxLock}', maxLock) }}</div>\n <thy-list\n class=\"thy-transfer-list-content\"\n cdkDropList\n thyDragDrop\n id=\"lock\"\n [cdkDropListData]=\"lockItems\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListEnterPredicate]=\"lockListEnterPredicate\">\n @if (lockItems.length === 0) {\n <div class=\"cdk-drop-list-empty\"></div>\n }\n @for (item of lockItems; track $index) {\n <thy-list-item\n class=\"thy-transfer-list-content-item text-truncate\"\n cdkDrag\n [cdkDragData]=\"item\"\n [ngClass]=\"{ active: item.checked }\">\n <ng-template [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </thy-list-item>\n }\n </thy-list>\n <div class=\"thy-transfer-list-group-name\">{{ locale().unlocked }}</div>\n }\n <thy-list\n class=\"thy-transfer-list-content\"\n cdkDropList\n thyDragDrop\n [cdkDropListDisabled]=\"!draggable\"\n id=\"unlock\"\n [cdkDropListData]=\"unlockItems\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListEnterPredicate]=\"unlockListEnterPredicate\">\n @if (unlockItems.length === 0) {\n <div class=\"cdk-drop-list-empty\"></div>\n }\n @for (item of unlockItems; track $index) {\n <thy-list-item\n class=\"thy-transfer-list-content-item text-truncate\"\n cdkDrag\n [cdkDragData]=\"item\"\n [ngClass]=\"{ active: item.checked, disabled: disabled && item.direction === 'left' }\">\n <ng-template [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </thy-list-item>\n }\n </thy-list>\n </div>\n} @else {\n <div class=\"thy-transfer-list-body\">\n <ng-container\n *ngTemplateOutlet=\"\n contentRef;\n context: {\n $implicit: items,\n onSelectItem: onSelectItem,\n onUnselectItem: onUnselectItem\n }\n \"></ng-container>\n </div>\n}\n", dependencies: [{ kind: "directive", type: CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "component", type: ThyList, selector: "thy-list", inputs: ["thyDivided"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: ThyDragDropDirective, selector: "[thyDragDrop]" }, { kind: "component", type: ThyListItem, selector: "thy-list-item,[thy-list-item]" }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
121
121
  }
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTransferList, decorators: [{
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyTransferList, decorators: [{
123
123
  type: Component,
124
124
  args: [{ selector: 'thy-transfer-list', encapsulation: ViewEncapsulation.None, standalone: true, imports: [CdkDropListGroup, ThyList, CdkDropList, ThyDragDropDirective, ThyListItem, CdkDrag, NgClass, NgTemplateOutlet], template: "<div class=\"thy-transfer-list-header\">\n <span class=\"thy-transfer-list-header-title\"\n >{{ title }} \u00B7 {{ items?.length }}\n @if (max) {\n <span>{{ locale().maxLimit.replace('{max}', max) }}</span>\n }\n </span>\n</div>\n@if (!contentRef) {\n <div class=\"thy-transfer-list-body\" cdkDropListGroup [cdkDropListGroupDisabled]=\"!draggable\">\n @if (canLock) {\n <div class=\"thy-transfer-list-group-name\">{{ locale().maxLockLimit.replace('{maxLock}', maxLock) }}</div>\n <thy-list\n class=\"thy-transfer-list-content\"\n cdkDropList\n thyDragDrop\n id=\"lock\"\n [cdkDropListData]=\"lockItems\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListEnterPredicate]=\"lockListEnterPredicate\">\n @if (lockItems.length === 0) {\n <div class=\"cdk-drop-list-empty\"></div>\n }\n @for (item of lockItems; track $index) {\n <thy-list-item\n class=\"thy-transfer-list-content-item text-truncate\"\n cdkDrag\n [cdkDragData]=\"item\"\n [ngClass]=\"{ active: item.checked }\">\n <ng-template [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </thy-list-item>\n }\n </thy-list>\n <div class=\"thy-transfer-list-group-name\">{{ locale().unlocked }}</div>\n }\n <thy-list\n class=\"thy-transfer-list-content\"\n cdkDropList\n thyDragDrop\n [cdkDropListDisabled]=\"!draggable\"\n id=\"unlock\"\n [cdkDropListData]=\"unlockItems\"\n (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListEnterPredicate]=\"unlockListEnterPredicate\">\n @if (unlockItems.length === 0) {\n <div class=\"cdk-drop-list-empty\"></div>\n }\n @for (item of unlockItems; track $index) {\n <thy-list-item\n class=\"thy-transfer-list-content-item text-truncate\"\n cdkDrag\n [cdkDragData]=\"item\"\n [ngClass]=\"{ active: item.checked, disabled: disabled && item.direction === 'left' }\">\n <ng-template [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </thy-list-item>\n }\n </thy-list>\n </div>\n} @else {\n <div class=\"thy-transfer-list-body\">\n <ng-container\n *ngTemplateOutlet=\"\n contentRef;\n context: {\n $implicit: items,\n onSelectItem: onSelectItem,\n onUnselectItem: onUnselectItem\n }\n \"></ng-container>\n </div>\n}\n" }]
125
125
  }], propDecorators: { title: [{
@@ -151,4 +151,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
151
151
  type: HostBinding,
152
152
  args: ['class']
153
153
  }] } });
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHJhbnNmZXIvdHJhbnNmZXItbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvdHJhbnNmZXIvdHJhbnNmZXItbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFlLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqSSxPQUFPLEVBQ0gsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUdMLGVBQWUsRUFFZixNQUFNLEVBRU4sV0FBVyxFQUNYLGlCQUFpQixFQUNqQixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVELE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFekQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFbEU7O0dBRUc7QUFRSCxNQUFNLE9BQU8sZUFBZTtJQVA1QjtRQVFZLFlBQU8sR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFbkMsY0FBUyxHQUFzQixFQUFFLENBQUM7UUFFbEMsZ0JBQVcsR0FBc0IsRUFBRSxDQUFDO1FBUTNDLFdBQU0sR0FBOEIsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBb0JuRCxvQkFBZSxHQUF5QyxJQUFJLFlBQVksRUFBMEIsQ0FBQztRQUVuRyxlQUFVLEdBQXlDLElBQUksWUFBWSxFQUEwQixDQUFDO1FBRTlGLGlCQUFZLEdBQXlDLElBQUksWUFBWSxFQUEwQixDQUFDO1FBRXBGLGNBQVMsR0FBRyxtQkFBbUIsQ0FBQztRQWdFdEQsMkJBQXNCLEdBQUcsR0FBRyxFQUFFO1lBQzFCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNoRCxDQUFDLENBQUM7UUFFRiw2QkFBd0IsR0FBRyxDQUFDLEtBQStCLEVBQUUsRUFBRTtZQUMzRCxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDL0IsQ0FBQyxDQUFDO1FBRUYsaUJBQVksR0FBRyxDQUFDLElBQXFCLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDO1FBRUYsbUJBQWMsR0FBRyxDQUFDLElBQXFCLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDO0tBMEJMO0lBdEdHLFFBQVE7UUFDSixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3BFLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDcEUsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFTyxvQkFBb0I7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZixDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM5QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDOUIsQ0FBQztxQkFBTSxDQUFDO29CQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNsQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQixDQUFDLE9BQXlDLEVBQUUsS0FBd0I7UUFDekYsbUJBQW1CO1FBQ25CLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRTtZQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUN2QixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRTtZQUMxQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUN2QixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ2hDLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDeEQsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDZCxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN4RCxDQUFDO1FBQ0wsQ0FBQztRQUNELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5RCxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVELENBQUM7SUFDTCxDQUFDO0lBa0JELElBQUksQ0FBQyxLQUFxQztRQUN0QyxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsS0FBSyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDOUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ25GLENBQUM7YUFBTSxDQUFDO1lBQ0osaUJBQWlCLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMvRyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNoRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDO1lBQ3hELENBQUMsQ0FBQyxDQUFDO1lBRUgsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDO1lBQ2hELENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELE1BQU0sU0FBUyxHQUF5QjtZQUNwQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQ3RCLE1BQU0sRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUk7WUFDNUIsUUFBUSxFQUFFLEtBQUssQ0FBQyxhQUFhO1lBQzdCLFFBQVEsRUFBRSxLQUFLLENBQUMsWUFBWTtTQUMvQixDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7WUFDdEIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUU7U0FDL0QsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0E5SVEsZUFBZTtrR0FBZixlQUFlLCtiQ2xDNUIsd2lGQXVFQSw0Q0R2Q2MsZ0JBQWdCLHFJQUFFLE9BQU8sNkVBQUUsV0FBVyw4ZkFBRSxvQkFBb0IsMERBQUUsV0FBVywwRUFBRSxPQUFPLHdjQUFFLE9BQU8sb0ZBQUUsZ0JBQWdCOzsyRkFFOUcsZUFBZTtrQkFQM0IsU0FBUzsrQkFDSSxtQkFBbUIsaUJBRWQsaUJBQWlCLENBQUMsSUFBSSxjQUN6QixJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixDQUFDOzhCQWlCL0csS0FBSztzQkFBYixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFcUIsVUFBVTtzQkFBcEMsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBRWYsZUFBZTtzQkFBeEIsTUFBTTtnQkFFRyxVQUFVO3NCQUFuQixNQUFNO2dCQUVHLFlBQVk7c0JBQXJCLE1BQU07Z0JBRWUsU0FBUztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZywgQ2RrRHJhZ0Ryb3AsIENka0Ryb3BMaXN0LCBDZGtEcm9wTGlzdEdyb3VwLCBtb3ZlSXRlbUluQXJyYXksIHRyYW5zZmVyQXJyYXlJdGVtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBEb0NoZWNrLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBJdGVyYWJsZUNoYW5nZXMsXG4gICAgSXRlcmFibGVEaWZmZXIsXG4gICAgSXRlcmFibGVEaWZmZXJzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2lnbmFsLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUaHlMaXN0LCBUaHlMaXN0SXRlbSB9IGZyb20gJ25neC10ZXRoeXMvbGlzdCc7XG5pbXBvcnQgeyBUaHlEcmFnRHJvcERpcmVjdGl2ZSB9IGZyb20gJ25neC10ZXRoeXMvc2hhcmVkJztcbmltcG9ydCB7IElubmVyVHJhbnNmZXJEcmFnRXZlbnQsIFRoeVRyYW5zZmVyRHJhZ0V2ZW50LCBUaHlUcmFuc2Zlckl0ZW0sIFRoeVRyYW5zZmVyU2VsZWN0RXZlbnQgfSBmcm9tICcuL3RyYW5zZmVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBpbmplY3RMb2NhbGUsIFRoeVRyYW5zZmVyTG9jYWxlIH0gZnJvbSAnbmd4LXRldGh5cy9pMThuJztcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS10cmFuc2Zlci1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdHJhbnNmZXItbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDZGtEcm9wTGlzdEdyb3VwLCBUaHlMaXN0LCBDZGtEcm9wTGlzdCwgVGh5RHJhZ0Ryb3BEaXJlY3RpdmUsIFRoeUxpc3RJdGVtLCBDZGtEcmFnLCBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlUcmFuc2Zlckxpc3QgaW1wbGVtZW50cyBPbkluaXQsIERvQ2hlY2sge1xuICAgIHByaXZhdGUgZGlmZmVycyA9IGluamVjdChJdGVyYWJsZURpZmZlcnMpO1xuXG4gICAgcHVibGljIGxvY2tJdGVtczogVGh5VHJhbnNmZXJJdGVtW10gPSBbXTtcblxuICAgIHB1YmxpYyB1bmxvY2tJdGVtczogVGh5VHJhbnNmZXJJdGVtW10gPSBbXTtcblxuICAgIHByaXZhdGUgX2RpZmY6IEl0ZXJhYmxlRGlmZmVyPFRoeVRyYW5zZmVySXRlbT47XG5cbiAgICBwcml2YXRlIF9sb2NrRGlmZjogSXRlcmFibGVEaWZmZXI8VGh5VHJhbnNmZXJJdGVtPjtcblxuICAgIHByaXZhdGUgX3VubG9ja0RpZmY6IEl0ZXJhYmxlRGlmZmVyPFRoeVRyYW5zZmVySXRlbT47XG5cbiAgICBsb2NhbGU6IFNpZ25hbDxUaHlUcmFuc2ZlckxvY2FsZT4gPSBpbmplY3RMb2NhbGUoJ3RyYW5zZmVyJyk7XG5cbiAgICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgaXRlbXM6IFRoeVRyYW5zZmVySXRlbVtdO1xuXG4gICAgQElucHV0KCkgZHJhZ2dhYmxlOiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgY2FuTG9jazogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIG1heExvY2s6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIG1heDogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBJbnB1dCgncmVuZGVyQ29udGVudFJlZicpIGNvbnRlbnRSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAT3V0cHV0KCkgZHJhZ2dhYmxlVXBkYXRlOiBFdmVudEVtaXR0ZXI8SW5uZXJUcmFuc2ZlckRyYWdFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElubmVyVHJhbnNmZXJEcmFnRXZlbnQ+KCk7XG5cbiAgICBAT3V0cHV0KCkgc2VsZWN0SXRlbTogRXZlbnRFbWl0dGVyPFRoeVRyYW5zZmVyU2VsZWN0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlUcmFuc2ZlclNlbGVjdEV2ZW50PigpO1xuXG4gICAgQE91dHB1dCgpIHVuc2VsZWN0SXRlbTogRXZlbnRFbWl0dGVyPFRoeVRyYW5zZmVyU2VsZWN0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlUcmFuc2ZlclNlbGVjdEV2ZW50PigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGhvc3RDbGFzcyA9ICd0aHktdHJhbnNmZXItbGlzdCc7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5fY29tYmluZVRyYW5zZmVyRGF0YSgpO1xuICAgICAgICBpZiAodGhpcy5jYW5Mb2NrKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2NrRGlmZiA9IHRoaXMuZGlmZmVycy5maW5kKHRoaXMubG9ja0l0ZW1zKS5jcmVhdGUoKTtcbiAgICAgICAgICAgIHRoaXMuX3VubG9ja0RpZmYgPSB0aGlzLmRpZmZlcnMuZmluZCh0aGlzLnVubG9ja0l0ZW1zKS5jcmVhdGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3VubG9ja0RpZmYgPSB0aGlzLmRpZmZlcnMuZmluZCh0aGlzLnVubG9ja0l0ZW1zKS5jcmVhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9kaWZmID0gdGhpcy5kaWZmZXJzLmZpbmQodGhpcy5pdGVtcykuY3JlYXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY29tYmluZVRyYW5zZmVyRGF0YSgpIHtcbiAgICAgICAgdGhpcy5sb2NrSXRlbXMgPSBbXTtcbiAgICAgICAgdGhpcy51bmxvY2tJdGVtcyA9IFtdO1xuICAgICAgICBpZiAodGhpcy5jYW5Mb2NrKSB7XG4gICAgICAgICAgICAodGhpcy5pdGVtcyB8fCBbXSkuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5pc0xvY2spIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2NrSXRlbXMucHVzaChpdGVtKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVubG9ja0l0ZW1zLnB1c2goaXRlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVubG9ja0l0ZW1zID0gdGhpcy5pdGVtcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2FmdGVyQ2hhbmdlSXRlbXMoY2hhbmdlczogSXRlcmFibGVDaGFuZ2VzPFRoeVRyYW5zZmVySXRlbT4sIGl0ZW1zOiBUaHlUcmFuc2Zlckl0ZW1bXSkge1xuICAgICAgICAvLyDmlbDmja7lj5HnlJ/lj5jljJbml7bvvIzmm7TmlLlvcmRlcuWAvFxuICAgICAgICBjaGFuZ2VzLmZvckVhY2hBZGRlZEl0ZW0ocmVjb3JkID0+IHtcbiAgICAgICAgICAgIHJlY29yZC5pdGVtLm9yZGVyID0gcmVjb3JkLmN1cnJlbnRJbmRleDtcbiAgICAgICAgfSk7XG4gICAgICAgIGNoYW5nZXMuZm9yRWFjaFJlbW92ZWRJdGVtKCgpID0+IHtcbiAgICAgICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5vcmRlciA9IGluZGV4O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBjaGFuZ2VzLmZvckVhY2hNb3ZlZEl0ZW0oKCkgPT4ge1xuICAgICAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBpdGVtLm9yZGVyID0gaW5kZXg7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCkge1xuICAgICAgICBjb25zdCBjaGFuZ2VzID0gdGhpcy5fZGlmZi5kaWZmKHRoaXMuaXRlbXMpO1xuICAgICAgICBpZiAoY2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy5fYWZ0ZXJDaGFuZ2VJdGVtcyhjaGFuZ2VzLCB0aGlzLml0ZW1zKTtcbiAgICAgICAgICAgIHRoaXMuX2NvbWJpbmVUcmFuc2ZlckRhdGEoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fbG9ja0RpZmYpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvY2tDaGFuZ2VzID0gdGhpcy5fbG9ja0RpZmYuZGlmZih0aGlzLmxvY2tJdGVtcyk7XG4gICAgICAgICAgICBpZiAobG9ja0NoYW5nZXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9hZnRlckNoYW5nZUl0ZW1zKGxvY2tDaGFuZ2VzLCB0aGlzLmxvY2tJdGVtcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdW5sb2NrQ2hhbmdlcyA9IHRoaXMuX3VubG9ja0RpZmYuZGlmZih0aGlzLnVubG9ja0l0ZW1zKTtcbiAgICAgICAgaWYgKHVubG9ja0NoYW5nZXMpIHtcbiAgICAgICAgICAgIHRoaXMuX2FmdGVyQ2hhbmdlSXRlbXModW5sb2NrQ2hhbmdlcywgdGhpcy51bmxvY2tJdGVtcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsb2NrTGlzdEVudGVyUHJlZGljYXRlID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NrSXRlbXMubGVuZ3RoIDwgdGhpcy5tYXhMb2NrO1xuICAgIH07XG5cbiAgICB1bmxvY2tMaXN0RW50ZXJQcmVkaWNhdGUgPSAoZXZlbnQ6IENka0RyYWc8VGh5VHJhbnNmZXJJdGVtPikgPT4ge1xuICAgICAgICByZXR1cm4gIWV2ZW50LmRhdGEuaXNGaXhlZDtcbiAgICB9O1xuXG4gICAgb25TZWxlY3RJdGVtID0gKGl0ZW06IFRoeVRyYW5zZmVySXRlbSkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdEl0ZW0uZW1pdCh7IGl0ZW0gfSk7XG4gICAgfTtcblxuICAgIG9uVW5zZWxlY3RJdGVtID0gKGl0ZW06IFRoeVRyYW5zZmVySXRlbSkgPT4ge1xuICAgICAgICB0aGlzLnVuc2VsZWN0SXRlbS5lbWl0KHsgaXRlbSB9KTtcbiAgICB9O1xuXG4gICAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8VGh5VHJhbnNmZXJJdGVtW10+KSB7XG4gICAgICAgIGlmIChldmVudC5wcmV2aW91c0NvbnRhaW5lciA9PT0gZXZlbnQuY29udGFpbmVyKSB7XG4gICAgICAgICAgICBtb3ZlSXRlbUluQXJyYXkoZXZlbnQuY29udGFpbmVyLmRhdGEsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0cmFuc2ZlckFycmF5SXRlbShldmVudC5wcmV2aW91c0NvbnRhaW5lci5kYXRhLCBldmVudC5jb250YWluZXIuZGF0YSwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICAgICAgICAgIChldmVudC5wcmV2aW91c0NvbnRhaW5lci5kYXRhIHx8IFtdKS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIGl0ZW0uaXNMb2NrID0gZXZlbnQucHJldmlvdXNDb250YWluZXIuaWQgPT09ICdsb2NrJztcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAoZXZlbnQuY29udGFpbmVyLmRhdGEgfHwgW10pLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5pc0xvY2sgPSBldmVudC5jb250YWluZXIuaWQgPT09ICdsb2NrJztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRyYWdFdmVudDogVGh5VHJhbnNmZXJEcmFnRXZlbnQgPSB7XG4gICAgICAgICAgICBtb2RlbDogZXZlbnQuaXRlbS5kYXRhLFxuICAgICAgICAgICAgbW9kZWxzOiBldmVudC5jb250YWluZXIuZGF0YSxcbiAgICAgICAgICAgIG9sZEluZGV4OiBldmVudC5wcmV2aW91c0luZGV4LFxuICAgICAgICAgICAgbmV3SW5kZXg6IGV2ZW50LmN1cnJlbnRJbmRleFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmRyYWdnYWJsZVVwZGF0ZS5lbWl0KHtcbiAgICAgICAgICAgIGRyYWdFdmVudDogZHJhZ0V2ZW50LFxuICAgICAgICAgICAgbGlzdERhdGE6IHsgbG9jazogdGhpcy5sb2NrSXRlbXMsIHVubG9jazogdGhpcy51bmxvY2tJdGVtcyB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aHktdHJhbnNmZXItbGlzdC1oZWFkZXJcIj5cbiAgPHNwYW4gY2xhc3M9XCJ0aHktdHJhbnNmZXItbGlzdC1oZWFkZXItdGl0bGVcIlxuICAgID57eyB0aXRsZSB9fSDCtyB7eyBpdGVtcz8ubGVuZ3RoIH19XG4gICAgQGlmIChtYXgpIHtcbiAgICAgIDxzcGFuPnt7IGxvY2FsZSgpLm1heExpbWl0LnJlcGxhY2UoJ3ttYXh9JywgbWF4KSB9fTwvc3Bhbj5cbiAgICB9XG4gIDwvc3Bhbj5cbjwvZGl2PlxuQGlmICghY29udGVudFJlZikge1xuICA8ZGl2IGNsYXNzPVwidGh5LXRyYW5zZmVyLWxpc3QtYm9keVwiIGNka0Ryb3BMaXN0R3JvdXAgW2Nka0Ryb3BMaXN0R3JvdXBEaXNhYmxlZF09XCIhZHJhZ2dhYmxlXCI+XG4gICAgQGlmIChjYW5Mb2NrKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwidGh5LXRyYW5zZmVyLWxpc3QtZ3JvdXAtbmFtZVwiPnt7IGxvY2FsZSgpLm1heExvY2tMaW1pdC5yZXBsYWNlKCd7bWF4TG9ja30nLCBtYXhMb2NrKSB9fTwvZGl2PlxuICAgICAgPHRoeS1saXN0XG4gICAgICAgIGNsYXNzPVwidGh5LXRyYW5zZmVyLWxpc3QtY29udGVudFwiXG4gICAgICAgIGNka0Ryb3BMaXN0XG4gICAgICAgIHRoeURyYWdEcm9wXG4gICAgICAgIGlkPVwibG9ja1wiXG4gICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwibG9ja0l0ZW1zXCJcbiAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIlxuICAgICAgICBbY2RrRHJvcExpc3RFbnRlclByZWRpY2F0ZV09XCJsb2NrTGlzdEVudGVyUHJlZGljYXRlXCI+XG4gICAgICAgIEBpZiAobG9ja0l0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZGstZHJvcC1saXN0LWVtcHR5XCI+PC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAoaXRlbSBvZiBsb2NrSXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgIDx0aHktbGlzdC1pdGVtXG4gICAgICAgICAgICBjbGFzcz1cInRoeS10cmFuc2Zlci1saXN0LWNvbnRlbnQtaXRlbSB0ZXh0LXRydW5jYXRlXCJcbiAgICAgICAgICAgIGNka0RyYWdcbiAgICAgICAgICAgIFtjZGtEcmFnRGF0YV09XCJpdGVtXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiBpdGVtLmNoZWNrZWQgfVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvdGh5LWxpc3QtaXRlbT5cbiAgICAgICAgfVxuICAgICAgPC90aHktbGlzdD5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0aHktdHJhbnNmZXItbGlzdC1ncm91cC1uYW1lXCI+e3sgbG9jYWxlKCkudW5sb2NrZWQgfX08L2Rpdj5cbiAgICB9XG4gICAgPHRoeS1saXN0XG4gICAgICBjbGFzcz1cInRoeS10cmFuc2Zlci1saXN0LWNvbnRlbnRcIlxuICAgICAgY2RrRHJvcExpc3RcbiAgICAgIHRoeURyYWdEcm9wXG4gICAgICBbY2RrRHJvcExpc3REaXNhYmxlZF09XCIhZHJhZ2dhYmxlXCJcbiAgICAgIGlkPVwidW5sb2NrXCJcbiAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwidW5sb2NrSXRlbXNcIlxuICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIlxuICAgICAgW2Nka0Ryb3BMaXN0RW50ZXJQcmVkaWNhdGVdPVwidW5sb2NrTGlzdEVudGVyUHJlZGljYXRlXCI+XG4gICAgICBAaWYgKHVubG9ja0l0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiY2RrLWRyb3AtbGlzdC1lbXB0eVwiPjwvZGl2PlxuICAgICAgfVxuICAgICAgQGZvciAoaXRlbSBvZiB1bmxvY2tJdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDx0aHktbGlzdC1pdGVtXG4gICAgICAgICAgY2xhc3M9XCJ0aHktdHJhbnNmZXItbGlzdC1jb250ZW50LWl0ZW0gdGV4dC10cnVuY2F0ZVwiXG4gICAgICAgICAgY2RrRHJhZ1xuICAgICAgICAgIFtjZGtEcmFnRGF0YV09XCJpdGVtXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogaXRlbS5jaGVja2VkLCBkaXNhYmxlZDogZGlzYWJsZWQgJiYgaXRlbS5kaXJlY3Rpb24gPT09ICdsZWZ0JyB9XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3RoeS1saXN0LWl0ZW0+XG4gICAgICB9XG4gICAgPC90aHktbGlzdD5cbiAgPC9kaXY+XG59IEBlbHNlIHtcbiAgPGRpdiBjbGFzcz1cInRoeS10cmFuc2Zlci1saXN0LWJvZHlcIj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICBjb250ZW50UmVmO1xuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgJGltcGxpY2l0OiBpdGVtcyxcbiAgICAgICAgICBvblNlbGVjdEl0ZW06IG9uU2VsZWN0SXRlbSxcbiAgICAgICAgICBvblVuc2VsZWN0SXRlbTogb25VbnNlbGVjdEl0ZW1cbiAgICAgICAgfVxuICAgICAgXCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxufVxuIl19
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHJhbnNmZXIvdHJhbnNmZXItbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvdHJhbnNmZXIvdHJhbnNmZXItbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFlLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqSSxPQUFPLEVBQ0gsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUdMLGVBQWUsRUFFZixNQUFNLEVBRU4sV0FBVyxFQUNYLGlCQUFpQixFQUNqQixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVELE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFekQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFbEU7O0dBRUc7QUFRSCxNQUFNLE9BQU8sZUFBZTtJQVA1QjtRQVFZLFlBQU8sR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFbkMsY0FBUyxHQUFzQixFQUFFLENBQUM7UUFFbEMsZ0JBQVcsR0FBc0IsRUFBRSxDQUFDO1FBUTNDLFdBQU0sR0FBOEIsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBb0JuRCxvQkFBZSxHQUF5QyxJQUFJLFlBQVksRUFBMEIsQ0FBQztRQUVuRyxlQUFVLEdBQXlDLElBQUksWUFBWSxFQUEwQixDQUFDO1FBRTlGLGlCQUFZLEdBQXlDLElBQUksWUFBWSxF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R0E5SVEsZUFBZTttR0FBZixlQUFlLCtiQ2xDNUIsd2lGQXVFQSw0Q0R2Q2MsZ0JBQWdCLHFJQUFFLE9BQU8sNkVBQUUsV0FBVyw4ZkFBRSxvQkFBb0IsMERBQUUsV0FBVywwRUFBRSxPQUFPLHdjQUFFLE9BQU8sb0ZBQUUsZ0JBQWdCOzs0RkFFOUcsZUFBZTtrQkFQM0IsU0FBUzsrQkFDSSxtQkFBbUIsaUJBRWQsaUJBQWlCLENBQUMsSUFBSSxjQUN6QixJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixDQUFDOzhCQWlCL0csS0FBSztzQkFBYixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFcUIsVUFBVTtzQkFBcEMsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBRWYsZUFBZTtzQkFBeEIsTUFBTTtnQkFFRyxVQUFVO3NCQUFuQixNQUFNO2dCQUVHLFlBQVk7c0JBQXJCLE1BQU07Z0JBRWUsU0FBUztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZywgQ2RrRHJhZ0Ryb3AsIENka0Ryb3BMaXN0LCBDZGtEcm9wTGlzdEdyb3VwLCBtb3ZlSXRlbUluQXJyYXksIHRyYW5zZmVyQXJyYXlJdGVtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBEb0NoZWNrLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBJdGVyYWJsZUNoYW5nZXMsXG4gICAgSXRlcmFibGVEaWZmZXIsXG4gICAgSXRlcmFibGVEaWZmZXJzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2lnbmFsLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUaHlMaXN0LCBUaHlMaXN0SXRlbSB9IGZyb20gJ25neC10ZXRoeXMvbGlzdCc7XG5pbXBvcnQgeyBUaHlEcmFnRHJvcERpcmVjdGl2ZSB9IGZyb20gJ25neC10ZXRoeXMvc2hhcmVkJztcbmltcG9ydCB7IElubmVyVHJhbnNmZXJEcmFnRXZlbnQsIFRoeVRyYW5zZmVyRHJhZ0V2ZW50LCBUaHlUcmFuc2Zlckl0ZW0sIFRoeVRyYW5zZmVyU2VsZWN0RXZlbnQgfSBmcm9tICcuL3RyYW5zZmVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBpbmplY3RMb2NhbGUsIFRoeVRyYW5zZmVyTG9jYWxlIH0gZnJvbSAnbmd4LXRldGh5cy9pMThuJztcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS10cmFuc2Zlci1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdHJhbnNmZXItbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDZGtEcm9wTGlzdEdyb3VwLCBUaHlMaXN0LCBDZGtEcm9wTGlzdCwgVGh5RHJhZ0Ryb3BEaXJlY3RpdmUsIFRoeUxpc3RJdGVtLCBDZGtEcmFnLCBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlUcmFuc2Zlckxpc3QgaW1wbGVtZW50cyBPbkluaXQsIERvQ2hlY2sge1xuICAgIHByaXZhdGUgZGlmZmVycyA9IGluamVjdChJdGVyYWJsZURpZmZlcnMpO1xuXG4gICAgcHVibGljIGxvY2tJdGVtczogVGh5VHJhbnNmZXJJdGVtW10gPSBbXTtcblxuICAgIHB1YmxpYyB1bmxvY2tJdGVtczogVGh5VHJhbnNmZXJJdGVtW10gPSBbXTtcblxuICAgIHByaXZhdGUgX2RpZmY6IEl0ZXJhYmxlRGlmZmVyPFRoeVRyYW5zZmVySXRlbT47XG5cbiAgICBwcml2YXRlIF9sb2NrRGlmZjogSXRlcmFibGVEaWZmZXI8VGh5VHJhbnNmZXJJdGVtPjtcblxuICAgIHByaXZhdGUgX3VubG9ja0RpZmY6IEl0ZXJhYmxlRGlmZmVyPFRoeVRyYW5zZmVySXRlbT47XG5cbiAgICBsb2NhbGU6IFNpZ25hbDxUaHlUcmFuc2ZlckxvY2FsZT4gPSBpbmplY3RMb2NhbGUoJ3RyYW5zZmVyJyk7XG5cbiAgICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgaXRlbXM6IFRoeVRyYW5zZmVySXRlbVtdO1xuXG4gICAgQElucHV0KCkgZHJhZ2dhYmxlOiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgY2FuTG9jazogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIG1heExvY2s6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIG1heDogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBJbnB1dCgncmVuZGVyQ29udGVudFJlZicpIGNvbnRlbnRSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAT3V0cHV0KCkgZHJhZ2dhYmxlVXBkYXRlOiBFdmVudEVtaXR0ZXI8SW5uZXJUcmFuc2ZlckRyYWdFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElubmVyVHJhbnNmZXJEcmFnRXZlbnQ+KCk7XG5cbiAgICBAT3V0cHV0KCkgc2VsZWN0SXRlbTogRXZlbnRFbWl0dGVyPFRoeVRyYW5zZmVyU2VsZWN0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlUcmFuc2ZlclNlbGVjdEV2ZW50PigpO1xuXG4gICAgQE91dHB1dCgpIHVuc2VsZWN0SXRlbTogRXZlbnRFbWl0dGVyPFRoeVRyYW5zZmVyU2VsZWN0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlUcmFuc2ZlclNlbGVjdEV2ZW50PigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGhvc3RDbGFzcyA9ICd0aHktdHJhbnNmZXItbGlzdCc7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5fY29tYmluZVRyYW5zZmVyRGF0YSgpO1xuICAgICAgICBpZiAodGhpcy5jYW5Mb2NrKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2NrRGlmZiA9IHRoaXMuZGlmZmVycy5maW5kKHRoaXMubG9ja0l0ZW1zKS5jcmVhdGUoKTtcbiAgICAgICAgICAgIHRoaXMuX3VubG9ja0RpZmYgPSB0aGlzLmRpZmZlcnMuZmluZCh0aGlzLnVubG9ja0l0ZW1zKS5jcmVhdGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3VubG9ja0RpZmYgPSB0aGlzLmRpZmZlcnMuZmluZCh0aGlzLnVubG9ja0l0ZW1zKS5jcmVhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9kaWZmID0gdGhpcy5kaWZmZXJzLmZpbmQodGhpcy5pdGVtcykuY3JlYXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY29tYmluZVRyYW5zZmVyRGF0YSgpIHtcbiAgICAgICAgdGhpcy5sb2NrSXRlbXMgPSBbXTtcbiAgICAgICAgdGhpcy51bmxvY2tJdGVtcyA9IFtdO1xuICAgICAgICBpZiAodGhpcy5jYW5Mb2NrKSB7XG4gICAgICAgICAgICAodGhpcy5pdGVtcyB8fCBbXSkuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5pc0xvY2spIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2NrSXRlbXMucHVzaChpdGVtKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVubG9ja0l0ZW1zLnB1c2goaXRlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVubG9ja0l0ZW1zID0gdGhpcy5pdGVtcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2FmdGVyQ2hhbmdlSXRlbXMoY2hhbmdlczogSXRlcmFibGVDaGFuZ2VzPFRoeVRyYW5zZmVySXRlbT4sIGl0ZW1zOiBUaHlUcmFuc2Zlckl0ZW1bXSkge1xuICAgICAgICAvLyDmlbDmja7lj5HnlJ/lj5jljJbml7bvvIzmm7TmlLlvcmRlcuWAvFxuICAgICAgICBjaGFuZ2VzLmZvckVhY2hBZGRlZEl0ZW0ocmVjb3JkID0+IHtcbiAgICAgICAgICAgIHJlY29yZC5pdGVtLm9yZGVyID0gcmVjb3JkLmN1cnJlbnRJbmRleDtcbiAgICAgICAgfSk7XG4gICAgICAgIGNoYW5nZXMuZm9yRWFjaFJlbW92ZWRJdGVtKCgpID0+IHtcbiAgICAgICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5vcmRlciA9IGluZGV4O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBjaGFuZ2VzLmZvckVhY2hNb3ZlZEl0ZW0oKCkgPT4ge1xuICAgICAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBpdGVtLm9yZGVyID0gaW5kZXg7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCkge1xuICAgICAgICBjb25zdCBjaGFuZ2VzID0gdGhpcy5fZGlmZi5kaWZmKHRoaXMuaXRlbXMpO1xuICAgICAgICBpZiAoY2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy5fYWZ0ZXJDaGFuZ2VJdGVtcyhjaGFuZ2VzLCB0aGlzLml0ZW1zKTtcbiAgICAgICAgICAgIHRoaXMuX2NvbWJpbmVUcmFuc2ZlckRhdGEoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fbG9ja0RpZmYpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvY2tDaGFuZ2VzID0gdGhpcy5fbG9ja0RpZmYuZGlmZih0aGlzLmxvY2tJdGVtcyk7XG4gICAgICAgICAgICBpZiAobG9ja0NoYW5nZXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9hZnRlckNoYW5nZUl0ZW1zKGxvY2tDaGFuZ2VzLCB0aGlzLmxvY2tJdGVtcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdW5sb2NrQ2hhbmdlcyA9IHRoaXMuX3VubG9ja0RpZmYuZGlmZih0aGlzLnVubG9ja0l0ZW1zKTtcbiAgICAgICAgaWYgKHVubG9ja0NoYW5nZXMpIHtcbiAgICAgICAgICAgIHRoaXMuX2FmdGVyQ2hhbmdlSXRlbXModW5sb2NrQ2hhbmdlcywgdGhpcy51bmxvY2tJdGVtcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsb2NrTGlzdEVudGVyUHJlZGljYXRlID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NrSXRlbXMubGVuZ3RoIDwgdGhpcy5tYXhMb2NrO1xuICAgIH07XG5cbiAgICB1bmxvY2tMaXN0RW50ZXJQcmVkaWNhdGUgPSAoZXZlbnQ6IENka0RyYWc8VGh5VHJhbnNmZXJJdGVtPikgPT4ge1xuICAgICAgICByZXR1cm4gIWV2ZW50LmRhdGEuaXNGaXhlZDtcbiAgICB9O1xuXG4gICAgb25TZWxlY3RJdGVtID0gKGl0ZW06IFRoeVRyYW5zZmVySXRlbSkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdEl0ZW0uZW1pdCh7IGl0ZW0gfSk7XG4gICAgfTtcblxuICAgIG9uVW5zZWxlY3RJdGVtID0gKGl0ZW06IFRoeVRyYW5zZmVySXRlbSkgPT4ge1xuICAgICAgICB0aGlzLnVuc2VsZWN0SXRlbS5lbWl0KHsgaXRlbSB9KTtcbiAgICB9O1xuXG4gICAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8VGh5VHJhbnNmZXJJdGVtW10+KSB7XG4gICAgICAgIGlmIChldmVudC5wcmV2aW91c0NvbnRhaW5lciA9PT0gZXZlbnQuY29udGFpbmVyKSB7XG4gICAgICAgICAgICBtb3ZlSXRlbUluQXJyYXkoZXZlbnQuY29udGFpbmVyLmRhdGEsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0cmFuc2ZlckFycmF5SXRlbShldmVudC5wcmV2aW91c0NvbnRhaW5lci5kYXRhLCBldmVudC5jb250YWluZXIuZGF0YSwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICAgICAgICAgIChldmVudC5wcmV2aW91c0NvbnRhaW5lci5kYXRhIHx8IFtdKS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIGl0ZW0uaXNMb2NrID0gZXZlbnQucHJldmlvdXNDb250YWluZXIuaWQgPT09ICdsb2NrJztcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAoZXZlbnQuY29udGFpbmVyLmRhdGEgfHwgW10pLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5pc0xvY2sgPSBldmVudC5jb250YWluZXIuaWQgPT09ICdsb2NrJztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRyYWdFdmVudDogVGh5VHJhbnNmZXJEcmFnRXZlbnQgPSB7XG4gICAgICAgICAgICBtb2RlbDogZXZlbnQuaXRlbS5kYXRhLFxuICAgICAgICAgICAgbW9kZWxzOiBldmVudC5jb250YWluZXIuZGF0YSxcbiAgICAgICAgICAgIG9sZEluZGV4OiBldmVudC5wcmV2aW91c0luZGV4LFxuICAgICAgICAgICAgbmV3SW5kZXg6IGV2ZW50LmN1cnJlbnRJbmRleFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmRyYWdnYWJsZVVwZGF0ZS5lbWl0KHtcbiAgICAgICAgICAgIGRyYWdFdmVudDogZHJhZ0V2ZW50LFxuICAgICAgICAgICAgbGlzdERhdGE6IHsgbG9jazogdGhpcy5sb2NrSXRlbXMsIHVubG9jazogdGhpcy51bmxvY2tJdGVtcyB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aHktdHJhbnNmZXItbGlzdC1oZWFkZXJcIj5cbiAgPHNwYW4gY2xhc3M9XCJ0aHktdHJhbnNmZXItbGlzdC1oZWFkZXItdGl0bGVcIlxuICAgID57eyB0aXRsZSB9fSDCtyB7eyBpdGVtcz8ubGVuZ3RoIH19XG4gICAgQGlmIChtYXgpIHtcbiAgICAgIDxzcGFuPnt7IGxvY2FsZSgpLm1heExpbWl0LnJlcGxhY2UoJ3ttYXh9JywgbWF4KSB9fTwvc3Bhbj5cbiAgICB9XG4gIDwvc3Bhbj5cbjwvZGl2PlxuQGlmICghY29udGVudFJlZikge1xuICA8ZGl2IGNsYXNzPVwidGh5LXRyYW5zZmVyLWxpc3QtYm9keVwiIGNka0Ryb3BMaXN0R3JvdXAgW2Nka0Ryb3BMaXN0R3JvdXBEaXNhYmxlZF09XCIhZHJhZ2dhYmxlXCI+XG4gICAgQGlmIChjYW5Mb2NrKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwidGh5LXRyYW5zZmVyLWxpc3QtZ3JvdXAtbmFtZVwiPnt7IGxvY2FsZSgpLm1heExvY2tMaW1pdC5yZXBsYWNlKCd7bWF4TG9ja30nLCBtYXhMb2NrKSB9fTwvZGl2PlxuICAgICAgPHRoeS1saXN0XG4gICAgICAgIGNsYXNzPVwidGh5LXRyYW5zZmVyLWxpc3QtY29udGVudFwiXG4gICAgICAgIGNka0Ryb3BMaXN0XG4gICAgICAgIHRoeURyYWdEcm9wXG4gICAgICAgIGlkPVwibG9ja1wiXG4gICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwibG9ja0l0ZW1zXCJcbiAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIlxuICAgICAgICBbY2RrRHJvcExpc3RFbnRlclByZWRpY2F0ZV09XCJsb2NrTGlzdEVudGVyUHJlZGljYXRlXCI+XG4gICAgICAgIEBpZiAobG9ja0l0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZGstZHJvcC1saXN0LWVtcHR5XCI+PC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAoaXRlbSBvZiBsb2NrSXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgIDx0aHktbGlzdC1pdGVtXG4gICAgICAgICAgICBjbGFzcz1cInRoeS10cmFuc2Zlci1saXN0LWNvbnRlbnQtaXRlbSB0ZXh0LXRydW5jYXRlXCJcbiAgICAgICAgICAgIGNka0RyYWdcbiAgICAgICAgICAgIFtjZGtEcmFnRGF0YV09XCJpdGVtXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiBpdGVtLmNoZWNrZWQgfVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvdGh5LWxpc3QtaXRlbT5cbiAgICAgICAgfVxuICAgICAgPC90aHktbGlzdD5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0aHktdHJhbnNmZXItbGlzdC1ncm91cC1uYW1lXCI+e3sgbG9jYWxlKCkudW5sb2NrZWQgfX08L2Rpdj5cbiAgICB9XG4gICAgPHRoeS1saXN0XG4gICAgICBjbGFzcz1cInRoeS10cmFuc2Zlci1saXN0LWNvbnRlbnRcIlxuICAgICAgY2RrRHJvcExpc3RcbiAgICAgIHRoeURyYWdEcm9wXG4gICAgICBbY2RrRHJvcExpc3REaXNhYmxlZF09XCIhZHJhZ2dhYmxlXCJcbiAgICAgIGlkPVwidW5sb2NrXCJcbiAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwidW5sb2NrSXRlbXNcIlxuICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIlxuICAgICAgW2Nka0Ryb3BMaXN0RW50ZXJQcmVkaWNhdGVdPVwidW5sb2NrTGlzdEVudGVyUHJlZGljYXRlXCI+XG4gICAgICBAaWYgKHVubG9ja0l0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiY2RrLWRyb3AtbGlzdC1lbXB0eVwiPjwvZGl2PlxuICAgICAgfVxuICAgICAgQGZvciAoaXRlbSBvZiB1bmxvY2tJdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDx0aHktbGlzdC1pdGVtXG4gICAgICAgICAgY2xhc3M9XCJ0aHktdHJhbnNmZXItbGlzdC1jb250ZW50LWl0ZW0gdGV4dC10cnVuY2F0ZVwiXG4gICAgICAgICAgY2RrRHJhZ1xuICAgICAgICAgIFtjZGtEcmFnRGF0YV09XCJpdGVtXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogaXRlbS5jaGVja2VkLCBkaXNhYmxlZDogZGlzYWJsZWQgJiYgaXRlbS5kaXJlY3Rpb24gPT09ICdsZWZ0JyB9XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3RoeS1saXN0LWl0ZW0+XG4gICAgICB9XG4gICAgPC90aHktbGlzdD5cbiAgPC9kaXY+XG59IEBlbHNlIHtcbiAgPGRpdiBjbGFzcz1cInRoeS10cmFuc2Zlci1saXN0LWJvZHlcIj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICBjb250ZW50UmVmO1xuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgJGltcGxpY2l0OiBpdGVtcyxcbiAgICAgICAgICBvblNlbGVjdEl0ZW06IG9uU2VsZWN0SXRlbSxcbiAgICAgICAgICBvblVuc2VsZWN0SXRlbTogb25VbnNlbGVjdEl0ZW1cbiAgICAgICAgfVxuICAgICAgXCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxufVxuIl19
@@ -134,10 +134,10 @@ export class ThyTransfer {
134
134
  ? [...event.listData.lock, ...event.listData.unlock]
135
135
  : [...otherListData.lock, ...otherListData.unlock];
136
136
  }
137
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTransfer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
138
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyTransfer, isStandalone: true, selector: "thy-transfer", inputs: { thyData: "thyData", thyrenderLeftTemplateRef: "thyrenderLeftTemplateRef", thyrenderRightTemplateRef: "thyrenderRightTemplateRef", thyTitles: "thyTitles", thyRightCanLock: "thyRightCanLock", thyRightLockMax: "thyRightLockMax", thyRightMax: "thyRightMax", thyAutoMove: "thyAutoMove", thyLeftDraggable: "thyLeftDraggable", thyRightDraggable: "thyRightDraggable" }, outputs: { thyDraggableUpdate: "thyDraggableUpdate", thyChange: "thyChange" }, host: { properties: { "class": "this.hostClass" } }, queries: [{ propertyName: "templateRef", first: true, predicate: ["renderTemplate"], descendants: true }, { propertyName: "leftContentRef", first: true, predicate: ["renderLeftTemplate"], descendants: true }, { propertyName: "rightContentRef", first: true, predicate: ["renderRightTemplate"], descendants: true }], ngImport: i0, template: "<thy-transfer-list\n [items]=\"allDataSource\"\n [title]=\"leftTitle\"\n [draggable]=\"thyLeftDraggable\"\n [disabled]=\"thyRightMax <= rightDataSource.length\"\n [renderContentRef]=\"leftContentRef\"\n (draggableUpdate)=\"onDragUpdate('left', $event)\"\n [template]=\"leftTemplateRef\"\n (selectItem)=\"selectItem($event)\"\n (unselectItem)=\"unselectItem($event)\"\n >\n <ng-template #leftTemplateRef let-item>\n <div (click)=\"onSelect(item.direction === 'left' ? 'left' : 'right', { item: item })\" class=\"list-item-content\">\n @if (thyLeftDraggable) {\n <thy-icon thyIconName=\"drag\" class=\"drag-handle\"></thy-icon>\n }\n <div class=\"item-name\" [ngClass]=\"{ 'un-select-item': item.direction !== 'right' }\">\n <ng-template [ngTemplateOutlet]=\"thyTransferListItem\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n @if (item.direction === 'right') {\n <thy-icon class=\"text-primary item-status\" thyIconName=\"check\"></thy-icon>\n }\n </div>\n </ng-template>\n</thy-transfer-list>\n\n<div class=\"thy-transfer-operation\">\n <div class=\"thy-transfer-operation-body\">\n <thy-icon thyIconName=\"angle-right\" class=\"operation-link\"></thy-icon>\n <br />\n <thy-icon thyIconName=\"angle-left\" class=\"operation-link\"></thy-icon>\n </div>\n</div>\n\n<thy-transfer-list\n [items]=\"rightDataSource\"\n [title]=\"rightTitle\"\n [draggable]=\"thyRightDraggable\"\n (draggableUpdate)=\"onDragUpdate('right', $event)\"\n [canLock]=\"thyRightCanLock\"\n [maxLock]=\"thyRightLockMax\"\n [max]=\"thyRightMax\"\n [template]=\"rightTemplateRef\"\n [renderContentRef]=\"rightContentRef\"\n (selectItem)=\"selectItem($event)\"\n (unselectItem)=\"unselectItem($event)\"\n >\n <ng-template #rightTemplateRef let-item>\n @if (thyRightDraggable) {\n <thy-icon thyIconName=\"drag\" class=\"drag-handle\"></thy-icon>\n }\n <div class=\"item-name\">\n <ng-template [ngTemplateOutlet]=\"thyTransferListItem\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n @if (item.direction === 'right' && !item.isFixed) {\n <a class=\"link-secondary\" (click)=\"onSelect('right', { item: item })\">\n <thy-icon class=\"item-status\" thyIconName=\"close\"></thy-icon>\n </a>\n }\n </ng-template>\n</thy-transfer-list>\n\n<ng-template #thyTransferListItem let-item>\n @if (templateRef) {\n <ng-template [ngTemplateOutlet]=\"templateRef\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n }\n @if (!templateRef) {\n <thy-flexible-text [thyTooltipContent]=\"item.title\">\n {{ item.title }}\n </thy-flexible-text>\n }\n</ng-template>\n", dependencies: [{ kind: "component", type: ThyTransferList, selector: "thy-transfer-list", inputs: ["title", "items", "draggable", "canLock", "maxLock", "max", "disabled", "template", "renderContentRef"], outputs: ["draggableUpdate", "selectItem", "unselectItem"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }], encapsulation: i0.ViewEncapsulation.None }); }
137
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyTransfer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
138
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ThyTransfer, isStandalone: true, selector: "thy-transfer", inputs: { thyData: "thyData", thyrenderLeftTemplateRef: "thyrenderLeftTemplateRef", thyrenderRightTemplateRef: "thyrenderRightTemplateRef", thyTitles: "thyTitles", thyRightCanLock: "thyRightCanLock", thyRightLockMax: "thyRightLockMax", thyRightMax: "thyRightMax", thyAutoMove: "thyAutoMove", thyLeftDraggable: "thyLeftDraggable", thyRightDraggable: "thyRightDraggable" }, outputs: { thyDraggableUpdate: "thyDraggableUpdate", thyChange: "thyChange" }, host: { properties: { "class": "this.hostClass" } }, queries: [{ propertyName: "templateRef", first: true, predicate: ["renderTemplate"], descendants: true }, { propertyName: "leftContentRef", first: true, predicate: ["renderLeftTemplate"], descendants: true }, { propertyName: "rightContentRef", first: true, predicate: ["renderRightTemplate"], descendants: true }], ngImport: i0, template: "<thy-transfer-list\n [items]=\"allDataSource\"\n [title]=\"leftTitle\"\n [draggable]=\"thyLeftDraggable\"\n [disabled]=\"thyRightMax <= rightDataSource.length\"\n [renderContentRef]=\"leftContentRef\"\n (draggableUpdate)=\"onDragUpdate('left', $event)\"\n [template]=\"leftTemplateRef\"\n (selectItem)=\"selectItem($event)\"\n (unselectItem)=\"unselectItem($event)\"\n >\n <ng-template #leftTemplateRef let-item>\n <div (click)=\"onSelect(item.direction === 'left' ? 'left' : 'right', { item: item })\" class=\"list-item-content\">\n @if (thyLeftDraggable) {\n <thy-icon thyIconName=\"drag\" class=\"drag-handle\"></thy-icon>\n }\n <div class=\"item-name\" [ngClass]=\"{ 'un-select-item': item.direction !== 'right' }\">\n <ng-template [ngTemplateOutlet]=\"thyTransferListItem\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n @if (item.direction === 'right') {\n <thy-icon class=\"text-primary item-status\" thyIconName=\"check\"></thy-icon>\n }\n </div>\n </ng-template>\n</thy-transfer-list>\n\n<div class=\"thy-transfer-operation\">\n <div class=\"thy-transfer-operation-body\">\n <thy-icon thyIconName=\"angle-right\" class=\"operation-link\"></thy-icon>\n <br />\n <thy-icon thyIconName=\"angle-left\" class=\"operation-link\"></thy-icon>\n </div>\n</div>\n\n<thy-transfer-list\n [items]=\"rightDataSource\"\n [title]=\"rightTitle\"\n [draggable]=\"thyRightDraggable\"\n (draggableUpdate)=\"onDragUpdate('right', $event)\"\n [canLock]=\"thyRightCanLock\"\n [maxLock]=\"thyRightLockMax\"\n [max]=\"thyRightMax\"\n [template]=\"rightTemplateRef\"\n [renderContentRef]=\"rightContentRef\"\n (selectItem)=\"selectItem($event)\"\n (unselectItem)=\"unselectItem($event)\"\n >\n <ng-template #rightTemplateRef let-item>\n @if (thyRightDraggable) {\n <thy-icon thyIconName=\"drag\" class=\"drag-handle\"></thy-icon>\n }\n <div class=\"item-name\">\n <ng-template [ngTemplateOutlet]=\"thyTransferListItem\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n @if (item.direction === 'right' && !item.isFixed) {\n <a class=\"link-secondary\" (click)=\"onSelect('right', { item: item })\">\n <thy-icon class=\"item-status\" thyIconName=\"close\"></thy-icon>\n </a>\n }\n </ng-template>\n</thy-transfer-list>\n\n<ng-template #thyTransferListItem let-item>\n @if (templateRef) {\n <ng-template [ngTemplateOutlet]=\"templateRef\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n }\n @if (!templateRef) {\n <thy-flexible-text [thyTooltipContent]=\"item.title\">\n {{ item.title }}\n </thy-flexible-text>\n }\n</ng-template>\n", dependencies: [{ kind: "component", type: ThyTransferList, selector: "thy-transfer-list", inputs: ["title", "items", "draggable", "canLock", "maxLock", "max", "disabled", "template", "renderContentRef"], outputs: ["draggableUpdate", "selectItem", "unselectItem"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }], encapsulation: i0.ViewEncapsulation.None }); }
139
139
  }
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTransfer, decorators: [{
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyTransfer, decorators: [{
141
141
  type: Component,
142
142
  args: [{ selector: 'thy-transfer', encapsulation: ViewEncapsulation.None, standalone: true, imports: [ThyTransferList, ThyIcon, NgClass, NgTemplateOutlet, ThyFlexibleText], template: "<thy-transfer-list\n [items]=\"allDataSource\"\n [title]=\"leftTitle\"\n [draggable]=\"thyLeftDraggable\"\n [disabled]=\"thyRightMax <= rightDataSource.length\"\n [renderContentRef]=\"leftContentRef\"\n (draggableUpdate)=\"onDragUpdate('left', $event)\"\n [template]=\"leftTemplateRef\"\n (selectItem)=\"selectItem($event)\"\n (unselectItem)=\"unselectItem($event)\"\n >\n <ng-template #leftTemplateRef let-item>\n <div (click)=\"onSelect(item.direction === 'left' ? 'left' : 'right', { item: item })\" class=\"list-item-content\">\n @if (thyLeftDraggable) {\n <thy-icon thyIconName=\"drag\" class=\"drag-handle\"></thy-icon>\n }\n <div class=\"item-name\" [ngClass]=\"{ 'un-select-item': item.direction !== 'right' }\">\n <ng-template [ngTemplateOutlet]=\"thyTransferListItem\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n @if (item.direction === 'right') {\n <thy-icon class=\"text-primary item-status\" thyIconName=\"check\"></thy-icon>\n }\n </div>\n </ng-template>\n</thy-transfer-list>\n\n<div class=\"thy-transfer-operation\">\n <div class=\"thy-transfer-operation-body\">\n <thy-icon thyIconName=\"angle-right\" class=\"operation-link\"></thy-icon>\n <br />\n <thy-icon thyIconName=\"angle-left\" class=\"operation-link\"></thy-icon>\n </div>\n</div>\n\n<thy-transfer-list\n [items]=\"rightDataSource\"\n [title]=\"rightTitle\"\n [draggable]=\"thyRightDraggable\"\n (draggableUpdate)=\"onDragUpdate('right', $event)\"\n [canLock]=\"thyRightCanLock\"\n [maxLock]=\"thyRightLockMax\"\n [max]=\"thyRightMax\"\n [template]=\"rightTemplateRef\"\n [renderContentRef]=\"rightContentRef\"\n (selectItem)=\"selectItem($event)\"\n (unselectItem)=\"unselectItem($event)\"\n >\n <ng-template #rightTemplateRef let-item>\n @if (thyRightDraggable) {\n <thy-icon thyIconName=\"drag\" class=\"drag-handle\"></thy-icon>\n }\n <div class=\"item-name\">\n <ng-template [ngTemplateOutlet]=\"thyTransferListItem\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </div>\n @if (item.direction === 'right' && !item.isFixed) {\n <a class=\"link-secondary\" (click)=\"onSelect('right', { item: item })\">\n <thy-icon class=\"item-status\" thyIconName=\"close\"></thy-icon>\n </a>\n }\n </ng-template>\n</thy-transfer-list>\n\n<ng-template #thyTransferListItem let-item>\n @if (templateRef) {\n <ng-template [ngTemplateOutlet]=\"templateRef\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n }\n @if (!templateRef) {\n <thy-flexible-text [thyTooltipContent]=\"item.title\">\n {{ item.title }}\n </thy-flexible-text>\n }\n</ng-template>\n" }]
143
143
  }], propDecorators: { hostClass: [{
@@ -177,4 +177,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
177
177
  type: ContentChild,
178
178
  args: ['renderRightTemplate']
179
179
  }] } });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZmVyL3RyYW5zZmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy90cmFuc2Zlci90cmFuc2Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFJLE9BQU8sRUFPSCxpQkFBaUIsRUFDcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRTVEOzs7O0dBSUc7QUFRSCxNQUFNLE9BQU8sV0FBVztJQVB4QjtRQVEwQixjQUFTLEdBQUcsY0FBYyxDQUFDO1FBRTFDLG1CQUFjLEdBQXNCLEVBQUUsQ0FBQztRQUV2QyxvQkFBZSxHQUFzQixFQUFFLENBQUM7UUFFeEMsa0JBQWEsR0FBc0IsRUFBRSxDQUFDO1FBTXRDLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRXRCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFpRXpCOztXQUVHO1FBQ08sdUJBQWtCLEdBQXVDLElBQUksWUFBWSxFQUF3QixDQUFDO1FBRTVHOzs7V0FHRztRQUNPLGNBQVMsR0FBeUMsSUFBSSxZQUFZLEVBQTBCLENBQUM7S0E2RzFHO0lBckxHOzs7T0FHRztJQUNILElBQ0ksT0FBTyxDQUFDLEtBQXdCO1FBQ2hDLElBQUks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LGFBQWEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0QsQ0FBQzs4R0FyTVEsV0FBVztrR0FBWCxXQUFXLDIzQkM1QnhCLHlyRkF3RUEsNENEOUNjLGVBQWUsNE9BQUUsT0FBTyxzTUFBRSxPQUFPLG9GQUFFLGdCQUFnQixvSkFBRSxlQUFlOzsyRkFFckUsV0FBVztrQkFQdkIsU0FBUzsrQkFDSSxjQUFjLGlCQUVULGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQLENBQUMsZUFBZSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDOzhCQUd6RCxTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBcUJoQixPQUFPO3NCQURWLEtBQUs7Z0JBT0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUVHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFPRixTQUFTO3NCQURaLEtBQUs7Z0JBVUcsZUFBZTtzQkFBdkIsS0FBSztnQkFLRyxlQUFlO3NCQUF2QixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBUUYsV0FBVztzQkFEZCxLQUFLO2dCQVNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFNRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBS0ksa0JBQWtCO3NCQUEzQixNQUFNO2dCQU1HLFNBQVM7c0JBQWxCLE1BQU07Z0JBTXlCLFdBQVc7c0JBQTFDLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQU1NLGNBQWM7c0JBQWpELFlBQVk7dUJBQUMsb0JBQW9CO2dCQU1HLGVBQWU7c0JBQW5ELFlBQVk7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgRGlyZWN0aW9uLFxuICAgIElubmVyVHJhbnNmZXJEcmFnRXZlbnQsXG4gICAgVGh5VHJhbnNmZXJDaGFuZ2VFdmVudCxcbiAgICBUaHlUcmFuc2ZlckRyYWdFdmVudCxcbiAgICBUaHlUcmFuc2Zlckl0ZW0sXG4gICAgVGh5VHJhbnNmZXJTZWxlY3RFdmVudCxcbiAgICBUcmFuc2ZlckRpcmVjdGlvblxufSBmcm9tICcuL3RyYW5zZmVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUaHlGbGV4aWJsZVRleHQgfSBmcm9tICduZ3gtdGV0aHlzL2ZsZXhpYmxlLXRleHQnO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRoeVRyYW5zZmVyTGlzdCB9IGZyb20gJy4vdHJhbnNmZXItbGlzdC5jb21wb25lbnQnO1xuXG4vKipcbiAqIOepv+aireahhue7hOS7tlxuICogQG5hbWUgdGh5LXRyYW5zZmVyXG4gKiBAb3JkZXIgMTBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktdHJhbnNmZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90cmFuc2Zlci5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtUaHlUcmFuc2Zlckxpc3QsIFRoeUljb24sIE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQsIFRoeUZsZXhpYmxlVGV4dF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5VHJhbnNmZXIgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBob3N0Q2xhc3MgPSAndGh5LXRyYW5zZmVyJztcblxuICAgIHB1YmxpYyBsZWZ0RGF0YVNvdXJjZTogVGh5VHJhbnNmZXJJdGVtW10gPSBbXTtcblxuICAgIHB1YmxpYyByaWdodERhdGFTb3VyY2U6IFRoeVRyYW5zZmVySXRlbVtdID0gW107XG5cbiAgICBwdWJsaWMgYWxsRGF0YVNvdXJjZTogVGh5VHJhbnNmZXJJdGVtW10gPSBbXTtcblxuICAgIHB1YmxpYyBsZWZ0VGl0bGU6IHN0cmluZztcblxuICAgIHB1YmxpYyByaWdodFRpdGxlOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgcmlnaHREcmFnZ2FibGUgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgX2F1dG9Nb3ZlID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIOaVsOaNrua6kFxuICAgICAqIEB0eXBlIFRoeVRyYW5zZmVySXRlbVtdXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5RGF0YSh2YWx1ZTogVGh5VHJhbnNmZXJJdGVtW10pIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVUcmFuc2ZlckRhdGEodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KCkgdGh5cmVuZGVyTGVmdFRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQElucHV0KCkgdGh5cmVuZGVyUmlnaHRUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIHRpdGxl6ZuG5ZCI77yMdGl0bGVbMF3kuLrlt6bmoIfpopjvvIx0aXRsZVsxXeS4uuWPs+agh+mimFxuICAgICAqIEB0eXBlIHN0cmluZ1tdXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VGl0bGVzKHZhbHVlOiBzdHJpbmdbXSkge1xuICAgICAgICB0aGlzLmxlZnRUaXRsZSA9IHZhbHVlWzBdIHx8ICcnO1xuICAgICAgICB0aGlzLnJpZ2h0VGl0bGUgPSB2YWx1ZVsxXSB8fCAnJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlj7PkvqfliJfooajmmK/lkKblj6/ku6XplIHlrppcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVJpZ2h0Q2FuTG9jazogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOWPs+S+p+mUgeWumuacgOWkp+aVsOmHj1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVJpZ2h0TG9ja01heDogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog5Y+z5L6n6YCJ5oup5pyA5aSn5pWw6YePXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UmlnaHRNYXg6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIOiuvue9ruaYr+WQpuiHquWKqOenu+WKqFxuICAgICAqIEBkZXNjcmlwdGlvbi5lbi11cyBDdXJyZW50bHkgbm90IGltcGxlbWVudGVkLCBpbiBvcmRlciB0byBzdXBwb3J0IHRoZSBzZWxlY3Rpb25zIG1vdmVcbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5QXV0b01vdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fYXV0b01vdmUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlt6bkvqfliJfooajmmK/lkKbmi5bliqhcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUxlZnREcmFnZ2FibGU6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDlj7PkvqfliJfooajmmK/lkKbmi5bliqhcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVJpZ2h0RHJhZ2dhYmxlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQHR5cGUgRXZlbnRFbWl0dGVyPFRoeVRyYW5zZmVyRHJhZ0V2ZW50PlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSB0aHlEcmFnZ2FibGVVcGRhdGU6IEV2ZW50RW1pdHRlcjxUaHlUcmFuc2ZlckRyYWdFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRoeVRyYW5zZmVyRHJhZ0V2ZW50PigpO1xuXG4gICAgLyoqXG4gICAgICogVHJhbnNmZXLlj5jljJbnmoTlm57osIPkuovku7ZcbiAgICAgKiBAdHlwZSBFdmVudEVtaXR0ZXI8VGh5VHJhbnNmZXJDaGFuZ2VFdmVudD5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5Q2hhbmdlOiBFdmVudEVtaXR0ZXI8VGh5VHJhbnNmZXJDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRoeVRyYW5zZmVyQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7oh6rlrprkuYlJdGVt5riy5p+T5pWw5o2u5qih5p2/XG4gICAgICogQHR5cGUgVGVtcGxhdGVSZWZcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdyZW5kZXJUZW1wbGF0ZScpIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICog6K6+572u6Ieq5a6a5LmJ5bem5L6n5YaF5a655qih5p2/XG4gICAgICogQHR5cGUgVGVtcGxhdGVSZWZcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdyZW5kZXJMZWZ0VGVtcGxhdGUnKSBsZWZ0Q29udGVudFJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIOiuvue9ruiHquWumuS5ieWPs+S+p+WGheWuueaooeadv1xuICAgICAqIEB0eXBlIFRlbXBsYXRlUmVmXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgncmVuZGVyUmlnaHRUZW1wbGF0ZScpIHJpZ2h0Q29udGVudFJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIG5nT25Jbml0KCkge31cblxuICAgIGluaXRpYWxpemVUcmFuc2ZlckRhdGEoZGF0YTogVGh5VHJhbnNmZXJJdGVtW10gPSBbXSkge1xuICAgICAgICB0aGlzLmFsbERhdGFTb3VyY2UgPSBbXTtcbiAgICAgICAgdGhpcy5sZWZ0RGF0YVNvdXJjZSA9IFtdO1xuICAgICAgICB0aGlzLnJpZ2h0RGF0YVNvdXJjZSA9IFtdO1xuICAgICAgICBkYXRhLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFsbERhdGFTb3VyY2UucHVzaChpdGVtKTtcbiAgICAgICAgICAgIGlmIChpdGVtLmRpcmVjdGlvbiA9PT0gVHJhbnNmZXJEaXJlY3Rpb24ubGVmdCkge1xuICAgICAgICAgICAgICAgIHRoaXMubGVmdERhdGFTb3VyY2UucHVzaChpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtLmRpcmVjdGlvbiA9PT0gVHJhbnNmZXJEaXJlY3Rpb24ucmlnaHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJpZ2h0RGF0YVNvdXJjZS5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvblNlbGVjdChmcm9tOiBEaXJlY3Rpb24sIGV2ZW50OiBUaHlUcmFuc2ZlclNlbGVjdEV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC5pdGVtLmlzRml4ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy50aHlSaWdodE1heCA8PSB0aGlzLnJpZ2h0RGF0YVNvdXJjZS5sZW5ndGggJiYgZnJvbSA9PT0gVHJhbnNmZXJEaXJlY3Rpb24ubGVmdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRvID0gZnJvbSA9PT0gVHJhbnNmZXJEaXJlY3Rpb24ubGVmdCA/IFRyYW5zZmVyRGlyZWN0aW9uLnJpZ2h0IDogVHJhbnNmZXJEaXJlY3Rpb24ubGVmdDtcbiAgICAgICAgZXZlbnQuaXRlbS5jaGVja2VkID0gIWV2ZW50Lml0ZW0uY2hlY2tlZDtcbiAgICAgICAgaWYgKHRoaXMuX2F1dG9Nb3ZlKSB7XG4gICAgICAgICAgICB0aGlzLm9uTW92ZSh0byk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3RJdGVtKGV2ZW50OiBUaHlUcmFuc2ZlclNlbGVjdEV2ZW50KSB7XG4gICAgICAgIHRoaXMub25TZWxlY3QoVHJhbnNmZXJEaXJlY3Rpb24ubGVmdCwgZXZlbnQpO1xuICAgIH1cblxuICAgIHVuc2VsZWN0SXRlbShldmVudDogVGh5VHJhbnNmZXJTZWxlY3RFdmVudCkge1xuICAgICAgICB0aGlzLm9uU2VsZWN0KFRyYW5zZmVyRGlyZWN0aW9uLnJpZ2h0LCBldmVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBncm91cExpc3RCeUlzTG9jayhsaXN0OiBUaHlUcmFuc2Zlckl0ZW1bXSA9IFtdKSB7XG4gICAgICAgIGNvbnN0IGxvY2s6IFRoeVRyYW5zZmVySXRlbVtdID0gW10sXG4gICAgICAgICAgICB1bmxvY2s6IFRoeVRyYW5zZmVySXRlbVtdID0gW107XG4gICAgICAgIGxpc3QuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLmlzTG9jaykge1xuICAgICAgICAgICAgICAgIGxvY2sucHVzaChpdGVtKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdW5sb2NrLnB1c2goaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4geyBsb2NrOiBsb2NrLCB1bmxvY2s6IHVubG9jayB9O1xuICAgIH1cblxuICAgIG9uTW92ZSh0bzogRGlyZWN0aW9uKSB7XG4gICAgICAgIGNvbnN0IGZyb21EYXRhU291cmNlID0gdG8gPT09IFRyYW5zZmVyRGlyZWN0aW9uLnJpZ2h0ID8gdGhpcy5sZWZ0RGF0YVNvdXJjZSA6IHRoaXMucmlnaHREYXRhU291cmNlO1xuICAgICAgICBjb25zdCB0b0RhdGFTb3VyY2UgPSB0byA9PT0gVHJhbnNmZXJEaXJlY3Rpb24ucmlnaHQgPyB0aGlzLnJpZ2h0RGF0YVNvdXJjZSA6IHRoaXMubGVmdERhdGFTb3VyY2U7XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbnMgPSBmcm9tRGF0YVNvdXJjZS5maWx0ZXIoaXRlbSA9PiBpdGVtLmNoZWNrZWQpO1xuICAgICAgICBjb25zdCBjaGFuZ2VFdmVudDogVGh5VHJhbnNmZXJDaGFuZ2VFdmVudCA9IHtcbiAgICAgICAgICAgIGZyb206IHRvID09PSBUcmFuc2ZlckRpcmVjdGlvbi5yaWdodCA/IFRyYW5zZmVyRGlyZWN0aW9uLmxlZnQgOiBUcmFuc2ZlckRpcmVjdGlvbi5yaWdodCxcbiAgICAgICAgICAgIHRvOiB0byxcbiAgICAgICAgICAgIGl0ZW1zOiBbLi4uc2VsZWN0aW9uc11cbiAgICAgICAgfTtcbiAgICAgICAgc2VsZWN0aW9ucy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBmcm9tRGF0YVNvdXJjZS5pbmRleE9mKGl0ZW0pO1xuICAgICAgICAgICAgY29uc3QgcmVtb3ZlZCA9IGZyb21EYXRhU291cmNlLnNwbGljZShpbmRleCwgMSlbMF07XG4gICAgICAgICAgICByZW1vdmVkLmNoZWNrZWQgPSAhcmVtb3ZlZC5jaGVja2VkO1xuICAgICAgICAgICAgcmVtb3ZlZC5kaXJlY3Rpb24gPSB0bztcbiAgICAgICAgICAgIHRvRGF0YVNvdXJjZS5wdXNoKHJlbW92ZWQpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50aHlDaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgICAuLi5jaGFuZ2VFdmVudCxcbiAgICAgICAgICAgIGxlZnQ6IHRoaXMuZ3JvdXBMaXN0QnlJc0xvY2sodGhpcy5sZWZ0RGF0YVNvdXJjZSksXG4gICAgICAgICAgICByaWdodDogdGhpcy5ncm91cExpc3RCeUlzTG9jayh0aGlzLnJpZ2h0RGF0YVNvdXJjZSlcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EcmFnVXBkYXRlKGRpcmVjdGlvbjogRGlyZWN0aW9uLCBldmVudDogSW5uZXJUcmFuc2ZlckRyYWdFdmVudCkge1xuICAgICAgICBjb25zdCBvdGhlckRpcmVjdGlvbkRhdGEgPSBkaXJlY3Rpb24gPT09IFRyYW5zZmVyRGlyZWN0aW9uLmxlZnQgPyB0aGlzLnJpZ2h0RGF0YVNvdXJjZSA6IHRoaXMubGVmdERhdGFTb3VyY2U7XG4gICAgICAgIGNvbnN0IG90aGVyTGlzdERhdGEgPSB0aGlzLmdyb3VwTGlzdEJ5SXNMb2NrKG90aGVyRGlyZWN0aW9uRGF0YSk7XG4gICAgICAgIHRoaXMudGh5RHJhZ2dhYmxlVXBkYXRlLmVtaXQoe1xuICAgICAgICAgICAgLi4uZXZlbnQuZHJhZ0V2ZW50LFxuICAgICAgICAgICAgbGVmdDogZGlyZWN0aW9uID09PSBUcmFuc2ZlckRpcmVjdGlvbi5sZWZ0ID8gZXZlbnQubGlzdERhdGEgOiBvdGhlckxpc3REYXRhLFxuICAgICAgICAgICAgcmlnaHQ6IGRpcmVjdGlvbiA9PT0gVHJhbnNmZXJEaXJlY3Rpb24ucmlnaHQgPyBldmVudC5saXN0RGF0YSA6IG90aGVyTGlzdERhdGFcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5yaWdodERhdGFTb3VyY2UgPVxuICAgICAgICAgICAgZGlyZWN0aW9uID09PSBUcmFuc2ZlckRpcmVjdGlvbi5yaWdodFxuICAgICAgICAgICAgICAgID8gWy4uLmV2ZW50Lmxpc3REYXRhLmxvY2ssIC4uLmV2ZW50Lmxpc3REYXRhLnVubG9ja11cbiAgICAgICAgICAgICAgICA6IFsuLi5vdGhlckxpc3REYXRhLmxvY2ssIC4uLm90aGVyTGlzdERhdGEudW5sb2NrXTtcbiAgICB9XG59XG4iLCI8dGh5LXRyYW5zZmVyLWxpc3RcbiAgW2l0ZW1zXT1cImFsbERhdGFTb3VyY2VcIlxuICBbdGl0bGVdPVwibGVmdFRpdGxlXCJcbiAgW2RyYWdnYWJsZV09XCJ0aHlMZWZ0RHJhZ2dhYmxlXCJcbiAgW2Rpc2FibGVkXT1cInRoeVJpZ2h0TWF4IDw9IHJpZ2h0RGF0YVNvdXJjZS5sZW5ndGhcIlxuICBbcmVuZGVyQ29udGVudFJlZl09XCJsZWZ0Q29udGVudFJlZlwiXG4gIChkcmFnZ2FibGVVcGRhdGUpPVwib25EcmFnVXBkYXRlKCdsZWZ0JywgJGV2ZW50KVwiXG4gIFt0ZW1wbGF0ZV09XCJsZWZ0VGVtcGxhdGVSZWZcIlxuICAoc2VsZWN0SXRlbSk9XCJzZWxlY3RJdGVtKCRldmVudClcIlxuICAodW5zZWxlY3RJdGVtKT1cInVuc2VsZWN0SXRlbSgkZXZlbnQpXCJcbiAgPlxuICA8bmctdGVtcGxhdGUgI2xlZnRUZW1wbGF0ZVJlZiBsZXQtaXRlbT5cbiAgICA8ZGl2IChjbGljayk9XCJvblNlbGVjdChpdGVtLmRpcmVjdGlvbiA9PT0gJ2xlZnQnID8gJ2xlZnQnIDogJ3JpZ2h0JywgeyBpdGVtOiBpdGVtIH0pXCIgY2xhc3M9XCJsaXN0LWl0ZW0tY29udGVudFwiPlxuICAgICAgQGlmICh0aHlMZWZ0RHJhZ2dhYmxlKSB7XG4gICAgICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImRyYWdcIiBjbGFzcz1cImRyYWctaGFuZGxlXCI+PC90aHktaWNvbj5cbiAgICAgIH1cbiAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLW5hbWVcIiBbbmdDbGFzc109XCJ7ICd1bi1zZWxlY3QtaXRlbSc6IGl0ZW0uZGlyZWN0aW9uICE9PSAncmlnaHQnIH1cIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRoeVRyYW5zZmVyTGlzdEl0ZW1cIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIEBpZiAoaXRlbS5kaXJlY3Rpb24gPT09ICdyaWdodCcpIHtcbiAgICAgICAgPHRoeS1pY29uIGNsYXNzPVwidGV4dC1wcmltYXJ5IGl0ZW0tc3RhdHVzXCIgdGh5SWNvbk5hbWU9XCJjaGVja1wiPjwvdGh5LWljb24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L3RoeS10cmFuc2Zlci1saXN0PlxuXG48ZGl2IGNsYXNzPVwidGh5LXRyYW5zZmVyLW9wZXJhdGlvblwiPlxuICA8ZGl2IGNsYXNzPVwidGh5LXRyYW5zZmVyLW9wZXJhdGlvbi1ib2R5XCI+XG4gICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiYW5nbGUtcmlnaHRcIiBjbGFzcz1cIm9wZXJhdGlvbi1saW5rXCI+PC90aHktaWNvbj5cbiAgICA8YnIgLz5cbiAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJhbmdsZS1sZWZ0XCIgY2xhc3M9XCJvcGVyYXRpb24tbGlua1wiPjwvdGh5LWljb24+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjx0aHktdHJhbnNmZXItbGlzdFxuICBbaXRlbXNdPVwicmlnaHREYXRhU291cmNlXCJcbiAgW3RpdGxlXT1cInJpZ2h0VGl0bGVcIlxuICBbZHJhZ2dhYmxlXT1cInRoeVJpZ2h0RHJhZ2dhYmxlXCJcbiAgKGRyYWdnYWJsZVVwZGF0ZSk9XCJvbkRyYWdVcGRhdGUoJ3JpZ2h0JywgJGV2ZW50KVwiXG4gIFtjYW5Mb2NrXT1cInRoeVJpZ2h0Q2FuTG9ja1wiXG4gIFttYXhMb2NrXT1cInRoeVJpZ2h0TG9ja01heFwiXG4gIFttYXhdPVwidGh5UmlnaHRNYXhcIlxuICBbdGVtcGxhdGVdPVwicmlnaHRUZW1wbGF0ZVJlZlwiXG4gIFtyZW5kZXJDb250ZW50UmVmXT1cInJpZ2h0Q29udGVudFJlZlwiXG4gIChzZWxlY3RJdGVtKT1cInNlbGVjdEl0ZW0oJGV2ZW50KVwiXG4gICh1bnNlbGVjdEl0ZW0pPVwidW5zZWxlY3RJdGVtKCRldmVudClcIlxuICA+XG4gIDxuZy10ZW1wbGF0ZSAjcmlnaHRUZW1wbGF0ZVJlZiBsZXQtaXRlbT5cbiAgICBAaWYgKHRoeVJpZ2h0RHJhZ2dhYmxlKSB7XG4gICAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJkcmFnXCIgY2xhc3M9XCJkcmFnLWhhbmRsZVwiPjwvdGh5LWljb24+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJpdGVtLW5hbWVcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aHlUcmFuc2Zlckxpc3RJdGVtXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICAgIEBpZiAoaXRlbS5kaXJlY3Rpb24gPT09ICdyaWdodCcgJiYgIWl0ZW0uaXNGaXhlZCkge1xuICAgICAgPGEgY2xhc3M9XCJsaW5rLXNlY29uZGFyeVwiIChjbGljayk9XCJvblNlbGVjdCgncmlnaHQnLCB7IGl0ZW06IGl0ZW0gfSlcIj5cbiAgICAgICAgPHRoeS1pY29uIGNsYXNzPVwiaXRlbS1zdGF0dXNcIiB0aHlJY29uTmFtZT1cImNsb3NlXCI+PC90aHktaWNvbj5cbiAgICAgIDwvYT5cbiAgICB9XG4gIDwvbmctdGVtcGxhdGU+XG48L3RoeS10cmFuc2Zlci1saXN0PlxuXG48bmctdGVtcGxhdGUgI3RoeVRyYW5zZmVyTGlzdEl0ZW0gbGV0LWl0ZW0+XG4gIEBpZiAodGVtcGxhdGVSZWYpIHtcbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVSZWZcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gIH1cbiAgQGlmICghdGVtcGxhdGVSZWYpIHtcbiAgICA8dGh5LWZsZXhpYmxlLXRleHQgW3RoeVRvb2x0aXBDb250ZW50XT1cIml0ZW0udGl0bGVcIj5cbiAgICAgIHt7IGl0ZW0udGl0bGUgfX1cbiAgICA8L3RoeS1mbGV4aWJsZS10ZXh0PlxuICB9XG48L25nLXRlbXBsYXRlPlxuIl19
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZmVyL3RyYW5zZmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy90cmFuc2Zlci90cmFuc2Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFJLE9BQU8sRUFPSCxpQkFBaUIsRUFDcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRTVEOzs7O0dBSUc7QUFRSCxNQUFNLE9BQU8sV0FBVztJQVB4QjtRQVEwQixjQUFTLEdBQUcsY0FBYyxDQUFDO1FBRTFDLG1CQUFjLEdBQXNCLEVBQUUsQ0FBQztRQUV2QyxvQkFBZSxHQUFzQixFQUFFLENBQUM7UUFFeEMsa0JBQWEsR0FBc0IsRUFBRSxDQUFDO1FBTXRDLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRXRCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFpRXpCOztXQUVHO1FBQ08sdUJBQWtCLEdBQXVDLElBQUksWUFBWSxFQUF3QixDQUFDO1FBRTVHOzs7V0FHRztRQUNPLGNBQVMsR0FBeUMsSUFBSSxZQUFZLEVBQTBCLENBQUM7S0E2RzFHO0lBckxHOzs7T0FHRztJQUNILElBQ0ksT0FBTyxDQUFDLEtBQXdCO1FBQ2hDLElBQUks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LGFBQWEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0QsQ0FBQzsrR0FyTVEsV0FBVzttR0FBWCxXQUFXLDIzQkM1QnhCLHlyRkF3RUEsNENEOUNjLGVBQWUsNE9BQUUsT0FBTyxzTUFBRSxPQUFPLG9GQUFFLGdCQUFnQixvSkFBRSxlQUFlOzs0RkFFckUsV0FBVztrQkFQdkIsU0FBUzsrQkFDSSxjQUFjLGlCQUVULGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQLENBQUMsZUFBZSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDOzhCQUd6RCxTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBcUJoQixPQUFPO3NCQURWLEtBQUs7Z0JBT0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUVHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFPRixTQUFTO3NCQURaLEtBQUs7Z0JBVUcsZUFBZTtzQkFBdkIsS0FBSztnQkFLRyxlQUFlO3NCQUF2QixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBUUYsV0FBVztzQkFEZCxLQUFLO2dCQVNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFNRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBS0ksa0JBQWtCO3NCQUEzQixNQUFNO2dCQU1HLFNBQVM7c0JBQWxCLE1BQU07Z0JBTXlCLFdBQVc7c0JBQTFDLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQU1NLGNBQWM7c0JBQWpELFlBQVk7dUJBQUMsb0JBQW9CO2dCQU1HLGVBQWU7c0JBQW5ELFlBQVk7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgRGlyZWN0aW9uLFxuICAgIElubmVyVHJhbnNmZXJEcmFnRXZlbnQsXG4gICAgVGh5VHJhbnNmZXJDaGFuZ2VFdmVudCxcbiAgICBUaHlUcmFuc2ZlckRyYWdFdmVudCxcbiAgICBUaHlUcmFuc2Zlckl0ZW0sXG4gICAgVGh5VHJhbnNmZXJTZWxlY3RFdmVudCxcbiAgICBUcmFuc2ZlckRpcmVjdGlvblxufSBmcm9tICcuL3RyYW5zZmVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUaHlGbGV4aWJsZVRleHQgfSBmcm9tICduZ3gtdGV0aHlzL2ZsZXhpYmxlLXRleHQnO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRoeVRyYW5zZmVyTGlzdCB9IGZyb20gJy4vdHJhbnNmZXItbGlzdC5jb21wb25lbnQnO1xuXG4vKipcbiAqIOepv+aireahhue7hOS7tlxuICogQG5hbWUgdGh5LXRyYW5zZmVyXG4gKiBAb3JkZXIgMTBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktdHJhbnNmZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90cmFuc2Zlci5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtUaHlUcmFuc2Zlckxpc3QsIFRoeUljb24sIE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQsIFRoeUZsZXhpYmxlVGV4dF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5VHJhbnNmZXIgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBob3N0Q2xhc3MgPSAndGh5LXRyYW5zZmVyJztcblxuICAgIHB1YmxpYyBsZWZ0RGF0YVNvdXJjZTogVGh5VHJhbnNmZXJJdGVtW10gPSBbXTtcblxuICAgIHB1YmxpYyByaWdodERhdGFTb3VyY2U6IFRoeVRyYW5zZmVySXRlbVtdID0gW107XG5cbiAgICBwdWJsaWMgYWxsRGF0YVNvdXJjZTogVGh5VHJhbnNmZXJJdGVtW10gPSBbXTtcblxuICAgIHB1YmxpYyBsZWZ0VGl0bGU6IHN0cmluZztcblxuICAgIHB1YmxpYyByaWdodFRpdGxlOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgcmlnaHREcmFnZ2FibGUgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgX2F1dG9Nb3ZlID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIOaVsOaNrua6kFxuICAgICAqIEB0eXBlIFRoeVRyYW5zZmVySXRlbVtdXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5RGF0YSh2YWx1ZTogVGh5VHJhbnNmZXJJdGVtW10pIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVUcmFuc2ZlckRhdGEodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KCkgdGh5cmVuZGVyTGVmdFRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQElucHV0KCkgdGh5cmVuZGVyUmlnaHRUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIHRpdGxl6ZuG5ZCI77yMdGl0bGVbMF3kuLrlt6bmoIfpopjvvIx0aXRsZVsxXeS4uuWPs+agh+mimFxuICAgICAqIEB0eXBlIHN0cmluZ1tdXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VGl0bGVzKHZhbHVlOiBzdHJpbmdbXSkge1xuICAgICAgICB0aGlzLmxlZnRUaXRsZSA9IHZhbHVlWzBdIHx8ICcnO1xuICAgICAgICB0aGlzLnJpZ2h0VGl0bGUgPSB2YWx1ZVsxXSB8fCAnJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlj7PkvqfliJfooajmmK/lkKblj6/ku6XplIHlrppcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVJpZ2h0Q2FuTG9jazogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOWPs+S+p+mUgeWumuacgOWkp+aVsOmHj1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVJpZ2h0TG9ja01heDogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog5Y+z5L6n6YCJ5oup5pyA5aSn5pWw6YePXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UmlnaHRNYXg6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIOiuvue9ruaYr+WQpuiHquWKqOenu+WKqFxuICAgICAqIEBkZXNjcmlwdGlvbi5lbi11cyBDdXJyZW50bHkgbm90IGltcGxlbWVudGVkLCBpbiBvcmRlciB0byBzdXBwb3J0IHRoZSBzZWxlY3Rpb25zIG1vdmVcbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5QXV0b01vdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fYXV0b01vdmUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlt6bkvqfliJfooajmmK/lkKbmi5bliqhcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUxlZnREcmFnZ2FibGU6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDlj7PkvqfliJfooajmmK/lkKbmi5bliqhcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVJpZ2h0RHJhZ2dhYmxlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQHR5cGUgRXZlbnRFbWl0dGVyPFRoeVRyYW5zZmVyRHJhZ0V2ZW50PlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSB0aHlEcmFnZ2FibGVVcGRhdGU6IEV2ZW50RW1pdHRlcjxUaHlUcmFuc2ZlckRyYWdFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRoeVRyYW5zZmVyRHJhZ0V2ZW50PigpO1xuXG4gICAgLyoqXG4gICAgICogVHJhbnNmZXLlj5jljJbnmoTlm57osIPkuovku7ZcbiAgICAgKiBAdHlwZSBFdmVudEVtaXR0ZXI8VGh5VHJhbnNmZXJDaGFuZ2VFdmVudD5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5Q2hhbmdlOiBFdmVudEVtaXR0ZXI8VGh5VHJhbnNmZXJDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRoeVRyYW5zZmVyQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7oh6rlrprkuYlJdGVt5riy5p+T5pWw5o2u5qih5p2/XG4gICAgICogQHR5cGUgVGVtcGxhdGVSZWZcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdyZW5kZXJUZW1wbGF0ZScpIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICog6K6+572u6Ieq5a6a5LmJ5bem5L6n5YaF5a655qih5p2/XG4gICAgICogQHR5cGUgVGVtcGxhdGVSZWZcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdyZW5kZXJMZWZ0VGVtcGxhdGUnKSBsZWZ0Q29udGVudFJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIOiuvue9ruiHquWumuS5ieWPs+S+p+WGheWuueaooeadv1xuICAgICAqIEB0eXBlIFRlbXBsYXRlUmVmXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgncmVuZGVyUmlnaHRUZW1wbGF0ZScpIHJpZ2h0Q29udGVudFJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIG5nT25Jbml0KCkge31cblxuICAgIGluaXRpYWxpemVUcmFuc2ZlckRhdGEoZGF0YTogVGh5VHJhbnNmZXJJdGVtW10gPSBbXSkge1xuICAgICAgICB0aGlzLmFsbERhdGFTb3VyY2UgPSBbXTtcbiAgICAgICAgdGhpcy5sZWZ0RGF0YVNvdXJjZSA9IFtdO1xuICAgICAgICB0aGlzLnJpZ2h0RGF0YVNvdXJjZSA9IFtdO1xuICAgICAgICBkYXRhLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFsbERhdGFTb3VyY2UucHVzaChpdGVtKTtcbiAgICAgICAgICAgIGlmIChpdGVtLmRpcmVjdGlvbiA9PT0gVHJhbnNmZXJEaXJlY3Rpb24ubGVmdCkge1xuICAgICAgICAgICAgICAgIHRoaXMubGVmdERhdGFTb3VyY2UucHVzaChpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtLmRpcmVjdGlvbiA9PT0gVHJhbnNmZXJEaXJlY3Rpb24ucmlnaHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJpZ2h0RGF0YVNvdXJjZS5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvblNlbGVjdChmcm9tOiBEaXJlY3Rpb24sIGV2ZW50OiBUaHlUcmFuc2ZlclNlbGVjdEV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC5pdGVtLmlzRml4ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy50aHlSaWdodE1heCA8PSB0aGlzLnJpZ2h0RGF0YVNvdXJjZS5sZW5ndGggJiYgZnJvbSA9PT0gVHJhbnNmZXJEaXJlY3Rpb24ubGVmdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRvID0gZnJvbSA9PT0gVHJhbnNmZXJEaXJlY3Rpb24ubGVmdCA/IFRyYW5zZmVyRGlyZWN0aW9uLnJpZ2h0IDogVHJhbnNmZXJEaXJlY3Rpb24ubGVmdDtcbiAgICAgICAgZXZlbnQuaXRlbS5jaGVja2VkID0gIWV2ZW50Lml0ZW0uY2hlY2tlZDtcbiAgICAgICAgaWYgKHRoaXMuX2F1dG9Nb3ZlKSB7XG4gICAgICAgICAgICB0aGlzLm9uTW92ZSh0byk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3RJdGVtKGV2ZW50OiBUaHlUcmFuc2ZlclNlbGVjdEV2ZW50KSB7XG4gICAgICAgIHRoaXMub25TZWxlY3QoVHJhbnNmZXJEaXJlY3Rpb24ubGVmdCwgZXZlbnQpO1xuICAgIH1cblxuICAgIHVuc2VsZWN0SXRlbShldmVudDogVGh5VHJhbnNmZXJTZWxlY3RFdmVudCkge1xuICAgICAgICB0aGlzLm9uU2VsZWN0KFRyYW5zZmVyRGlyZWN0aW9uLnJpZ2h0LCBldmVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBncm91cExpc3RCeUlzTG9jayhsaXN0OiBUaHlUcmFuc2Zlckl0ZW1bXSA9IFtdKSB7XG4gICAgICAgIGNvbnN0IGxvY2s6IFRoeVRyYW5zZmVySXRlbVtdID0gW10sXG4gICAgICAgICAgICB1bmxvY2s6IFRoeVRyYW5zZmVySXRlbVtdID0gW107XG4gICAgICAgIGxpc3QuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLmlzTG9jaykge1xuICAgICAgICAgICAgICAgIGxvY2sucHVzaChpdGVtKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdW5sb2NrLnB1c2goaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4geyBsb2NrOiBsb2NrLCB1bmxvY2s6IHVubG9jayB9O1xuICAgIH1cblxuICAgIG9uTW92ZSh0bzogRGlyZWN0aW9uKSB7XG4gICAgICAgIGNvbnN0IGZyb21EYXRhU291cmNlID0gdG8gPT09IFRyYW5zZmVyRGlyZWN0aW9uLnJpZ2h0ID8gdGhpcy5sZWZ0RGF0YVNvdXJjZSA6IHRoaXMucmlnaHREYXRhU291cmNlO1xuICAgICAgICBjb25zdCB0b0RhdGFTb3VyY2UgPSB0byA9PT0gVHJhbnNmZXJEaXJlY3Rpb24ucmlnaHQgPyB0aGlzLnJpZ2h0RGF0YVNvdXJjZSA6IHRoaXMubGVmdERhdGFTb3VyY2U7XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbnMgPSBmcm9tRGF0YVNvdXJjZS5maWx0ZXIoaXRlbSA9PiBpdGVtLmNoZWNrZWQpO1xuICAgICAgICBjb25zdCBjaGFuZ2VFdmVudDogVGh5VHJhbnNmZXJDaGFuZ2VFdmVudCA9IHtcbiAgICAgICAgICAgIGZyb206IHRvID09PSBUcmFuc2ZlckRpcmVjdGlvbi5yaWdodCA/IFRyYW5zZmVyRGlyZWN0aW9uLmxlZnQgOiBUcmFuc2ZlckRpcmVjdGlvbi5yaWdodCxcbiAgICAgICAgICAgIHRvOiB0byxcbiAgICAgICAgICAgIGl0ZW1zOiBbLi4uc2VsZWN0aW9uc11cbiAgICAgICAgfTtcbiAgICAgICAgc2VsZWN0aW9ucy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBmcm9tRGF0YVNvdXJjZS5pbmRleE9mKGl0ZW0pO1xuICAgICAgICAgICAgY29uc3QgcmVtb3ZlZCA9IGZyb21EYXRhU291cmNlLnNwbGljZShpbmRleCwgMSlbMF07XG4gICAgICAgICAgICByZW1vdmVkLmNoZWNrZWQgPSAhcmVtb3ZlZC5jaGVja2VkO1xuICAgICAgICAgICAgcmVtb3ZlZC5kaXJlY3Rpb24gPSB0bztcbiAgICAgICAgICAgIHRvRGF0YVNvdXJjZS5wdXNoKHJlbW92ZWQpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50aHlDaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgICAuLi5jaGFuZ2VFdmVudCxcbiAgICAgICAgICAgIGxlZnQ6IHRoaXMuZ3JvdXBMaXN0QnlJc0xvY2sodGhpcy5sZWZ0RGF0YVNvdXJjZSksXG4gICAgICAgICAgICByaWdodDogdGhpcy5ncm91cExpc3RCeUlzTG9jayh0aGlzLnJpZ2h0RGF0YVNvdXJjZSlcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EcmFnVXBkYXRlKGRpcmVjdGlvbjogRGlyZWN0aW9uLCBldmVudDogSW5uZXJUcmFuc2ZlckRyYWdFdmVudCkge1xuICAgICAgICBjb25zdCBvdGhlckRpcmVjdGlvbkRhdGEgPSBkaXJlY3Rpb24gPT09IFRyYW5zZmVyRGlyZWN0aW9uLmxlZnQgPyB0aGlzLnJpZ2h0RGF0YVNvdXJjZSA6IHRoaXMubGVmdERhdGFTb3VyY2U7XG4gICAgICAgIGNvbnN0IG90aGVyTGlzdERhdGEgPSB0aGlzLmdyb3VwTGlzdEJ5SXNMb2NrKG90aGVyRGlyZWN0aW9uRGF0YSk7XG4gICAgICAgIHRoaXMudGh5RHJhZ2dhYmxlVXBkYXRlLmVtaXQoe1xuICAgICAgICAgICAgLi4uZXZlbnQuZHJhZ0V2ZW50LFxuICAgICAgICAgICAgbGVmdDogZGlyZWN0aW9uID09PSBUcmFuc2ZlckRpcmVjdGlvbi5sZWZ0ID8gZXZlbnQubGlzdERhdGEgOiBvdGhlckxpc3REYXRhLFxuICAgICAgICAgICAgcmlnaHQ6IGRpcmVjdGlvbiA9PT0gVHJhbnNmZXJEaXJlY3Rpb24ucmlnaHQgPyBldmVudC5saXN0RGF0YSA6IG90aGVyTGlzdERhdGFcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5yaWdodERhdGFTb3VyY2UgPVxuICAgICAgICAgICAgZGlyZWN0aW9uID09PSBUcmFuc2ZlckRpcmVjdGlvbi5yaWdodFxuICAgICAgICAgICAgICAgID8gWy4uLmV2ZW50Lmxpc3REYXRhLmxvY2ssIC4uLmV2ZW50Lmxpc3REYXRhLnVubG9ja11cbiAgICAgICAgICAgICAgICA6IFsuLi5vdGhlckxpc3REYXRhLmxvY2ssIC4uLm90aGVyTGlzdERhdGEudW5sb2NrXTtcbiAgICB9XG59XG4iLCI8dGh5LXRyYW5zZmVyLWxpc3RcbiAgW2l0ZW1zXT1cImFsbERhdGFTb3VyY2VcIlxuICBbdGl0bGVdPVwibGVmdFRpdGxlXCJcbiAgW2RyYWdnYWJsZV09XCJ0aHlMZWZ0RHJhZ2dhYmxlXCJcbiAgW2Rpc2FibGVkXT1cInRoeVJpZ2h0TWF4IDw9IHJpZ2h0RGF0YVNvdXJjZS5sZW5ndGhcIlxuICBbcmVuZGVyQ29udGVudFJlZl09XCJsZWZ0Q29udGVudFJlZlwiXG4gIChkcmFnZ2FibGVVcGRhdGUpPVwib25EcmFnVXBkYXRlKCdsZWZ0JywgJGV2ZW50KVwiXG4gIFt0ZW1wbGF0ZV09XCJsZWZ0VGVtcGxhdGVSZWZcIlxuICAoc2VsZWN0SXRlbSk9XCJzZWxlY3RJdGVtKCRldmVudClcIlxuICAodW5zZWxlY3RJdGVtKT1cInVuc2VsZWN0SXRlbSgkZXZlbnQpXCJcbiAgPlxuICA8bmctdGVtcGxhdGUgI2xlZnRUZW1wbGF0ZVJlZiBsZXQtaXRlbT5cbiAgICA8ZGl2IChjbGljayk9XCJvblNlbGVjdChpdGVtLmRpcmVjdGlvbiA9PT0gJ2xlZnQnID8gJ2xlZnQnIDogJ3JpZ2h0JywgeyBpdGVtOiBpdGVtIH0pXCIgY2xhc3M9XCJsaXN0LWl0ZW0tY29udGVudFwiPlxuICAgICAgQGlmICh0aHlMZWZ0RHJhZ2dhYmxlKSB7XG4gICAgICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImRyYWdcIiBjbGFzcz1cImRyYWctaGFuZGxlXCI+PC90aHktaWNvbj5cbiAgICAgIH1cbiAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLW5hbWVcIiBbbmdDbGFzc109XCJ7ICd1bi1zZWxlY3QtaXRlbSc6IGl0ZW0uZGlyZWN0aW9uICE9PSAncmlnaHQnIH1cIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRoeVRyYW5zZmVyTGlzdEl0ZW1cIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIEBpZiAoaXRlbS5kaXJlY3Rpb24gPT09ICdyaWdodCcpIHtcbiAgICAgICAgPHRoeS1pY29uIGNsYXNzPVwidGV4dC1wcmltYXJ5IGl0ZW0tc3RhdHVzXCIgdGh5SWNvbk5hbWU9XCJjaGVja1wiPjwvdGh5LWljb24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L3RoeS10cmFuc2Zlci1saXN0PlxuXG48ZGl2IGNsYXNzPVwidGh5LXRyYW5zZmVyLW9wZXJhdGlvblwiPlxuICA8ZGl2IGNsYXNzPVwidGh5LXRyYW5zZmVyLW9wZXJhdGlvbi1ib2R5XCI+XG4gICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiYW5nbGUtcmlnaHRcIiBjbGFzcz1cIm9wZXJhdGlvbi1saW5rXCI+PC90aHktaWNvbj5cbiAgICA8YnIgLz5cbiAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJhbmdsZS1sZWZ0XCIgY2xhc3M9XCJvcGVyYXRpb24tbGlua1wiPjwvdGh5LWljb24+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjx0aHktdHJhbnNmZXItbGlzdFxuICBbaXRlbXNdPVwicmlnaHREYXRhU291cmNlXCJcbiAgW3RpdGxlXT1cInJpZ2h0VGl0bGVcIlxuICBbZHJhZ2dhYmxlXT1cInRoeVJpZ2h0RHJhZ2dhYmxlXCJcbiAgKGRyYWdnYWJsZVVwZGF0ZSk9XCJvbkRyYWdVcGRhdGUoJ3JpZ2h0JywgJGV2ZW50KVwiXG4gIFtjYW5Mb2NrXT1cInRoeVJpZ2h0Q2FuTG9ja1wiXG4gIFttYXhMb2NrXT1cInRoeVJpZ2h0TG9ja01heFwiXG4gIFttYXhdPVwidGh5UmlnaHRNYXhcIlxuICBbdGVtcGxhdGVdPVwicmlnaHRUZW1wbGF0ZVJlZlwiXG4gIFtyZW5kZXJDb250ZW50UmVmXT1cInJpZ2h0Q29udGVudFJlZlwiXG4gIChzZWxlY3RJdGVtKT1cInNlbGVjdEl0ZW0oJGV2ZW50KVwiXG4gICh1bnNlbGVjdEl0ZW0pPVwidW5zZWxlY3RJdGVtKCRldmVudClcIlxuICA+XG4gIDxuZy10ZW1wbGF0ZSAjcmlnaHRUZW1wbGF0ZVJlZiBsZXQtaXRlbT5cbiAgICBAaWYgKHRoeVJpZ2h0RHJhZ2dhYmxlKSB7XG4gICAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJkcmFnXCIgY2xhc3M9XCJkcmFnLWhhbmRsZVwiPjwvdGh5LWljb24+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJpdGVtLW5hbWVcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aHlUcmFuc2Zlckxpc3RJdGVtXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICAgIEBpZiAoaXRlbS5kaXJlY3Rpb24gPT09ICdyaWdodCcgJiYgIWl0ZW0uaXNGaXhlZCkge1xuICAgICAgPGEgY2xhc3M9XCJsaW5rLXNlY29uZGFyeVwiIChjbGljayk9XCJvblNlbGVjdCgncmlnaHQnLCB7IGl0ZW06IGl0ZW0gfSlcIj5cbiAgICAgICAgPHRoeS1pY29uIGNsYXNzPVwiaXRlbS1zdGF0dXNcIiB0aHlJY29uTmFtZT1cImNsb3NlXCI+PC90aHktaWNvbj5cbiAgICAgIDwvYT5cbiAgICB9XG4gIDwvbmctdGVtcGxhdGU+XG48L3RoeS10cmFuc2Zlci1saXN0PlxuXG48bmctdGVtcGxhdGUgI3RoeVRyYW5zZmVyTGlzdEl0ZW0gbGV0LWl0ZW0+XG4gIEBpZiAodGVtcGxhdGVSZWYpIHtcbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVSZWZcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gIH1cbiAgQGlmICghdGVtcGxhdGVSZWYpIHtcbiAgICA8dGh5LWZsZXhpYmxlLXRleHQgW3RoeVRvb2x0aXBDb250ZW50XT1cIml0ZW0udGl0bGVcIj5cbiAgICAgIHt7IGl0ZW0udGl0bGUgfX1cbiAgICA8L3RoeS1mbGV4aWJsZS10ZXh0PlxuICB9XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -10,8 +10,8 @@ import { ThySharedModule } from 'ngx-tethys/shared';
10
10
  import { ThyFlexibleTextModule } from 'ngx-tethys/flexible-text';
11
11
  import * as i0 from "@angular/core";
12
12
  export class ThyTransferModule {
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTransferModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: ThyTransferModule, imports: [CommonModule,
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyTransferModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ThyTransferModule, imports: [CommonModule,
15
15
  ThyButtonModule,
16
16
  DragDropModule,
17
17
  ThyIconModule,
@@ -20,7 +20,7 @@ export class ThyTransferModule {
20
20
  ThyFlexibleTextModule,
21
21
  ThyTransfer,
22
22
  ThyTransferList], exports: [ThyTransfer] }); }
23
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTransferModule, imports: [CommonModule,
23
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyTransferModule, imports: [CommonModule,
24
24
  ThyButtonModule,
25
25
  DragDropModule,
26
26
  ThyIconModule,
@@ -30,7 +30,7 @@ export class ThyTransferModule {
30
30
  ThyTransfer,
31
31
  ThyTransferList] }); }
32
32
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTransferModule, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyTransferModule, decorators: [{
34
34
  type: NgModule,
35
35
  args: [{
36
36
  imports: [
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
47
47
  exports: [ThyTransfer]
48
48
  }]
49
49
  }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZmVyL3RyYW5zZmVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBZWpFLE1BQU0sT0FBTyxpQkFBaUI7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLFlBWnRCLFlBQVk7WUFDWixlQUFlO1lBQ2YsY0FBYztZQUNkLGFBQWE7WUFDYixhQUFhO1lBQ2IsZUFBZTtZQUNmLHFCQUFxQjtZQUNyQixXQUFXO1lBQ1gsZUFBZSxhQUVULFdBQVc7K0dBRVosaUJBQWlCLFlBWnRCLFlBQVk7WUFDWixlQUFlO1lBQ2YsY0FBYztZQUNkLGFBQWE7WUFDYixhQUFhO1lBQ2IsZUFBZTtZQUNmLHFCQUFxQjtZQUNyQixXQUFXO1lBQ1gsZUFBZTs7MkZBSVYsaUJBQWlCO2tCQWQ3QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLFdBQVc7d0JBQ1gsZUFBZTtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGh5VHJhbnNmZXIgfSBmcm9tICcuL3RyYW5zZmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlUcmFuc2Zlckxpc3QgfSBmcm9tICcuL3RyYW5zZmVyLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRoeUJ1dHRvbk1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYnV0dG9uJztcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBUaHlJY29uTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IFRoeUxpc3RNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2xpc3QnO1xuaW1wb3J0IHsgVGh5U2hhcmVkTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9zaGFyZWQnO1xuaW1wb3J0IHsgVGh5RmxleGlibGVUZXh0TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9mbGV4aWJsZS10ZXh0JztcbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFRoeUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgICAgIFRoeUljb25Nb2R1bGUsXG4gICAgICAgIFRoeUxpc3RNb2R1bGUsXG4gICAgICAgIFRoeVNoYXJlZE1vZHVsZSxcbiAgICAgICAgVGh5RmxleGlibGVUZXh0TW9kdWxlLFxuICAgICAgICBUaHlUcmFuc2ZlcixcbiAgICAgICAgVGh5VHJhbnNmZXJMaXN0XG4gICAgXSxcbiAgICBleHBvcnRzOiBbVGh5VHJhbnNmZXJdXG59KVxuZXhwb3J0IGNsYXNzIFRoeVRyYW5zZmVyTW9kdWxlIHt9XG4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zZmVyL3RyYW5zZmVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBZWpFLE1BQU0sT0FBTyxpQkFBaUI7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLFlBWnRCLFlBQVk7WUFDWixlQUFlO1lBQ2YsY0FBYztZQUNkLGFBQWE7WUFDYixhQUFhO1lBQ2IsZUFBZTtZQUNmLHFCQUFxQjtZQUNyQixXQUFXO1lBQ1gsZUFBZSxhQUVULFdBQVc7Z0hBRVosaUJBQWlCLFlBWnRCLFlBQVk7WUFDWixlQUFlO1lBQ2YsY0FBYztZQUNkLGFBQWE7WUFDYixhQUFhO1lBQ2IsZUFBZTtZQUNmLHFCQUFxQjtZQUNyQixXQUFXO1lBQ1gsZUFBZTs7NEZBSVYsaUJBQWlCO2tCQWQ3QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLFdBQVc7d0JBQ1gsZUFBZTtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGh5VHJhbnNmZXIgfSBmcm9tICcuL3RyYW5zZmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlUcmFuc2Zlckxpc3QgfSBmcm9tICcuL3RyYW5zZmVyLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRoeUJ1dHRvbk1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYnV0dG9uJztcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBUaHlJY29uTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IFRoeUxpc3RNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2xpc3QnO1xuaW1wb3J0IHsgVGh5U2hhcmVkTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9zaGFyZWQnO1xuaW1wb3J0IHsgVGh5RmxleGlibGVUZXh0TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9mbGV4aWJsZS10ZXh0JztcbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFRoeUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgICAgIFRoeUljb25Nb2R1bGUsXG4gICAgICAgIFRoeUxpc3RNb2R1bGUsXG4gICAgICAgIFRoeVNoYXJlZE1vZHVsZSxcbiAgICAgICAgVGh5RmxleGlibGVUZXh0TW9kdWxlLFxuICAgICAgICBUaHlUcmFuc2ZlcixcbiAgICAgICAgVGh5VHJhbnNmZXJMaXN0XG4gICAgXSxcbiAgICBleHBvcnRzOiBbVGh5VHJhbnNmZXJdXG59KVxuZXhwb3J0IGNsYXNzIFRoeVRyYW5zZmVyTW9kdWxlIHt9XG4iXX0=
@@ -153,10 +153,10 @@ export class ThyTreeNodeComponent {
153
153
  this.destroy$.next();
154
154
  this.destroy$.complete();
155
155
  }
156
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTreeNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
157
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyTreeNodeComponent, isStandalone: true, selector: "thy-tree-node", inputs: { node: "node", thyAsync: ["thyAsync", "thyAsync", coerceBooleanProperty], thyMultiple: ["thyMultiple", "thyMultiple", coerceBooleanProperty], thyDraggable: ["thyDraggable", "thyDraggable", coerceBooleanProperty], thyCheckable: ["thyCheckable", "thyCheckable", coerceBooleanProperty], thyClickBehavior: "thyClickBehavior", thyTitleTruncate: ["thyTitleTruncate", "thyTitleTruncate", coerceBooleanProperty], templateRef: "templateRef", emptyChildrenTemplateRef: "emptyChildrenTemplateRef", thyItemSize: ["thyItemSize", "thyItemSize", numberAttribute], thyIndent: ["thyIndent", "thyIndent", numberAttribute] }, outputs: { thyOnClick: "thyOnClick", thyDblClick: "thyDblClick", thyOnExpandChange: "thyOnExpandChange", thyOnCheckboxChange: "thyOnCheckboxChange" }, host: { properties: { "class.thy-tree-node": "this.thyTreeNodeClass", "class": "this.itemClass" } }, queries: [{ propertyName: "childrenTreeTemplateRef", first: true, predicate: ["childrenTree"], descendants: true }], viewQueries: [{ propertyName: "treeNodeWrapper", first: true, predicate: ["treeNodeWrapper"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #treeNodeWrapper\n class=\"thy-tree-node-wrapper\"\n [class.active]=\"root.isSelected(node)\"\n [class.disabled]=\"node.isDisabled\"\n [class.expand]=\"node.children.length\"\n [style.height]=\"thyItemSize + 'px'\"\n (click)=\"clickNode($event)\"\n >\n <span class=\"thy-tree-index\" [style.width.px]=\"node.level * thyIndent\"></span>\n <span class=\"thy-tree-drag-icon\">\n <thy-icon thyIconName=\"drag\"></thy-icon>\n </span>\n <span class=\"thy-tree-expand\" (click)=\"expandNode($event)\">\n @if (isShowExpand(node)) {\n @if ((node.children && node.children.length > 0) || thyAsync || emptyChildrenTemplateRef) {\n @if (root.thyIcons?.expand && root.thyIcons?.collapse) {\n <thy-icon\n class=\"thy-tree-expand-icon\"\n [thyIconName]=\"node.isExpanded ? root.thyIcons.expand : root.thyIcons.collapse\"\n ></thy-icon>\n } @else {\n <thy-icon class=\"thy-tree-expand-icon\" [class.collapse]=\"!node.isExpanded\" thyIconName=\"caret-right-down\"></thy-icon>\n }\n }\n }\n </span>\n\n <span class=\"thy-tree-node-content\" (dblclick)=\"dbClickNode($event)\">\n @if (thyCheckable) {\n <input\n type=\"checkbox\"\n class=\"thy-tree-node-check\"\n [class.form-check-indeterminate]=\"node.isChecked === checkState.indeterminate\"\n [class.form-unchecked]=\"node.isChecked === checkState.unchecked\"\n [checked]=\"node.isChecked === checkState.checked\"\n [disabled]=\"node.isDisabled\"\n (click)=\"clickNodeCheck($event)\"\n />\n }\n @if (!templateRef) {\n @if (nodeIcon) {\n <span class=\"thy-tree-node-icon\"> <i [ngClass]=\"nodeIcon\" [ngStyle]=\"nodeIconStyle\"></i></span>\n }\n <span [title]=\"node.title\" class=\"thy-tree-node-title\" [class.truncate]=\"thyTitleTruncate\"> {{ node.title }}</span>\n }\n @if (templateRef) {\n <ng-template\n [ngTemplateOutlet]=\"templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: node, node: node, origin: node?.origin }\"\n ></ng-template>\n }\n </span>\n</div>\n@if (thyAsync) {\n @if (node.isLoading) {\n <thy-loading [thyDone]=\"!node.isLoading\"></thy-loading>\n }\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyLoading, selector: "thy-loading", inputs: ["thyDone", "thyTip", "thyIsMask"] }], encapsulation: i0.ViewEncapsulation.None }); }
156
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyTreeNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
157
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ThyTreeNodeComponent, isStandalone: true, selector: "thy-tree-node", inputs: { node: "node", thyAsync: ["thyAsync", "thyAsync", coerceBooleanProperty], thyMultiple: ["thyMultiple", "thyMultiple", coerceBooleanProperty], thyDraggable: ["thyDraggable", "thyDraggable", coerceBooleanProperty], thyCheckable: ["thyCheckable", "thyCheckable", coerceBooleanProperty], thyClickBehavior: "thyClickBehavior", thyTitleTruncate: ["thyTitleTruncate", "thyTitleTruncate", coerceBooleanProperty], templateRef: "templateRef", emptyChildrenTemplateRef: "emptyChildrenTemplateRef", thyItemSize: ["thyItemSize", "thyItemSize", numberAttribute], thyIndent: ["thyIndent", "thyIndent", numberAttribute] }, outputs: { thyOnClick: "thyOnClick", thyDblClick: "thyDblClick", thyOnExpandChange: "thyOnExpandChange", thyOnCheckboxChange: "thyOnCheckboxChange" }, host: { properties: { "class.thy-tree-node": "this.thyTreeNodeClass", "class": "this.itemClass" } }, queries: [{ propertyName: "childrenTreeTemplateRef", first: true, predicate: ["childrenTree"], descendants: true }], viewQueries: [{ propertyName: "treeNodeWrapper", first: true, predicate: ["treeNodeWrapper"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #treeNodeWrapper\n class=\"thy-tree-node-wrapper\"\n [class.active]=\"root.isSelected(node)\"\n [class.disabled]=\"node.isDisabled\"\n [class.expand]=\"node.children.length\"\n [style.height]=\"thyItemSize + 'px'\"\n (click)=\"clickNode($event)\"\n >\n <span class=\"thy-tree-index\" [style.width.px]=\"node.level * thyIndent\"></span>\n <span class=\"thy-tree-drag-icon\">\n <thy-icon thyIconName=\"drag\"></thy-icon>\n </span>\n <span class=\"thy-tree-expand\" (click)=\"expandNode($event)\">\n @if (isShowExpand(node)) {\n @if ((node.children && node.children.length > 0) || thyAsync || emptyChildrenTemplateRef) {\n @if (root.thyIcons?.expand && root.thyIcons?.collapse) {\n <thy-icon\n class=\"thy-tree-expand-icon\"\n [thyIconName]=\"node.isExpanded ? root.thyIcons.expand : root.thyIcons.collapse\"\n ></thy-icon>\n } @else {\n <thy-icon class=\"thy-tree-expand-icon\" [class.collapse]=\"!node.isExpanded\" thyIconName=\"caret-right-down\"></thy-icon>\n }\n }\n }\n </span>\n\n <span class=\"thy-tree-node-content\" (dblclick)=\"dbClickNode($event)\">\n @if (thyCheckable) {\n <input\n type=\"checkbox\"\n class=\"thy-tree-node-check\"\n [class.form-check-indeterminate]=\"node.isChecked === checkState.indeterminate\"\n [class.form-unchecked]=\"node.isChecked === checkState.unchecked\"\n [checked]=\"node.isChecked === checkState.checked\"\n [disabled]=\"node.isDisabled\"\n (click)=\"clickNodeCheck($event)\"\n />\n }\n @if (!templateRef) {\n @if (nodeIcon) {\n <span class=\"thy-tree-node-icon\"> <i [ngClass]=\"nodeIcon\" [ngStyle]=\"nodeIconStyle\"></i></span>\n }\n <span [title]=\"node.title\" class=\"thy-tree-node-title\" [class.truncate]=\"thyTitleTruncate\"> {{ node.title }}</span>\n }\n @if (templateRef) {\n <ng-template\n [ngTemplateOutlet]=\"templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: node, node: node, origin: node?.origin }\"\n ></ng-template>\n }\n </span>\n</div>\n@if (thyAsync) {\n @if (node.isLoading) {\n <thy-loading [thyDone]=\"!node.isLoading\"></thy-loading>\n }\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyLoading, selector: "thy-loading", inputs: ["thyDone", "thyTip", "thyIsMask"] }], encapsulation: i0.ViewEncapsulation.None }); }
158
158
  }
159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTreeNodeComponent, decorators: [{
159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyTreeNodeComponent, decorators: [{
160
160
  type: Component,
161
161
  args: [{ selector: 'thy-tree-node', encapsulation: ViewEncapsulation.None, standalone: true, imports: [ThyIcon, NgClass, NgStyle, NgTemplateOutlet, ThyLoading], template: "<div\n #treeNodeWrapper\n class=\"thy-tree-node-wrapper\"\n [class.active]=\"root.isSelected(node)\"\n [class.disabled]=\"node.isDisabled\"\n [class.expand]=\"node.children.length\"\n [style.height]=\"thyItemSize + 'px'\"\n (click)=\"clickNode($event)\"\n >\n <span class=\"thy-tree-index\" [style.width.px]=\"node.level * thyIndent\"></span>\n <span class=\"thy-tree-drag-icon\">\n <thy-icon thyIconName=\"drag\"></thy-icon>\n </span>\n <span class=\"thy-tree-expand\" (click)=\"expandNode($event)\">\n @if (isShowExpand(node)) {\n @if ((node.children && node.children.length > 0) || thyAsync || emptyChildrenTemplateRef) {\n @if (root.thyIcons?.expand && root.thyIcons?.collapse) {\n <thy-icon\n class=\"thy-tree-expand-icon\"\n [thyIconName]=\"node.isExpanded ? root.thyIcons.expand : root.thyIcons.collapse\"\n ></thy-icon>\n } @else {\n <thy-icon class=\"thy-tree-expand-icon\" [class.collapse]=\"!node.isExpanded\" thyIconName=\"caret-right-down\"></thy-icon>\n }\n }\n }\n </span>\n\n <span class=\"thy-tree-node-content\" (dblclick)=\"dbClickNode($event)\">\n @if (thyCheckable) {\n <input\n type=\"checkbox\"\n class=\"thy-tree-node-check\"\n [class.form-check-indeterminate]=\"node.isChecked === checkState.indeterminate\"\n [class.form-unchecked]=\"node.isChecked === checkState.unchecked\"\n [checked]=\"node.isChecked === checkState.checked\"\n [disabled]=\"node.isDisabled\"\n (click)=\"clickNodeCheck($event)\"\n />\n }\n @if (!templateRef) {\n @if (nodeIcon) {\n <span class=\"thy-tree-node-icon\"> <i [ngClass]=\"nodeIcon\" [ngStyle]=\"nodeIconStyle\"></i></span>\n }\n <span [title]=\"node.title\" class=\"thy-tree-node-title\" [class.truncate]=\"thyTitleTruncate\"> {{ node.title }}</span>\n }\n @if (templateRef) {\n <ng-template\n [ngTemplateOutlet]=\"templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: node, node: node, origin: node?.origin }\"\n ></ng-template>\n }\n </span>\n</div>\n@if (thyAsync) {\n @if (node.isLoading) {\n <thy-loading [thyDone]=\"!node.isLoading\"></thy-loading>\n }\n}\n" }]
162
162
  }], propDecorators: { node: [{
@@ -209,4 +209,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
209
209
  type: Input,
210
210
  args: [{ transform: numberAttribute }]
211
211
  }] } });
212
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90cmVlL3RyZWUtbm9kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvdHJlZS90cmVlLW5vZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBSUwsTUFBTSxFQUVOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHVCQUF1QixFQUE0QixNQUFNLGlCQUFpQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQW9CLHFCQUFxQixFQUFvQixNQUFNLGNBQWMsQ0FBQztBQUN6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUV4RCxNQUFNLDJCQUEyQixHQUE0QiwrQkFBK0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBRWhIOzs7O0dBSUc7QUFRSCxNQUFNLE9B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QVM7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbm9ybWFsaXplUGFzc2l2ZUxpc3RlbmVyT3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIG51bWJlckF0dHJpYnV0ZSxcbiAgICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRIWV9UUkVFX0FCU1RSQUNUX1RPS0VOLCBUaHlUcmVlQWJzdHJhY3RDb21wb25lbnQgfSBmcm9tICcuL3RyZWUtYWJzdHJhY3QnO1xuaW1wb3J0IHsgVGh5VHJlZU5vZGUgfSBmcm9tICcuL3RyZWUtbm9kZS5jbGFzcyc7XG5pbXBvcnQgeyBUaHlUcmVlRW1pdEV2ZW50LCBUaHlUcmVlTm9kZUNoZWNrU3RhdGUsIFRoeUNsaWNrQmVoYXZpb3IgfSBmcm9tICcuL3RyZWUuY2xhc3MnO1xuaW1wb3J0IHsgVGh5VHJlZVNlcnZpY2UgfSBmcm9tICcuL3RyZWUuc2VydmljZSc7XG5pbXBvcnQgeyBUaHlMb2FkaW5nIH0gZnJvbSAnbmd4LXRldGh5cy9sb2FkaW5nJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG5jb25zdCBwYXNzaXZlRXZlbnRMaXN0ZW5lck9wdGlvbnMgPSA8QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnM+bm9ybWFsaXplUGFzc2l2ZUxpc3RlbmVyT3B0aW9ucyh7IHBhc3NpdmU6IHRydWUgfSk7XG5cbi8qKlxuICog5qCR5b2i5o6n5Lu255qE6IqC54K557uE5Lu2XG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgdGh5LXRyZWUtbm9kZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS10cmVlLW5vZGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90cmVlLW5vZGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVGh5SWNvbiwgTmdDbGFzcywgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCwgVGh5TG9hZGluZ11cbn0pXG5leHBvcnQgY2xhc3MgVGh5VHJlZU5vZGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICByb290ID0gaW5qZWN0KFRIWV9UUkVFX0FCU1RSQUNUX1RPS0VOKTtcbiAgICB0aHlUcmVlU2VydmljZSA9IGluamVjdChUaHlUcmVlU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiBub2RlIOiKgueCueWxleeOsOaJgOmcgOeahOaVsOaNrlxuICAgICAqL1xuICAgIEBJbnB1dCgpIG5vZGU6IFRoeVRyZWVOb2RlO1xuXG4gICAgLyoqXG4gICAgICog6K6+572uIFRyZWVOb2RlIOaYr+WQpuaUr+aMgeW8guatpeWKoOi9vVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeUFzeW5jID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva4gVHJlZU5vZGUg5piv5ZCm5pSv5oyB5aSa6YCJ6IqC54K5XG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5TXVsdGlwbGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOiuvue9riBUcmVlTm9kZSDmmK/lkKbmlK/mjIHmi5bmi73mjpLluo9cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlEcmFnZ2FibGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOiuvue9riBUcmVlTm9kZSDmmK/lkKbmlK/mjIEgQ2hlY2tib3gg6YCJ5oupXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5Q2hlY2thYmxlID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDngrnlh7voioLngrnnmoTooYzkuLrvvIxgZGVmYXVsdGAg5Li66YCJ5Lit5b2T5YmN6IqC54K577yMYHNlbGVjdENoZWNrYm94YCDkuLrpgInkuK3oioLngrnnmoQgQ2hlY2tib3jvvIwgYHRoeUNoZWNrYWJsZWAg5Li6IHRydWUg5pe255Sf5pWI44CCXG4gICAgICogQGRlZmF1bHQgZGVmYXVsdFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNsaWNrQmVoYXZpb3I6IFRoeUNsaWNrQmVoYXZpb3I7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7oioLngrnlkI3np7DmmK/lkKbmlK/mjIHotoXlh7rmiKrlj5ZcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeVRpdGxlVHJ1bmNhdGU6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDorr7nva4gVHJlZU5vZGUg55qE5riy5p+T5qih5p2/XG4gICAgICovXG4gICAgQElucHV0KCkgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7lrZDnmoTnqbrmlbDmja7muLLmn5PmqKHmnb9cbiAgICAgKi9cbiAgICBASW5wdXQoKSBlbXB0eUNoaWxkcmVuVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiDorr7nva4gbm9kZSDngrnlh7vkuovku7ZcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5T25DbGljazogRXZlbnRFbWl0dGVyPFRoeVRyZWVFbWl0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlUcmVlRW1pdEV2ZW50PigpO1xuXG4gICAgLyoqXG4gICAgICog5Y+M5Ye7IG5vZGUg5LqL5Lu2XG4gICAgICovXG4gICAgQE91dHB1dCgpIHRoeURibENsaWNrOiBFdmVudEVtaXR0ZXI8VGh5VHJlZUVtaXRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRoeVRyZWVFbWl0RXZlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDngrnlh7vlsZXlvIDop6blj5Hkuovku7ZcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5T25FeHBhbmRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxUaHlUcmVlRW1pdEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8VGh5VHJlZUVtaXRFdmVudD4oKTtcblxuICAgIC8qKlxuICAgICAqIOiuvue9riBjaGVjayDpgInmi6nkuovku7ZcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5T25DaGVja2JveENoYW5nZTogRXZlbnRFbWl0dGVyPFRoeVRyZWVFbWl0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlUcmVlRW1pdEV2ZW50PigpO1xuXG4gICAgLyoqXG4gICAgICog6K6+572uIGNoaWxkcmVuVHJlZSDnmoTmuLLmn5PmqKHmnb9cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdjaGlsZHJlblRyZWUnKSBjaGlsZHJlblRyZWVUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBUaGUgbmF0aXZlIGA8ZGl2IGNsYXNzPVwidGh5LXRyZWUtbm9kZS13cmFwcGVyIHRoeS1zb3J0YWJsZS1pdGVtXCI+PC9kaXY+YCBlbGVtZW50LiAqL1xuICAgIEBWaWV3Q2hpbGQoJ3RyZWVOb2RlV3JhcHBlcicsIHsgc3RhdGljOiB0cnVlIH0pIHRyZWVOb2RlV3JhcHBlcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS10cmVlLW5vZGUnKSB0aHlUcmVlTm9kZUNsYXNzID0gdHJ1ZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBpdGVtQ2xhc3M6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOW8gOWQr+iZmuaLn+a7muWKqOaXtu+8jOWNleihjOiKgueCueeahOmrmOW6pu+8jOW9k2B0aHlTaXplYOS4umBkZWZhdWx0YOaXtu+8jOivpeWPguaVsOaJjeeUn+aViFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHRoeUl0ZW1TaXplID0gNDQ7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7oioLngrnnvKnov5vot53nprvvvIznvKnov5vot53nprsgPSB0aHlJbmRlbnQgKiBub2RlLmxldmVsXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdGh5SW5kZW50ID0gMjU7XG5cbiAgICBwdWJsaWMgZ2V0IG5vZGVJY29uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ub2RlLm9yaWdpbi5pY29uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbm9kZUljb25TdHlsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZS5vcmlnaW4uaWNvblN0eWxlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY2hlY2tTdGF0ZSA9IFRoeVRyZWVOb2RlQ2hlY2tTdGF0ZTtcblxuICAgIHB1YmxpYyBjbGlja05vZGUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLm5vZGUuaXNEaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5leHBhbmROb2RlKGV2ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeUNoZWNrYWJsZSAmJiB0aGlzLnRoeUNsaWNrQmVoYXZpb3IgPT09ICdzZWxlY3RDaGVja2JveCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsaWNrTm9kZUNoZWNrKGV2ZW50KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucm9vdC50aHlNdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvb3QudG9nZ2xlVHJlZU5vZGUodGhpcy5ub2RlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvb3Quc2VsZWN0VHJlZU5vZGUodGhpcy5ub2RlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50aHlPbkNsaWNrLmVtaXQoe1xuICAgICAgICAgICAgZXZlbnROYW1lOiAnY2xpY2snLFxuICAgICAgICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgbm9kZTogdGhpcy5ub2RlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBkYkNsaWNrTm9kZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy50aHlEYmxDbGljay5lbWl0KHtcbiAgICAgICAgICAgIGV2ZW50TmFtZTogJ2RiY2xpY2snLFxuICAgICAgICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgbm9kZTogdGhpcy5ub2RlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGlja05vZGVDaGVjayhldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmICh0aGlzLm5vZGUuaXNDaGVja2VkID09PSBUaHlUcmVlTm9kZUNoZWNrU3RhdGUudW5jaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGUuc2V0Q2hlY2tlZCh0cnVlKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm5vZGUuaXNDaGVja2VkID09PSBUaHlUcmVlTm9kZUNoZWNrU3RhdGUuY2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5ub2RlLnNldENoZWNrZWQoZmFsc2UpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubm9kZS5pc0NoZWNrZWQgPT09IFRoeVRyZWVOb2RlQ2hlY2tTdGF0ZS5pbmRldGVybWluYXRlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5ub2RlLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVDaGlsZHJlbiA9IHRoaXMubm9kZS5jaGlsZHJlbi5maWx0ZXIoaXRlbSA9PiAhaXRlbS5pc0Rpc2FibGVkKTtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0FsbEFjdGl2ZUNoaWxkcmVuQ2hlY2tlZCA9IGFjdGl2ZUNoaWxkcmVuLmV2ZXJ5KGl0ZW0gPT4gaXRlbS5pc0NoZWNrZWQpO1xuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5zZXRDaGVja2VkKCFpc0FsbEFjdGl2ZUNoaWxkcmVuQ2hlY2tlZCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5zZXRDaGVja2VkKHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMudGh5T25DaGVja2JveENoYW5nZS5lbWl0KHtcbiAgICAgICAgICAgIGV2ZW50TmFtZTogJ2NoZWNrYm94Q2hhbmdlJyxcbiAgICAgICAgICAgIGV2ZW50OiBldmVudCxcbiAgICAgICAgICAgIG5vZGU6IHRoaXMubm9kZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZXhwYW5kTm9kZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMubm9kZS5zZXRFeHBhbmRlZCghdGhpcy5ub2RlLmlzRXhwYW5kZWQpO1xuICAgICAgICBpZiAodGhpcy5yb290LnRoeVNob3dFeHBhbmQpIHtcbiAgICAgICAgICAgIHRoaXMudGh5T25FeHBhbmRDaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgICAgICAgZXZlbnROYW1lOiAnZXhwYW5kJyxcbiAgICAgICAgICAgICAgICBldmVudDogZXZlbnQsXG4gICAgICAgICAgICAgICAgbm9kZTogdGhpcy5ub2RlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeUFzeW5jICYmIHRoaXMubm9kZS5jaGlsZHJlbi5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBpc1Nob3dFeHBhbmQobm9kZTogVGh5VHJlZU5vZGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm9vdC5pc1Nob3dFeHBhbmQobm9kZSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbUNsYXNzID0gdGhpcy5ub2RlPy5pdGVtQ2xhc3M/LmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLm5vZGUgJiYgIWNoYW5nZXMubm9kZS5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbUNsYXNzID0gY2hhbmdlcz8ubm9kZT8uY3VycmVudFZhbHVlLml0ZW1DbGFzcz8uam9pbignICcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAjdHJlZU5vZGVXcmFwcGVyXG4gIGNsYXNzPVwidGh5LXRyZWUtbm9kZS13cmFwcGVyXCJcbiAgW2NsYXNzLmFjdGl2ZV09XCJyb290LmlzU2VsZWN0ZWQobm9kZSlcIlxuICBbY2xhc3MuZGlzYWJsZWRdPVwibm9kZS5pc0Rpc2FibGVkXCJcbiAgW2NsYXNzLmV4cGFuZF09XCJub2RlLmNoaWxkcmVuLmxlbmd0aFwiXG4gIFtzdHlsZS5oZWlnaHRdPVwidGh5SXRlbVNpemUgKyAncHgnXCJcbiAgKGNsaWNrKT1cImNsaWNrTm9kZSgkZXZlbnQpXCJcbiAgPlxuICA8c3BhbiBjbGFzcz1cInRoeS10cmVlLWluZGV4XCIgW3N0eWxlLndpZHRoLnB4XT1cIm5vZGUubGV2ZWwgKiB0aHlJbmRlbnRcIj48L3NwYW4+XG4gIDxzcGFuICBjbGFzcz1cInRoeS10cmVlLWRyYWctaWNvblwiPlxuICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImRyYWdcIj48L3RoeS1pY29uPlxuICA8L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwidGh5LXRyZWUtZXhwYW5kXCIgKGNsaWNrKT1cImV4cGFuZE5vZGUoJGV2ZW50KVwiPlxuICAgIEBpZiAoaXNTaG93RXhwYW5kKG5vZGUpKSB7XG4gICAgICBAaWYgKChub2RlLmNoaWxkcmVuICYmIG5vZGUuY2hpbGRyZW4ubGVuZ3RoID4gMCkgfHwgdGh5QXN5bmMgfHwgZW1wdHlDaGlsZHJlblRlbXBsYXRlUmVmKSB7XG4gICAgICAgIEBpZiAocm9vdC50aHlJY29ucz8uZXhwYW5kICYmIHJvb3QudGh5SWNvbnM/LmNvbGxhcHNlKSB7XG4gICAgICAgICAgPHRoeS1pY29uXG4gICAgICAgICAgICBjbGFzcz1cInRoeS10cmVlLWV4cGFuZC1pY29uXCJcbiAgICAgICAgICAgIFt0aHlJY29uTmFtZV09XCJub2RlLmlzRXhwYW5kZWQgPyByb290LnRoeUljb25zLmV4cGFuZCA6IHJvb3QudGh5SWNvbnMuY29sbGFwc2VcIlxuICAgICAgICAgID48L3RoeS1pY29uPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8dGh5LWljb24gY2xhc3M9XCJ0aHktdHJlZS1leHBhbmQtaWNvblwiIFtjbGFzcy5jb2xsYXBzZV09XCIhbm9kZS5pc0V4cGFuZGVkXCIgdGh5SWNvbk5hbWU9XCJjYXJldC1yaWdodC1kb3duXCI+PC90aHktaWNvbj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgPC9zcGFuPlxuXG4gIDxzcGFuIGNsYXNzPVwidGh5LXRyZWUtbm9kZS1jb250ZW50XCIgKGRibGNsaWNrKT1cImRiQ2xpY2tOb2RlKCRldmVudClcIj5cbiAgICBAaWYgKHRoeUNoZWNrYWJsZSkge1xuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIGNsYXNzPVwidGh5LXRyZWUtbm9kZS1jaGVja1wiXG4gICAgICAgIFtjbGFzcy5mb3JtLWNoZWNrLWluZGV0ZXJtaW5hdGVdPVwibm9kZS5pc0NoZWNrZWQgPT09IGNoZWNrU3RhdGUuaW5kZXRlcm1pbmF0ZVwiXG4gICAgICAgIFtjbGFzcy5mb3JtLXVuY2hlY2tlZF09XCJub2RlLmlzQ2hlY2tlZCA9PT0gY2hlY2tTdGF0ZS51bmNoZWNrZWRcIlxuICAgICAgICBbY2hlY2tlZF09XCJub2RlLmlzQ2hlY2tlZCA9PT0gY2hlY2tTdGF0ZS5jaGVja2VkXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm5vZGUuaXNEaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJjbGlja05vZGVDaGVjaygkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICB9XG4gICAgQGlmICghdGVtcGxhdGVSZWYpIHtcbiAgICAgIEBpZiAobm9kZUljb24pIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aHktdHJlZS1ub2RlLWljb25cIj4gPGkgW25nQ2xhc3NdPVwibm9kZUljb25cIiBbbmdTdHlsZV09XCJub2RlSWNvblN0eWxlXCI+PC9pPjwvc3Bhbj5cbiAgICAgIH1cbiAgICAgIDxzcGFuIFt0aXRsZV09XCJub2RlLnRpdGxlXCIgY2xhc3M9XCJ0aHktdHJlZS1ub2RlLXRpdGxlXCIgW2NsYXNzLnRydW5jYXRlXT1cInRoeVRpdGxlVHJ1bmNhdGVcIj4ge3sgbm9kZS50aXRsZSB9fTwvc3Bhbj5cbiAgICB9XG4gICAgQGlmICh0ZW1wbGF0ZVJlZikge1xuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlUmVmXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBub2RlLCBub2RlOiBub2RlLCBvcmlnaW46IG5vZGU/Lm9yaWdpbiB9XCJcbiAgICAgID48L25nLXRlbXBsYXRlPlxuICAgIH1cbiAgPC9zcGFuPlxuPC9kaXY+XG5AaWYgKHRoeUFzeW5jKSB7XG4gIEBpZiAobm9kZS5pc0xvYWRpbmcpIHtcbiAgICA8dGh5LWxvYWRpbmcgW3RoeURvbmVdPVwiIW5vZGUuaXNMb2FkaW5nXCI+PC90aHktbG9hZGluZz5cbiAgfVxufVxuIl19
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90cmVlL3RyZWUtbm9kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvdHJlZS90cmVlLW5vZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBSUwsTUFBTSxFQUVOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHVCQUF1QixFQUE0QixNQUFNLGlCQUFpQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQW9CLHFCQUFxQixFQUFvQixNQUFNLGNBQWMsQ0FBQztBQUN6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUV4RCxNQUFNLDJCQUEyQixHQUE0QiwrQkFBK0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBRWhIOzs7O0dBSUc7QUFRSCxNQUFNLE9B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QVM7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbm9ybWFsaXplUGFzc2l2ZUxpc3RlbmVyT3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIG51bWJlckF0dHJpYnV0ZSxcbiAgICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRIWV9UUkVFX0FCU1RSQUNUX1RPS0VOLCBUaHlUcmVlQWJzdHJhY3RDb21wb25lbnQgfSBmcm9tICcuL3RyZWUtYWJzdHJhY3QnO1xuaW1wb3J0IHsgVGh5VHJlZU5vZGUgfSBmcm9tICcuL3RyZWUtbm9kZS5jbGFzcyc7XG5pbXBvcnQgeyBUaHlUcmVlRW1pdEV2ZW50LCBUaHlUcmVlTm9kZUNoZWNrU3RhdGUsIFRoeUNsaWNrQmVoYXZpb3IgfSBmcm9tICcuL3RyZWUuY2xhc3MnO1xuaW1wb3J0IHsgVGh5VHJlZVNlcnZpY2UgfSBmcm9tICcuL3RyZWUuc2VydmljZSc7XG5pbXBvcnQgeyBUaHlMb2FkaW5nIH0gZnJvbSAnbmd4LXRldGh5cy9sb2FkaW5nJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG5jb25zdCBwYXNzaXZlRXZlbnRMaXN0ZW5lck9wdGlvbnMgPSA8QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnM+bm9ybWFsaXplUGFzc2l2ZUxpc3RlbmVyT3B0aW9ucyh7IHBhc3NpdmU6IHRydWUgfSk7XG5cbi8qKlxuICog5qCR5b2i5o6n5Lu255qE6IqC54K557uE5Lu2XG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgdGh5LXRyZWUtbm9kZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS10cmVlLW5vZGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90cmVlLW5vZGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVGh5SWNvbiwgTmdDbGFzcywgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCwgVGh5TG9hZGluZ11cbn0pXG5leHBvcnQgY2xhc3MgVGh5VHJlZU5vZGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICByb290ID0gaW5qZWN0KFRIWV9UUkVFX0FCU1RSQUNUX1RPS0VOKTtcbiAgICB0aHlUcmVlU2VydmljZSA9IGluamVjdChUaHlUcmVlU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiBub2RlIOiKgueCueWxleeOsOaJgOmcgOeahOaVsOaNrlxuICAgICAqL1xuICAgIEBJbnB1dCgpIG5vZGU6IFRoeVRyZWVOb2RlO1xuXG4gICAgLyoqXG4gICAgICog6K6+572uIFRyZWVOb2RlIOaYr+WQpuaUr+aMgeW8guatpeWKoOi9vVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeUFzeW5jID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva4gVHJlZU5vZGUg5piv5ZCm5pSv5oyB5aSa6YCJ6IqC54K5XG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5TXVsdGlwbGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOiuvue9riBUcmVlTm9kZSDmmK/lkKbmlK/mjIHmi5bmi73mjpLluo9cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlEcmFnZ2FibGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOiuvue9riBUcmVlTm9kZSDmmK/lkKbmlK/mjIEgQ2hlY2tib3gg6YCJ5oupXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5Q2hlY2thYmxlID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDngrnlh7voioLngrnnmoTooYzkuLrvvIxgZGVmYXVsdGAg5Li66YCJ5Lit5b2T5YmN6IqC54K577yMYHNlbGVjdENoZWNrYm94YCDkuLrpgInkuK3oioLngrnnmoQgQ2hlY2tib3jvvIwgYHRoeUNoZWNrYWJsZWAg5Li6IHRydWUg5pe255Sf5pWI44CCXG4gICAgICogQGRlZmF1bHQgZGVmYXVsdFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNsaWNrQmVoYXZpb3I6IFRoeUNsaWNrQmVoYXZpb3I7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7oioLngrnlkI3np7DmmK/lkKbmlK/mjIHotoXlh7rmiKrlj5ZcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeVRpdGxlVHJ1bmNhdGU6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDorr7nva4gVHJlZU5vZGUg55qE5riy5p+T5qih5p2/XG4gICAgICovXG4gICAgQElucHV0KCkgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7lrZDnmoTnqbrmlbDmja7muLLmn5PmqKHmnb9cbiAgICAgKi9cbiAgICBASW5wdXQoKSBlbXB0eUNoaWxkcmVuVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiDorr7nva4gbm9kZSDngrnlh7vkuovku7ZcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5T25DbGljazogRXZlbnRFbWl0dGVyPFRoeVRyZWVFbWl0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlUcmVlRW1pdEV2ZW50PigpO1xuXG4gICAgLyoqXG4gICAgICog5Y+M5Ye7IG5vZGUg5LqL5Lu2XG4gICAgICovXG4gICAgQE91dHB1dCgpIHRoeURibENsaWNrOiBFdmVudEVtaXR0ZXI8VGh5VHJlZUVtaXRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRoeVRyZWVFbWl0RXZlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDngrnlh7vlsZXlvIDop6blj5Hkuovku7ZcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5T25FeHBhbmRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxUaHlUcmVlRW1pdEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8VGh5VHJlZUVtaXRFdmVudD4oKTtcblxuICAgIC8qKlxuICAgICAqIOiuvue9riBjaGVjayDpgInmi6nkuovku7ZcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5T25DaGVja2JveENoYW5nZTogRXZlbnRFbWl0dGVyPFRoeVRyZWVFbWl0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlUcmVlRW1pdEV2ZW50PigpO1xuXG4gICAgLyoqXG4gICAgICog6K6+572uIGNoaWxkcmVuVHJlZSDnmoTmuLLmn5PmqKHmnb9cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdjaGlsZHJlblRyZWUnKSBjaGlsZHJlblRyZWVUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBUaGUgbmF0aXZlIGA8ZGl2IGNsYXNzPVwidGh5LXRyZWUtbm9kZS13cmFwcGVyIHRoeS1zb3J0YWJsZS1pdGVtXCI+PC9kaXY+YCBlbGVtZW50LiAqL1xuICAgIEBWaWV3Q2hpbGQoJ3RyZWVOb2RlV3JhcHBlcicsIHsgc3RhdGljOiB0cnVlIH0pIHRyZWVOb2RlV3JhcHBlcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS10cmVlLW5vZGUnKSB0aHlUcmVlTm9kZUNsYXNzID0gdHJ1ZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBpdGVtQ2xhc3M6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOW8gOWQr+iZmuaLn+a7muWKqOaXtu+8jOWNleihjOiKgueCueeahOmrmOW6pu+8jOW9k2B0aHlTaXplYOS4umBkZWZhdWx0YOaXtu+8jOivpeWPguaVsOaJjeeUn+aViFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHRoeUl0ZW1TaXplID0gNDQ7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7oioLngrnnvKnov5vot53nprvvvIznvKnov5vot53nprsgPSB0aHlJbmRlbnQgKiBub2RlLmxldmVsXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdGh5SW5kZW50ID0gMjU7XG5cbiAgICBwdWJsaWMgZ2V0IG5vZGVJY29uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ub2RlLm9yaWdpbi5pY29uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbm9kZUljb25TdHlsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZS5vcmlnaW4uaWNvblN0eWxlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY2hlY2tTdGF0ZSA9IFRoeVRyZWVOb2RlQ2hlY2tTdGF0ZTtcblxuICAgIHB1YmxpYyBjbGlja05vZGUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLm5vZGUuaXNEaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5leHBhbmROb2RlKGV2ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeUNoZWNrYWJsZSAmJiB0aGlzLnRoeUNsaWNrQmVoYXZpb3IgPT09ICdzZWxlY3RDaGVja2JveCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsaWNrTm9kZUNoZWNrKGV2ZW50KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucm9vdC50aHlNdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvb3QudG9nZ2xlVHJlZU5vZGUodGhpcy5ub2RlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvb3Quc2VsZWN0VHJlZU5vZGUodGhpcy5ub2RlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50aHlPbkNsaWNrLmVtaXQoe1xuICAgICAgICAgICAgZXZlbnROYW1lOiAnY2xpY2snLFxuICAgICAgICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgbm9kZTogdGhpcy5ub2RlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBkYkNsaWNrTm9kZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy50aHlEYmxDbGljay5lbWl0KHtcbiAgICAgICAgICAgIGV2ZW50TmFtZTogJ2RiY2xpY2snLFxuICAgICAgICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgbm9kZTogdGhpcy5ub2RlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGlja05vZGVDaGVjayhldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmICh0aGlzLm5vZGUuaXNDaGVja2VkID09PSBUaHlUcmVlTm9kZUNoZWNrU3RhdGUudW5jaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGUuc2V0Q2hlY2tlZCh0cnVlKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm5vZGUuaXNDaGVja2VkID09PSBUaHlUcmVlTm9kZUNoZWNrU3RhdGUuY2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5ub2RlLnNldENoZWNrZWQoZmFsc2UpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubm9kZS5pc0NoZWNrZWQgPT09IFRoeVRyZWVOb2RlQ2hlY2tTdGF0ZS5pbmRldGVybWluYXRlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5ub2RlLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVDaGlsZHJlbiA9IHRoaXMubm9kZS5jaGlsZHJlbi5maWx0ZXIoaXRlbSA9PiAhaXRlbS5pc0Rpc2FibGVkKTtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0FsbEFjdGl2ZUNoaWxkcmVuQ2hlY2tlZCA9IGFjdGl2ZUNoaWxkcmVuLmV2ZXJ5KGl0ZW0gPT4gaXRlbS5pc0NoZWNrZWQpO1xuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5zZXRDaGVja2VkKCFpc0FsbEFjdGl2ZUNoaWxkcmVuQ2hlY2tlZCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5zZXRDaGVja2VkKHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMudGh5T25DaGVja2JveENoYW5nZS5lbWl0KHtcbiAgICAgICAgICAgIGV2ZW50TmFtZTogJ2NoZWNrYm94Q2hhbmdlJyxcbiAgICAgICAgICAgIGV2ZW50OiBldmVudCxcbiAgICAgICAgICAgIG5vZGU6IHRoaXMubm9kZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZXhwYW5kTm9kZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMubm9kZS5zZXRFeHBhbmRlZCghdGhpcy5ub2RlLmlzRXhwYW5kZWQpO1xuICAgICAgICBpZiAodGhpcy5yb290LnRoeVNob3dFeHBhbmQpIHtcbiAgICAgICAgICAgIHRoaXMudGh5T25FeHBhbmRDaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgICAgICAgZXZlbnROYW1lOiAnZXhwYW5kJyxcbiAgICAgICAgICAgICAgICBldmVudDogZXZlbnQsXG4gICAgICAgICAgICAgICAgbm9kZTogdGhpcy5ub2RlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeUFzeW5jICYmIHRoaXMubm9kZS5jaGlsZHJlbi5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBpc1Nob3dFeHBhbmQobm9kZTogVGh5VHJlZU5vZGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm9vdC5pc1Nob3dFeHBhbmQobm9kZSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbUNsYXNzID0gdGhpcy5ub2RlPy5pdGVtQ2xhc3M/LmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLm5vZGUgJiYgIWNoYW5nZXMubm9kZS5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbUNsYXNzID0gY2hhbmdlcz8ubm9kZT8uY3VycmVudFZhbHVlLml0ZW1DbGFzcz8uam9pbignICcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAjdHJlZU5vZGVXcmFwcGVyXG4gIGNsYXNzPVwidGh5LXRyZWUtbm9kZS13cmFwcGVyXCJcbiAgW2NsYXNzLmFjdGl2ZV09XCJyb290LmlzU2VsZWN0ZWQobm9kZSlcIlxuICBbY2xhc3MuZGlzYWJsZWRdPVwibm9kZS5pc0Rpc2FibGVkXCJcbiAgW2NsYXNzLmV4cGFuZF09XCJub2RlLmNoaWxkcmVuLmxlbmd0aFwiXG4gIFtzdHlsZS5oZWlnaHRdPVwidGh5SXRlbVNpemUgKyAncHgnXCJcbiAgKGNsaWNrKT1cImNsaWNrTm9kZSgkZXZlbnQpXCJcbiAgPlxuICA8c3BhbiBjbGFzcz1cInRoeS10cmVlLWluZGV4XCIgW3N0eWxlLndpZHRoLnB4XT1cIm5vZGUubGV2ZWwgKiB0aHlJbmRlbnRcIj48L3NwYW4+XG4gIDxzcGFuICBjbGFzcz1cInRoeS10cmVlLWRyYWctaWNvblwiPlxuICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImRyYWdcIj48L3RoeS1pY29uPlxuICA8L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwidGh5LXRyZWUtZXhwYW5kXCIgKGNsaWNrKT1cImV4cGFuZE5vZGUoJGV2ZW50KVwiPlxuICAgIEBpZiAoaXNTaG93RXhwYW5kKG5vZGUpKSB7XG4gICAgICBAaWYgKChub2RlLmNoaWxkcmVuICYmIG5vZGUuY2hpbGRyZW4ubGVuZ3RoID4gMCkgfHwgdGh5QXN5bmMgfHwgZW1wdHlDaGlsZHJlblRlbXBsYXRlUmVmKSB7XG4gICAgICAgIEBpZiAocm9vdC50aHlJY29ucz8uZXhwYW5kICYmIHJvb3QudGh5SWNvbnM/LmNvbGxhcHNlKSB7XG4gICAgICAgICAgPHRoeS1pY29uXG4gICAgICAgICAgICBjbGFzcz1cInRoeS10cmVlLWV4cGFuZC1pY29uXCJcbiAgICAgICAgICAgIFt0aHlJY29uTmFtZV09XCJub2RlLmlzRXhwYW5kZWQgPyByb290LnRoeUljb25zLmV4cGFuZCA6IHJvb3QudGh5SWNvbnMuY29sbGFwc2VcIlxuICAgICAgICAgID48L3RoeS1pY29uPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8dGh5LWljb24gY2xhc3M9XCJ0aHktdHJlZS1leHBhbmQtaWNvblwiIFtjbGFzcy5jb2xsYXBzZV09XCIhbm9kZS5pc0V4cGFuZGVkXCIgdGh5SWNvbk5hbWU9XCJjYXJldC1yaWdodC1kb3duXCI+PC90aHktaWNvbj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgPC9zcGFuPlxuXG4gIDxzcGFuIGNsYXNzPVwidGh5LXRyZWUtbm9kZS1jb250ZW50XCIgKGRibGNsaWNrKT1cImRiQ2xpY2tOb2RlKCRldmVudClcIj5cbiAgICBAaWYgKHRoeUNoZWNrYWJsZSkge1xuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIGNsYXNzPVwidGh5LXRyZWUtbm9kZS1jaGVja1wiXG4gICAgICAgIFtjbGFzcy5mb3JtLWNoZWNrLWluZGV0ZXJtaW5hdGVdPVwibm9kZS5pc0NoZWNrZWQgPT09IGNoZWNrU3RhdGUuaW5kZXRlcm1pbmF0ZVwiXG4gICAgICAgIFtjbGFzcy5mb3JtLXVuY2hlY2tlZF09XCJub2RlLmlzQ2hlY2tlZCA9PT0gY2hlY2tTdGF0ZS51bmNoZWNrZWRcIlxuICAgICAgICBbY2hlY2tlZF09XCJub2RlLmlzQ2hlY2tlZCA9PT0gY2hlY2tTdGF0ZS5jaGVja2VkXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm5vZGUuaXNEaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJjbGlja05vZGVDaGVjaygkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICB9XG4gICAgQGlmICghdGVtcGxhdGVSZWYpIHtcbiAgICAgIEBpZiAobm9kZUljb24pIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aHktdHJlZS1ub2RlLWljb25cIj4gPGkgW25nQ2xhc3NdPVwibm9kZUljb25cIiBbbmdTdHlsZV09XCJub2RlSWNvblN0eWxlXCI+PC9pPjwvc3Bhbj5cbiAgICAgIH1cbiAgICAgIDxzcGFuIFt0aXRsZV09XCJub2RlLnRpdGxlXCIgY2xhc3M9XCJ0aHktdHJlZS1ub2RlLXRpdGxlXCIgW2NsYXNzLnRydW5jYXRlXT1cInRoeVRpdGxlVHJ1bmNhdGVcIj4ge3sgbm9kZS50aXRsZSB9fTwvc3Bhbj5cbiAgICB9XG4gICAgQGlmICh0ZW1wbGF0ZVJlZikge1xuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlUmVmXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBub2RlLCBub2RlOiBub2RlLCBvcmlnaW46IG5vZGU/Lm9yaWdpbiB9XCJcbiAgICAgID48L25nLXRlbXBsYXRlPlxuICAgIH1cbiAgPC9zcGFuPlxuPC9kaXY+XG5AaWYgKHRoeUFzeW5jKSB7XG4gIEBpZiAobm9kZS5pc0xvYWRpbmcpIHtcbiAgICA8dGh5LWxvYWRpbmcgW3RoeURvbmVdPVwiIW5vZGUuaXNMb2FkaW5nXCI+PC90aHktbG9hZGluZz5cbiAgfVxufVxuIl19