@taiga-ui/kit 4.48.0 → 4.49.0-canary.8c4d1de

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 (472) hide show
  1. package/components/accordion/accordion-item.component.d.ts +1 -1
  2. package/components/accordion/accordion.directive.d.ts +1 -1
  3. package/components/action-bar/action-bar.component.d.ts +2 -2
  4. package/components/avatar/avatar-stack.component.d.ts +1 -1
  5. package/components/avatar/avatar.component.d.ts +1 -1
  6. package/components/avatar/avatar.options.d.ts +3 -4
  7. package/components/badge/badge.options.d.ts +3 -4
  8. package/components/badge-notification/badge-notification.component.d.ts +1 -1
  9. package/components/badge-notification/badge-notification.options.d.ts +2 -3
  10. package/components/badged-content/badged-content.directive.d.ts +1 -1
  11. package/components/block/block.directive.d.ts +1 -1
  12. package/components/block/block.options.d.ts +3 -4
  13. package/components/breadcrumbs/breadcrumbs.component.d.ts +2 -3
  14. package/components/breadcrumbs/breadcrumbs.options.d.ts +2 -3
  15. package/components/button-loading/button-loading.component.d.ts +1 -1
  16. package/components/calendar-month/calendar-month.component.d.ts +1 -1
  17. package/components/calendar-range/calculate-disabled-item-handler.d.ts +2 -3
  18. package/components/calendar-range/calendar-range.component.d.ts +6 -8
  19. package/components/calendar-range/day-caps-mapper.d.ts +2 -3
  20. package/components/calendar-range/day-range-period.d.ts +2 -2
  21. package/components/carousel/carousel.component.d.ts +2 -3
  22. package/components/checkbox/checkbox.component.d.ts +2 -2
  23. package/components/checkbox/checkbox.options.d.ts +3 -4
  24. package/components/chip/chip.directive.d.ts +1 -1
  25. package/components/chip/chip.options.d.ts +3 -4
  26. package/components/combo-box/combo-box.directive.d.ts +2 -2
  27. package/components/comment/comment.directive.d.ts +1 -1
  28. package/components/confirm/confirm.component.d.ts +2 -3
  29. package/components/confirm/confirm.service.d.ts +3 -3
  30. package/components/data-list-wrapper/data-list-wrapper.component.d.ts +5 -7
  31. package/components/drawer/drawer.component.d.ts +1 -1
  32. package/components/files/file/file.component.d.ts +6 -6
  33. package/components/files/file/file.options.d.ts +5 -5
  34. package/components/files/files/files.component.d.ts +1 -2
  35. package/components/files/files.types.d.ts +1 -1
  36. package/components/files/files.utils.d.ts +1 -1
  37. package/components/files/files.validators.d.ts +1 -1
  38. package/components/files/input-files/input-files-validator.directive.d.ts +1 -1
  39. package/components/files/input-files/input-files.component.d.ts +1 -1
  40. package/components/files/input-files/input-files.content.d.ts +1 -1
  41. package/components/files/input-files/input-files.directive.d.ts +2 -2
  42. package/components/files/input-files/input-files.options.d.ts +2 -3
  43. package/components/files/pipes/file-rejected.pipe.d.ts +3 -3
  44. package/components/filter/filter.component.d.ts +3 -3
  45. package/components/index.d.ts +1 -0
  46. package/components/input-chip/input-chip.component.d.ts +1 -1
  47. package/components/input-chip/input-chip.directive.d.ts +2 -3
  48. package/components/input-color/input-color.component.d.ts +2 -2
  49. package/components/input-color/input-color.options.d.ts +1 -1
  50. package/components/input-date/date-filler.d.ts +1 -1
  51. package/components/input-date/input-date.directive.d.ts +4 -5
  52. package/components/input-date/input-date.options.d.ts +4 -4
  53. package/components/input-date-range/input-date-range.directive.d.ts +2 -3
  54. package/components/input-date-range/input-date-range.options.d.ts +4 -5
  55. package/components/input-date-time/input-date-time.directive.d.ts +4 -4
  56. package/components/input-date-time/input-date-time.options.d.ts +5 -6
  57. package/components/input-month/input-month.directive.d.ts +1 -1
  58. package/components/input-month/input-month.options.d.ts +5 -6
  59. package/components/input-month-range/input-month-range.options.d.ts +5 -6
  60. package/components/input-number/index.d.ts +1 -0
  61. package/components/input-number/input-number.d.ts +2 -1
  62. package/components/input-number/input-number.directive.d.ts +6 -5
  63. package/components/input-number/input-number.options.d.ts +1 -1
  64. package/components/input-number/quantum.directive.d.ts +14 -0
  65. package/components/input-number/step/input-number-step.component.d.ts +1 -1
  66. package/components/input-password/input-password.options.d.ts +3 -4
  67. package/components/input-phone/index.d.ts +2 -0
  68. package/components/input-phone/input-phone.directive.d.ts +27 -0
  69. package/components/input-phone/input-phone.options.d.ts +8 -0
  70. package/components/input-phone/utils/complete-phone-insertion-preprocessor.d.ts +9 -0
  71. package/components/input-phone/utils/create-phone-mask-expression.d.ts +7 -0
  72. package/components/input-phone-international/input-phone-international.component.d.ts +4 -4
  73. package/components/input-phone-international/input-phone-international.options.d.ts +4 -5
  74. package/components/input-pin/input-pin.component.d.ts +1 -1
  75. package/components/input-slider/input-slider.directive.d.ts +4 -4
  76. package/components/input-time/input-time.component.d.ts +2 -3
  77. package/components/input-time/input-time.directive.d.ts +3 -3
  78. package/components/input-time/input-time.options.d.ts +5 -5
  79. package/components/input-year/input-year.options.d.ts +3 -4
  80. package/components/items-with-more/items-with-more.component.d.ts +2 -3
  81. package/components/items-with-more/items-with-more.directive.d.ts +1 -1
  82. package/components/items-with-more/more.directive.d.ts +1 -1
  83. package/components/like/like.component.d.ts +3 -3
  84. package/components/like/like.options.d.ts +3 -3
  85. package/components/line-clamp/line-clamp-position.directive.d.ts +1 -1
  86. package/components/line-clamp/line-clamp.component.d.ts +3 -3
  87. package/components/line-clamp/line-clamp.options.d.ts +1 -2
  88. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +1 -1
  89. package/components/multi-select/multi-select-native/multi-select-native.component.d.ts +1 -1
  90. package/components/multi-select/multi-select-option/multi-select-option.component.d.ts +1 -1
  91. package/components/pager/pager.component.d.ts +2 -2
  92. package/components/pagination/pagination.component.d.ts +3 -3
  93. package/components/pdf-viewer/pdf-viewer.component.d.ts +2 -2
  94. package/components/pdf-viewer/pdf-viewer.directive.d.ts +1 -1
  95. package/components/pdf-viewer/pdf-viewer.options.d.ts +2 -3
  96. package/components/pdf-viewer/pdf-viewer.service.d.ts +5 -6
  97. package/components/preview/dialog/preview-dialog.component.d.ts +1 -1
  98. package/components/preview/preview.component.d.ts +1 -1
  99. package/components/progress/progress-bar/progress-bar.component.d.ts +1 -1
  100. package/components/progress/progress-circle/progress-circle.component.d.ts +2 -2
  101. package/components/progress/progress.options.d.ts +2 -3
  102. package/components/push/push-alert.component.d.ts +2 -2
  103. package/components/push/push.options.d.ts +1 -2
  104. package/components/push/push.service.d.ts +1 -1
  105. package/components/radio/radio.component.d.ts +2 -2
  106. package/components/radio/radio.directive.d.ts +1 -1
  107. package/components/radio/radio.options.d.ts +3 -4
  108. package/components/radio-list/radio-list.component.d.ts +4 -4
  109. package/components/range/range.component.d.ts +3 -4
  110. package/components/rating/rating.component.d.ts +1 -1
  111. package/components/rating/rating.options.d.ts +3 -4
  112. package/components/routable-dialog/generate-dialogable-route.d.ts +3 -3
  113. package/components/segmented/segmented.component.d.ts +2 -3
  114. package/components/segmented/segmented.directive.d.ts +1 -1
  115. package/components/select/native-select/native-select.component.d.ts +2 -2
  116. package/components/select/select.directive.d.ts +1 -1
  117. package/components/slider/helpers/key-steps.d.ts +2 -2
  118. package/components/slider/helpers/slider-key-steps.directive.d.ts +2 -3
  119. package/components/slider/helpers/slider-readonly.directive.d.ts +1 -1
  120. package/components/slider/helpers/slider-thumb-label.component.d.ts +2 -2
  121. package/components/slider/slider.component.d.ts +1 -1
  122. package/components/slider/slider.options.d.ts +2 -3
  123. package/components/stepper/stepper.component.d.ts +3 -4
  124. package/components/switch/switch.component.d.ts +2 -2
  125. package/components/switch/switch.options.d.ts +3 -4
  126. package/components/tabs/tab.directive.d.ts +1 -1
  127. package/components/tabs/tabs-horizontal.directive.d.ts +1 -1
  128. package/components/tabs/tabs-vertical.directive.d.ts +1 -1
  129. package/components/tabs/tabs-with-more.component.d.ts +5 -6
  130. package/components/tabs/tabs.directive.d.ts +2 -3
  131. package/components/tabs/tabs.options.d.ts +2 -3
  132. package/components/tabs/tabs.providers.d.ts +2 -3
  133. package/components/textarea/textarea-limit.directive.d.ts +3 -3
  134. package/components/textarea/textarea.component.d.ts +2 -3
  135. package/components/textarea/textarea.options.d.ts +2 -2
  136. package/components/tiles/tile.component.d.ts +1 -1
  137. package/components/tiles/tile.service.d.ts +1 -1
  138. package/components/tree/components/tree/tree.component.d.ts +3 -3
  139. package/components/tree/components/tree-item/tree-item.component.d.ts +3 -3
  140. package/components/tree/components/tree-item-content/tree-item-content.component.d.ts +2 -2
  141. package/components/tree/directives/tree-children.directive.d.ts +1 -1
  142. package/components/tree/directives/tree-controller.directive.d.ts +2 -2
  143. package/components/tree/directives/tree-item-controller.directive.d.ts +2 -2
  144. package/components/tree/directives/tree-node.directive.d.ts +1 -1
  145. package/components/tree/misc/tree.constants.d.ts +1 -1
  146. package/components/tree/misc/tree.interfaces.d.ts +4 -4
  147. package/components/tree/misc/tree.tokens.d.ts +2 -2
  148. package/directives/button-select/button-select.directive.d.ts +1 -1
  149. package/directives/copy/copy.component.d.ts +1 -1
  150. package/directives/copy/copy.options.d.ts +2 -2
  151. package/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.d.ts +1 -1
  152. package/directives/fade/fade.directive.d.ts +1 -1
  153. package/directives/fluid-typography/fluid-typography.directive.d.ts +1 -1
  154. package/directives/fluid-typography/fluid-typography.options.d.ts +1 -2
  155. package/directives/highlight/highlight.directive.d.ts +1 -1
  156. package/directives/lazy-loading/lazy-loading.directive.d.ts +1 -1
  157. package/directives/lazy-loading/lazy-loading.service.d.ts +1 -1
  158. package/directives/password/password.options.d.ts +2 -2
  159. package/directives/present/present.directive.d.ts +1 -1
  160. package/directives/shimmer/shimmer.directive.d.ts +1 -1
  161. package/directives/skeleton/skeleton.directive.d.ts +1 -1
  162. package/directives/tooltip/tooltip.directive.d.ts +2 -2
  163. package/directives/unfinished-validator/unfinished-validator.directive.d.ts +1 -1
  164. package/directives/unfinished-validator/unfinished.validator.d.ts +2 -2
  165. package/directives/unmask-handler/unmask-handler.directive.d.ts +2 -2
  166. package/esm2022/components/accordion/accordion-item.component.mjs +1 -1
  167. package/esm2022/components/accordion/accordion.directive.mjs +2 -2
  168. package/esm2022/components/action-bar/action-bar.component.mjs +2 -2
  169. package/esm2022/components/avatar/avatar-stack.component.mjs +3 -3
  170. package/esm2022/components/avatar/avatar.component.mjs +1 -1
  171. package/esm2022/components/avatar/avatar.options.mjs +1 -1
  172. package/esm2022/components/badge/badge.options.mjs +1 -1
  173. package/esm2022/components/badge-notification/badge-notification.component.mjs +1 -1
  174. package/esm2022/components/badge-notification/badge-notification.options.mjs +1 -1
  175. package/esm2022/components/badged-content/badged-content.directive.mjs +1 -1
  176. package/esm2022/components/block/block.directive.mjs +1 -1
  177. package/esm2022/components/block/block.options.mjs +1 -1
  178. package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +1 -1
  179. package/esm2022/components/breadcrumbs/breadcrumbs.options.mjs +1 -1
  180. package/esm2022/components/button-loading/button-loading.component.mjs +1 -1
  181. package/esm2022/components/calendar-month/calendar-month.component.mjs +1 -1
  182. package/esm2022/components/calendar-range/calculate-disabled-item-handler.mjs +1 -1
  183. package/esm2022/components/calendar-range/calendar-range.component.mjs +1 -1
  184. package/esm2022/components/calendar-range/day-caps-mapper.mjs +2 -2
  185. package/esm2022/components/calendar-range/day-range-period.mjs +1 -1
  186. package/esm2022/components/carousel/carousel.component.mjs +2 -2
  187. package/esm2022/components/checkbox/checkbox.component.mjs +1 -1
  188. package/esm2022/components/checkbox/checkbox.options.mjs +1 -1
  189. package/esm2022/components/chip/chip.directive.mjs +1 -1
  190. package/esm2022/components/chip/chip.options.mjs +1 -1
  191. package/esm2022/components/combo-box/combo-box.directive.mjs +3 -3
  192. package/esm2022/components/comment/comment.directive.mjs +1 -1
  193. package/esm2022/components/confirm/confirm.component.mjs +1 -1
  194. package/esm2022/components/confirm/confirm.service.mjs +1 -1
  195. package/esm2022/components/data-list-wrapper/data-list-wrapper.component.mjs +3 -3
  196. package/esm2022/components/drawer/drawer.component.mjs +1 -1
  197. package/esm2022/components/files/file/file.component.mjs +3 -3
  198. package/esm2022/components/files/file/file.options.mjs +1 -1
  199. package/esm2022/components/files/files/files.component.mjs +1 -1
  200. package/esm2022/components/files/files.types.mjs +1 -1
  201. package/esm2022/components/files/files.utils.mjs +1 -1
  202. package/esm2022/components/files/files.validators.mjs +1 -1
  203. package/esm2022/components/files/input-files/input-files-validator.directive.mjs +1 -1
  204. package/esm2022/components/files/input-files/input-files.component.mjs +1 -1
  205. package/esm2022/components/files/input-files/input-files.content.mjs +1 -1
  206. package/esm2022/components/files/input-files/input-files.directive.mjs +1 -1
  207. package/esm2022/components/files/input-files/input-files.options.mjs +1 -1
  208. package/esm2022/components/files/pipes/file-rejected.pipe.mjs +1 -1
  209. package/esm2022/components/filter/filter.component.mjs +2 -2
  210. package/esm2022/components/index.mjs +2 -1
  211. package/esm2022/components/input-chip/input-chip.component.mjs +2 -2
  212. package/esm2022/components/input-chip/input-chip.directive.mjs +2 -2
  213. package/esm2022/components/input-color/input-color.component.mjs +1 -1
  214. package/esm2022/components/input-color/input-color.options.mjs +1 -1
  215. package/esm2022/components/input-date/date-filler.mjs +1 -1
  216. package/esm2022/components/input-date/input-date.directive.mjs +3 -3
  217. package/esm2022/components/input-date/input-date.options.mjs +2 -2
  218. package/esm2022/components/input-date-range/input-date-range.directive.mjs +2 -2
  219. package/esm2022/components/input-date-range/input-date-range.options.mjs +2 -2
  220. package/esm2022/components/input-date-time/input-date-time.directive.mjs +1 -1
  221. package/esm2022/components/input-date-time/input-date-time.options.mjs +2 -2
  222. package/esm2022/components/input-month/input-month.directive.mjs +1 -1
  223. package/esm2022/components/input-month/input-month.options.mjs +2 -2
  224. package/esm2022/components/input-month-range/input-month-range.directive.mjs +2 -2
  225. package/esm2022/components/input-month-range/input-month-range.options.mjs +2 -2
  226. package/esm2022/components/input-number/index.mjs +2 -1
  227. package/esm2022/components/input-number/input-number.directive.mjs +45 -44
  228. package/esm2022/components/input-number/input-number.mjs +7 -2
  229. package/esm2022/components/input-number/input-number.options.mjs +1 -1
  230. package/esm2022/components/input-number/quantum.directive.mjs +56 -0
  231. package/esm2022/components/input-number/step/input-number-step.component.mjs +2 -2
  232. package/esm2022/components/input-password/input-password.options.mjs +1 -1
  233. package/esm2022/components/input-phone/index.mjs +3 -0
  234. package/esm2022/components/input-phone/input-phone.directive.mjs +137 -0
  235. package/esm2022/components/input-phone/input-phone.options.mjs +9 -0
  236. package/esm2022/components/input-phone/taiga-ui-kit-components-input-phone.mjs +5 -0
  237. package/esm2022/components/input-phone/utils/complete-phone-insertion-preprocessor.mjs +41 -0
  238. package/esm2022/components/input-phone/utils/create-phone-mask-expression.mjs +17 -0
  239. package/esm2022/components/input-phone-international/input-phone-international.component.mjs +2 -2
  240. package/esm2022/components/input-phone-international/input-phone-international.options.mjs +1 -1
  241. package/esm2022/components/input-pin/input-pin.component.mjs +1 -1
  242. package/esm2022/components/input-slider/input-slider.directive.mjs +8 -12
  243. package/esm2022/components/input-time/input-time.component.mjs +1 -1
  244. package/esm2022/components/input-time/input-time.directive.mjs +1 -1
  245. package/esm2022/components/input-time/input-time.options.mjs +1 -1
  246. package/esm2022/components/input-year/input-year.options.mjs +2 -2
  247. package/esm2022/components/items-with-more/items-with-more.component.mjs +1 -1
  248. package/esm2022/components/items-with-more/items-with-more.directive.mjs +1 -1
  249. package/esm2022/components/items-with-more/more.directive.mjs +1 -1
  250. package/esm2022/components/like/like.component.mjs +1 -1
  251. package/esm2022/components/like/like.options.mjs +1 -1
  252. package/esm2022/components/line-clamp/line-clamp-position.directive.mjs +2 -2
  253. package/esm2022/components/line-clamp/line-clamp.component.mjs +1 -1
  254. package/esm2022/components/line-clamp/line-clamp.options.mjs +1 -1
  255. package/esm2022/components/multi-select/multi-select-group/multi-select-group.component.mjs +2 -2
  256. package/esm2022/components/multi-select/multi-select-native/multi-select-native.component.mjs +2 -2
  257. package/esm2022/components/multi-select/multi-select-option/multi-select-option.component.mjs +2 -2
  258. package/esm2022/components/pager/pager.component.mjs +1 -1
  259. package/esm2022/components/pagination/pagination.component.mjs +1 -1
  260. package/esm2022/components/pdf-viewer/pdf-viewer.component.mjs +1 -1
  261. package/esm2022/components/pdf-viewer/pdf-viewer.directive.mjs +1 -1
  262. package/esm2022/components/pdf-viewer/pdf-viewer.options.mjs +1 -1
  263. package/esm2022/components/pdf-viewer/pdf-viewer.service.mjs +1 -1
  264. package/esm2022/components/preview/dialog/preview-dialog.component.mjs +1 -1
  265. package/esm2022/components/preview/preview.component.mjs +1 -1
  266. package/esm2022/components/progress/progress-bar/progress-bar.component.mjs +1 -1
  267. package/esm2022/components/progress/progress-circle/progress-circle.component.mjs +1 -1
  268. package/esm2022/components/progress/progress.options.mjs +1 -1
  269. package/esm2022/components/push/push-alert.component.mjs +1 -1
  270. package/esm2022/components/push/push.options.mjs +1 -1
  271. package/esm2022/components/push/push.service.mjs +1 -1
  272. package/esm2022/components/radio/radio.component.mjs +1 -1
  273. package/esm2022/components/radio/radio.directive.mjs +1 -1
  274. package/esm2022/components/radio/radio.options.mjs +1 -1
  275. package/esm2022/components/radio-list/radio-list.component.mjs +2 -2
  276. package/esm2022/components/range/range.component.mjs +3 -3
  277. package/esm2022/components/rating/rating.component.mjs +1 -1
  278. package/esm2022/components/rating/rating.options.mjs +1 -1
  279. package/esm2022/components/routable-dialog/generate-dialogable-route.mjs +1 -1
  280. package/esm2022/components/routable-dialog/routable-dialog.component.mjs +2 -2
  281. package/esm2022/components/segmented/segmented.component.mjs +1 -1
  282. package/esm2022/components/segmented/segmented.directive.mjs +2 -2
  283. package/esm2022/components/select/native-select/native-select.component.mjs +2 -2
  284. package/esm2022/components/select/select-option/select-option.component.mjs +2 -2
  285. package/esm2022/components/select/select.directive.mjs +2 -2
  286. package/esm2022/components/slider/helpers/key-steps.mjs +1 -1
  287. package/esm2022/components/slider/helpers/slider-key-steps.directive.mjs +1 -1
  288. package/esm2022/components/slider/helpers/slider-readonly.directive.mjs +1 -1
  289. package/esm2022/components/slider/helpers/slider-thumb-label.component.mjs +2 -2
  290. package/esm2022/components/slider/slider.component.mjs +3 -3
  291. package/esm2022/components/slider/slider.options.mjs +1 -1
  292. package/esm2022/components/stepper/stepper.component.mjs +1 -1
  293. package/esm2022/components/switch/switch.component.mjs +1 -1
  294. package/esm2022/components/switch/switch.options.mjs +1 -1
  295. package/esm2022/components/tabs/tab.directive.mjs +1 -1
  296. package/esm2022/components/tabs/tabs-horizontal.directive.mjs +2 -2
  297. package/esm2022/components/tabs/tabs-vertical.directive.mjs +1 -1
  298. package/esm2022/components/tabs/tabs-with-more.component.mjs +1 -1
  299. package/esm2022/components/tabs/tabs.directive.mjs +1 -1
  300. package/esm2022/components/tabs/tabs.options.mjs +1 -1
  301. package/esm2022/components/tabs/tabs.providers.mjs +2 -2
  302. package/esm2022/components/textarea/textarea-limit.directive.mjs +2 -2
  303. package/esm2022/components/textarea/textarea.component.mjs +3 -3
  304. package/esm2022/components/textarea/textarea.options.mjs +1 -1
  305. package/esm2022/components/tiles/tile.component.mjs +1 -1
  306. package/esm2022/components/tiles/tile.service.mjs +1 -1
  307. package/esm2022/components/tree/components/tree/tree.component.mjs +1 -1
  308. package/esm2022/components/tree/components/tree-item/tree-item.component.mjs +1 -1
  309. package/esm2022/components/tree/components/tree-item-content/tree-item-content.component.mjs +2 -2
  310. package/esm2022/components/tree/directives/tree-children.directive.mjs +1 -1
  311. package/esm2022/components/tree/directives/tree-controller.directive.mjs +1 -1
  312. package/esm2022/components/tree/directives/tree-item-controller.directive.mjs +1 -1
  313. package/esm2022/components/tree/directives/tree-node.directive.mjs +1 -1
  314. package/esm2022/components/tree/misc/tree.constants.mjs +1 -1
  315. package/esm2022/components/tree/misc/tree.interfaces.mjs +1 -1
  316. package/esm2022/components/tree/misc/tree.service.mjs +1 -1
  317. package/esm2022/components/tree/misc/tree.tokens.mjs +1 -1
  318. package/esm2022/directives/button-select/button-select.directive.mjs +2 -2
  319. package/esm2022/directives/copy/copy.component.mjs +1 -1
  320. package/esm2022/directives/copy/copy.options.mjs +1 -1
  321. package/esm2022/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.mjs +2 -2
  322. package/esm2022/directives/fade/fade.directive.mjs +1 -1
  323. package/esm2022/directives/fluid-typography/fluid-typography.directive.mjs +1 -1
  324. package/esm2022/directives/fluid-typography/fluid-typography.options.mjs +1 -1
  325. package/esm2022/directives/highlight/highlight.directive.mjs +1 -1
  326. package/esm2022/directives/lazy-loading/lazy-loading.directive.mjs +1 -1
  327. package/esm2022/directives/lazy-loading/lazy-loading.service.mjs +1 -1
  328. package/esm2022/directives/password/password.options.mjs +1 -1
  329. package/esm2022/directives/present/present.directive.mjs +1 -1
  330. package/esm2022/directives/shimmer/shimmer.directive.mjs +1 -1
  331. package/esm2022/directives/skeleton/skeleton.directive.mjs +1 -1
  332. package/esm2022/directives/tooltip/tooltip.directive.mjs +1 -1
  333. package/esm2022/directives/unfinished-validator/unfinished-validator.directive.mjs +1 -1
  334. package/esm2022/directives/unfinished-validator/unfinished.validator.mjs +1 -1
  335. package/esm2022/directives/unmask-handler/unmask-handler.directive.mjs +2 -2
  336. package/esm2022/pipes/emails/emails.pipe.mjs +1 -1
  337. package/esm2022/pipes/field-error/field-error-content-pipe.mjs +2 -2
  338. package/esm2022/pipes/field-error/field-error-pipe.mjs +2 -2
  339. package/esm2022/pipes/filter-by-input/filter-by-input.pipe.mjs +2 -2
  340. package/esm2022/pipes/hide-selected/hide-selected.pipe.mjs +1 -1
  341. package/esm2022/pipes/sort-countries/sort-countries.pipe.mjs +1 -1
  342. package/esm2022/pipes/stringify/stringify.pipe.mjs +1 -1
  343. package/esm2022/pipes/stringify-content/stringify-content.pipe.mjs +1 -1
  344. package/esm2022/tokens/calendar-date-stream.mjs +1 -1
  345. package/esm2022/tokens/date-inputs-value-transformers.mjs +2 -2
  346. package/esm2022/tokens/i18n.mjs +1 -1
  347. package/esm2022/tokens/input-date-options.mjs +1 -1
  348. package/esm2022/tokens/items-handlers.mjs +1 -1
  349. package/esm2022/tokens/mobile-calendar.mjs +1 -1
  350. package/esm2022/tokens/month-formatter.mjs +1 -1
  351. package/esm2022/tokens/preview-icons.mjs +1 -1
  352. package/esm2022/tokens/validation-errors.mjs +1 -1
  353. package/esm2022/utils/inject-value.mjs +1 -1
  354. package/esm2022/utils/maskito.binding.mjs +1 -1
  355. package/esm2022/utils/phone.mjs +1 -1
  356. package/esm2022/utils/toggle-day.mjs +1 -1
  357. package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
  358. package/fesm2022/taiga-ui-kit-components-action-bar.mjs.map +1 -1
  359. package/fesm2022/taiga-ui-kit-components-avatar.mjs +2 -2
  360. package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
  361. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs.map +1 -1
  362. package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
  363. package/fesm2022/taiga-ui-kit-components-badged-content.mjs.map +1 -1
  364. package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
  365. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs.map +1 -1
  366. package/fesm2022/taiga-ui-kit-components-button-loading.mjs.map +1 -1
  367. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs.map +1 -1
  368. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  369. package/fesm2022/taiga-ui-kit-components-carousel.mjs.map +1 -1
  370. package/fesm2022/taiga-ui-kit-components-checkbox.mjs.map +1 -1
  371. package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
  372. package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
  373. package/fesm2022/taiga-ui-kit-components-comment.mjs.map +1 -1
  374. package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
  375. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
  376. package/fesm2022/taiga-ui-kit-components-drawer.mjs.map +1 -1
  377. package/fesm2022/taiga-ui-kit-components-files.mjs +2 -2
  378. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  379. package/fesm2022/taiga-ui-kit-components-filter.mjs.map +1 -1
  380. package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
  381. package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
  382. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs.map +1 -1
  383. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
  384. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  385. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs.map +1 -1
  386. package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
  387. package/fesm2022/taiga-ui-kit-components-input-number.mjs +101 -48
  388. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  389. package/fesm2022/taiga-ui-kit-components-input-password.mjs.map +1 -1
  390. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  391. package/fesm2022/taiga-ui-kit-components-input-phone.mjs +206 -0
  392. package/fesm2022/taiga-ui-kit-components-input-phone.mjs.map +1 -0
  393. package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
  394. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +7 -11
  395. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  396. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  397. package/fesm2022/taiga-ui-kit-components-input-year.mjs.map +1 -1
  398. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs.map +1 -1
  399. package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
  400. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
  401. package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
  402. package/fesm2022/taiga-ui-kit-components-pager.mjs.map +1 -1
  403. package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
  404. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs.map +1 -1
  405. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs.map +1 -1
  406. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  407. package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
  408. package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
  409. package/fesm2022/taiga-ui-kit-components-radio-list.mjs.map +1 -1
  410. package/fesm2022/taiga-ui-kit-components-radio.mjs.map +1 -1
  411. package/fesm2022/taiga-ui-kit-components-range.mjs +2 -2
  412. package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
  413. package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
  414. package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs.map +1 -1
  415. package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
  416. package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
  417. package/fesm2022/taiga-ui-kit-components-slider.mjs +2 -2
  418. package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
  419. package/fesm2022/taiga-ui-kit-components-stepper.mjs.map +1 -1
  420. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  421. package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
  422. package/fesm2022/taiga-ui-kit-components-textarea.mjs +2 -2
  423. package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
  424. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  425. package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
  426. package/fesm2022/taiga-ui-kit-components.mjs +1 -0
  427. package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
  428. package/fesm2022/taiga-ui-kit-directives-button-select.mjs.map +1 -1
  429. package/fesm2022/taiga-ui-kit-directives-copy.mjs.map +1 -1
  430. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs.map +1 -1
  431. package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
  432. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs.map +1 -1
  433. package/fesm2022/taiga-ui-kit-directives-highlight.mjs.map +1 -1
  434. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs.map +1 -1
  435. package/fesm2022/taiga-ui-kit-directives-password.mjs.map +1 -1
  436. package/fesm2022/taiga-ui-kit-directives-present.mjs.map +1 -1
  437. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs.map +1 -1
  438. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
  439. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs.map +1 -1
  440. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs.map +1 -1
  441. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs.map +1 -1
  442. package/fesm2022/taiga-ui-kit-pipes-emails.mjs.map +1 -1
  443. package/fesm2022/taiga-ui-kit-pipes-field-error.mjs.map +1 -1
  444. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs.map +1 -1
  445. package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs.map +1 -1
  446. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs.map +1 -1
  447. package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs.map +1 -1
  448. package/fesm2022/taiga-ui-kit-pipes-stringify.mjs.map +1 -1
  449. package/fesm2022/taiga-ui-kit-tokens.mjs.map +1 -1
  450. package/fesm2022/taiga-ui-kit-utils.mjs.map +1 -1
  451. package/package.json +14 -8
  452. package/pipes/emails/emails.pipe.d.ts +1 -1
  453. package/pipes/field-error/field-error-content-pipe.d.ts +2 -2
  454. package/pipes/field-error/field-error-pipe.d.ts +2 -2
  455. package/pipes/filter-by-input/filter-by-input.pipe.d.ts +2 -2
  456. package/pipes/hide-selected/hide-selected.pipe.d.ts +1 -1
  457. package/pipes/sort-countries/sort-countries.pipe.d.ts +3 -3
  458. package/pipes/stringify/stringify.pipe.d.ts +2 -2
  459. package/pipes/stringify-content/stringify-content.pipe.d.ts +3 -3
  460. package/tokens/calendar-date-stream.d.ts +4 -5
  461. package/tokens/date-inputs-value-transformers.d.ts +2 -2
  462. package/tokens/i18n.d.ts +3 -3
  463. package/tokens/input-date-options.d.ts +4 -4
  464. package/tokens/items-handlers.d.ts +2 -3
  465. package/tokens/mobile-calendar.d.ts +1 -2
  466. package/tokens/month-formatter.d.ts +3 -3
  467. package/tokens/preview-icons.d.ts +1 -2
  468. package/tokens/validation-errors.d.ts +3 -4
  469. package/utils/inject-value.d.ts +1 -1
  470. package/utils/maskito.binding.d.ts +2 -2
  471. package/utils/phone.d.ts +2 -2
  472. package/utils/toggle-day.d.ts +1 -1
@@ -0,0 +1,56 @@
1
+ import { Directive, inject, Input } from '@angular/core';
2
+ import { TuiValueTransformer } from '@taiga-ui/cdk/classes';
3
+ import { tuiIsSafeToRound, tuiRound } from '@taiga-ui/cdk/utils/math';
4
+ import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
5
+ import { tuiGetFractionPartPadded } from '@taiga-ui/core/utils/format';
6
+ import { TUI_FLOATING_PRECISION } from '@taiga-ui/kit/components/slider';
7
+ import { TUI_INPUT_NUMBER_OPTIONS } from './input-number.options';
8
+ import * as i0 from "@angular/core";
9
+ class TuiQuantumValueTransformer extends TuiValueTransformer {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.parent = inject(TUI_INPUT_NUMBER_OPTIONS).valueTransformer;
13
+ this.quantum = 1;
14
+ }
15
+ fromControlValue(controlValue) {
16
+ return this.parent?.fromControlValue(controlValue) ?? controlValue;
17
+ }
18
+ toControlValue(internalValue) {
19
+ const value = this.parent?.toControlValue(internalValue) ?? internalValue;
20
+ return value != null &&
21
+ tuiIsSafeToRound(value, tuiGetFractionPartPadded(this.quantum).length)
22
+ ? tuiRound(Math.round(value / this.quantum) * this.quantum, TUI_FLOATING_PRECISION)
23
+ : value;
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiQuantumValueTransformer, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
26
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiQuantumValueTransformer, isStandalone: true, selector: "[tuiInputNumber][quantum], [tuiInputSlider][quantum]", inputs: { quantum: "quantum" }, providers: [tuiProvide(TuiValueTransformer, TuiQuantumValueTransformer)], usesInheritance: true, ngImport: i0 }); }
27
+ }
28
+ export { TuiQuantumValueTransformer };
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiQuantumValueTransformer, decorators: [{
30
+ type: Directive,
31
+ args: [{
32
+ standalone: true,
33
+ selector: '[tuiInputNumber][quantum], [tuiInputSlider][quantum]',
34
+ providers: [tuiProvide(TuiValueTransformer, TuiQuantumValueTransformer)],
35
+ }]
36
+ }], propDecorators: { quantum: [{
37
+ type: Input
38
+ }] } });
39
+ class TuiWithQuantumValueTransformer {
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiWithQuantumValueTransformer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
41
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiWithQuantumValueTransformer, isStandalone: true, hostDirectives: [{ directive: TuiQuantumValueTransformer, inputs: ["quantum", "quantum"] }], ngImport: i0 }); }
42
+ }
43
+ export { TuiWithQuantumValueTransformer };
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiWithQuantumValueTransformer, decorators: [{
45
+ type: Directive,
46
+ args: [{
47
+ standalone: true,
48
+ hostDirectives: [
49
+ {
50
+ directive: TuiQuantumValueTransformer,
51
+ inputs: ['quantum'],
52
+ },
53
+ ],
54
+ }]
55
+ }] });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhbnR1bS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvcXVhbnR1bS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxRQUFRLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDN0QsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFdkUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sd0JBQXdCLENBQUM7O0FBRWhFLE1BS2EsMEJBQTJCLFNBQVEsbUJBRy9DO0lBUkQ7O1FBU3FCLFdBQU0sR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUdyRSxZQUFPLEdBQUcsQ0FBQyxDQUFDO0tBaUJ0QjtJQWZtQixnQkFBZ0IsQ0FBQyxZQUEyQjtRQUN4RCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksWUFBWSxDQUFDO0lBQ3ZFLENBQUM7SUFFTSxjQUFjLENBQUMsYUFBNEI7UUFDOUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksYUFBYSxDQUFDO1FBRTFFLE9BQU8sS0FBSyxJQUFJLElBQUk7WUFDaEIsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLHdCQUF3QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDdEUsQ0FBQyxDQUFDLFFBQVEsQ0FDSixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFDL0Msc0JBQXNCLENBQ3pCO1lBQ0gsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNoQixDQUFDOytHQXZCUSwwQkFBMEI7bUdBQTFCLDBCQUEwQixtSUFGeEIsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsMEJBQTBCLENBQUMsQ0FBQzs7U0FFL0QsMEJBQTBCOzRGQUExQiwwQkFBMEI7a0JBTHRDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxzREFBc0Q7b0JBQ2hFLFNBQVMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsNkJBQTZCLENBQUM7aUJBQzNFOzhCQVFVLE9BQU87c0JBRGIsS0FBSzs7QUFvQlYsTUFTYSw4QkFBOEI7K0dBQTlCLDhCQUE4QjttR0FBOUIsOEJBQThCLG9EQW5DOUIsMEJBQTBCOztTQW1DMUIsOEJBQThCOzRGQUE5Qiw4QkFBOEI7a0JBVDFDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGNBQWMsRUFBRTt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsMEJBQTBCOzRCQUNyQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUM7eUJBQ3RCO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlWYWx1ZVRyYW5zZm9ybWVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHt0dWlJc1NhZmVUb1JvdW5kLCB0dWlSb3VuZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcbmltcG9ydCB7dHVpUHJvdmlkZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7dHVpR2V0RnJhY3Rpb25QYXJ0UGFkZGVkfSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9mb3JtYXQnO1xuaW1wb3J0IHtUVUlfRkxPQVRJTkdfUFJFQ0lTSU9OfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfTlVNQkVSX09QVElPTlN9IGZyb20gJy4vaW5wdXQtbnVtYmVyLm9wdGlvbnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aUlucHV0TnVtYmVyXVtxdWFudHVtXSwgW3R1aUlucHV0U2xpZGVyXVtxdWFudHVtXScsXG4gICAgcHJvdmlkZXJzOiBbdHVpUHJvdmlkZShUdWlWYWx1ZVRyYW5zZm9ybWVyLCBUdWlRdWFudHVtVmFsdWVUcmFuc2Zvcm1lcildLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlRdWFudHVtVmFsdWVUcmFuc2Zvcm1lciBleHRlbmRzIFR1aVZhbHVlVHJhbnNmb3JtZXI8XG4gICAgbnVtYmVyIHwgbnVsbCxcbiAgICBudW1iZXIgfCBudWxsXG4+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhcmVudCA9IGluamVjdChUVUlfSU5QVVRfTlVNQkVSX09QVElPTlMpLnZhbHVlVHJhbnNmb3JtZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBxdWFudHVtID0gMTtcblxuICAgIHB1YmxpYyBvdmVycmlkZSBmcm9tQ29udHJvbFZhbHVlKGNvbnRyb2xWYWx1ZTogbnVtYmVyIHwgbnVsbCk6IG51bWJlciB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnQ/LmZyb21Db250cm9sVmFsdWUoY29udHJvbFZhbHVlKSA/PyBjb250cm9sVmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIHRvQ29udHJvbFZhbHVlKGludGVybmFsVmFsdWU6IG51bWJlciB8IG51bGwpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnBhcmVudD8udG9Db250cm9sVmFsdWUoaW50ZXJuYWxWYWx1ZSkgPz8gaW50ZXJuYWxWYWx1ZTtcblxuICAgICAgICByZXR1cm4gdmFsdWUgIT0gbnVsbCAmJlxuICAgICAgICAgICAgdHVpSXNTYWZlVG9Sb3VuZCh2YWx1ZSwgdHVpR2V0RnJhY3Rpb25QYXJ0UGFkZGVkKHRoaXMucXVhbnR1bSkubGVuZ3RoKVxuICAgICAgICAgICAgPyB0dWlSb3VuZChcbiAgICAgICAgICAgICAgICAgIE1hdGgucm91bmQodmFsdWUgLyB0aGlzLnF1YW50dW0pICogdGhpcy5xdWFudHVtLFxuICAgICAgICAgICAgICAgICAgVFVJX0ZMT0FUSU5HX1BSRUNJU0lPTixcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiB2YWx1ZTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBUdWlRdWFudHVtVmFsdWVUcmFuc2Zvcm1lcixcbiAgICAgICAgICAgIGlucHV0czogWydxdWFudHVtJ10sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpV2l0aFF1YW50dW1WYWx1ZVRyYW5zZm9ybWVyIHt9XG4iXX0=
@@ -7,7 +7,7 @@ import { TuiButton } from '@taiga-ui/core/components/button';
7
7
  import { TUI_TEXTFIELD_OPTIONS, TuiTextfieldContent, } from '@taiga-ui/core/components/textfield';
8
8
  import { expand, fromEvent, map, merge, Subject, switchMap, takeUntil, timer } from 'rxjs';
9
9
  import { TuiInputNumberDirective } from '../input-number.directive';
10
- import { TUI_INPUT_NUMBER_OPTIONS } from '../input-number.options';
10
+ import { TUI_INPUT_NUMBER_OPTIONS, } from '../input-number.options';
11
11
  import * as i0 from "@angular/core";
12
12
  const INITIAL_DELAY = 300;
13
13
  const DELAY_DECREMENT = 15;
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
55
55
  function getDelay(index) {
56
56
  return Math.max(INITIAL_DELAY - index * DELAY_DECREMENT, MIN_DELAY);
57
57
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLXN0ZXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyL3N0ZXAvaW5wdXQtbnVtYmVyLXN0ZXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyL3N0ZXAvaW5wdXQtbnVtYmVyLXN0ZXAudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLG1CQUFtQixHQUN0QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXpGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRWxFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDOztBQUVqRSxNQUFNLGFB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d0JBQ3ZCLDZCQUE2QixFQUFFLGlCQUFpQjt3QkFDaEQsMkJBQTJCLEVBQUUsZ0JBQWdCO3dCQUM3Qyx1QkFBdUIsRUFBRSxRQUFRO3FCQUNwQzs4QkFpQ1UsVUFBVTtzQkFEcEIsS0FBSzt1QkFBQyxNQUFNOztBQWFqQixTQUFTLFFBQVEsQ0FBQyxLQUFhO0lBQzNCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsS0FBSyxHQUFHLGVBQWUsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUN4RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVCwgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBzaWduYWwsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlDbGFtcH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcbmltcG9ydCB7VHVpQnV0dG9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge1xuICAgIFRVSV9URVhURklFTERfT1BUSU9OUyxcbiAgICBUdWlUZXh0ZmllbGRDb250ZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge2V4cGFuZCwgZnJvbUV2ZW50LCBtYXAsIG1lcmdlLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGltZXJ9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aUlucHV0TnVtYmVyRGlyZWN0aXZlfSBmcm9tICcuLi9pbnB1dC1udW1iZXIuZGlyZWN0aXZlJztcbmltcG9ydCB0eXBlIHtUdWlJbnB1dE51bWJlck9wdGlvbnN9IGZyb20gJy4uL2lucHV0LW51bWJlci5vcHRpb25zJztcbmltcG9ydCB7VFVJX0lOUFVUX05VTUJFUl9PUFRJT05TfSBmcm9tICcuLi9pbnB1dC1udW1iZXIub3B0aW9ucyc7XG5cbmNvbnN0IElOSVRJQUxfREVMQVkgPSAzMDA7XG5jb25zdCBERUxBWV9ERUNSRU1FTlQgPSAxNTtcbmNvbnN0IE1JTl9ERUxBWSA9IDEwMDtcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUlucHV0TnVtYmVyXVtzdGVwXScsXG4gICAgaW1wb3J0czogW05nSWYsIFR1aUJ1dHRvbiwgVHVpVGV4dGZpZWxkQ29udGVudF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LW51bWJlci1zdGVwLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LW51bWJlci1zdGVwLnN0eWxlLmxlc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgbmdTa2lwSHlkcmF0aW9uOiAndHJ1ZScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd0Rvd24ucHJldmVudCknOiAnb25TdGVwKC1zdGVwKCkpJyxcbiAgICAgICAgJyhrZXlkb3duLmFycm93VXAucHJldmVudCknOiAnb25TdGVwKHN0ZXAoKSknLFxuICAgICAgICAnW2NsYXNzLl93aXRoLWJ1dHRvbnNdJzogJ3N0ZXAoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXROdW1iZXJTdGVwIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFwcGVhcmFuY2UgPSBpbmplY3QoVFVJX1RFWFRGSUVMRF9PUFRJT05TKS5hcHBlYXJhbmNlO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zID0gaW5qZWN0PFR1aUlucHV0TnVtYmVyT3B0aW9ucz4oVFVJX0lOUFVUX05VTUJFUl9PUFRJT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5wdXQgPSBpbmplY3QoVHVpSW5wdXROdW1iZXJEaXJlY3RpdmUsIHtzZWxmOiB0cnVlfSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0ZXAgPSBzaWduYWwodGhpcy5vcHRpb25zLnN0ZXApO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB2YWx1ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaW5wdXQudmFsdWUoKSA/PyBOYU4pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzdGVwJCA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZG9jID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzdG9wJCA9IG1lcmdlKFxuICAgICAgICBmcm9tRXZlbnQodGhpcy5kb2MsICdwb2ludGVydXAnKSxcbiAgICAgICAgZnJvbUV2ZW50KHRoaXMuZG9jLCAncG9pbnRlcmxlYXZlJyksXG4gICAgICAgIGZyb21FdmVudCh0aGlzLmRvYywgJ3BvaW50ZXJjYW5jZWwnKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0ZXBwaW5nID0gdGhpcy5zdGVwJFxuICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgodmFsdWUpID0+XG4gICAgICAgICAgICAgICAgdGltZXIoSU5JVElBTF9ERUxBWSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZXhwYW5kKChfLCBpbmRleCkgPT4gdGltZXIoZ2V0RGVsYXkoaW5kZXgpKSksXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB2YWx1ZSksXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLnN0b3AkKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLm9uU3RlcCh2YWx1ZSkpO1xuXG4gICAgLy8gVE9ETyh2NSk6IHJlcGxhY2Ugd2l0aCBzaWduYWwgaW5wdXRcbiAgICBASW5wdXQoJ3N0ZXAnKVxuICAgIHB1YmxpYyBzZXQgc3RlcFNldHRlcih4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zdGVwLnNldCh4KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25TdGVwKHN0ZXA6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5pbnB1dC52YWx1ZSgpID8/IDA7XG5cbiAgICAgICAgdGhpcy5pbnB1dC5zZXRWYWx1ZSh0dWlDbGFtcChjdXJyZW50ICsgc3RlcCwgdGhpcy5pbnB1dC5taW4oKSwgdGhpcy5pbnB1dC5tYXgoKSkpO1xuICAgICAgICB0aGlzLmVsLnNldFNlbGVjdGlvblJhbmdlKE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLCBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUik7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBnZXREZWxheShpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5tYXgoSU5JVElBTF9ERUxBWSAtIGluZGV4ICogREVMQVlfREVDUkVNRU5ULCBNSU5fREVMQVkpO1xufVxuIiwiPG5nLWNvbnRhaW5lciAqdHVpVGV4dGZpZWxkQ29udGVudD5cbiAgICA8c2VjdGlvblxuICAgICAgICAqbmdJZj1cInN0ZXAoKVwiXG4gICAgICAgIGNsYXNzPVwidC1pbnB1dC1udW1iZXItYnV0dG9uc1wiXG4gICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlKClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpbnB1dC5pbnRlcmFjdGl2ZSgpIHx8IHZhbHVlKCkgPj0gaW5wdXQubWF4KClcIlxuICAgICAgICAgICAgW2ljb25TdGFydF09XCJvcHRpb25zLmljb25zLmluY3JlYXNlXCJcbiAgICAgICAgICAgIChjbGljay5wcmV2ZW50KT1cIm9uU3RlcChzdGVwKCkpXCJcbiAgICAgICAgICAgIChwb2ludGVyZG93bi5wcmV2ZW50KT1cInN0ZXAkLm5leHQoc3RlcCgpKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgICtcbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1idXR0b25cIlxuICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZSgpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaW5wdXQuaW50ZXJhY3RpdmUoKSB8fCB2YWx1ZSgpIDw9IGlucHV0Lm1pbigpXCJcbiAgICAgICAgICAgIFtpY29uU3RhcnRdPVwib3B0aW9ucy5pY29ucy5kZWNyZWFzZVwiXG4gICAgICAgICAgICAoY2xpY2sucHJldmVudCk9XCJvblN0ZXAoLXN0ZXAoKSlcIlxuICAgICAgICAgICAgKHBvaW50ZXJkb3duLnByZXZlbnQpPVwic3RlcCQubmV4dCgtc3RlcCgpKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIC1cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9zZWN0aW9uPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLXN0ZXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyL3N0ZXAvaW5wdXQtbnVtYmVyLXN0ZXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyL3N0ZXAvaW5wdXQtbnVtYmVyLXN0ZXAudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLG1CQUFtQixHQUN0QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXpGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFDSCx3QkFBd0IsR0FFM0IsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFakMsTUFBTSxh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O3dCQUN2Qiw2QkFBNkIsRUFBRSxpQkFBaUI7d0JBQ2hELDJCQUEyQixFQUFFLGdCQUFnQjt3QkFDN0MsdUJBQXVCLEVBQUUsUUFBUTtxQkFDcEM7OEJBaUNVLFVBQVU7c0JBRHBCLEtBQUs7dUJBQUMsTUFBTTs7QUFhakIsU0FBUyxRQUFRLENBQUMsS0FBYTtJQUMzQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxHQUFHLEtBQUssR0FBRyxlQUFlLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDeEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlQsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgc2lnbmFsLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpQ2xhbXB9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWF0aCc7XG5pbXBvcnQge1R1aUJ1dHRvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHtcbiAgICBUVUlfVEVYVEZJRUxEX09QVElPTlMsXG4gICAgVHVpVGV4dGZpZWxkQ29udGVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtleHBhbmQsIGZyb21FdmVudCwgbWFwLCBtZXJnZSwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRpbWVyfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlJbnB1dE51bWJlckRpcmVjdGl2ZX0gZnJvbSAnLi4vaW5wdXQtbnVtYmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICAgIFRVSV9JTlBVVF9OVU1CRVJfT1BUSU9OUyxcbiAgICB0eXBlIFR1aUlucHV0TnVtYmVyT3B0aW9ucyxcbn0gZnJvbSAnLi4vaW5wdXQtbnVtYmVyLm9wdGlvbnMnO1xuXG5jb25zdCBJTklUSUFMX0RFTEFZID0gMzAwO1xuY29uc3QgREVMQVlfREVDUkVNRU5UID0gMTU7XG5jb25zdCBNSU5fREVMQVkgPSAxMDA7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlJbnB1dE51bWJlcl1bc3RlcF0nLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBUdWlCdXR0b24sIFR1aVRleHRmaWVsZENvbnRlbnRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1udW1iZXItc3RlcC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1udW1iZXItc3RlcC5zdHlsZS5sZXNzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIG5nU2tpcEh5ZHJhdGlvbjogJ3RydWUnLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dEb3duLnByZXZlbnQpJzogJ29uU3RlcCgtc3RlcCgpKScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd1VwLnByZXZlbnQpJzogJ29uU3RlcChzdGVwKCkpJyxcbiAgICAgICAgJ1tjbGFzcy5fd2l0aC1idXR0b25zXSc6ICdzdGVwKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0TnVtYmVyU3RlcCB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudDxIVE1MSW5wdXRFbGVtZW50PigpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBhcHBlYXJhbmNlID0gaW5qZWN0KFRVSV9URVhURklFTERfT1BUSU9OUykuYXBwZWFyYW5jZTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdDxUdWlJbnB1dE51bWJlck9wdGlvbnM+KFRVSV9JTlBVVF9OVU1CRVJfT1BUSU9OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlucHV0ID0gaW5qZWN0KFR1aUlucHV0TnVtYmVyRGlyZWN0aXZlLCB7c2VsZjogdHJ1ZX0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzdGVwID0gc2lnbmFsKHRoaXMub3B0aW9ucy5zdGVwKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmlucHV0LnZhbHVlKCkgPz8gTmFOKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RlcCQgPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRvYyA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RvcCQgPSBtZXJnZShcbiAgICAgICAgZnJvbUV2ZW50KHRoaXMuZG9jLCAncG9pbnRlcnVwJyksXG4gICAgICAgIGZyb21FdmVudCh0aGlzLmRvYywgJ3BvaW50ZXJsZWF2ZScpLFxuICAgICAgICBmcm9tRXZlbnQodGhpcy5kb2MsICdwb2ludGVyY2FuY2VsJyksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzdGVwcGluZyA9IHRoaXMuc3RlcCRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PlxuICAgICAgICAgICAgICAgIHRpbWVyKElOSVRJQUxfREVMQVkpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGV4cGFuZCgoXywgaW5kZXgpID0+IHRpbWVyKGdldERlbGF5KGluZGV4KSkpLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5zdG9wJCksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5vblN0ZXAodmFsdWUpKTtcblxuICAgIC8vIFRPRE8odjUpOiByZXBsYWNlIHdpdGggc2lnbmFsIGlucHV0XG4gICAgQElucHV0KCdzdGVwJylcbiAgICBwdWJsaWMgc2V0IHN0ZXBTZXR0ZXIoeDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc3RlcC5zZXQoeCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uU3RlcChzdGVwOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudCA9IHRoaXMuaW5wdXQudmFsdWUoKSA/PyAwO1xuXG4gICAgICAgIHRoaXMuaW5wdXQuc2V0VmFsdWUodHVpQ2xhbXAoY3VycmVudCArIHN0ZXAsIHRoaXMuaW5wdXQubWluKCksIHRoaXMuaW5wdXQubWF4KCkpKTtcbiAgICAgICAgdGhpcy5lbC5zZXRTZWxlY3Rpb25SYW5nZShOdW1iZXIuTUFYX1NBRkVfSU5URUdFUiwgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZ2V0RGVsYXkoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWF4KElOSVRJQUxfREVMQVkgLSBpbmRleCAqIERFTEFZX0RFQ1JFTUVOVCwgTUlOX0RFTEFZKTtcbn1cbiIsIjxuZy1jb250YWluZXIgKnR1aVRleHRmaWVsZENvbnRlbnQ+XG4gICAgPHNlY3Rpb25cbiAgICAgICAgKm5nSWY9XCJzdGVwKClcIlxuICAgICAgICBjbGFzcz1cInQtaW5wdXQtbnVtYmVyLWJ1dHRvbnNcIlxuICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1idXR0b25cIlxuICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZSgpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaW5wdXQuaW50ZXJhY3RpdmUoKSB8fCB2YWx1ZSgpID49IGlucHV0Lm1heCgpXCJcbiAgICAgICAgICAgIFtpY29uU3RhcnRdPVwib3B0aW9ucy5pY29ucy5pbmNyZWFzZVwiXG4gICAgICAgICAgICAoY2xpY2sucHJldmVudCk9XCJvblN0ZXAoc3RlcCgpKVwiXG4gICAgICAgICAgICAocG9pbnRlcmRvd24ucHJldmVudCk9XCJzdGVwJC5uZXh0KHN0ZXAoKSlcIlxuICAgICAgICA+XG4gICAgICAgICAgICArXG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2UoKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlucHV0LmludGVyYWN0aXZlKCkgfHwgdmFsdWUoKSA8PSBpbnB1dC5taW4oKVwiXG4gICAgICAgICAgICBbaWNvblN0YXJ0XT1cIm9wdGlvbnMuaWNvbnMuZGVjcmVhc2VcIlxuICAgICAgICAgICAgKGNsaWNrLnByZXZlbnQpPVwib25TdGVwKC1zdGVwKCkpXCJcbiAgICAgICAgICAgIChwb2ludGVyZG93bi5wcmV2ZW50KT1cInN0ZXAkLm5leHQoLXN0ZXAoKSlcIlxuICAgICAgICA+XG4gICAgICAgICAgICAtXG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvc2VjdGlvbj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -21,4 +21,4 @@ export const TUI_INPUT_PASSWORD_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_IN
21
21
  export function tuiInputPasswordOptionsProvider(options) {
22
22
  return tuiProvideOptions(TUI_INPUT_PASSWORD_OPTIONS, options, TUI_INPUT_PASSWORD_DEFAULT_OPTIONS);
23
23
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGFzc3dvcmQub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LXBhc3N3b3JkL2lucHV0LXBhc3N3b3JkLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQWFwRTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUE0QjtJQUN2RSxLQUFLLEVBQUU7UUFDSCxJQUFJLEVBQUUsY0FBYztRQUNwQixJQUFJLEVBQUUsVUFBVTtLQUNuQjtDQUNKLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUN4RCxTQUFTLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQzdDO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLGtDQUFrQztDQUNwRCxDQUNKLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sVUFBVSwrQkFBK0IsQ0FDM0MsT0FBeUM7SUFFekMsT0FBTyxpQkFBaUIsQ0FDcEIsMEJBQTBCLEVBQzFCLE9BQU8sRUFDUCxrQ0FBa0MsQ0FDckMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7VHVpU3RyaW5nSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aVByb3ZpZGVPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHR5cGUge1R1aVNpemVMLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSB7QGxpbmsgVHVpUGFzc3dvcmR9IHdpdGgge0BsaW5rIFR1aVRleHRmaWVsZH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUdWlJbnB1dFBhc3N3b3JkT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgaWNvbnM6IFJlYWRvbmx5PHtcbiAgICAgICAgaGlkZTogVHVpU3RyaW5nSGFuZGxlcjxUdWlTaXplTCB8IFR1aVNpemVTPiB8IHN0cmluZztcbiAgICAgICAgc2hvdzogVHVpU3RyaW5nSGFuZGxlcjxUdWlTaXplTCB8IFR1aVNpemVTPiB8IHN0cmluZztcbiAgICB9Pjtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIFR1aVBhc3N3b3JkfSB3aXRoIHtAbGluayBUdWlUZXh0ZmllbGR9XG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfUEFTU1dPUkRfREVGQVVMVF9PUFRJT05TOiBUdWlJbnB1dFBhc3N3b3JkT3B0aW9ucyA9IHtcbiAgICBpY29uczoge1xuICAgICAgICBoaWRlOiAnQHR1aS5leWUtb2ZmJyxcbiAgICAgICAgc2hvdzogJ0B0dWkuZXllJyxcbiAgICB9LFxufTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIFR1aVBhc3N3b3JkfSB3aXRoIHtAbGluayBUdWlUZXh0ZmllbGR9XG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfUEFTU1dPUkRfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgICBuZ0Rldk1vZGUgPyAnVFVJX0lOUFVUX1BBU1NXT1JEX09QVElPTlMnIDogJycsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBUVUlfSU5QVVRfUEFTU1dPUkRfREVGQVVMVF9PUFRJT05TLFxuICAgIH0sXG4pO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSB7QGxpbmsgVHVpUGFzc3dvcmR9IHdpdGgge0BsaW5rIFR1aVRleHRmaWVsZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUlucHV0UGFzc3dvcmRPcHRpb25zUHJvdmlkZXIoXG4gICAgb3B0aW9uczogUGFydGlhbDxUdWlJbnB1dFBhc3N3b3JkT3B0aW9ucz4sXG4pOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHR1aVByb3ZpZGVPcHRpb25zKFxuICAgICAgICBUVUlfSU5QVVRfUEFTU1dPUkRfT1BUSU9OUyxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgVFVJX0lOUFVUX1BBU1NXT1JEX0RFRkFVTFRfT1BUSU9OUyxcbiAgICApO1xufVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGFzc3dvcmQub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LXBhc3N3b3JkL2lucHV0LXBhc3N3b3JkLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFhcEU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBNEI7SUFDdkUsS0FBSyxFQUFFO1FBQ0gsSUFBSSxFQUFFLGNBQWM7UUFDcEIsSUFBSSxFQUFFLFVBQVU7S0FDbkI7Q0FDSixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FDeEQsU0FBUyxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUM3QztJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxrQ0FBa0M7Q0FDcEQsQ0FDSixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLFVBQVUsK0JBQStCLENBQzNDLE9BQXlDO0lBRXpDLE9BQU8saUJBQWlCLENBQ3BCLDBCQUEwQixFQUMxQixPQUFPLEVBQ1Asa0NBQWtDLENBQ3JDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgdHlwZSBQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R5cGUgVHVpU3RyaW5nSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aVByb3ZpZGVPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHt0eXBlIFR1aVNpemVMLCB0eXBlIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBUdWlQYXNzd29yZH0gd2l0aCB7QGxpbmsgVHVpVGV4dGZpZWxkfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR1aUlucHV0UGFzc3dvcmRPcHRpb25zIHtcbiAgICByZWFkb25seSBpY29uczogUmVhZG9ubHk8e1xuICAgICAgICBoaWRlOiBUdWlTdHJpbmdIYW5kbGVyPFR1aVNpemVMIHwgVHVpU2l6ZVM+IHwgc3RyaW5nO1xuICAgICAgICBzaG93OiBUdWlTdHJpbmdIYW5kbGVyPFR1aVNpemVMIHwgVHVpU2l6ZVM+IHwgc3RyaW5nO1xuICAgIH0+O1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSB7QGxpbmsgVHVpUGFzc3dvcmR9IHdpdGgge0BsaW5rIFR1aVRleHRmaWVsZH1cbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9JTlBVVF9QQVNTV09SRF9ERUZBVUxUX09QVElPTlM6IFR1aUlucHV0UGFzc3dvcmRPcHRpb25zID0ge1xuICAgIGljb25zOiB7XG4gICAgICAgIGhpZGU6ICdAdHVpLmV5ZS1vZmYnLFxuICAgICAgICBzaG93OiAnQHR1aS5leWUnLFxuICAgIH0sXG59O1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSB7QGxpbmsgVHVpUGFzc3dvcmR9IHdpdGgge0BsaW5rIFR1aVRleHRmaWVsZH1cbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9JTlBVVF9QQVNTV09SRF9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuKFxuICAgIG5nRGV2TW9kZSA/ICdUVUlfSU5QVVRfUEFTU1dPUkRfT1BUSU9OUycgOiAnJyxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9JTlBVVF9QQVNTV09SRF9ERUZBVUxUX09QVElPTlMsXG4gICAgfSxcbik7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBUdWlQYXNzd29yZH0gd2l0aCB7QGxpbmsgVHVpVGV4dGZpZWxkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpSW5wdXRQYXNzd29yZE9wdGlvbnNQcm92aWRlcihcbiAgICBvcHRpb25zOiBQYXJ0aWFsPFR1aUlucHV0UGFzc3dvcmRPcHRpb25zPixcbik6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gdHVpUHJvdmlkZU9wdGlvbnMoXG4gICAgICAgIFRVSV9JTlBVVF9QQVNTV09SRF9PUFRJT05TLFxuICAgICAgICBvcHRpb25zLFxuICAgICAgICBUVUlfSU5QVVRfUEFTU1dPUkRfREVGQVVMVF9PUFRJT05TLFxuICAgICk7XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './input-phone.directive';
2
+ export * from './input-phone.options';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1waG9uZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2lucHV0LXBob25lLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0LXBob25lLm9wdGlvbnMnO1xuIl19
@@ -0,0 +1,137 @@
1
+ import { computed, Directive, effect, inject, Input, signal, untracked, } from '@angular/core';
2
+ import { MaskitoDirective } from '@maskito/angular';
3
+ import { MASKITO_DEFAULT_OPTIONS, maskitoTransform, } from '@maskito/core';
4
+ import { maskitoCaretGuard, maskitoPrefixPostprocessorGenerator } from '@maskito/kit';
5
+ import { tuiAsControl, TuiControl, tuiValueTransformerFrom } from '@taiga-ui/cdk/classes';
6
+ import { TUI_ALLOW_SIGNAL_WRITES } from '@taiga-ui/cdk/constants';
7
+ import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
8
+ import { TuiTextfieldComponent, TuiTextfieldDirective, TuiWithTextfield, } from '@taiga-ui/core/components/textfield';
9
+ import { tuiMaskito } from '@taiga-ui/kit/utils';
10
+ import { TUI_INPUT_PHONE_OPTIONS } from './input-phone.options';
11
+ import { tuiCreateCompletePhoneInsertionPreprocessor } from './utils/complete-phone-insertion-preprocessor';
12
+ import { tuiCreatePhoneMaskExpression } from './utils/create-phone-mask-expression';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@taiga-ui/core/components/textfield";
15
+ import * as i2 from "@maskito/angular";
16
+ const MASK_SYMBOLS = /[ \-_()]/g;
17
+ function isText(value) {
18
+ return Number.isNaN(parseInt(value.replaceAll(MASK_SYMBOLS, ''), 10));
19
+ }
20
+ class TuiInputPhone extends TuiControl {
21
+ constructor() {
22
+ super(...arguments);
23
+ this.textfield = inject(TuiTextfieldDirective);
24
+ this.host = inject(TuiTextfieldComponent);
25
+ this.nonRemovablePrefix = computed(() => `${this.countryCode()} `);
26
+ this.inputMode = computed(() => (this.allowText() ? 'text' : 'numeric'));
27
+ this.valueEffect = effect(() => {
28
+ const value = this.value() ?? '';
29
+ if (!value) {
30
+ return;
31
+ }
32
+ this.textfield.value.set(maskitoTransform(value, this.mask()));
33
+ }, TUI_ALLOW_SIGNAL_WRITES);
34
+ this.blurEffect = effect(() => {
35
+ const incomplete = untracked(() => !this.value());
36
+ if (!this.host.focused() && incomplete) {
37
+ this.textfield.value.set('');
38
+ }
39
+ if (this.host.focused() && incomplete && !this.allowText()) {
40
+ this.textfield.value.set(this.nonRemovablePrefix());
41
+ }
42
+ }, TUI_ALLOW_SIGNAL_WRITES);
43
+ this.options = inject(TUI_INPUT_PHONE_OPTIONS);
44
+ this.el = tuiInjectElement();
45
+ this.mask = computed(() => this.calculateMask(this.countryCode(), this.phoneMask(), this.nonRemovablePrefix(), this.allowText()));
46
+ this.maskito = tuiMaskito(computed(() => this.mask()));
47
+ this.countryCode = signal(extractCountryCode(this.options.mask));
48
+ this.allowText = signal(this.options.allowText);
49
+ this.phoneMask = signal(extractMask(this.options.mask));
50
+ }
51
+ // TODO(v5): replace with signal input
52
+ set allowTextSetter(allow) {
53
+ this.allowText.set(allow);
54
+ }
55
+ // TODO(v5): replace with signal input
56
+ set maskSetter(mask) {
57
+ this.countryCode.set(extractCountryCode(mask));
58
+ this.phoneMask.set(extractMask(mask));
59
+ }
60
+ onInput(value) {
61
+ if (!value && !this.allowText()) {
62
+ this.textfield.value.set(this.nonRemovablePrefix());
63
+ }
64
+ const parsed = isText(value)
65
+ ? value
66
+ : value.replaceAll(MASK_SYMBOLS, '').slice(0, this.maxPhoneLength);
67
+ this.onChange(parsed === this.countryCode() || isText(parsed) ? '' : parsed);
68
+ }
69
+ get maxPhoneLength() {
70
+ return (this.countryCode().length + this.phoneMask().replaceAll(/[^#]+/g, '').length);
71
+ }
72
+ calculateMask(countryCode, phoneMaskAfterCountryCode, nonRemovablePrefix, allowText) {
73
+ const mask = tuiCreatePhoneMaskExpression(countryCode, phoneMaskAfterCountryCode);
74
+ const preprocessors = [
75
+ tuiCreateCompletePhoneInsertionPreprocessor(countryCode, phoneMaskAfterCountryCode),
76
+ ];
77
+ return allowText
78
+ ? {
79
+ mask: ({ value }) => isText(value) && value !== '+'
80
+ ? MASKITO_DEFAULT_OPTIONS.mask
81
+ : mask,
82
+ preprocessors,
83
+ }
84
+ : {
85
+ mask,
86
+ preprocessors,
87
+ postprocessors: [
88
+ maskitoPrefixPostprocessorGenerator(nonRemovablePrefix),
89
+ ],
90
+ plugins: [
91
+ maskitoCaretGuard((value, [from, to]) => [
92
+ from === to ? nonRemovablePrefix.length : 0,
93
+ value.length,
94
+ ]),
95
+ ],
96
+ };
97
+ }
98
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputPhone, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
99
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputPhone, isStandalone: true, selector: "input[tuiInputPhone]", inputs: { allowTextSetter: ["allowText", "allowTextSetter"], maskSetter: ["mask", "maskSetter"] }, host: { attributes: { "type": "tel" }, listeners: { "input": "onInput($event.target.value)" }, properties: { "inputMode": "inputMode()", "disabled": "disabled()" } }, providers: [
100
+ tuiAsControl(TuiInputPhone),
101
+ tuiValueTransformerFrom(TUI_INPUT_PHONE_OPTIONS),
102
+ ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithTextfield }, { directive: i2.MaskitoDirective }], ngImport: i0 }); }
103
+ }
104
+ export { TuiInputPhone };
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputPhone, decorators: [{
106
+ type: Directive,
107
+ args: [{
108
+ standalone: true,
109
+ selector: 'input[tuiInputPhone]',
110
+ providers: [
111
+ tuiAsControl(TuiInputPhone),
112
+ tuiValueTransformerFrom(TUI_INPUT_PHONE_OPTIONS),
113
+ ],
114
+ hostDirectives: [TuiWithTextfield, MaskitoDirective],
115
+ host: {
116
+ type: 'tel',
117
+ '[inputMode]': 'inputMode()',
118
+ '[disabled]': 'disabled()',
119
+ '(input)': 'onInput($event.target.value)',
120
+ },
121
+ }]
122
+ }], propDecorators: { allowTextSetter: [{
123
+ type: Input,
124
+ args: ['allowText']
125
+ }], maskSetter: [{
126
+ type: Input,
127
+ args: ['mask']
128
+ }] } });
129
+ function extractCountryCode(mask) {
130
+ const match = /^(\+\d+)/.exec(mask);
131
+ return match?.[1] || '';
132
+ }
133
+ function extractMask(mask) {
134
+ const match = /^\+\d+(.*)$/.exec(mask);
135
+ return match?.[1]?.trim() || '';
136
+ }
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUvaW5wdXQtcGhvbmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUNILHVCQUF1QixFQUV2QixnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGlCQUFpQixFQUFFLG1DQUFtQyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUNILHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsZ0JBQWdCLEdBQ25CLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9DLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBQywyQ0FBMkMsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQzFHLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDOzs7O0FBRWxGLE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQztBQUVqQyxTQUFTLE1BQU0sQ0FBQyxLQUFhO0lB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RSxnQkFBZ0IsQ0FBQztvQkFDcEQsSUFBSSxFQUFFO3dCQUNGLElBQUksRUFBRSxLQUFLO3dCQUNYLGFBQWEsRUFBRSxhQUFhO3dCQUM1QixZQUFZLEVBQUUsWUFBWTt3QkFDMUIsU0FBUyxFQUFFLDhCQUE4QjtxQkFDNUM7aUJBQ0o7OEJBa0RjLGVBQWU7c0JBRHpCLEtBQUs7dUJBQUMsV0FBVztnQkFPUCxVQUFVO3NCQURwQixLQUFLO3VCQUFDLE1BQU07O0FBOERqQixTQUFTLGtCQUFrQixDQUFDLElBQVk7SUFDcEMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVwQyxPQUFPLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUM1QixDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsSUFBWTtJQUM3QixNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXZDLE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGNvbXB1dGVkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBlZmZlY3QsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIHNpZ25hbCxcbiAgICB1bnRyYWNrZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXNraXRvRGlyZWN0aXZlfSBmcm9tICdAbWFza2l0by9hbmd1bGFyJztcbmltcG9ydCB7XG4gICAgTUFTS0lUT19ERUZBVUxUX09QVElPTlMsXG4gICAgdHlwZSBNYXNraXRvT3B0aW9ucyxcbiAgICBtYXNraXRvVHJhbnNmb3JtLFxufSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB7bWFza2l0b0NhcmV0R3VhcmQsIG1hc2tpdG9QcmVmaXhQb3N0cHJvY2Vzc29yR2VuZXJhdG9yfSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHt0dWlBc0NvbnRyb2wsIFR1aUNvbnRyb2wsIHR1aVZhbHVlVHJhbnNmb3JtZXJGcm9tfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUVUlfQUxMT1dfU0lHTkFMX1dSSVRFU30gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge1xuICAgIFR1aVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlUZXh0ZmllbGREaXJlY3RpdmUsXG4gICAgVHVpV2l0aFRleHRmaWVsZCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHt0dWlNYXNraXRvfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfUEhPTkVfT1BUSU9OU30gZnJvbSAnLi9pbnB1dC1waG9uZS5vcHRpb25zJztcbmltcG9ydCB7dHVpQ3JlYXRlQ29tcGxldGVQaG9uZUluc2VydGlvblByZXByb2Nlc3Nvcn0gZnJvbSAnLi91dGlscy9jb21wbGV0ZS1waG9uZS1pbnNlcnRpb24tcHJlcHJvY2Vzc29yJztcbmltcG9ydCB7dHVpQ3JlYXRlUGhvbmVNYXNrRXhwcmVzc2lvbn0gZnJvbSAnLi91dGlscy9jcmVhdGUtcGhvbmUtbWFzay1leHByZXNzaW9uJztcblxuY29uc3QgTUFTS19TWU1CT0xTID0gL1sgXFwtXygpXS9nO1xuXG5mdW5jdGlvbiBpc1RleHQodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBOdW1iZXIuaXNOYU4ocGFyc2VJbnQodmFsdWUucmVwbGFjZUFsbChNQVNLX1NZTUJPTFMsICcnKSwgMTApKTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUlucHV0UGhvbmVdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0UGhvbmUpLFxuICAgICAgICB0dWlWYWx1ZVRyYW5zZm9ybWVyRnJvbShUVUlfSU5QVVRfUEhPTkVfT1BUSU9OUyksXG4gICAgXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aVdpdGhUZXh0ZmllbGQsIE1hc2tpdG9EaXJlY3RpdmVdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHlwZTogJ3RlbCcsXG4gICAgICAgICdbaW5wdXRNb2RlXSc6ICdpbnB1dE1vZGUoKScsXG4gICAgICAgICdbZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICAgICAnKGlucHV0KSc6ICdvbklucHV0KCRldmVudC50YXJnZXQudmFsdWUpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFBob25lIGV4dGVuZHMgVHVpQ29udHJvbDxzdHJpbmcgfCBudWxsPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQgPSBpbmplY3QoVHVpVGV4dGZpZWxkRGlyZWN0aXZlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3Q6IFR1aVRleHRmaWVsZENvbXBvbmVudDxzdHJpbmc+ID0gaW5qZWN0KFR1aVRleHRmaWVsZENvbXBvbmVudCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbm9uUmVtb3ZhYmxlUHJlZml4ID0gY29tcHV0ZWQoKCkgPT4gYCR7dGhpcy5jb3VudHJ5Q29kZSgpfSBgKTtcbiAgICBwcm90ZWN0ZWQgaW5wdXRNb2RlID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuYWxsb3dUZXh0KCkgPyAndGV4dCcgOiAnbnVtZXJpYycpKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB2YWx1ZUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZSgpID8/ICcnO1xuXG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldChtYXNraXRvVHJhbnNmb3JtKHZhbHVlLCB0aGlzLm1hc2soKSkpO1xuICAgIH0sIFRVSV9BTExPV19TSUdOQUxfV1JJVEVTKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBibHVyRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgaW5jb21wbGV0ZSA9IHVudHJhY2tlZCgoKSA9PiAhdGhpcy52YWx1ZSgpKTtcblxuICAgICAgICBpZiAoIXRoaXMuaG9zdC5mb2N1c2VkKCkgJiYgaW5jb21wbGV0ZSkge1xuICAgICAgICAgICAgdGhpcy50ZXh0ZmllbGQudmFsdWUuc2V0KCcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmhvc3QuZm9jdXNlZCgpICYmIGluY29tcGxldGUgJiYgIXRoaXMuYWxsb3dUZXh0KCkpIHtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCh0aGlzLm5vblJlbW92YWJsZVByZWZpeCgpKTtcbiAgICAgICAgfVxuICAgIH0sIFRVSV9BTExPV19TSUdOQUxfV1JJVEVTKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9JTlBVVF9QSE9ORV9PUFRJT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWFzayA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlTWFzayhcbiAgICAgICAgICAgIHRoaXMuY291bnRyeUNvZGUoKSxcbiAgICAgICAgICAgIHRoaXMucGhvbmVNYXNrKCksXG4gICAgICAgICAgICB0aGlzLm5vblJlbW92YWJsZVByZWZpeCgpLFxuICAgICAgICAgICAgdGhpcy5hbGxvd1RleHQoKSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1hc2tpdG8gPSB0dWlNYXNraXRvKGNvbXB1dGVkKCgpID0+IHRoaXMubWFzaygpKSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY291bnRyeUNvZGUgPSBzaWduYWwoZXh0cmFjdENvdW50cnlDb2RlKHRoaXMub3B0aW9ucy5tYXNrKSk7XG4gICAgcHVibGljIHJlYWRvbmx5IGFsbG93VGV4dCA9IHNpZ25hbCh0aGlzLm9wdGlvbnMuYWxsb3dUZXh0KTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgcGhvbmVNYXNrID0gc2lnbmFsKGV4dHJhY3RNYXNrKHRoaXMub3B0aW9ucy5tYXNrKSk7XG5cbiAgICAvLyBUT0RPKHY1KTogcmVwbGFjZSB3aXRoIHNpZ25hbCBpbnB1dFxuICAgIEBJbnB1dCgnYWxsb3dUZXh0JylcbiAgICBwdWJsaWMgc2V0IGFsbG93VGV4dFNldHRlcihhbGxvdzogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmFsbG93VGV4dC5zZXQoYWxsb3cpO1xuICAgIH1cblxuICAgIC8vIFRPRE8odjUpOiByZXBsYWNlIHdpdGggc2lnbmFsIGlucHV0XG4gICAgQElucHV0KCdtYXNrJylcbiAgICBwdWJsaWMgc2V0IG1hc2tTZXR0ZXIobWFzazogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuY291bnRyeUNvZGUuc2V0KGV4dHJhY3RDb3VudHJ5Q29kZShtYXNrKSk7XG4gICAgICAgIHRoaXMucGhvbmVNYXNrLnNldChleHRyYWN0TWFzayhtYXNrKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uSW5wdXQodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoIXZhbHVlICYmICF0aGlzLmFsbG93VGV4dCgpKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQodGhpcy5ub25SZW1vdmFibGVQcmVmaXgoKSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJzZWQgPSBpc1RleHQodmFsdWUpXG4gICAgICAgICAgICA/IHZhbHVlXG4gICAgICAgICAgICA6IHZhbHVlLnJlcGxhY2VBbGwoTUFTS19TWU1CT0xTLCAnJykuc2xpY2UoMCwgdGhpcy5tYXhQaG9uZUxlbmd0aCk7XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZShwYXJzZWQgPT09IHRoaXMuY291bnRyeUNvZGUoKSB8fCBpc1RleHQocGFyc2VkKSA/ICcnIDogcGFyc2VkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBtYXhQaG9uZUxlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jb3VudHJ5Q29kZSgpLmxlbmd0aCArIHRoaXMucGhvbmVNYXNrKCkucmVwbGFjZUFsbCgvW14jXSsvZywgJycpLmxlbmd0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlTWFzayhcbiAgICAgICAgY291bnRyeUNvZGU6IHN0cmluZyxcbiAgICAgICAgcGhvbmVNYXNrQWZ0ZXJDb3VudHJ5Q29kZTogc3RyaW5nLFxuICAgICAgICBub25SZW1vdmFibGVQcmVmaXg6IHN0cmluZyxcbiAgICAgICAgYWxsb3dUZXh0OiBib29sZWFuLFxuICAgICk6IE1hc2tpdG9PcHRpb25zIHtcbiAgICAgICAgY29uc3QgbWFzayA9IHR1aUNyZWF0ZVBob25lTWFza0V4cHJlc3Npb24oY291bnRyeUNvZGUsIHBob25lTWFza0FmdGVyQ291bnRyeUNvZGUpO1xuICAgICAgICBjb25zdCBwcmVwcm9jZXNzb3JzID0gW1xuICAgICAgICAgICAgdHVpQ3JlYXRlQ29tcGxldGVQaG9uZUluc2VydGlvblByZXByb2Nlc3NvcihcbiAgICAgICAgICAgICAgICBjb3VudHJ5Q29kZSxcbiAgICAgICAgICAgICAgICBwaG9uZU1hc2tBZnRlckNvdW50cnlDb2RlLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXTtcblxuICAgICAgICByZXR1cm4gYWxsb3dUZXh0XG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgIG1hc2s6ICh7dmFsdWV9KSA9PlxuICAgICAgICAgICAgICAgICAgICAgIGlzVGV4dCh2YWx1ZSkgJiYgdmFsdWUgIT09ICcrJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA/IChNQVNLSVRPX0RFRkFVTFRfT1BUSU9OUy5tYXNrIGFzIFJlZ0V4cClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtYXNrLFxuICAgICAgICAgICAgICAgICAgcHJlcHJvY2Vzc29ycyxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICBtYXNrLFxuICAgICAgICAgICAgICAgICAgcHJlcHJvY2Vzc29ycyxcbiAgICAgICAgICAgICAgICAgIHBvc3Rwcm9jZXNzb3JzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgbWFza2l0b1ByZWZpeFBvc3Rwcm9jZXNzb3JHZW5lcmF0b3Iobm9uUmVtb3ZhYmxlUHJlZml4KSxcbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICBwbHVnaW5zOiBbXG4gICAgICAgICAgICAgICAgICAgICAgbWFza2l0b0NhcmV0R3VhcmQoKHZhbHVlLCBbZnJvbSwgdG9dKSA9PiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gPT09IHRvID8gbm9uUmVtb3ZhYmxlUHJlZml4Lmxlbmd0aCA6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH07XG4gICAgfVxufVxuXG5mdW5jdGlvbiBleHRyYWN0Q291bnRyeUNvZGUobWFzazogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBtYXRjaCA9IC9eKFxcK1xcZCspLy5leGVjKG1hc2spO1xuXG4gICAgcmV0dXJuIG1hdGNoPy5bMV0gfHwgJyc7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RNYXNrKG1hc2s6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbWF0Y2ggPSAvXlxcK1xcZCsoLiopJC8uZXhlYyhtYXNrKTtcblxuICAgIHJldHVybiBtYXRjaD8uWzFdPy50cmltKCkgfHwgJyc7XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ import { TUI_IDENTITY_VALUE_TRANSFORMER, } from '@taiga-ui/cdk/classes';
2
+ import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
3
+ export const TUI_INPUT_PHONE_DEFAULT_OPTIONS = {
4
+ mask: '+1 ### ###-####',
5
+ allowText: false,
6
+ valueTransformer: TUI_IDENTITY_VALUE_TRANSFORMER,
7
+ };
8
+ export const [TUI_INPUT_PHONE_OPTIONS, tuiInputPhoneOptionsProvider] = tuiCreateOptions(TUI_INPUT_PHONE_DEFAULT_OPTIONS);
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lL2lucHV0LXBob25lLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILDhCQUE4QixHQUVqQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBUXhELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUF5QjtJQUNqRSxJQUFJLEVBQUUsaUJBQWlCO0lBQ3ZCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLGdCQUFnQixFQUFFLDhCQUE4QjtDQUNuRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRSw0QkFBNEIsQ0FBQyxHQUFHLGdCQUFnQixDQUNuRiwrQkFBK0IsQ0FDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgVFVJX0lERU5USVRZX1ZBTFVFX1RSQU5TRk9STUVSLFxuICAgIHR5cGUgVHVpVmFsdWVUcmFuc2Zvcm1lcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7dHVpQ3JlYXRlT3B0aW9uc30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kaSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpSW5wdXRQaG9uZU9wdGlvbnMge1xuICAgIHJlYWRvbmx5IGFsbG93VGV4dDogYm9vbGVhbjtcbiAgICByZWFkb25seSBtYXNrOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgdmFsdWVUcmFuc2Zvcm1lcjogVHVpVmFsdWVUcmFuc2Zvcm1lcjxzdHJpbmcgfCBudWxsLCBhbnk+O1xufVxuXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX1BIT05FX0RFRkFVTFRfT1BUSU9OUzogVHVpSW5wdXRQaG9uZU9wdGlvbnMgPSB7XG4gICAgbWFzazogJysxICMjIyAjIyMtIyMjIycsXG4gICAgYWxsb3dUZXh0OiBmYWxzZSxcbiAgICB2YWx1ZVRyYW5zZm9ybWVyOiBUVUlfSURFTlRJVFlfVkFMVUVfVFJBTlNGT1JNRVIsXG59O1xuXG5leHBvcnQgY29uc3QgW1RVSV9JTlBVVF9QSE9ORV9PUFRJT05TLCB0dWlJbnB1dFBob25lT3B0aW9uc1Byb3ZpZGVyXSA9IHR1aUNyZWF0ZU9wdGlvbnMoXG4gICAgVFVJX0lOUFVUX1BIT05FX0RFRkFVTFRfT1BUSU9OUyxcbik7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWkta2l0LWNvbXBvbmVudHMtaW5wdXQtcGhvbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1waG9uZS90YWlnYS11aS1raXQtY29tcG9uZW50cy1pbnB1dC1waG9uZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,41 @@
1
+ const countDigits = (value) => value.replaceAll(/\D/g, '').length;
2
+ /**
3
+ * `InputPhone` component sets country code as non-removable prefix.
4
+ * This prefix appears on focus and cannot be erased.
5
+ * But users sometimes can copy complete phone number (from any different source)
6
+ * and try to insert the whole string inside our `InputPhone` textfield.
7
+ * This preprocessor helps to avoid country prefix duplication on paste/drop/autofill events.
8
+ */
9
+ export function tuiCreateCompletePhoneInsertionPreprocessor(countryCode, phoneMaskAfterCountryCode) {
10
+ const completePhoneLength = (countryCode + phoneMaskAfterCountryCode).replaceAll(/[^#\d]+/g, '').length;
11
+ const trimCountryPrefix = (value) => countryCode === '+7'
12
+ ? value.replace(/^(\+?\s*7?\s?8?)\s?/, '')
13
+ : value.replace(new RegExp(`^(\\+?\\s*${countryCode.replace('+', '')}?)\\s?`), '');
14
+ return ({ elementState, data }) => {
15
+ const { value, selection } = elementState;
16
+ return {
17
+ elementState: {
18
+ selection,
19
+ value:
20
+ /**
21
+ * The only possible case when `value` includes digits more
22
+ * than mask expression allows – browser autofill.
23
+ * It means that we are inside `input`-event
24
+ * and mask are ready to reject "extra" characters.
25
+ * We should cut leading country prefix to save trailing characters!
26
+ */
27
+ countDigits(value) > completePhoneLength
28
+ ? trimCountryPrefix(value)
29
+ : value,
30
+ },
31
+ data: countDigits(data) >= completePhoneLength || data.startsWith(countryCode)
32
+ ? /**
33
+ * User tries to insert/drop the complete phone number (with country prefix).
34
+ * We should drop already existing non-removable prefix.
35
+ */
36
+ trimCountryPrefix(data)
37
+ : data,
38
+ };
39
+ };
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtcGhvbmUtaW5zZXJ0aW9uLXByZXByb2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lL3V0aWxzL2NvbXBsZXRlLXBob25lLWluc2VydGlvbi1wcmVwcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFhLEVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUVsRjs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsMkNBQTJDLENBQ3ZELFdBQW1CLEVBQ25CLHlCQUFpQztJQUVqQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsV0FBVyxHQUFHLHlCQUF5QixDQUFDLENBQUMsVUFBVSxDQUM1RSxVQUFVLEVBQ1YsRUFBRSxDQUNMLENBQUMsTUFBTSxDQUFDO0lBRVQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQWEsRUFBVSxFQUFFLENBQ2hELFdBQVcsS0FBSyxJQUFJO1FBQ2hCLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLEVBQUUsQ0FBQztRQUMxQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDVCxJQUFJLE1BQU0sQ0FBQyxhQUFhLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFDN0QsRUFBRSxDQUNMLENBQUM7SUFFWixPQUFPLENBQUMsRUFBQyxZQUFZLEVBQUUsSUFBSSxFQUFDLEVBQUUsRUFBRTtRQUM1QixNQUFNLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBQyxHQUFHLFlBQVksQ0FBQztRQUV4QyxPQUFPO1lBQ0gsWUFBWSxFQUFFO2dCQUNWLFNBQVM7Z0JBQ1QsS0FBSztnQkFDRDs7Ozs7O21CQU1HO2dCQUNILFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxtQkFBbUI7b0JBQ3BDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7b0JBQzFCLENBQUMsQ0FBQyxLQUFLO2FBQ2xCO1lBQ0QsSUFBSSxFQUNBLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxtQkFBbUIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQztnQkFDcEUsQ0FBQyxDQUFDOzs7cUJBR0c7b0JBQ0gsaUJBQWlCLENBQUMsSUFBSSxDQUFDO2dCQUN6QixDQUFDLENBQUMsSUFBSTtTQUNqQixDQUFDO0lBQ04sQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHlwZSBNYXNraXRvUHJlcHJvY2Vzc29yfSBmcm9tICdAbWFza2l0by9jb3JlJztcblxuY29uc3QgY291bnREaWdpdHMgPSAodmFsdWU6IHN0cmluZyk6IG51bWJlciA9PiB2YWx1ZS5yZXBsYWNlQWxsKC9cXEQvZywgJycpLmxlbmd0aDtcblxuLyoqXG4gKiBgSW5wdXRQaG9uZWAgY29tcG9uZW50IHNldHMgY291bnRyeSBjb2RlIGFzIG5vbi1yZW1vdmFibGUgcHJlZml4LlxuICogVGhpcyBwcmVmaXggYXBwZWFycyBvbiBmb2N1cyBhbmQgY2Fubm90IGJlIGVyYXNlZC5cbiAqIEJ1dCB1c2VycyBzb21ldGltZXMgY2FuIGNvcHkgY29tcGxldGUgcGhvbmUgbnVtYmVyIChmcm9tIGFueSBkaWZmZXJlbnQgc291cmNlKVxuICogYW5kIHRyeSB0byBpbnNlcnQgdGhlIHdob2xlIHN0cmluZyBpbnNpZGUgb3VyIGBJbnB1dFBob25lYCB0ZXh0ZmllbGQuXG4gKiBUaGlzIHByZXByb2Nlc3NvciBoZWxwcyB0byBhdm9pZCBjb3VudHJ5IHByZWZpeCBkdXBsaWNhdGlvbiBvbiBwYXN0ZS9kcm9wL2F1dG9maWxsIGV2ZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUNyZWF0ZUNvbXBsZXRlUGhvbmVJbnNlcnRpb25QcmVwcm9jZXNzb3IoXG4gICAgY291bnRyeUNvZGU6IHN0cmluZyxcbiAgICBwaG9uZU1hc2tBZnRlckNvdW50cnlDb2RlOiBzdHJpbmcsXG4pOiBNYXNraXRvUHJlcHJvY2Vzc29yIHtcbiAgICBjb25zdCBjb21wbGV0ZVBob25lTGVuZ3RoID0gKGNvdW50cnlDb2RlICsgcGhvbmVNYXNrQWZ0ZXJDb3VudHJ5Q29kZSkucmVwbGFjZUFsbChcbiAgICAgICAgL1teI1xcZF0rL2csXG4gICAgICAgICcnLFxuICAgICkubGVuZ3RoO1xuXG4gICAgY29uc3QgdHJpbUNvdW50cnlQcmVmaXggPSAodmFsdWU6IHN0cmluZyk6IHN0cmluZyA9PlxuICAgICAgICBjb3VudHJ5Q29kZSA9PT0gJys3J1xuICAgICAgICAgICAgPyB2YWx1ZS5yZXBsYWNlKC9eKFxcKz9cXHMqNz9cXHM/OD8pXFxzPy8sICcnKVxuICAgICAgICAgICAgOiB2YWx1ZS5yZXBsYWNlKFxuICAgICAgICAgICAgICAgICAgbmV3IFJlZ0V4cChgXihcXFxcKz9cXFxccyoke2NvdW50cnlDb2RlLnJlcGxhY2UoJysnLCAnJyl9PylcXFxccz9gKSxcbiAgICAgICAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgICApO1xuXG4gICAgcmV0dXJuICh7ZWxlbWVudFN0YXRlLCBkYXRhfSkgPT4ge1xuICAgICAgICBjb25zdCB7dmFsdWUsIHNlbGVjdGlvbn0gPSBlbGVtZW50U3RhdGU7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGVsZW1lbnRTdGF0ZToge1xuICAgICAgICAgICAgICAgIHNlbGVjdGlvbixcbiAgICAgICAgICAgICAgICB2YWx1ZTpcbiAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAqIFRoZSBvbmx5IHBvc3NpYmxlIGNhc2Ugd2hlbiBgdmFsdWVgIGluY2x1ZGVzIGRpZ2l0cyBtb3JlXG4gICAgICAgICAgICAgICAgICAgICAqIHRoYW4gbWFzayBleHByZXNzaW9uIGFsbG93cyDigJMgYnJvd3NlciBhdXRvZmlsbC5cbiAgICAgICAgICAgICAgICAgICAgICogSXQgbWVhbnMgdGhhdCB3ZSBhcmUgaW5zaWRlIGBpbnB1dGAtZXZlbnRcbiAgICAgICAgICAgICAgICAgICAgICogYW5kIG1hc2sgYXJlIHJlYWR5IHRvIHJlamVjdCBcImV4dHJhXCIgY2hhcmFjdGVycy5cbiAgICAgICAgICAgICAgICAgICAgICogV2Ugc2hvdWxkIGN1dCBsZWFkaW5nIGNvdW50cnkgcHJlZml4IHRvIHNhdmUgdHJhaWxpbmcgY2hhcmFjdGVycyFcbiAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgIGNvdW50RGlnaXRzKHZhbHVlKSA+IGNvbXBsZXRlUGhvbmVMZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdHJpbUNvdW50cnlQcmVmaXgodmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHZhbHVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRhdGE6XG4gICAgICAgICAgICAgICAgY291bnREaWdpdHMoZGF0YSkgPj0gY29tcGxldGVQaG9uZUxlbmd0aCB8fCBkYXRhLnN0YXJ0c1dpdGgoY291bnRyeUNvZGUpXG4gICAgICAgICAgICAgICAgICAgID8gLyoqXG4gICAgICAgICAgICAgICAgICAgICAgICogVXNlciB0cmllcyB0byBpbnNlcnQvZHJvcCB0aGUgY29tcGxldGUgcGhvbmUgbnVtYmVyICh3aXRoIGNvdW50cnkgcHJlZml4KS5cbiAgICAgICAgICAgICAgICAgICAgICAgKiBXZSBzaG91bGQgZHJvcCBhbHJlYWR5IGV4aXN0aW5nIG5vbi1yZW1vdmFibGUgcHJlZml4LlxuICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgIHRyaW1Db3VudHJ5UHJlZml4KGRhdGEpXG4gICAgICAgICAgICAgICAgICAgIDogZGF0YSxcbiAgICAgICAgfTtcbiAgICB9O1xufVxuIl19
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Create {@link https://maskito.dev/core-concepts/mask-expression pattern mask expression} for phone number
3
+ *
4
+ * @example
5
+ * tuiCreatePhoneMaskExpression('+1', '(###) ###-####');
6
+ */
7
+ export function tuiCreatePhoneMaskExpression(countryCode, phoneMaskAfterCountryCode) {
8
+ return [
9
+ ...countryCode.split(''),
10
+ ' ',
11
+ ...phoneMaskAfterCountryCode
12
+ .replaceAll(/[^#\- ()]+/g, '')
13
+ .split('')
14
+ .map((item) => (item === '#' ? /\d/ : item)),
15
+ ];
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXBob25lLW1hc2stZXhwcmVzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lL3V0aWxzL2NyZWF0ZS1waG9uZS1tYXNrLWV4cHJlc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsNEJBQTRCLENBQ3hDLFdBQW1CLEVBQ25CLHlCQUFpQztJQUVqQyxPQUFPO1FBQ0gsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QixHQUFHO1FBQ0gsR0FBRyx5QkFBeUI7YUFDdkIsVUFBVSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7YUFDN0IsS0FBSyxDQUFDLEVBQUUsQ0FBQzthQUNULEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ25ELENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDcmVhdGUge0BsaW5rIGh0dHBzOi8vbWFza2l0by5kZXYvY29yZS1jb25jZXB0cy9tYXNrLWV4cHJlc3Npb24gcGF0dGVybiBtYXNrIGV4cHJlc3Npb259IGZvciBwaG9uZSBudW1iZXJcbiAqXG4gKiBAZXhhbXBsZVxuICogdHVpQ3JlYXRlUGhvbmVNYXNrRXhwcmVzc2lvbignKzEnLCAnKCMjIykgIyMjLSMjIyMnKTtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUNyZWF0ZVBob25lTWFza0V4cHJlc3Npb24oXG4gICAgY291bnRyeUNvZGU6IHN0cmluZyxcbiAgICBwaG9uZU1hc2tBZnRlckNvdW50cnlDb2RlOiBzdHJpbmcsXG4pOiBBcnJheTxSZWdFeHAgfCBzdHJpbmc+IHtcbiAgICByZXR1cm4gW1xuICAgICAgICAuLi5jb3VudHJ5Q29kZS5zcGxpdCgnJyksXG4gICAgICAgICcgJyxcbiAgICAgICAgLi4ucGhvbmVNYXNrQWZ0ZXJDb3VudHJ5Q29kZVxuICAgICAgICAgICAgLnJlcGxhY2VBbGwoL1teI1xcLSAoKV0rL2csICcnKVxuICAgICAgICAgICAgLnNwbGl0KCcnKVxuICAgICAgICAgICAgLm1hcCgoaXRlbSkgPT4gKGl0ZW0gPT09ICcjJyA/IC9cXGQvIDogaXRlbSkpLFxuICAgIF07XG59XG4iXX0=
@@ -3,7 +3,7 @@ import { ChangeDetectionStrategy, Component, computed, ElementRef, forwardRef, i
3
3
  import { toObservable, toSignal } from '@angular/core/rxjs-interop';
4
4
  import { FormsModule } from '@angular/forms';
5
5
  import { MaskitoDirective } from '@maskito/angular';
6
- import { maskitoInitialCalibrationPlugin, maskitoTransform } from '@maskito/core';
6
+ import { maskitoInitialCalibrationPlugin, maskitoTransform, } from '@maskito/core';
7
7
  import { maskitoRemoveOnBlurPlugin } from '@maskito/kit';
8
8
  import { maskitoGetCountryFromNumber, maskitoPhoneOptionsGenerator } from '@maskito/phone';
9
9
  import { tuiAsControl, TuiControl } from '@taiga-ui/cdk/classes';
@@ -205,4 +205,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
205
205
  type: ViewChild,
206
206
  args: [forwardRef(() => TuiTextfieldDropdownDirective), { read: TemplateRef }]
207
207
  }] } });
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsL2lucHV0LXBob25lLWludGVybmF0aW9uYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNULFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFFLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRCxPQUFPLEVBQUMsK0JBQStCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sRUFBQywyQkFBMkIsRUFBRSw0QkFBNEIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDL0QsT0FBTyxFQUFDLFNBQVMsRUFBRSxtQkFB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O3NCQURuQyxNQUFNO2dCQU1JLGNBQWM7c0JBRHhCLEtBQUs7dUJBQUMsV0FBVztnQkFNUCxPQUFPO3NCQURqQixLQUFLO3VCQUFDLGdCQUFnQjtnQkFzRFQsUUFBUTtzQkFEckIsU0FBUzt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNkJBQTZCLENBQUMsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0eXBlIHtRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgc2lnbmFsLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b09ic2VydmFibGUsIHRvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hc2tpdG9EaXJlY3RpdmV9IGZyb20gJ0BtYXNraXRvL2FuZ3VsYXInO1xuaW1wb3J0IHR5cGUge01hc2tpdG9PcHRpb25zfSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB7bWFza2l0b0luaXRpYWxDYWxpYnJhdGlvblBsdWdpbiwgbWFza2l0b1RyYW5zZm9ybX0gZnJvbSAnQG1hc2tpdG8vY29yZSc7XG5pbXBvcnQge21hc2tpdG9SZW1vdmVPbkJsdXJQbHVnaW59IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQge21hc2tpdG9HZXRDb3VudHJ5RnJvbU51bWJlciwgbWFza2l0b1Bob25lT3B0aW9uc0dlbmVyYXRvcn0gZnJvbSAnQG1hc2tpdG8vcGhvbmUnO1xuaW1wb3J0IHt0dWlBc0NvbnRyb2wsIFR1aUNvbnRyb2x9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge0NIQVJfUExVUywgVFVJX0RFRkFVTFRfTUFUQ0hFUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgICBUdWlBdXRvRm9jdXMsXG4gICAgdHVpQXV0b0ZvY3VzT3B0aW9uc1Byb3ZpZGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cyc7XG5pbXBvcnQge1RVSV9JU19JT1MsIHR1aUZhbGxiYWNrVmFsdWVQcm92aWRlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHt0dWlJc0lucHV0RXZlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpRGlyZWN0aXZlQmluZGluZ30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VHVpRGF0YUxpc3QsIFR1aU9wdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QnO1xuaW1wb3J0IHtcbiAgICBUVUlfVEVYVEZJRUxEX09QVElPTlMsXG4gICAgVHVpVGV4dGZpZWxkLFxuICAgIFR1aVRleHRmaWVsZERyb3Bkb3duRGlyZWN0aXZlLFxuICAgIHR1aVRleHRmaWVsZE9wdGlvbnNQcm92aWRlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtcbiAgICB0dWlEcm9wZG93bixcbiAgICBUdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICBUdWlEcm9wZG93bk9wZW4sXG4gICAgdHVpRHJvcGRvd25PcGVuLFxuICAgIHR1aURyb3Bkb3duT3B0aW9uc1Byb3ZpZGVyLFxuICAgIFR1aVdpdGhEcm9wZG93bk9wZW4sXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHtUdWlHcm91cH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9ncm91cCc7XG5pbXBvcnQge1R1aUZsYWdQaXBlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9waXBlcy9mbGFnJztcbmltcG9ydCB7VFVJX0NPTU1PTl9JQ09OU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7dHVpSXNFZGl0aW5nS2V5fSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB0eXBlIHtUdWlDb3VudHJ5SXNvQ29kZX0gZnJvbSAnQHRhaWdhLXVpL2kxOG4vdHlwZXMnO1xuaW1wb3J0IHtUdWlDaGV2cm9ufSBmcm9tICdAdGFpZ2EtdWkva2l0L2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtUVUlfQ09VTlRSSUVTLCBUVUlfSU5URVJOQVRJT05BTF9TRUFSQ0h9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7dHVpR2V0Q2FsbGluZ0NvZGV9IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMnO1xuaW1wb3J0IHR5cGUge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHt2YWxpZGF0ZVBob25lTnVtYmVyTGVuZ3RofSBmcm9tICdsaWJwaG9uZW51bWJlci1qcyc7XG5pbXBvcnQgdHlwZSB7TWV0YWRhdGFKc29ufSBmcm9tICdsaWJwaG9uZW51bWJlci1qcy9jb3JlJztcbmltcG9ydCB7Z2V0Q291bnRyeUNhbGxpbmdDb2RlfSBmcm9tICdsaWJwaG9uZW51bWJlci1qcy9jb3JlJztcbmltcG9ydCB7ZnJvbSwgc2tpcH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX1BIT05FX0lOVEVSTkFUSU9OQUxfT1BUSU9OU30gZnJvbSAnLi9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLm9wdGlvbnMnO1xuXG5jb25zdCBOT1RfRk9STV9DT05UUk9MX1NZTUJPTFMgPSAvW14rXFxkXS9nO1xuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIHZlcnNpb24gZnJvbSBleHBlcmltZW50YWwgcGFja2FnZSBpbnN0ZWFkICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LXBob25lLWludGVybmF0aW9uYWwnLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTWFza2l0b0RpcmVjdGl2ZSxcbiAgICAgICAgVHVpQXV0b0ZvY3VzLFxuICAgICAgICBUdWlDaGV2cm9uLFxuICAgICAgICBUdWlEYXRhTGlzdCxcbiAgICAgICAgVHVpRmxhZ1BpcGUsXG4gICAgICAgIFR1aVRleHRmaWVsZCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LXBob25lLWludGVybmF0aW9uYWwuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXRQaG9uZUludGVybmF0aW9uYWwpLFxuICAgICAgICB0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXIoJycpLFxuICAgICAgICB0dWlBdXRvRm9jdXNPcHRpb25zUHJvdmlkZXIoe3ByZXZlbnRTY3JvbGw6IHRydWV9KSxcbiAgICAgICAgdHVpVGV4dGZpZWxkT3B0aW9uc1Byb3ZpZGVyKHtjbGVhbmVyOiBzaWduYWwoZmFsc2UpfSksXG4gICAgICAgIHR1aURyb3Bkb3duT3B0aW9uc1Byb3ZpZGVyKHtcbiAgICAgICAgICAgIGxpbWl0V2lkdGg6ICdmaXhlZCcsXG4gICAgICAgICAgICBhbGlnbjogJ3JpZ2h0JyxcbiAgICAgICAgfSksXG4gICAgXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aUdyb3VwLCBUdWlEcm9wZG93bkRpcmVjdGl2ZSwgVHVpV2l0aERyb3Bkb3duT3Blbl0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGF0YS1zaXplXSc6ICdzaXplKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsIGV4dGVuZHMgVHVpQ29udHJvbDxzdHJpbmc+IHtcbiAgICBAVmlld0NoaWxkKE1hc2tpdG9EaXJlY3RpdmUsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoVHVpQXV0b0ZvY3VzLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXI/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZHJlbihUdWlPcHRpb24sIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpc3RPcHRpb25zPzogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+PjtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0lvcyA9IGluamVjdChUVUlfSVNfSU9TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZHJvcGRvd24gPSB0dWlEcm9wZG93bihudWxsKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfSU5QVVRfUEhPTkVfSU5URVJOQVRJT05BTF9PUFRJT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2l6ZSA9IGluamVjdChUVUlfVEVYVEZJRUxEX09QVElPTlMpLnNpemU7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wZW4gPSB0dWlEcm9wZG93bk9wZW4oKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmFtZXMgPSB0b1NpZ25hbChpbmplY3QoVFVJX0NPVU5UUklFUykpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBtZXRhZGF0YSA9IHRvU2lnbmFsKGZyb20odGhpcy5vcHRpb25zLm1ldGFkYXRhKSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvdW50cmllcyA9IHNpZ25hbCh0aGlzLm9wdGlvbnMuY291bnRyaWVzKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY291bnRyeUlzb0NvZGUgPSBzaWduYWwodGhpcy5vcHRpb25zLmNvdW50cnlJc29Db2RlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbnMgPSBpbmplY3QoVFVJX0NPTU1PTl9JQ09OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGxhYmVsID0gdG9TaWduYWwoaW5qZWN0KFRVSV9JTlRFUk5BVElPTkFMX1NFQVJDSCkpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzZWFyY2ggPSBzaWduYWw8c3RyaW5nPignJyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlcGFyYXRvciA9IHNpZ25hbCh0aGlzLm9wdGlvbnMuc2VwYXJhdG9yKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBmaWx0ZXJlZCA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMuY291bnRyaWVzKClcbiAgICAgICAgICAgIC5tYXAoKGlzbykgPT4gKHtcbiAgICAgICAgICAgICAgICBpc28sXG4gICAgICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lcygpPy5baXNvXSB8fCAnJyxcbiAgICAgICAgICAgICAgICBjb2RlOiB0dWlHZXRDYWxsaW5nQ29kZShpc28sIHRoaXMubWV0YWRhdGEoKSksXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgICAgIC5maWx0ZXIoKHtuYW1lLCBjb2RlfSkgPT4gVFVJX0RFRkFVTFRfTUFUQ0hFUihuYW1lICsgY29kZSwgdGhpcy5zZWFyY2goKSkpLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWFzayA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMuY29tcHV0ZU1hc2sodGhpcy5jb3VudHJ5SXNvQ29kZSgpLCB0aGlzLm1ldGFkYXRhKCksIHRoaXMuc2VwYXJhdG9yKCkpLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgJCA9IHR1aURpcmVjdGl2ZUJpbmRpbmcoXG4gICAgICAgIFR1aURyb3Bkb3duT3BlbixcbiAgICAgICAgJ3R1aURyb3Bkb3duRW5hYmxlZCcsXG4gICAgICAgIHRoaXMuaW50ZXJhY3RpdmUsXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCB0ZXh0ZmllbGRWYWx1ZSA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY291bnRyeVNlYXJjaCA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGNvdW50cnlJc29Db2RlQ2hhbmdlID0gdG9PYnNlcnZhYmxlKHRoaXMuY291bnRyeUlzb0NvZGUpLnBpcGUoXG4gICAgICAgIHNraXAoMSksXG4gICAgKTtcblxuICAgIEBJbnB1dCgnY291bnRyaWVzJylcbiAgICBwdWJsaWMgc2V0IGNvdW50cmllc1ZhbHVlKHZhbHVlOiByZWFkb25seSBUdWlDb3VudHJ5SXNvQ29kZVtdKSB7XG4gICAgICAgIHRoaXMuY291bnRyaWVzLnNldCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgQElucHV0KCdjb3VudHJ5SXNvQ29kZScpXG4gICAgcHVibGljIHNldCBpc29Db2RlKGNvZGU6IFR1aUNvdW50cnlJc29Db2RlKSB7XG4gICAgICAgIHRoaXMuY291bnRyeUlzb0NvZGUuc2V0KGNvZGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmb2N1c0ZpcnN0SXRlbSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5saXN0T3B0aW9ucz8uZ2V0KDApPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUGFzdGUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBob25lc01ldGFkYXRhID0gdGhpcy5tZXRhZGF0YSgpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0dWlJc0lucHV0RXZlbnQoZXZlbnQpIHx8XG4gICAgICAgICAgICAhcGhvbmVzTWV0YWRhdGEgfHxcbiAgICAgICAgICAgICghZXZlbnQuaW5wdXRUeXBlLmluY2x1ZGVzKCdEcm9wJykgJiYgIWV2ZW50LmlucHV0VHlwZS5pbmNsdWRlcygnUGFzdGUnKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGV2ZW50LmRhdGEgfHwgJyc7XG4gICAgICAgIGNvbnN0IHByZWZpeGVkVmFsdWUgPSBuZXdWYWx1ZS5zdGFydHNXaXRoKENIQVJfUExVUylcbiAgICAgICAgICAgID8gbmV3VmFsdWVcbiAgICAgICAgICAgIDogQ0hBUl9QTFVTICsgbmV3VmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbGlkYXRlUGhvbmVOdW1iZXJMZW5ndGgocHJlZml4ZWRWYWx1ZSkgPT09ICdUT09fU0hPUlQnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb3VudHJ5SXNvQ29kZSA9IG1hc2tpdG9HZXRDb3VudHJ5RnJvbU51bWJlcihwcmVmaXhlZFZhbHVlLCBwaG9uZXNNZXRhZGF0YSk7XG5cbiAgICAgICAgaWYgKGNvdW50cnlJc29Db2RlKSB7XG4gICAgICAgICAgICB0aGlzLmNvdW50cnlJc29Db2RlLnNldChjb3VudHJ5SXNvQ29kZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25JdGVtQ2xpY2soaXNvQ29kZTogVHVpQ291bnRyeUlzb0NvZGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuLnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMuY291bnRyeUlzb0NvZGUuc2V0KGlzb0NvZGUpO1xuICAgICAgICB0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIHdyaXRlVmFsdWUodW5tYXNrZWRWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodW5tYXNrZWRWYWx1ZSk7XG5cbiAgICAgICAgY29uc3QgbWFza09wdGlvbnMgPSB0aGlzLm1hc2soKTtcblxuICAgICAgICB0aGlzLnRleHRmaWVsZFZhbHVlID0gbWFza09wdGlvbnNcbiAgICAgICAgICAgID8gbWFza2l0b1RyYW5zZm9ybSh0aGlzLnZhbHVlKCksIG1hc2tPcHRpb25zKVxuICAgICAgICAgICAgOiB0aGlzLnZhbHVlKCk7IC8vIGl0IHdpbGwgYmUgY2FsaWJyYXRlZCBsYXRlciB3aGVuIG1hc2sgaXMgcmVhZHkgKGJ5IG1hc2tpdG9Jbml0aWFsQ2FsaWJyYXRpb25QbHVnaW4pXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBAVmlld0NoaWxkKGZvcndhcmRSZWYoKCkgPT4gVHVpVGV4dGZpZWxkRHJvcGRvd25EaXJlY3RpdmUpLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHByb3RlY3RlZCBzZXQgdGVtcGxhdGUodGVtcGxhdGU6IFBvbHltb3JwaGV1c0NvbnRlbnQpIHtcbiAgICAgICAgdGhpcy5kcm9wZG93bi5zZXQodGVtcGxhdGUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkZvY3VzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwaG9uZU1ldGFkYXRhID0gdGhpcy5tZXRhZGF0YSgpO1xuXG4gICAgICAgIGlmICghdGhpcy50ZXh0ZmllbGRWYWx1ZSAmJiBwaG9uZU1ldGFkYXRhKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRmaWVsZFZhbHVlID0gYCR7Q0hBUl9QTFVTICsgZ2V0Q291bnRyeUNhbGxpbmdDb2RlKHRoaXMuY291bnRyeUlzb0NvZGUoKSwgcGhvbmVNZXRhZGF0YSl9IGA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25WYWx1ZUNoYW5nZShtYXNrZWRWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHVubWFza2VkVmFsdWUgPSBtYXNrZWRWYWx1ZS5yZXBsYWNlQWxsKE5PVF9GT1JNX0NPTlRST0xfU1lNQk9MUywgJycpO1xuICAgICAgICBjb25zdCBwaG9uZXNNZXRhZGF0YSA9IHRoaXMubWV0YWRhdGEoKTtcbiAgICAgICAgY29uc3QgY291bnRyeUNhbGxpbmdDb2RlID0gcGhvbmVzTWV0YWRhdGFcbiAgICAgICAgICAgID8gQ0hBUl9QTFVTICsgZ2V0Q291bnRyeUNhbGxpbmdDb2RlKHRoaXMuY291bnRyeUlzb0NvZGUoKSwgcGhvbmVzTWV0YWRhdGEpXG4gICAgICAgICAgICA6ICcnO1xuXG4gICAgICAgIHRoaXMub25DaGFuZ2UodW5tYXNrZWRWYWx1ZSA9PT0gY291bnRyeUNhbGxpbmdDb2RlID8gJycgOiB1bm1hc2tlZFZhbHVlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25LZXlEb3duKHtrZXl9OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0dWlJc0VkaXRpbmdLZXkoa2V5KSkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXI/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoe3ByZXZlbnRTY3JvbGw6IHRydWV9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY29tcHV0ZU1hc2soXG4gICAgICAgIGNvdW50cnlJc29Db2RlOiBUdWlDb3VudHJ5SXNvQ29kZSxcbiAgICAgICAgbWV0YWRhdGE/OiBNZXRhZGF0YUpzb24sXG4gICAgICAgIHNlcGFyYXRvcj86IHN0cmluZyxcbiAgICApOiBNYXNraXRvT3B0aW9ucyB8IG51bGwge1xuICAgICAgICBpZiAoIW1ldGFkYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHtwbHVnaW5zLCAuLi5yZXN0T3B0aW9uc30gPSBtYXNraXRvUGhvbmVPcHRpb25zR2VuZXJhdG9yKHtcbiAgICAgICAgICAgIGNvdW50cnlJc29Db2RlLFxuICAgICAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgICAgICBzZXBhcmF0b3IsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5yZXN0T3B0aW9ucyxcbiAgICAgICAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgICAgICAgICAuLi5wbHVnaW5zLFxuICAgICAgICAgICAgICAgIG1hc2tpdG9SZW1vdmVPbkJsdXJQbHVnaW4oXG4gICAgICAgICAgICAgICAgICAgIGAke0NIQVJfUExVU30ke2dldENvdW50cnlDYWxsaW5nQ29kZShjb3VudHJ5SXNvQ29kZSwgbWV0YWRhdGEpfSBgLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgbWFza2l0b0luaXRpYWxDYWxpYnJhdGlvblBsdWdpbigpLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfTtcbiAgICB9XG59XG4iLCI8dHVpLXRleHRmaWVsZFxuICAgIGNsYXNzPVwidC1zZWxlY3RcIlxuICAgIFtjb250ZW50XT1cImZsYWdcIlxuICAgIFt0dWlDaGV2cm9uXT1cIm9wZW4oKVwiXG4+XG4gICAgPHNlbGVjdFxuICAgICAgICBhcmlhLWxhYmVsPVwiQ291bnRyeVwiXG4gICAgICAgIG5nTW9kZWw9XCJcIlxuICAgICAgICB0dWlUZXh0ZmllbGRcbiAgICAgICAgW2F0dHIuZGF0YS1tb2RlXT1cIm1vZGUoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgICAgW2ZvY3VzZWRdPVwib3BlbigpXCJcbiAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgPjwvc2VsZWN0PlxuXG4gICAgPG5nLXRlbXBsYXRlICNmbGFnPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgICBjbGFzcz1cInQtZmxhZ1wiXG4gICAgICAgICAgICBbYWx0XT1cIm5hbWVzKCk/Lltjb3VudHJ5SXNvQ29kZSgpXVwiXG4gICAgICAgICAgICBbc3JjXT1cImNvdW50cnlJc29Db2RlKCkgfCB0dWlGbGFnXCJcbiAgICAgICAgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC90dWktdGV4dGZpZWxkPlxuXG48dHVpLXRleHRmaWVsZD5cbiAgICA8IS0tVE9ETzogUmVwbGFjZSBhdHRyaWJ1dGUgYmluZGluZ3Mgd2l0aCBpbnB1dHMgYWZ0ZXIgQW5ndWxhciB1cGRhdGVkIGFuZCBzaWduYWwgYmluZGluZ3MgcHJvcGVybHkgdXBkYXRlLS0+XG4gICAgPGlucHV0XG4gICAgICAgIGF1dG9jb21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiXG4gICAgICAgIHR1aVRleHRmaWVsZFxuICAgICAgICBbYXR0ci5kYXRhLW1vZGVdPVwibW9kZSgpXCJcbiAgICAgICAgW2F0dHIucmVhZG9ubHldPVwicmVhZE9ubHkoKSB8fCBudWxsXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICBbbWFza2l0b109XCJtYXNrKClcIlxuICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ0ZXh0ZmllbGRWYWx1ZVwiXG4gICAgICAgIChiZWZvcmVpbnB1dC5jYXB0dXJlKT1cIm9uUGFzdGUoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cIm9uVG91Y2hlZCgpXCJcbiAgICAgICAgKGZvY3VzKT1cIiFyZWFkT25seSgpICYmIG9uRm9jdXMoKVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgLz5cblxuICAgIDwhLS1cbiAgICBUT0RPOiBnZXQgcmlkIG9mIGJ1aWx0LWluIGlucHV0IGFuZCBsYWJlbCBhbmQganVzdCBleHRlcm5hbGl6ZSBldmVyeXRoaW5nIGluIDUuMFxuICAgIDx0dWktaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbD5cbiAgICAgIDxsYWJlbCB0dWlMYWJlbD5NeSBsYWJlbDwvbGFiZWw+XG4gICAgICA8aW5wdXQgdHVpVGV4dGZpZWxkIHBsYWNlaG9sZGVyPVwiTXkgcGxhY2Vob2xkZXJcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgLz5cbiAgICAgIDx0dWktaWNvbiBpY29uPVwiQHR1aS5waG9uZVwiIC8+XG4gICAgPC90dWktaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbD5cbiAgICAtLT5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWktaWNvbiwgaW1nXCIgLz5cblxuICAgIDxsYWJlbCB0dWlMYWJlbD5cbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L2xhYmVsPlxuPC90dWktdGV4dGZpZWxkPlxuXG48bmctY29udGFpbmVyICp0dWlUZXh0ZmllbGREcm9wZG93bj5cbiAgICA8dHVpLXRleHRmaWVsZFxuICAgICAgICAqbmdJZj1cImNvdW50cnlTZWFyY2hcIlxuICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwibVwiXG4gICAgICAgIGNsYXNzPVwidC1zZWFyY2hcIlxuICAgICAgICBbaWNvblN0YXJ0XT1cImljb25zLnNlYXJjaFwiXG4gICAgPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR1aVRleHRmaWVsZFxuICAgICAgICAgICAgW2ZvY3VzZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2goKVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwibGFiZWwoKVwiXG4gICAgICAgICAgICBbdHVpQXV0b0ZvY3VzXT1cIiFpc0lvc1wiXG4gICAgICAgICAgICAoa2V5ZG93bi5hcnJvd0Rvd24pPVwiZm9jdXNGaXJzdEl0ZW0oKVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2guc2V0KCRldmVudClcIlxuICAgICAgICAvPlxuICAgIDwvdHVpLXRleHRmaWVsZD5cblxuICAgIDx0dWktZGF0YS1saXN0IChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbHRlcmVkKClcIlxuICAgICAgICAgICAgdHVpT3B0aW9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkl0ZW1DbGljayhpdGVtLmlzbylcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtZmxhZ1wiXG4gICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmlzbyB8IHR1aUZsYWdcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidC1uYW1lXCI+e3sgaXRlbS5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0LWNvZGVcIj57eyBpdGVtLmNvZGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvdHVpLWRhdGEtbGlzdD5cbjwvbmctY29udGFpbmVyPlxuIl19
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsL2lucHV0LXBob25lLWludGVybmF0aW9uYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUVOLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNULFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFFLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQ0gsK0JBQStCLEVBRS9CLGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDdkQsT0FBTyxFQUFDLDJCQUEyQixFQUFFLDRCQUE0QixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekYsT0FBTyxFQUFDLFlBQVksRUFBRSxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsU0FBUyxFQUFFLG1C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QW9CO3NCQURuQyxNQUFNO2dCQU1JLGNBQWM7c0JBRHhCLEtBQUs7dUJBQUMsV0FBVztnQkFNUCxPQUFPO3NCQURqQixLQUFLO3VCQUFDLGdCQUFnQjtnQkFzRFQsUUFBUTtzQkFEckIsU0FBUzt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNkJBQTZCLENBQUMsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIHR5cGUgUXVlcnlMaXN0LFxuICAgIHNpZ25hbCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9PYnNlcnZhYmxlLCB0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXNraXRvRGlyZWN0aXZlfSBmcm9tICdAbWFza2l0by9hbmd1bGFyJztcbmltcG9ydCB7XG4gICAgbWFza2l0b0luaXRpYWxDYWxpYnJhdGlvblBsdWdpbixcbiAgICB0eXBlIE1hc2tpdG9PcHRpb25zLFxuICAgIG1hc2tpdG9UcmFuc2Zvcm0sXG59IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHttYXNraXRvUmVtb3ZlT25CbHVyUGx1Z2lufSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHttYXNraXRvR2V0Q291bnRyeUZyb21OdW1iZXIsIG1hc2tpdG9QaG9uZU9wdGlvbnNHZW5lcmF0b3J9IGZyb20gJ0BtYXNraXRvL3Bob25lJztcbmltcG9ydCB7dHVpQXNDb250cm9sLCBUdWlDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtDSEFSX1BMVVMsIFRVSV9ERUZBVUxUX01BVENIRVJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7XG4gICAgVHVpQXV0b0ZvY3VzLFxuICAgIHR1aUF1dG9Gb2N1c09wdGlvbnNQcm92aWRlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2F1dG8tZm9jdXMnO1xuaW1wb3J0IHtUVUlfSVNfSU9TLCB0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpSXNJbnB1dEV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aURpcmVjdGl2ZUJpbmRpbmd9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1R1aURhdGFMaXN0LCBUdWlPcHRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0JztcbmltcG9ydCB7XG4gICAgVFVJX1RFWFRGSUVMRF9PUFRJT05TLFxuICAgIFR1aVRleHRmaWVsZCxcbiAgICBUdWlUZXh0ZmllbGREcm9wZG93bkRpcmVjdGl2ZSxcbiAgICB0dWlUZXh0ZmllbGRPcHRpb25zUHJvdmlkZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7XG4gICAgdHVpRHJvcGRvd24sXG4gICAgVHVpRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgVHVpRHJvcGRvd25PcGVuLFxuICAgIHR1aURyb3Bkb3duT3BlbixcbiAgICB0dWlEcm9wZG93bk9wdGlvbnNQcm92aWRlcixcbiAgICBUdWlXaXRoRHJvcGRvd25PcGVuLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7VHVpR3JvdXB9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZ3JvdXAnO1xuaW1wb3J0IHtUdWlGbGFnUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvcGlwZXMvZmxhZyc7XG5pbXBvcnQge1RVSV9DT01NT05fSUNPTlN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aUlzRWRpdGluZ0tleX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge3R5cGUgVHVpQ291bnRyeUlzb0NvZGV9IGZyb20gJ0B0YWlnYS11aS9pMThuL3R5cGVzJztcbmltcG9ydCB7VHVpQ2hldnJvbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9kaXJlY3RpdmVzJztcbmltcG9ydCB7VFVJX0NPVU5UUklFUywgVFVJX0lOVEVSTkFUSU9OQUxfU0VBUkNIfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge3R1aUdldENhbGxpbmdDb2RlfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzJztcbmltcG9ydCB7dHlwZSBQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7dmFsaWRhdGVQaG9uZU51bWJlckxlbmd0aH0gZnJvbSAnbGlicGhvbmVudW1iZXItanMnO1xuaW1wb3J0IHtnZXRDb3VudHJ5Q2FsbGluZ0NvZGUsIHR5cGUgTWV0YWRhdGFKc29ufSBmcm9tICdsaWJwaG9uZW51bWJlci1qcy9jb3JlJztcbmltcG9ydCB7ZnJvbSwgc2tpcH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX1BIT05FX0lOVEVSTkFUSU9OQUxfT1BUSU9OU30gZnJvbSAnLi9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLm9wdGlvbnMnO1xuXG5jb25zdCBOT1RfRk9STV9DT05UUk9MX1NZTUJPTFMgPSAvW14rXFxkXS9nO1xuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIHZlcnNpb24gZnJvbSBleHBlcmltZW50YWwgcGFja2FnZSBpbnN0ZWFkICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LXBob25lLWludGVybmF0aW9uYWwnLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTWFza2l0b0RpcmVjdGl2ZSxcbiAgICAgICAgVHVpQXV0b0ZvY3VzLFxuICAgICAgICBUdWlDaGV2cm9uLFxuICAgICAgICBUdWlEYXRhTGlzdCxcbiAgICAgICAgVHVpRmxhZ1BpcGUsXG4gICAgICAgIFR1aVRleHRmaWVsZCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LXBob25lLWludGVybmF0aW9uYWwuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXRQaG9uZUludGVybmF0aW9uYWwpLFxuICAgICAgICB0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXIoJycpLFxuICAgICAgICB0dWlBdXRvRm9jdXNPcHRpb25zUHJvdmlkZXIoe3ByZXZlbnRTY3JvbGw6IHRydWV9KSxcbiAgICAgICAgdHVpVGV4dGZpZWxkT3B0aW9uc1Byb3ZpZGVyKHtjbGVhbmVyOiBzaWduYWwoZmFsc2UpfSksXG4gICAgICAgIHR1aURyb3Bkb3duT3B0aW9uc1Byb3ZpZGVyKHtcbiAgICAgICAgICAgIGxpbWl0V2lkdGg6ICdmaXhlZCcsXG4gICAgICAgICAgICBhbGlnbjogJ3JpZ2h0JyxcbiAgICAgICAgfSksXG4gICAgXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aUdyb3VwLCBUdWlEcm9wZG93bkRpcmVjdGl2ZSwgVHVpV2l0aERyb3Bkb3duT3Blbl0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGF0YS1zaXplXSc6ICdzaXplKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsIGV4dGVuZHMgVHVpQ29udHJvbDxzdHJpbmc+IHtcbiAgICBAVmlld0NoaWxkKE1hc2tpdG9EaXJlY3RpdmUsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoVHVpQXV0b0ZvY3VzLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXI/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZHJlbihUdWlPcHRpb24sIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpc3RPcHRpb25zPzogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+PjtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0lvcyA9IGluamVjdChUVUlfSVNfSU9TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZHJvcGRvd24gPSB0dWlEcm9wZG93bihudWxsKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfSU5QVVRfUEhPTkVfSU5URVJOQVRJT05BTF9PUFRJT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2l6ZSA9IGluamVjdChUVUlfVEVYVEZJRUxEX09QVElPTlMpLnNpemU7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wZW4gPSB0dWlEcm9wZG93bk9wZW4oKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmFtZXMgPSB0b1NpZ25hbChpbmplY3QoVFVJX0NPVU5UUklFUykpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBtZXRhZGF0YSA9IHRvU2lnbmFsKGZyb20odGhpcy5vcHRpb25zLm1ldGFkYXRhKSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvdW50cmllcyA9IHNpZ25hbCh0aGlzLm9wdGlvbnMuY291bnRyaWVzKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY291bnRyeUlzb0NvZGUgPSBzaWduYWwodGhpcy5vcHRpb25zLmNvdW50cnlJc29Db2RlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbnMgPSBpbmplY3QoVFVJX0NPTU1PTl9JQ09OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGxhYmVsID0gdG9TaWduYWwoaW5qZWN0KFRVSV9JTlRFUk5BVElPTkFMX1NFQVJDSCkpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzZWFyY2ggPSBzaWduYWw8c3RyaW5nPignJyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlcGFyYXRvciA9IHNpZ25hbCh0aGlzLm9wdGlvbnMuc2VwYXJhdG9yKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBmaWx0ZXJlZCA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMuY291bnRyaWVzKClcbiAgICAgICAgICAgIC5tYXAoKGlzbykgPT4gKHtcbiAgICAgICAgICAgICAgICBpc28sXG4gICAgICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lcygpPy5baXNvXSB8fCAnJyxcbiAgICAgICAgICAgICAgICBjb2RlOiB0dWlHZXRDYWxsaW5nQ29kZShpc28sIHRoaXMubWV0YWRhdGEoKSksXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgICAgIC5maWx0ZXIoKHtuYW1lLCBjb2RlfSkgPT4gVFVJX0RFRkFVTFRfTUFUQ0hFUihuYW1lICsgY29kZSwgdGhpcy5zZWFyY2goKSkpLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWFzayA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMuY29tcHV0ZU1hc2sodGhpcy5jb3VudHJ5SXNvQ29kZSgpLCB0aGlzLm1ldGFkYXRhKCksIHRoaXMuc2VwYXJhdG9yKCkpLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgJCA9IHR1aURpcmVjdGl2ZUJpbmRpbmcoXG4gICAgICAgIFR1aURyb3Bkb3duT3BlbixcbiAgICAgICAgJ3R1aURyb3Bkb3duRW5hYmxlZCcsXG4gICAgICAgIHRoaXMuaW50ZXJhY3RpdmUsXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCB0ZXh0ZmllbGRWYWx1ZSA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY291bnRyeVNlYXJjaCA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGNvdW50cnlJc29Db2RlQ2hhbmdlID0gdG9PYnNlcnZhYmxlKHRoaXMuY291bnRyeUlzb0NvZGUpLnBpcGUoXG4gICAgICAgIHNraXAoMSksXG4gICAgKTtcblxuICAgIEBJbnB1dCgnY291bnRyaWVzJylcbiAgICBwdWJsaWMgc2V0IGNvdW50cmllc1ZhbHVlKHZhbHVlOiByZWFkb25seSBUdWlDb3VudHJ5SXNvQ29kZVtdKSB7XG4gICAgICAgIHRoaXMuY291bnRyaWVzLnNldCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgQElucHV0KCdjb3VudHJ5SXNvQ29kZScpXG4gICAgcHVibGljIHNldCBpc29Db2RlKGNvZGU6IFR1aUNvdW50cnlJc29Db2RlKSB7XG4gICAgICAgIHRoaXMuY291bnRyeUlzb0NvZGUuc2V0KGNvZGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmb2N1c0ZpcnN0SXRlbSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5saXN0T3B0aW9ucz8uZ2V0KDApPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUGFzdGUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBob25lc01ldGFkYXRhID0gdGhpcy5tZXRhZGF0YSgpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0dWlJc0lucHV0RXZlbnQoZXZlbnQpIHx8XG4gICAgICAgICAgICAhcGhvbmVzTWV0YWRhdGEgfHxcbiAgICAgICAgICAgICghZXZlbnQuaW5wdXRUeXBlLmluY2x1ZGVzKCdEcm9wJykgJiYgIWV2ZW50LmlucHV0VHlwZS5pbmNsdWRlcygnUGFzdGUnKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGV2ZW50LmRhdGEgfHwgJyc7XG4gICAgICAgIGNvbnN0IHByZWZpeGVkVmFsdWUgPSBuZXdWYWx1ZS5zdGFydHNXaXRoKENIQVJfUExVUylcbiAgICAgICAgICAgID8gbmV3VmFsdWVcbiAgICAgICAgICAgIDogQ0hBUl9QTFVTICsgbmV3VmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbGlkYXRlUGhvbmVOdW1iZXJMZW5ndGgocHJlZml4ZWRWYWx1ZSkgPT09ICdUT09fU0hPUlQnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb3VudHJ5SXNvQ29kZSA9IG1hc2tpdG9HZXRDb3VudHJ5RnJvbU51bWJlcihwcmVmaXhlZFZhbHVlLCBwaG9uZXNNZXRhZGF0YSk7XG5cbiAgICAgICAgaWYgKGNvdW50cnlJc29Db2RlKSB7XG4gICAgICAgICAgICB0aGlzLmNvdW50cnlJc29Db2RlLnNldChjb3VudHJ5SXNvQ29kZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25JdGVtQ2xpY2soaXNvQ29kZTogVHVpQ291bnRyeUlzb0NvZGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuLnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMuY291bnRyeUlzb0NvZGUuc2V0KGlzb0NvZGUpO1xuICAgICAgICB0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIHdyaXRlVmFsdWUodW5tYXNrZWRWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodW5tYXNrZWRWYWx1ZSk7XG5cbiAgICAgICAgY29uc3QgbWFza09wdGlvbnMgPSB0aGlzLm1hc2soKTtcblxuICAgICAgICB0aGlzLnRleHRmaWVsZFZhbHVlID0gbWFza09wdGlvbnNcbiAgICAgICAgICAgID8gbWFza2l0b1RyYW5zZm9ybSh0aGlzLnZhbHVlKCksIG1hc2tPcHRpb25zKVxuICAgICAgICAgICAgOiB0aGlzLnZhbHVlKCk7IC8vIGl0IHdpbGwgYmUgY2FsaWJyYXRlZCBsYXRlciB3aGVuIG1hc2sgaXMgcmVhZHkgKGJ5IG1hc2tpdG9Jbml0aWFsQ2FsaWJyYXRpb25QbHVnaW4pXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBAVmlld0NoaWxkKGZvcndhcmRSZWYoKCkgPT4gVHVpVGV4dGZpZWxkRHJvcGRvd25EaXJlY3RpdmUpLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHByb3RlY3RlZCBzZXQgdGVtcGxhdGUodGVtcGxhdGU6IFBvbHltb3JwaGV1c0NvbnRlbnQpIHtcbiAgICAgICAgdGhpcy5kcm9wZG93bi5zZXQodGVtcGxhdGUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkZvY3VzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwaG9uZU1ldGFkYXRhID0gdGhpcy5tZXRhZGF0YSgpO1xuXG4gICAgICAgIGlmICghdGhpcy50ZXh0ZmllbGRWYWx1ZSAmJiBwaG9uZU1ldGFkYXRhKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRmaWVsZFZhbHVlID0gYCR7Q0hBUl9QTFVTICsgZ2V0Q291bnRyeUNhbGxpbmdDb2RlKHRoaXMuY291bnRyeUlzb0NvZGUoKSwgcGhvbmVNZXRhZGF0YSl9IGA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25WYWx1ZUNoYW5nZShtYXNrZWRWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHVubWFza2VkVmFsdWUgPSBtYXNrZWRWYWx1ZS5yZXBsYWNlQWxsKE5PVF9GT1JNX0NPTlRST0xfU1lNQk9MUywgJycpO1xuICAgICAgICBjb25zdCBwaG9uZXNNZXRhZGF0YSA9IHRoaXMubWV0YWRhdGEoKTtcbiAgICAgICAgY29uc3QgY291bnRyeUNhbGxpbmdDb2RlID0gcGhvbmVzTWV0YWRhdGFcbiAgICAgICAgICAgID8gQ0hBUl9QTFVTICsgZ2V0Q291bnRyeUNhbGxpbmdDb2RlKHRoaXMuY291bnRyeUlzb0NvZGUoKSwgcGhvbmVzTWV0YWRhdGEpXG4gICAgICAgICAgICA6ICcnO1xuXG4gICAgICAgIHRoaXMub25DaGFuZ2UodW5tYXNrZWRWYWx1ZSA9PT0gY291bnRyeUNhbGxpbmdDb2RlID8gJycgOiB1bm1hc2tlZFZhbHVlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25LZXlEb3duKHtrZXl9OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0dWlJc0VkaXRpbmdLZXkoa2V5KSkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXI/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoe3ByZXZlbnRTY3JvbGw6IHRydWV9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY29tcHV0ZU1hc2soXG4gICAgICAgIGNvdW50cnlJc29Db2RlOiBUdWlDb3VudHJ5SXNvQ29kZSxcbiAgICAgICAgbWV0YWRhdGE/OiBNZXRhZGF0YUpzb24sXG4gICAgICAgIHNlcGFyYXRvcj86IHN0cmluZyxcbiAgICApOiBNYXNraXRvT3B0aW9ucyB8IG51bGwge1xuICAgICAgICBpZiAoIW1ldGFkYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHtwbHVnaW5zLCAuLi5yZXN0T3B0aW9uc30gPSBtYXNraXRvUGhvbmVPcHRpb25zR2VuZXJhdG9yKHtcbiAgICAgICAgICAgIGNvdW50cnlJc29Db2RlLFxuICAgICAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgICAgICBzZXBhcmF0b3IsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5yZXN0T3B0aW9ucyxcbiAgICAgICAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgICAgICAgICAuLi5wbHVnaW5zLFxuICAgICAgICAgICAgICAgIG1hc2tpdG9SZW1vdmVPbkJsdXJQbHVnaW4oXG4gICAgICAgICAgICAgICAgICAgIGAke0NIQVJfUExVU30ke2dldENvdW50cnlDYWxsaW5nQ29kZShjb3VudHJ5SXNvQ29kZSwgbWV0YWRhdGEpfSBgLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgbWFza2l0b0luaXRpYWxDYWxpYnJhdGlvblBsdWdpbigpLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfTtcbiAgICB9XG59XG4iLCI8dHVpLXRleHRmaWVsZFxuICAgIGNsYXNzPVwidC1zZWxlY3RcIlxuICAgIFtjb250ZW50XT1cImZsYWdcIlxuICAgIFt0dWlDaGV2cm9uXT1cIm9wZW4oKVwiXG4+XG4gICAgPHNlbGVjdFxuICAgICAgICBhcmlhLWxhYmVsPVwiQ291bnRyeVwiXG4gICAgICAgIG5nTW9kZWw9XCJcIlxuICAgICAgICB0dWlUZXh0ZmllbGRcbiAgICAgICAgW2F0dHIuZGF0YS1tb2RlXT1cIm1vZGUoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgICAgW2ZvY3VzZWRdPVwib3BlbigpXCJcbiAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgPjwvc2VsZWN0PlxuXG4gICAgPG5nLXRlbXBsYXRlICNmbGFnPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgICBjbGFzcz1cInQtZmxhZ1wiXG4gICAgICAgICAgICBbYWx0XT1cIm5hbWVzKCk/Lltjb3VudHJ5SXNvQ29kZSgpXVwiXG4gICAgICAgICAgICBbc3JjXT1cImNvdW50cnlJc29Db2RlKCkgfCB0dWlGbGFnXCJcbiAgICAgICAgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC90dWktdGV4dGZpZWxkPlxuXG48dHVpLXRleHRmaWVsZD5cbiAgICA8IS0tVE9ETzogUmVwbGFjZSBhdHRyaWJ1dGUgYmluZGluZ3Mgd2l0aCBpbnB1dHMgYWZ0ZXIgQW5ndWxhciB1cGRhdGVkIGFuZCBzaWduYWwgYmluZGluZ3MgcHJvcGVybHkgdXBkYXRlLS0+XG4gICAgPGlucHV0XG4gICAgICAgIGF1dG9jb21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiXG4gICAgICAgIHR1aVRleHRmaWVsZFxuICAgICAgICBbYXR0ci5kYXRhLW1vZGVdPVwibW9kZSgpXCJcbiAgICAgICAgW2F0dHIucmVhZG9ubHldPVwicmVhZE9ubHkoKSB8fCBudWxsXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICBbbWFza2l0b109XCJtYXNrKClcIlxuICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ0ZXh0ZmllbGRWYWx1ZVwiXG4gICAgICAgIChiZWZvcmVpbnB1dC5jYXB0dXJlKT1cIm9uUGFzdGUoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cIm9uVG91Y2hlZCgpXCJcbiAgICAgICAgKGZvY3VzKT1cIiFyZWFkT25seSgpICYmIG9uRm9jdXMoKVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgLz5cblxuICAgIDwhLS1cbiAgICBUT0RPOiBnZXQgcmlkIG9mIGJ1aWx0LWluIGlucHV0IGFuZCBsYWJlbCBhbmQganVzdCBleHRlcm5hbGl6ZSBldmVyeXRoaW5nIGluIDUuMFxuICAgIDx0dWktaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbD5cbiAgICAgIDxsYWJlbCB0dWlMYWJlbD5NeSBsYWJlbDwvbGFiZWw+XG4gICAgICA8aW5wdXQgdHVpVGV4dGZpZWxkIHBsYWNlaG9sZGVyPVwiTXkgcGxhY2Vob2xkZXJcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgLz5cbiAgICAgIDx0dWktaWNvbiBpY29uPVwiQHR1aS5waG9uZVwiIC8+XG4gICAgPC90dWktaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbD5cbiAgICAtLT5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWktaWNvbiwgaW1nXCIgLz5cblxuICAgIDxsYWJlbCB0dWlMYWJlbD5cbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L2xhYmVsPlxuPC90dWktdGV4dGZpZWxkPlxuXG48bmctY29udGFpbmVyICp0dWlUZXh0ZmllbGREcm9wZG93bj5cbiAgICA8dHVpLXRleHRmaWVsZFxuICAgICAgICAqbmdJZj1cImNvdW50cnlTZWFyY2hcIlxuICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwibVwiXG4gICAgICAgIGNsYXNzPVwidC1zZWFyY2hcIlxuICAgICAgICBbaWNvblN0YXJ0XT1cImljb25zLnNlYXJjaFwiXG4gICAgPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR1aVRleHRmaWVsZFxuICAgICAgICAgICAgW2ZvY3VzZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2goKVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwibGFiZWwoKVwiXG4gICAgICAgICAgICBbdHVpQXV0b0ZvY3VzXT1cIiFpc0lvc1wiXG4gICAgICAgICAgICAoa2V5ZG93bi5hcnJvd0Rvd24pPVwiZm9jdXNGaXJzdEl0ZW0oKVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2guc2V0KCRldmVudClcIlxuICAgICAgICAvPlxuICAgIDwvdHVpLXRleHRmaWVsZD5cblxuICAgIDx0dWktZGF0YS1saXN0IChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbHRlcmVkKClcIlxuICAgICAgICAgICAgdHVpT3B0aW9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkl0ZW1DbGljayhpdGVtLmlzbylcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtZmxhZ1wiXG4gICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmlzbyB8IHR1aUZsYWdcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidC1uYW1lXCI+e3sgaXRlbS5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0LWNvZGVcIj57eyBpdGVtLmNvZGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvdHVpLWRhdGEtbGlzdD5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -16,4 +16,4 @@ export const TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS = new InjectionToken(ngDevMod
16
16
  export function tuiInputPhoneInternationalOptionsProvider(options) {
17
17
  return tuiProvideOptions(TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS, options, TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS);
18
18
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUlwRSxPQUFPLEVBQUMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBU3hCLE1BQU0sQ0FBQyxNQUFNLDZDQUE2QyxHQUN0RDtJQUNJLFNBQVMsRUFBRSxFQUFFO0lBQ2IsY0FBYyxFQUFFLElBQUk7SUFDcEIsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUscUJBQXFCLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFDeEQsU0FBUyxFQUFFLEdBQUc7Q0FDakIsQ0FBQztBQUVOOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsSUFBSSxjQUFjLENBQ25FLFNBQVMsQ0FBQyxDQUFDLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDeEQ7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsNkNBQTZDO0NBQy9ELENBQ0osQ0FBQztBQUVGLE1BQU0sVUFBVSx5Q0FBeUMsQ0FDckQsT0FBbUQ7SUFFbkQsT0FBTyxpQkFBaUIsQ0FDcEIscUNBQXFDLEVBQ3JDLE9BQU8sRUFDUCw2Q0FBNkMsQ0FDaEQsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aVByb3ZpZGVPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHR5cGUge1R1aUNvdW50cnlJc29Db2RlfSBmcm9tICdAdGFpZ2EtdWkvaTE4bi90eXBlcyc7XG5pbXBvcnQgdHlwZSB7TWV0YWRhdGFKc29ufSBmcm9tICdsaWJwaG9uZW51bWJlci1qcy9jb3JlJztcbmltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7b2Z9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgY291bnRyaWVzOiByZWFkb25seSBUdWlDb3VudHJ5SXNvQ29kZVtdO1xuICAgIHJlYWRvbmx5IGNvdW50cnlJc29Db2RlOiBUdWlDb3VudHJ5SXNvQ29kZTtcbiAgICByZWFkb25seSBtZXRhZGF0YTogT2JzZXJ2YWJsZTxNZXRhZGF0YUpzb24+IHwgUHJvbWlzZTxNZXRhZGF0YUpzb24+O1xuICAgIHJlYWRvbmx5IHNlcGFyYXRvcjogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX1BIT05FX0lOVEVSTkFUSU9OQUxfREVGQVVMVF9PUFRJT05TOiBUdWlJbnB1dFBob25lSW50ZXJuYXRpb25hbE9wdGlvbnMgPVxuICAgIHtcbiAgICAgICAgY291bnRyaWVzOiBbXSxcbiAgICAgICAgY291bnRyeUlzb0NvZGU6ICdSVScsXG4gICAgICAgIG1ldGFkYXRhOiBvZih7Y291bnRyaWVzOiB7fSwgY291bnRyeV9jYWxsaW5nX2NvZGVzOiB7fX0pLFxuICAgICAgICBzZXBhcmF0b3I6ICctJyxcbiAgICB9O1xuXG4vKipcbiAqIERlZmF1bHQgcGFyYW1ldGVycyBmb3IgaW5wdXQgcGhvbmUgaW50ZXJuYXRpb25hbCBjb21wb25lbnRcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9JTlBVVF9QSE9ORV9JTlRFUk5BVElPTkFMX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICAgbmdEZXZNb2RlID8gJ1RVSV9JTlBVVF9QSE9ORV9JTlRFUk5BVElPTkFMX09QVElPTlMnIDogJycsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBUVUlfSU5QVVRfUEhPTkVfSU5URVJOQVRJT05BTF9ERUZBVUxUX09QVElPTlMsXG4gICAgfSxcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlJbnB1dFBob25lSW50ZXJuYXRpb25hbE9wdGlvbnNQcm92aWRlcihcbiAgICBvcHRpb25zOiBQYXJ0aWFsPFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsT3B0aW9ucz4sXG4pOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHR1aVByb3ZpZGVPcHRpb25zKFxuICAgICAgICBUVUlfSU5QVVRfUEhPTkVfSU5URVJOQVRJT05BTF9PUFRJT05TLFxuICAgICAgICBvcHRpb25zLFxuICAgICAgICBUVUlfSU5QVVRfUEhPTkVfSU5URVJOQVRJT05BTF9ERUZBVUxUX09QVElPTlMsXG4gICAgKTtcbn1cbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFHcEUsT0FBTyxFQUFrQixFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFTekMsTUFBTSxDQUFDLE1BQU0sNkNBQTZDLEdBQ3REO0lBQ0ksU0FBUyxFQUFFLEVBQUU7SUFDYixjQUFjLEVBQUUsSUFBSTtJQUNwQixRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxxQkFBcUIsRUFBRSxFQUFFLEVBQUMsQ0FBQztJQUN4RCxTQUFTLEVBQUUsR0FBRztDQUNqQixDQUFDO0FBRU47O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBRyxJQUFJLGNBQWMsQ0FDbkUsU0FBUyxDQUFDLENBQUMsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUN4RDtJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyw2Q0FBNkM7Q0FDL0QsQ0FDSixDQUFDO0FBRUYsTUFBTSxVQUFVLHlDQUF5QyxDQUNyRCxPQUFtRDtJQUVuRCxPQUFPLGlCQUFpQixDQUNwQixxQ0FBcUMsRUFDckMsT0FBTyxFQUNQLDZDQUE2QyxDQUNoRCxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW4sIHR5cGUgUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlQcm92aWRlT3B0aW9uc30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7dHlwZSBUdWlDb3VudHJ5SXNvQ29kZX0gZnJvbSAnQHRhaWdhLXVpL2kxOG4vdHlwZXMnO1xuaW1wb3J0IHt0eXBlIE1ldGFkYXRhSnNvbn0gZnJvbSAnbGlicGhvbmVudW1iZXItanMvY29yZSc7XG5pbXBvcnQge3R5cGUgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgY291bnRyaWVzOiByZWFkb25seSBUdWlDb3VudHJ5SXNvQ29kZVtdO1xuICAgIHJlYWRvbmx5IGNvdW50cnlJc29Db2RlOiBUdWlDb3VudHJ5SXNvQ29kZTtcbiAgICByZWFkb25seSBtZXRhZGF0YTogT2JzZXJ2YWJsZTxNZXRhZGF0YUpzb24+IHwgUHJvbWlzZTxNZXRhZGF0YUpzb24+O1xuICAgIHJlYWRvbmx5IHNlcGFyYXRvcjogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX1BIT05FX0lOVEVSTkFUSU9OQUxfREVGQVVMVF9PUFRJT05TOiBUdWlJbnB1dFBob25lSW50ZXJuYXRpb25hbE9wdGlvbnMgPVxuICAgIHtcbiAgICAgICAgY291bnRyaWVzOiBbXSxcbiAgICAgICAgY291bnRyeUlzb0NvZGU6ICdSVScsXG4gICAgICAgIG1ldGFkYXRhOiBvZih7Y291bnRyaWVzOiB7fSwgY291bnRyeV9jYWxsaW5nX2NvZGVzOiB7fX0pLFxuICAgICAgICBzZXBhcmF0b3I6ICctJyxcbiAgICB9O1xuXG4vKipcbiAqIERlZmF1bHQgcGFyYW1ldGVycyBmb3IgaW5wdXQgcGhvbmUgaW50ZXJuYXRpb25hbCBjb21wb25lbnRcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9JTlBVVF9QSE9ORV9JTlRFUk5BVElPTkFMX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICAgbmdEZXZNb2RlID8gJ1RVSV9JTlBVVF9QSE9ORV9JTlRFUk5BVElPTkFMX09QVElPTlMnIDogJycsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBUVUlfSU5QVVRfUEhPTkVfSU5URVJOQVRJT05BTF9ERUZBVUxUX09QVElPTlMsXG4gICAgfSxcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlJbnB1dFBob25lSW50ZXJuYXRpb25hbE9wdGlvbnNQcm92aWRlcihcbiAgICBvcHRpb25zOiBQYXJ0aWFsPFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsT3B0aW9ucz4sXG4pOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHR1aVByb3ZpZGVPcHRpb25zKFxuICAgICAgICBUVUlfSU5QVVRfUEhPTkVfSU5URVJOQVRJT05BTF9PUFRJT05TLFxuICAgICAgICBvcHRpb25zLFxuICAgICAgICBUVUlfSU5QVVRfUEhPTkVfSU5URVJOQVRJT05BTF9ERUZBVUxUX09QVElPTlMsXG4gICAgKTtcbn1cbiJdfQ==
@@ -62,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
62
62
  type: Input,
63
63
  args: ['mask']
64
64
  }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGluLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LXBpbi9pbnB1dC1waW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcGluL2lucHV0LXBpbi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLG1CQUFtQixHQUN0QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7OztBQUUvQyxNQWdCYSxXQUFXO0lBaEJ4QjtRQWlCdUIsT0FBRSxHQUFHLGdCQUFnQixFQUFvQixDQUFDO1FBQzFDLFNBQUksR0FBRyxNQUFNLENBQWMsT0FBTyxDQUFDLENBQUM7UUFDcEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUN0RCxZQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTVCLFlBQU8sR0FBRyxVQUFVLENBQ25DLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ1osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsYUFBYSxFQUFFLFNBQVM7U0FDM0IsQ0FBQyxDQUFDLENBQ04sQ0FBQztLQW1DTDtJQWpDRyxJQUNXLFVBQVUsQ0FBQyxJQUEwQjtRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFO1lBQzlDLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDdkU7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNWLElBQ0ksSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsQ0FBQztZQUNoRCxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFDNUM7WUFDRSxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMzRTtJQUNMLENBQUM7SUFFTSxTQUFTLENBQUMsS0FBYTtRQUMxQixPQUFPLENBQ0gsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxLQUFLLEtBQUs7Z0JBQzdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTO29CQUN6QyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FDNUMsQ0FBQztJQUNOLENBQUM7K0dBN0NRLFdBQVc7bUdBQVgsV0FBVyw2V0N0Q3hCLDhsQkFtQkEsbTlCRE1jLGFBQWEsd0pBQUUsY0FBYyw2R0FBRSxtQkFBbUI7O1NBYW5ELFdBQVc7NEZBQVgsV0FBVztrQkFoQnZCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLG9CQUFvQixXQUNyQixDQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLENBQUMsbUJBRzVDLHVCQUF1QixDQUFDLE1BQU0sa0JBQy9CLENBQUMsZ0JBQWdCLENBQUMsUUFDNUI7d0JBQ0YsZUFBZSxFQUFFLE1BQU07d0JBQ3ZCLFNBQVMsRUFBRSxTQUFTO3dCQUNwQixVQUFVLEVBQUUsT0FBTzt3QkFDbkIsbUJBQW1CLEVBQUUsZUFBZTt3QkFDcEMscUJBQXFCLEVBQUUsV0FBVztxQkFDckM7OEJBZ0JVLFVBQVU7c0JBRHBCLEtBQUs7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWFza2l0b0RpcmVjdGl2ZX0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQgdHlwZSB7TWFza2l0b01hc2t9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHtUdWlSZXBlYXRUaW1lc30gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL3JlcGVhdC10aW1lcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpSXNOYXRpdmVGb2N1c2VkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2ZvY3VzJztcbmltcG9ydCB7dHVpSXNTdHJpbmd9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1xuICAgIFRVSV9URVhURklFTERfT1BUSU9OUyxcbiAgICBUdWlUZXh0ZmllbGRDb250ZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1R1aUFwcGVhcmFuY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvYXBwZWFyYW5jZSc7XG5pbXBvcnQge3R1aU1hc2tpdG99IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpSW5wdXRQaW5dJyxcbiAgICBpbXBvcnRzOiBbVHVpQXBwZWFyYW5jZSwgVHVpUmVwZWF0VGltZXMsIFR1aVRleHRmaWVsZENvbnRlbnRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1waW4udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtcGluLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0RGlyZWN0aXZlczogW01hc2tpdG9EaXJlY3RpdmVdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgbmdTa2lwSHlkcmF0aW9uOiAndHJ1ZScsXG4gICAgICAgIGlucHV0bW9kZTogJ251bWVyaWMnLFxuICAgICAgICBzcGVsbGNoZWNrOiAnZmFsc2UnLFxuICAgICAgICAnKHNlbGVjdGlvbmNoYW5nZSknOiAnb25TZWxlY3Rpb24oKScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd0xlZnQpJzogJ29uQXJyb3coKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRQaW4ge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQ8SFRNTElucHV0RWxlbWVudD4oKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWFzayA9IHNpZ25hbDxNYXNraXRvTWFzaz4oL15cXGQrJC8pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBhcHBlYXJhbmNlID0gaW5qZWN0KFRVSV9URVhURklFTERfT1BUSU9OUykuYXBwZWFyYW5jZTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1hc2tpdG8gPSB0dWlNYXNraXRvKFxuICAgICAgICBjb21wdXRlZCgoKSA9PiAoe1xuICAgICAgICAgICAgbWFzazogdGhpcy5tYXNrKCksXG4gICAgICAgICAgICBvdmVyd3JpdGVNb2RlOiAncmVwbGFjZScsXG4gICAgICAgIH0pKSxcbiAgICApO1xuXG4gICAgQElucHV0KCdtYXNrJylcbiAgICBwdWJsaWMgc2V0IG1hc2tTZXR0ZXIobWFzazogTWFza2l0b01hc2sgfCBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5tYXNrLnNldCh0dWlJc1N0cmluZyhtYXNrKSA/IG5ldyBSZWdFeHAobWFzaykgOiBtYXNrKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbGljayhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWwuZm9jdXMoKTtcbiAgICAgICAgdGhpcy5lbC5zZXRTZWxlY3Rpb25SYW5nZShpbmRleCwgaW5kZXggKyAxKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID09PSB0aGlzLmVsLm1heExlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5lbC5zZXRTZWxlY3Rpb25SYW5nZSh0aGlzLmVsLm1heExlbmd0aCAtIDEsIHRoaXMuZWwubWF4TGVuZ3RoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvbkFycm93KCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID09PSB0aGlzLmVsLm1heExlbmd0aCAtIDEgJiZcbiAgICAgICAgICAgIHRoaXMuZWwuc2VsZWN0aW9uRW5kID09PSB0aGlzLmVsLm1heExlbmd0aFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuZWwuc2V0U2VsZWN0aW9uUmFuZ2UodGhpcy5lbC5tYXhMZW5ndGggLSAyLCB0aGlzLmVsLm1heExlbmd0aCAtIDIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzRm9jdXNlZChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0dWlJc05hdGl2ZUZvY3VzZWQodGhpcy5lbCkgJiZcbiAgICAgICAgICAgICh0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID09PSBpbmRleCB8fFxuICAgICAgICAgICAgICAgICh0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID09PSB0aGlzLmVsLm1heExlbmd0aCAmJlxuICAgICAgICAgICAgICAgICAgICBpbmRleCA9PT0gdGhpcy5lbC5tYXhMZW5ndGggLSAxKSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgKnR1aVRleHRmaWVsZENvbnRlbnRcbiAgICBjbGFzcz1cInQtd3JhcHBlclwiXG4+XG4gICAgPGxhYmVsXG4gICAgICAgICp0dWlSZXBlYXRUaW1lcz1cImxldCBpbmRleCBvZiBlbC5tYXhMZW5ndGhcIlxuICAgICAgICBjbGFzcz1cInQtaXRlbVwiXG4gICAgICAgIFt0dWlBcHBlYXJhbmNlXT1cImFwcGVhcmFuY2UoKVwiXG4gICAgICAgIFt0dWlBcHBlYXJhbmNlRm9jdXNdPVwiaXNGb2N1c2VkKGluZGV4KVwiXG4gICAgICAgIFt0dWlBcHBlYXJhbmNlTW9kZV09XCJjb250cm9sLmludmFsaWQgJiYgY29udHJvbC50b3VjaGVkID8gJ2ludmFsaWQnIDogbnVsbFwiXG4gICAgICAgIChwb2ludGVyZG93bi5wcmV2ZW50KT1cIm9uQ2xpY2soaW5kZXgpXCJcbiAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInQtdmFsdWVcIlxuICAgICAgICAgICAgW2NsYXNzLnQtdmFsdWVfZmlsbGVkXT1cImVsLnZhbHVlW2luZGV4XVwiXG4gICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwiZWwudmFsdWVbaW5kZXhdIHx8IGVsLnBsYWNlaG9sZGVyW2luZGV4XVwiXG4gICAgICAgID48L3NwYW4+XG4gICAgPC9sYWJlbD5cbjwvZGl2PlxuIl19
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGluLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LXBpbi9pbnB1dC1waW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcGluL2lucHV0LXBpbi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLG1CQUFtQixHQUN0QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7OztBQUUvQyxNQWdCYSxXQUFXO0lBaEJ4QjtRQWlCdUIsT0FBRSxHQUFHLGdCQUFnQixFQUFvQixDQUFDO1FBQzFDLFNBQUksR0FBRyxNQUFNLENBQWMsT0FBTyxDQUFDLENBQUM7UUFDcEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUN0RCxZQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTVCLFlBQU8sR0FBRyxVQUFVLENBQ25DLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ1osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsYUFBYSxFQUFFLFNBQVM7U0FDM0IsQ0FBQyxDQUFDLENBQ04sQ0FBQztLQW1DTDtJQWpDRyxJQUNXLFVBQVUsQ0FBQyxJQUEwQjtRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFO1lBQzlDLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDdkU7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNWLElBQ0ksSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsQ0FBQztZQUNoRCxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFDNUM7WUFDRSxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMzRTtJQUNMLENBQUM7SUFFTSxTQUFTLENBQUMsS0FBYTtRQUMxQixPQUFPLENBQ0gsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxLQUFLLEtBQUs7Z0JBQzdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTO29CQUN6QyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FDNUMsQ0FBQztJQUNOLENBQUM7K0dBN0NRLFdBQVc7bUdBQVgsV0FBVyw2V0N0Q3hCLDhsQkFtQkEsbTlCRE1jLGFBQWEsd0pBQUUsY0FBYyw2R0FBRSxtQkFBbUI7O1NBYW5ELFdBQVc7NEZBQVgsV0FBVztrQkFoQnZCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLG9CQUFvQixXQUNyQixDQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLENBQUMsbUJBRzVDLHVCQUF1QixDQUFDLE1BQU0sa0JBQy9CLENBQUMsZ0JBQWdCLENBQUMsUUFDNUI7d0JBQ0YsZUFBZSxFQUFFLE1BQU07d0JBQ3ZCLFNBQVMsRUFBRSxTQUFTO3dCQUNwQixVQUFVLEVBQUUsT0FBTzt3QkFDbkIsbUJBQW1CLEVBQUUsZUFBZTt3QkFDcEMscUJBQXFCLEVBQUUsV0FBVztxQkFDckM7OEJBZ0JVLFVBQVU7c0JBRHBCLEtBQUs7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWFza2l0b0RpcmVjdGl2ZX0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQge3R5cGUgTWFza2l0b01hc2t9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHtUdWlSZXBlYXRUaW1lc30gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL3JlcGVhdC10aW1lcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpSXNOYXRpdmVGb2N1c2VkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2ZvY3VzJztcbmltcG9ydCB7dHVpSXNTdHJpbmd9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1xuICAgIFRVSV9URVhURklFTERfT1BUSU9OUyxcbiAgICBUdWlUZXh0ZmllbGRDb250ZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1R1aUFwcGVhcmFuY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvYXBwZWFyYW5jZSc7XG5pbXBvcnQge3R1aU1hc2tpdG99IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpSW5wdXRQaW5dJyxcbiAgICBpbXBvcnRzOiBbVHVpQXBwZWFyYW5jZSwgVHVpUmVwZWF0VGltZXMsIFR1aVRleHRmaWVsZENvbnRlbnRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1waW4udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtcGluLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0RGlyZWN0aXZlczogW01hc2tpdG9EaXJlY3RpdmVdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgbmdTa2lwSHlkcmF0aW9uOiAndHJ1ZScsXG4gICAgICAgIGlucHV0bW9kZTogJ251bWVyaWMnLFxuICAgICAgICBzcGVsbGNoZWNrOiAnZmFsc2UnLFxuICAgICAgICAnKHNlbGVjdGlvbmNoYW5nZSknOiAnb25TZWxlY3Rpb24oKScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd0xlZnQpJzogJ29uQXJyb3coKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRQaW4ge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQ8SFRNTElucHV0RWxlbWVudD4oKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWFzayA9IHNpZ25hbDxNYXNraXRvTWFzaz4oL15cXGQrJC8pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBhcHBlYXJhbmNlID0gaW5qZWN0KFRVSV9URVhURklFTERfT1BUSU9OUykuYXBwZWFyYW5jZTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1hc2tpdG8gPSB0dWlNYXNraXRvKFxuICAgICAgICBjb21wdXRlZCgoKSA9PiAoe1xuICAgICAgICAgICAgbWFzazogdGhpcy5tYXNrKCksXG4gICAgICAgICAgICBvdmVyd3JpdGVNb2RlOiAncmVwbGFjZScsXG4gICAgICAgIH0pKSxcbiAgICApO1xuXG4gICAgQElucHV0KCdtYXNrJylcbiAgICBwdWJsaWMgc2V0IG1hc2tTZXR0ZXIobWFzazogTWFza2l0b01hc2sgfCBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5tYXNrLnNldCh0dWlJc1N0cmluZyhtYXNrKSA/IG5ldyBSZWdFeHAobWFzaykgOiBtYXNrKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbGljayhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWwuZm9jdXMoKTtcbiAgICAgICAgdGhpcy5lbC5zZXRTZWxlY3Rpb25SYW5nZShpbmRleCwgaW5kZXggKyAxKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID09PSB0aGlzLmVsLm1heExlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5lbC5zZXRTZWxlY3Rpb25SYW5nZSh0aGlzLmVsLm1heExlbmd0aCAtIDEsIHRoaXMuZWwubWF4TGVuZ3RoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvbkFycm93KCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID09PSB0aGlzLmVsLm1heExlbmd0aCAtIDEgJiZcbiAgICAgICAgICAgIHRoaXMuZWwuc2VsZWN0aW9uRW5kID09PSB0aGlzLmVsLm1heExlbmd0aFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuZWwuc2V0U2VsZWN0aW9uUmFuZ2UodGhpcy5lbC5tYXhMZW5ndGggLSAyLCB0aGlzLmVsLm1heExlbmd0aCAtIDIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzRm9jdXNlZChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0dWlJc05hdGl2ZUZvY3VzZWQodGhpcy5lbCkgJiZcbiAgICAgICAgICAgICh0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID09PSBpbmRleCB8fFxuICAgICAgICAgICAgICAgICh0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID09PSB0aGlzLmVsLm1heExlbmd0aCAmJlxuICAgICAgICAgICAgICAgICAgICBpbmRleCA9PT0gdGhpcy5lbC5tYXhMZW5ndGggLSAxKSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgKnR1aVRleHRmaWVsZENvbnRlbnRcbiAgICBjbGFzcz1cInQtd3JhcHBlclwiXG4+XG4gICAgPGxhYmVsXG4gICAgICAgICp0dWlSZXBlYXRUaW1lcz1cImxldCBpbmRleCBvZiBlbC5tYXhMZW5ndGhcIlxuICAgICAgICBjbGFzcz1cInQtaXRlbVwiXG4gICAgICAgIFt0dWlBcHBlYXJhbmNlXT1cImFwcGVhcmFuY2UoKVwiXG4gICAgICAgIFt0dWlBcHBlYXJhbmNlRm9jdXNdPVwiaXNGb2N1c2VkKGluZGV4KVwiXG4gICAgICAgIFt0dWlBcHBlYXJhbmNlTW9kZV09XCJjb250cm9sLmludmFsaWQgJiYgY29udHJvbC50b3VjaGVkID8gJ2ludmFsaWQnIDogbnVsbFwiXG4gICAgICAgIChwb2ludGVyZG93bi5wcmV2ZW50KT1cIm9uQ2xpY2soaW5kZXgpXCJcbiAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInQtdmFsdWVcIlxuICAgICAgICAgICAgW2NsYXNzLnQtdmFsdWVfZmlsbGVkXT1cImVsLnZhbHVlW2luZGV4XVwiXG4gICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwiZWwudmFsdWVbaW5kZXhdIHx8IGVsLnBsYWNlaG9sZGVyW2luZGV4XVwiXG4gICAgICAgID48L3NwYW4+XG4gICAgPC9sYWJlbD5cbjwvZGl2PlxuIl19