@taiga-ui/kit 2.41.1 → 2.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (710) hide show
  1. package/abstract/slider/slider.d.ts +3 -3
  2. package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
  3. package/bundles/taiga-ui-kit-abstract.umd.js +1 -0
  4. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-abstract.umd.min.js +2 -2
  6. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-action.umd.min.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-avatar.umd.js +1 -1
  12. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-avatar.umd.min.js +1 -1
  14. package/bundles/taiga-ui-kit-components-avatar.umd.min.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-calendar-range.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  26. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-combo-box.umd.js +1 -10
  30. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +1 -1
  32. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +65 -45
  34. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js +2 -2
  36. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-field-error.umd.js.map +1 -1
  38. package/bundles/taiga-ui-kit-components-field-error.umd.min.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-files.umd.js +49 -49
  40. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-files.umd.min.js +2 -2
  42. package/bundles/taiga-ui-kit-components-files.umd.min.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  44. package/bundles/taiga-ui-kit-components-filter.umd.min.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  46. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  48. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +3 -1
  50. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  52. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +4 -2
  53. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  54. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js +1 -1
  55. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  56. package/bundles/taiga-ui-kit-components-input-date.umd.js +3 -1
  57. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  58. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  59. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  60. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  62. package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
  64. package/bundles/taiga-ui-kit-components-input-inline.umd.min.js.map +1 -1
  65. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  66. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-input-month.umd.js +1 -1
  68. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-input-month.umd.min.js +1 -1
  70. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  71. package/bundles/taiga-ui-kit-components-input-number.umd.js +3 -2
  72. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +1 -1
  74. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-input-password.umd.js +1 -1
  76. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  77. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  78. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  79. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  80. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  81. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  82. package/bundles/taiga-ui-kit-components-input-range.umd.js +5 -1
  83. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  84. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +1 -1
  85. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  86. package/bundles/taiga-ui-kit-components-input-slider.umd.js +1 -1
  87. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  88. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
  89. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  90. package/bundles/taiga-ui-kit-components-input-tag.umd.js +9 -8
  91. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  92. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
  93. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  94. package/bundles/taiga-ui-kit-components-input-time.umd.js +1 -1
  95. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  96. package/bundles/taiga-ui-kit-components-input-time.umd.min.js +1 -1
  97. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  98. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  99. package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +7 -94
  101. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  102. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +2 -2
  103. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
  104. package/bundles/taiga-ui-kit-components-multi-select.umd.js +2 -2
  105. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  106. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +1 -1
  107. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  108. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  109. package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
  110. package/bundles/taiga-ui-kit-components-radio-block.umd.js +1 -1
  111. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  112. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js +1 -1
  113. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js.map +1 -1
  114. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +1 -1
  115. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  116. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js +1 -1
  117. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js.map +1 -1
  118. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  119. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js.map +1 -1
  120. package/bundles/taiga-ui-kit-components-radio.umd.js +4 -2
  121. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  122. package/bundles/taiga-ui-kit-components-radio.umd.min.js +1 -1
  123. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  124. package/bundles/taiga-ui-kit-components-range.umd.js +67 -13
  125. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  126. package/bundles/taiga-ui-kit-components-range.umd.min.js +2 -2
  127. package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
  128. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  129. package/bundles/taiga-ui-kit-components-select-option.umd.min.js.map +1 -1
  130. package/bundles/taiga-ui-kit-components-select.umd.js +1 -7
  131. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  132. package/bundles/taiga-ui-kit-components-select.umd.min.js +2 -2
  133. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  134. package/bundles/taiga-ui-kit-components-slider.umd.js +52 -49
  135. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  136. package/bundles/taiga-ui-kit-components-slider.umd.min.js +2 -2
  137. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  138. package/bundles/taiga-ui-kit-components-stepper.umd.js +1 -0
  139. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  140. package/bundles/taiga-ui-kit-components-stepper.umd.min.js +1 -1
  141. package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
  142. package/bundles/taiga-ui-kit-components-tabs.umd.js +67 -24
  143. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  144. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +2 -2
  145. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  146. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  147. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  148. package/bundles/taiga-ui-kit-components-text-area.umd.js +2 -2
  149. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  150. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  151. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  152. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  153. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  154. package/bundles/taiga-ui-kit-components-tree.umd.js +1 -1
  155. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  156. package/bundles/taiga-ui-kit-components-tree.umd.min.js +1 -1
  157. package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -1
  158. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js.map +1 -1
  159. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js.map +1 -1
  160. package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.js.map +1 -1
  161. package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.min.js.map +1 -1
  162. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
  163. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
  164. package/bundles/taiga-ui-kit-directives-highlight.umd.js.map +1 -1
  165. package/bundles/taiga-ui-kit-directives-highlight.umd.min.js.map +1 -1
  166. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  167. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js.map +1 -1
  168. package/bundles/taiga-ui-kit-directives-present.umd.js.map +1 -1
  169. package/bundles/taiga-ui-kit-directives-present.umd.min.js.map +1 -1
  170. package/bundles/taiga-ui-kit-directives-project-class.umd.js.map +1 -1
  171. package/bundles/taiga-ui-kit-directives-project-class.umd.min.js.map +1 -1
  172. package/bundles/taiga-ui-kit-enums.umd.js +2 -2
  173. package/bundles/taiga-ui-kit-enums.umd.js.map +1 -1
  174. package/bundles/taiga-ui-kit-enums.umd.min.js.map +1 -1
  175. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  176. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js.map +1 -1
  177. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  178. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js.map +1 -1
  179. package/bundles/taiga-ui-kit-tokens.umd.js +1 -1
  180. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  181. package/bundles/taiga-ui-kit-tokens.umd.min.js +1 -1
  182. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  183. package/bundles/taiga-ui-kit-utils-dom.umd.js.map +1 -1
  184. package/bundles/taiga-ui-kit-utils-dom.umd.min.js.map +1 -1
  185. package/bundles/taiga-ui-kit-utils-math.umd.js +253 -4
  186. package/bundles/taiga-ui-kit-utils-math.umd.js.map +1 -1
  187. package/bundles/taiga-ui-kit-utils-math.umd.min.js +15 -1
  188. package/bundles/taiga-ui-kit-utils-math.umd.min.js.map +1 -1
  189. package/bundles/taiga-ui-kit-utils.umd.js +12 -4
  190. package/bundles/taiga-ui-kit-utils.umd.js.map +1 -1
  191. package/bundles/taiga-ui-kit-utils.umd.min.js +1 -1
  192. package/components/accordion/accordion-item/accordion-item-content.directive.d.ts +2 -2
  193. package/components/accordion/accordion-item/accordion-item.component.d.ts +2 -2
  194. package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
  195. package/components/avatar/taiga-ui-kit-components-avatar.metadata.json +1 -1
  196. package/components/breadcrumbs/breadcrumbs-wrapper.component.d.ts +1 -1
  197. package/components/combo-box/combo-box.component.d.ts +1 -2
  198. package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
  199. package/components/data-list-wrapper/data-list-group-wrapper.component.d.ts +5 -4
  200. package/components/data-list-wrapper/data-list-wrapper.component.d.ts +3 -13
  201. package/components/data-list-wrapper/data-list-wrapper.d.ts +15 -0
  202. package/components/data-list-wrapper/index.d.ts +1 -0
  203. package/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.metadata.json +1 -1
  204. package/components/files/files.component.d.ts +1 -1
  205. package/components/files/index.d.ts +1 -0
  206. package/components/files/taiga-ui-kit-components-files.d.ts +0 -1
  207. package/components/files/taiga-ui-kit-components-files.metadata.json +1 -1
  208. package/components/input-count/input-count-options.d.ts +2 -2
  209. package/components/input-count/input-count.component.d.ts +2 -2
  210. package/components/input-date/input-date.providers.d.ts +2 -1
  211. package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
  212. package/components/input-date-range/input-date-range.providers.d.ts +2 -1
  213. package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
  214. package/components/input-date-time/input-date-time.providers.d.ts +2 -1
  215. package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
  216. package/components/input-file/file/file.component.d.ts +2 -2
  217. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  218. package/components/input-number/input-number.component.d.ts +2 -2
  219. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  220. package/components/input-password/input-password-options.d.ts +2 -2
  221. package/components/input-password/input-password.directive.d.ts +2 -1
  222. package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
  223. package/components/input-phone/input-phone.component.d.ts +2 -2
  224. package/components/input-range/input-range.component.d.ts +3 -2
  225. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  226. package/components/input-tag/input-tag.component.d.ts +4 -7
  227. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  228. package/components/input-time/input-time-options.d.ts +1 -1
  229. package/components/input-time/input-time.component.d.ts +2 -2
  230. package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
  231. package/components/line-clamp/index.d.ts +0 -1
  232. package/components/line-clamp/line-clamp.component.d.ts +0 -1
  233. package/components/line-clamp/taiga-ui-kit-components-line-clamp.metadata.json +1 -1
  234. package/components/multi-select/multi-select-group/multi-select-group.directive.d.ts +3 -3
  235. package/components/multi-select/multi-select.component.d.ts +2 -2
  236. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  237. package/components/radio/radio.component.d.ts +2 -2
  238. package/components/radio-block/taiga-ui-kit-components-radio-block.metadata.json +1 -1
  239. package/components/radio-labeled/taiga-ui-kit-components-radio-labeled.metadata.json +1 -1
  240. package/components/radio-list/taiga-ui-kit-components-radio-list.metadata.json +1 -1
  241. package/components/range/range.component.d.ts +11 -2
  242. package/components/range/taiga-ui-kit-components-range.metadata.json +1 -1
  243. package/components/select/select.component.d.ts +0 -1
  244. package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
  245. package/components/select-option/select-option.component.d.ts +2 -2
  246. package/components/select-option/taiga-ui-kit-components-select-option.metadata.json +1 -1
  247. package/components/slider/slider-readonly.directive.d.ts +4 -1
  248. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  249. package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
  250. package/components/tabs/index.d.ts +1 -0
  251. package/components/tabs/tab.directive.d.ts +2 -2
  252. package/components/tabs/tabs/tabs.component.d.ts +3 -1
  253. package/components/tabs/tabs-options.d.ts +9 -0
  254. package/components/tabs/tabs-with-more/tabs-with-more.component.d.ts +9 -4
  255. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  256. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  257. package/components/tree/misc/tree.interfaces.d.ts +1 -1
  258. package/components/tree/taiga-ui-kit-components-tree.metadata.json +1 -1
  259. package/directives/dropdown-selection/dropdown-selection.directive.d.ts +1 -1
  260. package/enums/dropdown-position.d.ts +2 -1
  261. package/enums/step-state.d.ts +2 -1
  262. package/enums/taiga-ui-kit-enums.metadata.json +1 -1
  263. package/esm2015/abstract/input-slider.js +1 -1
  264. package/esm2015/abstract/slider/slider.js +3 -2
  265. package/esm2015/components/accordion/accordion-item/accordion-item-content.directive.js +1 -1
  266. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +1 -1
  267. package/esm2015/components/accordion/accordion.component.js +1 -1
  268. package/esm2015/components/action/action.component.js +1 -1
  269. package/esm2015/components/avatar/avatar.component.js +2 -2
  270. package/esm2015/components/breadcrumbs/breadcrumbs-wrapper.component.js +1 -1
  271. package/esm2015/components/calendar-month/calendar-month.component.js +1 -1
  272. package/esm2015/components/calendar-range/calendar-range.component.js +1 -1
  273. package/esm2015/components/carousel/carousel.component.js +1 -1
  274. package/esm2015/components/checkbox/checkbox.component.js +1 -1
  275. package/esm2015/components/checkbox-block/checkbox-block.component.js +1 -1
  276. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +1 -1
  277. package/esm2015/components/combo-box/combo-box-strict.directive.js +1 -1
  278. package/esm2015/components/combo-box/combo-box.component.js +3 -12
  279. package/esm2015/components/combo-box/combo-box.directive.js +1 -1
  280. package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +15 -10
  281. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +7 -40
  282. package/esm2015/components/data-list-wrapper/data-list-wrapper.js +51 -0
  283. package/esm2015/components/data-list-wrapper/index.js +2 -1
  284. package/esm2015/components/field-error/field-error.component.js +1 -1
  285. package/esm2015/components/files/file/file.component.js +1 -1
  286. package/esm2015/components/files/files.component.js +1 -1
  287. package/esm2015/components/files/index.js +2 -1
  288. package/esm2015/components/files/taiga-ui-kit-components-files.js +1 -2
  289. package/esm2015/components/filter/filter.component.js +1 -1
  290. package/esm2015/components/input/input.component.js +1 -1
  291. package/esm2015/components/input/input.directive.js +1 -1
  292. package/esm2015/components/input-copy/input-copy.component.js +1 -1
  293. package/esm2015/components/input-copy/input-copy.directive.js +1 -1
  294. package/esm2015/components/input-count/input-count-options.js +1 -1
  295. package/esm2015/components/input-count/input-count.component.js +1 -1
  296. package/esm2015/components/input-count/input-count.directive.js +1 -1
  297. package/esm2015/components/input-date/input-date.component.js +1 -1
  298. package/esm2015/components/input-date/input-date.directive.js +1 -1
  299. package/esm2015/components/input-date/input-date.providers.js +1 -1
  300. package/esm2015/components/input-date-range/input-date-range.component.js +1 -1
  301. package/esm2015/components/input-date-range/input-date-range.directive.js +1 -1
  302. package/esm2015/components/input-date-range/input-date-range.providers.js +1 -1
  303. package/esm2015/components/input-date-time/input-date-time.component.js +2 -2
  304. package/esm2015/components/input-date-time/input-date-time.directive.js +1 -1
  305. package/esm2015/components/input-date-time/input-date-time.providers.js +1 -1
  306. package/esm2015/components/input-file/file/file.component.js +1 -1
  307. package/esm2015/components/input-file/input-file.component.js +1 -1
  308. package/esm2015/components/input-files/input-files.component.js +1 -1
  309. package/esm2015/components/input-inline/input-inline.component.js +1 -1
  310. package/esm2015/components/input-month/input-month.component.js +2 -2
  311. package/esm2015/components/input-month/input-month.directive.js +1 -1
  312. package/esm2015/components/input-month-range/input-month-range.component.js +1 -1
  313. package/esm2015/components/input-month-range/input-month-range.directive.js +1 -1
  314. package/esm2015/components/input-number/input-number.component.js +6 -5
  315. package/esm2015/components/input-number/input-number.directive.js +1 -1
  316. package/esm2015/components/input-password/input-password-options.js +3 -3
  317. package/esm2015/components/input-password/input-password.component.js +1 -1
  318. package/esm2015/components/input-password/input-password.directive.js +1 -1
  319. package/esm2015/components/input-phone/input-phone.component.js +1 -1
  320. package/esm2015/components/input-phone/input-phone.directive.js +1 -1
  321. package/esm2015/components/input-phone-international/input-phone-international.component.js +1 -1
  322. package/esm2015/components/input-range/input-range.component.js +7 -3
  323. package/esm2015/components/input-slider/input-slider.component.js +3 -3
  324. package/esm2015/components/input-tag/input-tag.component.js +10 -9
  325. package/esm2015/components/input-time/input-time-options.js +1 -1
  326. package/esm2015/components/input-time/input-time.component.js +2 -2
  327. package/esm2015/components/line-clamp/index.js +1 -2
  328. package/esm2015/components/line-clamp/line-clamp.component.js +3 -6
  329. package/esm2015/components/line-clamp/line-clamp.module.js +2 -3
  330. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +2 -2
  331. package/esm2015/components/multi-select/multi-select.component.js +2 -2
  332. package/esm2015/components/pagination/pagination.component.js +1 -1
  333. package/esm2015/components/radio/radio.component.js +5 -3
  334. package/esm2015/components/radio-block/radio-block.component.js +2 -2
  335. package/esm2015/components/radio-labeled/radio-labeled.component.js +2 -2
  336. package/esm2015/components/radio-list/radio-list.component.js +1 -1
  337. package/esm2015/components/range/range.component.js +70 -13
  338. package/esm2015/components/select/select.component.js +3 -9
  339. package/esm2015/components/select/select.directive.js +1 -1
  340. package/esm2015/components/select-option/select-option.component.js +1 -1
  341. package/esm2015/components/slider/slider-key-steps.directive.js +11 -28
  342. package/esm2015/components/slider/slider-old.component.js +1 -1
  343. package/esm2015/components/slider/slider-readonly.directive.js +38 -9
  344. package/esm2015/components/slider/slider.component.js +2 -2
  345. package/esm2015/components/stepper/step/step.component.js +1 -1
  346. package/esm2015/components/stepper/stepper.component.js +3 -2
  347. package/esm2015/components/tabs/index.js +2 -1
  348. package/esm2015/components/tabs/tab/tab.component.js +1 -1
  349. package/esm2015/components/tabs/tab.directive.js +1 -1
  350. package/esm2015/components/tabs/tabs/tabs.component.js +14 -10
  351. package/esm2015/components/tabs/tabs-options.js +14 -0
  352. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +38 -17
  353. package/esm2015/components/tag/tag.component.js +1 -1
  354. package/esm2015/components/text-area/text-area.component.js +3 -3
  355. package/esm2015/components/text-area/text-area.directive.js +1 -1
  356. package/esm2015/components/toggle/toggle.component.js +1 -1
  357. package/esm2015/components/tree/components/tree/tree.component.js +2 -2
  358. package/esm2015/components/tree/components/tree-item/tree-item.component.js +1 -1
  359. package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +1 -1
  360. package/esm2015/components/tree/directives/tree-controller.directive.js +1 -1
  361. package/esm2015/components/tree/directives/tree-item-controller.directive.js +1 -1
  362. package/esm2015/components/tree/directives/tree-node.directive.js +1 -1
  363. package/esm2015/components/tree/misc/tree.interfaces.js +1 -1
  364. package/esm2015/components/tree/misc/tree.service.js +1 -1
  365. package/esm2015/directives/dropdown-context/dropdown-context.directive.js +1 -1
  366. package/esm2015/directives/dropdown-hover/dropdown-hover.directive.js +1 -1
  367. package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +1 -1
  368. package/esm2015/directives/highlight/highlight.directive.js +1 -1
  369. package/esm2015/directives/lazy-loading/lazy-loading.directive.js +1 -1
  370. package/esm2015/directives/lazy-loading/lazy-loading.service.js +1 -1
  371. package/esm2015/directives/present/present.directive.js +1 -1
  372. package/esm2015/directives/project-class/project-class.directive.js +1 -1
  373. package/esm2015/enums/dropdown-position.js +2 -2
  374. package/esm2015/enums/step-state.js +2 -2
  375. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +1 -1
  376. package/esm2015/pipes/field-error/field-error-content-pipe.js +1 -1
  377. package/esm2015/pipes/field-error/field-error-pipe.js +1 -1
  378. package/esm2015/tokens/i18n.js +2 -2
  379. package/esm2015/types/handler-with-context.js +1 -1
  380. package/esm2015/utils/dom/scroll-to-element.js +1 -1
  381. package/esm2015/utils/dom/set-range-offset.js +1 -1
  382. package/esm2015/utils/index.js +2 -1
  383. package/esm2015/utils/math/index.js +2 -1
  384. package/esm2015/utils/math/key-steps.js +23 -0
  385. package/esm5/abstract/input-slider.js +1 -1
  386. package/esm5/abstract/slider/slider.js +3 -2
  387. package/esm5/components/accordion/accordion-item/accordion-item-content.directive.js +1 -1
  388. package/esm5/components/accordion/accordion-item/accordion-item.component.js +1 -1
  389. package/esm5/components/accordion/accordion.component.js +1 -1
  390. package/esm5/components/action/action.component.js +1 -1
  391. package/esm5/components/avatar/avatar.component.js +2 -2
  392. package/esm5/components/breadcrumbs/breadcrumbs-wrapper.component.js +1 -1
  393. package/esm5/components/calendar-month/calendar-month.component.js +1 -1
  394. package/esm5/components/calendar-range/calendar-range.component.js +1 -1
  395. package/esm5/components/carousel/carousel.component.js +1 -1
  396. package/esm5/components/checkbox/checkbox.component.js +1 -1
  397. package/esm5/components/checkbox-block/checkbox-block.component.js +1 -1
  398. package/esm5/components/checkbox-labeled/checkbox-labeled.component.js +1 -1
  399. package/esm5/components/combo-box/combo-box-strict.directive.js +1 -1
  400. package/esm5/components/combo-box/combo-box.component.js +3 -12
  401. package/esm5/components/combo-box/combo-box.directive.js +1 -1
  402. package/esm5/components/data-list-wrapper/data-list-group-wrapper.component.js +15 -10
  403. package/esm5/components/data-list-wrapper/data-list-wrapper.component.js +12 -55
  404. package/esm5/components/data-list-wrapper/data-list-wrapper.js +64 -0
  405. package/esm5/components/data-list-wrapper/index.js +2 -1
  406. package/esm5/components/field-error/field-error.component.js +1 -1
  407. package/esm5/components/files/file/file.component.js +1 -1
  408. package/esm5/components/files/files.component.js +1 -1
  409. package/esm5/components/files/index.js +2 -1
  410. package/esm5/components/files/taiga-ui-kit-components-files.js +1 -2
  411. package/esm5/components/filter/filter.component.js +1 -1
  412. package/esm5/components/input/input.component.js +1 -1
  413. package/esm5/components/input/input.directive.js +1 -1
  414. package/esm5/components/input-copy/input-copy.component.js +1 -1
  415. package/esm5/components/input-copy/input-copy.directive.js +1 -1
  416. package/esm5/components/input-count/input-count-options.js +1 -1
  417. package/esm5/components/input-count/input-count.component.js +1 -1
  418. package/esm5/components/input-count/input-count.directive.js +1 -1
  419. package/esm5/components/input-date/input-date.component.js +1 -1
  420. package/esm5/components/input-date/input-date.directive.js +1 -1
  421. package/esm5/components/input-date/input-date.providers.js +4 -2
  422. package/esm5/components/input-date-range/input-date-range.component.js +1 -1
  423. package/esm5/components/input-date-range/input-date-range.directive.js +1 -1
  424. package/esm5/components/input-date-range/input-date-range.providers.js +4 -2
  425. package/esm5/components/input-date-time/input-date-time.component.js +2 -2
  426. package/esm5/components/input-date-time/input-date-time.directive.js +1 -1
  427. package/esm5/components/input-date-time/input-date-time.providers.js +4 -2
  428. package/esm5/components/input-file/file/file.component.js +1 -1
  429. package/esm5/components/input-file/input-file.component.js +1 -1
  430. package/esm5/components/input-files/input-files.component.js +1 -1
  431. package/esm5/components/input-inline/input-inline.component.js +1 -1
  432. package/esm5/components/input-month/input-month.component.js +2 -2
  433. package/esm5/components/input-month/input-month.directive.js +1 -1
  434. package/esm5/components/input-month-range/input-month-range.component.js +1 -1
  435. package/esm5/components/input-month-range/input-month-range.directive.js +1 -1
  436. package/esm5/components/input-number/input-number.component.js +6 -5
  437. package/esm5/components/input-number/input-number.directive.js +1 -1
  438. package/esm5/components/input-password/input-password-options.js +2 -2
  439. package/esm5/components/input-password/input-password.component.js +1 -1
  440. package/esm5/components/input-password/input-password.directive.js +1 -1
  441. package/esm5/components/input-phone/input-phone.component.js +1 -1
  442. package/esm5/components/input-phone/input-phone.directive.js +1 -1
  443. package/esm5/components/input-phone-international/input-phone-international.component.js +1 -1
  444. package/esm5/components/input-range/input-range.component.js +6 -2
  445. package/esm5/components/input-slider/input-slider.component.js +2 -2
  446. package/esm5/components/input-tag/input-tag.component.js +10 -9
  447. package/esm5/components/input-time/input-time-options.js +1 -1
  448. package/esm5/components/input-time/input-time.component.js +2 -2
  449. package/esm5/components/line-clamp/index.js +1 -2
  450. package/esm5/components/line-clamp/line-clamp.component.js +3 -10
  451. package/esm5/components/line-clamp/line-clamp.module.js +2 -3
  452. package/esm5/components/multi-select/multi-select-group/multi-select-group.component.js +2 -2
  453. package/esm5/components/multi-select/multi-select.component.js +2 -2
  454. package/esm5/components/pagination/pagination.component.js +1 -1
  455. package/esm5/components/radio/radio.component.js +5 -3
  456. package/esm5/components/radio-block/radio-block.component.js +2 -2
  457. package/esm5/components/radio-labeled/radio-labeled.component.js +2 -2
  458. package/esm5/components/radio-list/radio-list.component.js +1 -1
  459. package/esm5/components/range/range.component.js +68 -12
  460. package/esm5/components/select/select.component.js +3 -9
  461. package/esm5/components/select/select.directive.js +1 -1
  462. package/esm5/components/select-option/select-option.component.js +1 -1
  463. package/esm5/components/slider/slider-key-steps.directive.js +13 -43
  464. package/esm5/components/slider/slider-old.component.js +1 -1
  465. package/esm5/components/slider/slider-readonly.directive.js +45 -9
  466. package/esm5/components/slider/slider.component.js +2 -2
  467. package/esm5/components/stepper/step/step.component.js +1 -1
  468. package/esm5/components/stepper/stepper.component.js +3 -2
  469. package/esm5/components/tabs/index.js +2 -1
  470. package/esm5/components/tabs/tab/tab.component.js +1 -1
  471. package/esm5/components/tabs/tab.directive.js +1 -1
  472. package/esm5/components/tabs/tabs/tabs.component.js +14 -10
  473. package/esm5/components/tabs/tabs-options.js +15 -0
  474. package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +42 -17
  475. package/esm5/components/tag/tag.component.js +1 -1
  476. package/esm5/components/text-area/text-area.component.js +3 -3
  477. package/esm5/components/text-area/text-area.directive.js +1 -1
  478. package/esm5/components/toggle/toggle.component.js +1 -1
  479. package/esm5/components/tree/components/tree/tree.component.js +2 -2
  480. package/esm5/components/tree/components/tree-item/tree-item.component.js +1 -1
  481. package/esm5/components/tree/components/tree-item-content/tree-item-content.component.js +1 -1
  482. package/esm5/components/tree/directives/tree-controller.directive.js +1 -1
  483. package/esm5/components/tree/directives/tree-item-controller.directive.js +1 -1
  484. package/esm5/components/tree/directives/tree-node.directive.js +1 -1
  485. package/esm5/components/tree/misc/tree.interfaces.js +1 -1
  486. package/esm5/components/tree/misc/tree.service.js +1 -1
  487. package/esm5/directives/dropdown-context/dropdown-context.directive.js +1 -1
  488. package/esm5/directives/dropdown-hover/dropdown-hover.directive.js +1 -1
  489. package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +1 -1
  490. package/esm5/directives/highlight/highlight.directive.js +1 -1
  491. package/esm5/directives/lazy-loading/lazy-loading.directive.js +1 -1
  492. package/esm5/directives/lazy-loading/lazy-loading.service.js +1 -1
  493. package/esm5/directives/present/present.directive.js +1 -1
  494. package/esm5/directives/project-class/project-class.directive.js +1 -1
  495. package/esm5/enums/dropdown-position.js +2 -2
  496. package/esm5/enums/step-state.js +2 -2
  497. package/esm5/internal/primitive-calendar-range/primitive-calendar-range.component.js +1 -1
  498. package/esm5/pipes/field-error/field-error-content-pipe.js +1 -1
  499. package/esm5/pipes/field-error/field-error-pipe.js +1 -1
  500. package/esm5/tokens/i18n.js +2 -2
  501. package/esm5/types/handler-with-context.js +1 -1
  502. package/esm5/utils/dom/scroll-to-element.js +1 -1
  503. package/esm5/utils/dom/set-range-offset.js +1 -1
  504. package/esm5/utils/index.js +2 -1
  505. package/esm5/utils/math/index.js +2 -1
  506. package/esm5/utils/math/key-steps.js +30 -0
  507. package/fesm2015/taiga-ui-kit-abstract.js +2 -1
  508. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  509. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  510. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  511. package/fesm2015/taiga-ui-kit-components-avatar.js +1 -1
  512. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  513. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  514. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  515. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  516. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  517. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  518. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  519. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  520. package/fesm2015/taiga-ui-kit-components-combo-box.js +2 -11
  521. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  522. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +56 -38
  523. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  524. package/fesm2015/taiga-ui-kit-components-field-error.js.map +1 -1
  525. package/fesm2015/taiga-ui-kit-components-files.js +47 -47
  526. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  527. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  528. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  529. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  530. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  531. package/fesm2015/taiga-ui-kit-components-input-date-time.js +1 -1
  532. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  533. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  534. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  535. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  536. package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
  537. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  538. package/fesm2015/taiga-ui-kit-components-input-month.js +1 -1
  539. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  540. package/fesm2015/taiga-ui-kit-components-input-number.js +5 -4
  541. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  542. package/fesm2015/taiga-ui-kit-components-input-password.js +2 -2
  543. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  544. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  545. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  546. package/fesm2015/taiga-ui-kit-components-input-range.js +6 -2
  547. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  548. package/fesm2015/taiga-ui-kit-components-input-slider.js +2 -2
  549. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  550. package/fesm2015/taiga-ui-kit-components-input-tag.js +9 -8
  551. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  552. package/fesm2015/taiga-ui-kit-components-input-time.js +1 -1
  553. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  554. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  555. package/fesm2015/taiga-ui-kit-components-line-clamp.js +9 -91
  556. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  557. package/fesm2015/taiga-ui-kit-components-multi-select.js +2 -2
  558. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  559. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  560. package/fesm2015/taiga-ui-kit-components-radio-block.js +1 -1
  561. package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
  562. package/fesm2015/taiga-ui-kit-components-radio-labeled.js +1 -1
  563. package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  564. package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
  565. package/fesm2015/taiga-ui-kit-components-radio.js +4 -2
  566. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  567. package/fesm2015/taiga-ui-kit-components-range.js +70 -14
  568. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  569. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  570. package/fesm2015/taiga-ui-kit-components-select.js +2 -8
  571. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  572. package/fesm2015/taiga-ui-kit-components-slider.js +44 -35
  573. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  574. package/fesm2015/taiga-ui-kit-components-stepper.js +2 -1
  575. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  576. package/fesm2015/taiga-ui-kit-components-tabs.js +62 -26
  577. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  578. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  579. package/fesm2015/taiga-ui-kit-components-text-area.js +2 -2
  580. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  581. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  582. package/fesm2015/taiga-ui-kit-components-tree.js +1 -1
  583. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  584. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  585. package/fesm2015/taiga-ui-kit-directives-dropdown-hover.js.map +1 -1
  586. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  587. package/fesm2015/taiga-ui-kit-directives-highlight.js.map +1 -1
  588. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  589. package/fesm2015/taiga-ui-kit-directives-present.js.map +1 -1
  590. package/fesm2015/taiga-ui-kit-directives-project-class.js.map +1 -1
  591. package/fesm2015/taiga-ui-kit-enums.js +2 -2
  592. package/fesm2015/taiga-ui-kit-enums.js.map +1 -1
  593. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  594. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
  595. package/fesm2015/taiga-ui-kit-tokens.js +1 -1
  596. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  597. package/fesm2015/taiga-ui-kit-utils-dom.js.map +1 -1
  598. package/fesm2015/taiga-ui-kit-utils-math.js +25 -1
  599. package/fesm2015/taiga-ui-kit-utils-math.js.map +1 -1
  600. package/fesm2015/taiga-ui-kit-utils.js +1 -0
  601. package/fesm2015/taiga-ui-kit-utils.js.map +1 -1
  602. package/fesm5/taiga-ui-kit-abstract.js +2 -1
  603. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  604. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  605. package/fesm5/taiga-ui-kit-components-action.js.map +1 -1
  606. package/fesm5/taiga-ui-kit-components-avatar.js +1 -1
  607. package/fesm5/taiga-ui-kit-components-avatar.js.map +1 -1
  608. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  609. package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
  610. package/fesm5/taiga-ui-kit-components-calendar-range.js.map +1 -1
  611. package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
  612. package/fesm5/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  613. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  614. package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
  615. package/fesm5/taiga-ui-kit-components-combo-box.js +2 -11
  616. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  617. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +66 -45
  618. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  619. package/fesm5/taiga-ui-kit-components-field-error.js.map +1 -1
  620. package/fesm5/taiga-ui-kit-components-files.js +52 -52
  621. package/fesm5/taiga-ui-kit-components-files.js.map +1 -1
  622. package/fesm5/taiga-ui-kit-components-filter.js.map +1 -1
  623. package/fesm5/taiga-ui-kit-components-input-copy.js.map +1 -1
  624. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  625. package/fesm5/taiga-ui-kit-components-input-date-range.js +3 -1
  626. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  627. package/fesm5/taiga-ui-kit-components-input-date-time.js +4 -2
  628. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  629. package/fesm5/taiga-ui-kit-components-input-date.js +3 -1
  630. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  631. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  632. package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -1
  633. package/fesm5/taiga-ui-kit-components-input-inline.js.map +1 -1
  634. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  635. package/fesm5/taiga-ui-kit-components-input-month.js +1 -1
  636. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  637. package/fesm5/taiga-ui-kit-components-input-number.js +5 -4
  638. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  639. package/fesm5/taiga-ui-kit-components-input-password.js +1 -1
  640. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  641. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  642. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  643. package/fesm5/taiga-ui-kit-components-input-range.js +5 -1
  644. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  645. package/fesm5/taiga-ui-kit-components-input-slider.js +1 -1
  646. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  647. package/fesm5/taiga-ui-kit-components-input-tag.js +9 -8
  648. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  649. package/fesm5/taiga-ui-kit-components-input-time.js +1 -1
  650. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  651. package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
  652. package/fesm5/taiga-ui-kit-components-line-clamp.js +9 -97
  653. package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
  654. package/fesm5/taiga-ui-kit-components-multi-select.js +2 -2
  655. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  656. package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
  657. package/fesm5/taiga-ui-kit-components-radio-block.js +1 -1
  658. package/fesm5/taiga-ui-kit-components-radio-block.js.map +1 -1
  659. package/fesm5/taiga-ui-kit-components-radio-labeled.js +1 -1
  660. package/fesm5/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  661. package/fesm5/taiga-ui-kit-components-radio-list.js.map +1 -1
  662. package/fesm5/taiga-ui-kit-components-radio.js +4 -2
  663. package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
  664. package/fesm5/taiga-ui-kit-components-range.js +68 -13
  665. package/fesm5/taiga-ui-kit-components-range.js.map +1 -1
  666. package/fesm5/taiga-ui-kit-components-select-option.js.map +1 -1
  667. package/fesm5/taiga-ui-kit-components-select.js +2 -8
  668. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  669. package/fesm5/taiga-ui-kit-components-slider.js +52 -49
  670. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  671. package/fesm5/taiga-ui-kit-components-stepper.js +2 -1
  672. package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
  673. package/fesm5/taiga-ui-kit-components-tabs.js +67 -27
  674. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  675. package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
  676. package/fesm5/taiga-ui-kit-components-text-area.js +2 -2
  677. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  678. package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
  679. package/fesm5/taiga-ui-kit-components-tree.js +1 -1
  680. package/fesm5/taiga-ui-kit-components-tree.js.map +1 -1
  681. package/fesm5/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  682. package/fesm5/taiga-ui-kit-directives-dropdown-hover.js.map +1 -1
  683. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  684. package/fesm5/taiga-ui-kit-directives-highlight.js.map +1 -1
  685. package/fesm5/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  686. package/fesm5/taiga-ui-kit-directives-present.js.map +1 -1
  687. package/fesm5/taiga-ui-kit-directives-project-class.js.map +1 -1
  688. package/fesm5/taiga-ui-kit-enums.js +2 -2
  689. package/fesm5/taiga-ui-kit-enums.js.map +1 -1
  690. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  691. package/fesm5/taiga-ui-kit-pipes-field-error.js.map +1 -1
  692. package/fesm5/taiga-ui-kit-tokens.js +1 -1
  693. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  694. package/fesm5/taiga-ui-kit-utils-dom.js.map +1 -1
  695. package/fesm5/taiga-ui-kit-utils-math.js +32 -1
  696. package/fesm5/taiga-ui-kit-utils-math.js.map +1 -1
  697. package/fesm5/taiga-ui-kit-utils.js +1 -0
  698. package/fesm5/taiga-ui-kit-utils.js.map +1 -1
  699. package/package.json +7 -7
  700. package/tokens/i18n.d.ts +1 -5
  701. package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
  702. package/types/handler-with-context.d.ts +2 -2
  703. package/utils/index.d.ts +1 -0
  704. package/utils/math/index.d.ts +1 -0
  705. package/utils/math/key-steps.d.ts +4 -0
  706. package/utils/math/taiga-ui-kit-utils-math.metadata.json +1 -1
  707. package/utils/taiga-ui-kit-utils.metadata.json +1 -1
  708. package/components/line-clamp/line-clamp.directive.d.ts +0 -11
  709. package/esm2015/components/line-clamp/line-clamp.directive.js +0 -87
  710. package/esm5/components/line-clamp/line-clamp.directive.js +0 -89
@@ -16,4 +16,4 @@ export const tuiInputTimeOptionsProvider = (options) => ({
16
16
  provide: TUI_INPUT_TIME_OPTIONS,
17
17
  useValue: Object.assign(Object.assign({}, TUI_INPUT_TIME_DEFAULT_OPTIONS), options),
18
18
  });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGltZS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXRpbWUvIiwic291cmNlcyI6WyJpbnB1dC10aW1lLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFHNUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBa0J4RCxrQ0FBa0M7QUFDbEMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsRUFBQyxTQUFTLEVBQU0sRUFBRSxFQUFFLENBQ2hELFNBQVMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUM7QUFFM0QsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQXdCO0lBQy9ELElBQUksRUFBRSxlQUFlO0lBQ3JCLElBQUksRUFBRSxPQUFPO0lBQ2IsT0FBTyxFQUFFLEVBQUU7SUFDWCxTQUFTLEVBQUUsZUFBZTtJQUMxQixRQUFRLEVBQUUsR0FBRztDQUNoQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQ3BELDZDQUE2QyxFQUM3QztJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyw4QkFBOEI7Q0FDaEQsQ0FDSixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBRW5CLENBQUMsT0FBcUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM3RCxPQUFPLEVBQUUsc0JBQXNCO0lBQy9CLFFBQVEsa0NBQU0sOEJBQThCLEdBQUssT0FBTyxDQUFDO0NBQzVELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW4sIFZhbHVlUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlDb250ZXh0V2l0aEltcGxpY2l0LCBUdWlUaW1lTW9kZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aVNpemVMLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtNQVhfVElNRV9WQUxVRVN9IGZyb20gJ0B0YWlnYS11aS9raXQvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpVGltZUZvcm1hdFBhcnRzfSBmcm9tICdAdGFpZ2EtdWkva2l0L3R5cGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlJbnB1dFRpbWVPcHRpb25zIHtcbiAgICByZWFkb25seSBpY29uOiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpU2l6ZVMgfCBUdWlTaXplTD4+O1xuICAgIHJlYWRvbmx5IG1vZGU6IFR1aVRpbWVNb2RlO1xuICAgIHJlYWRvbmx5IHBvc3RmaXg6IHN0cmluZztcbiAgICByZWFkb25seSBtYXhWYWx1ZXM6IFJlY29yZDxUdWlUaW1lRm9ybWF0UGFydHMsIG51bWJlcj47XG4gICAgcmVhZG9ubHkgaXRlbVNpemU6IFR1aVNpemVTIHwgVHVpU2l6ZUw7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQ6IHVzZSBUdWlJbnB1dFRpbWVPcHRpb25zIGluc3RlYWRcbiAqIHRvZG86IHJlbW92ZSBpbiAzLjBcbiAqL1xuZXhwb3J0IHR5cGUgSW5wdXRUaW1lT3B0aW9ucyA9IFR1aUlucHV0VGltZU9wdGlvbnM7XG5cbi8vIFRPRE86IHJlbW92ZSBpbiBpdnkgY29tcGlsYXRpb25cbmV4cG9ydCBjb25zdCBJTlBVVF9USU1FX0lDT04gPSAoeyRpbXBsaWNpdH06IGFueSkgPT5cbiAgICAkaW1wbGljaXQgPT09ICdzJyA/ICd0dWlJY29uVGltZScgOiAndHVpSWNvblRpbWVMYXJnZSc7XG5cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfVElNRV9ERUZBVUxUX09QVElPTlM6IFR1aUlucHV0VGltZU9wdGlvbnMgPSB7XG4gICAgaWNvbjogSU5QVVRfVElNRV9JQ09OLFxuICAgIG1vZGU6ICdISDpNTScsXG4gICAgcG9zdGZpeDogJycsXG4gICAgbWF4VmFsdWVzOiBNQVhfVElNRV9WQUxVRVMsXG4gICAgaXRlbVNpemU6ICdtJyxcbn07XG5cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfVElNRV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFR1aUlucHV0VGltZU9wdGlvbnM+KFxuICAgICdEZWZhdWx0IHBhcmFtZXRlcnMgZm9yIGlucHV0IHRpbWUgY29tcG9uZW50JyxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9JTlBVVF9USU1FX0RFRkFVTFRfT1BUSU9OUyxcbiAgICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IHR1aUlucHV0VGltZU9wdGlvbnNQcm92aWRlcjogKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpSW5wdXRUaW1lT3B0aW9ucz4sXG4pID0+IFZhbHVlUHJvdmlkZXIgPSAob3B0aW9uczogUGFydGlhbDxUdWlJbnB1dFRpbWVPcHRpb25zPikgPT4gKHtcbiAgICBwcm92aWRlOiBUVUlfSU5QVVRfVElNRV9PUFRJT05TLFxuICAgIHVzZVZhbHVlOiB7Li4uVFVJX0lOUFVUX1RJTUVfREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zfSxcbn0pO1xuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGltZS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXRpbWUvIiwic291cmNlcyI6WyJpbnB1dC10aW1lLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFHNUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBa0J4RCxrQ0FBa0M7QUFDbEMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsRUFBQyxTQUFTLEVBQU0sRUFBVSxFQUFFLENBQ3hELFNBQVMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUM7QUFFM0QsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQXdCO0lBQy9ELElBQUksRUFBRSxlQUFlO0lBQ3JCLElBQUksRUFBRSxPQUFPO0lBQ2IsT0FBTyxFQUFFLEVBQUU7SUFDWCxTQUFTLEVBQUUsZUFBZTtJQUMxQixRQUFRLEVBQUUsR0FBRztDQUNoQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQ3BELDZDQUE2QyxFQUM3QztJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyw4QkFBOEI7Q0FDaEQsQ0FDSixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBRW5CLENBQUMsT0FBcUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM3RCxPQUFPLEVBQUUsc0JBQXNCO0lBQy9CLFFBQVEsa0NBQU0sOEJBQThCLEdBQUssT0FBTyxDQUFDO0NBQzVELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW4sIFZhbHVlUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlDb250ZXh0V2l0aEltcGxpY2l0LCBUdWlUaW1lTW9kZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aVNpemVMLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtNQVhfVElNRV9WQUxVRVN9IGZyb20gJ0B0YWlnYS11aS9raXQvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpVGltZUZvcm1hdFBhcnRzfSBmcm9tICdAdGFpZ2EtdWkva2l0L3R5cGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlJbnB1dFRpbWVPcHRpb25zIHtcbiAgICByZWFkb25seSBpY29uOiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpU2l6ZVMgfCBUdWlTaXplTD4+O1xuICAgIHJlYWRvbmx5IG1vZGU6IFR1aVRpbWVNb2RlO1xuICAgIHJlYWRvbmx5IHBvc3RmaXg6IHN0cmluZztcbiAgICByZWFkb25seSBtYXhWYWx1ZXM6IFJlY29yZDxUdWlUaW1lRm9ybWF0UGFydHMsIG51bWJlcj47XG4gICAgcmVhZG9ubHkgaXRlbVNpemU6IFR1aVNpemVTIHwgVHVpU2l6ZUw7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQ6IHVzZSBUdWlJbnB1dFRpbWVPcHRpb25zIGluc3RlYWRcbiAqIHRvZG86IHJlbW92ZSBpbiAzLjBcbiAqL1xuZXhwb3J0IHR5cGUgSW5wdXRUaW1lT3B0aW9ucyA9IFR1aUlucHV0VGltZU9wdGlvbnM7XG5cbi8vIFRPRE86IHJlbW92ZSBpbiBpdnkgY29tcGlsYXRpb25cbmV4cG9ydCBjb25zdCBJTlBVVF9USU1FX0lDT04gPSAoeyRpbXBsaWNpdH06IGFueSk6IHN0cmluZyA9PlxuICAgICRpbXBsaWNpdCA9PT0gJ3MnID8gJ3R1aUljb25UaW1lJyA6ICd0dWlJY29uVGltZUxhcmdlJztcblxuZXhwb3J0IGNvbnN0IFRVSV9JTlBVVF9USU1FX0RFRkFVTFRfT1BUSU9OUzogVHVpSW5wdXRUaW1lT3B0aW9ucyA9IHtcbiAgICBpY29uOiBJTlBVVF9USU1FX0lDT04sXG4gICAgbW9kZTogJ0hIOk1NJyxcbiAgICBwb3N0Zml4OiAnJyxcbiAgICBtYXhWYWx1ZXM6IE1BWF9USU1FX1ZBTFVFUyxcbiAgICBpdGVtU2l6ZTogJ20nLFxufTtcblxuZXhwb3J0IGNvbnN0IFRVSV9JTlBVVF9USU1FX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48VHVpSW5wdXRUaW1lT3B0aW9ucz4oXG4gICAgJ0RlZmF1bHQgcGFyYW1ldGVycyBmb3IgaW5wdXQgdGltZSBjb21wb25lbnQnLFxuICAgIHtcbiAgICAgICAgZmFjdG9yeTogKCkgPT4gVFVJX0lOUFVUX1RJTUVfREVGQVVMVF9PUFRJT05TLFxuICAgIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgdHVpSW5wdXRUaW1lT3B0aW9uc1Byb3ZpZGVyOiAoXG4gICAgb3B0aW9uczogUGFydGlhbDxUdWlJbnB1dFRpbWVPcHRpb25zPixcbikgPT4gVmFsdWVQcm92aWRlciA9IChvcHRpb25zOiBQYXJ0aWFsPFR1aUlucHV0VGltZU9wdGlvbnM+KSA9PiAoe1xuICAgIHByb3ZpZGU6IFRVSV9JTlBVVF9USU1FX09QVElPTlMsXG4gICAgdXNlVmFsdWU6IHsuLi5UVUlfSU5QVVRfVElNRV9ERUZBVUxUX09QVElPTlMsIC4uLm9wdGlvbnN9LFxufSk7XG4iXX0=
@@ -237,7 +237,7 @@ __decorate([
237
237
  TuiInputTimeComponent = TuiInputTimeComponent_1 = __decorate([
238
238
  Component({
239
239
  selector: 'tui-input-time',
240
- template: "<tui-hosted-dropdown\n class=\"wrapper\"\n [canOpen]=\"interactive && !!filtered.length\"\n [content]=\"dropdownContent\"\n [open]=\"interactive && open && !!filtered.length\"\n (openChange)=\"onOpen($event)\"\n (focusedChange)=\"onFocused($event)\"\n>\n <tui-primitive-textfield\n tuiValueAccessor\n tuiTextfieldInputMode=\"numeric\"\n class=\"textfield\"\n [filler]=\"getFiller$(mode) | async\"\n [nativeId]=\"nativeId\"\n [pseudoFocused]=\"innerPseudoFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n [pseudoPressed]=\"pseudoPressed\"\n [invalid]=\"computedInvalid\"\n [focusable]=\"focusable\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"textMaskOptions\"\n [iconContent]=\"icon\"\n [value]=\"computedValue\"\n [postfix]=\"postfix\"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (keydown.arrowUp)=\"onArrowUp($event)\"\n (keydown.arrowDown)=\"onArrowDown($event)\"\n >\n <ng-content></ng-content>\n </tui-primitive-textfield>\n</tui-hosted-dropdown>\n<ng-template #dropdownContent>\n <tui-data-list automation-id=\"tui-input-time__dropdown\">\n <button\n *ngFor=\"let item of filtered\"\n tuiOption\n automation-id=\"tui-input-time__item\"\n [size]=\"itemSize\"\n [disabled]=\"disabledItemHandler(item)\"\n (click)=\"onMenuClick(item)\"\n >\n {{ item }}\n </button>\n </tui-data-list>\n</ng-template>\n",
240
+ template: "<tui-hosted-dropdown\n class=\"wrapper\"\n [canOpen]=\"interactive && !!filtered.length\"\n [content]=\"dropdownContent\"\n [open]=\"interactive && open && !!filtered.length\"\n (openChange)=\"onOpen($event)\"\n (focusedChange)=\"onFocused($event)\"\n>\n <tui-primitive-textfield\n tuiValueAccessor\n tuiTextfieldInputMode=\"numeric\"\n class=\"textfield\"\n [filler]=\"(getFiller$(mode) | async) || ''\"\n [nativeId]=\"nativeId\"\n [pseudoFocused]=\"innerPseudoFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n [pseudoPressed]=\"pseudoPressed\"\n [invalid]=\"computedInvalid\"\n [focusable]=\"focusable\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"textMaskOptions\"\n [iconContent]=\"icon\"\n [value]=\"computedValue\"\n [postfix]=\"postfix\"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (keydown.arrowUp)=\"onArrowUp($event)\"\n (keydown.arrowDown)=\"onArrowDown($event)\"\n >\n <ng-content></ng-content>\n </tui-primitive-textfield>\n</tui-hosted-dropdown>\n<ng-template #dropdownContent>\n <tui-data-list automation-id=\"tui-input-time__dropdown\">\n <button\n *ngFor=\"let item of filtered\"\n tuiOption\n automation-id=\"tui-input-time__item\"\n [size]=\"itemSize\"\n [disabled]=\"disabledItemHandler(item)\"\n (click)=\"onMenuClick(item)\"\n >\n {{ item }}\n </button>\n </tui-data-list>\n</ng-template>\n",
241
241
  changeDetection: ChangeDetectionStrategy.OnPush,
242
242
  providers: [
243
243
  {
@@ -256,4 +256,4 @@ TuiInputTimeComponent = TuiInputTimeComponent_1 = __decorate([
256
256
  __param(3, Inject(TUI_INPUT_TIME_OPTIONS))
257
257
  ], TuiInputTimeComponent);
258
258
  export { TuiInputTimeComponent };
259
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtdGltZS8iLCJzb3VyY2VzIjpbImlucHV0LXRpbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILDBCQUEwQixFQUMxQixvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLGdCQUFnQixFQUNoQiwyQkFBMkIsRUFDM0Isa0JBQWtCLEVBRWxCLGNBQWMsRUFFZCxPQUFPLEVBQ1AsT0FBTyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyw4QkFBOEIsRUFBcUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUNILDhCQUE4QixFQUM5QixpQkFBaUIsR0FDcEIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQUMsc0JBQXNCLEVBQXNCLE1BQU0sc0JBQXNCLENBQUM7QUFFakYsV0FBVztBQWNYLElBQWEscUJBQXFCLDZCQUFsQyxNQUFhLHFCQUNULFNBQVEsMEJBQW1DO0lBZ0MzQyxZQUlJLE9BQXlCLEVBQ0UsaUJBQW9DLEVBRTlDLFVB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QUUsZ0JBQWdCO1FBQzFCLHVuREFBeUM7UUFFekMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07UUFDL0MsU0FBUyxFQUFFO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLDJCQUEyQjtnQkFDcEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBcUIsQ0FBQzthQUN2RDtZQUNELGtDQUFrQztTQUNyQzs7S0FDSixDQUFDO0lBbUNPLFdBQUEsUUFBUSxFQUFFLENBQUE7SUFDVixXQUFBLElBQUksRUFBRSxDQUFBO0lBQ04sV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFFakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUN6QixXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUV0QixXQUFBLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0dBekMxQixxQkFBcUIsQ0F1UmpDO1NBdlJZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVFVJX1NUUklDVF9NQVRDSEVSLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICB0dWlQdXJlLFxuICAgIFR1aVRpbWUsXG4gICAgVHVpVGltZUxpa2UsXG4gICAgVHVpVGltZU1vZGUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsIFR1aVRleHRNYXNrT3B0aW9uc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Byb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9USU1FX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1xuICAgIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRUaW1lUGlwZSxcbiAgICB0dWlDcmVhdGVUaW1lTWFzayxcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscy9tYXNrJztcbmltcG9ydCB7VGV4dE1hc2tDb25maWd9IGZyb20gJ2FuZ3VsYXIyLXRleHQtbWFzayc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfVElNRV9PUFRJT05TLCBUdWlJbnB1dFRpbWVPcHRpb25zfSBmcm9tICcuL2lucHV0LXRpbWUtb3B0aW9ucyc7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC10aW1lJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtdGltZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC10aW1lLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRUaW1lQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgRklYRURfRFJPUERPV05fQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFRpbWVDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFR1aVRpbWU+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlUaW1lPiA9IEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGl0ZW1zOiByZWFkb25seSBUdWlUaW1lW10gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpdGVtU2l6ZTogVHVpSW5wdXRUaW1lT3B0aW9uc1snaXRlbVNpemUnXSA9IHRoaXMub3B0aW9ucy5pdGVtU2l6ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdHJpY3QgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtb2RlOiBUdWlJbnB1dFRpbWVPcHRpb25zWydtb2RlJ10gPSB0aGlzLm9wdGlvbnMubW9kZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwb3N0Zml4OiBUdWlJbnB1dFRpbWVPcHRpb25zWydwb3N0Zml4J10gPSB0aGlzLm9wdGlvbnMucG9zdGZpeDtcblxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX1RJTUVfVEVYVFMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGltZVRleHRzJDogT2JzZXJ2YWJsZTxSZWNvcmQ8VHVpVGltZU1vZGUsIHN0cmluZz4+LFxuICAgICAgICBASW5qZWN0KFRVSV9JTlBVVF9USU1FX09QVElPTlMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHVpSW5wdXRUaW1lT3B0aW9ucyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkID8gdGhpcy50ZXh0ZmllbGQubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgZmlsdGVyZWQoKTogcmVhZG9ubHkgVHVpVGltZVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyKHRoaXMuaXRlbXMsIHRoaXMubW9kZSwgdGhpcy5jb21wdXRlZFNlYXJjaCk7XG4gICAgfVxuXG4gICAgZ2V0IHRleHRNYXNrT3B0aW9ucygpOiBUZXh0TWFza0NvbmZpZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZU1hc2soXG4gICAgICAgICAgICB0aGlzLm1vZGUsXG4gICAgICAgICkgYXMgVHVpVGV4dE1hc2tPcHRpb25zIGFzIHVua25vd24gYXMgVGV4dE1hc2tDb25maWc7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlLnRvU3RyaW5nKHRoaXMubW9kZSkgOiB0aGlzLm5hdGl2ZVZhbHVlO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFNlYXJjaCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlZFZhbHVlLmxlbmd0aCAhPT0gdGhpcy5tb2RlLmxlbmd0aCA/IHRoaXMuY29tcHV0ZWRWYWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIGdldCBpbm5lclBzZXVkb0ZvY3VzZWQoKTogYm9vbGVhbiB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5wc2V1ZG9Gb2N1c2VkID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMub3BlbiB8fCB0aGlzLmNvbXB1dGVkRm9jdXNlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgaWNvbigpOiBUdWlJbnB1dFRpbWVPcHRpb25zWydpY29uJ10ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmljb247XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBzZXQgbmF0aXZlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXRGaWxsZXIkKG1vZGU6IFR1aVRpbWVNb2RlKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGltZVRleHRzJC5waXBlKG1hcCh0ZXh0cyA9PiB0ZXh0c1ttb2RlXSkpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBvbkNsaWNrKCkge1xuICAgICAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLm9wZW4gPSAhIXRoaXMuaXRlbXMubGVuZ3RoO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtYXRjaCA9IHRoaXMuZ2V0TWF0Y2godmFsdWUpO1xuXG4gICAgICAgIGlmIChtYXRjaCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG1hdGNoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCAhPT0gdGhpcy5tb2RlLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGltZSA9IFR1aVRpbWUuZnJvbVN0cmluZyh2YWx1ZSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnN0cmljdCA/IHRoaXMuZmluZE5lYXJlc3RUaW1lRnJvbUl0ZW1zKHRpbWUpIDogdGltZSk7XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGZvY3VzZWQgfHxcbiAgICAgICAgICAgIHRoaXMudmFsdWUgIT09IG51bGwgfHxcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPT09ICcnIHx8XG4gICAgICAgICAgICB0aGlzLm1vZGUgPT09ICdISDpNTSdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJzZWRUaW1lID0gVHVpVGltZS5mcm9tU3RyaW5nKHRoaXMubmF0aXZlVmFsdWUpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUocGFyc2VkVGltZSk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5uYXRpdmVWYWx1ZS5lbmRzV2l0aCgnLicpIHx8IHRoaXMubmF0aXZlVmFsdWUuZW5kc1dpdGgoJzonKSkge1xuICAgICAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB0aGlzLm5hdGl2ZVZhbHVlLnNsaWNlKDAsIC0xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIG9uQXJyb3dVcChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5pdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJvY2Vzc0Fycm93KGV2ZW50LCAxKTtcbiAgICB9XG5cbiAgICBvbkFycm93RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5pdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJvY2Vzc0Fycm93KGV2ZW50LCAtMSk7XG4gICAgfVxuXG4gICAgb25NZW51Q2xpY2soaXRlbTogVHVpVGltZSkge1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShpdGVtKTtcbiAgICB9XG5cbiAgICBvbk9wZW4ob3BlbjogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm9wZW4gPSBvcGVuO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IFR1aVRpbWUgfCBudWxsKSB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdmFsdWUgPyB0aGlzLmNvbXB1dGVkVmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY2FsY3VsYXRlTWFzayhtb2RlOiBUdWlUaW1lTW9kZSk6IFR1aVRleHRNYXNrT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBtYXNrOiB0dWlDcmVhdGVUaW1lTWFzayhtb2RlLCB0aGlzLm9wdGlvbnMubWF4VmFsdWVzKSxcbiAgICAgICAgICAgIHBpcGU6IHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRUaW1lUGlwZShtb2RlLCB0aGlzLm9wdGlvbnMubWF4VmFsdWVzKSxcbiAgICAgICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZmlsdGVyKFxuICAgICAgICBpdGVtczogcmVhZG9ubHkgVHVpVGltZVtdLFxuICAgICAgICBtb2RlOiBUdWlUaW1lTW9kZSxcbiAgICAgICAgc2VhcmNoOiBzdHJpbmcsXG4gICAgKTogcmVhZG9ubHkgVHVpVGltZVtdIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcihpdGVtID0+IGl0ZW0udG9TdHJpbmcobW9kZSkuaW5jbHVkZXMoc2VhcmNoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kTmVhcmVzdFRpbWVGcm9tSXRlbXModmFsdWU6IFR1aVRpbWUpOiBUdWlUaW1lIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgocHJldmlvdXMsIGN1cnJlbnQpID0+XG4gICAgICAgICAgICBNYXRoLmFicyhjdXJyZW50LnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKSAtIHZhbHVlLnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKSkgPFxuICAgICAgICAgICAgTWF0aC5hYnMocHJldmlvdXMudG9BYnNvbHV0ZU1pbGxpc2Vjb25kcygpIC0gdmFsdWUudG9BYnNvbHV0ZU1pbGxpc2Vjb25kcygpKVxuICAgICAgICAgICAgICAgID8gY3VycmVudFxuICAgICAgICAgICAgICAgIDogcHJldmlvdXMsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRNYXRjaCh2YWx1ZTogc3RyaW5nKTogVHVpVGltZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmQoaXRlbSA9PiBUVUlfU1RSSUNUX01BVENIRVIoaXRlbSwgdmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlKCkge1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NBcnJvdyhldmVudDogS2V5Ym9hcmRFdmVudCwgc2hpZnQ6IC0xIHwgMSkge1xuICAgICAgICBjb25zdCB7dGFyZ2V0fSA9IGV2ZW50O1xuXG4gICAgICAgIC8vIFRPRE86IGlmcmFtZSB3YXJuaW5nXG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5IHx8ICEodGFyZ2V0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNlbGVjdGlvblN0YXJ0ID0gdGFyZ2V0LnNlbGVjdGlvblN0YXJ0IHx8IDA7XG5cbiAgICAgICAgdGhpcy5zaGlmdFRpbWUodGhpcy5jYWxjdWxhdGVTaGlmdChzZWxlY3Rpb25TdGFydCwgc2hpZnQpKTtcblxuICAgICAgICB0YXJnZXQuc2V0U2VsZWN0aW9uUmFuZ2Uoc2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlvblN0YXJ0KTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVNoaWZ0KHNlbGVjdGlvblN0YXJ0OiBudW1iZXIsIHNoaWZ0OiBudW1iZXIpOiBUdWlUaW1lTGlrZSB7XG4gICAgICAgIGlmIChzZWxlY3Rpb25TdGFydCA8PSAyKSB7XG4gICAgICAgICAgICByZXR1cm4ge2hvdXJzOiBzaGlmdH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZWN0aW9uU3RhcnQgPD0gNSkge1xuICAgICAgICAgICAgcmV0dXJuIHttaW51dGVzOiBzaGlmdH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZWN0aW9uU3RhcnQgPD0gOCkge1xuICAgICAgICAgICAgcmV0dXJuIHtzZWNvbmRzOiBzaGlmdH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge21zOiBzaGlmdH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaGlmdFRpbWUoc2hpZnQ6IFR1aVRpbWVMaWtlKSB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbmNyZWFzZWRUaW1lID0gdGhpcy52YWx1ZS5zaGlmdChzaGlmdCk7XG5cbiAgICAgICAgLy8gTWFudWFsIHVwZGF0ZSBzbyB3ZSBjYW4gc2V0IGNhcmV0IHBvc2l0aW9uIHByb3Blcmx5XG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSBpbmNyZWFzZWRUaW1lLnRvU3RyaW5nKHRoaXMubW9kZSk7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoaW5jcmVhc2VkVGltZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KHByZXZlbnRTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCwgdHJ1ZSwgcHJldmVudFNjcm9sbCk7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
259
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtdGltZS8iLCJzb3VyY2VzIjpbImlucHV0LXRpbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILDBCQUEwQixFQUMxQixvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLGdCQUFnQixFQUNoQiwyQkFBMkIsRUFDM0Isa0JBQWtCLEVBRWxCLGNBQWMsRUFFZCxPQUFPLEVBQ1AsT0FBTyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyw4QkFBOEIsRUFBcUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUNILDhCQUE4QixFQUM5QixpQkFBaUIsR0FDcEIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQUMsc0JBQXNCLEVBQXNCLE1BQU0sc0JBQXNCLENBQUM7QUFFakYsV0FBVztBQWNYLElBQWEscUJBQXFCLDZCQUFsQyxNQUFhLHFCQUNULFNBQVEsMEJBQW1DO0lBZ0MzQyxZQUlJLE9BQXlCLEVBQ0UsaUJBQW9DLEVBRTlDLFVB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Z0JBQWdCO1FBQzFCLCtuREFBeUM7UUFFekMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07UUFDL0MsU0FBUyxFQUFFO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLDJCQUEyQjtnQkFDcEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBcUIsQ0FBQzthQUN2RDtZQUNELGtDQUFrQztTQUNyQzs7S0FDSixDQUFDO0lBbUNPLFdBQUEsUUFBUSxFQUFFLENBQUE7SUFDVixXQUFBLElBQUksRUFBRSxDQUFBO0lBQ04sV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFFakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUN6QixXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUV0QixXQUFBLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0dBekMxQixxQkFBcUIsQ0F1UmpDO1NBdlJZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVFVJX1NUUklDVF9NQVRDSEVSLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICB0dWlQdXJlLFxuICAgIFR1aVRpbWUsXG4gICAgVHVpVGltZUxpa2UsXG4gICAgVHVpVGltZU1vZGUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsIFR1aVRleHRNYXNrT3B0aW9uc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Byb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9USU1FX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1xuICAgIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRUaW1lUGlwZSxcbiAgICB0dWlDcmVhdGVUaW1lTWFzayxcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscy9tYXNrJztcbmltcG9ydCB7VGV4dE1hc2tDb25maWd9IGZyb20gJ2FuZ3VsYXIyLXRleHQtbWFzayc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfVElNRV9PUFRJT05TLCBUdWlJbnB1dFRpbWVPcHRpb25zfSBmcm9tICcuL2lucHV0LXRpbWUtb3B0aW9ucyc7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC10aW1lJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtdGltZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC10aW1lLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRUaW1lQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgRklYRURfRFJPUERPV05fQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFRpbWVDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFR1aVRpbWU+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlUaW1lPiA9IEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGl0ZW1zOiByZWFkb25seSBUdWlUaW1lW10gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpdGVtU2l6ZTogVHVpSW5wdXRUaW1lT3B0aW9uc1snaXRlbVNpemUnXSA9IHRoaXMub3B0aW9ucy5pdGVtU2l6ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdHJpY3QgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtb2RlOiBUdWlJbnB1dFRpbWVPcHRpb25zWydtb2RlJ10gPSB0aGlzLm9wdGlvbnMubW9kZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwb3N0Zml4OiBUdWlJbnB1dFRpbWVPcHRpb25zWydwb3N0Zml4J10gPSB0aGlzLm9wdGlvbnMucG9zdGZpeDtcblxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX1RJTUVfVEVYVFMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGltZVRleHRzJDogT2JzZXJ2YWJsZTxSZWNvcmQ8VHVpVGltZU1vZGUsIHN0cmluZz4+LFxuICAgICAgICBASW5qZWN0KFRVSV9JTlBVVF9USU1FX09QVElPTlMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHVpSW5wdXRUaW1lT3B0aW9ucyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkID8gdGhpcy50ZXh0ZmllbGQubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgZmlsdGVyZWQoKTogcmVhZG9ubHkgVHVpVGltZVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyKHRoaXMuaXRlbXMsIHRoaXMubW9kZSwgdGhpcy5jb21wdXRlZFNlYXJjaCk7XG4gICAgfVxuXG4gICAgZ2V0IHRleHRNYXNrT3B0aW9ucygpOiBUZXh0TWFza0NvbmZpZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZU1hc2soXG4gICAgICAgICAgICB0aGlzLm1vZGUsXG4gICAgICAgICkgYXMgVHVpVGV4dE1hc2tPcHRpb25zIGFzIHVua25vd24gYXMgVGV4dE1hc2tDb25maWc7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlLnRvU3RyaW5nKHRoaXMubW9kZSkgOiB0aGlzLm5hdGl2ZVZhbHVlO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFNlYXJjaCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlZFZhbHVlLmxlbmd0aCAhPT0gdGhpcy5tb2RlLmxlbmd0aCA/IHRoaXMuY29tcHV0ZWRWYWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIGdldCBpbm5lclBzZXVkb0ZvY3VzZWQoKTogYm9vbGVhbiB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5wc2V1ZG9Gb2N1c2VkID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMub3BlbiB8fCB0aGlzLmNvbXB1dGVkRm9jdXNlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgaWNvbigpOiBUdWlJbnB1dFRpbWVPcHRpb25zWydpY29uJ10ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmljb247XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBzZXQgbmF0aXZlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXRGaWxsZXIkKG1vZGU6IFR1aVRpbWVNb2RlKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGltZVRleHRzJC5waXBlKG1hcCh0ZXh0cyA9PiB0ZXh0c1ttb2RlXSkpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSAhIXRoaXMuaXRlbXMubGVuZ3RoO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtYXRjaCA9IHRoaXMuZ2V0TWF0Y2godmFsdWUpO1xuXG4gICAgICAgIGlmIChtYXRjaCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG1hdGNoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCAhPT0gdGhpcy5tb2RlLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGltZSA9IFR1aVRpbWUuZnJvbVN0cmluZyh2YWx1ZSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnN0cmljdCA/IHRoaXMuZmluZE5lYXJlc3RUaW1lRnJvbUl0ZW1zKHRpbWUpIDogdGltZSk7XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGZvY3VzZWQgfHxcbiAgICAgICAgICAgIHRoaXMudmFsdWUgIT09IG51bGwgfHxcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPT09ICcnIHx8XG4gICAgICAgICAgICB0aGlzLm1vZGUgPT09ICdISDpNTSdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJzZWRUaW1lID0gVHVpVGltZS5mcm9tU3RyaW5nKHRoaXMubmF0aXZlVmFsdWUpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUocGFyc2VkVGltZSk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5uYXRpdmVWYWx1ZS5lbmRzV2l0aCgnLicpIHx8IHRoaXMubmF0aXZlVmFsdWUuZW5kc1dpdGgoJzonKSkge1xuICAgICAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB0aGlzLm5hdGl2ZVZhbHVlLnNsaWNlKDAsIC0xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIG9uQXJyb3dVcChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByb2Nlc3NBcnJvdyhldmVudCwgMSk7XG4gICAgfVxuXG4gICAgb25BcnJvd0Rvd24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcm9jZXNzQXJyb3coZXZlbnQsIC0xKTtcbiAgICB9XG5cbiAgICBvbk1lbnVDbGljayhpdGVtOiBUdWlUaW1lKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGl0ZW0pO1xuICAgIH1cblxuICAgIG9uT3BlbihvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IG9wZW47XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogVHVpVGltZSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB2YWx1ZSA/IHRoaXMuY29tcHV0ZWRWYWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVNYXNrKG1vZGU6IFR1aVRpbWVNb2RlKTogVHVpVGV4dE1hc2tPcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG1hc2s6IHR1aUNyZWF0ZVRpbWVNYXNrKG1vZGUsIHRoaXMub3B0aW9ucy5tYXhWYWx1ZXMpLFxuICAgICAgICAgICAgcGlwZTogdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZFRpbWVQaXBlKG1vZGUsIHRoaXMub3B0aW9ucy5tYXhWYWx1ZXMpLFxuICAgICAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBmaWx0ZXIoXG4gICAgICAgIGl0ZW1zOiByZWFkb25seSBUdWlUaW1lW10sXG4gICAgICAgIG1vZGU6IFR1aVRpbWVNb2RlLFxuICAgICAgICBzZWFyY2g6IHN0cmluZyxcbiAgICApOiByZWFkb25seSBUdWlUaW1lW10ge1xuICAgICAgICByZXR1cm4gaXRlbXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS50b1N0cmluZyhtb2RlKS5pbmNsdWRlcyhzZWFyY2gpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmROZWFyZXN0VGltZUZyb21JdGVtcyh2YWx1ZTogVHVpVGltZSk6IFR1aVRpbWUgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChwcmV2aW91cywgY3VycmVudCkgPT5cbiAgICAgICAgICAgIE1hdGguYWJzKGN1cnJlbnQudG9BYnNvbHV0ZU1pbGxpc2Vjb25kcygpIC0gdmFsdWUudG9BYnNvbHV0ZU1pbGxpc2Vjb25kcygpKSA8XG4gICAgICAgICAgICBNYXRoLmFicyhwcmV2aW91cy50b0Fic29sdXRlTWlsbGlzZWNvbmRzKCkgLSB2YWx1ZS50b0Fic29sdXRlTWlsbGlzZWNvbmRzKCkpXG4gICAgICAgICAgICAgICAgPyBjdXJyZW50XG4gICAgICAgICAgICAgICAgOiBwcmV2aW91cyxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE1hdGNoKHZhbHVlOiBzdHJpbmcpOiBUdWlUaW1lIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZChpdGVtID0+IFRVSV9TVFJJQ1RfTUFUQ0hFUihpdGVtLCB2YWx1ZSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc0Fycm93KGV2ZW50OiBFdmVudCwgc2hpZnQ6IC0xIHwgMSk6IHZvaWQge1xuICAgICAgICBjb25zdCB7dGFyZ2V0fSA9IGV2ZW50O1xuXG4gICAgICAgIC8vIFRPRE86IGlmcmFtZSB3YXJuaW5nXG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5IHx8ICEodGFyZ2V0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNlbGVjdGlvblN0YXJ0ID0gdGFyZ2V0LnNlbGVjdGlvblN0YXJ0IHx8IDA7XG5cbiAgICAgICAgdGhpcy5zaGlmdFRpbWUodGhpcy5jYWxjdWxhdGVTaGlmdChzZWxlY3Rpb25TdGFydCwgc2hpZnQpKTtcblxuICAgICAgICB0YXJnZXQuc2V0U2VsZWN0aW9uUmFuZ2Uoc2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlvblN0YXJ0KTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVNoaWZ0KHNlbGVjdGlvblN0YXJ0OiBudW1iZXIsIHNoaWZ0OiBudW1iZXIpOiBUdWlUaW1lTGlrZSB7XG4gICAgICAgIGlmIChzZWxlY3Rpb25TdGFydCA8PSAyKSB7XG4gICAgICAgICAgICByZXR1cm4ge2hvdXJzOiBzaGlmdH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZWN0aW9uU3RhcnQgPD0gNSkge1xuICAgICAgICAgICAgcmV0dXJuIHttaW51dGVzOiBzaGlmdH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VsZWN0aW9uU3RhcnQgPD0gOCkge1xuICAgICAgICAgICAgcmV0dXJuIHtzZWNvbmRzOiBzaGlmdH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge21zOiBzaGlmdH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaGlmdFRpbWUoc2hpZnQ6IFR1aVRpbWVMaWtlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbmNyZWFzZWRUaW1lOiBUdWlUaW1lID0gdGhpcy52YWx1ZS5zaGlmdChzaGlmdCk7XG5cbiAgICAgICAgLy8gTWFudWFsIHVwZGF0ZSBzbyB3ZSBjYW4gc2V0IGNhcmV0IHBvc2l0aW9uIHByb3Blcmx5XG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSBpbmNyZWFzZWRUaW1lLnRvU3RyaW5nKHRoaXMubW9kZSk7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoaW5jcmVhc2VkVGltZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KHByZXZlbnRTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCwgdHJ1ZSwgcHJldmVudFNjcm9sbCk7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,4 +1,3 @@
1
1
  export * from './line-clamp.component';
2
- export * from './line-clamp.directive';
3
2
  export * from './line-clamp.module';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvbGluZS1jbGFtcC8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saW5lLWNsYW1wLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpbmUtY2xhbXAuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGluZS1jbGFtcC5tb2R1bGUnO1xuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvbGluZS1jbGFtcC8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGluZS1jbGFtcC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saW5lLWNsYW1wLm1vZHVsZSc7XG4iXX0=
@@ -36,9 +36,6 @@ let TuiLineClampComponent = class TuiLineClampComponent {
36
36
  get computedContent() {
37
37
  return this.overflown ? this.content : '';
38
38
  }
39
- get oneLine() {
40
- return this.linesLimit$.value === 1;
41
- }
42
39
  get maxHeight() {
43
40
  return this.initialized ? this.lineHeight * this.linesLimit$.value : null;
44
41
  }
@@ -93,9 +90,9 @@ __decorate([
93
90
  TuiLineClampComponent = __decorate([
94
91
  Component({
95
92
  selector: 'tui-line-clamp',
96
- template: "<div\n polymorpheus-outlet\n lineClamp\n tuiHintId=\"unnecessary\"\n tuiHintMode=\"overflow\"\n class=\"wrapper\"\n [tuiHint]=\"computedContent\"\n [class.wrapper_ellipsis]=\"oneLine\"\n [style.-webkit-line-clamp]=\"lineClamp$ | async\"\n [content]=\"content\"\n (tuiResize)=\"updateView()\"\n></div>\n",
93
+ template: "<div\n polymorpheus-outlet\n tuiHintId=\"unnecessary\"\n tuiHintMode=\"overflow\"\n class=\"wrapper\"\n [tuiHint]=\"computedContent\"\n [style.-webkit-line-clamp]=\"lineClamp$ | async\"\n [content]=\"content\"\n (tuiResize)=\"updateView()\"\n></div>\n",
97
94
  changeDetection: ChangeDetectionStrategy.OnPush,
98
- styles: [":host{position:relative;display:block;overflow:hidden}:host._initialized{transition-property:max-height;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.wrapper{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.wrapper_ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}"]
95
+ styles: [":host{position:relative;display:block;overflow:hidden}:host._initialized{transition-property:max-height;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.wrapper{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}"]
99
96
  }),
100
97
  __param(0, Inject(ElementRef)),
101
98
  __param(1, Inject(Renderer2)),
@@ -103,4 +100,4 @@ TuiLineClampComponent = __decorate([
103
100
  __param(3, Inject(NgZone))
104
101
  ], TuiLineClampComponent);
105
102
  export { TuiLineClampComponent };
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1jbGFtcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvbGluZS1jbGFtcC8iLCJzb3VyY2VzIjpbImxpbmUtY2xhbXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsYUFBYSxFQUNiLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBc0IsMkJBQTJCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRixPQUFPLEVBQUMsZUFBZSxFQUFjLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBUTdFLElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXFCO0lBcUI5QixZQUN5QyxVQUFtQyxFQUNwQyxRQUFtQixFQUNYLEVBQXFCLEVBQ2hDLE1BQWM7UUFIVixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNwQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ1gsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXJCbEMsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQVU1QixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBSWhCLFlBQU8sR0FBd0IsRUFBRSxDQUFDO1FBUTlCLElBQUksQ0FBQyxx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Q0FBQywyQkFBMkIsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUMsQ0FBQztxREFDVDtBQU9sRDtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTt1REFHaEI7QUFJRDtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTt5REFDRDtBQUloQjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTtzREFDaUI7QUFZbEM7SUFEQyxPQUFPO3VEQWNQO0FBdUJEO0lBREMsV0FBVyxDQUFDLG9CQUFvQixDQUFDO3NEQUdqQztBQUdEO0lBREMsV0FBVyxDQUFDLGlCQUFpQixDQUFDO21EQUc5QjtBQTFFUSxxQkFBcUI7SUFOakMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGdCQUFnQjtRQUMxQix3VkFBeUM7UUFFekMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O0tBQ2xELENBQUM7SUF1Qk8sV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUN6QixXQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtHQXpCVixxQkFBcUIsQ0E0RmpDO1NBNUZZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtpc0N1cnJlbnRUYXJnZXQsIHR1aURlZmF1bHRQcm9wLCB0dWlQdXJlLCB0eXBlZEZyb21FdmVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnQsIFBvbHltb3JwaGV1c091dGxldENvbXBvbmVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwVG8sIHBhaXJ3aXNlLCBzdGFydFdpdGgsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1saW5lLWNsYW1wJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGluZS1jbGFtcC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9saW5lLWNsYW1wLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTGluZUNsYW1wQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZChQb2x5bW9ycGhldXNPdXRsZXRDb21wb25lbnQsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IG91dGxldD86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaW5lc0xpbWl0JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMSk7XG4gICAgcHJpdmF0ZSBpbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNldCBsaW5lc0xpbWl0KGxpbmVzTGltaXQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLmxpbmVzTGltaXQkLm5leHQobGluZXNMaW1pdCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGxpbmVIZWlnaHQgPSAyNDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50ID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFJlbmRlcmVyMikgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBwcml2YXRlIHJlYWRvbmx5IGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc2tpcEluaXRpYWxUcmFuc2l0aW9uKCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXQgbGluZUNsYW1wJCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5saW5lc0xpbWl0JC5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKDEpLFxuICAgICAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoW3ByZXYsIG5leHRdKSA9PlxuICAgICAgICAgICAgICAgIG5leHQgPj0gcHJldlxuICAgICAgICAgICAgICAgICAgICA/IG9mKG5leHQpXG4gICAgICAgICAgICAgICAgICAgIDogdHlwZWRGcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2l0aW9uZW5kJykucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKGlzQ3VycmVudFRhcmdldCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcFRvKG5leHQpLFxuICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBvdmVyZmxvd24oKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5vdXRsZXQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHtzY3JvbGxIZWlnaHQsIHNjcm9sbFdpZHRofSA9IHRoaXMub3V0bGV0Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHtjbGllbnRIZWlnaHQsIGNsaWVudFdpZHRofSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIC8vIDRweCBidWZmZXIgZm9yIElFL0VkZ2UgaW5jb3JyZWN0bHkgcm91bmRpbmcgc2Nyb2xsSGVpZ2h0XG4gICAgICAgIHJldHVybiBzY3JvbGxIZWlnaHQgLSBjbGllbnRIZWlnaHQgPiA0IHx8IHNjcm9sbFdpZHRoIC0gY2xpZW50V2lkdGggPiAwO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZENvbnRlbnQoKTogUG9seW1vcnBoZXVzQ29udGVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJmbG93biA/IHRoaXMuY29udGVudCA6ICcnO1xuICAgIH1cblxuICAgIGdldCBvbmVMaW5lKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5saW5lc0xpbWl0JC52YWx1ZSA9PT0gMTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heEhlaWdodC5weCcpXG4gICAgZ2V0IG1heEhlaWdodCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZWQgPyB0aGlzLmxpbmVIZWlnaHQgKiB0aGlzLmxpbmVzTGltaXQkLnZhbHVlIDogbnVsbDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodC5weCcpXG4gICAgZ2V0IGhlaWdodCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLm91dGxldCA/IDAgOiB0aGlzLm91dGxldC5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCArIDQgfHwgbnVsbDtcbiAgICB9XG5cbiAgICB1cGRhdGVWaWV3KCkge1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2tpcEluaXRpYWxUcmFuc2l0aW9uKCkge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnX2luaXRpYWxpemVkJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1jbGFtcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvbGluZS1jbGFtcC8iLCJzb3VyY2VzIjpbImxpbmUtY2xhbXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsYUFBYSxFQUNiLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBc0IsMkJBQTJCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRixPQUFPLEVBQUMsZUFBZSxFQUFjLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBUTdFLElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXFCO0lBcUI5QixZQUN5QyxVQUFtQyxFQUNwQyxRQUFtQixFQUNYLEVBQXFCLEVBQ2hDLE1BQWM7UUFIVixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNwQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ1gsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXJCbEMsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQVU1QixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBSWhCLFlBQU8sR0FBd0IsRUFBRSxDQUFDO1FBUTlCLElBQUksQ0FBQyxx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Q1AsY0FBYyxFQUFFO3VEQUdoQjtBQUlEO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFO3lEQUNEO0FBSWhCO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFO3NEQUNpQjtBQVlsQztJQURDLE9BQU87dURBY1A7QUFtQkQ7SUFEQyxXQUFXLENBQUMsb0JBQW9CLENBQUM7c0RBR2pDO0FBR0Q7SUFEQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7bURBRzlCO0FBdEVRLHFCQUFxQjtJQU5qQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsZ0JBQWdCO1FBQzFCLCtSQUF5QztRQUV6QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7S0FDbEQsQ0FBQztJQXVCTyxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNqQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3pCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0dBekJWLHFCQUFxQixDQXdGakM7U0F4RlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2lzQ3VycmVudFRhcmdldCwgdHVpRGVmYXVsdFByb3AsIHR1aVB1cmUsIHR5cGVkRnJvbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudCwgUG9seW1vcnBoZXVzT3V0bGV0Q29tcG9uZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXBUbywgcGFpcndpc2UsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWxpbmUtY2xhbXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saW5lLWNsYW1wLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xpbmUtY2xhbXAuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlMaW5lQ2xhbXBDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkKFBvbHltb3JwaGV1c091dGxldENvbXBvbmVudCwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3V0bGV0PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmVzTGltaXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgxKTtcbiAgICBwcml2YXRlIGluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2V0IGxpbmVzTGltaXQobGluZXNMaW1pdDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMubGluZXNMaW1pdCQubmV4dChsaW5lc0xpbWl0KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbGluZUhlaWdodCA9IDI0O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQgPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoUmVuZGVyZXIyKSBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIHByaXZhdGUgcmVhZG9ubHkgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KE5nWm9uZSkgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5za2lwSW5pdGlhbFRyYW5zaXRpb24oKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldCBsaW5lQ2xhbXAkKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxpbmVzTGltaXQkLnBpcGUoXG4gICAgICAgICAgICBzdGFydFdpdGgoMSksXG4gICAgICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKChbcHJldiwgbmV4dF0pID0+XG4gICAgICAgICAgICAgICAgbmV4dCA+PSBwcmV2XG4gICAgICAgICAgICAgICAgICAgID8gb2YobmV4dClcbiAgICAgICAgICAgICAgICAgICAgOiB0eXBlZEZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RyYW5zaXRpb25lbmQnKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoaXNDdXJyZW50VGFyZ2V0KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwVG8obmV4dCksXG4gICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IG92ZXJmbG93bigpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLm91dGxldCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge3Njcm9sbEhlaWdodCwgc2Nyb2xsV2lkdGh9ID0gdGhpcy5vdXRsZXQubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qge2NsaWVudEhlaWdodCwgY2xpZW50V2lkdGh9ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgLy8gNHB4IGJ1ZmZlciBmb3IgSUUvRWRnZSBpbmNvcnJlY3RseSByb3VuZGluZyBzY3JvbGxIZWlnaHRcbiAgICAgICAgcmV0dXJuIHNjcm9sbEhlaWdodCAtIGNsaWVudEhlaWdodCA+IDQgfHwgc2Nyb2xsV2lkdGggLSBjbGllbnRXaWR0aCA+IDA7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkQ29udGVudCgpOiBQb2x5bW9ycGhldXNDb250ZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmZsb3duID8gdGhpcy5jb250ZW50IDogJyc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXhIZWlnaHQucHgnKVxuICAgIGdldCBtYXhIZWlnaHQoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVkID8gdGhpcy5saW5lSGVpZ2h0ICogdGhpcy5saW5lc0xpbWl0JC52YWx1ZSA6IG51bGw7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQucHgnKVxuICAgIGdldCBoZWlnaHQoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5vdXRsZXQgPyAwIDogdGhpcy5vdXRsZXQubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQgKyA0IHx8IG51bGw7XG4gICAgfVxuXG4gICAgdXBkYXRlVmlldygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNraXBJbml0aWFsVHJhbnNpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ19pbml0aWFsaXplZCcpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -5,15 +5,14 @@ import { TuiResizeModule } from '@taiga-ui/cdk';
5
5
  import { TuiHintModule } from '@taiga-ui/core';
6
6
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
7
7
  import { TuiLineClampComponent } from './line-clamp.component';
8
- import { TuiLineClampDirective } from './line-clamp.directive';
9
8
  let TuiLineClampModule = class TuiLineClampModule {
10
9
  };
11
10
  TuiLineClampModule = __decorate([
12
11
  NgModule({
13
12
  imports: [CommonModule, PolymorpheusModule, TuiHintModule, TuiResizeModule],
14
- declarations: [TuiLineClampComponent, TuiLineClampDirective],
13
+ declarations: [TuiLineClampComponent],
15
14
  exports: [TuiLineClampComponent],
16
15
  })
17
16
  ], TuiLineClampModule);
18
17
  export { TuiLineClampModule };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1jbGFtcC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvbGluZS1jbGFtcC8iLCJzb3VyY2VzIjpbImxpbmUtY2xhbXAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUU1RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQU83RCxJQUFhLGtCQUFrQixHQUEvQixNQUFhLGtCQUFrQjtDQUFHLENBQUE7QUFBckIsa0JBQWtCO0lBTDlCLFFBQVEsQ0FBQztRQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDO1FBQzNFLFlBQVksRUFBRSxDQUFDLHFCQUFxQixFQUFFLHFCQUFxQixDQUFDO1FBQzVELE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO0tBQ25DLENBQUM7R0FDVyxrQkFBa0IsQ0FBRztTQUFyQixrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlSZXNpemVNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlIaW50TW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c01vZHVsZX0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHtUdWlMaW5lQ2xhbXBDb21wb25lbnR9IGZyb20gJy4vbGluZS1jbGFtcC5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlMaW5lQ2xhbXBEaXJlY3RpdmV9IGZyb20gJy4vbGluZS1jbGFtcC5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFBvbHltb3JwaGV1c01vZHVsZSwgVHVpSGludE1vZHVsZSwgVHVpUmVzaXplTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtUdWlMaW5lQ2xhbXBDb21wb25lbnQsIFR1aUxpbmVDbGFtcERpcmVjdGl2ZV0sXG4gICAgZXhwb3J0czogW1R1aUxpbmVDbGFtcENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUxpbmVDbGFtcE1vZHVsZSB7fVxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1jbGFtcC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvbGluZS1jbGFtcC8iLCJzb3VyY2VzIjpbImxpbmUtY2xhbXAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUU1RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQU83RCxJQUFhLGtCQUFrQixHQUEvQixNQUFhLGtCQUFrQjtDQUFHLENBQUE7QUFBckIsa0JBQWtCO0lBTDlCLFFBQVEsQ0FBQztRQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDO1FBQzNFLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO1FBQ3JDLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO0tBQ25DLENBQUM7R0FDVyxrQkFBa0IsQ0FBRztTQUFyQixrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlSZXNpemVNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlIaW50TW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c01vZHVsZX0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHtUdWlMaW5lQ2xhbXBDb21wb25lbnR9IGZyb20gJy4vbGluZS1jbGFtcC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFBvbHltb3JwaGV1c01vZHVsZSwgVHVpSGludE1vZHVsZSwgVHVpUmVzaXplTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtUdWlMaW5lQ2xhbXBDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtUdWlMaW5lQ2xhbXBDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlMaW5lQ2xhbXBNb2R1bGUge31cbiJdfQ==
@@ -94,7 +94,7 @@ __decorate([
94
94
  TuiMultiSelectGroupComponent = __decorate([
95
95
  Component({
96
96
  selector: 'tui-opt-group[tuiMultiSelectGroup]',
97
- template: "<ng-container *tuiLet=\"value$ | async as value\">\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiOption\n [size]=\"size\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onClick(value)\"\n >\n <tui-primitive-checkbox\n class=\"t-checkbox\"\n [size]=\"checkboxSize\"\n [value]=\"value\"\n ></tui-primitive-checkbox>\n <span class=\"t-label\">{{ label }}</span>\n </button>\n</ng-container>\n<ng-content></ng-content>\n",
97
+ template: "<ng-container *tuiLet=\"value$ | async as value\">\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiOption\n [size]=\"size\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n <tui-primitive-checkbox\n class=\"t-checkbox\"\n [size]=\"checkboxSize\"\n [value]=\"value\"\n ></tui-primitive-checkbox>\n <span class=\"t-label\">{{ label }}</span>\n </button>\n</ng-container>\n<ng-content></ng-content>\n",
98
98
  changeDetection: ChangeDetectionStrategy.OnPush,
99
99
  viewProviders: [
100
100
  {
@@ -108,4 +108,4 @@ TuiMultiSelectGroupComponent = __decorate([
108
108
  __param(1, Inject(NgControl))
109
109
  ], TuiMultiSelectGroupComponent);
110
110
  export { TuiMultiSelectGroupComponent };
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9tdWx0aS1zZWxlY3QvIiwic291cmNlcyI6WyJtdWx0aS1zZWxlY3QtZ3JvdXAvbXVsdGktc2VsZWN0LWdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLE1BQU0sRUFDTixLQUFLLEdBRVIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxXQUFXLEVBQ1gsNkJBQTZCLEVBQzdCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsNEJBQTRCLEVBQzVCLGNBQWMsRUFFZCxPQUFPLEVBQ1AsMkJBQTJCLEdBQzlCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxVQUFVLEVBQ1Ysa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUVsQixrQkFBa0IsR0FHckIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsYUFBYSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQWNuQyxJQUFhLDRCQUE0QixHQUF6QyxNQUFhLDRCQUE0QjtJQVFyQyxZQUNpRCxJQUF3QixFQUNqQyxPQUFrQjtRQURULFNBQUksR0FBSixJQUFJLENBQW9CO1FBQ2pDLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFSekMsWUFBTyxHQUFxQyxXQUFXLENBQUM7UUFJekUsVUFBSyxHQUFHLEVBQUUsQ0FBQztJQUtSLENBQUM7SUFFSixJQUFJLElBQUk7UUFDSixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElB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QUUsa0JBQWtCO2dCQUMzQixRQUFRLEVBQUUsSUFBSTthQUNqQjtTQUNKOztLQUNKLENBQUM7SUFVTyxXQUFBLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBQzFCLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0dBVmIsNEJBQTRCLENBZ0d4QztTQWhHWSw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBFTVBUWV9RVUVSWSxcbiAgICBnZXRPcmlnaW5hbEFycmF5RnJvbVF1ZXJ5TGlzdCxcbiAgICBpc1ByZXNlbnQsXG4gICAgaXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlLFxuICAgIFRVSV9ERUZBVUxUX0lERU5USVRZX01BVENIRVIsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpSWRlbnRpdHlNYXRjaGVyLFxuICAgIHR1aVB1cmUsXG4gICAgdHVpUmVwbGF5ZWRWYWx1ZUNoYW5nZXNGcm9tLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgc2l6ZUJpZ2dlcixcbiAgICBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgVFVJX09QVElPTl9DT05URU5ULFxuICAgIFR1aURhdGFMaXN0SG9zdCxcbiAgICBUdWlPcHRpb25Db21wb25lbnQsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZVhTLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktb3B0LWdyb3VwW3R1aU11bHRpU2VsZWN0R3JvdXBdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VsZWN0LWdyb3VwLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL211bHRpLXNlbGVjdC1ncm91cC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgdmlld1Byb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfT1BUSU9OX0NPTlRFTlQsXG4gICAgICAgICAgICB1c2VWYWx1ZTogbnVsbCxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlNdWx0aVNlbGVjdEdyb3VwQ29tcG9uZW50PFQ+IHtcbiAgICBAQ29udGVudENoaWxkcmVuKFR1aU9wdGlvbkNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFF1ZXJ5TGlzdDxUdWlPcHRpb25Db21wb25lbnQ8VD4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbGFiZWwgPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9EQVRBX0xJU1RfSE9TVCkgcHJpdmF0ZSByZWFkb25seSBob3N0OiBUdWlEYXRhTGlzdEhvc3Q8VD4sXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKSBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2w6IE5nQ29udHJvbCxcbiAgICApIHt9XG5cbiAgICBnZXQgc2l6ZSgpOiBUdWlTaXplWFMgfCBUdWlTaXplTCB7XG4gICAgICAgIHJldHVybiAodGhpcy5vcHRpb25zLmZpcnN0ICYmIHRoaXMub3B0aW9ucy5maXJzdC5zaXplKSB8fCAnbSc7XG4gICAgfVxuXG4gICAgZ2V0IGNoZWNrYm94U2l6ZSgpOiBUdWlTaXplTCB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZmlyc3QgJiYgc2l6ZUJpZ2dlcih0aGlzLm9wdGlvbnMuZmlyc3Quc2l6ZSkgPyAnbCcgOiAnbSc7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXQgZW1wdHkkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gaXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlKHRoaXMub3B0aW9ucykucGlwZShtYXAoKHtsZW5ndGh9KSA9PiAhbGVuZ3RoKSk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXQgZGlzYWJsZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gaXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlKHRoaXMub3B0aW9ucykucGlwZShcbiAgICAgICAgICAgIG1hcChpdGVtcyA9PiBpdGVtcy5ldmVyeSgoe2Rpc2FibGVkfSkgPT4gZGlzYWJsZWQpKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldCB2YWx1ZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuIHwgbnVsbD4ge1xuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdCh0aGlzLml0ZW1zJCwgdGhpcy52YWx1ZUNoYW5nZXMkKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbaXRlbXMsIGN1cnJlbnRdKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZCA9IGN1cnJlbnQuc29tZShzZWxlY3RlZCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXRjaGVyKHNlbGVjdGVkLCBpdGVtc1tpXSksXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCghc2VsZWN0ZWQgJiYgcmVzdWx0KSB8fCAoc2VsZWN0ZWQgJiYgIXJlc3VsdCAmJiBpKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBzZWxlY3RlZDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25DbGljayhjaGVja2VkOiBib29sZWFuIHwgbnVsbCkge1xuICAgICAgICBpZiAoIXRoaXMuY29udHJvbC5jb250cm9sKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb250cm9sVmFsdWU6IHJlYWRvbmx5IFRbXSA9IHRoaXMuY29udHJvbC52YWx1ZSB8fCBbXTtcbiAgICAgICAgY29uc3Qge3ZhbHVlc30gPSB0aGlzO1xuICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IGNvbnRyb2xWYWx1ZS5maWx0ZXIoY3VycmVudCA9PlxuICAgICAgICAgICAgdmFsdWVzLmV2ZXJ5KGl0ZW0gPT4gIXRoaXMubWF0Y2hlcihjdXJyZW50LCBpdGVtKSksXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5jb250cm9sLmNvbnRyb2wuc2V0VmFsdWUoY2hlY2tlZCA/IGZpbHRlcmVkIDogWy4uLmZpbHRlcmVkLCAuLi52YWx1ZXNdKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB2YWx1ZXMoKTogcmVhZG9ubHkgVFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyKGdldE9yaWdpbmFsQXJyYXlGcm9tUXVlcnlMaXN0KHRoaXMub3B0aW9ucykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IG1hdGNoZXIoKTogVHVpSWRlbnRpdHlNYXRjaGVyPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdC5pZGVudGl0eU1hdGNoZXIgfHwgVFVJX0RFRkFVTFRfSURFTlRJVFlfTUFUQ0hFUjtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0IGl0ZW1zJCgpOiBPYnNlcnZhYmxlPHJlYWRvbmx5IFRbXT4ge1xuICAgICAgICByZXR1cm4gaXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlKHRoaXMub3B0aW9ucykucGlwZShcbiAgICAgICAgICAgIG1hcChvcHRpb25zID0+IG9wdGlvbnMubWFwKCh7dmFsdWV9KSA9PiB2YWx1ZSkuZmlsdGVyKGlzUHJlc2VudCkpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXQgdmFsdWVDaGFuZ2VzJCgpOiBPYnNlcnZhYmxlPHJlYWRvbmx5IFRbXT4ge1xuICAgICAgICByZXR1cm4gdHVpUmVwbGF5ZWRWYWx1ZUNoYW5nZXNGcm9tPHJlYWRvbmx5IFRbXT4odGhpcy5jb250cm9sKS5waXBlKFxuICAgICAgICAgICAgbWFwKHZhbHVlID0+IHZhbHVlIHx8IFtdKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZmlsdGVyKGl0ZW1zOiBSZWFkb25seUFycmF5PFR1aU9wdGlvbkNvbXBvbmVudDxUPj4pOiByZWFkb25seSBUW10ge1xuICAgICAgICByZXR1cm4gaXRlbXMubWFwKCh7dmFsdWV9KSA9PiB2YWx1ZSkuZmlsdGVyKGlzUHJlc2VudCk7XG4gICAgfVxufVxuIl19
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9tdWx0aS1zZWxlY3QvIiwic291cmNlcyI6WyJtdWx0aS1zZWxlY3QtZ3JvdXAvbXVsdGktc2VsZWN0LWdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLE1BQU0sRUFDTixLQUFLLEdBRVIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxXQUFXLEVBQ1gsNkJBQTZCLEVBQzdCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsNEJBQTRCLEVBQzVCLGNBQWMsRUFFZCxPQUFPLEVBQ1AsMkJBQTJCLEdBQzlCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxVQUFVLEVBQ1Ysa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUVsQixrQkFBa0IsR0FHckIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsYUFBYSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQWNuQyxJQUFhLDRCQUE0QixHQUF6QyxNQUFhLDRCQUE0QjtJQVFyQyxZQUNpRCxJQUF3QixFQUNqQyxPQUFrQjtRQURULFNBQUksR0FBSixJQUFJLENBQW9CO1FBQ2pDLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFSekMsWUFBTyxHQUFxQyxXQUFXLENBQUM7UUFJekUsVUFBSyxHQUFHLEVBQUUsQ0FBQztJQUtSLENBQUM7SUFFSixJQUFJLElBQUk7UUFDSixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElB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QUUsa0JBQWtCO2dCQUMzQixRQUFRLEVBQUUsSUFBSTthQUNqQjtTQUNKOztLQUNKLENBQUM7SUFVTyxXQUFBLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBQzFCLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0dBVmIsNEJBQTRCLENBZ0d4QztTQWhHWSw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBFTVBUWV9RVUVSWSxcbiAgICBnZXRPcmlnaW5hbEFycmF5RnJvbVF1ZXJ5TGlzdCxcbiAgICBpc1ByZXNlbnQsXG4gICAgaXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlLFxuICAgIFRVSV9ERUZBVUxUX0lERU5USVRZX01BVENIRVIsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpSWRlbnRpdHlNYXRjaGVyLFxuICAgIHR1aVB1cmUsXG4gICAgdHVpUmVwbGF5ZWRWYWx1ZUNoYW5nZXNGcm9tLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgc2l6ZUJpZ2dlcixcbiAgICBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgVFVJX09QVElPTl9DT05URU5ULFxuICAgIFR1aURhdGFMaXN0SG9zdCxcbiAgICBUdWlPcHRpb25Db21wb25lbnQsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZVhTLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktb3B0LWdyb3VwW3R1aU11bHRpU2VsZWN0R3JvdXBdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VsZWN0LWdyb3VwLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL211bHRpLXNlbGVjdC1ncm91cC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgdmlld1Byb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfT1BUSU9OX0NPTlRFTlQsXG4gICAgICAgICAgICB1c2VWYWx1ZTogbnVsbCxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlNdWx0aVNlbGVjdEdyb3VwQ29tcG9uZW50PFQ+IHtcbiAgICBAQ29udGVudENoaWxkcmVuKFR1aU9wdGlvbkNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFF1ZXJ5TGlzdDxUdWlPcHRpb25Db21wb25lbnQ8VD4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbGFiZWwgPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9EQVRBX0xJU1RfSE9TVCkgcHJpdmF0ZSByZWFkb25seSBob3N0OiBUdWlEYXRhTGlzdEhvc3Q8VD4sXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKSBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2w6IE5nQ29udHJvbCxcbiAgICApIHt9XG5cbiAgICBnZXQgc2l6ZSgpOiBUdWlTaXplWFMgfCBUdWlTaXplTCB7XG4gICAgICAgIHJldHVybiAodGhpcy5vcHRpb25zLmZpcnN0ICYmIHRoaXMub3B0aW9ucy5maXJzdC5zaXplKSB8fCAnbSc7XG4gICAgfVxuXG4gICAgZ2V0IGNoZWNrYm94U2l6ZSgpOiBUdWlTaXplTCB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZmlyc3QgJiYgc2l6ZUJpZ2dlcih0aGlzLm9wdGlvbnMuZmlyc3Quc2l6ZSkgPyAnbCcgOiAnbSc7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXQgZW1wdHkkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gaXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlKHRoaXMub3B0aW9ucykucGlwZShtYXAoKHtsZW5ndGh9KSA9PiAhbGVuZ3RoKSk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXQgZGlzYWJsZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gaXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlKHRoaXMub3B0aW9ucykucGlwZShcbiAgICAgICAgICAgIG1hcChpdGVtcyA9PiBpdGVtcy5ldmVyeSgoe2Rpc2FibGVkfSkgPT4gZGlzYWJsZWQpKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldCB2YWx1ZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuIHwgbnVsbD4ge1xuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdCh0aGlzLml0ZW1zJCwgdGhpcy52YWx1ZUNoYW5nZXMkKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbaXRlbXMsIGN1cnJlbnRdKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZCA9IGN1cnJlbnQuc29tZShzZWxlY3RlZCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXRjaGVyKHNlbGVjdGVkLCBpdGVtc1tpXSksXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCghc2VsZWN0ZWQgJiYgcmVzdWx0KSB8fCAoc2VsZWN0ZWQgJiYgIXJlc3VsdCAmJiBpKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBzZWxlY3RlZDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25DbGljayhjaGVja2VkOiBib29sZWFuIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY29udHJvbC5jb250cm9sKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb250cm9sVmFsdWU6IHJlYWRvbmx5IFRbXSA9IHRoaXMuY29udHJvbC52YWx1ZSB8fCBbXTtcbiAgICAgICAgY29uc3Qge3ZhbHVlc30gPSB0aGlzO1xuICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IGNvbnRyb2xWYWx1ZS5maWx0ZXIoY3VycmVudCA9PlxuICAgICAgICAgICAgdmFsdWVzLmV2ZXJ5KGl0ZW0gPT4gIXRoaXMubWF0Y2hlcihjdXJyZW50LCBpdGVtKSksXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5jb250cm9sLmNvbnRyb2wuc2V0VmFsdWUoY2hlY2tlZCA/IGZpbHRlcmVkIDogWy4uLmZpbHRlcmVkLCAuLi52YWx1ZXNdKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB2YWx1ZXMoKTogcmVhZG9ubHkgVFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyKGdldE9yaWdpbmFsQXJyYXlGcm9tUXVlcnlMaXN0KHRoaXMub3B0aW9ucykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IG1hdGNoZXIoKTogVHVpSWRlbnRpdHlNYXRjaGVyPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdC5pZGVudGl0eU1hdGNoZXIgfHwgVFVJX0RFRkFVTFRfSURFTlRJVFlfTUFUQ0hFUjtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0IGl0ZW1zJCgpOiBPYnNlcnZhYmxlPHJlYWRvbmx5IFRbXT4ge1xuICAgICAgICByZXR1cm4gaXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlKHRoaXMub3B0aW9ucykucGlwZShcbiAgICAgICAgICAgIG1hcChvcHRpb25zID0+IG9wdGlvbnMubWFwKCh7dmFsdWV9KSA9PiB2YWx1ZSkuZmlsdGVyKGlzUHJlc2VudCkpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXQgdmFsdWVDaGFuZ2VzJCgpOiBPYnNlcnZhYmxlPHJlYWRvbmx5IFRbXT4ge1xuICAgICAgICByZXR1cm4gdHVpUmVwbGF5ZWRWYWx1ZUNoYW5nZXNGcm9tPHJlYWRvbmx5IFRbXT4odGhpcy5jb250cm9sKS5waXBlKFxuICAgICAgICAgICAgbWFwKHZhbHVlID0+IHZhbHVlIHx8IFtdKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZmlsdGVyKGl0ZW1zOiBSZWFkb25seUFycmF5PFR1aU9wdGlvbkNvbXBvbmVudDxUPj4pOiByZWFkb25seSBUW10ge1xuICAgICAgICByZXR1cm4gaXRlbXMubWFwKCh7dmFsdWV9KSA9PiB2YWx1ZSkuZmlsdGVyKGlzUHJlc2VudCk7XG4gICAgfVxufVxuIl19
@@ -231,7 +231,7 @@ TuiMultiSelectComponent = TuiMultiSelectComponent_1 = __decorate([
231
231
  FIXED_DROPDOWN_CONTROLLER_PROVIDER,
232
232
  TEXTFIELD_CONTROLLER_PROVIDER,
233
233
  ],
234
- styles: [":host{position:relative;display:block}:host._disabled{pointer-events:none}.t-hosted{display:block}:host:not(._editable):not(._readonly) .input{cursor:pointer}.t-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;pointer-events:none;justify-content:flex-end}.t-wrapper_disabled{opacity:var(--tui-disabled-opacity)}:host-context([data-size='s']) .t-wrapper{height:var(--tui-height-s)}:host-context([data-size='m']) .t-wrapper{height:var(--tui-height-m)}:host-context([data-size='l']) .t-wrapper{height:var(--tui-height-l)}.t-group{display:flex;flex:1;align-items:center;padding:1.6875rem 1rem .5625rem}.t-group_fullsize{padding-top:.0625rem;padding-bottom:0}:host[data-size='m'] .t-group_fullsize.t-group_fullsize{padding-top:0}:host[data-size='m'] .t-group{padding:1.1875rem .75rem 0;font-size:.8125rem}.t-arrow{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;transition-property:color,transform;width:1.5rem;height:auto;margin:0 .75rem;pointer-events:auto;cursor:pointer}.t-arrow:hover{color:var(--tui-text-02)}:host._disabled .t-arrow,:host._readonly .t-arrow{pointer-events:none}:host[data-mode=onDark] .t-arrow{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-arrow:hover{color:var(--tui-text-01-night)}"]
234
+ styles: [":host{position:relative;display:block}:host._disabled{pointer-events:none}.t-hosted{display:block}:host:not(._editable):not(._readonly) .input{cursor:pointer}.t-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;pointer-events:none;justify-content:flex-end}.t-wrapper_disabled{opacity:var(--tui-disabled-opacity)}:host[data-size='s'] .t-wrapper{height:var(--tui-height-s)}:host[data-size='m'] .t-wrapper{height:var(--tui-height-m)}:host[data-size='l'] .t-wrapper{height:var(--tui-height-l)}.t-group{display:flex;flex:1;align-items:center;padding:1.6875rem 1rem .5625rem}.t-group_fullsize{padding-top:.0625rem;padding-bottom:0}:host[data-size='m'] .t-group_fullsize.t-group_fullsize{padding-top:0}:host[data-size='m'] .t-group{padding:1.1875rem .75rem 0;font-size:.8125rem}.t-arrow{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;transition-property:color,transform;width:1.5rem;height:auto;margin:0 .75rem;pointer-events:auto;cursor:pointer}.t-arrow:hover{color:var(--tui-text-02)}:host._disabled .t-arrow,:host._readonly .t-arrow{pointer-events:none}:host[data-mode=onDark] .t-arrow{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-arrow:hover{color:var(--tui-text-01-night)}"]
235
235
  }),
236
236
  __param(0, Optional()),
237
237
  __param(0, Self()),
@@ -244,4 +244,4 @@ TuiMultiSelectComponent = TuiMultiSelectComponent_1 = __decorate([
244
244
  __param(6, Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER))
245
245
  ], TuiMultiSelectComponent);
246
246
  export { TuiMultiSelectComponent };
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9tdWx0aS1zZWxlY3QvIiwic291cmNlcyI6WyJtdWx0aS1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsV0FBVyxFQUNYLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBSTNCLGNBQWMsRUFHZCxPQUFPLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILDZCQUE2QixFQUM3QixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLGdDQUFnQyxFQUNoQyxtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDZiwwQkFBMEIsRUFDMUIsUUFBUSxFQUNSLFFBQVEsRUFDUixRQUFRLEVBQ1IsYUFBYSxFQUNiLHNCQUFzQixHQUN6QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBQyxjQUFjLEVBQWUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0seUJB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QUFDLGFBQWEsQ0FBQyxDQUFBO0lBQ3JCLFdBQUEsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBRXRCLFdBQUEsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFFMUIsV0FBQSxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtJQUVoQyxXQUFBLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO0dBbkVwQyx1QkFBdUIsQ0EyUG5DO1NBM1BZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTXVsdGlwbGVDb250cm9sLFxuICAgIEVNUFRZX0FSUkFZLFxuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICBzZXROYXRpdmVGb2N1c2VkLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU1hcHBlcixcbiAgICB0dWlQdXJlLFxuICAgIFR1aVN0cmluZ0hhbmRsZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBUVUlfREFUQV9MSVNUX0FDQ0VTU09SLFxuICAgIFRVSV9EQVRBX0xJU1RfSE9TVCxcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUdWlEYXRhTGlzdEFjY2Vzc29yLFxuICAgIFR1aURhdGFMaXN0RGlyZWN0aXZlLFxuICAgIFR1aURhdGFMaXN0SG9zdCxcbiAgICBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplTSxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlTdmdTZXJ2aWNlLFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpU3RyaW5naWZpYWJsZUl0ZW19IGZyb20gJ0B0YWlnYS11aS9raXQvY2xhc3Nlcyc7XG5pbXBvcnQge1RVSV9BUlJPV19NT0RFLCBUdWlBcnJvd01vZGV9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9hcnJvdyc7XG5pbXBvcnQge1R1aUlucHV0VGFnQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtdGFnJztcbmltcG9ydCB7aWNvbkJsYW5rfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbnN0YW50cyc7XG5pbXBvcnQge0ZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcbmltcG9ydCB7VFVJX0lURU1TX0hBTkRMRVJTLCBUdWlJdGVtc0hhbmRsZXJzfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VFVJX01VTFRJX1NFTEVDVF9PUFRJT05TLCBUdWlNdWx0aVNlbGVjdE9wdGlvbnN9IGZyb20gJy4vbXVsdGktc2VsZWN0LW9wdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1tdWx0aS1zZWxlY3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tdWx0aS1zZWxlY3QudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbXVsdGktc2VsZWN0LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpTXVsdGlTZWxlY3RDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlNdWx0aVNlbGVjdENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIEZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aU11bHRpU2VsZWN0Q29tcG9uZW50PFQ+XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU11bHRpcGxlQ29udHJvbDxUPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLCBUdWlEYXRhTGlzdEhvc3Q8VD5cbntcbiAgICBAQ29udGVudENoaWxkKFRVSV9EQVRBX0xJU1RfQUNDRVNTT1IgYXMgYW55KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWNjZXNzb3I/OiBUdWlEYXRhTGlzdEFjY2Vzc29yPFQ+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3RlZERyb3Bkb3duPzogVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKFR1aUlucHV0VGFnQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXQ/OiBUdWlJbnB1dFRhZ0NvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdHJpbmdpZnk6IFR1aUl0ZW1zSGFuZGxlcnM8VD5bJ3N0cmluZ2lmeSddID0gdGhpcy5pdGVtc0hhbmRsZXJzLnN0cmluZ2lmeTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpZGVudGl0eU1hdGNoZXI6IFR1aUl0ZW1zSGFuZGxlcnM8VD5bJ2lkZW50aXR5TWF0Y2hlciddID1cbiAgICAgICAgdGhpcy5pdGVtc0hhbmRsZXJzLmlkZW50aXR5TWF0Y2hlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBleHBhbmRhYmxlOiBUdWlNdWx0aVNlbGVjdE9wdGlvbnM8VD5bJ2V4cGFuZGFibGUnXSA9IHRoaXMub3B0aW9ucy5leHBhbmRhYmxlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlYXJjaDogc3RyaW5nIHwgbnVsbCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9lZGl0YWJsZScpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBlZGl0YWJsZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpSXRlbXNIYW5kbGVyczxUPlsnZGlzYWJsZWRJdGVtSGFuZGxlciddID1cbiAgICAgICAgdGhpcy5pdGVtc0hhbmRsZXJzLmRpc2FibGVkSXRlbUhhbmRsZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdmFsdWVDb250ZW50OiBUdWlNdWx0aVNlbGVjdE9wdGlvbnM8VD5bJ3ZhbHVlQ29udGVudCddID0gdGhpcy5vcHRpb25zLnZhbHVlQ29udGVudDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHNlYXJjaENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRGF0YUxpc3REaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgcmVhZG9ubHkgZGF0YWxpc3Q6IFBvbHltb3JwaGV1c0NvbnRlbnQ8XG4gICAgICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpQWN0aXZlWm9uZURpcmVjdGl2ZT5cbiAgICA+ID0gJyc7XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFR1aVN2Z1NlcnZpY2UpIHN2Z1NlcnZpY2U6IFR1aVN2Z1NlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoVFVJX0FSUk9XX01PREUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXJyb3dNb2RlOiBUdWlBcnJvd01vZGUsXG4gICAgICAgIEBJbmplY3QoVFVJX0lURU1TX0hBTkRMRVJTKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1zSGFuZGxlcnM6IFR1aUl0ZW1zSGFuZGxlcnM8VD4sXG4gICAgICAgIEBJbmplY3QoVFVJX01VTFRJX1NFTEVDVF9PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aU11bHRpU2VsZWN0T3B0aW9uczxUPixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUilcbiAgICAgICAgcmVhZG9ubHkgY29udHJvbGxlcjogVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgICAgIHN2Z1NlcnZpY2UuZGVmaW5lKHtpY29uQmxhbmt9KTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgICBnZXQgc2l6ZSgpOiBUdWlTaXplTCB8IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5zaXplO1xuICAgIH1cblxuICAgIGdldCBhcnJvdygpOiBQb2x5bW9ycGhldXNDb250ZW50PFxuICAgICAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aVNpemVTIHwgVHVpU2l6ZU0gfCBUdWlTaXplTD5cbiAgICA+IHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmludGVyYWN0aXZlID8gdGhpcy5hcnJvd01vZGUuZGlzYWJsZWQgOiB0aGlzLmFycm93TW9kZS5pbnRlcmFjdGl2ZTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0ID8gdGhpcy5pbnB1dC5uYXRpdmVGb2N1c2FibGVFbGVtZW50IDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICghIXRoaXMuaW5wdXQgJiYgdGhpcy5pbnB1dC5mb2N1c2VkKSB8fFxuICAgICAgICAgICAgKCEhdGhpcy5ob3N0ZWREcm9wZG93biAmJiB0aGlzLmhvc3RlZERyb3Bkb3duLmZvY3VzZWQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWUoKTogcmVhZG9ubHkgVFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZWRHcm91cCA/IEVNUFRZX0FSUkFZIDogdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBAYmFkIFRPRE86IHRoaW5rIG9mIGEgYmV0dGVyIHdheVxuICAgIGdldCBzZWFyY2hPclNwYWNlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkR3JvdXAgPyAnICcgOiB0aGlzLnNlYXJjaFN0cmluZztcbiAgICB9XG5cbiAgICBnZXQgc2VhcmNoU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlYXJjaCA9PT0gbnVsbCA/ICcnIDogdGhpcy5zZWFyY2g7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzcyBlbXB0eSBpY29uIHRvIElucHV0VGFnIChpbnNpZGUgdGhpcyBjb21wb25lbnQpXG4gICAgICogdG8gcHJldmVudCBvdmVyZmxvdyBvZiBhcnJvdyBpY29uIGJ5IG1hbnkgdGFnc1xuICAgICAqL1xuICAgIGdldCB0YWdJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmludGVyYWN0aXZlID8gJ2ljb25CbGFuaycgOiAnJztcbiAgICB9XG5cbiAgICBnZXQgaW5wdXRIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5lZGl0YWJsZSAmJiAhdGhpcy5jb21wdXRlZEdyb3VwO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZEdyb3VwKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISF0aGlzLnZhbHVlQ29udGVudCAmJlxuICAgICAgICAgICAgdGhpcy52YWx1ZS5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAoIXRoaXMuZm9jdXNlZCB8fCAhdGhpcy5lZGl0YWJsZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgY29udGV4dCgpOiBUdWlDb250ZXh0V2l0aEltcGxpY2l0PHJlYWRvbmx5IFRbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDb250ZXh0KHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0U3RyaW5naWZpZXIoXG4gICAgICAgIHN0cmluZ2lmeTogVHVpU3RyaW5nSGFuZGxlcjxUPixcbiAgICApOiBUdWlTdHJpbmdIYW5kbGVyPFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VD4+IHtcbiAgICAgICAgcmV0dXJuICh7JGltcGxpY2l0fSkgPT4gc3RyaW5naWZ5KCRpbXBsaWNpdCk7XG4gICAgfVxuXG4gICAgcmVhZG9ubHkgdmFsdWVNYXBwZXI6IFR1aU1hcHBlcjxcbiAgICAgICAgcmVhZG9ubHkgVFtdLFxuICAgICAgICBSZWFkb25seUFycmF5PFR1aVN0cmluZ2lmaWFibGVJdGVtPFQ+PlxuICAgID4gPSAodmFsdWUsIHN0cmluZ2lmeTogVHVpU3RyaW5nSGFuZGxlcjxUPiwgZ3JvdXA6IGJvb2xlYW4pID0+XG4gICAgICAgIGdyb3VwXG4gICAgICAgICAgICA/IEVNUFRZX0FSUkFZXG4gICAgICAgICAgICA6IHZhbHVlLm1hcChpdGVtID0+IG5ldyBUdWlTdHJpbmdpZmlhYmxlSXRlbShpdGVtLCBzdHJpbmdpZnkpKTtcblxuICAgIHJlYWRvbmx5IGRpc2FibGVkSXRlbUhhbmRsZXJXcmFwcGVyOiBUdWlNYXBwZXI8XG4gICAgICAgIFR1aUJvb2xlYW5IYW5kbGVyPFQ+LFxuICAgICAgICBUdWlCb29sZWFuSGFuZGxlcjxzdHJpbmcgfCBUdWlTdHJpbmdpZmlhYmxlSXRlbTxUPj5cbiAgICA+ID0gaGFuZGxlciA9PiBzdHJpbmdpZmlhYmxlID0+XG4gICAgICAgIHR5cGVvZiBzdHJpbmdpZmlhYmxlID09PSAnc3RyaW5nJyB8fCBoYW5kbGVyKHN0cmluZ2lmaWFibGUuaXRlbSk7XG5cbiAgICBvbkhvdmVyZWRDaGFuZ2UoaG92ZXJlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWQoaG92ZXJlZCk7XG4gICAgfVxuXG4gICAgb25TcGFjZShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuZWRpdGFibGUpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbiA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVPcHRpb24ob3B0aW9uOiBUKSB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZSwgaWRlbnRpdHlNYXRjaGVyfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdmFsdWUuZmluZEluZGV4KGl0ZW0gPT4gaWRlbnRpdHlNYXRjaGVyKGl0ZW0sIG9wdGlvbikpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICAgICAgICBpbmRleCA9PT0gLTEgPyBbLi4udmFsdWUsIG9wdGlvbl0gOiB2YWx1ZS5maWx0ZXIoKF8sIGkpID0+IGkgIT09IGluZGV4KSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2gobnVsbCk7XG4gICAgfVxuXG4gICAgb25FbnRlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBjb25zdCB7dmFsdWV9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuYWNjZXNzb3IgPyB0aGlzLmFjY2Vzc29yLmdldE9wdGlvbnMoKSA6IFtdO1xuXG4gICAgICAgIGlmIChvcHRpb25zLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5kZXggPSB2YWx1ZS5pbmRleE9mKG9wdGlvbnNbMF0pO1xuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICAgICAgICBpbmRleCA9PT0gLTFcbiAgICAgICAgICAgICAgICA/IFsuLi52YWx1ZSwgb3B0aW9uc1swXV1cbiAgICAgICAgICAgICAgICA6IFsuLi52YWx1ZS5zbGljZSgwLCBpbmRleCksIC4uLnZhbHVlLnNsaWNlKGluZGV4ICsgMSldLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaChudWxsKTtcbiAgICB9XG5cbiAgICBvbkNsaWNrKHtuYXRpdmVGb2N1c2FibGVFbGVtZW50fTogVHVpSW5wdXRUYWdDb21wb25lbnQpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5lZGl0YWJsZSAmJlxuICAgICAgICAgICAgdGhpcy5pbnRlcmFjdGl2ZSAmJlxuICAgICAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCAmJlxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkKG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5ob3N0ZWREcm9wZG93bj8udXBkYXRlT3BlbighdGhpcy5vcGVuKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQXJyb3dDbGljaygpIHtcbiAgICAgICAgdGhpcy5ob3N0ZWREcm9wZG93bj8udXBkYXRlT3BlbighdGhpcy5vcGVuKTtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgfVxuXG4gICAgb25JbnB1dCh2YWx1ZTogUmVhZG9ubHlBcnJheTxUdWlTdHJpbmdpZmlhYmxlSXRlbTxUPj4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZS5tYXAoKHtpdGVtfSkgPT4gaXRlbSkpO1xuICAgIH1cblxuICAgIG9uU2VhcmNoKHNlYXJjaDogc3RyaW5nIHwgbnVsbCkge1xuICAgICAgICB0aGlzLm9wZW4gPSB0cnVlO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaChzZWFyY2gpO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShhY3RpdmU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGFjdGl2ZSk7XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZSgpIHtcbiAgICAgICAgc3VwZXIuc2V0RGlzYWJsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0Q29udGV4dCgkaW1wbGljaXQ6IHJlYWRvbmx5IFRbXSk6IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8cmVhZG9ubHkgVFtdPiB7XG4gICAgICAgIHJldHVybiB7JGltcGxpY2l0fTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNlYXJjaChzZWFyY2g6IHN0cmluZyB8IG51bGwpIHtcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoID09PSBzZWFyY2gpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VhcmNoID0gc2VhcmNoO1xuICAgICAgICB0aGlzLnNlYXJjaENoYW5nZS5lbWl0KHNlYXJjaCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KHByZXZlbnRTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCwgdHJ1ZSwgcHJldmVudFNjcm9sbCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9tdWx0aS1zZWxlY3QvIiwic291cmNlcyI6WyJtdWx0aS1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsV0FBVyxFQUNYLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBSTNCLGNBQWMsRUFHZCxPQUFPLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILDZCQUE2QixFQUM3QixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLGdDQUFnQyxFQUNoQyxtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDZiwwQkFBMEIsRUFDMUIsUUFBUSxFQUNSLFFBQVEsRUFDUixRQUFRLEVBQ1IsYUFBYSxFQUNiLHNCQUFzQixHQUN6QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBQyxjQUFjLEVBQWUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0seUJB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QyxhQUFhLENBQUMsQ0FBQTtJQUNyQixXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUV0QixXQUFBLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBRTFCLFdBQUEsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUE7SUFFaEMsV0FBQSxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtHQW5FcEMsdUJBQXVCLENBMlBuQztTQTNQWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU11bHRpcGxlQ29udHJvbCxcbiAgICBFTVBUWV9BUlJBWSxcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlNYXBwZXIsXG4gICAgdHVpUHVyZSxcbiAgICBUdWlTdHJpbmdIYW5kbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX0RBVEFfTElTVF9BQ0NFU1NPUixcbiAgICBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVHVpRGF0YUxpc3RBY2Nlc3NvcixcbiAgICBUdWlEYXRhTGlzdERpcmVjdGl2ZSxcbiAgICBUdWlEYXRhTGlzdEhvc3QsXG4gICAgVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZU0sXG4gICAgVHVpU2l6ZVMsXG4gICAgVHVpU3ZnU2VydmljZSxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aVN0cmluZ2lmaWFibGVJdGVtfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NsYXNzZXMnO1xuaW1wb3J0IHtUVUlfQVJST1dfTU9ERSwgVHVpQXJyb3dNb2RlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYXJyb3cnO1xuaW1wb3J0IHtUdWlJbnB1dFRhZ0NvbXBvbmVudH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXRhZyc7XG5pbXBvcnQge2ljb25CbGFua30gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Byb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9JVEVNU19IQU5ETEVSUywgVHVpSXRlbXNIYW5kbGVyc30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1RVSV9NVUxUSV9TRUxFQ1RfT1BUSU9OUywgVHVpTXVsdGlTZWxlY3RPcHRpb25zfSBmcm9tICcuL211bHRpLXNlbGVjdC1vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktbXVsdGktc2VsZWN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VsZWN0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL211bHRpLXNlbGVjdC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aU11bHRpU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0RBVEFfTElTVF9IT1NULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpTXVsdGlTZWxlY3RDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgICAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlNdWx0aVNlbGVjdENvbXBvbmVudDxUPlxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlNdWx0aXBsZUNvbnRyb2w8VD5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvciwgVHVpRGF0YUxpc3RIb3N0PFQ+XG57XG4gICAgQENvbnRlbnRDaGlsZChUVUlfREFUQV9MSVNUX0FDQ0VTU09SIGFzIGFueSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjY2Vzc29yPzogVHVpRGF0YUxpc3RBY2Nlc3NvcjxUPjtcblxuICAgIEBWaWV3Q2hpbGQoVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0ZWREcm9wZG93bj86IFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZChUdWlJbnB1dFRhZ0NvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0PzogVHVpSW5wdXRUYWdDb21wb25lbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3RyaW5naWZ5OiBUdWlJdGVtc0hhbmRsZXJzPFQ+WydzdHJpbmdpZnknXSA9IHRoaXMuaXRlbXNIYW5kbGVycy5zdHJpbmdpZnk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaWRlbnRpdHlNYXRjaGVyOiBUdWlJdGVtc0hhbmRsZXJzPFQ+WydpZGVudGl0eU1hdGNoZXInXSA9XG4gICAgICAgIHRoaXMuaXRlbXNIYW5kbGVycy5pZGVudGl0eU1hdGNoZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZXhwYW5kYWJsZTogVHVpTXVsdGlTZWxlY3RPcHRpb25zPFQ+WydleHBhbmRhYmxlJ10gPSB0aGlzLm9wdGlvbnMuZXhwYW5kYWJsZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZWFyY2g6IHN0cmluZyB8IG51bGwgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fZWRpdGFibGUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZWRpdGFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUl0ZW1zSGFuZGxlcnM8VD5bJ2Rpc2FibGVkSXRlbUhhbmRsZXInXSA9XG4gICAgICAgIHRoaXMuaXRlbXNIYW5kbGVycy5kaXNhYmxlZEl0ZW1IYW5kbGVyO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlQ29udGVudDogVHVpTXVsdGlTZWxlY3RPcHRpb25zPFQ+Wyd2YWx1ZUNvbnRlbnQnXSA9IHRoaXMub3B0aW9ucy52YWx1ZUNvbnRlbnQ7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBzZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bGw+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aURhdGFMaXN0RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGRhdGFsaXN0OiBQb2x5bW9ycGhldXNDb250ZW50PFxuICAgICAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmU+XG4gICAgPiA9ICcnO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUdWlTdmdTZXJ2aWNlKSBzdmdTZXJ2aWNlOiBUdWlTdmdTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFRVSV9BUlJPV19NT0RFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFycm93TW9kZTogVHVpQXJyb3dNb2RlLFxuICAgICAgICBASW5qZWN0KFRVSV9JVEVNU19IQU5ETEVSUylcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpdGVtc0hhbmRsZXJzOiBUdWlJdGVtc0hhbmRsZXJzPFQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9NVUxUSV9TRUxFQ1RfT1BUSU9OUylcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlNdWx0aVNlbGVjdE9wdGlvbnM8VD4sXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcblxuICAgICAgICBzdmdTZXJ2aWNlLmRlZmluZSh7aWNvbkJsYW5rfSk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgZ2V0IHNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuc2l6ZTtcbiAgICB9XG5cbiAgICBnZXQgYXJyb3coKTogUG9seW1vcnBoZXVzQ29udGVudDxcbiAgICAgICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlTaXplUyB8IFR1aVNpemVNIHwgVHVpU2l6ZUw+XG4gICAgPiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pbnRlcmFjdGl2ZSA/IHRoaXMuYXJyb3dNb2RlLmRpc2FibGVkIDogdGhpcy5hcnJvd01vZGUuaW50ZXJhY3RpdmU7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dCA/IHRoaXMuaW5wdXQubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAoISF0aGlzLmlucHV0ICYmIHRoaXMuaW5wdXQuZm9jdXNlZCkgfHxcbiAgICAgICAgICAgICghIXRoaXMuaG9zdGVkRHJvcGRvd24gJiYgdGhpcy5ob3N0ZWREcm9wZG93bi5mb2N1c2VkKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlKCk6IHJlYWRvbmx5IFRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkR3JvdXAgPyBFTVBUWV9BUlJBWSA6IHRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgLy8gQGJhZCBUT0RPOiB0aGluayBvZiBhIGJldHRlciB3YXlcbiAgICBnZXQgc2VhcmNoT3JTcGFjZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlZEdyb3VwID8gJyAnIDogdGhpcy5zZWFyY2hTdHJpbmc7XG4gICAgfVxuXG4gICAgZ2V0IHNlYXJjaFN0cmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWFyY2ggPT09IG51bGwgPyAnJyA6IHRoaXMuc2VhcmNoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3MgZW1wdHkgaWNvbiB0byBJbnB1dFRhZyAoaW5zaWRlIHRoaXMgY29tcG9uZW50KVxuICAgICAqIHRvIHByZXZlbnQgb3ZlcmZsb3cgb2YgYXJyb3cgaWNvbiBieSBtYW55IHRhZ3NcbiAgICAgKi9cbiAgICBnZXQgdGFnSWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZSA/ICdpY29uQmxhbmsnIDogJyc7XG4gICAgfVxuXG4gICAgZ2V0IGlucHV0SGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuZWRpdGFibGUgJiYgIXRoaXMuY29tcHV0ZWRHcm91cDtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRHcm91cCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhdGhpcy52YWx1ZUNvbnRlbnQgJiZcbiAgICAgICAgICAgIHRoaXMudmFsdWUubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgKCF0aGlzLmZvY3VzZWQgfHwgIXRoaXMuZWRpdGFibGUpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRleHQoKTogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxyZWFkb25seSBUW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29udGV4dCh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldFN0cmluZ2lmaWVyKFxuICAgICAgICBzdHJpbmdpZnk6IFR1aVN0cmluZ0hhbmRsZXI8VD4sXG4gICAgKTogVHVpU3RyaW5nSGFuZGxlcjxUdWlDb250ZXh0V2l0aEltcGxpY2l0PFQ+PiB7XG4gICAgICAgIHJldHVybiAoeyRpbXBsaWNpdH0pID0+IHN0cmluZ2lmeSgkaW1wbGljaXQpO1xuICAgIH1cblxuICAgIHJlYWRvbmx5IHZhbHVlTWFwcGVyOiBUdWlNYXBwZXI8XG4gICAgICAgIHJlYWRvbmx5IFRbXSxcbiAgICAgICAgUmVhZG9ubHlBcnJheTxUdWlTdHJpbmdpZmlhYmxlSXRlbTxUPj5cbiAgICA+ID0gKHZhbHVlLCBzdHJpbmdpZnk6IFR1aVN0cmluZ0hhbmRsZXI8VD4sIGdyb3VwOiBib29sZWFuKSA9PlxuICAgICAgICBncm91cFxuICAgICAgICAgICAgPyBFTVBUWV9BUlJBWVxuICAgICAgICAgICAgOiB2YWx1ZS5tYXAoaXRlbSA9PiBuZXcgVHVpU3RyaW5naWZpYWJsZUl0ZW0oaXRlbSwgc3RyaW5naWZ5KSk7XG5cbiAgICByZWFkb25seSBkaXNhYmxlZEl0ZW1IYW5kbGVyV3JhcHBlcjogVHVpTWFwcGVyPFxuICAgICAgICBUdWlCb29sZWFuSGFuZGxlcjxUPixcbiAgICAgICAgVHVpQm9vbGVhbkhhbmRsZXI8c3RyaW5nIHwgVHVpU3RyaW5naWZpYWJsZUl0ZW08VD4+XG4gICAgPiA9IGhhbmRsZXIgPT4gc3RyaW5naWZpYWJsZSA9PlxuICAgICAgICB0eXBlb2Ygc3RyaW5naWZpYWJsZSA9PT0gJ3N0cmluZycgfHwgaGFuZGxlcihzdHJpbmdpZmlhYmxlLml0ZW0pO1xuXG4gICAgb25Ib3ZlcmVkQ2hhbmdlKGhvdmVyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIG9uU3BhY2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5lZGl0YWJsZSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZU9wdGlvbihvcHRpb246IFQpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBpZGVudGl0eU1hdGNoZXJ9ID0gdGhpcztcbiAgICAgICAgY29uc3QgaW5kZXggPSB2YWx1ZS5maW5kSW5kZXgoaXRlbSA9PiBpZGVudGl0eU1hdGNoZXIoaXRlbSwgb3B0aW9uKSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgICAgICAgIGluZGV4ID09PSAtMSA/IFsuLi52YWx1ZSwgb3B0aW9uXSA6IHZhbHVlLmZpbHRlcigoXywgaSkgPT4gaSAhPT0gaW5kZXgpLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaChudWxsKTtcbiAgICB9XG5cbiAgICBvbkVudGVyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7dmFsdWV9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuYWNjZXNzb3IgPyB0aGlzLmFjY2Vzc29yLmdldE9wdGlvbnMoKSA6IFtdO1xuXG4gICAgICAgIGlmIChvcHRpb25zLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5kZXggPSB2YWx1ZS5pbmRleE9mKG9wdGlvbnNbMF0pO1xuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICAgICAgICBpbmRleCA9PT0gLTFcbiAgICAgICAgICAgICAgICA/IFsuLi52YWx1ZSwgb3B0aW9uc1swXV1cbiAgICAgICAgICAgICAgICA6IFsuLi52YWx1ZS5zbGljZSgwLCBpbmRleCksIC4uLnZhbHVlLnNsaWNlKGluZGV4ICsgMSldLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaChudWxsKTtcbiAgICB9XG5cbiAgICBvbkNsaWNrKHtuYXRpdmVGb2N1c2FibGVFbGVtZW50fTogVHVpSW5wdXRUYWdDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5lZGl0YWJsZSAmJlxuICAgICAgICAgICAgdGhpcy5pbnRlcmFjdGl2ZSAmJlxuICAgICAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCAmJlxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkKG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5ob3N0ZWREcm9wZG93bj8udXBkYXRlT3BlbighdGhpcy5vcGVuKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQXJyb3dDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3N0ZWREcm9wZG93bj8udXBkYXRlT3BlbighdGhpcy5vcGVuKTtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgfVxuXG4gICAgb25JbnB1dCh2YWx1ZTogUmVhZG9ubHlBcnJheTxUdWlTdHJpbmdpZmlhYmxlSXRlbTxUPj4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZS5tYXAoKHtpdGVtfSkgPT4gaXRlbSkpO1xuICAgIH1cblxuICAgIG9uU2VhcmNoKHNlYXJjaDogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSB0cnVlO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaChzZWFyY2gpO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShhY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGFjdGl2ZSk7XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuc2V0RGlzYWJsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0Q29udGV4dCgkaW1wbGljaXQ6IHJlYWRvbmx5IFRbXSk6IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8cmVhZG9ubHkgVFtdPiB7XG4gICAgICAgIHJldHVybiB7JGltcGxpY2l0fTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNlYXJjaChzZWFyY2g6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoID09PSBzZWFyY2gpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VhcmNoID0gc2VhcmNoO1xuICAgICAgICB0aGlzLnNlYXJjaENoYW5nZS5lbWl0KHNlYXJjaCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KHByZXZlbnRTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCwgdHJ1ZSwgcHJldmVudFNjcm9sbCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -260,4 +260,4 @@ TuiPaginationComponent = TuiPaginationComponent_1 = __decorate([
260
260
  __param(2, Inject(TUI_PAGINATION_TEXTS))
261
261
  ], TuiPaginationComponent);
262
262
  export { TuiPaginationComponent };
263
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcGFnaW5hdGlvbi8iLCJzb3VyY2VzIjpbInBhZ2luYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHNCQUFzQixFQUN0QixLQUFLLEVBQ0wsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBRTNCLGNBQWMsR0FHakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGFBQWEsRUFDYixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsUUFBUSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFckUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoQyxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDdEIsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUM7QUFFN0IsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE1BQWM7SUFDN0MsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sSUFBSSxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUVELFdBQVc7QUFhWCxJQUFhLHNCQUFzQiw4QkFBbkMsTUFBYSxzQkFDVCxTQUFRLHNCQUFzQjtJQWlEOUIsWUFDeUMs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QUFFLENBQUMsd0JBQXNCLENBQUM7YUFDeEQ7U0FDSjs7S0FDSixDQUFDO0lBb0RPLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsUUFBUSxFQUFFLENBQUE7SUFDVixXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0lBRXhCLFdBQUEsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUE7R0F2RHhCLHNCQUFzQixDQW9SbEM7U0FwUlksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aUludGVyYWN0aXZlLFxuICAgIGNsYW1wLFxuICAgIEVNUFRZX1FVRVJZLFxuICAgIGlzTmF0aXZlRm9jdXNlZEluLFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUdWlBcHBlYXJhbmNlLFxuICAgIFR1aUJyaWdodG5lc3MsXG4gICAgVHVpQnV0dG9uQ29tcG9uZW50LFxuICAgIFR1aUhvcml6b250YWxEaXJlY3Rpb24sXG4gICAgVHVpTW9kZURpcmVjdGl2ZSxcbiAgICBUdWlTaXplUyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfUEFHSU5BVElPTl9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtob3Jpem9udGFsRGlyZWN0aW9uVG9OdW1iZXJ9IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMvbWF0aCc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5jb25zdCBET1RTX0xFTkdUSCA9IDE7XG5jb25zdCBBQ1RJVkVfSVRFTV9MRU5HVEggPSAxO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9uTmVnYXRpdmVJbnRlZ2VyKGxlbmd0aDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIE51bWJlci5pc0ludGVnZXIobGVuZ3RoKSAmJiBsZW5ndGggPj0gMDtcbn1cblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXBhZ2luYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BhZ2luYXRpb24uc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlQYWdpbmF0aW9uQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQYWdpbmF0aW9uQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUludGVyYWN0aXZlXG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkcmVuKCdlbGVtZW50Jywge3JlYWQ6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50czogUXVlcnlMaXN0PFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvcj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKG5vbk5lZ2F0aXZlSW50ZWdlciwgJ011c3QgYmUgbm9uLW5lZ2F0aXZlIGludGVnZXInKVxuICAgIGxlbmd0aCA9IDE7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVMgPSAnbSc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcmVhZG9ubHkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEFtb3VudCBvZiB2aXNpYmxlIHBhZ2VzIGFyb3VuZCBhY3RpdmUgcGFnZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhY3RpdmVQYWRkaW5nID0gMTtcblxuICAgIC8qKlxuICAgICAqIEFtb3VudCBvZiB2aXNpYmxlIHBhZ2VzIGF0IHRoZSBlZGdlc1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaWRlUGFkZGluZyA9IDE7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b21pemF0aW9uIGZvciBwYWdlIG51bWJlciBkaXNwbGF5LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8bnVtYmVyPj4gfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIEFjdGl2ZSBwYWdlIGluZGV4XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3Aobm9uTmVnYXRpdmVJbnRlZ2VyLCAnTXVzdCBiZSBub24tbmVnYXRpdmUgaW50ZWdlcicpXG4gICAgaW5kZXggPSAwO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgaW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTW9kZURpcmVjdGl2ZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtb2RlRGlyZWN0aXZlOiBUdWlNb2RlRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfUEFHSU5BVElPTl9URVhUUykgcmVhZG9ubHkgdGV4dHMkOiBPYnNlcnZhYmxlPFtzdHJpbmcsIHN0cmluZ10+LFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGFjdGl2ZUVsZW1lbnRJbmRleCA9IDA7XG4gICAgICAgIGNvbnN0IHtlbGVtZW50c0xlbmd0aH0gPSB0aGlzO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZWxlbWVudHNMZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgaXRlbUluZGV4ID0gdGhpcy5nZXRJdGVtSW5kZXhCeUVsZW1lbnRJbmRleChpKTtcblxuICAgICAgICAgICAgaWYgKGl0ZW1JbmRleCkge1xuICAgICAgICAgICAgICAgIGFjdGl2ZUVsZW1lbnRJbmRleCsrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoaXRlbUluZGV4ID09PSB0aGlzLmluZGV4KSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhY3RpdmVFbGVtZW50ID0gdGhpcy5lbGVtZW50cy5maW5kKFxuICAgICAgICAgICAgKF8sIGluZGV4KSA9PiBpbmRleCA9PT0gYWN0aXZlRWxlbWVudEluZGV4LFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBhY3RpdmVFbGVtZW50ID8gYWN0aXZlRWxlbWVudC5uYXRpdmVGb2N1c2FibGVFbGVtZW50IDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBOdW1iZXIgb2YgaXRlbXMgaW4gYSBjb250YWluZXIuXG4gICAgICovXG4gICAgZ2V0IGVsZW1lbnRzTGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zRml0ID8gdGhpcy5sZW5ndGggOiB0aGlzLm1heEVsZW1lbnRzTGVuZ3RoO1xuICAgIH1cblxuICAgIGdldCBzaXplTSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ20nO1xuICAgIH1cblxuICAgIGdldCBtb2RlKCk6IFR1aUJyaWdodG5lc3MgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kZURpcmVjdGl2ZSA/IHRoaXMubW9kZURpcmVjdGl2ZS5tb2RlIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgYXJyb3dJc0Rpc2FibGVkTGVmdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXggPT09IDA7XG4gICAgfVxuXG4gICAgZ2V0IGFycm93SXNEaXNhYmxlZFJpZ2h0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXZlcnNlSW5kZXggPT09IDA7XG4gICAgfVxuXG4gICAgZWxlbWVudElzRm9jdXNhYmxlKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXggPT09IGluZGV4ICYmICF0aGlzLmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0SXRlbUNvbnRleHQoaW5kZXg6IG51bWJlcik6IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB7JGltcGxpY2l0OiBpbmRleH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGluZGV4IGJ5IGVsZW1lbnQgaW5kZXhcbiAgICAgKiBAcGFyYW0gZWxlbWVudEluZGV4XG4gICAgICogQHJldHVybnMgaW5kZXggb3IgbnVsbCAoZm9yICfigKYnKVxuICAgICAqL1xuICAgIGdldEl0ZW1JbmRleEJ5RWxlbWVudEluZGV4KGVsZW1lbnRJbmRleDogbnVtYmVyKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIGlmICghdGhpcy5zaXplTSkge1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRJbmRleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlbGVtZW50SW5kZXggPCB0aGlzLnNpZGVQYWRkaW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudEluZGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVsZW1lbnRJbmRleCA9PT0gdGhpcy5zaWRlUGFkZGluZyAmJiB0aGlzLmhhc0NvbGxhcHNlZEl0ZW1zKHRoaXMuaW5kZXgpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJldmVyc2VFbGVtZW50SW5kZXggPSB0aGlzLmxhc3RFbGVtZW50SW5kZXggLSBlbGVtZW50SW5kZXg7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgcmV2ZXJzZUVsZW1lbnRJbmRleCA9PT0gdGhpcy5zaWRlUGFkZGluZyAmJlxuICAgICAgICAgICAgdGhpcy5oYXNDb2xsYXBzZWRJdGVtcyh0aGlzLnJldmVyc2VJbmRleClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXZlcnNlRWxlbWVudEluZGV4IDwgdGhpcy5zaWRlUGFkZGluZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubGFzdEluZGV4IC0gcmV2ZXJzZUVsZW1lbnRJbmRleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbXB1dGVkSW5kZXggPSB0aGlzLmluZGV4IC0gdGhpcy5tYXhIYWxmTGVuZ3RoICsgZWxlbWVudEluZGV4O1xuXG4gICAgICAgIHJldHVybiBjbGFtcChjb21wdXRlZEluZGV4LCBlbGVtZW50SW5kZXgsIHRoaXMubGFzdEluZGV4IC0gcmV2ZXJzZUVsZW1lbnRJbmRleCk7XG4gICAgfVxuXG4gICAgZ2V0RWxlbWVudE1vZGUoaW5kZXg6IG51bWJlcik6IFR1aUFwcGVhcmFuY2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRleCA9PT0gaW5kZXggPyBUdWlBcHBlYXJhbmNlLlByaW1hcnkgOiBUdWlBcHBlYXJhbmNlLkZsYXQ7XG4gICAgfVxuXG4gICAgZ2V0U21hbGxFbGVtZW50TW9kZShpbmRleDogbnVtYmVyLCBtb2RlOiBUdWlCcmlnaHRuZXNzIHwgbnVsbCk6IFR1aUFwcGVhcmFuY2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRleCA9PT0gaW5kZXggJiYgbW9kZSAhPT0gJ29uTGlnaHQnXG4gICAgICAgICAgICA/IFR1aUFwcGVhcmFuY2UuUHJpbWFyeVxuICAgICAgICAgICAgOiBUdWlBcHBlYXJhbmNlLlNlY29uZGFyeTtcbiAgICB9XG5cbiAgICBvbkVsZW1lbnRDbGljayhpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSW5kZXgoaW5kZXgpO1xuICAgIH1cblxuICAgIG9uRWxlbWVudEtleURvd25BcnJvd0xlZnQoZWxlbWVudDogVHVpQnV0dG9uQ29tcG9uZW50KSB7XG4gICAgICAgIGlmIChlbGVtZW50ID09PSB0aGlzLmVsZW1lbnRzLmZpcnN0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMuZWxlbWVudHMuZmluZChcbiAgICAgICAgICAgIChfLCBpbmRleCwgYXJyYXkpID0+IGFycmF5W2luZGV4ICsgMV0gPT09IGVsZW1lbnQsXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHByZXZpb3VzICYmIHByZXZpb3VzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQocHJldmlvdXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkVsZW1lbnRLZXlEb3duQXJyb3dSaWdodChlbGVtZW50OiBUdWlCdXR0b25Db21wb25lbnQpIHtcbiAgICAgICAgaWYgKGVsZW1lbnQgPT09IHRoaXMuZWxlbWVudHMubGFzdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV4dCA9IHRoaXMuZWxlbWVudHMuZmluZChcbiAgICAgICAgICAgIChfLCBpbmRleCwgYXJyYXkpID0+IGFycmF5W2luZGV4IC0gMV0gPT09IGVsZW1lbnQsXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKG5leHQgJiYgbmV4dC5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKG5leHQubmF0aXZlRm9jdXNhYmxlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkFycm93Q2xpY2soZGlyZWN0aW9uOiBUdWlIb3Jpem9udGFsRGlyZWN0aW9uKSB7XG4gICAgICAgIHRoaXMudHJ5Q2hhbmdlVG8oZGlyZWN0aW9uKTtcbiAgICAgICAgdGhpcy5mb2N1c0FjdGl2ZSgpO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShmb2N1c2VkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBY3RpdmUgaW5kZXggZnJvbSB0aGUgZW5kXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgcmV2ZXJzZUluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhc3RJbmRleCAtIHRoaXMuaW5kZXg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWF4IG51bWJlciBvZiBlbGVtZW50cyBpbiBoYWxmIChub3QgY291bnRpbmcgdGhlIG1pZGRsZSBvbmUpLlxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0IG1heEhhbGZMZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2lkZVBhZGRpbmcgKyBET1RTX0xFTkdUSCArIHRoaXMuYWN0aXZlUGFkZGluZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJcyB0aGVyZSAnLi4uJyBhbnl3aGVyZVxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0IGl0ZW1zRml0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sZW5ndGggPD0gdGhpcy5tYXhFbGVtZW50c0xlbmd0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNYXggbnVtYmVyIG9mIGVsZW1lbnRzXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgbWF4RWxlbWVudHNMZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWF4SGFsZkxlbmd0aCAqIDIgKyBBQ1RJVkVfSVRFTV9MRU5HVEg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbGFzdEluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmxlbmd0aCAtIDE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbGFzdEVsZW1lbnRJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50c0xlbmd0aCAtIDE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXJlIHRoZXJlIGNvbGxhcHNlZCBpdGVtcyBhdCB0aGF0IGluZGV4XG4gICAgICogQHBhcmFtIGluZGV4XG4gICAgICogQHJldHVybnMgdGhlcmUgYXJlIGNvbGxhcHNlZCBpdGVtc1xuICAgICAqL1xuICAgIHByaXZhdGUgaGFzQ29sbGFwc2VkSXRlbXMoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXRlbXNGaXQgJiYgaW5kZXggPiB0aGlzLm1heEhhbGZMZW5ndGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0cnlDaGFuZ2VUbyhkaXJlY3Rpb246IFR1aUhvcml6b250YWxEaXJlY3Rpb24pIHtcbiAgICAgICAgdGhpcy51cGRhdGVJbmRleChcbiAgICAgICAgICAgIGNsYW1wKHRoaXMuaW5kZXggKyBob3Jpem9udGFsRGlyZWN0aW9uVG9OdW1iZXIoZGlyZWN0aW9uKSwgMCwgdGhpcy5sYXN0SW5kZXgpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNBY3RpdmUoKSB7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVGb2N1c2FibGVFbGVtZW50fSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQobmF0aXZlRm9jdXNhYmxlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUluZGV4KGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHRoaXMuaW5kZXggPT09IGluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmluZGV4ID0gaW5kZXg7XG4gICAgICAgIHRoaXMuaW5kZXhDaGFuZ2UuZW1pdChpbmRleCk7XG4gICAgfVxufVxuIl19
263
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcGFnaW5hdGlvbi8iLCJzb3VyY2VzIjpbInBhZ2luYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHNCQUFzQixFQUN0QixLQUFLLEVBQ0wsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBRTNCLGNBQWMsR0FHakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGFBQWEsRUFDYixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsUUFBUSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFckUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoQyxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFDdEIsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUM7QUFFN0IsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE1BQWM7SUFDN0MsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sSUFBSSxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUVELFdBQVc7QUFhWCxJQUFhLHNCQUFzQiw4QkFBbkMsTUFBYSxzQkFDVCxTQUFRLHNCQUFzQjtJQWlEOUIsWUFDeUMs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QUFFLENBQUMsd0JBQXNCLENBQUM7YUFDeEQ7U0FDSjs7S0FDSixDQUFDO0lBb0RPLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsUUFBUSxFQUFFLENBQUE7SUFDVixXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0lBRXhCLFdBQUEsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUE7R0F2RHhCLHNCQUFzQixDQW9SbEM7U0FwUlksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aUludGVyYWN0aXZlLFxuICAgIGNsYW1wLFxuICAgIEVNUFRZX1FVRVJZLFxuICAgIGlzTmF0aXZlRm9jdXNlZEluLFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUdWlBcHBlYXJhbmNlLFxuICAgIFR1aUJyaWdodG5lc3MsXG4gICAgVHVpQnV0dG9uQ29tcG9uZW50LFxuICAgIFR1aUhvcml6b250YWxEaXJlY3Rpb24sXG4gICAgVHVpTW9kZURpcmVjdGl2ZSxcbiAgICBUdWlTaXplUyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfUEFHSU5BVElPTl9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtob3Jpem9udGFsRGlyZWN0aW9uVG9OdW1iZXJ9IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMvbWF0aCc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5jb25zdCBET1RTX0xFTkdUSCA9IDE7XG5jb25zdCBBQ1RJVkVfSVRFTV9MRU5HVEggPSAxO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9uTmVnYXRpdmVJbnRlZ2VyKGxlbmd0aDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIE51bWJlci5pc0ludGVnZXIobGVuZ3RoKSAmJiBsZW5ndGggPj0gMDtcbn1cblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXBhZ2luYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BhZ2luYXRpb24uc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlQYWdpbmF0aW9uQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQYWdpbmF0aW9uQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUludGVyYWN0aXZlXG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkcmVuKCdlbGVtZW50Jywge3JlYWQ6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50czogUXVlcnlMaXN0PFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvcj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKG5vbk5lZ2F0aXZlSW50ZWdlciwgJ011c3QgYmUgbm9uLW5lZ2F0aXZlIGludGVnZXInKVxuICAgIGxlbmd0aCA9IDE7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVMgPSAnbSc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcmVhZG9ubHkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEFtb3VudCBvZiB2aXNpYmxlIHBhZ2VzIGFyb3VuZCBhY3RpdmUgcGFnZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhY3RpdmVQYWRkaW5nID0gMTtcblxuICAgIC8qKlxuICAgICAqIEFtb3VudCBvZiB2aXNpYmxlIHBhZ2VzIGF0IHRoZSBlZGdlc1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaWRlUGFkZGluZyA9IDE7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b21pemF0aW9uIGZvciBwYWdlIG51bWJlciBkaXNwbGF5LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8bnVtYmVyPj4gfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIEFjdGl2ZSBwYWdlIGluZGV4XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3Aobm9uTmVnYXRpdmVJbnRlZ2VyLCAnTXVzdCBiZSBub24tbmVnYXRpdmUgaW50ZWdlcicpXG4gICAgaW5kZXggPSAwO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgaW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTW9kZURpcmVjdGl2ZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtb2RlRGlyZWN0aXZlOiBUdWlNb2RlRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfUEFHSU5BVElPTl9URVhUUykgcmVhZG9ubHkgdGV4dHMkOiBPYnNlcnZhYmxlPFtzdHJpbmcsIHN0cmluZ10+LFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGFjdGl2ZUVsZW1lbnRJbmRleCA9IDA7XG4gICAgICAgIGNvbnN0IHtlbGVtZW50c0xlbmd0aH0gPSB0aGlzO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZWxlbWVudHNMZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgaXRlbUluZGV4ID0gdGhpcy5nZXRJdGVtSW5kZXhCeUVsZW1lbnRJbmRleChpKTtcblxuICAgICAgICAgICAgaWYgKGl0ZW1JbmRleCkge1xuICAgICAgICAgICAgICAgIGFjdGl2ZUVsZW1lbnRJbmRleCsrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoaXRlbUluZGV4ID09PSB0aGlzLmluZGV4KSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhY3RpdmVFbGVtZW50ID0gdGhpcy5lbGVtZW50cy5maW5kKFxuICAgICAgICAgICAgKF8sIGluZGV4KSA9PiBpbmRleCA9PT0gYWN0aXZlRWxlbWVudEluZGV4LFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBhY3RpdmVFbGVtZW50ID8gYWN0aXZlRWxlbWVudC5uYXRpdmVGb2N1c2FibGVFbGVtZW50IDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBOdW1iZXIgb2YgaXRlbXMgaW4gYSBjb250YWluZXIuXG4gICAgICovXG4gICAgZ2V0IGVsZW1lbnRzTGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zRml0ID8gdGhpcy5sZW5ndGggOiB0aGlzLm1heEVsZW1lbnRzTGVuZ3RoO1xuICAgIH1cblxuICAgIGdldCBzaXplTSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ20nO1xuICAgIH1cblxuICAgIGdldCBtb2RlKCk6IFR1aUJyaWdodG5lc3MgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kZURpcmVjdGl2ZSA/IHRoaXMubW9kZURpcmVjdGl2ZS5tb2RlIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgYXJyb3dJc0Rpc2FibGVkTGVmdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXggPT09IDA7XG4gICAgfVxuXG4gICAgZ2V0IGFycm93SXNEaXNhYmxlZFJpZ2h0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXZlcnNlSW5kZXggPT09IDA7XG4gICAgfVxuXG4gICAgZWxlbWVudElzRm9jdXNhYmxlKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXggPT09IGluZGV4ICYmICF0aGlzLmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0SXRlbUNvbnRleHQoaW5kZXg6IG51bWJlcik6IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB7JGltcGxpY2l0OiBpbmRleH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGluZGV4IGJ5IGVsZW1lbnQgaW5kZXhcbiAgICAgKiBAcGFyYW0gZWxlbWVudEluZGV4XG4gICAgICogQHJldHVybnMgaW5kZXggb3IgbnVsbCAoZm9yICfigKYnKVxuICAgICAqL1xuICAgIGdldEl0ZW1JbmRleEJ5RWxlbWVudEluZGV4KGVsZW1lbnRJbmRleDogbnVtYmVyKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIGlmICghdGhpcy5zaXplTSkge1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRJbmRleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlbGVtZW50SW5kZXggPCB0aGlzLnNpZGVQYWRkaW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudEluZGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVsZW1lbnRJbmRleCA9PT0gdGhpcy5zaWRlUGFkZGluZyAmJiB0aGlzLmhhc0NvbGxhcHNlZEl0ZW1zKHRoaXMuaW5kZXgpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJldmVyc2VFbGVtZW50SW5kZXggPSB0aGlzLmxhc3RFbGVtZW50SW5kZXggLSBlbGVtZW50SW5kZXg7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgcmV2ZXJzZUVsZW1lbnRJbmRleCA9PT0gdGhpcy5zaWRlUGFkZGluZyAmJlxuICAgICAgICAgICAgdGhpcy5oYXNDb2xsYXBzZWRJdGVtcyh0aGlzLnJldmVyc2VJbmRleClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXZlcnNlRWxlbWVudEluZGV4IDwgdGhpcy5zaWRlUGFkZGluZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubGFzdEluZGV4IC0gcmV2ZXJzZUVsZW1lbnRJbmRleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbXB1dGVkSW5kZXggPSB0aGlzLmluZGV4IC0gdGhpcy5tYXhIYWxmTGVuZ3RoICsgZWxlbWVudEluZGV4O1xuXG4gICAgICAgIHJldHVybiBjbGFtcChjb21wdXRlZEluZGV4LCBlbGVtZW50SW5kZXgsIHRoaXMubGFzdEluZGV4IC0gcmV2ZXJzZUVsZW1lbnRJbmRleCk7XG4gICAgfVxuXG4gICAgZ2V0RWxlbWVudE1vZGUoaW5kZXg6IG51bWJlcik6IFR1aUFwcGVhcmFuY2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRleCA9PT0gaW5kZXggPyBUdWlBcHBlYXJhbmNlLlByaW1hcnkgOiBUdWlBcHBlYXJhbmNlLkZsYXQ7XG4gICAgfVxuXG4gICAgZ2V0U21hbGxFbGVtZW50TW9kZShpbmRleDogbnVtYmVyLCBtb2RlOiBUdWlCcmlnaHRuZXNzIHwgbnVsbCk6IFR1aUFwcGVhcmFuY2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRleCA9PT0gaW5kZXggJiYgbW9kZSAhPT0gJ29uTGlnaHQnXG4gICAgICAgICAgICA/IFR1aUFwcGVhcmFuY2UuUHJpbWFyeVxuICAgICAgICAgICAgOiBUdWlBcHBlYXJhbmNlLlNlY29uZGFyeTtcbiAgICB9XG5cbiAgICBvbkVsZW1lbnRDbGljayhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlSW5kZXgoaW5kZXgpO1xuICAgIH1cblxuICAgIG9uRWxlbWVudEtleURvd25BcnJvd0xlZnQoZWxlbWVudDogVHVpQnV0dG9uQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChlbGVtZW50ID09PSB0aGlzLmVsZW1lbnRzLmZpcnN0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMuZWxlbWVudHMuZmluZChcbiAgICAgICAgICAgIChfLCBpbmRleCwgYXJyYXkpID0+IGFycmF5W2luZGV4ICsgMV0gPT09IGVsZW1lbnQsXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHByZXZpb3VzICYmIHByZXZpb3VzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQocHJldmlvdXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkVsZW1lbnRLZXlEb3duQXJyb3dSaWdodChlbGVtZW50OiBUdWlCdXR0b25Db21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGVsZW1lbnQgPT09IHRoaXMuZWxlbWVudHMubGFzdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV4dCA9IHRoaXMuZWxlbWVudHMuZmluZChcbiAgICAgICAgICAgIChfLCBpbmRleCwgYXJyYXkpID0+IGFycmF5W2luZGV4IC0gMV0gPT09IGVsZW1lbnQsXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKG5leHQgJiYgbmV4dC5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKG5leHQubmF0aXZlRm9jdXNhYmxlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkFycm93Q2xpY2soZGlyZWN0aW9uOiBUdWlIb3Jpem9udGFsRGlyZWN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMudHJ5Q2hhbmdlVG8oZGlyZWN0aW9uKTtcbiAgICAgICAgdGhpcy5mb2N1c0FjdGl2ZSgpO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBY3RpdmUgaW5kZXggZnJvbSB0aGUgZW5kXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgcmV2ZXJzZUluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhc3RJbmRleCAtIHRoaXMuaW5kZXg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWF4IG51bWJlciBvZiBlbGVtZW50cyBpbiBoYWxmIChub3QgY291bnRpbmcgdGhlIG1pZGRsZSBvbmUpLlxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0IG1heEhhbGZMZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2lkZVBhZGRpbmcgKyBET1RTX0xFTkdUSCArIHRoaXMuYWN0aXZlUGFkZGluZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJcyB0aGVyZSAnLi4uJyBhbnl3aGVyZVxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0IGl0ZW1zRml0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sZW5ndGggPD0gdGhpcy5tYXhFbGVtZW50c0xlbmd0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNYXggbnVtYmVyIG9mIGVsZW1lbnRzXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgbWF4RWxlbWVudHNMZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWF4SGFsZkxlbmd0aCAqIDIgKyBBQ1RJVkVfSVRFTV9MRU5HVEg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbGFzdEluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmxlbmd0aCAtIDE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbGFzdEVsZW1lbnRJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50c0xlbmd0aCAtIDE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXJlIHRoZXJlIGNvbGxhcHNlZCBpdGVtcyBhdCB0aGF0IGluZGV4XG4gICAgICogQHBhcmFtIGluZGV4XG4gICAgICogQHJldHVybnMgdGhlcmUgYXJlIGNvbGxhcHNlZCBpdGVtc1xuICAgICAqL1xuICAgIHByaXZhdGUgaGFzQ29sbGFwc2VkSXRlbXMoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXRlbXNGaXQgJiYgaW5kZXggPiB0aGlzLm1heEhhbGZMZW5ndGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0cnlDaGFuZ2VUbyhkaXJlY3Rpb246IFR1aUhvcml6b250YWxEaXJlY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVJbmRleChcbiAgICAgICAgICAgIGNsYW1wKHRoaXMuaW5kZXggKyBob3Jpem9udGFsRGlyZWN0aW9uVG9OdW1iZXIoZGlyZWN0aW9uKSwgMCwgdGhpcy5sYXN0SW5kZXgpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNBY3RpdmUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVGb2N1c2FibGVFbGVtZW50fSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQobmF0aXZlRm9jdXNhYmxlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUluZGV4KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW5kZXggPT09IGluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmluZGV4ID0gaW5kZXg7XG4gICAgICAgIHRoaXMuaW5kZXhDaGFuZ2UuZW1pdChpbmRleCk7XG4gICAgfVxufVxuIl19