ngx-tethys 17.0.9 → 17.0.11

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 (352) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/action/action.component.d.ts +3 -3
  3. package/alert/alert.component.d.ts +1 -1
  4. package/anchor/anchor.component.d.ts +3 -1
  5. package/autocomplete/autocomplete.component.d.ts +1 -1
  6. package/autocomplete/autocomplete.trigger.directive.d.ts +1 -1
  7. package/avatar/avatar.component.d.ts +4 -4
  8. package/badge/badge.component.d.ts +3 -3
  9. package/button/button-icon.component.d.ts +2 -2
  10. package/button/button.component.d.ts +2 -2
  11. package/card/card.component.d.ts +3 -3
  12. package/card/content.component.d.ts +1 -1
  13. package/carousel/carousel.component.d.ts +4 -4
  14. package/cascader/cascader-li.component.d.ts +5 -5
  15. package/cascader/cascader-search-option.component.d.ts +3 -3
  16. package/cascader/cascader.component.d.ts +8 -8
  17. package/checkbox/checkbox.component.d.ts +1 -1
  18. package/collapse/collapse-item.component.d.ts +2 -2
  19. package/collapse/collapse.component.d.ts +1 -1
  20. package/color-picker/color-picker-panel.component.d.ts +1 -1
  21. package/color-picker/color-picker.component.d.ts +3 -3
  22. package/copy/copy.directive.d.ts +1 -1
  23. package/core/behaviors/decorators.d.ts +1 -1
  24. package/date-picker/abstract-picker.component.d.ts +7 -7
  25. package/date-picker/abstract-picker.directive.d.ts +3 -3
  26. package/date-picker/base-picker.component.d.ts +2 -2
  27. package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -1
  28. package/date-picker/lib/popups/inner-popup.component.d.ts +1 -1
  29. package/date-picker/picker.component.d.ts +1 -1
  30. package/date-range/date-range.component.d.ts +8 -2
  31. package/dialog/body/dialog-body.component.d.ts +1 -1
  32. package/dialog/footer/dialog-footer.component.d.ts +1 -1
  33. package/dialog/header/dialog-header.component.d.ts +1 -1
  34. package/divider/divider.component.d.ts +2 -2
  35. package/drag-drop/drag-handle.directive.d.ts +1 -1
  36. package/drag-drop/drag.directive.d.ts +1 -1
  37. package/drag-drop/drop-container.directive.d.ts +1 -1
  38. package/dropdown/dropdown-menu-item.directive.d.ts +2 -2
  39. package/dropdown/dropdown-menu.component.d.ts +1 -1
  40. package/dropdown/dropdown.directive.d.ts +1 -1
  41. package/empty/empty.component.d.ts +1 -1
  42. package/esm2022/action/action.component.mjs +7 -6
  43. package/esm2022/alert/alert.component.mjs +5 -5
  44. package/esm2022/anchor/anchor.component.mjs +5 -5
  45. package/esm2022/autocomplete/autocomplete.component.mjs +5 -4
  46. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +5 -5
  47. package/esm2022/avatar/avatar.component.mjs +8 -8
  48. package/esm2022/badge/badge.component.mjs +7 -6
  49. package/esm2022/button/button-icon.component.mjs +6 -5
  50. package/esm2022/button/button.component.mjs +6 -6
  51. package/esm2022/card/card.component.mjs +7 -6
  52. package/esm2022/card/content.component.mjs +5 -4
  53. package/esm2022/carousel/carousel.component.mjs +8 -7
  54. package/esm2022/cascader/cascader-li.component.mjs +9 -8
  55. package/esm2022/cascader/cascader-search-option.component.mjs +7 -6
  56. package/esm2022/cascader/cascader.component.mjs +12 -12
  57. package/esm2022/checkbox/checkbox.component.mjs +5 -4
  58. package/esm2022/collapse/collapse-item.component.mjs +6 -6
  59. package/esm2022/collapse/collapse.component.mjs +5 -4
  60. package/esm2022/color-picker/color-picker-panel.component.mjs +5 -4
  61. package/esm2022/color-picker/color-picker.component.mjs +7 -6
  62. package/esm2022/copy/copy.directive.mjs +5 -4
  63. package/esm2022/core/behaviors/decorators.mjs +2 -2
  64. package/esm2022/date-picker/abstract-picker.component.mjs +11 -10
  65. package/esm2022/date-picker/abstract-picker.directive.mjs +6 -6
  66. package/esm2022/date-picker/base-picker.component.mjs +5 -5
  67. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -5
  68. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +5 -5
  69. package/esm2022/date-picker/picker.component.mjs +5 -5
  70. package/esm2022/date-range/date-range.component.mjs +6 -5
  71. package/esm2022/dialog/body/dialog-body.component.mjs +5 -4
  72. package/esm2022/dialog/footer/dialog-footer.component.mjs +5 -4
  73. package/esm2022/dialog/header/dialog-header.component.mjs +5 -4
  74. package/esm2022/divider/divider.component.mjs +6 -5
  75. package/esm2022/drag-drop/drag-handle.directive.mjs +5 -4
  76. package/esm2022/drag-drop/drag.directive.mjs +5 -4
  77. package/esm2022/drag-drop/drop-container.directive.mjs +5 -4
  78. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +7 -6
  79. package/esm2022/dropdown/dropdown-menu.component.mjs +5 -4
  80. package/esm2022/dropdown/dropdown.directive.mjs +5 -5
  81. package/esm2022/empty/empty.component.mjs +5 -4
  82. package/esm2022/form/form-group-error/form-group-error.component.mjs +5 -4
  83. package/esm2022/form/form-group-label.directive.mjs +5 -4
  84. package/esm2022/form/form-group.component.mjs +7 -6
  85. package/esm2022/icon/icon.component.mjs +6 -5
  86. package/esm2022/image/image.directive.mjs +6 -5
  87. package/esm2022/input/input-search.component.mjs +5 -4
  88. package/esm2022/input/input.component.mjs +6 -5
  89. package/esm2022/input-number/input-number.component.mjs +6 -6
  90. package/esm2022/layout/header.component.mjs +7 -6
  91. package/esm2022/layout/sidebar-header.component.mjs +5 -4
  92. package/esm2022/layout/sidebar.component.mjs +12 -11
  93. package/esm2022/list/list.component.mjs +5 -4
  94. package/esm2022/list/selection/selection-list.mjs +7 -7
  95. package/esm2022/loading/loading.component.mjs +6 -5
  96. package/esm2022/mention/mention.directive.mjs +3 -3
  97. package/esm2022/menu/group/menu-group.component.mjs +10 -9
  98. package/esm2022/menu/item/action/menu-item-action.component.mjs +5 -4
  99. package/esm2022/menu/item/name/menu-item-name.component.mjs +5 -4
  100. package/esm2022/menu/menu.component.mjs +5 -4
  101. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +5 -4
  102. package/esm2022/nav/nav-ink-bar.directive.mjs +6 -5
  103. package/esm2022/nav/nav-item.directive.mjs +7 -6
  104. package/esm2022/nav/nav.component.mjs +8 -7
  105. package/esm2022/pagination/pagination.component.mjs +9 -9
  106. package/esm2022/popover/popover.directive.mjs +6 -5
  107. package/esm2022/property/property-item.component.mjs +5 -4
  108. package/esm2022/property-operation/property-operation.component.mjs +9 -9
  109. package/esm2022/radio/group/radio-group.component.mjs +5 -4
  110. package/esm2022/rate/rate-item.component.mjs +5 -4
  111. package/esm2022/rate/rate.component.mjs +7 -7
  112. package/esm2022/resizable/resizable.directive.mjs +7 -6
  113. package/esm2022/resizable/resize-handle.component.mjs +5 -4
  114. package/esm2022/resizable/resize-handles.component.mjs +5 -4
  115. package/esm2022/segment/segment-item.component.mjs +5 -5
  116. package/esm2022/segment/segment.component.mjs +5 -4
  117. package/esm2022/select/custom-select/custom-select.component.mjs +14 -14
  118. package/esm2022/select/native-select/native-select.component.mjs +5 -5
  119. package/esm2022/shared/base-form-check.component.mjs +6 -5
  120. package/esm2022/shared/directives/thy-autofocus.directive.mjs +6 -5
  121. package/esm2022/shared/directives/thy-scroll.directive.mjs +5 -4
  122. package/esm2022/shared/directives/thy-show.mjs +5 -4
  123. package/esm2022/shared/option/group/option-group.component.mjs +5 -4
  124. package/esm2022/shared/option/list-option/list-option.component.mjs +5 -4
  125. package/esm2022/shared/option/option.component.mjs +5 -5
  126. package/esm2022/shared/select/select-control/select-control.component.mjs +10 -10
  127. package/esm2022/skeleton/skeleton-circle.component.mjs +5 -5
  128. package/esm2022/skeleton/skeleton-rectangle.component.mjs +5 -5
  129. package/esm2022/skeleton/skeleton.component.mjs +5 -4
  130. package/esm2022/skeleton/stylized/bullet-list.component.mjs +5 -4
  131. package/esm2022/skeleton/stylized/list.component.mjs +5 -4
  132. package/esm2022/skeleton/stylized/paragraph.component.mjs +5 -4
  133. package/esm2022/slide/slide-body/slide-body-section.component.mjs +5 -4
  134. package/esm2022/slider/slider.component.mjs +6 -6
  135. package/esm2022/space/space.component.mjs +5 -4
  136. package/esm2022/stepper/step-header.component.mjs +6 -5
  137. package/esm2022/stepper/stepper.component.mjs +5 -4
  138. package/esm2022/switch/switch.component.mjs +6 -5
  139. package/esm2022/table/table-column.component.mjs +9 -9
  140. package/esm2022/table/table-skeleton.component.mjs +6 -5
  141. package/esm2022/table/table.component.mjs +14 -14
  142. package/esm2022/tabs/tab.component.mjs +5 -4
  143. package/esm2022/tabs/tabs.component.mjs +6 -6
  144. package/esm2022/tag/tag.component.mjs +5 -5
  145. package/esm2022/time-picker/time-picker-panel.component.mjs +6 -6
  146. package/esm2022/time-picker/time-picker.component.mjs +9 -9
  147. package/esm2022/timeline/timeline.component.mjs +5 -4
  148. package/esm2022/tooltip/tooltip.directive.mjs +6 -6
  149. package/esm2022/tree/tree-node.component.mjs +9 -8
  150. package/esm2022/tree/tree.component.mjs +10 -10
  151. package/esm2022/tree-select/tree-select.component.mjs +11 -11
  152. package/esm2022/upload/file-select.component.mjs +6 -5
  153. package/esm2022/version.mjs +2 -2
  154. package/esm2022/vote/vote.component.mjs +7 -6
  155. package/esm2022/watermark/watermark.directive.mjs +5 -4
  156. package/fesm2022/ngx-tethys-action.mjs +6 -5
  157. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  158. package/fesm2022/ngx-tethys-alert.mjs +4 -4
  159. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  160. package/fesm2022/ngx-tethys-anchor.mjs +4 -4
  161. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  162. package/fesm2022/ngx-tethys-autocomplete.mjs +6 -6
  163. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  164. package/fesm2022/ngx-tethys-avatar.mjs +7 -7
  165. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  166. package/fesm2022/ngx-tethys-badge.mjs +6 -5
  167. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  168. package/fesm2022/ngx-tethys-button.mjs +8 -8
  169. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  170. package/fesm2022/ngx-tethys-card.mjs +8 -7
  171. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  172. package/fesm2022/ngx-tethys-carousel.mjs +7 -6
  173. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  174. package/fesm2022/ngx-tethys-cascader.mjs +21 -21
  175. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  176. package/fesm2022/ngx-tethys-checkbox.mjs +4 -3
  177. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  178. package/fesm2022/ngx-tethys-collapse.mjs +7 -7
  179. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  180. package/fesm2022/ngx-tethys-color-picker.mjs +8 -7
  181. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  182. package/fesm2022/ngx-tethys-copy.mjs +4 -3
  183. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  184. package/fesm2022/ngx-tethys-core.mjs +1 -1
  185. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  186. package/fesm2022/ngx-tethys-date-picker.mjs +26 -26
  187. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  188. package/fesm2022/ngx-tethys-date-range.mjs +5 -4
  189. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  190. package/fesm2022/ngx-tethys-dialog.mjs +8 -7
  191. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  192. package/fesm2022/ngx-tethys-divider.mjs +5 -4
  193. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  194. package/fesm2022/ngx-tethys-drag-drop.mjs +8 -8
  195. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  196. package/fesm2022/ngx-tethys-dropdown.mjs +10 -10
  197. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  198. package/fesm2022/ngx-tethys-empty.mjs +4 -3
  199. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  200. package/fesm2022/ngx-tethys-form.mjs +10 -10
  201. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  202. package/fesm2022/ngx-tethys-icon.mjs +5 -5
  203. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  204. package/fesm2022/ngx-tethys-image.mjs +5 -5
  205. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  206. package/fesm2022/ngx-tethys-input-number.mjs +5 -5
  207. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  208. package/fesm2022/ngx-tethys-input.mjs +7 -6
  209. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  210. package/fesm2022/ngx-tethys-layout.mjs +17 -16
  211. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  212. package/fesm2022/ngx-tethys-list.mjs +8 -8
  213. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  214. package/fesm2022/ngx-tethys-loading.mjs +5 -4
  215. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  216. package/fesm2022/ngx-tethys-mention.mjs +2 -2
  217. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  218. package/fesm2022/ngx-tethys-menu.mjs +15 -14
  219. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  220. package/fesm2022/ngx-tethys-nav.mjs +16 -16
  221. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  222. package/fesm2022/ngx-tethys-pagination.mjs +8 -8
  223. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  224. package/fesm2022/ngx-tethys-popover.mjs +5 -5
  225. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  226. package/fesm2022/ngx-tethys-property-operation.mjs +8 -8
  227. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  228. package/fesm2022/ngx-tethys-property.mjs +4 -3
  229. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  230. package/fesm2022/ngx-tethys-radio.mjs +7 -6
  231. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  232. package/fesm2022/ngx-tethys-rate.mjs +8 -8
  233. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  234. package/fesm2022/ngx-tethys-resizable.mjs +10 -10
  235. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  236. package/fesm2022/ngx-tethys-segment.mjs +6 -6
  237. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  238. package/fesm2022/ngx-tethys-select.mjs +15 -15
  239. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  240. package/fesm2022/ngx-tethys-shared.mjs +25 -25
  241. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  242. package/fesm2022/ngx-tethys-skeleton.mjs +14 -14
  243. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  244. package/fesm2022/ngx-tethys-slide.mjs +4 -4
  245. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  246. package/fesm2022/ngx-tethys-slider.mjs +5 -5
  247. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  248. package/fesm2022/ngx-tethys-space.mjs +4 -3
  249. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  250. package/fesm2022/ngx-tethys-stepper.mjs +7 -6
  251. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  252. package/fesm2022/ngx-tethys-switch.mjs +5 -4
  253. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  254. package/fesm2022/ngx-tethys-table.mjs +22 -22
  255. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  256. package/fesm2022/ngx-tethys-tabs.mjs +7 -7
  257. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  258. package/fesm2022/ngx-tethys-tag.mjs +4 -4
  259. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  260. package/fesm2022/ngx-tethys-time-picker.mjs +11 -11
  261. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  262. package/fesm2022/ngx-tethys-timeline.mjs +4 -3
  263. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  264. package/fesm2022/ngx-tethys-tooltip.mjs +5 -5
  265. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  266. package/fesm2022/ngx-tethys-tree-select.mjs +10 -10
  267. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  268. package/fesm2022/ngx-tethys-tree.mjs +15 -15
  269. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  270. package/fesm2022/ngx-tethys-upload.mjs +5 -5
  271. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  272. package/fesm2022/ngx-tethys-vote.mjs +6 -5
  273. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  274. package/fesm2022/ngx-tethys-watermark.mjs +4 -3
  275. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  276. package/fesm2022/ngx-tethys.mjs +1 -1
  277. package/fesm2022/ngx-tethys.mjs.map +1 -1
  278. package/form/form-group-error/form-group-error.component.d.ts +1 -1
  279. package/form/form-group-label.directive.d.ts +1 -1
  280. package/form/form-group.component.d.ts +3 -3
  281. package/icon/icon.component.d.ts +2 -2
  282. package/image/image.directive.d.ts +2 -2
  283. package/input/input-search.component.d.ts +1 -1
  284. package/input/input.component.d.ts +2 -2
  285. package/input-number/input-number.component.d.ts +2 -2
  286. package/layout/header.component.d.ts +3 -3
  287. package/layout/sidebar-header.component.d.ts +1 -1
  288. package/layout/sidebar.component.d.ts +7 -7
  289. package/list/list.component.d.ts +1 -1
  290. package/list/selection/selection-list.d.ts +3 -3
  291. package/loading/loading.component.d.ts +2 -2
  292. package/menu/group/menu-group.component.d.ts +6 -6
  293. package/menu/item/action/menu-item-action.component.d.ts +1 -1
  294. package/menu/item/name/menu-item-name.component.d.ts +1 -1
  295. package/menu/menu.component.d.ts +1 -1
  296. package/nav/icon-nav/icon-nav-link.directive.d.ts +1 -1
  297. package/nav/nav-ink-bar.directive.d.ts +2 -2
  298. package/nav/nav-item.directive.d.ts +3 -3
  299. package/nav/nav.component.d.ts +4 -4
  300. package/package.json +1 -1
  301. package/pagination/pagination.component.d.ts +5 -5
  302. package/popover/popover.directive.d.ts +2 -2
  303. package/property/property-item.component.d.ts +4 -1
  304. package/property-operation/property-operation.component.d.ts +5 -5
  305. package/radio/group/radio-group.component.d.ts +1 -1
  306. package/rate/rate-item.component.d.ts +1 -1
  307. package/rate/rate.component.d.ts +3 -3
  308. package/resizable/resizable.directive.d.ts +3 -3
  309. package/resizable/resize-handle.component.d.ts +1 -1
  310. package/resizable/resize-handles.component.d.ts +1 -1
  311. package/schematics/version.d.ts +1 -1
  312. package/schematics/version.js +1 -1
  313. package/segment/segment-item.component.d.ts +1 -1
  314. package/segment/segment.component.d.ts +5 -1
  315. package/select/custom-select/custom-select.component.d.ts +10 -10
  316. package/select/native-select/native-select.component.d.ts +1 -1
  317. package/shared/base-form-check.component.d.ts +2 -2
  318. package/shared/directives/thy-autofocus.directive.d.ts +2 -2
  319. package/shared/directives/thy-scroll.directive.d.ts +1 -1
  320. package/shared/directives/thy-show.d.ts +1 -1
  321. package/shared/option/group/option-group.component.d.ts +1 -1
  322. package/shared/option/list-option/list-option.component.d.ts +1 -1
  323. package/shared/option/option.component.d.ts +1 -1
  324. package/shared/select/select-control/select-control.component.d.ts +6 -6
  325. package/skeleton/skeleton-circle.component.d.ts +1 -1
  326. package/skeleton/skeleton-rectangle.component.d.ts +1 -1
  327. package/skeleton/skeleton.component.d.ts +1 -1
  328. package/skeleton/stylized/bullet-list.component.d.ts +1 -1
  329. package/skeleton/stylized/list.component.d.ts +1 -1
  330. package/skeleton/stylized/paragraph.component.d.ts +1 -1
  331. package/slide/slide-body/slide-body-section.component.d.ts +1 -1
  332. package/slider/slider.component.d.ts +2 -2
  333. package/space/space.component.d.ts +1 -1
  334. package/stepper/step-header.component.d.ts +2 -2
  335. package/stepper/stepper.component.d.ts +1 -1
  336. package/switch/switch.component.d.ts +2 -2
  337. package/table/table-column.component.d.ts +5 -5
  338. package/table/table-skeleton.component.d.ts +2 -2
  339. package/table/table.component.d.ts +10 -10
  340. package/tabs/tab.component.d.ts +1 -1
  341. package/tabs/tabs.component.d.ts +2 -2
  342. package/tag/tag.component.d.ts +1 -1
  343. package/time-picker/time-picker-panel.component.d.ts +2 -2
  344. package/time-picker/time-picker.component.d.ts +5 -5
  345. package/timeline/timeline.component.d.ts +1 -1
  346. package/tooltip/tooltip.directive.d.ts +10 -2
  347. package/tree/tree-node.component.d.ts +20 -5
  348. package/tree/tree.component.d.ts +6 -6
  349. package/tree-select/tree-select.component.d.ts +7 -7
  350. package/upload/file-select.component.d.ts +2 -2
  351. package/vote/vote.component.d.ts +3 -3
  352. package/watermark/watermark.directive.d.ts +1 -1
@@ -1,9 +1,9 @@
1
1
  import { FocusMonitor } from '@angular/cdk/a11y';
2
2
  import { Platform } from '@angular/cdk/platform';
3
- import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, Input, NgZone, Output, ViewContainerRef, booleanAttribute, numberAttribute } from '@angular/core';
3
+ import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, Input, NgZone, Output, ViewContainerRef, numberAttribute } from '@angular/core';
4
4
  import { ThyOverlayDirectiveBase } from 'ngx-tethys/core';
5
5
  import { ThyPopover } from 'ngx-tethys/popover';
6
- import { coerceArray, helpers, isFunction, isTemplateRef } from 'ngx-tethys/util';
6
+ import { coerceArray, coerceBooleanProperty, helpers, isFunction, isTemplateRef } from 'ngx-tethys/util';
7
7
  import { ThyDropdownMenuComponent } from './dropdown-menu.component';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "ngx-tethys/popover";
@@ -147,7 +147,7 @@ export class ThyDropdownDirective extends ThyOverlayDirectiveBase {
147
147
  }, delay);
148
148
  }
149
149
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyDropdownDirective, deps: [{ token: i0.ViewContainerRef }, { token: i1.ThyPopover }, { token: i0.ElementRef }, { token: i2.Platform }, { token: i3.FocusMonitor }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
150
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.2.3", type: ThyDropdownDirective, isStandalone: true, selector: "[thyDropdown]", inputs: { thyDropdownMenu: "thyDropdownMenu", thyDropdown: "thyDropdown", thyTrigger: "thyTrigger", thyShowDelay: ["thyShowDelay", "thyShowDelay", numberAttribute], thyHideDelay: ["thyHideDelay", "thyHideDelay", numberAttribute], thyActiveClass: "thyActiveClass", thyPopoverOptions: "thyPopoverOptions", thyPlacement: "thyPlacement", thyMenuInsideClosable: ["thyMenuInsideClosable", "thyMenuInsideClosable", booleanAttribute], thyPanelClass: "thyPanelClass" }, outputs: { thyActiveChange: "thyActiveChange" }, host: { classAttribute: "thy-dropdown" }, usesInheritance: true, ngImport: i0 }); }
150
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.2.3", type: ThyDropdownDirective, isStandalone: true, selector: "[thyDropdown]", inputs: { thyDropdownMenu: "thyDropdownMenu", thyDropdown: "thyDropdown", thyTrigger: "thyTrigger", thyShowDelay: ["thyShowDelay", "thyShowDelay", numberAttribute], thyHideDelay: ["thyHideDelay", "thyHideDelay", numberAttribute], thyActiveClass: "thyActiveClass", thyPopoverOptions: "thyPopoverOptions", thyPlacement: "thyPlacement", thyMenuInsideClosable: ["thyMenuInsideClosable", "thyMenuInsideClosable", coerceBooleanProperty], thyPanelClass: "thyPanelClass" }, outputs: { thyActiveChange: "thyActiveChange" }, host: { classAttribute: "thy-dropdown" }, usesInheritance: true, ngImport: i0 }); }
151
151
  }
152
152
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyDropdownDirective, decorators: [{
153
153
  type: Directive,
@@ -178,10 +178,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
178
178
  type: Input
179
179
  }], thyMenuInsideClosable: [{
180
180
  type: Input,
181
- args: [{ transform: booleanAttribute }]
181
+ args: [{ transform: coerceBooleanProperty }]
182
182
  }], thyPanelClass: [{
183
183
  type: Input
184
184
  }], thyActiveChange: [{
185
185
  type: Output
186
186
  }] } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Ryb3Bkb3duL2Ryb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixNQUFNLEVBRU4sZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixlQUFlLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBOEIsdUJBQXVCLEVBQW1DLE1BQU0saUJBQWlCLENBQUM7QUFDdkgsT0FBTyxFQUFFLFVBQVUsRUFBbUMsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRixPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7O0FBTXJFOzs7O0dBSUc7QUFRSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0lBUzdEOztPQUVHO0lBQ0gsSUFBYSxlQUFlLENBQUMsSUFBcUI7UUFDOUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBYSxXQUFXLENBQUMsSUFBcUI7UUFDMUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFhLFVBQVUsQ0FBQyxLQUFpQztRQUNyRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQTBCLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7T0FHRztJ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ZixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFVakMsWUFBWTtzQkFEZixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFRNUIsY0FBYztzQkFBdEIsS0FBSztnQkFNRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBTUcsWUFBWTtzQkFBcEIsS0FBSztnQkFNa0MscUJBQXFCO3NCQUE1RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQU16QixhQUFhO3NCQUF6QixLQUFLO2dCQVdJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBDb21wb25lbnRUeXBlLCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIG51bWJlckF0dHJpYnV0ZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudFR5cGVPclRlbXBsYXRlUmVmLCBUaHlPdmVybGF5RGlyZWN0aXZlQmFzZSwgVGh5T3ZlcmxheVRyaWdnZXIsIFRoeVBsYWNlbWVudCB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyLCBUaHlQb3BvdmVyQ29uZmlnLCBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IFNhZmVBbnkgfSBmcm9tICduZ3gtdGV0aHlzL3R5cGVzJztcbmltcG9ydCB7IGNvZXJjZUFycmF5LCBoZWxwZXJzLCBpc0Z1bmN0aW9uLCBpc1RlbXBsYXRlUmVmIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IFRoeURyb3Bkb3duTWVudUNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24tbWVudS5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBUaHlEcm9wZG93blRyaWdnZXIgPSAnY2xpY2snIHwgJ2hvdmVyJztcblxudHlwZSBUaHlEcm9wZG93bk1lbnUgPSBUaHlEcm9wZG93bk1lbnVDb21wb25lbnQgfCBUZW1wbGF0ZVJlZjxTYWZlQW55PiB8IENvbXBvbmVudFR5cGU8U2FmZUFueT47XG5cbi8qKlxuICogdGh5RHJvcGRvd24g6Kem5Y+R5LiL5ouJ6I+c5Y2V5oyH5LukXG4gKiBAbmFtZSB0aHlEcm9wZG93blxuICogQG9yZGVyIDEwXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBgW3RoeURyb3Bkb3duXWAsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1kcm9wZG93bidcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGh5RHJvcGRvd25EaXJlY3RpdmUgZXh0ZW5kcyBUaHlPdmVybGF5RGlyZWN0aXZlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgbWVudSE6IFRoeURyb3Bkb3duTWVudTtcblxuICAgIHByaXZhdGUgcG9wb3ZlclJlZjogVGh5UG9wb3ZlclJlZjx1bmtub3duPjtcblxuICAgIHByaXZhdGUgaW5uZXJQYW5lbENsYXNzTGlzdDogc3RyaW5nW10gPSBbJ3RoeS1kcm9wZG93bi1wYW5lJ107XG5cbiAgICBwb3BvdmVyT3BlbmVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBEcm9wZG93biDkuIvmi4noj5zljZXvvIzmlK/mjIEgdGh5LWRyb3Bkb3duLW1lbnUg57uE5Lu244CBVGVtcGxhdGVSZWYg5ZKM6Ieq5a6a5LmJ6I+c5Y2V57uE5Lu2XG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHRoeURyb3Bkb3duTWVudShtZW51OiBUaHlEcm9wZG93bk1lbnUpIHtcbiAgICAgICAgdGhpcy5tZW51ID0gbWVudTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEcm9wZG93biDkuIvmi4noj5zljZXnu4Tku7bvvIzlkowgdGh5RHJvcGRvd25NZW51IOWPguS4juebuOWQjO+8jOW/q+aNt+S8oOS4i+aLieiPnOWNlee7hOS7tuWPguaVsFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCB0aHlEcm9wZG93bihtZW51OiBUaHlEcm9wZG93bk1lbnUpIHtcbiAgICAgICAgdGhpcy5tZW51ID0gbWVudTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDkuIvmi4noj5zljZXop6blj5HmlrnlvI9cbiAgICAgKiBAdHlwZSAnaG92ZXInIHwgJ2ZvY3VzJyB8ICdjbGljaycgfCBzdHJpbmdcbiAgICAgKiBAZGVmYXVsdCBjbGlja1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCB0aHlUcmlnZ2VyKHZhbHVlOiBUaHlPdmVybGF5VHJpZ2dlciB8IHN0cmluZykge1xuICAgICAgICB0aGlzLnRyaWdnZXIgPSB2YWx1ZSBhcyBUaHlPdmVybGF5VHJpZ2dlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmiZPlvIDlu7bov5/mr6vnp5JcbiAgICAgKiBAZGVmYXVsdCAxMDBcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICAgIHNldCB0aHlTaG93RGVsYXkodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNob3dEZWxheSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWFs+mXreW7tui/n+avq+enklxuICAgICAqIEBkZWZhdWx0IDEwMFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeUhpZGVEZWxheSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuaGlkZURlbGF5ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5by55Ye66I+c5Y2V5ZCO55qE5b2T5YmN6Kem5Y+R5YWD57Sg55qE5r+A5rS75qC35byP57G7XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5QWN0aXZlQ2xhc3M6IHN0cmluZyA9ICd0aHktZHJvcGRvd24tb3JpZ2luLWFjdGl2ZSc7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rmoYbnmoTlj4LmlbDvvIzlupXlsYLkvb/nlKggUG9wb3ZlciDnu4Tku7YsIOm7mOiupOS4umB7IHBsYWNlbWVudDogXCJib3R0b21MZWZ0XCIsIGluc2lkZUNsb3NhYmxlOiB0cnVlLCBtaW5XaWR0aDogXCIyNDBweFwiIH1gXG4gICAgICogQGRlZmF1bHQgeyBwbGFjZW1lbnQ6IFwiYm90dG9tTGVmdFwiLCBpbnNpZGVDbG9zYWJsZTogdHJ1ZSwgbWluV2lkdGg6IFwiMjQwcHhcIiB9XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UG9wb3Zlck9wdGlvbnM6IFBpY2s8VGh5UG9wb3ZlckNvbmZpZywgJ3BsYWNlbWVudCcgfCAnaGVpZ2h0JyB8ICdpbnNpZGVDbG9zYWJsZScgfCAnbWluV2lkdGgnPjtcblxuICAgIC8qKlxuICAgICAqIOW8ueWHuuahhueahOaYvuekuuS9jee9ru+8jOS8muimhuebliB0aHlQb3BvdmVyT3B0aW9ucyDkuK3nmoQgcGxhY2VtZW5077yMYHRvcGAgfCBgdG9wTGVmdGAgfCBgdG9wUmlnaHRgIHwgYGJvdHRvbWAgfCBgYm90dG9tTGVmdGAgfCBgYm90dG9tUmlnaHRgIHwgYGxlZnRgIHwgYGxlZnRUb3BgIHwgYGxlZnRCb3R0b21gIHwgYHJpZ2h0YCB8IGByaWdodFRvcGAgfCBgcmlnaHRCb3R0b21gXG4gICAgICogQGRlZmF1bHQgYm90dG9tTGVmdFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVBsYWNlbWVudDogVGh5UGxhY2VtZW50O1xuXG4gICAgLyoqXG4gICAgICog54K55Ye7IGRyb3Bkb3duLW1lbnUg5YaF6YOo5piv5ZCm5YWz6Zet5by55Ye65qGG77yM5Lya6KaG55uWIHRoeVBvcG92ZXJPcHRpb25zIOS4reeahCBpbnNpZGVDbG9zYWJsZVxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdGh5TWVudUluc2lkZUNsb3NhYmxlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog5by55Ye65qGGIG92ZXJsYXkgcGFuZWwg55qE57G75ZCNXG4gICAgICogQHR5cGUgc3RyaW5nIHwgc3RyaW5nW11cbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgdGh5UGFuZWxDbGFzcyh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICAgICAgdGhpcy5pbm5lclBhbmVsQ2xhc3NMaXN0ID0gdGhpcy5pbm5lclBhbmVsQ2xhc3NMaXN0LmNvbmNhdChjb2VyY2VBcnJheSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIGdldCB0aHlQYW5lbENsYXNzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pbm5lclBhbmVsQ2xhc3NMaXN0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiPnOWNlSBBY3RpdmUg5LqL5Lu277yM5omT5byA6I+c5Y2V6L+U5ZueIHRydWXvvIzlhbPpl63ov5Tlm54gZmFsc2VcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5QWN0aXZlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBwb3BvdmVyOiBUaHlQb3BvdmVyLFxuICAgICAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgICAgIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgICAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIHBsYXRmb3JtLCBmb2N1c01vbml0b3IsIG5nWm9uZSwgdHJ1ZSwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICB9XG5cbiAgICBjcmVhdGVPdmVybGF5KCk6IE92ZXJsYXlSZWYge1xuICAgICAgICBsZXQgY29tcG9uZW50VHlwZU9yVGVtcGxhdGVSZWY6IENvbXBvbmVudFR5cGVPclRlbXBsYXRlUmVmPFNhZmVBbnk+O1xuICAgICAgICBpZiAodGhpcy5tZW51ICYmIHRoaXMubWVudSBpbnN0YW5jZW9mIFRoeURyb3Bkb3duTWVudUNvbXBvbmVudCkge1xuICAgICAgICAgICAgY29tcG9uZW50VHlwZU9yVGVtcGxhdGVSZWYgPSB0aGlzLm1lbnUudGVtcGxhdGVSZWY7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNGdW5jdGlvbih0aGlzLm1lbnUpIHx8IGlzVGVtcGxhdGVSZWYodGhpcy5tZW51KSkge1xuICAgICAgICAgICAgY29tcG9uZW50VHlwZU9yVGVtcGxhdGVSZWYgPSB0aGlzLm1lbnUgYXMgQ29tcG9uZW50VHlwZU9yVGVtcGxhdGVSZWY8U2FmZUFueT47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkge1xuICAgICAgICAgICAgaWYgKCFjb21wb25lbnRUeXBlT3JUZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgdGh5RHJvcGRvd25NZW51IGlzIHJlcXVpcmVkYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IHBsYWNlbWVudCwgaGVpZ2h0LCBpbnNpZGVDbG9zYWJsZSwgbWluV2lkdGggfSA9IE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAgICB7IHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnLCBpbnNpZGVDbG9zYWJsZTogdHJ1ZSB9LFxuICAgICAgICAgICAgdGhpcy50aHlQb3BvdmVyT3B0aW9uc1xuICAgICAgICApO1xuICAgICAgICBjb25zdCBjb25maWc6IFRoeVBvcG92ZXJDb25maWcgPSB7XG4gICAgICAgICAgICBvcmlnaW46IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogdGhpcy50aHlQYW5lbENsYXNzLFxuICAgICAgICAgICAgcGxhY2VtZW50OiB0aGlzLnRoeVBsYWNlbWVudCA/IHRoaXMudGh5UGxhY2VtZW50IDogcGxhY2VtZW50LFxuICAgICAgICAgICAgaGVpZ2h0LFxuICAgICAgICAgICAgb3V0c2lkZUNsb3NhYmxlOiB0cnVlLFxuICAgICAgICAgICAgaW5zaWRlQ2xvc2FibGU6IGhlbHBlcnMuaXNVbmRlZmluZWQodGhpcy50aHlNZW51SW5zaWRlQ2xvc2FibGUpID8gaW5zaWRlQ2xvc2FibGUgOiB0aGlzLnRoeU1lbnVJbnNpZGVDbG9zYWJsZSxcbiAgICAgICAgICAgIG1pbldpZHRoLFxuICAgICAgICAgICAgb3JpZ2luQWN0aXZlQ2xhc3M6IHRoaXMudGh5QWN0aXZlQ2xhc3NcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5wb3BvdmVyUmVmID0gdGhpcy5wb3BvdmVyLm9wZW4oY29tcG9uZW50VHlwZU9yVGVtcGxhdGVSZWYsIGNvbmZpZyk7XG4gICAgICAgIHRoaXMucG9wb3ZlclJlZi5hZnRlck9wZW5lZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRoeUFjdGl2ZUNoYW5nZS5lbWl0KHRydWUpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5wb3BvdmVyUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlck9wZW5lZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy50aHlBY3RpdmVDaGFuZ2UuZW1pdChmYWxzZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnBvcG92ZXJSZWYuZ2V0T3ZlcmxheVJlZigpO1xuICAgIH1cblxuICAgIHNob3coZGVsYXk6IG51bWJlciA9IHRoaXMuc2hvd0RlbGF5KSB7XG4gICAgICAgIGlmICh0aGlzLmhpZGVUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmhpZGVUaW1lb3V0SWQpO1xuICAgICAgICAgICAgdGhpcy5oaWRlVGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8ICh0aGlzLm92ZXJsYXlSZWYgJiYgdGhpcy5vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlciAhPT0gJ2hvdmVyJykge1xuICAgICAgICAgICAgZGVsYXkgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5jcmVhdGVPdmVybGF5KCk7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSBvdmVybGF5UmVmO1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyT3BlbmVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc2hvd1RpbWVvdXRJZCA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9LCBkZWxheSk7XG4gICAgfVxuXG4gICAgaGlkZShkZWxheTogbnVtYmVyID0gdGhpcy5oaWRlRGVsYXkpIHtcbiAgICAgICAgaWYgKHRoaXMuc2hvd1RpbWVvdXRJZCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2hvd1RpbWVvdXRJZCk7XG4gICAgICAgICAgICB0aGlzLnNob3dUaW1lb3V0SWQgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5oaWRlVGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5wb3BvdmVyUmVmKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmhpZGVUaW1lb3V0SWQgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSwgZGVsYXkpO1xuICAgIH1cbn1cbiJdfQ==
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Ryb3Bkb3duL2Ryb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixNQUFNLEVBRU4sZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUE4Qix1QkFBdUIsRUFBbUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2SCxPQUFPLEVBQUUsVUFBVSxFQUFtQyxNQUFNLG9CQUFvQixDQUFDO0FBRWpGLE9BQU8sRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7QUFNckU7Ozs7R0FJRztBQVFILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx1QkFBdUI7SUFTN0Q7O09BRUc7SUFDSCxJQUFhLGVBQWUsQ0FBQyxJQUFxQjtRQUM5QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFhLFdBQVcsQ0FBQyxJQUFxQjtRQUMxQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQWEsVUFBVSxDQUFDLEtBQWlDO1FBQ3JELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBMEIsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7OztPQUdHO0lB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LEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQVVqQyxZQUFZO3NCQURmLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQVE1QixjQUFjO3NCQUF0QixLQUFLO2dCQU1HLGlCQUFpQjtzQkFBekIsS0FBSztnQkFNRyxZQUFZO3NCQUFwQixLQUFLO2dCQU11QyxxQkFBcUI7c0JBQWpFLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBTTlCLGFBQWE7c0JBQXpCLEtBQUs7Z0JBV0ksZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IENvbXBvbmVudFR5cGUsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIG51bWJlckF0dHJpYnV0ZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudFR5cGVPclRlbXBsYXRlUmVmLCBUaHlPdmVybGF5RGlyZWN0aXZlQmFzZSwgVGh5T3ZlcmxheVRyaWdnZXIsIFRoeVBsYWNlbWVudCB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyLCBUaHlQb3BvdmVyQ29uZmlnLCBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IFNhZmVBbnkgfSBmcm9tICduZ3gtdGV0aHlzL3R5cGVzJztcbmltcG9ydCB7IGNvZXJjZUFycmF5LCBjb2VyY2VCb29sZWFuUHJvcGVydHksIGhlbHBlcnMsIGlzRnVuY3Rpb24sIGlzVGVtcGxhdGVSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgVGh5RHJvcGRvd25NZW51Q29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi1tZW51LmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIFRoeURyb3Bkb3duVHJpZ2dlciA9ICdjbGljaycgfCAnaG92ZXInO1xuXG50eXBlIFRoeURyb3Bkb3duTWVudSA9IFRoeURyb3Bkb3duTWVudUNvbXBvbmVudCB8IFRlbXBsYXRlUmVmPFNhZmVBbnk+IHwgQ29tcG9uZW50VHlwZTxTYWZlQW55PjtcblxuLyoqXG4gKiB0aHlEcm9wZG93biDop6blj5HkuIvmi4noj5zljZXmjIfku6RcbiAqIEBuYW1lIHRoeURyb3Bkb3duXG4gKiBAb3JkZXIgMTBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IGBbdGh5RHJvcGRvd25dYCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LWRyb3Bkb3duJ1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaHlEcm9wZG93bkRpcmVjdGl2ZSBleHRlbmRzIFRoeU92ZXJsYXlEaXJlY3RpdmVCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBtZW51ITogVGh5RHJvcGRvd25NZW51O1xuXG4gICAgcHJpdmF0ZSBwb3BvdmVyUmVmOiBUaHlQb3BvdmVyUmVmPHVua25vd24+O1xuXG4gICAgcHJpdmF0ZSBpbm5lclBhbmVsQ2xhc3NMaXN0OiBzdHJpbmdbXSA9IFsndGh5LWRyb3Bkb3duLXBhbmUnXTtcblxuICAgIHBvcG92ZXJPcGVuZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIERyb3Bkb3duIOS4i+aLieiPnOWNle+8jOaUr+aMgSB0aHktZHJvcGRvd24tbWVudSDnu4Tku7bjgIFUZW1wbGF0ZVJlZiDlkozoh6rlrprkuYnoj5zljZXnu4Tku7ZcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgdGh5RHJvcGRvd25NZW51KG1lbnU6IFRoeURyb3Bkb3duTWVudSkge1xuICAgICAgICB0aGlzLm1lbnUgPSBtZW51O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERyb3Bkb3duIOS4i+aLieiPnOWNlee7hOS7tu+8jOWSjCB0aHlEcm9wZG93bk1lbnUg5Y+C5LiO55u45ZCM77yM5b+r5o235Lyg5LiL5ouJ6I+c5Y2V57uE5Lu25Y+C5pWwXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHRoeURyb3Bkb3duKG1lbnU6IFRoeURyb3Bkb3duTWVudSkge1xuICAgICAgICB0aGlzLm1lbnUgPSBtZW51O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOS4i+aLieiPnOWNleinpuWPkeaWueW8j1xuICAgICAqIEB0eXBlICdob3ZlcicgfCAnZm9jdXMnIHwgJ2NsaWNrJyB8IHN0cmluZ1xuICAgICAqIEBkZWZhdWx0IGNsaWNrXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHRoeVRyaWdnZXIodmFsdWU6IFRoeU92ZXJsYXlUcmlnZ2VyIHwgc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudHJpZ2dlciA9IHZhbHVlIGFzIFRoeU92ZXJsYXlUcmlnZ2VyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaJk+W8gOW7tui/n+avq+enklxuICAgICAqIEBkZWZhdWx0IDEwMFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeVNob3dEZWxheSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2hvd0RlbGF5ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5YWz6Zet5bu26L+f5q+r56eSXG4gICAgICogQGRlZmF1bHQgMTAwXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgICBzZXQgdGh5SGlkZURlbGF5KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5oaWRlRGVsYXkgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7roj5zljZXlkI7nmoTlvZPliY3op6blj5HlhYPntKDnmoTmv4DmtLvmoLflvI/nsbtcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlBY3RpdmVDbGFzczogc3RyaW5nID0gJ3RoeS1kcm9wZG93bi1vcmlnaW4tYWN0aXZlJztcblxuICAgIC8qKlxuICAgICAqIOW8ueWHuuahhueahOWPguaVsO+8jOW6leWxguS9v+eUqCBQb3BvdmVyIOe7hOS7tiwg6buY6K6k5Li6YHsgcGxhY2VtZW50OiBcImJvdHRvbUxlZnRcIiwgaW5zaWRlQ2xvc2FibGU6IHRydWUsIG1pbldpZHRoOiBcIjI0MHB4XCIgfWBcbiAgICAgKiBAZGVmYXVsdCB7IHBsYWNlbWVudDogXCJib3R0b21MZWZ0XCIsIGluc2lkZUNsb3NhYmxlOiB0cnVlLCBtaW5XaWR0aDogXCIyNDBweFwiIH1cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlQb3BvdmVyT3B0aW9uczogUGljazxUaHlQb3BvdmVyQ29uZmlnLCAncGxhY2VtZW50JyB8ICdoZWlnaHQnIHwgJ2luc2lkZUNsb3NhYmxlJyB8ICdtaW5XaWR0aCc+O1xuXG4gICAgLyoqXG4gICAgICog5by55Ye65qGG55qE5pi+56S65L2N572u77yM5Lya6KaG55uWIHRoeVBvcG92ZXJPcHRpb25zIOS4reeahCBwbGFjZW1lbnTvvIxgdG9wYCB8IGB0b3BMZWZ0YCB8IGB0b3BSaWdodGAgfCBgYm90dG9tYCB8IGBib3R0b21MZWZ0YCB8IGBib3R0b21SaWdodGAgfCBgbGVmdGAgfCBgbGVmdFRvcGAgfCBgbGVmdEJvdHRvbWAgfCBgcmlnaHRgIHwgYHJpZ2h0VG9wYCB8IGByaWdodEJvdHRvbWBcbiAgICAgKiBAZGVmYXVsdCBib3R0b21MZWZ0XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UGxhY2VtZW50OiBUaHlQbGFjZW1lbnQ7XG5cbiAgICAvKipcbiAgICAgKiDngrnlh7sgZHJvcGRvd24tbWVudSDlhoXpg6jmmK/lkKblhbPpl63lvLnlh7rmoYbvvIzkvJropobnm5YgdGh5UG9wb3Zlck9wdGlvbnMg5Lit55qEIGluc2lkZUNsb3NhYmxlXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeU1lbnVJbnNpZGVDbG9zYWJsZTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOW8ueWHuuahhiBvdmVybGF5IHBhbmVsIOeahOexu+WQjVxuICAgICAqIEB0eXBlIHN0cmluZyB8IHN0cmluZ1tdXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHRoeVBhbmVsQ2xhc3ModmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgICAgIHRoaXMuaW5uZXJQYW5lbENsYXNzTGlzdCA9IHRoaXMuaW5uZXJQYW5lbENsYXNzTGlzdC5jb25jYXQoY29lcmNlQXJyYXkodmFsdWUpKTtcbiAgICB9XG5cbiAgICBnZXQgdGh5UGFuZWxDbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5uZXJQYW5lbENsYXNzTGlzdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDoj5zljZUgQWN0aXZlIOS6i+S7tu+8jOaJk+W8gOiPnOWNlei/lOWbniB0cnVl77yM5YWz6Zet6L+U5ZueIGZhbHNlXG4gICAgICovXG4gICAgQE91dHB1dCgpIHRoeUFjdGl2ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgcG9wb3ZlcjogVGh5UG9wb3ZlcixcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICAgICBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICAgICAgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCBwbGF0Zm9ybSwgZm9jdXNNb25pdG9yLCBuZ1pvbmUsIHRydWUsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfVxuXG4gICAgY3JlYXRlT3ZlcmxheSgpOiBPdmVybGF5UmVmIHtcbiAgICAgICAgbGV0IGNvbXBvbmVudFR5cGVPclRlbXBsYXRlUmVmOiBDb21wb25lbnRUeXBlT3JUZW1wbGF0ZVJlZjxTYWZlQW55PjtcbiAgICAgICAgaWYgKHRoaXMubWVudSAmJiB0aGlzLm1lbnUgaW5zdGFuY2VvZiBUaHlEcm9wZG93bk1lbnVDb21wb25lbnQpIHtcbiAgICAgICAgICAgIGNvbXBvbmVudFR5cGVPclRlbXBsYXRlUmVmID0gdGhpcy5tZW51LnRlbXBsYXRlUmVmO1xuICAgICAgICB9IGVsc2UgaWYgKGlzRnVuY3Rpb24odGhpcy5tZW51KSB8fCBpc1RlbXBsYXRlUmVmKHRoaXMubWVudSkpIHtcbiAgICAgICAgICAgIGNvbXBvbmVudFR5cGVPclRlbXBsYXRlUmVmID0gdGhpcy5tZW51IGFzIENvbXBvbmVudFR5cGVPclRlbXBsYXRlUmVmPFNhZmVBbnk+O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpIHtcbiAgICAgICAgICAgIGlmICghY29tcG9uZW50VHlwZU9yVGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHRoeURyb3Bkb3duTWVudSBpcyByZXF1aXJlZGApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBwbGFjZW1lbnQsIGhlaWdodCwgaW5zaWRlQ2xvc2FibGUsIG1pbldpZHRoIH0gPSBPYmplY3QuYXNzaWduKFxuICAgICAgICAgICAgeyBwbGFjZW1lbnQ6ICdib3R0b21MZWZ0JywgaW5zaWRlQ2xvc2FibGU6IHRydWUgfSxcbiAgICAgICAgICAgIHRoaXMudGh5UG9wb3Zlck9wdGlvbnNcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnID0ge1xuICAgICAgICAgICAgb3JpZ2luOiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6IHRoaXMudGh5UGFuZWxDbGFzcyxcbiAgICAgICAgICAgIHBsYWNlbWVudDogdGhpcy50aHlQbGFjZW1lbnQgPyB0aGlzLnRoeVBsYWNlbWVudCA6IHBsYWNlbWVudCxcbiAgICAgICAgICAgIGhlaWdodCxcbiAgICAgICAgICAgIG91dHNpZGVDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGluc2lkZUNsb3NhYmxlOiBoZWxwZXJzLmlzVW5kZWZpbmVkKHRoaXMudGh5TWVudUluc2lkZUNsb3NhYmxlKSA/IGluc2lkZUNsb3NhYmxlIDogdGhpcy50aHlNZW51SW5zaWRlQ2xvc2FibGUsXG4gICAgICAgICAgICBtaW5XaWR0aCxcbiAgICAgICAgICAgIG9yaWdpbkFjdGl2ZUNsYXNzOiB0aGlzLnRoeUFjdGl2ZUNsYXNzXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMucG9wb3ZlclJlZiA9IHRoaXMucG9wb3Zlci5vcGVuKGNvbXBvbmVudFR5cGVPclRlbXBsYXRlUmVmLCBjb25maWcpO1xuICAgICAgICB0aGlzLnBvcG92ZXJSZWYuYWZ0ZXJPcGVuZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50aHlBY3RpdmVDaGFuZ2UuZW1pdCh0cnVlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucG9wb3ZlclJlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXJPcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMudGh5QWN0aXZlQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5wb3BvdmVyUmVmLmdldE92ZXJsYXlSZWYoKTtcbiAgICB9XG5cbiAgICBzaG93KGRlbGF5OiBudW1iZXIgPSB0aGlzLnNob3dEZWxheSkge1xuICAgICAgICBpZiAodGhpcy5oaWRlVGltZW91dElkKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5oaWRlVGltZW91dElkKTtcbiAgICAgICAgICAgIHRoaXMuaGlkZVRpbWVvdXRJZCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCAodGhpcy5vdmVybGF5UmVmICYmIHRoaXMub3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnRyaWdnZXIgIT09ICdob3ZlcicpIHtcbiAgICAgICAgICAgIGRlbGF5ID0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2hvd1RpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gb3ZlcmxheVJlZjtcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlck9wZW5lZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnNob3dUaW1lb3V0SWQgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSwgZGVsYXkpO1xuICAgIH1cblxuICAgIGhpZGUoZGVsYXk6IG51bWJlciA9IHRoaXMuaGlkZURlbGF5KSB7XG4gICAgICAgIGlmICh0aGlzLnNob3dUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNob3dUaW1lb3V0SWQpO1xuICAgICAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaGlkZVRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucG9wb3ZlclJlZikge1xuICAgICAgICAgICAgICAgIHRoaXMucG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5oaWRlVGltZW91dElkID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0sIGRlbGF5KTtcbiAgICB9XG59XG4iXX0=
@@ -1,11 +1,12 @@
1
1
  import { ThyTranslate } from 'ngx-tethys/core';
2
2
  import { useHostRenderer } from '@tethys/cdk/dom';
3
- import { Component, ContentChild, ElementRef, Input, NgZone, TemplateRef, booleanAttribute } from '@angular/core';
3
+ import { Component, ContentChild, ElementRef, Input, NgZone, TemplateRef } from '@angular/core';
4
4
  import { ThyEmptyConfig } from './empty.config';
5
5
  import { PRESET_SVG } from './svgs';
6
6
  import { DomSanitizer } from '@angular/platform-browser';
7
7
  import { ThyIcon } from 'ngx-tethys/icon';
8
8
  import { NgIf, NgClass, NgTemplateOutlet } from '@angular/common';
9
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "ngx-tethys/core";
11
12
  import * as i2 from "./empty.config";
@@ -139,7 +140,7 @@ export class ThyEmpty {
139
140
  this.presetSvg = presetSvg ? this.sanitizer.bypassSecurityTrustHtml(presetSvg) : '';
140
141
  }
141
142
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyEmpty, deps: [{ token: i1.ThyTranslate }, { token: i2.ThyEmptyConfig }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
142
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyEmpty, isStandalone: true, selector: "thy-empty", inputs: { thyMessage: "thyMessage", thyTranslationKey: "thyTranslationKey", thyTranslationValues: "thyTranslationValues", thyEntityName: "thyEntityName", thyEntityNameTranslateKey: "thyEntityNameTranslateKey", thyIconName: "thyIconName", thySize: "thySize", thyMarginTop: "thyMarginTop", thyTopAuto: ["thyTopAuto", "thyTopAuto", booleanAttribute], thyContainer: "thyContainer", thyImageUrl: "thyImageUrl", thyImageLoading: "thyImageLoading", thyImageFetchPriority: "thyImageFetchPriority", thyDescription: "thyDescription" }, queries: [{ propertyName: "extraTemplateRef", first: true, predicate: ["extra"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-empty-icon\">\n <img\n *ngIf=\"thyImageUrl; else icon\"\n [src]=\"thyImageUrl\"\n [attr.loading]=\"thyImageLoading\"\n [attr.fetchpriority]=\"thyImageFetchPriority\"\n class=\"empty-img\"\n />\n <ng-template #icon>\n <div *ngIf=\"presetSvg; else thyIcon\" [innerHTML]=\"presetSvg\"></div>\n <ng-template #thyIcon>\n <thy-icon class=\"empty-icon\" *ngIf=\"thyIconName\" [thyIconName]=\"thyIconName\"></thy-icon>\n </ng-template>\n </ng-template>\n</div>\n\n<div [ngClass]=\"{ 'thy-empty-text': !thyDescription, 'thy-empty-text-with-extra': thyDescription }\">\n {{ displayText }}\n</div>\n\n<div class=\"thy-empty-description\" *ngIf=\"thyDescription\">\n {{ thyDescription }}\n</div>\n\n<div class=\"thy-empty-extra\" *ngIf=\"extraTemplateRef\">\n <ng-template [ngTemplateOutlet]=\"extraTemplateRef\"></ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }] }); }
143
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyEmpty, isStandalone: true, selector: "thy-empty", inputs: { thyMessage: "thyMessage", thyTranslationKey: "thyTranslationKey", thyTranslationValues: "thyTranslationValues", thyEntityName: "thyEntityName", thyEntityNameTranslateKey: "thyEntityNameTranslateKey", thyIconName: "thyIconName", thySize: "thySize", thyMarginTop: "thyMarginTop", thyTopAuto: ["thyTopAuto", "thyTopAuto", coerceBooleanProperty], thyContainer: "thyContainer", thyImageUrl: "thyImageUrl", thyImageLoading: "thyImageLoading", thyImageFetchPriority: "thyImageFetchPriority", thyDescription: "thyDescription" }, queries: [{ propertyName: "extraTemplateRef", first: true, predicate: ["extra"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-empty-icon\">\n <img\n *ngIf=\"thyImageUrl; else icon\"\n [src]=\"thyImageUrl\"\n [attr.loading]=\"thyImageLoading\"\n [attr.fetchpriority]=\"thyImageFetchPriority\"\n class=\"empty-img\"\n />\n <ng-template #icon>\n <div *ngIf=\"presetSvg; else thyIcon\" [innerHTML]=\"presetSvg\"></div>\n <ng-template #thyIcon>\n <thy-icon class=\"empty-icon\" *ngIf=\"thyIconName\" [thyIconName]=\"thyIconName\"></thy-icon>\n </ng-template>\n </ng-template>\n</div>\n\n<div [ngClass]=\"{ 'thy-empty-text': !thyDescription, 'thy-empty-text-with-extra': thyDescription }\">\n {{ displayText }}\n</div>\n\n<div class=\"thy-empty-description\" *ngIf=\"thyDescription\">\n {{ thyDescription }}\n</div>\n\n<div class=\"thy-empty-extra\" *ngIf=\"extraTemplateRef\">\n <ng-template [ngTemplateOutlet]=\"extraTemplateRef\"></ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }] }); }
143
144
  }
144
145
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyEmpty, decorators: [{
145
146
  type: Component,
@@ -162,7 +163,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
162
163
  type: Input
163
164
  }], thyTopAuto: [{
164
165
  type: Input,
165
- args: [{ transform: booleanAttribute }]
166
+ args: [{ transform: coerceBooleanProperty }]
166
167
  }], thyContainer: [{
167
168
  type: Input
168
169
  }], thyImageUrl: [{
@@ -177,4 +178,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
177
178
  type: ContentChild,
178
179
  args: ['extra']
179
180
  }] } });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VtcHR5L2VtcHR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbXB0eS9lbXB0eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFFSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFFVixLQUFLLEVBQ0wsTUFBTSxFQUVOLFdBQVcsRUFFWCxnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUVsRSxNQUFNLFlBQVksR0FBRztJQUNqQixFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxxQkFBcUIsQ0FBQztJQUM5QyxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztJQUN2QixFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxxQkFBcUIsQ0FBQztDQUNqRCxDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUc7SUFDWixFQUFFLEVBQUU7UUFDQSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVM7UUFDdEIsU0FBUyxFQUFFLEVBQUUsRUFBRSw4QkFBOEI7UUFDN0MsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtLQUMz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Ryx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFRRixPQUFPO3NCQURWLEtBQUs7Z0JBV0csWUFBWTtzQkFBcEIsS0FBSztnQkFNa0MsVUFBVTtzQkFBakQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFLN0IsWUFBWTtzQkFBcEIsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcscUJBQXFCO3NCQUE3QixLQUFLO2dCQUtHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBY2lCLGdCQUFnQjtzQkFBdEMsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGh5VHJhbnNsYXRlIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IHVzZUhvc3RSZW5kZXJlciB9IGZyb20gJ0B0ZXRoeXMvY2RrL2RvbSc7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25Jbml0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVGh5RW1wdHlDb25maWcgfSBmcm9tICcuL2VtcHR5LmNvbmZpZyc7XG5pbXBvcnQgeyBQUkVTRVRfU1ZHIH0gZnJvbSAnLi9zdmdzJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgU2FmZUFueSB9IGZyb20gJ25neC10ZXRoeXMvdHlwZXMnO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ0lmLCBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuY29uc3Qgc2l6ZUNsYXNzTWFwID0ge1xuICAgIGxnOiBbJ3RoeS1lbXB0eS1zdGF0ZScsICd0aHktZW1wdHktc3RhdGUtLWxnJ10sXG4gICAgbWQ6IFsndGh5LWVtcHR5LXN0YXRlJ10sXG4gICAgc206IFsndGh5LWVtcHR5LXN0YXRlJywgJ3RoeS1lbXB0eS1zdGF0ZS0tc20nXVxufTtcblxuY29uc3Qgc2l6ZU1hcCA9IHtcbiAgICBsZzoge1xuICAgICAgICBoZWlnaHQ6IDE2OCwgLy8g56m65o+Q56S655qE6auY5bqmXG4gICAgICAgIG9mZnNldFRvcDogMzAsIC8vIOepuuaPkOekuuWbvuagh+WSjOWkp+Wwj+S5i+mXtOeahOepuueZvei3neemu++8jOmcgOimgemZpOWOu++8jOWQpuWImeS8muS4jeWxheS4rVxuICAgICAgICBkZWZhdWx0TWFyZ2luVG9wOiAxMjAgLy8g5LiN6Ieq5Yqo6K6h566X6buY6K6k55qEIHRvcCDot53nprtcbiAgICB9LFxuICAgIG1kOiB7XG4gICAgICAgIGhlaWdodDogMTE4LFxuICAgICAgICBvZmZzZXRUb3A6IDIwLFxuICAgICAgICBkZWZhdWx0TWFyZ2luVG9wOiAxMFxuICAgIH0sXG4gICAgc206IHtcbiAgICAgICAgaGVpZ2h0OiA3OCxcbiAgICAgICAgb2Zmc2V0VG9wOiAxMCxcbiAgICAgICAgZGVmYXVsdE1hcmdpblRvcDogMTBcbiAgICB9XG59O1xuXG4vKiogaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvZW1iZWRkZWQtY29udGVudC5odG1sI2F0dHItaW1nLWxvYWRpbmcgKi9cbmV4cG9ydCB0eXBlIFRoeUVtcHR5SW1hZ2VMb2FkaW5nID0gJ2VhZ2VyJyB8ICdsYXp5JztcblxuLyoqIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vcHJpb3JpdHktaGludHMvI2lkbC1pbmRleCAqL1xuZXhwb3J0IHR5cGUgVGh5RW1wdHlJbWFnZUZldGNoUHJpb3JpdHkgPSAnaGlnaCcgfCAnbG93JyB8ICdhdXRvJztcblxuLyoqXG4gKiDnqbrpobXpnaLnu4Tku7ZcbiAqIEBuYW1lIHRoeS1lbXB0eVxuICogQG9yZGVyIDEwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWVtcHR5JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZW1wdHkuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIFRoeUljb24sIE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXRdXG59KVxuZXhwb3J0IGNsYXNzIFRoeUVtcHR5IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICAgIC8qKlxuICAgICAqIOaYvuekuuaWh+acrOaPkOekuuS/oeaBr+OAguWQjOaXtuS8oOWFpSB0aHlNZXNzYWdl77yMdGh5VHJhbnNsYXRpb25LZXnvvIx0aHlFbnRpdHlOYW1l77yMdGh5RW50aXR5TmFtZVRyYW5zbGF0ZUtleSDml7bkvJjlhYjnuqfmnIDpq5hcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlNZXNzYWdlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDmmL7npLrmlofmnKzmj5DnpLrkv6Hmga/lpJror63oqIAgS2V544CC5ZCM5pe25Lyg5YWlIHRoeVRyYW5zbGF0aW9uS2V577yMdGh5RW50aXR5TmFtZe+8jHRoeUVudGl0eU5hbWVUcmFuc2xhdGVLZXkg5pe25LyY5YWI57qn5pyA6auYXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5VHJhbnNsYXRpb25LZXk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOaYvuekuuaWh+acrOaPkOekuuS/oeaBr+WkmuivreiogCBLZXkg55qEIFZhbHVlc+OAguS8oOWFpSB0aHlUcmFuc2xhdGlvbktleSDlkI7vvIzkvKDlhaXov5nkuKrmiY3kvJrnlJ/mlYhcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlUcmFuc2xhdGlvblZhbHVlczogYW55O1xuXG4gICAgLyoqXG4gICAgICog5pi+56S66buY6K6k5o+Q56S65L+h5oGv77yM5pu/5o2i6buY6K6k5o+Q56S65L+h5oGv55qE55uu5qCH5a+56LGh77yM5q+U5aaC77ya5rKh5pyJIHt0aHlFbnRpdHlOYW1lfeOAguWQjOaXtuS8oOWFpSB0aHlFbnRpdHlOYW1l77yMdGh5RW50aXR5TmFtZVRyYW5zbGF0ZUtleSDml7bkvJjlhYjnuqfovoPpq5hcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlFbnRpdHlOYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiB0aHlFbnRpdHlOYW1lIOeahOWkmuivreiogCBLZXnjgIJ0aHlNZXNzYWdl77yMdGh5VHJhbnNsYXRpb25LZXnvvIx0aHlFbnRpdHlOYW1lIOWdh+acquS8oOWFpeaXtuaJjeS8mueUn+aViFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUVudGl0eU5hbWVUcmFuc2xhdGVLZXk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOaPkOekuuWbvuagh+WQjVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUljb25OYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlpKflsI9cbiAgICAgKiBAdHlwZSBzbSB8IG1kIHwgbGdcbiAgICAgKiBAZGVmYXVsdCBtZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVNpemUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNpemUgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuX2luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDot53kuIrot53nprtcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlNYXJnaW5Ub3A6IG51bWJlciB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuiHquWKqOagueaNrueItuWuueWZqOiuoeeul+mrmOW6pu+8jOWeguebtOWxheS4rVxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHRoeVRvcEF1dG86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDoh6rliqjorqHnrpfpq5jluqblnoLnm7TlsYXkuK0o5Y2zIHRoeVRvcEF1dG8g5Li6IHRydWUp5pe277yM5pSv5oyB5Lyg5YWl6Ieq5a6a5LmJ54i25a655ZmoXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5Q29udGFpbmVyOiBFbGVtZW50UmVmO1xuXG4gICAgLyoqXG4gICAgICog5o+Q56S65Zu+54mH6ZO+5o6lXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5SW1hZ2VVcmw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHRoeUltYWdlTG9hZGluZz86IFRoeUVtcHR5SW1hZ2VMb2FkaW5nO1xuXG4gICAgQElucHV0KCkgdGh5SW1hZ2VGZXRjaFByaW9yaXR5PzogVGh5RW1wdHlJbWFnZUZldGNoUHJpb3JpdHk7XG5cbiAgICAvKipcbiAgICAgKiDmmL7npLrmlofmnKzmj4/ov7BcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlEZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBzaXplOiBzdHJpbmcgPSAnbWQnO1xuXG4gICAgcHJpdmF0ZSBfaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICBwcmVzZXRTdmc6IFNhZmVBbnk7XG5cbiAgICAvKipcbiAgICAgKiDpmaTmj5DnpLrlm77niYfvvIzmlofmnKzlpJbnmoTlhbbku5bkv6Hmga/kvKDlhaXmqKHmnb9cbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2V4dHJhJykgZXh0cmFUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGdldCBkaXNwbGF5VGV4dCgpIHtcbiAgICAgICAgaWYgKHRoaXMudGh5TWVzc2FnZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudGh5TWVzc2FnZTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnRoeVRyYW5zbGF0aW9uS2V5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50aHlUcmFuc2xhdGUuaW5zdGFudCh0aGlzLnRoeVRyYW5zbGF0aW9uS2V5LCB0aGlzLnRoeVRyYW5zbGF0aW9uVmFsdWVzKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnRoeUVudGl0eU5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRoeVRyYW5zbGF0ZS5pbnN0YW50KHRoaXMudGh5RW1wdHlDb25maWcubm9SZXN1bHRXaXRoVGFyZ2V0VHJhbnNsYXRlS2V5LCB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0OiB0aGlzLnRoeUVudGl0eU5hbWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudGh5RW50aXR5TmFtZVRyYW5zbGF0ZUtleSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudGh5VHJhbnNsYXRlLmluc3RhbnQodGhpcy50aHlFbXB0eUNvbmZpZy5ub1Jlc3VsdFdpdGhUYXJnZXRUcmFuc2xhdGVLZXksIHtcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IHRoaXMudGh5VHJhbnNsYXRlLmluc3RhbnQodGhpcy50aHlFbnRpdHlOYW1lVHJhbnNsYXRlS2V5KVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50aHlUcmFuc2xhdGUuaW5zdGFudCh0aGlzLnRoeUVtcHR5Q29uZmlnLm5vUmVzdWx0VHJhbnNsYXRlS2V5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NhbGN1bGF0ZVBvc2l0aW9uKCkge1xuICAgICAgICBjb25zdCBzaXplT3B0aW9ucyA9IHNpemVNYXBbdGhpcy50aHlTaXplIHx8ICdtZCddO1xuICAgICAgICBsZXQgbWFyZ2luVG9wID0gbnVsbDtcbiAgICAgICAgaWYgKHRoaXMudGh5VG9wQXV0bykge1xuICAgICAgICAgICAgLy8g6YCJ5oup5Y+C6ICD54i25a655Zmo5bGF5LitXG4gICAgICAgICAgICBjb25zdCBjb250YWluZXJFbGVtZW50ID0gdGhpcy50aHlDb250YWluZXIgPyB0aGlzLnRoeUNvbnRhaW5lci5uYXRpdmVFbGVtZW50IDogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgICAgICAgIC8vIGNvbnRhaW5lckVsZW1lbnQuaGVpZ2h0O1xuICAgICAgICAgICAgbGV0IGVtcHR5U3RhdGVIZWlnaHQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgICAgICAvLyDpq5jluqbmsqHmnInoh6rliqjorqHnrpflh7rmnaXkvb/nlKjpu5jorqTlgLxcbiAgICAgICAgICAgIGlmIChlbXB0eVN0YXRlSGVpZ2h0IDw9IDEwKSB7XG4gICAgICAgICAgICAgICAgZW1wdHlTdGF0ZUhlaWdodCA9IHNpemVPcHRpb25zLmhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1hcmdpblRvcCA9IChjb250YWluZXJFbGVtZW50Lm9mZnNldEhlaWdodCAtIGVtcHR5U3RhdGVIZWlnaHQpIC8gMiAtIHNpemVPcHRpb25zLm9mZnNldFRvcDtcbiAgICAgICAgICAgIC8vIG1hcmdpblRvcCA9IChjb250YWluZXJFbGVtZW50Lm9mZnNldEhlaWdodCAtIGVtcHR5U3RhdGVIZWlnaHQpIC8gMjtcbiAgICAgICAgICAgIGlmIChtYXJnaW5Ub3AgPCAwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luVG9wID0gMDsgLy8gc2l6ZU9wdGlvbnMuZGVmYXVsdE1hcmdpblRvcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeU1hcmdpblRvcCkge1xuICAgICAgICAgICAgICAgIG1hcmdpblRvcCA9IHRoaXMudGh5TWFyZ2luVG9wO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW5Ub3AgPSAwOyAvLyBzaXplT3B0aW9ucy5kZWZhdWx0TWFyZ2luVG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChtYXJnaW5Ub3ApIHtcbiAgICAgICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnNldFN0eWxlKCdtYXJnaW5Ub3AnLCBtYXJnaW5Ub3AgKyAncHgnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRoeVRyYW5zbGF0ZTogVGh5VHJhbnNsYXRlLFxuICAgICAgICBwcml2YXRlIHRoeUVtcHR5Q29uZmlnOiBUaHlFbXB0eUNvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlQ2xhc3MoKTtcbiAgICAgICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnNldFByZXNldFN2Zyh0aGlzLnRoeUljb25OYW1lKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDbGFzcygpIHtcbiAgICAgICAgY29uc3QgY2xhc3NMaXN0ID0gc2l6ZUNsYXNzTWFwW3RoaXMuc2l6ZV0gfHwgc2l6ZUNsYXNzTWFwWydtZCddO1xuICAgICAgICBpZiAoY2xhc3NMaXN0KSB7XG4gICAgICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzcyhjbGFzc0xpc3QpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jYWxjdWxhdGVQb3NpdGlvbigpO1xuICAgICAgICAgICAgfSwgNTApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnRoeUljb25OYW1lICYmIGNoYW5nZXMudGh5SWNvbk5hbWUuY3VycmVudFZhbHVlICYmICFjaGFuZ2VzLnRoeUljb25OYW1lLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnNldFByZXNldFN2ZyhjaGFuZ2VzLnRoeUljb25OYW1lLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRQcmVzZXRTdmcoaWNvbjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMucHJlc2V0U3ZnID0gJyc7XG4gICAgICAgIGxldCBwcmVzZXRTdmcgPSBpY29uID8gUFJFU0VUX1NWR1tpY29uXSA6IFBSRVNFVF9TVkcuZGVmYXVsdDtcblxuICAgICAgICB0aGlzLnByZXNldFN2ZyA9IHByZXNldFN2ZyA/IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHByZXNldFN2ZykgOiAnJztcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGh5LWVtcHR5LWljb25cIj5cbiAgPGltZ1xuICAgICpuZ0lmPVwidGh5SW1hZ2VVcmw7IGVsc2UgaWNvblwiXG4gICAgW3NyY109XCJ0aHlJbWFnZVVybFwiXG4gICAgW2F0dHIubG9hZGluZ109XCJ0aHlJbWFnZUxvYWRpbmdcIlxuICAgIFthdHRyLmZldGNocHJpb3JpdHldPVwidGh5SW1hZ2VGZXRjaFByaW9yaXR5XCJcbiAgICBjbGFzcz1cImVtcHR5LWltZ1wiXG4gIC8+XG4gIDxuZy10ZW1wbGF0ZSAjaWNvbj5cbiAgICA8ZGl2ICpuZ0lmPVwicHJlc2V0U3ZnOyBlbHNlIHRoeUljb25cIiBbaW5uZXJIVE1MXT1cInByZXNldFN2Z1wiPjwvZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSAjdGh5SWNvbj5cbiAgICAgIDx0aHktaWNvbiBjbGFzcz1cImVtcHR5LWljb25cIiAqbmdJZj1cInRoeUljb25OYW1lXCIgW3RoeUljb25OYW1lXT1cInRoeUljb25OYW1lXCI+PC90aHktaWNvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG5cbjxkaXYgW25nQ2xhc3NdPVwieyAndGh5LWVtcHR5LXRleHQnOiAhdGh5RGVzY3JpcHRpb24sICd0aHktZW1wdHktdGV4dC13aXRoLWV4dHJhJzogdGh5RGVzY3JpcHRpb24gfVwiPlxuICB7eyBkaXNwbGF5VGV4dCB9fVxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJ0aHktZW1wdHktZGVzY3JpcHRpb25cIiAqbmdJZj1cInRoeURlc2NyaXB0aW9uXCI+XG4gIHt7IHRoeURlc2NyaXB0aW9uIH19XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInRoeS1lbXB0eS1leHRyYVwiICpuZ0lmPVwiZXh0cmFUZW1wbGF0ZVJlZlwiPlxuICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiZXh0cmFUZW1wbGF0ZVJlZlwiPjwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VtcHR5L2VtcHR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbXB0eS9lbXB0eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFFSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFFVixLQUFLLEVBQ0wsTUFBTSxFQUVOLFdBQVcsRUFFZCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBRXhELE1BQU0sWUFBWSxHQUFHO0lBQ2pCLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLHFCQUFxQixDQUFDO0lBQzlDLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDO0lBQ3ZCLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLHFCQUFxQixDQUFDO0NBQ2pELENBQUM7QUFFRixNQUFNLE9BQU8sR0FBRztJQUNaLEVBQUUsRUFBRTtRQUNBLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUztRQUN0QixTQUFTLEVBQUUsRUFBRSxFQUFFLDhCQUE4QjtRQUM3Qyxn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S0FBSztnQkFLRyxhQUFhO3NCQUFyQixLQUFLO2dCQUtHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQVFGLE9BQU87c0JBRFYsS0FBSztnQkFXRyxZQUFZO3NCQUFwQixLQUFLO2dCQU11QyxVQUFVO3NCQUF0RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQUtsQyxZQUFZO3NCQUFwQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFFRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSztnQkFjaUIsZ0JBQWdCO3NCQUF0QyxZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaHlUcmFuc2xhdGUgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgT25DaGFuZ2VzLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkluaXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVGh5RW1wdHlDb25maWcgfSBmcm9tICcuL2VtcHR5LmNvbmZpZyc7XG5pbXBvcnQgeyBQUkVTRVRfU1ZHIH0gZnJvbSAnLi9zdmdzJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgU2FmZUFueSB9IGZyb20gJ25neC10ZXRoeXMvdHlwZXMnO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ0lmLCBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbmNvbnN0IHNpemVDbGFzc01hcCA9IHtcbiAgICBsZzogWyd0aHktZW1wdHktc3RhdGUnLCAndGh5LWVtcHR5LXN0YXRlLS1sZyddLFxuICAgIG1kOiBbJ3RoeS1lbXB0eS1zdGF0ZSddLFxuICAgIHNtOiBbJ3RoeS1lbXB0eS1zdGF0ZScsICd0aHktZW1wdHktc3RhdGUtLXNtJ11cbn07XG5cbmNvbnN0IHNpemVNYXAgPSB7XG4gICAgbGc6IHtcbiAgICAgICAgaGVpZ2h0OiAxNjgsIC8vIOepuuaPkOekuueahOmrmOW6plxuICAgICAgICBvZmZzZXRUb3A6IDMwLCAvLyDnqbrmj5DnpLrlm77moIflkozlpKflsI/kuYvpl7TnmoTnqbrnmb3ot53nprvvvIzpnIDopoHpmaTljrvvvIzlkKbliJnkvJrkuI3lsYXkuK1cbiAgICAgICAgZGVmYXVsdE1hcmdpblRvcDogMTIwIC8vIOS4jeiHquWKqOiuoeeul+m7mOiupOeahCB0b3Ag6Led56a7XG4gICAgfSxcbiAgICBtZDoge1xuICAgICAgICBoZWlnaHQ6IDExOCxcbiAgICAgICAgb2Zmc2V0VG9wOiAyMCxcbiAgICAgICAgZGVmYXVsdE1hcmdpblRvcDogMTBcbiAgICB9LFxuICAgIHNtOiB7XG4gICAgICAgIGhlaWdodDogNzgsXG4gICAgICAgIG9mZnNldFRvcDogMTAsXG4gICAgICAgIGRlZmF1bHRNYXJnaW5Ub3A6IDEwXG4gICAgfVxufTtcblxuLyoqIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2VtYmVkZGVkLWNvbnRlbnQuaHRtbCNhdHRyLWltZy1sb2FkaW5nICovXG5leHBvcnQgdHlwZSBUaHlFbXB0eUltYWdlTG9hZGluZyA9ICdlYWdlcicgfCAnbGF6eSc7XG5cbi8qKiBodHRwczovL3dpY2cuZ2l0aHViLmlvL3ByaW9yaXR5LWhpbnRzLyNpZGwtaW5kZXggKi9cbmV4cG9ydCB0eXBlIFRoeUVtcHR5SW1hZ2VGZXRjaFByaW9yaXR5ID0gJ2hpZ2gnIHwgJ2xvdycgfCAnYXV0byc7XG5cbi8qKlxuICog56m66aG16Z2i57uE5Lu2XG4gKiBAbmFtZSB0aHktZW1wdHlcbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1lbXB0eScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VtcHR5LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBUaHlJY29uLCBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlFbXB0eSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcbiAgICAvKipcbiAgICAgKiDmmL7npLrmlofmnKzmj5DnpLrkv6Hmga/jgILlkIzml7bkvKDlhaUgdGh5TWVzc2FnZe+8jHRoeVRyYW5zbGF0aW9uS2V577yMdGh5RW50aXR5TmFtZe+8jHRoeUVudGl0eU5hbWVUcmFuc2xhdGVLZXkg5pe25LyY5YWI57qn5pyA6auYXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5TWVzc2FnZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5pi+56S65paH5pys5o+Q56S65L+h5oGv5aSa6K+t6KiAIEtleeOAguWQjOaXtuS8oOWFpSB0aHlUcmFuc2xhdGlvbktlee+8jHRoeUVudGl0eU5hbWXvvIx0aHlFbnRpdHlOYW1lVHJhbnNsYXRlS2V5IOaXtuS8mOWFiOe6p+acgOmrmFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVRyYW5zbGF0aW9uS2V5OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDmmL7npLrmlofmnKzmj5DnpLrkv6Hmga/lpJror63oqIAgS2V5IOeahCBWYWx1ZXPjgILkvKDlhaUgdGh5VHJhbnNsYXRpb25LZXkg5ZCO77yM5Lyg5YWl6L+Z5Liq5omN5Lya55Sf5pWIXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5VHJhbnNsYXRpb25WYWx1ZXM6IGFueTtcblxuICAgIC8qKlxuICAgICAqIOaYvuekuum7mOiupOaPkOekuuS/oeaBr++8jOabv+aNoum7mOiupOaPkOekuuS/oeaBr+eahOebruagh+Wvueixoe+8jOavlOWmgu+8muayoeaciSB7dGh5RW50aXR5TmFtZX3jgILlkIzml7bkvKDlhaUgdGh5RW50aXR5TmFtZe+8jHRoeUVudGl0eU5hbWVUcmFuc2xhdGVLZXkg5pe25LyY5YWI57qn6L6D6auYXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RW50aXR5TmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogdGh5RW50aXR5TmFtZSDnmoTlpJror63oqIAgS2V544CCdGh5TWVzc2FnZe+8jHRoeVRyYW5zbGF0aW9uS2V577yMdGh5RW50aXR5TmFtZSDlnYfmnKrkvKDlhaXml7bmiY3kvJrnlJ/mlYhcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlFbnRpdHlOYW1lVHJhbnNsYXRlS2V5OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDmj5DnpLrlm77moIflkI1cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlJY29uTmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5aSn5bCPXG4gICAgICogQHR5cGUgc20gfCBtZCB8IGxnXG4gICAgICogQGRlZmF1bHQgbWRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlTaXplKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zaXplID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDbGFzcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6Led5LiK6Led56a7XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5TWFyZ2luVG9wOiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKboh6rliqjmoLnmja7niLblrrnlmajorqHnrpfpq5jluqbvvIzlnoLnm7TlsYXkuK1cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeVRvcEF1dG86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDoh6rliqjorqHnrpfpq5jluqblnoLnm7TlsYXkuK0o5Y2zIHRoeVRvcEF1dG8g5Li6IHRydWUp5pe277yM5pSv5oyB5Lyg5YWl6Ieq5a6a5LmJ54i25a655ZmoXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5Q29udGFpbmVyOiBFbGVtZW50UmVmO1xuXG4gICAgLyoqXG4gICAgICog5o+Q56S65Zu+54mH6ZO+5o6lXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5SW1hZ2VVcmw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHRoeUltYWdlTG9hZGluZz86IFRoeUVtcHR5SW1hZ2VMb2FkaW5nO1xuXG4gICAgQElucHV0KCkgdGh5SW1hZ2VGZXRjaFByaW9yaXR5PzogVGh5RW1wdHlJbWFnZUZldGNoUHJpb3JpdHk7XG5cbiAgICAvKipcbiAgICAgKiDmmL7npLrmlofmnKzmj4/ov7BcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlEZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBzaXplOiBzdHJpbmcgPSAnbWQnO1xuXG4gICAgcHJpdmF0ZSBfaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICBwcmVzZXRTdmc6IFNhZmVBbnk7XG5cbiAgICAvKipcbiAgICAgKiDpmaTmj5DnpLrlm77niYfvvIzmlofmnKzlpJbnmoTlhbbku5bkv6Hmga/kvKDlhaXmqKHmnb9cbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2V4dHJhJykgZXh0cmFUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGdldCBkaXNwbGF5VGV4dCgpIHtcbiAgICAgICAgaWYgKHRoaXMudGh5TWVzc2FnZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudGh5TWVzc2FnZTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnRoeVRyYW5zbGF0aW9uS2V5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50aHlUcmFuc2xhdGUuaW5zdGFudCh0aGlzLnRoeVRyYW5zbGF0aW9uS2V5LCB0aGlzLnRoeVRyYW5zbGF0aW9uVmFsdWVzKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnRoeUVudGl0eU5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRoeVRyYW5zbGF0ZS5pbnN0YW50KHRoaXMudGh5RW1wdHlDb25maWcubm9SZXN1bHRXaXRoVGFyZ2V0VHJhbnNsYXRlS2V5LCB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0OiB0aGlzLnRoeUVudGl0eU5hbWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudGh5RW50aXR5TmFtZVRyYW5zbGF0ZUtleSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudGh5VHJhbnNsYXRlLmluc3RhbnQodGhpcy50aHlFbXB0eUNvbmZpZy5ub1Jlc3VsdFdpdGhUYXJnZXRUcmFuc2xhdGVLZXksIHtcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IHRoaXMudGh5VHJhbnNsYXRlLmluc3RhbnQodGhpcy50aHlFbnRpdHlOYW1lVHJhbnNsYXRlS2V5KVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50aHlUcmFuc2xhdGUuaW5zdGFudCh0aGlzLnRoeUVtcHR5Q29uZmlnLm5vUmVzdWx0VHJhbnNsYXRlS2V5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NhbGN1bGF0ZVBvc2l0aW9uKCkge1xuICAgICAgICBjb25zdCBzaXplT3B0aW9ucyA9IHNpemVNYXBbdGhpcy50aHlTaXplIHx8ICdtZCddO1xuICAgICAgICBsZXQgbWFyZ2luVG9wID0gbnVsbDtcbiAgICAgICAgaWYgKHRoaXMudGh5VG9wQXV0bykge1xuICAgICAgICAgICAgLy8g6YCJ5oup5Y+C6ICD54i25a655Zmo5bGF5LitXG4gICAgICAgICAgICBjb25zdCBjb250YWluZXJFbGVtZW50ID0gdGhpcy50aHlDb250YWluZXIgPyB0aGlzLnRoeUNvbnRhaW5lci5uYXRpdmVFbGVtZW50IDogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgICAgICAgIC8vIGNvbnRhaW5lckVsZW1lbnQuaGVpZ2h0O1xuICAgICAgICAgICAgbGV0IGVtcHR5U3RhdGVIZWlnaHQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgICAgICAvLyDpq5jluqbmsqHmnInoh6rliqjorqHnrpflh7rmnaXkvb/nlKjpu5jorqTlgLxcbiAgICAgICAgICAgIGlmIChlbXB0eVN0YXRlSGVpZ2h0IDw9IDEwKSB7XG4gICAgICAgICAgICAgICAgZW1wdHlTdGF0ZUhlaWdodCA9IHNpemVPcHRpb25zLmhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1hcmdpblRvcCA9IChjb250YWluZXJFbGVtZW50Lm9mZnNldEhlaWdodCAtIGVtcHR5U3RhdGVIZWlnaHQpIC8gMiAtIHNpemVPcHRpb25zLm9mZnNldFRvcDtcbiAgICAgICAgICAgIC8vIG1hcmdpblRvcCA9IChjb250YWluZXJFbGVtZW50Lm9mZnNldEhlaWdodCAtIGVtcHR5U3RhdGVIZWlnaHQpIC8gMjtcbiAgICAgICAgICAgIGlmIChtYXJnaW5Ub3AgPCAwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luVG9wID0gMDsgLy8gc2l6ZU9wdGlvbnMuZGVmYXVsdE1hcmdpblRvcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeU1hcmdpblRvcCkge1xuICAgICAgICAgICAgICAgIG1hcmdpblRvcCA9IHRoaXMudGh5TWFyZ2luVG9wO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW5Ub3AgPSAwOyAvLyBzaXplT3B0aW9ucy5kZWZhdWx0TWFyZ2luVG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChtYXJnaW5Ub3ApIHtcbiAgICAgICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnNldFN0eWxlKCdtYXJnaW5Ub3AnLCBtYXJnaW5Ub3AgKyAncHgnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRoeVRyYW5zbGF0ZTogVGh5VHJhbnNsYXRlLFxuICAgICAgICBwcml2YXRlIHRoeUVtcHR5Q29uZmlnOiBUaHlFbXB0eUNvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlQ2xhc3MoKTtcbiAgICAgICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnNldFByZXNldFN2Zyh0aGlzLnRoeUljb25OYW1lKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDbGFzcygpIHtcbiAgICAgICAgY29uc3QgY2xhc3NMaXN0ID0gc2l6ZUNsYXNzTWFwW3RoaXMuc2l6ZV0gfHwgc2l6ZUNsYXNzTWFwWydtZCddO1xuICAgICAgICBpZiAoY2xhc3NMaXN0KSB7XG4gICAgICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzcyhjbGFzc0xpc3QpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jYWxjdWxhdGVQb3NpdGlvbigpO1xuICAgICAgICAgICAgfSwgNTApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnRoeUljb25OYW1lICYmIGNoYW5nZXMudGh5SWNvbk5hbWUuY3VycmVudFZhbHVlICYmICFjaGFuZ2VzLnRoeUljb25OYW1lLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnNldFByZXNldFN2ZyhjaGFuZ2VzLnRoeUljb25OYW1lLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRQcmVzZXRTdmcoaWNvbjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMucHJlc2V0U3ZnID0gJyc7XG4gICAgICAgIGxldCBwcmVzZXRTdmcgPSBpY29uID8gUFJFU0VUX1NWR1tpY29uXSA6IFBSRVNFVF9TVkcuZGVmYXVsdDtcblxuICAgICAgICB0aGlzLnByZXNldFN2ZyA9IHByZXNldFN2ZyA/IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHByZXNldFN2ZykgOiAnJztcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGh5LWVtcHR5LWljb25cIj5cbiAgPGltZ1xuICAgICpuZ0lmPVwidGh5SW1hZ2VVcmw7IGVsc2UgaWNvblwiXG4gICAgW3NyY109XCJ0aHlJbWFnZVVybFwiXG4gICAgW2F0dHIubG9hZGluZ109XCJ0aHlJbWFnZUxvYWRpbmdcIlxuICAgIFthdHRyLmZldGNocHJpb3JpdHldPVwidGh5SW1hZ2VGZXRjaFByaW9yaXR5XCJcbiAgICBjbGFzcz1cImVtcHR5LWltZ1wiXG4gIC8+XG4gIDxuZy10ZW1wbGF0ZSAjaWNvbj5cbiAgICA8ZGl2ICpuZ0lmPVwicHJlc2V0U3ZnOyBlbHNlIHRoeUljb25cIiBbaW5uZXJIVE1MXT1cInByZXNldFN2Z1wiPjwvZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSAjdGh5SWNvbj5cbiAgICAgIDx0aHktaWNvbiBjbGFzcz1cImVtcHR5LWljb25cIiAqbmdJZj1cInRoeUljb25OYW1lXCIgW3RoeUljb25OYW1lXT1cInRoeUljb25OYW1lXCI+PC90aHktaWNvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG5cbjxkaXYgW25nQ2xhc3NdPVwieyAndGh5LWVtcHR5LXRleHQnOiAhdGh5RGVzY3JpcHRpb24sICd0aHktZW1wdHktdGV4dC13aXRoLWV4dHJhJzogdGh5RGVzY3JpcHRpb24gfVwiPlxuICB7eyBkaXNwbGF5VGV4dCB9fVxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJ0aHktZW1wdHktZGVzY3JpcHRpb25cIiAqbmdJZj1cInRoeURlc2NyaXB0aW9uXCI+XG4gIHt7IHRoeURlc2NyaXB0aW9uIH19XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInRoeS1lbXB0eS1leHRyYVwiICpuZ0lmPVwiZXh0cmFUZW1wbGF0ZVJlZlwiPlxuICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiZXh0cmFUZW1wbGF0ZVJlZlwiPjwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
@@ -1,7 +1,8 @@
1
- import { Component, HostBinding, ViewEncapsulation, Optional, Input, booleanAttribute } from '@angular/core';
1
+ import { Component, HostBinding, ViewEncapsulation, Optional, Input } from '@angular/core';
2
2
  import { ThyFormDirective } from '../form.directive';
3
3
  import { ThyAlert } from 'ngx-tethys/alert';
4
4
  import { NgClass, NgFor } from '@angular/common';
5
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "../form.directive";
7
8
  /**
@@ -33,7 +34,7 @@ export class ThyFormGroupError {
33
34
  }
34
35
  }
35
36
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyFormGroupError, deps: [{ token: i1.ThyFormDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyFormGroupError, isStandalone: true, selector: "thy-form-group-error", inputs: { thyShowFirst: ["thyShowFirst", "thyShowFirst", booleanAttribute], thyErrors: "thyErrors" }, host: { properties: { "class.form-group": "this._isFormGroup", "class.row": "this.isHorizontal" } }, ngImport: i0, template: "<div [ngClass]=\"{ 'col-sm-10 offset-sm-2 col-form-control': isHorizontal }\">\n <thy-alert *ngFor=\"let error of thyErrors\" thyType=\"danger\" [thyMessage]=\"error\"></thy-alert>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyAlert, selector: "thy-alert", inputs: ["thyType", "thyTheme", "thyMessage", "thyIcon", "thyCloseable"] }], encapsulation: i0.ViewEncapsulation.None }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyFormGroupError, isStandalone: true, selector: "thy-form-group-error", inputs: { thyShowFirst: ["thyShowFirst", "thyShowFirst", coerceBooleanProperty], thyErrors: "thyErrors" }, host: { properties: { "class.form-group": "this._isFormGroup", "class.row": "this.isHorizontal" } }, ngImport: i0, template: "<div [ngClass]=\"{ 'col-sm-10 offset-sm-2 col-form-control': isHorizontal }\">\n <thy-alert *ngFor=\"let error of thyErrors\" thyType=\"danger\" [thyMessage]=\"error\"></thy-alert>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyAlert, selector: "thy-alert", inputs: ["thyType", "thyTheme", "thyMessage", "thyIcon", "thyCloseable"] }], encapsulation: i0.ViewEncapsulation.None }); }
37
38
  }
38
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyFormGroupError, decorators: [{
39
40
  type: Component,
@@ -42,7 +43,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
42
43
  type: Optional
43
44
  }] }], propDecorators: { thyShowFirst: [{
44
45
  type: Input,
45
- args: [{ transform: booleanAttribute }]
46
+ args: [{ transform: coerceBooleanProperty }]
46
47
  }], thyErrors: [{
47
48
  type: Input
48
49
  }], _isFormGroup: [{
@@ -52,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
52
53
  type: HostBinding,
53
54
  args: ['class.row']
54
55
  }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZm9ybS9mb3JtLWdyb3VwLWVycm9yL2Zvcm0tZ3JvdXAtZXJyb3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2Zvcm0vZm9ybS1ncm91cC1lcnJvci9mb3JtLWdyb3VwLWVycm9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFVLFFBQVEsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUVqRDs7O0dBR0c7QUFRSCxNQUFNLE9BQU8saUJBQWlCO0lBSzFCOztPQUVHO0lBQ0gsSUFDSSxTQUFTLENBQUMsTUFBZ0I7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQ2xFLE9BQU8sTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNuRixDQUFDO0lBRUQsSUFDSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBSUQsWUFBZ0MsYUFBK0I7UUFBL0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBdEJ2QixpQkFBWSxHQUFHLElBQUksQ0FBQztRQW9CbEMsaUJBQVksR0FBRyxJQUFJLENBQUM7SUFFb0IsQ0FBQztJQUVuRSxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztRQUN4RCxDQUFDO0lBQ0wsQ0FBQzs4R0EvQlEsaUJBQWlCO2tHQUFqQixpQkFBaUIsaUhBR04sZ0JBQWdCLDBKQ25CeEMsaU1BR0EsNENEV2MsT0FBTyxvRkFBRSxLQUFLLG1IQUFFLFFBQVE7OzJGQUV6QixpQkFBaUI7a0JBUDdCLFNBQVM7K0JBQ0ksc0JBQXNCLGlCQUVqQixpQkFBaUIsQ0FBQyxJQUFJLGNBQ3pCLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDOzswQkEyQnRCLFFBQVE7eUNBdEJtQixZQUFZO3NCQUFuRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQU1sQyxTQUFTO3NCQURaLEtBQUs7Z0JBV0YsWUFBWTtzQkFEZixXQUFXO3VCQUFDLGtCQUFrQjtnQkFLTCxZQUFZO3NCQUFyQyxXQUFXO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBWaWV3RW5jYXBzdWxhdGlvbiwgT25Jbml0LCBPcHRpb25hbCwgSW5wdXQsIGJvb2xlYW5BdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeUZvcm1EaXJlY3RpdmUgfSBmcm9tICcuLi9mb3JtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUaHlBbGVydCB9IGZyb20gJ25neC10ZXRoeXMvYWxlcnQnO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIEBuYW1lIHRoeS1mb3JtLWdyb3VwLWVycm9yXG4gKiBAb3JkZXIgNTBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktZm9ybS1ncm91cC1lcnJvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZ3JvdXAtZXJyb3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgTmdGb3IsIFRoeUFsZXJ0XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlGb3JtR3JvdXBFcnJvciBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHVibGljIGVycm9yczogc3RyaW5nW107XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdGh5U2hvd0ZpcnN0ID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEB0eXBlIHN0cmluZ1tdXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5RXJyb3JzKGVycm9yczogc3RyaW5nW10pIHtcbiAgICAgICAgdGhpcy5lcnJvcnMgPSBlcnJvcnM7XG4gICAgfVxuXG4gICAgZ2V0IHRoeUVycm9ycygpIHtcbiAgICAgICAgY29uc3QgZXJyb3JzID0gdGhpcy5lcnJvcnMgfHwgdGhpcy50aHlQYXJlbnRGb3JtLnZhbGlkYXRvci5lcnJvcnM7XG4gICAgICAgIHJldHVybiBlcnJvcnMgJiYgZXJyb3JzLmxlbmd0aCA+IDAgJiYgdGhpcy50aHlTaG93Rmlyc3QgPyBbZXJyb3JzWzBdXSA6IGVycm9ycztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZvcm0tZ3JvdXAnKVxuICAgIGdldCBfaXNGb3JtR3JvdXAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoeUVycm9ycyAmJiB0aGlzLnRoeUVycm9ycy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3Mucm93JykgaXNIb3Jpem9udGFsID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgdGh5UGFyZW50Rm9ybTogVGh5Rm9ybURpcmVjdGl2ZSkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy50aHlQYXJlbnRGb3JtKSB7XG4gICAgICAgICAgICB0aGlzLmlzSG9yaXpvbnRhbCA9IHRoaXMudGh5UGFyZW50Rm9ybS5pc0hvcml6b250YWw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cInsgJ2NvbC1zbS0xMCBvZmZzZXQtc20tMiBjb2wtZm9ybS1jb250cm9sJzogaXNIb3Jpem9udGFsIH1cIj5cbiAgPHRoeS1hbGVydCAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgdGh5RXJyb3JzXCIgdGh5VHlwZT1cImRhbmdlclwiIFt0aHlNZXNzYWdlXT1cImVycm9yXCI+PC90aHktYWxlcnQ+XG48L2Rpdj5cbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZm9ybS9mb3JtLWdyb3VwLWVycm9yL2Zvcm0tZ3JvdXAtZXJyb3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2Zvcm0vZm9ybS1ncm91cC1lcnJvci9mb3JtLWdyb3VwLWVycm9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFVLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUV4RDs7O0dBR0c7QUFRSCxNQUFNLE9BQU8saUJBQWlCO0lBSzFCOztPQUVHO0lBQ0gsSUFDSSxTQUFTLENBQUMsTUFBZ0I7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQ2xFLE9BQU8sTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNuRixDQUFDO0lBRUQsSUFDSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBSUQsWUFBZ0MsYUFBK0I7UUFBL0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBdEJsQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQW9CdkMsaUJBQVksR0FBRyxJQUFJLENBQUM7SUFFb0IsQ0FBQztJQUVuRSxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztRQUN4RCxDQUFDO0lBQ0wsQ0FBQzs4R0EvQlEsaUJBQWlCO2tHQUFqQixpQkFBaUIsaUhBR04scUJBQXFCLDBKQ3BCN0MsaU1BR0EsNENEWWMsT0FBTyxvRkFBRSxLQUFLLG1IQUFFLFFBQVE7OzJGQUV6QixpQkFBaUI7a0JBUDdCLFNBQVM7K0JBQ0ksc0JBQXNCLGlCQUVqQixpQkFBaUIsQ0FBQyxJQUFJLGNBQ3pCLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDOzswQkEyQnRCLFFBQVE7eUNBdEJ3QixZQUFZO3NCQUF4RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQU12QyxTQUFTO3NCQURaLEtBQUs7Z0JBV0YsWUFBWTtzQkFEZixXQUFXO3VCQUFDLGtCQUFrQjtnQkFLTCxZQUFZO3NCQUFyQyxXQUFXO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBWaWV3RW5jYXBzdWxhdGlvbiwgT25Jbml0LCBPcHRpb25hbCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeUZvcm1EaXJlY3RpdmUgfSBmcm9tICcuLi9mb3JtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUaHlBbGVydCB9IGZyb20gJ25neC10ZXRoeXMvYWxlcnQnO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuLyoqXG4gKiBAbmFtZSB0aHktZm9ybS1ncm91cC1lcnJvclxuICogQG9yZGVyIDUwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWZvcm0tZ3JvdXAtZXJyb3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWdyb3VwLWVycm9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIE5nRm9yLCBUaHlBbGVydF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5Rm9ybUdyb3VwRXJyb3IgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHB1YmxpYyBlcnJvcnM6IHN0cmluZ1tdO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5U2hvd0ZpcnN0ID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEB0eXBlIHN0cmluZ1tdXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5RXJyb3JzKGVycm9yczogc3RyaW5nW10pIHtcbiAgICAgICAgdGhpcy5lcnJvcnMgPSBlcnJvcnM7XG4gICAgfVxuXG4gICAgZ2V0IHRoeUVycm9ycygpIHtcbiAgICAgICAgY29uc3QgZXJyb3JzID0gdGhpcy5lcnJvcnMgfHwgdGhpcy50aHlQYXJlbnRGb3JtLnZhbGlkYXRvci5lcnJvcnM7XG4gICAgICAgIHJldHVybiBlcnJvcnMgJiYgZXJyb3JzLmxlbmd0aCA+IDAgJiYgdGhpcy50aHlTaG93Rmlyc3QgPyBbZXJyb3JzWzBdXSA6IGVycm9ycztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZvcm0tZ3JvdXAnKVxuICAgIGdldCBfaXNGb3JtR3JvdXAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoeUVycm9ycyAmJiB0aGlzLnRoeUVycm9ycy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3Mucm93JykgaXNIb3Jpem9udGFsID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgdGh5UGFyZW50Rm9ybTogVGh5Rm9ybURpcmVjdGl2ZSkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy50aHlQYXJlbnRGb3JtKSB7XG4gICAgICAgICAgICB0aGlzLmlzSG9yaXpvbnRhbCA9IHRoaXMudGh5UGFyZW50Rm9ybS5pc0hvcml6b250YWw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cInsgJ2NvbC1zbS0xMCBvZmZzZXQtc20tMiBjb2wtZm9ybS1jb250cm9sJzogaXNIb3Jpem9udGFsIH1cIj5cbiAgPHRoeS1hbGVydCAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgdGh5RXJyb3JzXCIgdGh5VHlwZT1cImRhbmdlclwiIFt0aHlNZXNzYWdlXT1cImVycm9yXCI+PC90aHktYWxlcnQ+XG48L2Rpdj5cbiJdfQ==
@@ -1,5 +1,6 @@
1
- import { Directive, HostBinding, Input, booleanAttribute } from '@angular/core';
1
+ import { Directive, HostBinding, Input } from '@angular/core';
2
2
  import { ThyTranslate } from 'ngx-tethys/core';
3
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "ngx-tethys/core";
5
6
  /**
@@ -24,7 +25,7 @@ export class ThyFormGroupLabelDirective {
24
25
  this._isFormGroupLabel = true;
25
26
  }
26
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyFormGroupLabelDirective, deps: [{ token: i1.ThyTranslate }], target: i0.ɵɵFactoryTarget.Directive }); }
27
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.2.3", type: ThyFormGroupLabelDirective, isStandalone: true, selector: "[thyFormGroupLabel]", inputs: { thyLabelText: "thyLabelText", thyLabelTranslateKey: "thyLabelTranslateKey", thyLabelRequired: ["thyLabelRequired", "thyLabelRequired", booleanAttribute] }, host: { properties: { "class.label-required": "this.labelRequired", "class.col-form-label": "this._isFormGroupLabel" } }, ngImport: i0 }); }
28
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.2.3", type: ThyFormGroupLabelDirective, isStandalone: true, selector: "[thyFormGroupLabel]", inputs: { thyLabelText: "thyLabelText", thyLabelTranslateKey: "thyLabelTranslateKey", thyLabelRequired: ["thyLabelRequired", "thyLabelRequired", coerceBooleanProperty] }, host: { properties: { "class.label-required": "this.labelRequired", "class.col-form-label": "this._isFormGroupLabel" } }, ngImport: i0 }); }
28
29
  }
29
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyFormGroupLabelDirective, decorators: [{
30
31
  type: Directive,
@@ -44,6 +45,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
44
45
  type: Input
45
46
  }], thyLabelRequired: [{
46
47
  type: Input,
47
- args: [{ transform: booleanAttribute }]
48
+ args: [{ transform: coerceBooleanProperty }]
48
49
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC1sYWJlbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZm9ybS9mb3JtLWdyb3VwLWxhYmVsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFL0M7OztHQUdHO0FBS0gsTUFBTSxPQUFPLDBCQUEwQjtJQU9uQyxJQUNJLFlBQVksQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUNJLG9CQUFvQixDQUFDLFlBQW9CO1FBQ3pDLElBQUksWUFBWSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdELENBQUM7SUFDTCxDQUFDO0lBRUQsSUFDSSxnQkFBZ0IsQ0FBQyxLQUFjO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRCxZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQXJCVCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUV0QixzQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFtQmIsQ0FBQzs4R0F4QnpDLDBCQUEwQjtrR0FBMUIsMEJBQTBCLHdNQW1CZixnQkFBZ0I7OzJGQW5CM0IsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjtpRkFJd0MsYUFBYTtzQkFBakQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBRUUsaUJBQWlCO3NCQUFyRCxXQUFXO3VCQUFDLHNCQUFzQjtnQkFHL0IsWUFBWTtzQkFEZixLQUFLO2dCQU1GLG9CQUFvQjtzQkFEdkIsS0FBSztnQkFRRixnQkFBZ0I7c0JBRG5CLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dCwgYm9vbGVhbkF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5VHJhbnNsYXRlIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcblxuLyoqXG4gKiBAbmFtZSB0aHlGb3JtR3JvdXBMYWJlbFxuICogQG9yZGVyIDQ1XG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3RoeUZvcm1Hcm91cExhYmVsXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaHlGb3JtR3JvdXBMYWJlbERpcmVjdGl2ZSB7XG4gICAgcHVibGljIGxhYmVsVGV4dDogc3RyaW5nO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5sYWJlbC1yZXF1aXJlZCcpIGxhYmVsUmVxdWlyZWQgPSBmYWxzZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29sLWZvcm0tbGFiZWwnKSBfaXNGb3JtR3JvdXBMYWJlbCA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlMYWJlbFRleHQodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmxhYmVsVGV4dCA9IHZhbHVlO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUxhYmVsVHJhbnNsYXRlS2V5KHRyYW5zbGF0ZUtleTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0cmFuc2xhdGVLZXkpIHtcbiAgICAgICAgICAgIHRoaXMubGFiZWxUZXh0ID0gdGhpcy50aHlUcmFuc2xhdGUuaW5zdGFudCh0cmFuc2xhdGVLZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeUxhYmVsUmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5sYWJlbFJlcXVpcmVkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0aHlUcmFuc2xhdGU6IFRoeVRyYW5zbGF0ZSkge31cbn1cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC1sYWJlbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZm9ybS9mb3JtLWdyb3VwLWxhYmVsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFeEQ7OztHQUdHO0FBS0gsTUFBTSxPQUFPLDBCQUEwQjtJQU9uQyxJQUNJLFlBQVksQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUNJLG9CQUFvQixDQUFDLFlBQW9CO1FBQ3pDLElBQUksWUFBWSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdELENBQUM7SUFDTCxDQUFDO0lBRUQsSUFDSSxnQkFBZ0IsQ0FBQyxLQUFjO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRCxZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQXJCVCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUV0QixzQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFtQmIsQ0FBQzs4R0F4QnpDLDBCQUEwQjtrR0FBMUIsMEJBQTBCLHdNQW1CZixxQkFBcUI7OzJGQW5CaEMsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjtpRkFJd0MsYUFBYTtzQkFBakQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBRUUsaUJBQWlCO3NCQUFyRCxXQUFXO3VCQUFDLHNCQUFzQjtnQkFHL0IsWUFBWTtzQkFEZixLQUFLO2dCQU1GLG9CQUFvQjtzQkFEdkIsS0FBSztnQkFRRixnQkFBZ0I7c0JBRG5CLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5VHJhbnNsYXRlIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbi8qKlxuICogQG5hbWUgdGh5Rm9ybUdyb3VwTGFiZWxcbiAqIEBvcmRlciA0NVxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0aHlGb3JtR3JvdXBMYWJlbF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGh5Rm9ybUdyb3VwTGFiZWxEaXJlY3RpdmUge1xuICAgIHB1YmxpYyBsYWJlbFRleHQ6IHN0cmluZztcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MubGFiZWwtcmVxdWlyZWQnKSBsYWJlbFJlcXVpcmVkID0gZmFsc2U7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvbC1mb3JtLWxhYmVsJykgX2lzRm9ybUdyb3VwTGFiZWwgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5TGFiZWxUZXh0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5sYWJlbFRleHQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlMYWJlbFRyYW5zbGF0ZUtleSh0cmFuc2xhdGVLZXk6IHN0cmluZykge1xuICAgICAgICBpZiAodHJhbnNsYXRlS2V5KSB7XG4gICAgICAgICAgICB0aGlzLmxhYmVsVGV4dCA9IHRoaXMudGh5VHJhbnNsYXRlLmluc3RhbnQodHJhbnNsYXRlS2V5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgc2V0IHRoeUxhYmVsUmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5sYWJlbFJlcXVpcmVkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0aHlUcmFuc2xhdGU6IFRoeVRyYW5zbGF0ZSkge31cbn1cbiJdfQ==
@@ -2,8 +2,9 @@ import { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';
2
2
  import { ThyTranslate } from 'ngx-tethys/core';
3
3
  import { ThyIcon } from 'ngx-tethys/icon';
4
4
  import { ThyTooltipDirective } from 'ngx-tethys/tooltip';
5
- import { ChangeDetectionStrategy, Component, ContentChild, HostBinding, Input, Optional, TemplateRef, ViewEncapsulation, booleanAttribute } from '@angular/core';
5
+ import { ChangeDetectionStrategy, Component, ContentChild, HostBinding, Input, Optional, TemplateRef, ViewEncapsulation } from '@angular/core';
6
6
  import { ThyFormDirective } from './form.directive';
7
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "./form.directive";
9
10
  import * as i2 from "ngx-tethys/core";
@@ -98,7 +99,7 @@ export class ThyFormGroup {
98
99
  this.isHorizontal = this.thyParentForm ? this.thyParentForm.isHorizontal : true;
99
100
  }
100
101
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyFormGroup, deps: [{ token: i1.ThyFormDirective, optional: true }, { token: i2.ThyTranslate }], target: i0.ɵɵFactoryTarget.Component }); }
101
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyFormGroup, isStandalone: true, selector: "thy-form-group", inputs: { thyLabelText: "thyLabelText", thyLabelTextTranslateKey: "thyLabelTextTranslateKey", thyLabelRequired: ["thyLabelRequired", "thyLabelRequired", booleanAttribute], thyLabelPaddingTopClear: ["thyLabelPaddingTopClear", "thyLabelPaddingTopClear", booleanAttribute], thyFeedbackIcon: "thyFeedbackIcon", thyTipsMode: "thyTipsMode", thyTips: "thyTips", thyTipsTranslateKey: "thyTipsTranslateKey", thyRowFill: ["thyRowFill", "thyRowFill", booleanAttribute] }, host: { properties: { "class.row-fill": "this._rowFill", "class.form-group": "this._isFormGroup", "class.row": "this.isHorizontal", "class.has-feedback": "this.hasFeedback" } }, queries: [{ propertyName: "contentTemplateRef", first: true, predicate: ["formGroup"], descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"contentTemplate || contentTemplateRef; else defaultTpl\">\n <ng-container [ngTemplateOutlet]=\"contentTemplate || contentTemplateRef\"></ng-container>\n <ng-container *ngIf=\"feedbackSvgIconName; else iconFont\">\n <thy-icon class=\"form-control-feedback\" [thyIconName]=\"feedbackSvgIconName\"></thy-icon>\n </ng-container>\n</ng-container>\n<ng-template #defaultTpl>\n <label\n *ngIf=\"!(!isHorizontal && !labelText)\"\n class=\"form-label \"\n [ngClass]=\"{\n 'col-sm-2 col-form-label': isHorizontal,\n 'pt-0': labelPaddingTopClear\n }\"\n >\n <span\n [ngClass]=\"{\n 'label-required': labelRequired\n }\"\n >{{ labelText }}</span\n >\n <thy-icon class=\"label-tips-icon\" *ngIf=\"tipMode === 'label' && tips\" thyIconName=\"question-circle\" [thyTooltip]=\"tips\"></thy-icon>\n </label>\n <div [ngClass]=\"{ 'col-sm-10 col-form-control': isHorizontal, 'position-relative': !isHorizontal }\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"feedbackSvgIconName; else iconFont\">\n <thy-icon class=\"form-control-feedback\" [thyIconName]=\"feedbackSvgIconName\"></thy-icon>\n </ng-container>\n <span *ngIf=\"tipMode === 'default' && tips\" class=\"form-text text-desc\">{{ tips }}</span>\n </div>\n</ng-template>\n\n<ng-template #iconFont>\n <span *ngIf=\"feedbackIcon\" class=\"form-control-feedback {{ feedbackIcon }}\"></span>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "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: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
102
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyFormGroup, isStandalone: true, selector: "thy-form-group", inputs: { thyLabelText: "thyLabelText", thyLabelTextTranslateKey: "thyLabelTextTranslateKey", thyLabelRequired: ["thyLabelRequired", "thyLabelRequired", coerceBooleanProperty], thyLabelPaddingTopClear: ["thyLabelPaddingTopClear", "thyLabelPaddingTopClear", coerceBooleanProperty], thyFeedbackIcon: "thyFeedbackIcon", thyTipsMode: "thyTipsMode", thyTips: "thyTips", thyTipsTranslateKey: "thyTipsTranslateKey", thyRowFill: ["thyRowFill", "thyRowFill", coerceBooleanProperty] }, host: { properties: { "class.row-fill": "this._rowFill", "class.form-group": "this._isFormGroup", "class.row": "this.isHorizontal", "class.has-feedback": "this.hasFeedback" } }, queries: [{ propertyName: "contentTemplateRef", first: true, predicate: ["formGroup"], descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"contentTemplate || contentTemplateRef; else defaultTpl\">\n <ng-container [ngTemplateOutlet]=\"contentTemplate || contentTemplateRef\"></ng-container>\n <ng-container *ngIf=\"feedbackSvgIconName; else iconFont\">\n <thy-icon class=\"form-control-feedback\" [thyIconName]=\"feedbackSvgIconName\"></thy-icon>\n </ng-container>\n</ng-container>\n<ng-template #defaultTpl>\n <label\n *ngIf=\"!(!isHorizontal && !labelText)\"\n class=\"form-label \"\n [ngClass]=\"{\n 'col-sm-2 col-form-label': isHorizontal,\n 'pt-0': labelPaddingTopClear\n }\"\n >\n <span\n [ngClass]=\"{\n 'label-required': labelRequired\n }\"\n >{{ labelText }}</span\n >\n <thy-icon class=\"label-tips-icon\" *ngIf=\"tipMode === 'label' && tips\" thyIconName=\"question-circle\" [thyTooltip]=\"tips\"></thy-icon>\n </label>\n <div [ngClass]=\"{ 'col-sm-10 col-form-control': isHorizontal, 'position-relative': !isHorizontal }\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"feedbackSvgIconName; else iconFont\">\n <thy-icon class=\"form-control-feedback\" [thyIconName]=\"feedbackSvgIconName\"></thy-icon>\n </ng-container>\n <span *ngIf=\"tipMode === 'default' && tips\" class=\"form-text text-desc\">{{ tips }}</span>\n </div>\n</ng-template>\n\n<ng-template #iconFont>\n <span *ngIf=\"feedbackIcon\" class=\"form-control-feedback {{ feedbackIcon }}\"></span>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "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: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
102
103
  }
103
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyFormGroup, decorators: [{
104
105
  type: Component,
@@ -123,10 +124,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
123
124
  type: Input
124
125
  }], thyLabelRequired: [{
125
126
  type: Input,
126
- args: [{ transform: booleanAttribute }]
127
+ args: [{ transform: coerceBooleanProperty }]
127
128
  }], thyLabelPaddingTopClear: [{
128
129
  type: Input,
129
- args: [{ transform: booleanAttribute }]
130
+ args: [{ transform: coerceBooleanProperty }]
130
131
  }], thyFeedbackIcon: [{
131
132
  type: Input
132
133
  }], thyTipsMode: [{
@@ -137,7 +138,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
137
138
  type: Input
138
139
  }], thyRowFill: [{
139
140
  type: Input,
140
- args: [{ transform: booleanAttribute }]
141
+ args: [{ transform: coerceBooleanProperty }]
141
142
  }], contentTemplateRef: [{
142
143
  type: ContentChild,
143
144
  args: ['formGroup']
@@ -145,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
145
146
  type: ContentChild,
146
147
  args: ['content']
147
148
  }] } });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZm9ybS9mb3JtLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9mb3JtL2Zvcm0tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXpELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLFFBQVEsRUFDUixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNuQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQUVwRCxNQUFNLGVBQWUsR0FBRztJQUNwQixJQUFJLEVBQUUsb0JBQW9CO0NBQzdCLENBQUM7QUFJRjs7OztHQUlHO0FBU0gsTUFBTSxPQUFPLFlBQVk7SUFpQnJCOztPQUVHO0lBQ0gsSUFDSSxZQUFZLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLHdCQUF3QixDQUFDLEtBQWE7UUFDdEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsQ0FBQzthQUFNLENBQUM7WUFDSixJ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O3NCQUQzQixLQUFLO2dCQWFGLGdCQUFnQjtzQkFEbkIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFNbEMsdUJBQXVCO3NCQUQxQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVNsQyxlQUFlO3NCQURsQixLQUFLO2dCQWtCRixXQUFXO3NCQURkLEtBQUs7Z0JBU0YsT0FBTztzQkFEVixLQUFLO2dCQVNGLG1CQUFtQjtzQkFEdEIsS0FBSztnQkFVRixVQUFVO3NCQURiLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBVS9CLGtCQUFrQjtzQkFEeEIsWUFBWTt1QkFBQyxXQUFXO2dCQU9sQixlQUFlO3NCQURyQixZQUFZO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRoeVRyYW5zbGF0ZSB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IFRoeVRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICduZ3gtdGV0aHlzL3Rvb2x0aXAnO1xuXG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRoeUZvcm1EaXJlY3RpdmUgfSBmcm9tICcuL2Zvcm0uZGlyZWN0aXZlJztcblxuY29uc3QgaW50ZXJuYWxJY29uTWFwID0ge1xuICAgIGRhdGU6ICd3dGYgd3RmLXNjaGVkdWxlLW8nXG59O1xuXG50eXBlIFRpcHNNb2RlID0gJ2RlZmF1bHQnIHwgJ2xhYmVsJztcblxuLyoqXG4gKiDooajljZXliIbnu4Tnu4Tku7ZcbiAqIEBuYW1lIHRoeS1mb3JtLWdyb3VwXG4gKiBAb3JkZXIgNDBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktZm9ybS1ncm91cCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgVGh5SWNvbiwgTmdDbGFzcywgVGh5VG9vbHRpcERpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgVGh5Rm9ybUdyb3VwIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBsYWJlbFRleHQ6IHN0cmluZztcbiAgICBsYWJlbFJlcXVpcmVkID0gZmFsc2U7XG4gICAgbGFiZWxQYWRkaW5nVG9wQ2xlYXIgPSBmYWxzZTtcbiAgICBmZWVkYmFja0ljb246IHN0cmluZztcbiAgICBmZWVkYmFja1N2Z0ljb25OYW1lOiBzdHJpbmc7XG4gICAgdGlwczogc3RyaW5nO1xuICAgIHRpcE1vZGU6IFRpcHNNb2RlID0gJ2RlZmF1bHQnO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5yb3ctZmlsbCcpIF9yb3dGaWxsID0gZmFsc2U7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZvcm0tZ3JvdXAnKSBfaXNGb3JtR3JvdXAgPSB0cnVlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5yb3cnKSBpc0hvcml6b250YWwgPSB0cnVlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtZmVlZGJhY2snKSBoYXNGZWVkYmFjayA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogTGFiZWwg5paH5pysXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5TGFiZWxUZXh0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5sYWJlbFRleHQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMYWJlbCDmlofmnKzlpJror63oqIAgS2V5XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5TGFiZWxUZXh0VHJhbnNsYXRlS2V5KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmxhYmVsVGV4dCA9IHRoaXMudGh5VHJhbnNsYXRlLmluc3RhbnQodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5sYWJlbFRleHQgPSAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExhYmVsIOaYr+WQpuaYvuekuuW/heWhq+mhueagt+W8j1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHNldCB0aHlMYWJlbFJlcXVpcmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMubGFiZWxSZXF1aXJlZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHNldCB0aHlMYWJlbFBhZGRpbmdUb3BDbGVhcih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmxhYmVsUGFkZGluZ1RvcENsZWFyID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5Y+N6aaI5Zu+5qCH77yM5q+U5aaC5pel5pyf6L6T5YWl5qGG5pi+56S65pel5pyf55qE5Zu+5qCH77yM5bi455So6L6T5YWlIGRhdGUg6KGo56S65pe26Ze0IHd0ZiB3dGYtc2NoZWR1bGUtb1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUZlZWRiYWNrSWNvbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuaGFzRmVlZGJhY2sgPSB0cnVlO1xuICAgICAgICBpZiAoaW50ZXJuYWxJY29uTWFwW3ZhbHVlXSkge1xuICAgICAgICAgICAgdGhpcy5mZWVkYmFja0ljb24gPSBpbnRlcm5hbEljb25NYXBbdmFsdWVdO1xuICAgICAgICAgICAgdGhpcy5mZWVkYmFja1N2Z0ljb25OYW1lID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmVlZGJhY2tTdmdJY29uTmFtZSA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5mZWVkYmFja0ljb24gPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5o+Q56S65paH5a2X55qE5pi+56S65qih5byP77yMYGxhYmVsYOaooeW8j+ihqOekuuWcqCBsYWJlbCDlkI7pgJrov4flm77moIcrVG9vbHRpcCDmj5DnpLosIGBkZWZhdWx0YOaooeW8j+WcqCBGb3JtIENvbnRyb2wg5LiL5pa555u05o6l5pi+56S6XG4gICAgICogQHR5cGUgZGVmYXVsdCB8IGxhYmVsXG4gICAgICogQGRlZmF1bHQgZGVmYXVsdFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVRpcHNNb2RlKG1vZGU6IFRpcHNNb2RlKSB7XG4gICAgICAgIHRoaXMudGlwTW9kZSA9IG1vZGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5o+Q56S65paH5qGIXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VGlwcyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudGlwcyA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaPkOekuuaWh+ahiOeahOWkmuivreiogCBLZXlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlUaXBzVHJhbnNsYXRlS2V5KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy50aXBzID0gdGhpcy50aHlUcmFuc2xhdGUuaW5zdGFudCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5aGr5YWF5pW06KGMLCDmsqHmnIkgTGFiZWwg5paH5pys77yM5Y+q5pyJ6L6T5YWl5qGGXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBzZXQgdGh5Um93RmlsbCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9yb3dGaWxsID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5bey5bqf5byDXG4gICAgICogQGRlcHJlY2F0ZWQgcGxlYXNlIHVzZSBjb250ZW50IGJlY2F1c2UgZm9ybUdyb3VwIGlzIHNhbWUgbmFtZSB3aXRoIGFuZ3VsYXIgZm9ybUdyb3VwIGRpcmVjdGl2ZVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2Zvcm1Hcm91cCcpXG4gICAgcHVibGljIGNvbnRlbnRUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIOWGheWuueiHquWumuS5ieaooeadv++8jGA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+PC9uZy10ZW1wbGF0ZT5gXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnY29udGVudCcpXG4gICAgcHVibGljIGNvbnRlbnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgdGh5UGFyZW50Rm9ybTogVGh5Rm9ybURpcmVjdGl2ZSwgcHJpdmF0ZSB0aHlUcmFuc2xhdGU6IFRoeVRyYW5zbGF0ZSkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmlzSG9yaXpvbnRhbCA9IHRoaXMudGh5UGFyZW50Rm9ybSA/IHRoaXMudGh5UGFyZW50Rm9ybS5pc0hvcml6b250YWwgOiB0cnVlO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZW50VGVtcGxhdGUgfHwgY29udGVudFRlbXBsYXRlUmVmOyBlbHNlIGRlZmF1bHRUcGxcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50VGVtcGxhdGUgfHwgY29udGVudFRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJmZWVkYmFja1N2Z0ljb25OYW1lOyBlbHNlIGljb25Gb250XCI+XG4gICAgPHRoeS1pY29uIGNsYXNzPVwiZm9ybS1jb250cm9sLWZlZWRiYWNrXCIgW3RoeUljb25OYW1lXT1cImZlZWRiYWNrU3ZnSWNvbk5hbWVcIj48L3RoeS1pY29uPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNkZWZhdWx0VHBsPlxuICA8bGFiZWxcbiAgICAqbmdJZj1cIiEoIWlzSG9yaXpvbnRhbCAmJiAhbGFiZWxUZXh0KVwiXG4gICAgY2xhc3M9XCJmb3JtLWxhYmVsIFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ2NvbC1zbS0yIGNvbC1mb3JtLWxhYmVsJzogaXNIb3Jpem9udGFsLFxuICAgICAgJ3B0LTAnOiBsYWJlbFBhZGRpbmdUb3BDbGVhclxuICAgIH1cIlxuICA+XG4gICAgPHNwYW5cbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2xhYmVsLXJlcXVpcmVkJzogbGFiZWxSZXF1aXJlZFxuICAgICAgfVwiXG4gICAgICA+e3sgbGFiZWxUZXh0IH19PC9zcGFuXG4gICAgPlxuICAgIDx0aHktaWNvbiBjbGFzcz1cImxhYmVsLXRpcHMtaWNvblwiICpuZ0lmPVwidGlwTW9kZSA9PT0gJ2xhYmVsJyAmJiB0aXBzXCIgdGh5SWNvbk5hbWU9XCJxdWVzdGlvbi1jaXJjbGVcIiBbdGh5VG9vbHRpcF09XCJ0aXBzXCI+PC90aHktaWNvbj5cbiAgPC9sYWJlbD5cbiAgPGRpdiBbbmdDbGFzc109XCJ7ICdjb2wtc20tMTAgY29sLWZvcm0tY29udHJvbCc6IGlzSG9yaXpvbnRhbCwgJ3Bvc2l0aW9uLXJlbGF0aXZlJzogIWlzSG9yaXpvbnRhbCB9XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmZWVkYmFja1N2Z0ljb25OYW1lOyBlbHNlIGljb25Gb250XCI+XG4gICAgICA8dGh5LWljb24gY2xhc3M9XCJmb3JtLWNvbnRyb2wtZmVlZGJhY2tcIiBbdGh5SWNvbk5hbWVdPVwiZmVlZGJhY2tTdmdJY29uTmFtZVwiPjwvdGh5LWljb24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPHNwYW4gKm5nSWY9XCJ0aXBNb2RlID09PSAnZGVmYXVsdCcgJiYgdGlwc1wiIGNsYXNzPVwiZm9ybS10ZXh0IHRleHQtZGVzY1wiPnt7IHRpcHMgfX08L3NwYW4+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpY29uRm9udD5cbiAgPHNwYW4gKm5nSWY9XCJmZWVkYmFja0ljb25cIiBjbGFzcz1cImZvcm0tY29udHJvbC1mZWVkYmFjayB7eyBmZWVkYmFja0ljb24gfX1cIj48L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuIl19
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZm9ybS9mb3JtLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9mb3JtL2Zvcm0tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXpELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLFFBQVEsRUFDUixXQUFXLEVBQ1gsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBRXhELE1BQU0sZUFBZSxHQUFHO0lBQ3BCLElBQUksRUFBRSxvQkFBb0I7Q0FDN0IsQ0FBQztBQUlGOzs7O0dBSUc7QUFTSCxNQUFNLE9BQU8sWUFBWTtJQWlCckI7O09BRUc7SUFDSCxJQUNJLFlBQVksQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksd0JBQXdCLENBQUMsS0FBYTtRQUN0QyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMs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TTdCLFlBQVk7c0JBRGYsS0FBSztnQkFTRix3QkFBd0I7c0JBRDNCLEtBQUs7Z0JBYUYsZ0JBQWdCO3NCQURuQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQU12Qyx1QkFBdUI7c0JBRDFCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBU3ZDLGVBQWU7c0JBRGxCLEtBQUs7Z0JBa0JGLFdBQVc7c0JBRGQsS0FBSztnQkFTRixPQUFPO3NCQURWLEtBQUs7Z0JBU0YsbUJBQW1CO3NCQUR0QixLQUFLO2dCQVVGLFVBQVU7c0JBRGIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFVcEMsa0JBQWtCO3NCQUR4QixZQUFZO3VCQUFDLFdBQVc7Z0JBT2xCLGVBQWU7c0JBRHJCLFlBQVk7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGh5VHJhbnNsYXRlIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5VG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJ25neC10ZXRoeXMvdG9vbHRpcCc7XG5cbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRoeUZvcm1EaXJlY3RpdmUgfSBmcm9tICcuL2Zvcm0uZGlyZWN0aXZlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbmNvbnN0IGludGVybmFsSWNvbk1hcCA9IHtcbiAgICBkYXRlOiAnd3RmIHd0Zi1zY2hlZHVsZS1vJ1xufTtcblxudHlwZSBUaXBzTW9kZSA9ICdkZWZhdWx0JyB8ICdsYWJlbCc7XG5cbi8qKlxuICog6KGo5Y2V5YiG57uE57uE5Lu2XG4gKiBAbmFtZSB0aHktZm9ybS1ncm91cFxuICogQG9yZGVyIDQwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWZvcm0tZ3JvdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIE5nVGVtcGxhdGVPdXRsZXQsIFRoeUljb24sIE5nQ2xhc3MsIFRoeVRvb2x0aXBEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIFRoeUZvcm1Hcm91cCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgbGFiZWxUZXh0OiBzdHJpbmc7XG4gICAgbGFiZWxSZXF1aXJlZCA9IGZhbHNlO1xuICAgIGxhYmVsUGFkZGluZ1RvcENsZWFyID0gZmFsc2U7XG4gICAgZmVlZGJhY2tJY29uOiBzdHJpbmc7XG4gICAgZmVlZGJhY2tTdmdJY29uTmFtZTogc3RyaW5nO1xuICAgIHRpcHM6IHN0cmluZztcbiAgICB0aXBNb2RlOiBUaXBzTW9kZSA9ICdkZWZhdWx0JztcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3Mucm93LWZpbGwnKSBfcm93RmlsbCA9IGZhbHNlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mb3JtLWdyb3VwJykgX2lzRm9ybUdyb3VwID0gdHJ1ZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3Mucm93JykgaXNIb3Jpem9udGFsID0gdHJ1ZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLWZlZWRiYWNrJykgaGFzRmVlZGJhY2sgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIExhYmVsIOaWh+acrFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUxhYmVsVGV4dCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubGFiZWxUZXh0ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTGFiZWwg5paH5pys5aSa6K+t6KiAIEtleVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUxhYmVsVGV4dFRyYW5zbGF0ZUtleSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5sYWJlbFRleHQgPSB0aGlzLnRoeVRyYW5zbGF0ZS5pbnN0YW50KHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubGFiZWxUZXh0ID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMYWJlbCDmmK/lkKbmmL7npLrlv4XloavpobnmoLflvI9cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCB0aHlMYWJlbFJlcXVpcmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMubGFiZWxSZXF1aXJlZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgc2V0IHRoeUxhYmVsUGFkZGluZ1RvcENsZWFyKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMubGFiZWxQYWRkaW5nVG9wQ2xlYXIgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlj43ppojlm77moIfvvIzmr5TlpoLml6XmnJ/ovpPlhaXmoYbmmL7npLrml6XmnJ/nmoTlm77moIfvvIzluLjnlKjovpPlhaUgZGF0ZSDooajnpLrml7bpl7Qgd3RmIHd0Zi1zY2hlZHVsZS1vXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5RmVlZGJhY2tJY29uKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5oYXNGZWVkYmFjayA9IHRydWU7XG4gICAgICAgIGlmIChpbnRlcm5hbEljb25NYXBbdmFsdWVdKSB7XG4gICAgICAgICAgICB0aGlzLmZlZWRiYWNrSWNvbiA9IGludGVybmFsSWNvbk1hcFt2YWx1ZV07XG4gICAgICAgICAgICB0aGlzLmZlZWRiYWNrU3ZnSWNvbk5hbWUgPSBudWxsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5mZWVkYmFja1N2Z0ljb25OYW1lID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmZlZWRiYWNrSWNvbiA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmj5DnpLrmloflrZfnmoTmmL7npLrmqKHlvI/vvIxgbGFiZWxg5qih5byP6KGo56S65ZyoIGxhYmVsIOWQjumAmui/h+WbvuaghytUb29sdGlwIOaPkOekuiwgYGRlZmF1bHRg5qih5byP5ZyoIEZvcm0gQ29udHJvbCDkuIvmlrnnm7TmjqXmmL7npLpcbiAgICAgKiBAdHlwZSBkZWZhdWx0IHwgbGFiZWxcbiAgICAgKiBAZGVmYXVsdCBkZWZhdWx0XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VGlwc01vZGUobW9kZTogVGlwc01vZGUpIHtcbiAgICAgICAgdGhpcy50aXBNb2RlID0gbW9kZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmj5DnpLrmlofmoYhcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlUaXBzKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy50aXBzID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5o+Q56S65paH5qGI55qE5aSa6K+t6KiAIEtleVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVRpcHNUcmFuc2xhdGVLZXkodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnRpcHMgPSB0aGlzLnRoeVRyYW5zbGF0ZS5pbnN0YW50KHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbloavlhYXmlbTooYwsIOayoeaciSBMYWJlbCDmlofmnKzvvIzlj6rmnInovpPlhaXmoYZcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgc2V0IHRoeVJvd0ZpbGwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fcm93RmlsbCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOW3suW6n+W8g1xuICAgICAqIEBkZXByZWNhdGVkIHBsZWFzZSB1c2UgY29udGVudCBiZWNhdXNlIGZvcm1Hcm91cCBpcyBzYW1lIG5hbWUgd2l0aCBhbmd1bGFyIGZvcm1Hcm91cCBkaXJlY3RpdmVcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdmb3JtR3JvdXAnKVxuICAgIHB1YmxpYyBjb250ZW50VGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiDlhoXlrrnoh6rlrprkuYnmqKHmnb/vvIxgPG5nLXRlbXBsYXRlICNjb250ZW50PjwvbmctdGVtcGxhdGU+YFxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2NvbnRlbnQnKVxuICAgIHB1YmxpYyBjb250ZW50VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcml2YXRlIHRoeVBhcmVudEZvcm06IFRoeUZvcm1EaXJlY3RpdmUsIHByaXZhdGUgdGh5VHJhbnNsYXRlOiBUaHlUcmFuc2xhdGUpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pc0hvcml6b250YWwgPSB0aGlzLnRoeVBhcmVudEZvcm0gPyB0aGlzLnRoeVBhcmVudEZvcm0uaXNIb3Jpem9udGFsIDogdHJ1ZTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGVudFRlbXBsYXRlIHx8IGNvbnRlbnRUZW1wbGF0ZVJlZjsgZWxzZSBkZWZhdWx0VHBsXCI+XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFRlbXBsYXRlIHx8IGNvbnRlbnRUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmVlZGJhY2tTdmdJY29uTmFtZTsgZWxzZSBpY29uRm9udFwiPlxuICAgIDx0aHktaWNvbiBjbGFzcz1cImZvcm0tY29udHJvbC1mZWVkYmFja1wiIFt0aHlJY29uTmFtZV09XCJmZWVkYmFja1N2Z0ljb25OYW1lXCI+PC90aHktaWNvbj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRwbD5cbiAgPGxhYmVsXG4gICAgKm5nSWY9XCIhKCFpc0hvcml6b250YWwgJiYgIWxhYmVsVGV4dClcIlxuICAgIGNsYXNzPVwiZm9ybS1sYWJlbCBcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdjb2wtc20tMiBjb2wtZm9ybS1sYWJlbCc6IGlzSG9yaXpvbnRhbCxcbiAgICAgICdwdC0wJzogbGFiZWxQYWRkaW5nVG9wQ2xlYXJcbiAgICB9XCJcbiAgPlxuICAgIDxzcGFuXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdsYWJlbC1yZXF1aXJlZCc6IGxhYmVsUmVxdWlyZWRcbiAgICAgIH1cIlxuICAgICAgPnt7IGxhYmVsVGV4dCB9fTwvc3BhblxuICAgID5cbiAgICA8dGh5LWljb24gY2xhc3M9XCJsYWJlbC10aXBzLWljb25cIiAqbmdJZj1cInRpcE1vZGUgPT09ICdsYWJlbCcgJiYgdGlwc1wiIHRoeUljb25OYW1lPVwicXVlc3Rpb24tY2lyY2xlXCIgW3RoeVRvb2x0aXBdPVwidGlwc1wiPjwvdGh5LWljb24+XG4gIDwvbGFiZWw+XG4gIDxkaXYgW25nQ2xhc3NdPVwieyAnY29sLXNtLTEwIGNvbC1mb3JtLWNvbnRyb2wnOiBpc0hvcml6b250YWwsICdwb3NpdGlvbi1yZWxhdGl2ZSc6ICFpc0hvcml6b250YWwgfVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmVlZGJhY2tTdmdJY29uTmFtZTsgZWxzZSBpY29uRm9udFwiPlxuICAgICAgPHRoeS1pY29uIGNsYXNzPVwiZm9ybS1jb250cm9sLWZlZWRiYWNrXCIgW3RoeUljb25OYW1lXT1cImZlZWRiYWNrU3ZnSWNvbk5hbWVcIj48L3RoeS1pY29uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxzcGFuICpuZ0lmPVwidGlwTW9kZSA9PT0gJ2RlZmF1bHQnICYmIHRpcHNcIiBjbGFzcz1cImZvcm0tdGV4dCB0ZXh0LWRlc2NcIj57eyB0aXBzIH19PC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaWNvbkZvbnQ+XG4gIDxzcGFuICpuZ0lmPVwiZmVlZGJhY2tJY29uXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtZmVlZGJhY2sge3sgZmVlZGJhY2tJY29uIH19XCI+PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,8 +1,9 @@
1
1
  import { take } from 'rxjs/operators';
2
2
  import { useHostRenderer } from '@tethys/cdk/dom';
3
- import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, Renderer2, ViewEncapsulation, booleanAttribute, numberAttribute } from '@angular/core';
3
+ import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, Renderer2, ViewEncapsulation, numberAttribute } from '@angular/core';
4
4
  import { getWhetherPrintErrorWhenIconNotFound } from './config';
5
5
  import { ThyIconRegistry } from './icon-registry';
6
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "./icon-registry";
8
9
  const iconSuffixMap = {
@@ -156,7 +157,7 @@ export class ThyIcon {
156
157
  titleElement && titleElement.remove();
157
158
  }
158
159
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyIcon, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.ThyIconRegistry }], target: i0.ɵɵFactoryTarget.Component }); }
159
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyIcon, isStandalone: true, selector: "thy-icon, [thy-icon]", inputs: { iconType: ["thyIconType", "iconType"], iconTwotoneColor: ["thyTwotoneColor", "iconTwotoneColor"], iconName: ["thyIconName", "iconName"], iconRotate: ["thyIconRotate", "iconRotate", numberAttribute], iconSet: ["thyIconSet", "iconSet"], iconLegging: ["thyIconLegging", "iconLegging", booleanAttribute], iconLinearGradient: ["thyIconLinearGradient", "iconLinearGradient", booleanAttribute] }, host: { properties: { "class.thy-icon-legging": "this.iconLegging" }, classAttribute: "thy-icon" }, usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
160
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyIcon, isStandalone: true, selector: "thy-icon, [thy-icon]", inputs: { iconType: ["thyIconType", "iconType"], iconTwotoneColor: ["thyTwotoneColor", "iconTwotoneColor"], iconName: ["thyIconName", "iconName"], iconRotate: ["thyIconRotate", "iconRotate", numberAttribute], iconSet: ["thyIconSet", "iconSet"], iconLegging: ["thyIconLegging", "iconLegging", coerceBooleanProperty], iconLinearGradient: ["thyIconLinearGradient", "iconLinearGradient", coerceBooleanProperty] }, host: { properties: { "class.thy-icon-legging": "this.iconLegging" }, classAttribute: "thy-icon" }, usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
160
161
  }
161
162
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyIcon, decorators: [{
162
163
  type: Component,
@@ -190,9 +191,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
190
191
  args: [`class.thy-icon-legging`]
191
192
  }, {
192
193
  type: Input,
193
- args: [{ alias: 'thyIconLegging', transform: booleanAttribute }]
194
+ args: [{ alias: 'thyIconLegging', transform: coerceBooleanProperty }]
194
195
  }], iconLinearGradient: [{
195
196
  type: Input,
196
- args: [{ alias: 'thyIconLinearGradient', transform: booleanAttribute }]
197
+ args: [{ alias: 'thyIconLinearGradient', transform: coerceBooleanProperty }]
197
198
  }] } });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaWNvbi9pY29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUdMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRWxELE1BQU0sYUFBYSxHQUFHO0lBQ2xCLElBQUksRUFBRSxNQUFNO0lBQ1osT0FBTyxFQUFFLElBQUk7Q0FDaEIsQ0FBQztBQUVGOzs7O0dBSUc7QUFXSCxNQUFNLE9BQU8sT0FBTztJQXFDaEIsWUFBb0IsTUFBaUIsRUFBVSxVQUFzQixFQUFVLFlBQTZCO1FBQXhGLFdBQU0sR0FBTixNQUFNLENBQVc7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBcENwRyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUU1Qjs7O1dBR0c7UUFDbUIsYUFBUSxHQUFtQyxTQUFTLENBQUM7UUE0Qm5FLGlCQUFZLEdBQUcsZUFBZSxFQUFFLENBQUM7SUFFc0UsQ0FBQztJQUVoSCxRQUFRO1FBQ0osSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFDSSxPQUFPLENBQUMsVUFBVSxDQUFDO2dCQUNuQixPQUFPLENBQUMsU0FBUyxDQUFDO2dCQUNsQixPQUFPLENBQUMsa0JBQWtCLENBQUM7Z0JBQzNCLE9BQU8sQ0FBQyxVQUFVLENBQUM7Z0JBQ25CLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxFQUMvQixDQUFDO2dCQUNDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QixDQUFDO2lCQUFNLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxQixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFTyxhQUFhO1FBQ2pCLE1BQU0sQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdFLElBQUksUUFBUSxFQUFFLENBQUM7WUFDWCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxLQUFLLEtBQUssRUFBRSxDQUFDO2dCQUN2QyxJQUFJLENBQUMsWUFBWTtxQkFDWixVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxFQUFFLFNBQVMsQ0FBQztxQkFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDYixTQUFTLENBQ04sR0FBRyxDQUFDLEVBQUU7b0JBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDNUIsQ0FBQyxFQUNELENBQUMsS0FBWSxFQUFFLEVBQUU7b0JBQ2IsSUFBSSxvQ0FBb0MsRUFBRSxFQUFFLENBQUM7d0JBQ3pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO29CQUM3RCxDQUFDO2dCQUNMLENBQUMsQ0FDSixDQUFDO2dCQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsV0FBVyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDekgsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPO29CQUM3QixDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO29CQUN4RCxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2dCQUNqRCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFlBQVksRUFBRSxHQUFHLFlBQVksSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RGLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVPLGNBQWM7UUFDbEIsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRSxXQUFXLEVBQUUsVUFBVSxJQUFJLENBQUMsVUFBVSxNQUFNLENBQUMsQ0FBQztRQUMzSCxDQUFDO0lBQ0wsQ0FBQztJQUVELHFCQUFxQjtJQUViLGFBQWEsQ0FBQyxHQUFlO1FBQ2pDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2QixzRkFBc0Y7UUFDdEYsc0ZBQXNGO1FBQ3RGLDhGQUE4RjtRQUM5RixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFpQyxDQUFDO1FBRWhGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDeEMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsSUFBSSxHQUFHLENBQUM7UUFDcEMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM5QixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUMsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN0QixRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQWEsRUFBRSxFQUFFO29CQUN0QyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQzt3QkFDdkQsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7b0JBQ3RELENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQztRQUVELHdFQUF3RTtRQUN4RSw2RUFBNkU7UUFDN0Usd0JBQXdCO1FBQ3hCLGlEQUFpRDtRQUNqRCxpQ0FBaUM7UUFDakMsc0RBQXNEO1FBQ3RELDJDQUEyQztRQUMzQyxJQUFJO1FBQ0osSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sZUFBZTtRQUNuQixNQUFNLGFBQWEsR0FBZ0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDakUsSUFBSSxVQUFVLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFFakQsOENBQThDO1FBQzlDLG9EQUFvRDtRQUNwRCxJQUFJO1FBRUosMkZBQTJGO1FBQzNGLG1GQUFtRjtRQUNuRixPQUFPLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDbEIsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUVuRCwwRkFBMEY7WUFDMUYseUZBQXlGO1lBQ3pGLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFDakUsYUFBYSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQyxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZO0lBRUosbUJBQW1CLENBQUMsUUFBZ0I7UUFDeEMsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbkUsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1QyxPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ2hGLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxRQUFRLENBQUM7UUFDcEIsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSyxVQUFVLENBQUMsR0FBZTtRQUM5QixNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEQsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQWMsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM5RSxDQUFDO1lBQ0QsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDeEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RGLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxHQUFlO1FBQ3JDLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEQsWUFBWSxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMxQyxDQUFDOzhHQTFMUSxPQUFPO2tHQUFQLE9BQU8sdVBBb0I0QixlQUFlLHNGQVNkLGdCQUFnQix1RUFHVCxnQkFBZ0Isc0pBeEMxRCwyQkFBMkI7OzJGQVE1QixPQUFPO2tCQVZuQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsVUFBVTtxQkFDcEI7aUJBQ0o7cUlBUXlCLFFBQVE7c0JBQTdCLEtBQUs7dUJBQUMsYUFBYTtnQkFFTSxnQkFBZ0I7c0JBQXpDLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUtGLFFBQVE7c0JBQTdCLEtBQUs7dUJBQUMsYUFBYTtnQkFNMkMsVUFBVTtzQkFBeEUsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFFeEMsT0FBTztzQkFBM0IsS0FBSzt1QkFBQyxZQUFZO2dCQVFuQixXQUFXO3NCQUZWLFdBQVc7dUJBQUMsd0JBQXdCOztzQkFDcEMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSS9ELGtCQUFrQjtzQkFEakIsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcblxuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIFJlbmRlcmVyMixcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgbnVtYmVyQXR0cmlidXRlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBnZXRXaGV0aGVyUHJpbnRFcnJvcldoZW5JY29uTm90Rm91bmQgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBUaHlJY29uUmVnaXN0cnkgfSBmcm9tICcuL2ljb24tcmVnaXN0cnknO1xuXG5jb25zdCBpY29uU3VmZml4TWFwID0ge1xuICAgIGZpbGw6ICdmaWxsJyxcbiAgICB0d290b25lOiAndHQnXG59O1xuXG4vKipcbiAqIOWbvuagh+e7hOS7tlxuICogQG5hbWUgdGh5LWljb24sW3RoeS1pY29uXVxuICogQG9yZGVyIDEwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWljb24sIFt0aHktaWNvbl0nLFxuICAgIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktaWNvbidcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFRoeUljb24gaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSBpbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5Zu+5qCH55qE57G75Z6LXG4gICAgICogQHR5cGUgb3V0bGluZSB8IGZpbGwgfCB0d290b25lXG4gICAgICovXG4gICAgQElucHV0KCd0aHlJY29uVHlwZScpIGljb25UeXBlOiAnb3V0bGluZScgfCAnZmlsbCcgfCAndHdvdG9uZScgPSAnb3V0bGluZSc7XG5cbiAgICBASW5wdXQoJ3RoeVR3b3RvbmVDb2xvcicpIGljb25Ud290b25lQ29sb3I6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOWbvuagh+eahOWQjeWtl1xuICAgICAqL1xuICAgIEBJbnB1dCgndGh5SWNvbk5hbWUnKSBpY29uTmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5Zu+5qCH55qE5peL6L2s6KeS5bqmXG4gICAgICogQGRlZmF1bHQgMFxuICAgICAqL1xuICAgIEBJbnB1dCh7IGFsaWFzOiAndGh5SWNvblJvdGF0ZScsIHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIGljb25Sb3RhdGU6IG51bWJlcjtcblxuICAgIEBJbnB1dCgndGh5SWNvblNldCcpIGljb25TZXQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOWbvuagh+aJk+W6leiJsu+8jOmVguepuueahOWbvuagh++8jOS8mumAj+i/h+minOiJsuadpVxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy50aHktaWNvbi1sZWdnaW5nYClcbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeUljb25MZWdnaW5nJywgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgaWNvbkxlZ2dpbmc6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeUljb25MaW5lYXJHcmFkaWVudCcsIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGljb25MaW5lYXJHcmFkaWVudDogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcjogUmVuZGVyZXIyLCBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgaWNvblJlZ2lzdHJ5OiBUaHlJY29uUmVnaXN0cnkpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBjaGFuZ2VzWydpY29uTmFtZSddIHx8XG4gICAgICAgICAgICAgICAgY2hhbmdlc1snaWNvblNldCddIHx8XG4gICAgICAgICAgICAgICAgY2hhbmdlc1snaWNvblR3b3RvbmVDb2xvciddIHx8XG4gICAgICAgICAgICAgICAgY2hhbmdlc1snaWNvblR5cGUnXSB8fFxuICAgICAgICAgICAgICAgIGNoYW5nZXNbJ2ljb25MaW5lYXJHcmFkaWVudCddXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hhbmdlc1snaWNvblJvdGF0ZSddKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdHlsZVJvdGF0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDbGFzc2VzKCkge1xuICAgICAgICBjb25zdCBbbmFtZXNwYWNlLCBpY29uTmFtZV0gPSB0aGlzLmljb25SZWdpc3RyeS5zcGxpdEljb25OYW1lKHRoaXMuaWNvbk5hbWUpO1xuICAgICAgICBpZiAoaWNvbk5hbWUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmljb25SZWdpc3RyeS5pY29uTW9kZSA9PT0gJ3N2ZycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmljb25SZWdpc3RyeVxuICAgICAgICAgICAgICAgICAgICAuZ2V0U3ZnSWNvbih0aGlzLmJ1aWxkSWNvbk5hbWVCeVR5cGUoaWNvbk5hbWUpLCBuYW1lc3BhY2UpXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgICAgICBzdmcgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3ZnRWxlbWVudChzdmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZ2V0V2hldGhlclByaW50RXJyb3JXaGVuSWNvbk5vdEZvdW5kKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3IgcmV0cmlldmluZyBpY29uOiAke2Vycm9yLm1lc3NhZ2V9YCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzKFtgdGh5LWljb24ke25hbWVzcGFjZSA/IGAtJHtuYW1lc3BhY2V9YCA6IGBgfS0ke3RoaXMuYnVpbGRJY29uTmFtZUJ5VHlwZShpY29uTmFtZSl9YF0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmb250U2V0Q2xhc3MgPSB0aGlzLmljb25TZXRcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmljb25SZWdpc3RyeS5nZXRGb250U2V0Q2xhc3NCeUFsaWFzKHRoaXMuaWNvblNldClcbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLmljb25SZWdpc3RyeS5nZXREZWZhdWx0Rm9udFNldENsYXNzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIudXBkYXRlQ2xhc3MoW2ZvbnRTZXRDbGFzcywgYCR7Zm9udFNldENsYXNzfS0ke3RoaXMuaWNvbk5hbWV9YF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRTdHlsZVJvdGF0ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaWNvblJvdGF0ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdzdmcnKSwgJ3RyYW5zZm9ybScsIGByb3RhdGUoJHt0aGlzLmljb25Sb3RhdGV9ZGVnKWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8jcmVnaW9uIHN2ZyBlbGVtZW50XG5cbiAgICBwcml2YXRlIHNldFN2Z0VsZW1lbnQoc3ZnOiBTVkdFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuY2xlYXJTdmdFbGVtZW50KCk7XG5cbiAgICAgICAgLy8gV29ya2Fyb3VuZCBmb3IgSUUxMSBhbmQgRWRnZSBpZ25vcmluZyBgc3R5bGVgIHRhZ3MgaW5zaWRlIGR5bmFtaWNhbGx5LWNyZWF0ZWQgU1ZHcy5cbiAgICAgICAgLy8gU2VlOiBodHRwczovL2RldmVsb3Blci5taWNyb3NvZnQuY29tL2VuLXVzL21pY3Jvc29mdC1lZGdlL3BsYXRmb3JtL2lzc3Vlcy8xMDg5ODQ2OS9cbiAgICAgICAgLy8gRG8gdGhpcyBiZWZvcmUgaW5zZXJ0aW5nIHRoZSBlbGVtZW50IGludG8gdGhlIERPTSwgaW4gb3JkZXIgdG8gYXZvaWQgYSBzdHlsZSByZWNhbGN1bGF0aW9uLlxuICAgICAgICBjb25zdCBzdHlsZVRhZ3MgPSBzdmcucXVlcnlTZWxlY3RvckFsbCgnc3R5bGUnKSBhcyBOb2RlTGlzdE9mPEhUTUxTdHlsZUVsZW1lbnQ+O1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3R5bGVUYWdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBzdHlsZVRhZ3NbaV0udGV4dENvbnRlbnQgKz0gJyAnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaWNvblR5cGUgPT09ICd0d290b25lJykge1xuICAgICAgICAgICAgY29uc3QgYWxsUGF0aHMgPSBzdmcucXVlcnlTZWxlY3RvckFsbCgncGF0aCcpO1xuICAgICAgICAgICAgaWYgKGFsbFBhdGhzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICBhbGxQYXRocy5mb3JFYWNoKChjaGlsZCwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoY2hpbGQuZ2V0QXR0cmlidXRlKCdpZCcpLmluY2x1ZGVzKCdzZWNvbmRhcnktY29sb3InKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGQuc2V0QXR0cmlidXRlKCdmaWxsJywgdGhpcy5pY29uVHdvdG9uZUNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gTm90ZTogd2UgZG8gdGhpcyBmaXggaGVyZSwgcmF0aGVyIHRoYW4gdGhlIGljb24gcmVnaXN0cnksIGJlY2F1c2UgdGhlXG4gICAgICAgIC8vIHJlZmVyZW5jZXMgaGF2ZSB0byBwb2ludCB0byB0aGUgVVJMIGF0IHRoZSB0aW1lIHRoYXQgdGhlIGljb24gd2FzIGNyZWF0ZWQuXG4gICAgICAgIC8vIGlmICh0aGlzLl9sb2NhdGlvbikge1xuICAgICAgICAvLyAgICAgY29uc3QgcGF0aCA9IHRoaXMuX2xvY2F0aW9uLmdldFBhdGhuYW1lKCk7XG4gICAgICAgIC8vICAgICB0aGlzLl9wcmV2aW91c1BhdGggPSBwYXRoO1xuICAgICAgICAvLyAgICAgdGhpcy5fY2FjaGVDaGlsZHJlbldpdGhFeHRlcm5hbFJlZmVyZW5jZXMoc3ZnKTtcbiAgICAgICAgLy8gICAgIHRoaXMuX3ByZXBlbmRQYXRoVG9SZWZlcmVuY2VzKHBhdGgpO1xuICAgICAgICAvLyB9XG4gICAgICAgIGlmICh0aGlzLmljb25MaW5lYXJHcmFkaWVudCkge1xuICAgICAgICAgICAgdGhpcy5zZXRCYXNlVXJsKHN2Zyk7XG4gICAgICAgICAgICB0aGlzLmNsZWFyVGl0bGVFbGVtZW50KHN2Zyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChzdmcpO1xuICAgICAgICB0aGlzLnNldFN0eWxlUm90YXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhclN2Z0VsZW1lbnQoKSB7XG4gICAgICAgIGNvbnN0IGxheW91dEVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGxldCBjaGlsZENvdW50ID0gbGF5b3V0RWxlbWVudC5jaGlsZE5vZGVzLmxlbmd0aDtcblxuICAgICAgICAvLyBpZiAodGhpcy5fZWxlbWVudHNXaXRoRXh0ZXJuYWxSZWZlcmVuY2VzKSB7XG4gICAgICAgIC8vICAgICB0aGlzLl9lbGVtZW50c1dpdGhFeHRlcm5hbFJlZmVyZW5jZXMuY2xlYXIoKTtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIC8vIFJlbW92ZSBleGlzdGluZyBub24tZWxlbWVudCBjaGlsZCBub2RlcyBhbmQgU1ZHcywgYW5kIGFkZCB0aGUgbmV3IFNWRyBlbGVtZW50LiBOb3RlIHRoYXRcbiAgICAgICAgLy8gd2UgY2FuJ3QgdXNlIGlubmVySFRNTCwgYmVjYXVzZSBJRSB3aWxsIHRocm93IGlmIHRoZSBlbGVtZW50IGhhcyBhIGRhdGEgYmluZGluZy5cbiAgICAgICAgd2hpbGUgKGNoaWxkQ291bnQtLSkge1xuICAgICAgICAgICAgY29uc3QgY2hpbGQgPSBsYXlvdXRFbGVtZW50LmNoaWxkTm9kZXNbY2hpbGRDb3VudF07XG5cbiAgICAgICAgICAgIC8vIDEgY29ycmVzcG9uZHMgdG8gTm9kZS5FTEVNRU5UX05PREUuIFdlIHJlbW92ZSBhbGwgbm9uLWVsZW1lbnQgbm9kZXMgaW4gb3JkZXIgdG8gZ2V0IHJpZFxuICAgICAgICAgICAgLy8gb2YgYW55IGxvb3NlIHRleHQgbm9kZXMsIGFzIHdlbGwgYXMgYW55IFNWRyBlbGVtZW50cyBpbiBvcmRlciB0byByZW1vdmUgYW55IG9sZCBpY29ucy5cbiAgICAgICAgICAgIGlmIChjaGlsZC5ub2RlVHlwZSAhPT0gMSB8fCBjaGlsZC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnc3ZnJykge1xuICAgICAgICAgICAgICAgIGxheW91dEVsZW1lbnQucmVtb3ZlQ2hpbGQoY2hpbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICBwcml2YXRlIGJ1aWxkSWNvbk5hbWVCeVR5cGUoaWNvbk5hbWU6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5pY29uVHlwZSAmJiBbJ2ZpbGwnLCAndHdvdG9uZSddLmluZGV4T2YodGhpcy5pY29uVHlwZSkgPj0gMCkge1xuICAgICAgICAgICAgY29uc3Qgc3VmZml4ID0gaWNvblN1ZmZpeE1hcFt0aGlzLmljb25UeXBlXTtcbiAgICAgICAgICAgIHJldHVybiBpY29uTmFtZS5pbmNsdWRlcyhgLSR7c3VmZml4fWApID8gaWNvbk5hbWUgOiBgJHtpY29uTmFtZX0tJHtzdWZmaXh9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBpY29uTmFtZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN1cHBvcnQgU2FmYXJpIFNWRyBMaW5lYXJHcmFkaWVudC5cbiAgICAgKiBAcGFyYW0gc3ZnXG4gICAgICovXG4gICAgcHJpdmF0ZSBzZXRCYXNlVXJsKHN2ZzogU1ZHRWxlbWVudCkge1xuICAgICAgICBjb25zdCBzdHlsZUVsZW1lbnRzID0gc3ZnLnF1ZXJ5U2VsZWN0b3JBbGwoJ3N0eWxlJyk7XG4gICAgICAgIHN0eWxlRWxlbWVudHMuZm9yRWFjaCgobjogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChuLnN0eWxlLmNzc1RleHQuaW5jbHVkZXMoJ3VybCcpKSB7XG4gICAgICAgICAgICAgICAgbi5zdHlsZS5maWxsID0gbi5zdHlsZS5maWxsLnJlcGxhY2UoJ3VybChcIicsICd1cmwoXCInICsgbG9jYXRpb24ucGF0aG5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG4uc3R5bGUuY3NzVGV4dC5pbmNsdWRlcygnY2xpcC1wYXRoJykpIHtcbiAgICAgICAgICAgICAgICBuLnN0eWxlLmNsaXBQYXRoID0gbi5zdHlsZS5jbGlwUGF0aC5yZXBsYWNlKCd1cmwoXCInLCAndXJsKFwiJyArIGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhclRpdGxlRWxlbWVudChzdmc6IFNWR0VsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgdGl0bGVFbGVtZW50ID0gc3ZnLnF1ZXJ5U2VsZWN0b3IoJ3RpdGxlJyk7XG4gICAgICAgIHRpdGxlRWxlbWVudCAmJiB0aXRsZUVsZW1lbnQucmVtb3ZlKCk7XG4gICAgfVxufVxuIl19
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaWNvbi9pY29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUdMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsZUFBZSxFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFeEQsTUFBTSxhQUFhLEdBQUc7SUFDbEIsSUFBSSxFQUFFLE1BQU07SUFDWixPQUFPLEVBQUUsSUFBSTtDQUNoQixDQUFDO0FBRUY7Ozs7R0FJRztBQVdILE1BQU0sT0FBTyxPQUFPO0lBcUNoQixZQUFvQixNQUFpQixFQUFVLFVBQXNCLEVBQVUsWUFBNkI7UUFBeEYsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBaUI7UUFwQ3BHLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRTVCOzs7V0FHRztRQUNtQixhQUFRLEdBQW1DLFNBQVMsQ0FBQztRQTRCbkUsaUJBQVksR0FBRyxlQUFlLEVBQUUsQ0FBQztJQUVzRSxDQUFDO0lBRWhILFFBQVE7UUFDSixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELFdB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QUVNLGdCQUFnQjtzQkFBekMsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBS0YsUUFBUTtzQkFBN0IsS0FBSzt1QkFBQyxhQUFhO2dCQU0yQyxVQUFVO3NCQUF4RSxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUV4QyxPQUFPO3NCQUEzQixLQUFLO3VCQUFDLFlBQVk7Z0JBUW5CLFdBQVc7c0JBRlYsV0FBVzt1QkFBQyx3QkFBd0I7O3NCQUNwQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFJcEUsa0JBQWtCO3NCQURqQixLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuXG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgbnVtYmVyQXR0cmlidXRlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBnZXRXaGV0aGVyUHJpbnRFcnJvcldoZW5JY29uTm90Rm91bmQgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBUaHlJY29uUmVnaXN0cnkgfSBmcm9tICcuL2ljb24tcmVnaXN0cnknO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuY29uc3QgaWNvblN1ZmZpeE1hcCA9IHtcbiAgICBmaWxsOiAnZmlsbCcsXG4gICAgdHdvdG9uZTogJ3R0J1xufTtcblxuLyoqXG4gKiDlm77moIfnu4Tku7ZcbiAqIEBuYW1lIHRoeS1pY29uLFt0aHktaWNvbl1cbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1pY29uLCBbdGh5LWljb25dJyxcbiAgICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LWljb24nXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBUaHlJY29uIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIHByaXZhdGUgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOWbvuagh+eahOexu+Wei1xuICAgICAqIEB0eXBlIG91dGxpbmUgfCBmaWxsIHwgdHdvdG9uZVxuICAgICAqL1xuICAgIEBJbnB1dCgndGh5SWNvblR5cGUnKSBpY29uVHlwZTogJ291dGxpbmUnIHwgJ2ZpbGwnIHwgJ3R3b3RvbmUnID0gJ291dGxpbmUnO1xuXG4gICAgQElucHV0KCd0aHlUd290b25lQ29sb3InKSBpY29uVHdvdG9uZUNvbG9yOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlm77moIfnmoTlkI3lrZdcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeUljb25OYW1lJykgaWNvbk5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOWbvuagh+eahOaXi+i9rOinkuW6plxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeUljb25Sb3RhdGUnLCB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSBpY29uUm90YXRlOiBudW1iZXI7XG5cbiAgICBASW5wdXQoJ3RoeUljb25TZXQnKSBpY29uU2V0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlm77moIfmiZPlupXoibLvvIzplYLnqbrnmoTlm77moIfvvIzkvJrpgI/ov4fpopzoibLmnaVcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZyhgY2xhc3MudGh5LWljb24tbGVnZ2luZ2ApXG4gICAgQElucHV0KHsgYWxpYXM6ICd0aHlJY29uTGVnZ2luZycsIHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgaWNvbkxlZ2dpbmc6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeUljb25MaW5lYXJHcmFkaWVudCcsIHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgaWNvbkxpbmVhckdyYWRpZW50OiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBob3N0UmVuZGVyZXIgPSB1c2VIb3N0UmVuZGVyZXIoKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyOiBSZW5kZXJlcjIsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBpY29uUmVnaXN0cnk6IFRoeUljb25SZWdpc3RyeSkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGNoYW5nZXNbJ2ljb25OYW1lJ10gfHxcbiAgICAgICAgICAgICAgICBjaGFuZ2VzWydpY29uU2V0J10gfHxcbiAgICAgICAgICAgICAgICBjaGFuZ2VzWydpY29uVHdvdG9uZUNvbG9yJ10gfHxcbiAgICAgICAgICAgICAgICBjaGFuZ2VzWydpY29uVHlwZSddIHx8XG4gICAgICAgICAgICAgICAgY2hhbmdlc1snaWNvbkxpbmVhckdyYWRpZW50J11cbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjaGFuZ2VzWydpY29uUm90YXRlJ10pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0eWxlUm90YXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNsYXNzZXMoKSB7XG4gICAgICAgIGNvbnN0IFtuYW1lc3BhY2UsIGljb25OYW1lXSA9IHRoaXMuaWNvblJlZ2lzdHJ5LnNwbGl0SWNvbk5hbWUodGhpcy5pY29uTmFtZSk7XG4gICAgICAgIGlmIChpY29uTmFtZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaWNvblJlZ2lzdHJ5Lmljb25Nb2RlID09PSAnc3ZnJykge1xuICAgICAgICAgICAgICAgIHRoaXMuaWNvblJlZ2lzdHJ5XG4gICAgICAgICAgICAgICAgICAgIC5nZXRTdmdJY29uKHRoaXMuYnVpbGRJY29uTmFtZUJ5VHlwZShpY29uTmFtZSksIG5hbWVzcGFjZSlcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdmdFbGVtZW50KHN2Zyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnZXRXaGV0aGVyUHJpbnRFcnJvcldoZW5JY29uTm90Rm91bmQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBFcnJvciByZXRyaWV2aW5nIGljb246ICR7ZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIudXBkYXRlQ2xhc3MoW2B0aHktaWNvbiR7bmFtZXNwYWNlID8gYC0ke25hbWVzcGFjZX1gIDogYGB9LSR7dGhpcy5idWlsZEljb25OYW1lQnlUeXBlKGljb25OYW1lKX1gXSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZvbnRTZXRDbGFzcyA9IHRoaXMuaWNvblNldFxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMuaWNvblJlZ2lzdHJ5LmdldEZvbnRTZXRDbGFzc0J5QWxpYXModGhpcy5pY29uU2V0KVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuaWNvblJlZ2lzdHJ5LmdldERlZmF1bHRGb250U2V0Q2xhc3MoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzcyhbZm9udFNldENsYXNzLCBgJHtmb250U2V0Q2xhc3N9LSR7dGhpcy5pY29uTmFtZX1gXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFN0eWxlUm90YXRlKCkge1xuICAgICAgICBpZiAodGhpcy5pY29uUm90YXRlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3N2ZycpLCAndHJhbnNmb3JtJywgYHJvdGF0ZSgke3RoaXMuaWNvblJvdGF0ZX1kZWcpYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyNyZWdpb24gc3ZnIGVsZW1lbnRcblxuICAgIHByaXZhdGUgc2V0U3ZnRWxlbWVudChzdmc6IFNWR0VsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5jbGVhclN2Z0VsZW1lbnQoKTtcblxuICAgICAgICAvLyBXb3JrYXJvdW5kIGZvciBJRTExIGFuZCBFZGdlIGlnbm9yaW5nIGBzdHlsZWAgdGFncyBpbnNpZGUgZHluYW1pY2FsbHktY3JlYXRlZCBTVkdzLlxuICAgICAgICAvLyBTZWU6IGh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vZW4tdXMvbWljcm9zb2Z0LWVkZ2UvcGxhdGZvcm0vaXNzdWVzLzEwODk4NDY5L1xuICAgICAgICAvLyBEbyB0aGlzIGJlZm9yZSBpbnNlcnRpbmcgdGhlIGVsZW1lbnQgaW50byB0aGUgRE9NLCBpbiBvcmRlciB0byBhdm9pZCBhIHN0eWxlIHJlY2FsY3VsYXRpb24uXG4gICAgICAgIGNvbnN0IHN0eWxlVGFncyA9IHN2Zy5xdWVyeVNlbGVjdG9yQWxsKCdzdHlsZScpIGFzIE5vZGVMaXN0T2Y8SFRNTFN0eWxlRWxlbWVudD47XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdHlsZVRhZ3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHN0eWxlVGFnc1tpXS50ZXh0Q29udGVudCArPSAnICc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pY29uVHlwZSA9PT0gJ3R3b3RvbmUnKSB7XG4gICAgICAgICAgICBjb25zdCBhbGxQYXRocyA9IHN2Zy5xdWVyeVNlbGVjdG9yQWxsKCdwYXRoJyk7XG4gICAgICAgICAgICBpZiAoYWxsUGF0aHMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgIGFsbFBhdGhzLmZvckVhY2goKGNoaWxkLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZC5nZXRBdHRyaWJ1dGUoJ2lkJykuaW5jbHVkZXMoJ3NlY29uZGFyeS1jb2xvcicpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZC5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCB0aGlzLmljb25Ud290b25lQ29sb3IpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBOb3RlOiB3ZSBkbyB0aGlzIGZpeCBoZXJlLCByYXRoZXIgdGhhbiB0aGUgaWNvbiByZWdpc3RyeSwgYmVjYXVzZSB0aGVcbiAgICAgICAgLy8gcmVmZXJlbmNlcyBoYXZlIHRvIHBvaW50IHRvIHRoZSBVUkwgYXQgdGhlIHRpbWUgdGhhdCB0aGUgaWNvbiB3YXMgY3JlYXRlZC5cbiAgICAgICAgLy8gaWYgKHRoaXMuX2xvY2F0aW9uKSB7XG4gICAgICAgIC8vICAgICBjb25zdCBwYXRoID0gdGhpcy5fbG9jYXRpb24uZ2V0UGF0aG5hbWUoKTtcbiAgICAgICAgLy8gICAgIHRoaXMuX3ByZXZpb3VzUGF0aCA9IHBhdGg7XG4gICAgICAgIC8vICAgICB0aGlzLl9jYWNoZUNoaWxkcmVuV2l0aEV4dGVybmFsUmVmZXJlbmNlcyhzdmcpO1xuICAgICAgICAvLyAgICAgdGhpcy5fcHJlcGVuZFBhdGhUb1JlZmVyZW5jZXMocGF0aCk7XG4gICAgICAgIC8vIH1cbiAgICAgICAgaWYgKHRoaXMuaWNvbkxpbmVhckdyYWRpZW50KSB7XG4gICAgICAgICAgICB0aGlzLnNldEJhc2VVcmwoc3ZnKTtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJUaXRsZUVsZW1lbnQoc3ZnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHN2Zyk7XG4gICAgICAgIHRoaXMuc2V0U3R5bGVSb3RhdGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyU3ZnRWxlbWVudCgpIHtcbiAgICAgICAgY29uc3QgbGF5b3V0RWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgbGV0IGNoaWxkQ291bnQgPSBsYXlvdXRFbGVtZW50LmNoaWxkTm9kZXMubGVuZ3RoO1xuXG4gICAgICAgIC8vIGlmICh0aGlzLl9lbGVtZW50c1dpdGhFeHRlcm5hbFJlZmVyZW5jZXMpIHtcbiAgICAgICAgLy8gICAgIHRoaXMuX2VsZW1lbnRzV2l0aEV4dGVybmFsUmVmZXJlbmNlcy5jbGVhcigpO1xuICAgICAgICAvLyB9XG5cbiAgICAgICAgLy8gUmVtb3ZlIGV4aXN0aW5nIG5vbi1lbGVtZW50IGNoaWxkIG5vZGVzIGFuZCBTVkdzLCBhbmQgYWRkIHRoZSBuZXcgU1ZHIGVsZW1lbnQuIE5vdGUgdGhhdFxuICAgICAgICAvLyB3ZSBjYW4ndCB1c2UgaW5uZXJIVE1MLCBiZWNhdXNlIElFIHdpbGwgdGhyb3cgaWYgdGhlIGVsZW1lbnQgaGFzIGEgZGF0YSBiaW5kaW5nLlxuICAgICAgICB3aGlsZSAoY2hpbGRDb3VudC0tKSB7XG4gICAgICAgICAgICBjb25zdCBjaGlsZCA9IGxheW91dEVsZW1lbnQuY2hpbGROb2Rlc1tjaGlsZENvdW50XTtcblxuICAgICAgICAgICAgLy8gMSBjb3JyZXNwb25kcyB0byBOb2RlLkVMRU1FTlRfTk9ERS4gV2UgcmVtb3ZlIGFsbCBub24tZWxlbWVudCBub2RlcyBpbiBvcmRlciB0byBnZXQgcmlkXG4gICAgICAgICAgICAvLyBvZiBhbnkgbG9vc2UgdGV4dCBub2RlcywgYXMgd2VsbCBhcyBhbnkgU1ZHIGVsZW1lbnRzIGluIG9yZGVyIHRvIHJlbW92ZSBhbnkgb2xkIGljb25zLlxuICAgICAgICAgICAgaWYgKGNoaWxkLm5vZGVUeXBlICE9PSAxIHx8IGNoaWxkLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdzdmcnKSB7XG4gICAgICAgICAgICAgICAgbGF5b3V0RWxlbWVudC5yZW1vdmVDaGlsZChjaGlsZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIHByaXZhdGUgYnVpbGRJY29uTmFtZUJ5VHlwZShpY29uTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLmljb25UeXBlICYmIFsnZmlsbCcsICd0d290b25lJ10uaW5kZXhPZih0aGlzLmljb25UeXBlKSA+PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBzdWZmaXggPSBpY29uU3VmZml4TWFwW3RoaXMuaWNvblR5cGVdO1xuICAgICAgICAgICAgcmV0dXJuIGljb25OYW1lLmluY2x1ZGVzKGAtJHtzdWZmaXh9YCkgPyBpY29uTmFtZSA6IGAke2ljb25OYW1lfS0ke3N1ZmZpeH1gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGljb25OYW1lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3VwcG9ydCBTYWZhcmkgU1ZHIExpbmVhckdyYWRpZW50LlxuICAgICAqIEBwYXJhbSBzdmdcbiAgICAgKi9cbiAgICBwcml2YXRlIHNldEJhc2VVcmwoc3ZnOiBTVkdFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IHN0eWxlRWxlbWVudHMgPSBzdmcucXVlcnlTZWxlY3RvckFsbCgnc3R5bGUnKTtcbiAgICAgICAgc3R5bGVFbGVtZW50cy5mb3JFYWNoKChuOiBIVE1MRWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKG4uc3R5bGUuY3NzVGV4dC5pbmNsdWRlcygndXJsJykpIHtcbiAgICAgICAgICAgICAgICBuLnN0eWxlLmZpbGwgPSBuLnN0eWxlLmZpbGwucmVwbGFjZSgndXJsKFwiJywgJ3VybChcIicgKyBsb2NhdGlvbi5wYXRobmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobi5zdHlsZS5jc3NUZXh0LmluY2x1ZGVzKCdjbGlwLXBhdGgnKSkge1xuICAgICAgICAgICAgICAgIG4uc3R5bGUuY2xpcFBhdGggPSBuLnN0eWxlLmNsaXBQYXRoLnJlcGxhY2UoJ3VybChcIicsICd1cmwoXCInICsgbG9jYXRpb24ucGF0aG5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyVGl0bGVFbGVtZW50KHN2ZzogU1ZHRWxlbWVudCkge1xuICAgICAgICBjb25zdCB0aXRsZUVsZW1lbnQgPSBzdmcucXVlcnlTZWxlY3RvcigndGl0bGUnKTtcbiAgICAgICAgdGl0bGVFbGVtZW50ICYmIHRpdGxlRWxlbWVudC5yZW1vdmUoKTtcbiAgICB9XG59XG4iXX0=