@salutejs/plasma-new-hope 0.327.0-canary.1741.15743877104.0 → 0.327.0-canary.1741.15776056320.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.js +3 -3
  2. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/cjs/components/Autocomplete/FloatingPopover.js +2 -2
  4. package/cjs/components/Autocomplete/FloatingPopover.js.map +1 -1
  5. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +12 -0
  6. package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  7. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +12 -0
  8. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  9. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
  10. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  11. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
  12. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  13. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
  14. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
  15. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
  16. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
  17. package/cjs/components/Checkbox/Checkbox.js +2 -1
  18. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  19. package/cjs/components/Combobox/ComboboxNew/Combobox.js +2 -1
  20. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  21. package/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +2 -2
  22. package/cjs/components/Combobox/ComboboxNew/FloatingPopover.js.map +1 -1
  23. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +2 -2
  24. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  25. package/cjs/components/Combobox/ComboboxOld/Combobox.js +2 -1
  26. package/cjs/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  27. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +3 -3
  28. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js.map +1 -1
  29. package/cjs/components/Drawer/Drawer.js +4 -3
  30. package/cjs/components/Drawer/Drawer.js.map +1 -1
  31. package/cjs/components/Drawer/hooks/useDrawer.js +2 -2
  32. package/cjs/components/Drawer/hooks/useDrawer.js.map +1 -1
  33. package/cjs/components/Dropdown/Dropdown.js +2 -2
  34. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  35. package/cjs/components/Dropdown/FloatingPopover.js +2 -2
  36. package/cjs/components/Dropdown/FloatingPopover.js.map +1 -1
  37. package/cjs/components/Dropdown/ui/DropdownDivider/DropdownDivider.js.map +1 -1
  38. package/cjs/components/Dropdown/ui/DropdownFooter/DropdownFooter.js.map +1 -1
  39. package/cjs/components/Dropdown/ui/DropdownGroup/DropdownGroup.js.map +1 -1
  40. package/cjs/components/Dropdown/ui/DropdownHeader/DropdownHeader.js.map +1 -1
  41. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +2 -2
  42. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  43. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +3 -3
  44. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js.map +1 -1
  45. package/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js.map +1 -1
  46. package/cjs/components/Mask/Mask.js +3 -3
  47. package/cjs/components/Mask/Mask.js.map +1 -1
  48. package/cjs/components/Modal/Modal.js +3 -2
  49. package/cjs/components/Modal/Modal.js.map +1 -1
  50. package/cjs/components/Modal/hooks/useModal.js +1 -1
  51. package/cjs/components/Modal/hooks/useModal.js.map +1 -1
  52. package/cjs/components/Popup/Popup.js +2 -1
  53. package/cjs/components/Popup/Popup.js.map +1 -1
  54. package/cjs/components/Popup/PopupContext.js +13 -13
  55. package/cjs/components/Popup/PopupContext.js.map +1 -1
  56. package/cjs/components/Radiobox/Radiobox.js +3 -2
  57. package/cjs/components/Radiobox/Radiobox.js.map +1 -1
  58. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +3 -3
  59. package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  60. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +2 -2
  61. package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  62. package/cjs/components/Select/FloatingPopover.js +2 -2
  63. package/cjs/components/Select/FloatingPopover.js.map +1 -1
  64. package/cjs/components/Select/Select.js +2 -2
  65. package/cjs/components/Select/Select.js.map +1 -1
  66. package/cjs/components/Select/ui/Inner/Inner.js +2 -2
  67. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  68. package/cjs/components/Spinner/Spinner.js +2 -2
  69. package/cjs/components/Spinner/Spinner.js.map +1 -1
  70. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -3
  71. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  72. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +3 -3
  73. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
  74. package/cjs/components/TextArea/ui/Hint/Hint.js.map +1 -1
  75. package/cjs/components/TextField/TextField.js +4 -3
  76. package/cjs/components/TextField/TextField.js.map +1 -1
  77. package/cjs/components/TextField/ui/Hint/Hint.js.map +1 -1
  78. package/emotion/cjs/components/Autocomplete/Autocomplete.js +3 -3
  79. package/emotion/cjs/components/Autocomplete/FloatingPopover.js +2 -2
  80. package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +14 -0
  81. package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +14 -0
  82. package/emotion/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
  83. package/emotion/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
  84. package/emotion/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
  85. package/emotion/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
  86. package/emotion/cjs/components/Checkbox/Checkbox.js +3 -2
  87. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +21 -20
  88. package/emotion/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +2 -2
  89. package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +4 -4
  90. package/emotion/cjs/components/Combobox/ComboboxOld/Combobox.js +9 -8
  91. package/emotion/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +7 -7
  92. package/emotion/cjs/components/Drawer/Drawer.js +8 -8
  93. package/emotion/cjs/components/Drawer/hooks/useDrawer.js +2 -2
  94. package/emotion/cjs/components/Dropdown/Dropdown.js +8 -8
  95. package/emotion/cjs/components/Dropdown/FloatingPopover.js +2 -2
  96. package/emotion/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +4 -4
  97. package/emotion/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +2 -3
  98. package/emotion/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
  99. package/emotion/cjs/components/Mask/Mask.js +4 -4
  100. package/emotion/cjs/components/Modal/Modal.js +6 -5
  101. package/emotion/cjs/components/Modal/hooks/useModal.js +1 -1
  102. package/emotion/cjs/components/Popup/Popup.js +1 -1
  103. package/emotion/cjs/components/Popup/PopupContext.js +14 -29
  104. package/emotion/cjs/components/Radiobox/Radiobox.js +2 -2
  105. package/emotion/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +2 -3
  106. package/emotion/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +1 -2
  107. package/emotion/cjs/components/Select/FloatingPopover.js +5 -5
  108. package/emotion/cjs/components/Select/Select.js +1 -2
  109. package/emotion/cjs/components/Select/ui/Inner/Inner.js +1 -2
  110. package/emotion/cjs/components/Spinner/Spinner.js +2 -2
  111. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -3
  112. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -3
  113. package/emotion/cjs/components/TextArea/ui/Hint/Hint.js +1 -1
  114. package/emotion/cjs/components/TextField/TextField.js +4 -4
  115. package/emotion/cjs/components/TextField/ui/Hint/Hint.js +1 -1
  116. package/emotion/es/components/Autocomplete/Autocomplete.js +1 -1
  117. package/emotion/es/components/Autocomplete/FloatingPopover.js +1 -1
  118. package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +14 -0
  119. package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +14 -0
  120. package/emotion/es/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
  121. package/emotion/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
  122. package/emotion/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
  123. package/emotion/es/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
  124. package/emotion/es/components/Checkbox/Checkbox.js +2 -1
  125. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +2 -1
  126. package/emotion/es/components/Combobox/ComboboxNew/FloatingPopover.js +1 -1
  127. package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +1 -1
  128. package/emotion/es/components/Combobox/ComboboxOld/Combobox.js +2 -1
  129. package/emotion/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +1 -1
  130. package/emotion/es/components/Drawer/Drawer.js +3 -3
  131. package/emotion/es/components/Drawer/hooks/useDrawer.js +2 -2
  132. package/emotion/es/components/Dropdown/Dropdown.js +1 -1
  133. package/emotion/es/components/Dropdown/FloatingPopover.js +1 -1
  134. package/emotion/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  135. package/emotion/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +1 -2
  136. package/emotion/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
  137. package/emotion/es/components/Mask/Mask.js +4 -4
  138. package/emotion/es/components/Modal/Modal.js +4 -3
  139. package/emotion/es/components/Modal/hooks/useModal.js +1 -1
  140. package/emotion/es/components/Popup/Popup.js +2 -2
  141. package/emotion/es/components/Popup/PopupContext.js +14 -29
  142. package/emotion/es/components/Radiobox/Radiobox.js +2 -2
  143. package/emotion/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +1 -2
  144. package/emotion/es/components/Segment/ui/SegmentItem/SegmentItem.js +1 -2
  145. package/emotion/es/components/Select/FloatingPopover.js +1 -1
  146. package/emotion/es/components/Select/Select.js +1 -2
  147. package/emotion/es/components/Select/ui/Inner/Inner.js +1 -2
  148. package/emotion/es/components/Spinner/Spinner.js +1 -1
  149. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +1 -2
  150. package/emotion/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +1 -2
  151. package/emotion/es/components/TextArea/ui/Hint/Hint.js +1 -1
  152. package/emotion/es/components/TextField/TextField.js +3 -3
  153. package/emotion/es/components/TextField/ui/Hint/Hint.js +1 -1
  154. package/es/components/Autocomplete/Autocomplete.js +1 -1
  155. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  156. package/es/components/Autocomplete/FloatingPopover.js +1 -1
  157. package/es/components/Autocomplete/FloatingPopover.js.map +1 -1
  158. package/es/components/Calendar/CalendarBase/CalendarBase.js +12 -0
  159. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  160. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +12 -0
  161. package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  162. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
  163. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  164. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
  165. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  166. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
  167. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
  168. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
  169. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
  170. package/es/components/Checkbox/Checkbox.js +2 -1
  171. package/es/components/Checkbox/Checkbox.js.map +1 -1
  172. package/es/components/Combobox/ComboboxNew/Combobox.js +2 -1
  173. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  174. package/es/components/Combobox/ComboboxNew/FloatingPopover.js +1 -1
  175. package/es/components/Combobox/ComboboxNew/FloatingPopover.js.map +1 -1
  176. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +1 -1
  177. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
  178. package/es/components/Combobox/ComboboxOld/Combobox.js +2 -1
  179. package/es/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  180. package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +2 -2
  181. package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js.map +1 -1
  182. package/es/components/Drawer/Drawer.js +4 -3
  183. package/es/components/Drawer/Drawer.js.map +1 -1
  184. package/es/components/Drawer/hooks/useDrawer.js +2 -2
  185. package/es/components/Drawer/hooks/useDrawer.js.map +1 -1
  186. package/es/components/Dropdown/Dropdown.js +1 -1
  187. package/es/components/Dropdown/Dropdown.js.map +1 -1
  188. package/es/components/Dropdown/FloatingPopover.js +1 -1
  189. package/es/components/Dropdown/FloatingPopover.js.map +1 -1
  190. package/es/components/Dropdown/ui/DropdownDivider/DropdownDivider.js.map +1 -1
  191. package/es/components/Dropdown/ui/DropdownFooter/DropdownFooter.js.map +1 -1
  192. package/es/components/Dropdown/ui/DropdownGroup/DropdownGroup.js.map +1 -1
  193. package/es/components/Dropdown/ui/DropdownHeader/DropdownHeader.js.map +1 -1
  194. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  195. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  196. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +2 -2
  197. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js.map +1 -1
  198. package/es/components/Dropdown/ui/DropdownOld/DropdownOld.js.map +1 -1
  199. package/es/components/Mask/Mask.js +3 -3
  200. package/es/components/Mask/Mask.js.map +1 -1
  201. package/es/components/Modal/Modal.js +3 -2
  202. package/es/components/Modal/Modal.js.map +1 -1
  203. package/es/components/Modal/hooks/useModal.js +1 -1
  204. package/es/components/Modal/hooks/useModal.js.map +1 -1
  205. package/es/components/Popup/Popup.js +2 -1
  206. package/es/components/Popup/Popup.js.map +1 -1
  207. package/es/components/Popup/PopupContext.js +13 -13
  208. package/es/components/Popup/PopupContext.js.map +1 -1
  209. package/es/components/Radiobox/Radiobox.js +3 -2
  210. package/es/components/Radiobox/Radiobox.js.map +1 -1
  211. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +2 -2
  212. package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
  213. package/es/components/Segment/ui/SegmentItem/SegmentItem.js +1 -1
  214. package/es/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
  215. package/es/components/Select/FloatingPopover.js +1 -1
  216. package/es/components/Select/FloatingPopover.js.map +1 -1
  217. package/es/components/Select/Select.js +1 -1
  218. package/es/components/Select/Select.js.map +1 -1
  219. package/es/components/Select/ui/Inner/Inner.js +1 -1
  220. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  221. package/es/components/Spinner/Spinner.js +1 -1
  222. package/es/components/Spinner/Spinner.js.map +1 -1
  223. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -2
  224. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  225. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -2
  226. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
  227. package/es/components/TextArea/ui/Hint/Hint.js.map +1 -1
  228. package/es/components/TextField/TextField.js +2 -1
  229. package/es/components/TextField/TextField.js.map +1 -1
  230. package/es/components/TextField/ui/Hint/Hint.js.map +1 -1
  231. package/package.json +4 -4
  232. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +3 -3
  233. package/styled-components/cjs/components/Autocomplete/FloatingPopover.js +2 -2
  234. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +14 -0
  235. package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +14 -0
  236. package/styled-components/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
  237. package/styled-components/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
  238. package/styled-components/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
  239. package/styled-components/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
  240. package/styled-components/cjs/components/Checkbox/Checkbox.js +3 -2
  241. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +21 -20
  242. package/styled-components/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +2 -2
  243. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +4 -4
  244. package/styled-components/cjs/components/Combobox/ComboboxOld/Combobox.js +9 -8
  245. package/styled-components/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +7 -7
  246. package/styled-components/cjs/components/Drawer/Drawer.js +8 -8
  247. package/styled-components/cjs/components/Drawer/hooks/useDrawer.js +2 -2
  248. package/styled-components/cjs/components/Dropdown/Dropdown.js +8 -8
  249. package/styled-components/cjs/components/Dropdown/FloatingPopover.js +2 -2
  250. package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +4 -4
  251. package/styled-components/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +2 -3
  252. package/styled-components/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
  253. package/styled-components/cjs/components/Mask/Mask.js +4 -4
  254. package/styled-components/cjs/components/Modal/Modal.js +6 -5
  255. package/styled-components/cjs/components/Modal/hooks/useModal.js +1 -1
  256. package/styled-components/cjs/components/Popup/Popup.js +1 -1
  257. package/styled-components/cjs/components/Popup/PopupContext.js +14 -29
  258. package/styled-components/cjs/components/Radiobox/Radiobox.js +2 -2
  259. package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +2 -3
  260. package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +1 -2
  261. package/styled-components/cjs/components/Select/FloatingPopover.js +5 -5
  262. package/styled-components/cjs/components/Select/Select.js +1 -2
  263. package/styled-components/cjs/components/Select/ui/Inner/Inner.js +1 -2
  264. package/styled-components/cjs/components/Spinner/Spinner.js +2 -2
  265. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -3
  266. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -3
  267. package/styled-components/cjs/components/TextArea/ui/Hint/Hint.js +1 -1
  268. package/styled-components/cjs/components/TextField/TextField.js +3 -3
  269. package/styled-components/cjs/components/TextField/ui/Hint/Hint.js +1 -1
  270. package/styled-components/es/components/Autocomplete/Autocomplete.js +1 -1
  271. package/styled-components/es/components/Autocomplete/FloatingPopover.js +1 -1
  272. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +14 -0
  273. package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +14 -0
  274. package/styled-components/es/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
  275. package/styled-components/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
  276. package/styled-components/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
  277. package/styled-components/es/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
  278. package/styled-components/es/components/Checkbox/Checkbox.js +2 -1
  279. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +2 -1
  280. package/styled-components/es/components/Combobox/ComboboxNew/FloatingPopover.js +1 -1
  281. package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +1 -1
  282. package/styled-components/es/components/Combobox/ComboboxOld/Combobox.js +2 -1
  283. package/styled-components/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +1 -1
  284. package/styled-components/es/components/Drawer/Drawer.js +3 -3
  285. package/styled-components/es/components/Drawer/hooks/useDrawer.js +2 -2
  286. package/styled-components/es/components/Dropdown/Dropdown.js +1 -1
  287. package/styled-components/es/components/Dropdown/FloatingPopover.js +1 -1
  288. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  289. package/styled-components/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +1 -2
  290. package/styled-components/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
  291. package/styled-components/es/components/Mask/Mask.js +4 -4
  292. package/styled-components/es/components/Modal/Modal.js +4 -3
  293. package/styled-components/es/components/Modal/hooks/useModal.js +1 -1
  294. package/styled-components/es/components/Popup/Popup.js +2 -2
  295. package/styled-components/es/components/Popup/PopupContext.js +14 -29
  296. package/styled-components/es/components/Radiobox/Radiobox.js +2 -2
  297. package/styled-components/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +1 -2
  298. package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.js +1 -2
  299. package/styled-components/es/components/Select/FloatingPopover.js +1 -1
  300. package/styled-components/es/components/Select/Select.js +1 -2
  301. package/styled-components/es/components/Select/ui/Inner/Inner.js +1 -2
  302. package/styled-components/es/components/Spinner/Spinner.js +1 -1
  303. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +1 -2
  304. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +1 -2
  305. package/styled-components/es/components/TextArea/ui/Hint/Hint.js +1 -1
  306. package/styled-components/es/components/TextField/TextField.js +2 -2
  307. package/styled-components/es/components/TextField/ui/Hint/Hint.js +1 -1
  308. package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
  309. package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
  310. package/types/components/Calendar/ui/CalendarDays/CalendarDays.d.ts.map +1 -1
  311. package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.d.ts.map +1 -1
  312. package/types/components/Calendar/ui/CalendarQuarters/CalendarQuarters.d.ts.map +1 -1
  313. package/types/components/Calendar/ui/CalendarYears/CalendarYears.d.ts.map +1 -1
  314. package/types/components/Checkbox/Checkbox.d.ts.map +1 -1
  315. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  316. package/types/components/Combobox/ComboboxOld/Combobox.d.ts.map +1 -1
  317. package/types/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.d.ts.map +1 -1
  318. package/types/components/Drawer/Drawer.d.ts +1 -1
  319. package/types/components/Drawer/Drawer.d.ts.map +1 -1
  320. package/types/components/Drawer/hooks/useDrawer.d.ts.map +1 -1
  321. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  322. package/types/components/Dropdown/ui/DropdownDivider/DropdownDivider.d.ts +1 -1
  323. package/types/components/Dropdown/ui/DropdownDivider/DropdownDivider.d.ts.map +1 -1
  324. package/types/components/Dropdown/ui/DropdownFooter/DropdownFooter.d.ts +1 -1
  325. package/types/components/Dropdown/ui/DropdownFooter/DropdownFooter.d.ts.map +1 -1
  326. package/types/components/Dropdown/ui/DropdownGroup/DropdownGroup.d.ts +1 -1
  327. package/types/components/Dropdown/ui/DropdownGroup/DropdownGroup.d.ts.map +1 -1
  328. package/types/components/Dropdown/ui/DropdownHeader/DropdownHeader.d.ts +1 -1
  329. package/types/components/Dropdown/ui/DropdownHeader/DropdownHeader.d.ts.map +1 -1
  330. package/types/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.d.ts +1 -1
  331. package/types/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.d.ts.map +1 -1
  332. package/types/components/Dropdown/ui/DropdownOld/DropdownOld.d.ts +1 -1
  333. package/types/components/Dropdown/ui/DropdownOld/DropdownOld.d.ts.map +1 -1
  334. package/types/components/Modal/Modal.d.ts +1 -1
  335. package/types/components/Modal/Modal.d.ts.map +1 -1
  336. package/types/components/Popup/Popup.d.ts +1 -1
  337. package/types/components/Popup/Popup.d.ts.map +1 -1
  338. package/types/components/Popup/Popup.types.d.ts +1 -1
  339. package/types/components/Popup/Popup.types.d.ts.map +1 -1
  340. package/types/components/Popup/PopupContext.d.ts.map +1 -1
  341. package/types/components/Radiobox/Radiobox.d.ts +2 -2
  342. package/types/components/Radiobox/Radiobox.d.ts.map +1 -1
  343. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts +1 -1
  344. package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts.map +1 -1
  345. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts +1 -1
  346. package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts.map +1 -1
  347. package/types/components/Select/Select.d.ts.map +1 -1
  348. package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
  349. package/types/components/Spinner/Spinner.d.ts +1 -1
  350. package/types/components/Spinner/Spinner.d.ts.map +1 -1
  351. package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts +1 -1
  352. package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts.map +1 -1
  353. package/types/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.d.ts +1 -1
  354. package/types/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.d.ts.map +1 -1
  355. package/types/components/TextField/TextField.d.ts +1 -1
  356. package/types/components/TextField/TextField.d.ts.map +1 -1
@@ -17,7 +17,6 @@ _export(exports, {
17
17
  }
18
18
  });
19
19
  var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
20
- var _plasmacore = require("@salutejs/plasma-core");
21
20
  var _utils = require("../../utils");
22
21
  var _hooks = require("../../hooks");
23
22
  var _useKeyboardNavigation = require("./hooks/useKeyboardNavigation");
@@ -265,7 +264,7 @@ var selectRoot = function(Root) {
265
264
  var isCurrentListOpen = Boolean(path[0]);
266
265
  var activeDescendantItemValue = ((_getItemByFocused = (0, _useKeyboardNavigation.getItemByFocused)(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value.toString()) || '';
267
266
  var closeAfterSelect = outerCloseAfterSelect !== null && outerCloseAfterSelect !== void 0 ? outerCloseAfterSelect : !props.multiselect;
268
- var treeId = (0, _plasmacore.safeUseId)();
267
+ var treeId = (0, _utils.safeUseId)();
269
268
  var view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : (0, _utils1.getView)(status, outerView);
270
269
  // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.
271
270
  var requiredProps = props.target === 'button-like' ? undefined : {
@@ -9,7 +9,6 @@ Object.defineProperty(exports, "Inner", {
9
9
  }
10
10
  });
11
11
  var _react = /*#__PURE__*/ _interop_require_default(require("react"));
12
- var _plasmacore = require("@salutejs/plasma-core");
13
12
  var _utils = require("../../../../utils");
14
13
  var _Selectstyles = require("../../Select.styles");
15
14
  var _FloatingPopover = require("../../FloatingPopover");
@@ -36,7 +35,7 @@ var Inner = function(param) {
36
35
  }
37
36
  };
38
37
  var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
39
- var treeId = (0, _plasmacore.safeUseId)();
38
+ var treeId = (0, _utils.safeUseId)();
40
39
  var listId = "".concat(treeId, "_tree_level_").concat(currentLevel + 2);
41
40
  var nextLevel = currentLevel + 1;
42
41
  if (!(0, _utils.isEmpty)(item === null || item === void 0 ? void 0 : item.items)) {
@@ -17,7 +17,7 @@ _export(exports, {
17
17
  }
18
18
  });
19
19
  var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
20
- var _plasmacore = require("@salutejs/plasma-core");
20
+ var _utils = require("../../utils");
21
21
  var _base = require("./variations/_view/base");
22
22
  var _base1 = require("./variations/_size/base");
23
23
  var _SpinnerSvg = require("./SpinnerSvg");
@@ -131,7 +131,7 @@ var spinnerRoot = function(Root) {
131
131
  svgHeight: 'var(--plasma-spinner-size)',
132
132
  color: 'currentColor'
133
133
  });
134
- var uniqId = _plasmacore.safeUseId;
134
+ var uniqId = _utils.safeUseId;
135
135
  var innerId = id || uniqId();
136
136
  return /*#__PURE__*/ _react.default.createElement(Root, _object_spread({
137
137
  ref: ref,
@@ -17,10 +17,9 @@ _export(exports, {
17
17
  }
18
18
  });
19
19
  var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
20
- var _plasmacore = require("@salutejs/plasma-core");
20
+ var _utils = require("../../../../../utils");
21
21
  var _Icon = require("../../../../_Icon");
22
22
  var _tokens = require("../../../tokens");
23
- var _utils = require("../../../../../utils");
24
23
  var _TabsContext = require("../../../TabsContext");
25
24
  var _utils1 = require("../../../utils");
26
25
  var _base = require("./variations/_size/base");
@@ -203,7 +202,7 @@ var horizontalTabsRoot = function(Root) {
203
202
  var refs = (0, _react.useMemo)(function() {
204
203
  return new _TabsContext.TabItemRefs(index);
205
204
  }, []);
206
- var uniqId = (0, _plasmacore.safeUseId)();
205
+ var uniqId = (0, _utils.safeUseId)();
207
206
  var tabsId = id || uniqId;
208
207
  var isFilled = view === 'filled'; // outer padding is only for filled view
209
208
  var pilledAttr = view !== 'clear' && pilled;
@@ -17,9 +17,8 @@ _export(exports, {
17
17
  }
18
18
  });
19
19
  var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
20
- var _plasmacore = require("@salutejs/plasma-core");
21
- var _tokens = require("../../../tokens");
22
20
  var _utils = require("../../../../../utils");
21
+ var _tokens = require("../../../tokens");
23
22
  var _TabsContext = require("../../../TabsContext");
24
23
  var _Icon = require("../../../../_Icon");
25
24
  var _utils1 = require("../../../utils");
@@ -197,7 +196,7 @@ var verticalTabsRoot = function(Root) {
197
196
  var refs = (0, _react.useMemo)(function() {
198
197
  return new _TabsContext.TabItemRefs(index);
199
198
  }, []);
200
- var uniqId = (0, _plasmacore.safeUseId)();
199
+ var uniqId = (0, _utils.safeUseId)();
201
200
  var tabsId = id || uniqId;
202
201
  var noDividerClass = !hasDivider ? _tokens.classes.tabsNoDivider : undefined;
203
202
  var hasTopArrowClass = !firstItemVisible ? _tokens.classes.tabsHasTopArrow : undefined;
@@ -9,9 +9,9 @@ Object.defineProperty(exports, "HintComponent", {
9
9
  }
10
10
  });
11
11
  var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
12
+ var _utils = require("../../../../utils");
12
13
  var _TextAreastyles = require("../../TextArea.styles");
13
14
  var _Icon = require("../../../_Icon");
14
- var _utils = require("../../../../utils");
15
15
  var _TextAreatokens = require("../../TextArea.tokens");
16
16
  function _define_property(obj, key, value) {
17
17
  if (key in obj) {
@@ -182,7 +182,7 @@ function _unsupported_iterable_to_array(o, minLen) {
182
182
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
183
183
  }
184
184
  var optionalText = 'optional';
185
- var base = (0, /*#__PURE__*/ _react1.css)("display:block;", "base", "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0RmllbGQvVGV4dEZpZWxkLnRzeCIsInNvdXJjZXMiOlsic3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0RmllbGQvVGV4dEZpZWxkLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBGb3JtRXZlbnRIYW5kbGVyLCBDaGFuZ2VFdmVudEhhbmRsZXIsIEtleWJvYXJkRXZlbnQsIENoYW5nZUV2ZW50LCBNb3VzZUV2ZW50SGFuZGxlciB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHNhZmVVc2VJZCwgdXNlRm9ya1JlZiB9IGZyb20gJ0BzYWx1dGVqcy9wbGFzbWEtY29yZSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgUm9vdFByb3BzIH0gZnJvbSAnLi4vLi4vZW5naW5lcyc7XG5pbXBvcnQgeyBjeCB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IHVzZU91dHNpZGVDbGljayB9IGZyb20gJy4uLy4uL2hvb2tzJztcblxuaW1wb3J0IHR5cGUgeyBDaGlwVmFsdWVzLCBUZXh0RmllbGRQcmltaXRpdmVWYWx1ZSwgVGV4dEZpZWxkUHJvcHMsIFRleHRGaWVsZFJvb3RQcm9wcyB9IGZyb20gJy4vVGV4dEZpZWxkLnR5cGVzJztcbmltcG9ydCB7IGJhc2UgYXMgc2l6ZUNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fc2l6ZS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgdmlld0NTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fdmlldy9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgY2xlYXJDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2NsZWFyL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBkaXNhYmxlZENTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fZGlzYWJsZWQvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIHJlYWRPbmx5Q1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19yZWFkLW9ubHkvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGxhYmVsUGxhY2VtZW50Q1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19sYWJlbC1wbGFjZW1lbnQvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGhpbnRWaWV3Q1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19oaW50LXZpZXcvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGhpbnRTaXplQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19oaW50LXNpemUvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGNoaXBWaWV3Q1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19jaGlwLXZpZXcvYmFzZSc7XG5pbXBvcnQge1xuICAgIElucHV0LFxuICAgIElucHV0Q29udGFpbmVyLFxuICAgIExlZnRIZWxwZXIsXG4gICAgTGFiZWwsXG4gICAgSW5wdXRXcmFwcGVyLFxuICAgIElucHV0TGFiZWxXcmFwcGVyLFxuICAgIFN0eWxlZENvbnRlbnRMZWZ0LFxuICAgIFN0eWxlZENvbnRlbnRSaWdodCxcbiAgICBTdHlsZWRDaGlwcyxcbiAgICBTdHlsZWRUZXh0QmVmb3JlLFxuICAgIFN0eWxlZFRleHRBZnRlcixcbiAgICBTdHlsZWRJbmRpY2F0b3IsXG4gICAgU3R5bGVkT3B0aW9uYWxUZXh0LFxuICAgIElucHV0UGxhY2Vob2xkZXIsXG4gICAgT3V0ZXJMYWJlbFdyYXBwZXIsXG4gICAgVGl0bGVDYXB0aW9uLFxuICAgIFN0eWxlZEhpbnRXcmFwcGVyLFxuICAgIFN0eWxlZEluZGljYXRvcldyYXBwZXIsXG4gICAgU3R5bGVkQ29udGVudFJpZ2h0V3JhcHBlcixcbn0gZnJvbSAnLi9UZXh0RmllbGQuc3R5bGVzJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICcuL1RleHRGaWVsZC50b2tlbnMnO1xuaW1wb3J0IHsgVGV4dEZpZWxkQ2hpcCB9IGZyb20gJy4vdWknO1xuaW1wb3J0IHsgdXNlS2V5TmF2aWdhdGlvbiB9IGZyb20gJy4vaG9va3MnO1xuaW1wb3J0IHsgSGludENvbXBvbmVudCB9IGZyb20gJy4vdWkvSGludC9IaW50JztcbmltcG9ydCB7IGdldElucHV0V2lkdGggfSBmcm9tICcuL2dldElucHV0V2lkdGgnO1xuXG5jb25zdCBvcHRpb25hbFRleHQgPSAnb3B0aW9uYWwnO1xuXG5leHBvcnQgY29uc3QgYmFzZSA9IGNzc2BcbiAgICAvKiBOT1RFOiBXZWJraXQg0L3QtSDQv9GA0LjQvNC10L3Rj9C10YIgb3BhY2l0eSDQuiBpbmxpbmUg0YLQtdCz0LDQvCAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuYDtcblxuY29uc3QgSElOVF9ERUZBVUxUX09GRlNFVDogW251bWJlciwgbnVtYmVyXSA9IFswLCAwXTtcblxuZXhwb3J0IGNvbnN0IHRleHRGaWVsZFJvb3QgPSAoUm9vdDogUm9vdFByb3BzPEhUTUxEaXZFbGVtZW50LCBUZXh0RmllbGRSb290UHJvcHM+KSA9PlxuICAgIGZvcndhcmRSZWY8SFRNTElucHV0RWxlbWVudCwgVGV4dEZpZWxkUHJvcHM+KFxuICAgICAgICAoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgICAgICAgIHN0eWxlLFxuXG4gICAgICAgICAgICAgICAgLy8gbGF5b3V0XG4gICAgICAgICAgICAgICAgY29udGVudExlZnQsXG4gICAgICAgICAgICAgICAgY29udGVudFJpZ2h0LFxuICAgICAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgICAgIGxhYmVsUGxhY2VtZW50LFxuICAgICAgICAgICAgICAgIGtlZXBQbGFjZWhvbGRlcixcbiAgICAgICAgICAgICAgICB0ZXh0QmVmb3JlLFxuICAgICAgICAgICAgICAgIHRleHRBZnRlcixcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcixcbiAgICAgICAgICAgICAgICBsZWZ0SGVscGVyLFxuICAgICAgICAgICAgICAgIGVudW1lcmF0aW9uVHlwZSA9ICdwbGFpbicsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRQbGFjZW1lbnQgPSAncmlnaHQnLFxuICAgICAgICAgICAgICAgIGhhc1JlcXVpcmVkSW5kaWNhdG9yID0gdHJ1ZSxcbiAgICAgICAgICAgICAgICB0aXRsZUNhcHRpb24sXG4gICAgICAgICAgICAgICAgY2hpcFZpZXcgPSAnZGVmYXVsdCcsXG4gICAgICAgICAgICAgICAgY2hpcFZhbGlkYXRvcixcblxuICAgICAgICAgICAgICAgIC8vIGhpbnRcbiAgICAgICAgICAgICAgICBoaW50VHJpZ2dlciA9ICdob3ZlcicsXG4gICAgICAgICAgICAgICAgaGludFRleHQsXG4gICAgICAgICAgICAgICAgaGludFZpZXcgPSAnZGVmYXVsdCcsXG4gICAgICAgICAgICAgICAgaGludFNpemUgPSAnbScsXG4gICAgICAgICAgICAgICAgaGludFRhcmdldEljb24sXG4gICAgICAgICAgICAgICAgaGludFRhcmdldFBsYWNlbWVudCA9ICdvdXRlcicsXG4gICAgICAgICAgICAgICAgaGludFBsYWNlbWVudCA9ICdhdXRvJyxcbiAgICAgICAgICAgICAgICBoaW50SGFzQXJyb3csXG4gICAgICAgICAgICAgICAgaGludE9mZnNldCA9IEhJTlRfREVGQVVMVF9PRkZTRVQsXG4gICAgICAgICAgICAgICAgaGludFdpZHRoLFxuICAgICAgICAgICAgICAgIGhpbnRDb250ZW50TGVmdCxcblxuICAgICAgICAgICAgICAgIC8vIHZhcmlhdGlvbnNcbiAgICAgICAgICAgICAgICB2aWV3LFxuICAgICAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICAgICAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkID0gZmFsc2UsXG4gICAgICAgICAgICAgICAgY2xlYXIgPSBmYWxzZSxcbiAgICAgICAgICAgICAgICBvcHRpb25hbCxcbiAgICAgICAgICAgICAgICBoYXNEaXZpZGVyLFxuXG4gICAgICAgICAgICAgICAgLy8gY29udHJvbGxlZFxuICAgICAgICAgICAgICAgIHZhbHVlOiBvdXRlclZhbHVlLFxuICAgICAgICAgICAgICAgIGNoaXBzOiB2YWx1ZXMsXG4gICAgICAgICAgICAgICAgY2hpcFR5cGUgPSAnZGVmYXVsdCcsXG5cbiAgICAgICAgICAgICAgICAvLyBldmVudHNcbiAgICAgICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZUNoaXBzLFxuICAgICAgICAgICAgICAgIG9uU2VhcmNoLFxuICAgICAgICAgICAgICAgIG9uS2V5RG93bixcbiAgICAgICAgICAgICAgICBvbkZvY3VzLFxuICAgICAgICAgICAgICAgIG9uQmx1cixcblxuICAgICAgICAgICAgICAgIC8vINCf0YDQvtC/0YHRiyDQtNC70Y8g0LLQvdGD0YLRgNC10L3QvdC10LPQviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjywg0L3QtSDQvtGC0LTQsNC10YLRgdGPINC90LDRgNGD0LbRgy5cbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgX29uRW50ZXJEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgX2ZvcmNlQ2hpcE1hbmlwdWxhdGlvbldpdGhSZWFkb25seSxcblxuICAgICAgICAgICAgICAgIC4uLnJlc3RcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZWYsXG4gICAgICAgICkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udGVudFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dENvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0Rm9ya1JlZiA9IHVzZUZvcmtSZWYoaW5wdXRSZWYsIHJlZik7XG4gICAgICAgICAgICBjb25zdCBjaGlwc1JlZnMgPSB1c2VSZWY8QXJyYXk8SFRNTEJ1dHRvbkVsZW1lbnQ+PihbXSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2xsZWRSZWZzID0geyBjb250ZW50UmVmLCBpbnB1dFJlZiwgY2hpcHNSZWZzIH07XG5cbiAgICAgICAgICAgIGNvbnN0IFtoYXNWYWx1ZSwgc2V0SGFzVmFsdWVdID0gdXNlU3RhdGUoXG4gICAgICAgICAgICAgICAgQm9vbGVhbihvdXRlclZhbHVlKSB8fCBCb29sZWFuKGlucHV0UmVmPy5jdXJyZW50Py52YWx1ZSkgfHwgQm9vbGVhbihyZXN0Py5kZWZhdWx0VmFsdWUpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IFtoYXNGb2N1cywgc2V0SGFzRm9jdXNdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgICAgICAgICBjb25zdCBbY2hpcHMsIHNldENoaXBzXSA9IHVzZVN0YXRlPEFycmF5PENoaXBWYWx1ZXM+PihbXSk7XG4gICAgICAgICAgICBjb25zdCBbaXNIaW50VmlzaWJsZSwgc2V0SXNIaW50VmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHVuaXFJZCA9IHNhZmVVc2VJZCgpO1xuICAgICAgICAgICAgY29uc3QgaW5uZXJJZCA9IGlkIHx8IHVuaXFJZDtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsSWQgPSBzYWZlVXNlSWQoKTtcbiAgICAgICAgICAgIGNvbnN0IGhlbHBlclRleHRJZCA9IHNhZmVVc2VJZCgpO1xuXG4gICAgICAgICAgICBjb25zdCBpc0RlZmF1bHRWaWV3ID0gdmlldyA9PT0gJ2RlZmF1bHQnIHx8IHJlYWRPbmx5IHx8IGRpc2FibGVkO1xuXG4gICAgICAgICAgICBjb25zdCBpc0NoaXBFbnVtZXJhdGlvbiA9IGVudW1lcmF0aW9uVHlwZSA9PT0gJ2NoaXAnO1xuICAgICAgICAgICAgY29uc3QgaXNDaGlwc1Zpc2libGUgPSBpc0NoaXBFbnVtZXJhdGlvbiAmJiBCb29sZWFuKGNoaXBzPy5sZW5ndGgpO1xuICAgICAgICAgICAgY29uc3Qgd2l0aEhhc0NoaXBzID0gaXNDaGlwc1Zpc2libGUgPyBjbGFzc2VzLmhhc0NoaXBzIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICBjb25zdCBoYXNMYWJlbFZhbHVlID0gQm9vbGVhbihsYWJlbCk7XG4gICAgICAgICAgICBjb25zdCBoYXNJbm5lckxhYmVsID0gc2l6ZSAhPT0gJ3hzJyAmJiBsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiAhaXNDaGlwc1Zpc2libGUgJiYgaGFzTGFiZWxWYWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IGhhc091dGVyTGFiZWwgPSBsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJyAmJiBoYXNMYWJlbFZhbHVlO1xuICAgICAgICAgICAgY29uc3QgaW5uZXJLZWVwUGxhY2Vob2xkZXIgPSBrZWVwUGxhY2Vob2xkZXIgJiYgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcic7XG4gICAgICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlciA9IEJvb2xlYW4ocGxhY2Vob2xkZXIpICYmIChpbm5lcktlZXBQbGFjZWhvbGRlciB8fCAhaGFzSW5uZXJMYWJlbCk7XG4gICAgICAgICAgICBsZXQgaGFzVGV4dEFmdGVyID0gQm9vbGVhbih0ZXh0QWZ0ZXIpO1xuICAgICAgICAgICAgbGV0IGhhc1RleHRCZWZvcmUgPSB0ZXh0QmVmb3JlICYmICFpc0NoaXBFbnVtZXJhdGlvbjtcbiAgICAgICAgICAgIGlmIChsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJykge1xuICAgICAgICAgICAgICAgIGlmICghaGFzVmFsdWUgJiYgIWhhc1BsYWNlaG9sZGVyICYmICFoYXNGb2N1cykge1xuICAgICAgICAgICAgICAgICAgICBoYXNUZXh0QWZ0ZXIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgaGFzVGV4dEJlZm9yZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgaGFzUGxhY2Vob2xkZXJQYWRkaW5nID0gaGFzSW5uZXJMYWJlbCAmJiBrZWVwUGxhY2Vob2xkZXIgJiYgc2l6ZSAhPT0gJ3hzJztcblxuICAgICAgICAgICAgY29uc3QgaW5uZXJMYWJlbFZhbHVlID0gaGFzSW5uZXJMYWJlbCB8fCBoYXNPdXRlckxhYmVsID8gbGFiZWwgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBpbm5lckxhYmVsUGxhY2VtZW50VmFsdWUgPSBsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiAhaGFzSW5uZXJMYWJlbCA/IHVuZGVmaW5lZCA6IGxhYmVsUGxhY2VtZW50O1xuXG4gICAgICAgICAgICBjb25zdCBpbm5lclBsYWNlaG9sZGVyVmFsdWUgPSBoYXNQbGFjZWhvbGRlciA/IHBsYWNlaG9sZGVyIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJTaG93biA9IEJvb2xlYW4oaW5uZXJQbGFjZWhvbGRlclZhbHVlKSAmJiAhaGFzVmFsdWU7XG5cbiAgICAgICAgICAgIGNvbnN0IGNsZWFyQ2xhc3MgPSBjbGVhciA/IGNsYXNzZXMuY2xlYXIgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBoYXNEaXZpZGVyQ2xhc3MgPSBoYXNEaXZpZGVyID8gY2xhc3Nlcy5oYXNEaXZpZGVyIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaGFzSW5uZXJIaW50Q2xhc3MgPSBoaW50VGV4dCAmJiBoaW50VGFyZ2V0UGxhY2VtZW50ID09PSAnb3V0ZXInID8gY2xhc3Nlcy5oYXNIaW50IDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaGFzSGludENsYXNzID0gaGludFRleHQgPyBjbGFzc2VzLmhhc0hpbnQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCByZXF1aXJlZFBsYWNlbWVudENsYXNzID0gcmVxdWlyZWRQbGFjZW1lbnQgPT09ICdyaWdodCcgPyBjbGFzc2VzLnJlcXVpcmVkQWxpZ25SaWdodCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsUGxhY2VtZW50Q2xhc3MgPSBpbm5lckxhYmVsUGxhY2VtZW50VmFsdWVcbiAgICAgICAgICAgICAgICA/IGNsYXNzZXNbYCR7aW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlfUxhYmVsUGxhY2VtZW50YCBhcyBrZXlvZiB0eXBlb2YgY2xhc3Nlc11cbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc1ZhbHVlQ2xhc3MgPSBoYXNWYWx1ZSA/IGNsYXNzZXMuaGFzVmFsdWUgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBrZWVwUGxhY2Vob2xkZXJDbGFzcyA9IGhhc1BsYWNlaG9sZGVyICYmIHBsYWNlaG9sZGVyU2hvd24gJiYgY2xhc3Nlcy5rZWVwUGxhY2Vob2xkZXI7XG5cbiAgICAgICAgICAgIGNvbnN0IHdyYXBwZXJXaXRob3V0TGVmdENvbnRlbnQgPVxuICAgICAgICAgICAgICAgICFjb250ZW50TGVmdCAmJiBpc0NoaXBzVmlzaWJsZSAmJiBjaGlwVHlwZSA9PT0gJ2RlZmF1bHQnID8gY2xhc3Nlcy5oYXNFbXB0eUNvbnRlbnRMZWZ0IDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3Qgd3JhcHBlcldpdGhvdXRSaWdodENvbnRlbnQgPVxuICAgICAgICAgICAgICAgICFjb250ZW50UmlnaHQgJiYgaXNDaGlwc1Zpc2libGUgJiYgY2hpcFR5cGUgPT09ICdkZWZhdWx0JyA/IGNsYXNzZXMuaGFzRW1wdHlDb250ZW50UmlnaHQgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRSaWdodENvbXBlbnNhdGlvbk1hcmdpbiA9XG4gICAgICAgICAgICAgICAgIWhhc091dGVyTGFiZWwgJiYgaGludFRleHQgJiYgaGludFRhcmdldFBsYWNlbWVudCA9PT0gJ2lubmVyJ1xuICAgICAgICAgICAgICAgICAgICA/IGNsYXNzZXMuY29udGVudFJpZ2h0Q29tcGVuc2F0aW9uTWFyZ2luXG4gICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICBjb25zdCBoaW50UmVmID0gdXNlT3V0c2lkZUNsaWNrPEhUTUxEaXZFbGVtZW50PigoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNIaW50VmlzaWJsZShmYWxzZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IGhpbnRJbm5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgICAgICAgICBjb25zdCBoaW50Rm9ya1JlZiA9IHVzZUZvcmtSZWYoaGludFJlZiwgaGludElubmVyUmVmKTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlSW5wdXQ6IEZvcm1FdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcblxuICAgICAgICAgICAgICAgIHNldEhhc1ZhbHVlKEJvb2xlYW4odmFsdWUpKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGhhc1RleHRBZnRlciAmJiBpbnB1dFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRleHRXaWR0aCA9IGdldElucHV0V2lkdGgoaW5wdXRSZWYuY3VycmVudCwgaW5wdXRDb250YWluZXJSZWYuY3VycmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuc3R5bGUud2lkdGggPSBgJHt0ZXh0V2lkdGh9cHhgO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQ/LnN0eWxlLnJlbW92ZVByb3BlcnR5KCd3aWR0aCcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIFtoYXNUZXh0QWZ0ZXJdKTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlRm9jdXMgPSAoZXZlbnQ6IFJlYWN0LkZvY3VzRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICAgICAgICAgICAgICBzZXRIYXNGb2N1cyh0cnVlKTtcbiAgICAgICAgICAgICAgICBvbkZvY3VzPy4oZXZlbnQpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlQmx1ciA9IChldmVudDogUmVhY3QuRm9jdXNFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgIHNldEhhc0ZvY3VzKGZhbHNlKTtcbiAgICAgICAgICAgICAgICBvbkJsdXI/LihldmVudCk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVIaW50U2hvdyA9ICgpID0+IHNldElzSGludFZpc2libGUodHJ1ZSk7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVIaW50SGlkZSA9ICgpID0+IHNldElzSGludFZpc2libGUoZmFsc2UpO1xuICAgICAgICAgICAgY29uc3QgaGFuZGxlSGludENsaWNrOiBNb3VzZUV2ZW50SGFuZGxlciA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghaGludFRleHQgfHwgaGludFRyaWdnZXIgIT09ICdjbGljaycpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldElzUG9wb3ZlciA9IGV2ZW50LnRhcmdldCA9PT0gaGludElubmVyUmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICAgICAgY29uc3Qgcm9vdEhhc1RhcmdldCA9IGhpbnRJbm5lclJlZi5jdXJyZW50Py5jb250YWlucyhldmVudC50YXJnZXQgYXMgRWxlbWVudCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoIXRhcmdldElzUG9wb3ZlciAmJiAhcm9vdEhhc1RhcmdldCkge1xuICAgICAgICAgICAgICAgICAgICBzZXRJc0hpbnRWaXNpYmxlKHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUNoYW5nZTogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+ID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGRpc2FibGVkIHx8IHJlYWRPbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCB7IG1heExlbmd0aCwgdmFsdWUgfSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgICAgIGlmIChtYXhMZW5ndGggIT09IC0xICYmIHZhbHVlLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U/LihldmVudCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoaGFzVGV4dEFmdGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRleHRXaWR0aCA9IGdldElucHV0V2lkdGgoZXZlbnQuY3VycmVudFRhcmdldCwgaW5wdXRDb250YWluZXJSZWYuY3VycmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LmN1cnJlbnRUYXJnZXQuc3R5bGUud2lkdGggPSBgJHt0ZXh0V2lkdGh9cHhgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IHVwZGF0ZUNoaXBzID0gKG5ld0NoaXBzOiBBcnJheTxDaGlwVmFsdWVzPiwgbmV3VmFsdWVzOiBBcnJheTxUZXh0RmllbGRQcmltaXRpdmVWYWx1ZT4pID0+IHtcbiAgICAgICAgICAgICAgICBzZXRDaGlwcyhuZXdDaGlwcyk7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2VDaGlwcz8uKG5ld1ZhbHVlcyk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCB7IGhhbmRsZUlucHV0S2V5ZG93biwgaGFuZGxlQ2hpcEtleURvd24sIG9uQ2hpcENsZWFyLCBoYW5kbGVDb250ZW50S2V5RG93biB9ID0gdXNlS2V5TmF2aWdhdGlvbih7XG4gICAgICAgICAgICAgICAgY29udHJvbGxlZFJlZnMsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgcmVhZE9ubHksXG4gICAgICAgICAgICAgICAgY2hpcHMsXG4gICAgICAgICAgICAgICAgZW51bWVyYXRpb25UeXBlLFxuICAgICAgICAgICAgICAgIHVwZGF0ZUNoaXBzLFxuICAgICAgICAgICAgICAgIG9uU2VhcmNoLFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICAgICAgICAgIG9uRW50ZXJEaXNhYmxlZDogX29uRW50ZXJEaXNhYmxlZCxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBvbkNoaXBDbGljayA9IChldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pID0+IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVJbnB1dEZvY3VzID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZWFkT25seSB8fCBkaXNhYmxlZCB8fCAhaW5wdXRSZWY/LmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGlucHV0UmVmLmN1cnJlbnQub2Zmc2V0TGVmdCxcbiAgICAgICAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgZ2V0UmVmID0gKGVsZW1lbnQ6IEhUTUxCdXR0b25FbGVtZW50IHwgbnVsbCwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50ICYmIGNoaXBzUmVmcz8uY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICBjaGlwc1JlZnMuY3VycmVudFtpbmRleF0gPSBlbGVtZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZU9uS2V5RG93biA9IChldmVudDogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4gJiBLZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgaGFuZGxlSW5wdXRLZXlkb3duKGV2ZW50KTtcblxuICAgICAgICAgICAgICAgIGlmIChvbktleURvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghaXNDaGlwRW51bWVyYXRpb24gJiYgIXZhbHVlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBuZXdDaGlwcyA9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlcz8ubWFwKCh2YWx1ZSwgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogYCR7aW5kZXh9XyR7dmFsdWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB9KSkgfHwgW107XG5cbiAgICAgICAgICAgICAgICBzZXRDaGlwcyhuZXdDaGlwcyk7XG4gICAgICAgICAgICB9LCBbaXNDaGlwRW51bWVyYXRpb24sIHZhbHVlc10pO1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldEhhc1ZhbHVlKEJvb2xlYW4ocmVzdD8uZGVmYXVsdFZhbHVlKSk7XG4gICAgICAgICAgICB9LCBbcmVzdC5kZWZhdWx0VmFsdWVdKTtcblxuICAgICAgICAgICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRIYXNWYWx1ZShCb29sZWFuKG91dGVyVmFsdWUpIHx8IEJvb2xlYW4oaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlKSk7XG4gICAgICAgICAgICB9LCBbb3V0ZXJWYWx1ZSwgaW5wdXRSZWY/LmN1cnJlbnQ/LnZhbHVlXSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGlubmVyT3B0aW9uYWwgPSBCb29sZWFuKHJlcXVpcmVkID8gZmFsc2UgOiBvcHRpb25hbCk7XG4gICAgICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlck9wdGlvbmFsID0gaW5uZXJPcHRpb25hbCAmJiAhaW5uZXJMYWJlbFZhbHVlICYmICFoYXNPdXRlckxhYmVsO1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uYWxUZXh0Tm9kZSA9IGlubmVyT3B0aW9uYWwgPyAoXG4gICAgICAgICAgICAgICAgPFN0eWxlZE9wdGlvbmFsVGV4dD5cbiAgICAgICAgICAgICAgICAgICAge0Jvb2xlYW4oaGFzUGxhY2Vob2xkZXJPcHRpb25hbCA/IGlubmVyUGxhY2Vob2xkZXJWYWx1ZSA6IGlubmVyTGFiZWxWYWx1ZSkgJiYgJ1xceGEwJ31cbiAgICAgICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dH1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZE9wdGlvbmFsVGV4dD5cbiAgICAgICAgICAgICkgOiBudWxsO1xuXG4gICAgICAgICAgICBjb25zdCBjbGFzc1RleHRFbGxpcHNpcyA9XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZXJzY29yZS1kYW5nbGVcbiAgICAgICAgICAgICAgICAhKHJlc3QgYXMgYW55KS5fdGV4dEVsbGlwc2lzRGlzYWJsZSAmJiAhdGV4dEFmdGVyID8gY2xhc3Nlcy5pbnB1dFRleHRFbGxpcHNpcyA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8Um9vdFxuICAgICAgICAgICAgICAgICAgICB2aWV3PXt2aWV3fVxuICAgICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXshZGlzYWJsZWQgJiYgcmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsUGxhY2VtZW50PXtpbm5lckxhYmVsUGxhY2VtZW50VmFsdWV9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUlucHV0Rm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbFBsYWNlbWVudENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc0RpdmlkZXJDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc0lubmVySGludENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy50ZXh0RmllbGRHcm91cEl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgICAgICAgICAgICAgey4uLihoaW50VGV4dCAmJiB7IGhpbnRWaWV3LCBoaW50U2l6ZSB9KX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsoaGFzT3V0ZXJMYWJlbCB8fCB0aXRsZUNhcHRpb24pICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxPdXRlckxhYmVsV3JhcHBlciBpc0lubmVyTGFiZWw9e2xhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzT3V0ZXJMYWJlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJbmRpY2F0b3JXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGlkPXtsYWJlbElkfSBodG1sRm9yPXtpZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lubmVyTGFiZWxWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGFiZWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoaW50VGV4dCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEhpbnRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SGludENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtoaW50Rm9ya1JlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUZXh0PXtoaW50VGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUcmlnZ2VyPXtoaW50VHJpZ2dlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzSGludFZpc2libGU9e2lzSGludFZpc2libGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGFyZ2V0SWNvbj17aGludFRhcmdldEljb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50UGxhY2VtZW50PXtoaW50UGxhY2VtZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludEhhc0Fycm93PXtoaW50SGFzQXJyb3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50T2Zmc2V0PXtoaW50T2Zmc2V0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFdpZHRoPXtoaW50V2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50Q29udGVudExlZnQ9e2hpbnRDb250ZW50TGVmdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRTaG93PXtoYW5kbGVIaW50U2hvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRIaWRlPXtoYW5kbGVIaW50SGlkZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRDbGljaz17aGFuZGxlSGludENsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSGludFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3JlcXVpcmVkICYmIGhhc1JlcXVpcmVkSW5kaWNhdG9yICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLm91dGVyTGFiZWxQbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFBsYWNlbWVudENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzSGludENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dE5vZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSW5kaWNhdG9yV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0aXRsZUNhcHRpb24gJiYgPFRpdGxlQ2FwdGlvbj57dGl0bGVDYXB0aW9ufTwvVGl0bGVDYXB0aW9uPn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvT3V0ZXJMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDxJbnB1dFdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlZiDQtNC70Y8g0LLQvdGD0YLRgNC10L3QvdC10LPQviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjy4g0J3QtSDQvtGC0LTQsNC10YLRgdGPINC90LDRgNGD0LbRgy5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17KHJlc3QgYXMgYW55KS5pbnB1dFdyYXBwZXJSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiAjMTU0NCwg0Lgg0L/QvtGB0LvQtSDRg9Cx0YDQsNGC0YwgY2xhc3Nlcy5pbnB1dFdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aEhhc0NoaXBzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZXJXaXRob3V0TGVmdENvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JhcHBlcldpdGhvdXRSaWdodENvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5pbnB1dFdyYXBwZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7IWhhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyZXF1aXJlZCAmJiBoYXNSZXF1aXJlZEluZGljYXRvciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChjbGFzc2VzLmlubmVyTGFiZWxQbGFjZW1lbnQsIHJlcXVpcmVkUGxhY2VtZW50Q2xhc3MpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hpbnRUZXh0ICYmIGhpbnRUYXJnZXRQbGFjZW1lbnQgPT09ICdvdXRlcicgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEhpbnRXcmFwcGVyIGNsYXNzTmFtZT17Y2xhc3Nlcy5pbm5lckxhYmVsUGxhY2VtZW50fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SGludENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2hpbnRGb3JrUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGV4dD17aGludFRleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUcmlnZ2VyPXtoaW50VHJpZ2dlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNIaW50VmlzaWJsZT17aXNIaW50VmlzaWJsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRhcmdldEljb249e2hpbnRUYXJnZXRJY29ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50UGxhY2VtZW50PXtoaW50UGxhY2VtZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50SGFzQXJyb3c9e2hpbnRIYXNBcnJvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludE9mZnNldD17aGludE9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFdpZHRoPXtoaW50V2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRDb250ZW50TGVmdD17aGludENvbnRlbnRMZWZ0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50U2hvdz17aGFuZGxlSGludFNob3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRIaWRlPXtoYW5kbGVIaW50SGlkZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludENsaWNrPXtoYW5kbGVIaW50Q2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzSW5uZXJMYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZEhpbnRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjb250ZW50TGVmdCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZENvbnRlbnRMZWZ0IGlzQ2xlYXI9e2NsZWFyfSBpc0RlZmF1bHRWaWV3PXtpc0RlZmF1bHRWaWV3fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NvbnRlbnRMZWZ0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQ29udGVudExlZnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0TGFiZWxXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiSW5kZXg9ey0xfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17Y29udGVudFJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbktleURvd249e2hhbmRsZUNvbnRlbnRLZXlEb3dufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17d2l0aEhhc0NoaXBzfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtCb29sZWFuKHRleHRCZWZvcmUgJiYgaXNDaGlwRW51bWVyYXRpb24pICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZFRleHRCZWZvcmU+e3RleHRCZWZvcmV9PC9TdHlsZWRUZXh0QmVmb3JlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzQ2hpcEVudW1lcmF0aW9uICYmIEJvb2xlYW4oY2hpcHM/Lmxlbmd0aCkgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkQ2hpcHMgY2xhc3NOYW1lPXtjbGFzc2VzLmNoaXBzV3JhcHBlcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2hpcHM/Lm1hcCgoeyBpZDogY2hpcElkLCB0ZXh0IH0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsaWRhdGlvblZpZXcgPSBjaGlwVmFsaWRhdG9yPy4oU3RyaW5nKHRleHQpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNWaWV3ID0gdmFsaWRhdGlvblZpZXc/LnZpZXcgfHwgY2hpcFZpZXc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGV4dEZpZWxkQ2hpcFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9e2NoaXBJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17KGVsZW1lbnQpID0+IGdldFJlZihlbGVtZW50LCBpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2Ake2NoaXBJZH1fJHtpbmRleH1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3RleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0PXt0ZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXsoZXZlbnQpID0+IGhhbmRsZUNoaXBLZXlEb3duKGV2ZW50LCBjaGlwSWQsIGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xlYXI9eygpID0+IG9uQ2hpcENsZWFyKGNoaXBJZCwgaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17b25DaGlwQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlwVHlwZT17Y2hpcFR5cGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3PXtyZXNWaWV3fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9vdFdyYXBwZXI9e1Jvb3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiAjMTU0N1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2ZvcmNlQ2hpcE1hbmlwdWxhdGlvbldpdGhSZWFkb25seT17X2ZvcmNlQ2hpcE1hbmlwdWxhdGlvbldpdGhSZWFkb25seX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQ2hpcHM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRDb250YWluZXIgcmVmPXtpbnB1dENvbnRhaW5lclJlZn0gaGFzRHluYW1pY1dpZHRoPXtoYXNUZXh0QWZ0ZXJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzVGV4dEJlZm9yZSAmJiA8U3R5bGVkVGV4dEJlZm9yZT57dGV4dEJlZm9yZX08L1N0eWxlZFRleHRCZWZvcmU+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17aW5wdXRGb3JrUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9e2lubmVySWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17b3V0ZXJWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkPXtlbnVtZXJhdGlvblR5cGUgPT09ICdjaGlwJyA/IGNoaXBzLmxlbmd0aCA9PT0gMCAmJiByZXF1aXJlZCA6IHJlcXVpcmVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXtsYWJlbElkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17aGVscGVyVGV4dElkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2lubmVyUGxhY2Vob2xkZXJWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzVmFsdWVDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZWVwUGxhY2Vob2xkZXJDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc1RleHRFbGxpcHNpcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seSAmJiBjbGFzc2VzLnJlYWRPbmx5SW5wdXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9eyFkaXNhYmxlZCAmJiByZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uSW5wdXQ9e2hhbmRsZUlucHV0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlT25LZXlEb3dufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlRm9jdXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkJsdXI9e2hhbmRsZUJsdXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc0lubmVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGlkPXtsYWJlbElkfSBodG1sRm9yPXtpbm5lcklkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW5uZXJMYWJlbFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3BsYWNlaG9sZGVyU2hvd24gJiYgIWhhc1ZhbHVlICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dFBsYWNlaG9sZGVyIGhhc1BhZGRpbmc9e2hhc1BsYWNlaG9sZGVyUGFkZGluZ30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc1RleHRCZWZvcmUgJiYgPFN0eWxlZFRleHRCZWZvcmUgaXNIaWRkZW4+e3RleHRCZWZvcmV9PC9TdHlsZWRUZXh0QmVmb3JlPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW5uZXJQbGFjZWhvbGRlclZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoYXNQbGFjZWhvbGRlck9wdGlvbmFsICYmIG9wdGlvbmFsVGV4dE5vZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0lucHV0UGxhY2Vob2xkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoYXNUZXh0QWZ0ZXIgJiYgPFN0eWxlZFRleHRBZnRlcj57dGV4dEFmdGVyfTwvU3R5bGVkVGV4dEFmdGVyPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0lucHV0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9JbnB1dExhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRDb250ZW50UmlnaHRXcmFwcGVyIGNsYXNzTmFtZT17Y3goY29udGVudFJpZ2h0Q29tcGVuc2F0aW9uTWFyZ2luKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2NvbnRlbnRSaWdodCAmJiA8U3R5bGVkQ29udGVudFJpZ2h0Pntjb250ZW50UmlnaHR9PC9TdHlsZWRDb250ZW50UmlnaHQ+fVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyFoYXNPdXRlckxhYmVsICYmIGhpbnRUZXh0ICYmIGhpbnRUYXJnZXRQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SGludENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtoaW50Rm9ya1JlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUZXh0PXtoaW50VGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUcmlnZ2VyPXtoaW50VHJpZ2dlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzSGludFZpc2libGU9e2lzSGludFZpc2libGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGFyZ2V0SWNvbj17aGludFRhcmdldEljb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50UGxhY2VtZW50PXtoaW50UGxhY2VtZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludEhhc0Fycm93PXtoaW50SGFzQXJyb3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50T2Zmc2V0PXtoaW50T2Zmc2V0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFdpZHRoPXtoaW50V2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50Q29udGVudExlZnQ9e2hpbnRDb250ZW50TGVmdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50U2hvdz17aGFuZGxlSGludFNob3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50SGlkZT17aGFuZGxlSGludEhpZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50Q2xpY2s9e2hhbmRsZUhpbnRDbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzSW5uZXJMYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZENvbnRlbnRSaWdodFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvSW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICB7bGVmdEhlbHBlciAmJiA8TGVmdEhlbHBlciBpZD17aGVscGVyVGV4dElkfT57bGVmdEhlbHBlcn08L0xlZnRIZWxwZXI+fVxuICAgICAgICAgICAgICAgIDwvUm9vdD5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgKTtcblxuZXhwb3J0IGNvbnN0IHRleHRGaWVsZENvbmZpZyA9IHtcbiAgICBuYW1lOiAnVGV4dEZpZWxkJyxcbiAgICB0YWc6ICdkaXYnLFxuICAgIGxheW91dDogdGV4dEZpZWxkUm9vdCxcbiAgICBiYXNlLFxuICAgIHZhcmlhdGlvbnM6IHtcbiAgICAgICAgdmlldzoge1xuICAgICAgICAgICAgY3NzOiB2aWV3Q1NTLFxuICAgICAgICB9LFxuICAgICAgICBzaXplOiB7XG4gICAgICAgICAgICBjc3M6IHNpemVDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGNsZWFyOiB7XG4gICAgICAgICAgICBjc3M6IGNsZWFyQ1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkOiB7XG4gICAgICAgICAgICBjc3M6IGRpc2FibGVkQ1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHJlYWRPbmx5OiB7XG4gICAgICAgICAgICBjc3M6IHJlYWRPbmx5Q1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsUGxhY2VtZW50OiB7XG4gICAgICAgICAgICBjc3M6IGxhYmVsUGxhY2VtZW50Q1NTLFxuICAgICAgICB9LFxuICAgICAgICBoaW50Vmlldzoge1xuICAgICAgICAgICAgY3NzOiBoaW50Vmlld0NTUyxcbiAgICAgICAgfSxcbiAgICAgICAgaGludFNpemU6IHtcbiAgICAgICAgICAgIGNzczogaGludFNpemVDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGNoaXBWaWV3OiB7XG4gICAgICAgICAgICBjc3M6IGNoaXBWaWV3Q1NTLFxuICAgICAgICB9LFxuICAgIH0sXG4gICAgZGVmYXVsdHM6IHtcbiAgICAgICAgc2l6ZTogJ20nLFxuICAgICAgICB2aWV3OiAnZGVmYXVsdCcsXG4gICAgfSxcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0RvQiJ9 */");
185
+ var base = (0, /*#__PURE__*/ _react1.css)("display:block;", "base", "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0RmllbGQvVGV4dEZpZWxkLnRzeCIsInNvdXJjZXMiOlsic3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0RmllbGQvVGV4dEZpZWxkLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBGb3JtRXZlbnRIYW5kbGVyLCBDaGFuZ2VFdmVudEhhbmRsZXIsIEtleWJvYXJkRXZlbnQsIENoYW5nZUV2ZW50LCBNb3VzZUV2ZW50SGFuZGxlciB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUZvcmtSZWYgfSBmcm9tICdAc2FsdXRlanMvcGxhc21hLWNvcmUnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgY3gsIHNhZmVVc2VJZCB9IGZyb20gJ3NyYy91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJvb3RQcm9wcyB9IGZyb20gJ3NyYy9lbmdpbmVzJztcbmltcG9ydCB7IHVzZU91dHNpZGVDbGljayB9IGZyb20gJ3NyYy9ob29rcyc7XG5cbmltcG9ydCB0eXBlIHsgQ2hpcFZhbHVlcywgVGV4dEZpZWxkUHJpbWl0aXZlVmFsdWUsIFRleHRGaWVsZFByb3BzLCBUZXh0RmllbGRSb290UHJvcHMgfSBmcm9tICcuL1RleHRGaWVsZC50eXBlcyc7XG5pbXBvcnQgeyBiYXNlIGFzIHNpemVDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3NpemUvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIHZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3ZpZXcvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGNsZWFyQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19jbGVhci9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgZGlzYWJsZWRDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2Rpc2FibGVkL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyByZWFkT25seUNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fcmVhZC1vbmx5L2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBsYWJlbFBsYWNlbWVudENTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fbGFiZWwtcGxhY2VtZW50L2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBoaW50Vmlld0NTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9faGludC12aWV3L2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBoaW50U2l6ZUNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9faGludC1zaXplL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBjaGlwVmlld0NTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fY2hpcC12aWV3L2Jhc2UnO1xuaW1wb3J0IHtcbiAgICBJbnB1dCxcbiAgICBJbnB1dENvbnRhaW5lcixcbiAgICBMZWZ0SGVscGVyLFxuICAgIExhYmVsLFxuICAgIElucHV0V3JhcHBlcixcbiAgICBJbnB1dExhYmVsV3JhcHBlcixcbiAgICBTdHlsZWRDb250ZW50TGVmdCxcbiAgICBTdHlsZWRDb250ZW50UmlnaHQsXG4gICAgU3R5bGVkQ2hpcHMsXG4gICAgU3R5bGVkVGV4dEJlZm9yZSxcbiAgICBTdHlsZWRUZXh0QWZ0ZXIsXG4gICAgU3R5bGVkSW5kaWNhdG9yLFxuICAgIFN0eWxlZE9wdGlvbmFsVGV4dCxcbiAgICBJbnB1dFBsYWNlaG9sZGVyLFxuICAgIE91dGVyTGFiZWxXcmFwcGVyLFxuICAgIFRpdGxlQ2FwdGlvbixcbiAgICBTdHlsZWRIaW50V3JhcHBlcixcbiAgICBTdHlsZWRJbmRpY2F0b3JXcmFwcGVyLFxuICAgIFN0eWxlZENvbnRlbnRSaWdodFdyYXBwZXIsXG59IGZyb20gJy4vVGV4dEZpZWxkLnN0eWxlcyc7XG5pbXBvcnQgeyBjbGFzc2VzIH0gZnJvbSAnLi9UZXh0RmllbGQudG9rZW5zJztcbmltcG9ydCB7IFRleHRGaWVsZENoaXAgfSBmcm9tICcuL3VpJztcbmltcG9ydCB7IHVzZUtleU5hdmlnYXRpb24gfSBmcm9tICcuL2hvb2tzJztcbmltcG9ydCB7IEhpbnRDb21wb25lbnQgfSBmcm9tICcuL3VpL0hpbnQvSGludCc7XG5pbXBvcnQgeyBnZXRJbnB1dFdpZHRoIH0gZnJvbSAnLi9nZXRJbnB1dFdpZHRoJztcblxuY29uc3Qgb3B0aW9uYWxUZXh0ID0gJ29wdGlvbmFsJztcblxuZXhwb3J0IGNvbnN0IGJhc2UgPSBjc3NgXG4gICAgLyogTk9URTogV2Via2l0INC90LUg0L/RgNC40LzQtdC90Y/QtdGCIG9wYWNpdHkg0LogaW5saW5lINGC0LXQs9Cw0LwgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbmA7XG5cbmNvbnN0IEhJTlRfREVGQVVMVF9PRkZTRVQ6IFtudW1iZXIsIG51bWJlcl0gPSBbMCwgMF07XG5cbmV4cG9ydCBjb25zdCB0ZXh0RmllbGRSb290ID0gKFJvb3Q6IFJvb3RQcm9wczxIVE1MRGl2RWxlbWVudCwgVGV4dEZpZWxkUm9vdFByb3BzPikgPT5cbiAgICBmb3J3YXJkUmVmPEhUTUxJbnB1dEVsZW1lbnQsIFRleHRGaWVsZFByb3BzPihcbiAgICAgICAgKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICAgICAgICBzdHlsZSxcblxuICAgICAgICAgICAgICAgIC8vIGxheW91dFxuICAgICAgICAgICAgICAgIGNvbnRlbnRMZWZ0LFxuICAgICAgICAgICAgICAgIGNvbnRlbnRSaWdodCxcbiAgICAgICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgICAgICBsYWJlbFBsYWNlbWVudCxcbiAgICAgICAgICAgICAgICBrZWVwUGxhY2Vob2xkZXIsXG4gICAgICAgICAgICAgICAgdGV4dEJlZm9yZSxcbiAgICAgICAgICAgICAgICB0ZXh0QWZ0ZXIsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICAgICAgbGVmdEhlbHBlcixcbiAgICAgICAgICAgICAgICBlbnVtZXJhdGlvblR5cGUgPSAncGxhaW4nLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkUGxhY2VtZW50ID0gJ3JpZ2h0JyxcbiAgICAgICAgICAgICAgICBoYXNSZXF1aXJlZEluZGljYXRvciA9IHRydWUsXG4gICAgICAgICAgICAgICAgdGl0bGVDYXB0aW9uLFxuICAgICAgICAgICAgICAgIGNoaXBWaWV3ID0gJ2RlZmF1bHQnLFxuICAgICAgICAgICAgICAgIGNoaXBWYWxpZGF0b3IsXG5cbiAgICAgICAgICAgICAgICAvLyBoaW50XG4gICAgICAgICAgICAgICAgaGludFRyaWdnZXIgPSAnaG92ZXInLFxuICAgICAgICAgICAgICAgIGhpbnRUZXh0LFxuICAgICAgICAgICAgICAgIGhpbnRWaWV3ID0gJ2RlZmF1bHQnLFxuICAgICAgICAgICAgICAgIGhpbnRTaXplID0gJ20nLFxuICAgICAgICAgICAgICAgIGhpbnRUYXJnZXRJY29uLFxuICAgICAgICAgICAgICAgIGhpbnRUYXJnZXRQbGFjZW1lbnQgPSAnb3V0ZXInLFxuICAgICAgICAgICAgICAgIGhpbnRQbGFjZW1lbnQgPSAnYXV0bycsXG4gICAgICAgICAgICAgICAgaGludEhhc0Fycm93LFxuICAgICAgICAgICAgICAgIGhpbnRPZmZzZXQgPSBISU5UX0RFRkFVTFRfT0ZGU0VULFxuICAgICAgICAgICAgICAgIGhpbnRXaWR0aCxcbiAgICAgICAgICAgICAgICBoaW50Q29udGVudExlZnQsXG5cbiAgICAgICAgICAgICAgICAvLyB2YXJpYXRpb25zXG4gICAgICAgICAgICAgICAgdmlldyxcbiAgICAgICAgICAgICAgICBzaXplLFxuICAgICAgICAgICAgICAgIHJlYWRPbmx5ID0gZmFsc2UsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXF1aXJlZCA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIGNsZWFyID0gZmFsc2UsXG4gICAgICAgICAgICAgICAgb3B0aW9uYWwsXG4gICAgICAgICAgICAgICAgaGFzRGl2aWRlcixcblxuICAgICAgICAgICAgICAgIC8vIGNvbnRyb2xsZWRcbiAgICAgICAgICAgICAgICB2YWx1ZTogb3V0ZXJWYWx1ZSxcbiAgICAgICAgICAgICAgICBjaGlwczogdmFsdWVzLFxuICAgICAgICAgICAgICAgIGNoaXBUeXBlID0gJ2RlZmF1bHQnLFxuXG4gICAgICAgICAgICAgICAgLy8gZXZlbnRzXG4gICAgICAgICAgICAgICAgb25DaGFuZ2UsXG4gICAgICAgICAgICAgICAgb25DaGFuZ2VDaGlwcyxcbiAgICAgICAgICAgICAgICBvblNlYXJjaCxcbiAgICAgICAgICAgICAgICBvbktleURvd24sXG4gICAgICAgICAgICAgICAgb25Gb2N1cyxcbiAgICAgICAgICAgICAgICBvbkJsdXIsXG5cbiAgICAgICAgICAgICAgICAvLyDQn9GA0L7Qv9GB0Ysg0LTQu9GPINCy0L3Rg9GC0YDQtdC90L3QtdCz0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8sINC90LUg0L7RgtC00LDQtdGC0YHRjyDQvdCw0YDRg9C20YMuXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIF9vbkVudGVyRGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIF9mb3JjZUNoaXBNYW5pcHVsYXRpb25XaXRoUmVhZG9ubHksXG5cbiAgICAgICAgICAgICAgICAuLi5yZXN0XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVmLFxuICAgICAgICApID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRDb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbCk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dEZvcmtSZWYgPSB1c2VGb3JrUmVmKGlucHV0UmVmLCByZWYpO1xuICAgICAgICAgICAgY29uc3QgY2hpcHNSZWZzID0gdXNlUmVmPEFycmF5PEhUTUxCdXR0b25FbGVtZW50Pj4oW10pO1xuXG4gICAgICAgICAgICBjb25zdCBjb250cm9sbGVkUmVmcyA9IHsgY29udGVudFJlZiwgaW5wdXRSZWYsIGNoaXBzUmVmcyB9O1xuXG4gICAgICAgICAgICBjb25zdCBbaGFzVmFsdWUsIHNldEhhc1ZhbHVlXSA9IHVzZVN0YXRlKFxuICAgICAgICAgICAgICAgIEJvb2xlYW4ob3V0ZXJWYWx1ZSkgfHwgQm9vbGVhbihpbnB1dFJlZj8uY3VycmVudD8udmFsdWUpIHx8IEJvb2xlYW4ocmVzdD8uZGVmYXVsdFZhbHVlKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBbaGFzRm9jdXMsIHNldEhhc0ZvY3VzXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgICAgICAgICAgY29uc3QgW2NoaXBzLCBzZXRDaGlwc10gPSB1c2VTdGF0ZTxBcnJheTxDaGlwVmFsdWVzPj4oW10pO1xuICAgICAgICAgICAgY29uc3QgW2lzSGludFZpc2libGUsIHNldElzSGludFZpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgICAgICAgICBjb25zdCB1bmlxSWQgPSBzYWZlVXNlSWQoKTtcbiAgICAgICAgICAgIGNvbnN0IGlubmVySWQgPSBpZCB8fCB1bmlxSWQ7XG4gICAgICAgICAgICBjb25zdCBsYWJlbElkID0gc2FmZVVzZUlkKCk7XG4gICAgICAgICAgICBjb25zdCBoZWxwZXJUZXh0SWQgPSBzYWZlVXNlSWQoKTtcblxuICAgICAgICAgICAgY29uc3QgaXNEZWZhdWx0VmlldyA9IHZpZXcgPT09ICdkZWZhdWx0JyB8fCByZWFkT25seSB8fCBkaXNhYmxlZDtcblxuICAgICAgICAgICAgY29uc3QgaXNDaGlwRW51bWVyYXRpb24gPSBlbnVtZXJhdGlvblR5cGUgPT09ICdjaGlwJztcbiAgICAgICAgICAgIGNvbnN0IGlzQ2hpcHNWaXNpYmxlID0gaXNDaGlwRW51bWVyYXRpb24gJiYgQm9vbGVhbihjaGlwcz8ubGVuZ3RoKTtcbiAgICAgICAgICAgIGNvbnN0IHdpdGhIYXNDaGlwcyA9IGlzQ2hpcHNWaXNpYmxlID8gY2xhc3Nlcy5oYXNDaGlwcyA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgY29uc3QgaGFzTGFiZWxWYWx1ZSA9IEJvb2xlYW4obGFiZWwpO1xuICAgICAgICAgICAgY29uc3QgaGFzSW5uZXJMYWJlbCA9IHNpemUgIT09ICd4cycgJiYgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgIWlzQ2hpcHNWaXNpYmxlICYmIGhhc0xhYmVsVmFsdWU7XG4gICAgICAgICAgICBjb25zdCBoYXNPdXRlckxhYmVsID0gbGFiZWxQbGFjZW1lbnQgPT09ICdvdXRlcicgJiYgaGFzTGFiZWxWYWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IGlubmVyS2VlcFBsYWNlaG9sZGVyID0ga2VlcFBsYWNlaG9sZGVyICYmIGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInO1xuICAgICAgICAgICAgY29uc3QgaGFzUGxhY2Vob2xkZXIgPSBCb29sZWFuKHBsYWNlaG9sZGVyKSAmJiAoaW5uZXJLZWVwUGxhY2Vob2xkZXIgfHwgIWhhc0lubmVyTGFiZWwpO1xuICAgICAgICAgICAgbGV0IGhhc1RleHRBZnRlciA9IEJvb2xlYW4odGV4dEFmdGVyKTtcbiAgICAgICAgICAgIGxldCBoYXNUZXh0QmVmb3JlID0gdGV4dEJlZm9yZSAmJiAhaXNDaGlwRW51bWVyYXRpb247XG4gICAgICAgICAgICBpZiAobGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWhhc1ZhbHVlICYmICFoYXNQbGFjZWhvbGRlciAmJiAhaGFzRm9jdXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaGFzVGV4dEFmdGVyID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGhhc1RleHRCZWZvcmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGhhc1BsYWNlaG9sZGVyUGFkZGluZyA9IGhhc0lubmVyTGFiZWwgJiYga2VlcFBsYWNlaG9sZGVyICYmIHNpemUgIT09ICd4cyc7XG5cbiAgICAgICAgICAgIGNvbnN0IGlubmVyTGFiZWxWYWx1ZSA9IGhhc0lubmVyTGFiZWwgfHwgaGFzT3V0ZXJMYWJlbCA/IGxhYmVsIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlID0gbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgIWhhc0lubmVyTGFiZWwgPyB1bmRlZmluZWQgOiBsYWJlbFBsYWNlbWVudDtcblxuICAgICAgICAgICAgY29uc3QgaW5uZXJQbGFjZWhvbGRlclZhbHVlID0gaGFzUGxhY2Vob2xkZXIgPyBwbGFjZWhvbGRlciA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyU2hvd24gPSBCb29sZWFuKGlubmVyUGxhY2Vob2xkZXJWYWx1ZSkgJiYgIWhhc1ZhbHVlO1xuXG4gICAgICAgICAgICBjb25zdCBjbGVhckNsYXNzID0gY2xlYXIgPyBjbGFzc2VzLmNsZWFyIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaGFzRGl2aWRlckNsYXNzID0gaGFzRGl2aWRlciA/IGNsYXNzZXMuaGFzRGl2aWRlciA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc0lubmVySGludENsYXNzID0gaGludFRleHQgJiYgaGludFRhcmdldFBsYWNlbWVudCA9PT0gJ291dGVyJyA/IGNsYXNzZXMuaGFzSGludCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc0hpbnRDbGFzcyA9IGhpbnRUZXh0ID8gY2xhc3Nlcy5oYXNIaW50IDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyA9IHJlcXVpcmVkUGxhY2VtZW50ID09PSAncmlnaHQnID8gY2xhc3Nlcy5yZXF1aXJlZEFsaWduUmlnaHQgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBsYWJlbFBsYWNlbWVudENsYXNzID0gaW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlXG4gICAgICAgICAgICAgICAgPyBjbGFzc2VzW2Ake2lubmVyTGFiZWxQbGFjZW1lbnRWYWx1ZX1MYWJlbFBsYWNlbWVudGAgYXMga2V5b2YgdHlwZW9mIGNsYXNzZXNdXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBoYXNWYWx1ZUNsYXNzID0gaGFzVmFsdWUgPyBjbGFzc2VzLmhhc1ZhbHVlIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3Qga2VlcFBsYWNlaG9sZGVyQ2xhc3MgPSBoYXNQbGFjZWhvbGRlciAmJiBwbGFjZWhvbGRlclNob3duICYmIGNsYXNzZXMua2VlcFBsYWNlaG9sZGVyO1xuXG4gICAgICAgICAgICBjb25zdCB3cmFwcGVyV2l0aG91dExlZnRDb250ZW50ID1cbiAgICAgICAgICAgICAgICAhY29udGVudExlZnQgJiYgaXNDaGlwc1Zpc2libGUgJiYgY2hpcFR5cGUgPT09ICdkZWZhdWx0JyA/IGNsYXNzZXMuaGFzRW1wdHlDb250ZW50TGVmdCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IHdyYXBwZXJXaXRob3V0UmlnaHRDb250ZW50ID1cbiAgICAgICAgICAgICAgICAhY29udGVudFJpZ2h0ICYmIGlzQ2hpcHNWaXNpYmxlICYmIGNoaXBUeXBlID09PSAnZGVmYXVsdCcgPyBjbGFzc2VzLmhhc0VtcHR5Q29udGVudFJpZ2h0IDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICBjb25zdCBjb250ZW50UmlnaHRDb21wZW5zYXRpb25NYXJnaW4gPVxuICAgICAgICAgICAgICAgICFoYXNPdXRlckxhYmVsICYmIGhpbnRUZXh0ICYmIGhpbnRUYXJnZXRQbGFjZW1lbnQgPT09ICdpbm5lcidcbiAgICAgICAgICAgICAgICAgICAgPyBjbGFzc2VzLmNvbnRlbnRSaWdodENvbXBlbnNhdGlvbk1hcmdpblxuICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgY29uc3QgaGludFJlZiA9IHVzZU91dHNpZGVDbGljazxIVE1MRGl2RWxlbWVudD4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldElzSGludFZpc2libGUoZmFsc2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBoaW50SW5uZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgICAgICAgICAgY29uc3QgaGludEZvcmtSZWYgPSB1c2VGb3JrUmVmKGhpbnRSZWYsIGhpbnRJbm5lclJlZik7XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUlucHV0OiBGb3JtRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+ID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICAgICAgICAgICAgICBzZXRIYXNWYWx1ZShCb29sZWFuKHZhbHVlKSk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChoYXNUZXh0QWZ0ZXIgJiYgaW5wdXRSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZXh0V2lkdGggPSBnZXRJbnB1dFdpZHRoKGlucHV0UmVmLmN1cnJlbnQsIGlucHV0Q29udGFpbmVyUmVmLmN1cnJlbnQpO1xuICAgICAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LnN0eWxlLndpZHRoID0gYCR7dGV4dFdpZHRofXB4YDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50Py5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnd2lkdGgnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBbaGFzVGV4dEFmdGVyXSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUZvY3VzID0gKGV2ZW50OiBSZWFjdC5Gb2N1c0V2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SGFzRm9jdXModHJ1ZSk7XG4gICAgICAgICAgICAgICAgb25Gb2N1cz8uKGV2ZW50KTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUJsdXIgPSAoZXZlbnQ6IFJlYWN0LkZvY3VzRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICAgICAgICAgICAgICBzZXRIYXNGb2N1cyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgb25CbHVyPy4oZXZlbnQpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlSGludFNob3cgPSAoKSA9PiBzZXRJc0hpbnRWaXNpYmxlKHRydWUpO1xuICAgICAgICAgICAgY29uc3QgaGFuZGxlSGludEhpZGUgPSAoKSA9PiBzZXRJc0hpbnRWaXNpYmxlKGZhbHNlKTtcbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUhpbnRDbGljazogTW91c2VFdmVudEhhbmRsZXIgPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWhpbnRUZXh0IHx8IGhpbnRUcmlnZ2VyICE9PSAnY2xpY2snKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRJc1BvcG92ZXIgPSBldmVudC50YXJnZXQgPT09IGhpbnRJbm5lclJlZi5jdXJyZW50O1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvb3RIYXNUYXJnZXQgPSBoaW50SW5uZXJSZWYuY3VycmVudD8uY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCF0YXJnZXRJc1BvcG92ZXIgJiYgIXJvb3RIYXNUYXJnZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0SXNIaW50VmlzaWJsZSh0cnVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVDaGFuZ2U6IENoYW5nZUV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PiA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkaXNhYmxlZCB8fCByZWFkT25seSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgeyBtYXhMZW5ndGgsIHZhbHVlIH0gPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgICAgICBpZiAobWF4TGVuZ3RoICE9PSAtMSAmJiB2YWx1ZS5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPy4oZXZlbnQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGhhc1RleHRBZnRlcikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZXh0V2lkdGggPSBnZXRJbnB1dFdpZHRoKGV2ZW50LmN1cnJlbnRUYXJnZXQsIGlucHV0Q29udGFpbmVyUmVmLmN1cnJlbnQpO1xuICAgICAgICAgICAgICAgICAgICBldmVudC5jdXJyZW50VGFyZ2V0LnN0eWxlLndpZHRoID0gYCR7dGV4dFdpZHRofXB4YDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCB1cGRhdGVDaGlwcyA9IChuZXdDaGlwczogQXJyYXk8Q2hpcFZhbHVlcz4sIG5ld1ZhbHVlczogQXJyYXk8VGV4dEZpZWxkUHJpbWl0aXZlVmFsdWU+KSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0Q2hpcHMobmV3Q2hpcHMpO1xuICAgICAgICAgICAgICAgIG9uQ2hhbmdlQ2hpcHM/LihuZXdWYWx1ZXMpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgeyBoYW5kbGVJbnB1dEtleWRvd24sIGhhbmRsZUNoaXBLZXlEb3duLCBvbkNoaXBDbGVhciwgaGFuZGxlQ29udGVudEtleURvd24gfSA9IHVzZUtleU5hdmlnYXRpb24oe1xuICAgICAgICAgICAgICAgIGNvbnRyb2xsZWRSZWZzLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkLFxuICAgICAgICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgICAgICAgIGNoaXBzLFxuICAgICAgICAgICAgICAgIGVudW1lcmF0aW9uVHlwZSxcbiAgICAgICAgICAgICAgICB1cGRhdGVDaGlwcyxcbiAgICAgICAgICAgICAgICBvblNlYXJjaCxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgICAgICBvbkVudGVyRGlzYWJsZWQ6IF9vbkVudGVyRGlzYWJsZWQsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29uc3Qgb25DaGlwQ2xpY2sgPSAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+KSA9PiBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlSW5wdXRGb2N1cyA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVhZE9ubHkgfHwgZGlzYWJsZWQgfHwgIWlucHV0UmVmPy5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBpbnB1dFJlZi5jdXJyZW50Lm9mZnNldExlZnQsXG4gICAgICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGdldFJlZiA9IChlbGVtZW50OiBIVE1MQnV0dG9uRWxlbWVudCB8IG51bGwsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBjaGlwc1JlZnM/LmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpcHNSZWZzLmN1cnJlbnRbaW5kZXhdID0gZWxlbWVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVPbktleURvd24gPSAoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+ICYgS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgIGhhbmRsZUlucHV0S2V5ZG93bihldmVudCk7XG5cbiAgICAgICAgICAgICAgICBpZiAob25LZXlEb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bihldmVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWlzQ2hpcEVudW1lcmF0aW9uICYmICF2YWx1ZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgbmV3Q2hpcHMgPVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM/Lm1hcCgodmFsdWUsIGluZGV4KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGAke2luZGV4fV8ke3ZhbHVlfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgfSkpIHx8IFtdO1xuXG4gICAgICAgICAgICAgICAgc2V0Q2hpcHMobmV3Q2hpcHMpO1xuICAgICAgICAgICAgfSwgW2lzQ2hpcEVudW1lcmF0aW9uLCB2YWx1ZXNdKTtcblxuICAgICAgICAgICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRIYXNWYWx1ZShCb29sZWFuKHJlc3Q/LmRlZmF1bHRWYWx1ZSkpO1xuICAgICAgICAgICAgfSwgW3Jlc3QuZGVmYXVsdFZhbHVlXSk7XG5cbiAgICAgICAgICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SGFzVmFsdWUoQm9vbGVhbihvdXRlclZhbHVlKSB8fCBCb29sZWFuKGlucHV0UmVmPy5jdXJyZW50Py52YWx1ZSkpO1xuICAgICAgICAgICAgfSwgW291dGVyVmFsdWUsIGlucHV0UmVmPy5jdXJyZW50Py52YWx1ZV0pO1xuXG4gICAgICAgICAgICBjb25zdCBpbm5lck9wdGlvbmFsID0gQm9vbGVhbihyZXF1aXJlZCA/IGZhbHNlIDogb3B0aW9uYWwpO1xuICAgICAgICAgICAgY29uc3QgaGFzUGxhY2Vob2xkZXJPcHRpb25hbCA9IGlubmVyT3B0aW9uYWwgJiYgIWlubmVyTGFiZWxWYWx1ZSAmJiAhaGFzT3V0ZXJMYWJlbDtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbmFsVGV4dE5vZGUgPSBpbm5lck9wdGlvbmFsID8gKFxuICAgICAgICAgICAgICAgIDxTdHlsZWRPcHRpb25hbFRleHQ+XG4gICAgICAgICAgICAgICAgICAgIHtCb29sZWFuKGhhc1BsYWNlaG9sZGVyT3B0aW9uYWwgPyBpbm5lclBsYWNlaG9sZGVyVmFsdWUgOiBpbm5lckxhYmVsVmFsdWUpICYmICdcXHhhMCd9XG4gICAgICAgICAgICAgICAgICAgIHtvcHRpb25hbFRleHR9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRPcHRpb25hbFRleHQ+XG4gICAgICAgICAgICApIDogbnVsbDtcblxuICAgICAgICAgICAgY29uc3QgY2xhc3NUZXh0RWxsaXBzaXMgPVxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG4gICAgICAgICAgICAgICAgIShyZXN0IGFzIGFueSkuX3RleHRFbGxpcHNpc0Rpc2FibGUgJiYgIXRleHRBZnRlciA/IGNsYXNzZXMuaW5wdXRUZXh0RWxsaXBzaXMgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPFJvb3RcbiAgICAgICAgICAgICAgICAgICAgdmlldz17dmlld31cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17IWRpc2FibGVkICYmIHJlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICBsYWJlbFBsYWNlbWVudD17aW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVJbnB1dEZvY3VzfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNEaXZpZGVyQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNJbm5lckhpbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMudGV4dEZpZWxkR3JvdXBJdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgICAgICAgICAgICAgIHsuLi4oaGludFRleHQgJiYgeyBoaW50VmlldywgaGludFNpemUgfSl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7KGhhc091dGVyTGFiZWwgfHwgdGl0bGVDYXB0aW9uKSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8T3V0ZXJMYWJlbFdyYXBwZXIgaXNJbm5lckxhYmVsPXtsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJ30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBpZD17bGFiZWxJZH0gaHRtbEZvcj17aWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbm5lckxhYmVsVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xhYmVsPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGludFRleHQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRIaW50V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhpbnRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17aGludEZvcmtSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGV4dD17aGludFRleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VHJpZ2dlcj17aGludFRyaWdnZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0hpbnRWaXNpYmxlPXtpc0hpbnRWaXNpYmxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRhcmdldEljb249e2hpbnRUYXJnZXRJY29ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFBsYWNlbWVudD17aGludFBsYWNlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRIYXNBcnJvdz17aGludEhhc0Fycm93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludE9mZnNldD17aGludE9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRXaWR0aD17aGludFdpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludENvbnRlbnRMZWZ0PXtoaW50Q29udGVudExlZnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50U2hvdz17aGFuZGxlSGludFNob3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50SGlkZT17aGFuZGxlSGludEhpZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50Q2xpY2s9e2hhbmRsZUhpbnRDbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZEhpbnRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyZXF1aXJlZCAmJiBoYXNSZXF1aXJlZEluZGljYXRvciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5vdXRlckxhYmVsUGxhY2VtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0hpbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZEluZGljYXRvcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGl0bGVDYXB0aW9uICYmIDxUaXRsZUNhcHRpb24+e3RpdGxlQ2FwdGlvbn08L1RpdGxlQ2FwdGlvbj59XG4gICAgICAgICAgICAgICAgICAgICAgICA8L091dGVyTGFiZWxXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA8SW5wdXRXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBSZWYg0LTQu9GPINCy0L3Rg9GC0YDQtdC90L3QtdCz0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8uINCd0LUg0L7RgtC00LDQtdGC0YHRjyDQvdCw0YDRg9C20YMuXG4gICAgICAgICAgICAgICAgICAgICAgICByZWY9eyhyZXN0IGFzIGFueSkuaW5wdXRXcmFwcGVyUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogIzE1NDQsINC4INC/0L7RgdC70LUg0YPQsdGA0LDRgtGMIGNsYXNzZXMuaW5wdXRXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhIYXNDaGlwcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cmFwcGVyV2l0aG91dExlZnRDb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZXJXaXRob3V0UmlnaHRDb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMuaW5wdXRXcmFwcGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgeyFoYXNPdXRlckxhYmVsICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmVxdWlyZWQgJiYgaGFzUmVxdWlyZWRJbmRpY2F0b3IgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5pbm5lckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoaW50VGV4dCAmJiBoaW50VGFyZ2V0UGxhY2VtZW50ID09PSAnb3V0ZXInICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRIaW50V3JhcHBlciBjbGFzc05hbWU9e2NsYXNzZXMuaW5uZXJMYWJlbFBsYWNlbWVudH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhpbnRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtoaW50Rm9ya1JlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRleHQ9e2hpbnRUZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VHJpZ2dlcj17aGludFRyaWdnZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzSGludFZpc2libGU9e2lzSGludFZpc2libGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUYXJnZXRJY29uPXtoaW50VGFyZ2V0SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFBsYWNlbWVudD17aGludFBsYWNlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludEhhc0Fycm93PXtoaW50SGFzQXJyb3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRPZmZzZXQ9e2hpbnRPZmZzZXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRXaWR0aD17aGludFdpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50Q29udGVudExlZnQ9e2hpbnRDb250ZW50TGVmdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludFNob3c9e2hhbmRsZUhpbnRTaG93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50SGlkZT17aGFuZGxlSGludEhpZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRDbGljaz17aGFuZGxlSGludENsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0lubmVyTGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRIaW50V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y29udGVudExlZnQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRDb250ZW50TGVmdCBpc0NsZWFyPXtjbGVhcn0gaXNEZWZhdWx0Vmlldz17aXNEZWZhdWx0Vmlld30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjb250ZW50TGVmdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZENvbnRlbnRMZWZ0PlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dExhYmVsV3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2NvbnRlbnRSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVDb250ZW50S2V5RG93bn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3dpdGhIYXNDaGlwc31cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Qm9vbGVhbih0ZXh0QmVmb3JlICYmIGlzQ2hpcEVudW1lcmF0aW9uKSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0QmVmb3JlPnt0ZXh0QmVmb3JlfTwvU3R5bGVkVGV4dEJlZm9yZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc0NoaXBFbnVtZXJhdGlvbiAmJiBCb29sZWFuKGNoaXBzPy5sZW5ndGgpICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZENoaXBzIGNsYXNzTmFtZT17Y2xhc3Nlcy5jaGlwc1dyYXBwZXJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NoaXBzPy5tYXAoKHsgaWQ6IGNoaXBJZCwgdGV4dCB9LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbGlkYXRpb25WaWV3ID0gY2hpcFZhbGlkYXRvcj8uKFN0cmluZyh0ZXh0KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzVmlldyA9IHZhbGlkYXRpb25WaWV3Py52aWV3IHx8IGNoaXBWaWV3O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRleHRGaWVsZENoaXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPXtjaGlwSWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9eyhlbGVtZW50KSA9PiBnZXRSZWYoZWxlbWVudCwgaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtgJHtjaGlwSWR9XyR7aW5kZXh9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt0ZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dD17dGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiBoYW5kbGVDaGlwS2V5RG93bihldmVudCwgY2hpcElkLCBpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsZWFyPXsoKSA9PiBvbkNoaXBDbGVhcihjaGlwSWQsIGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uQ2hpcENsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpcFR5cGU9e2NoaXBUeXBlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlldz17cmVzVmlld31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvb3RXcmFwcGVyPXtSb290fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogIzE1NDdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9mb3JjZUNoaXBNYW5pcHVsYXRpb25XaXRoUmVhZG9ubHk9e19mb3JjZUNoaXBNYW5pcHVsYXRpb25XaXRoUmVhZG9ubHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZENoaXBzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0Q29udGFpbmVyIHJlZj17aW5wdXRDb250YWluZXJSZWZ9IGhhc0R5bmFtaWNXaWR0aD17aGFzVGV4dEFmdGVyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc1RleHRCZWZvcmUgJiYgPFN0eWxlZFRleHRCZWZvcmU+e3RleHRCZWZvcmV9PC9TdHlsZWRUZXh0QmVmb3JlPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2lucHV0Rm9ya1JlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPXtpbm5lcklkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e291dGVyVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZD17ZW51bWVyYXRpb25UeXBlID09PSAnY2hpcCcgPyBjaGlwcy5sZW5ndGggPT09IDAgJiYgcmVxdWlyZWQgOiByZXF1aXJlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17bGFiZWxJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e2hlbHBlclRleHRJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtpbm5lclBsYWNlaG9sZGVyVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc1ZhbHVlQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2VlcFBsYWNlaG9sZGVyQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NUZXh0RWxsaXBzaXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHkgJiYgY2xhc3Nlcy5yZWFkT25seUlucHV0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXshZGlzYWJsZWQgJiYgcmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbklucHV0PXtoYW5kbGVJbnB1dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbktleURvd249e2hhbmRsZU9uS2V5RG93bn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e2hhbmRsZUZvY3VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25CbHVyPXtoYW5kbGVCbHVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoYXNJbm5lckxhYmVsICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBpZD17bGFiZWxJZH0gaHRtbEZvcj17aW5uZXJJZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lubmVyTGFiZWxWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwbGFjZWhvbGRlclNob3duICYmICFoYXNWYWx1ZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRQbGFjZWhvbGRlciBoYXNQYWRkaW5nPXtoYXNQbGFjZWhvbGRlclBhZGRpbmd9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoYXNUZXh0QmVmb3JlICYmIDxTdHlsZWRUZXh0QmVmb3JlIGlzSGlkZGVuPnt0ZXh0QmVmb3JlfTwvU3R5bGVkVGV4dEJlZm9yZT59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lubmVyUGxhY2Vob2xkZXJWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzUGxhY2Vob2xkZXJPcHRpb25hbCAmJiBvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JbnB1dFBsYWNlaG9sZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGFzVGV4dEFmdGVyICYmIDxTdHlsZWRUZXh0QWZ0ZXI+e3RleHRBZnRlcn08L1N0eWxlZFRleHRBZnRlcj59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JbnB1dENvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5wdXRMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkQ29udGVudFJpZ2h0V3JhcHBlciBjbGFzc05hbWU9e2N4KGNvbnRlbnRSaWdodENvbXBlbnNhdGlvbk1hcmdpbil9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjb250ZW50UmlnaHQgJiYgPFN0eWxlZENvbnRlbnRSaWdodD57Y29udGVudFJpZ2h0fTwvU3R5bGVkQ29udGVudFJpZ2h0Pn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHshaGFzT3V0ZXJMYWJlbCAmJiBoaW50VGV4dCAmJiBoaW50VGFyZ2V0UGxhY2VtZW50ID09PSAnaW5uZXInICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhpbnRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17aGludEZvcmtSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGV4dD17aGludFRleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VHJpZ2dlcj17aGludFRyaWdnZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0hpbnRWaXNpYmxlPXtpc0hpbnRWaXNpYmxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRhcmdldEljb249e2hpbnRUYXJnZXRJY29ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFBsYWNlbWVudD17aGludFBsYWNlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRIYXNBcnJvdz17aGludEhhc0Fycm93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludE9mZnNldD17aGludE9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRXaWR0aD17aGludFdpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludENvbnRlbnRMZWZ0PXtoaW50Q29udGVudExlZnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludFNob3c9e2hhbmRsZUhpbnRTaG93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludEhpZGU9e2hhbmRsZUhpbnRIaWRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludENsaWNrPXtoYW5kbGVIaW50Q2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0lubmVyTGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRDb250ZW50UmlnaHRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICA8L0lucHV0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAge2xlZnRIZWxwZXIgJiYgPExlZnRIZWxwZXIgaWQ9e2hlbHBlclRleHRJZH0+e2xlZnRIZWxwZXJ9PC9MZWZ0SGVscGVyPn1cbiAgICAgICAgICAgICAgICA8L1Jvb3Q+XG4gICAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICk7XG5cbmV4cG9ydCBjb25zdCB0ZXh0RmllbGRDb25maWcgPSB7XG4gICAgbmFtZTogJ1RleHRGaWVsZCcsXG4gICAgdGFnOiAnZGl2JyxcbiAgICBsYXlvdXQ6IHRleHRGaWVsZFJvb3QsXG4gICAgYmFzZSxcbiAgICB2YXJpYXRpb25zOiB7XG4gICAgICAgIHZpZXc6IHtcbiAgICAgICAgICAgIGNzczogdmlld0NTUyxcbiAgICAgICAgfSxcbiAgICAgICAgc2l6ZToge1xuICAgICAgICAgICAgY3NzOiBzaXplQ1NTLFxuICAgICAgICB9LFxuICAgICAgICBjbGVhcjoge1xuICAgICAgICAgICAgY3NzOiBjbGVhckNTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBkaXNhYmxlZDoge1xuICAgICAgICAgICAgY3NzOiBkaXNhYmxlZENTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICByZWFkT25seToge1xuICAgICAgICAgICAgY3NzOiByZWFkT25seUNTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBsYWJlbFBsYWNlbWVudDoge1xuICAgICAgICAgICAgY3NzOiBsYWJlbFBsYWNlbWVudENTUyxcbiAgICAgICAgfSxcbiAgICAgICAgaGludFZpZXc6IHtcbiAgICAgICAgICAgIGNzczogaGludFZpZXdDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGhpbnRTaXplOiB7XG4gICAgICAgICAgICBjc3M6IGhpbnRTaXplQ1NTLFxuICAgICAgICB9LFxuICAgICAgICBjaGlwVmlldzoge1xuICAgICAgICAgICAgY3NzOiBjaGlwVmlld0NTUyxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIGRlZmF1bHRzOiB7XG4gICAgICAgIHNpemU6ICdtJyxcbiAgICAgICAgdmlldzogJ2RlZmF1bHQnLFxuICAgIH0sXG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStDb0IifQ== */");
186
186
  var HINT_DEFAULT_OFFSET = [
187
187
  0,
188
188
  0
@@ -262,10 +262,10 @@ var textFieldRoot = function(Root) {
262
262
  var _useState1 = _sliced_to_array((0, _react.useState)(false), 2), hasFocus = _useState1[0], setHasFocus = _useState1[1];
263
263
  var _useState2 = _sliced_to_array((0, _react.useState)([]), 2), chips = _useState2[0], setChips = _useState2[1];
264
264
  var _useState3 = _sliced_to_array((0, _react.useState)(false), 2), isHintVisible = _useState3[0], setIsHintVisible = _useState3[1];
265
- var uniqId = (0, _plasmacore.safeUseId)();
265
+ var uniqId = (0, _utils.safeUseId)();
266
266
  var innerId = id || uniqId;
267
- var labelId = (0, _plasmacore.safeUseId)();
268
- var helperTextId = (0, _plasmacore.safeUseId)();
267
+ var labelId = (0, _utils.safeUseId)();
268
+ var helperTextId = (0, _utils.safeUseId)();
269
269
  var isDefaultView = view === 'default' || readOnly || disabled;
270
270
  var isChipEnumeration = enumerationType === 'chip';
271
271
  var isChipsVisible = isChipEnumeration && Boolean(chips === null || chips === void 0 ? void 0 : chips.length);
@@ -9,9 +9,9 @@ Object.defineProperty(exports, "HintComponent", {
9
9
  }
10
10
  });
11
11
  var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
12
+ var _utils = require("../../../../utils");
12
13
  var _TextFieldstyles = require("../../TextField.styles");
13
14
  var _Icon = require("../../../_Icon");
14
- var _utils = require("../../../../utils");
15
15
  var _TextFieldtokens = require("../../TextField.tokens");
16
16
  function _define_property(obj, key, value) {
17
17
  if (key in obj) {
@@ -100,7 +100,7 @@ function _unsupported_iterable_to_array(o, minLen) {
100
100
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
101
101
  }
102
102
  import React, { forwardRef, useState, useReducer, useLayoutEffect, useRef } from "react";
103
- import { safeUseId } from "@salutejs/plasma-core";
103
+ import { safeUseId } from "../../utils";
104
104
  import { useDidMountEffect, useOutsideClick } from "../../hooks";
105
105
  import { FloatingPopover } from "./FloatingPopover";
106
106
  import { focusedReducer } from "./reducers/focusedReducer";
@@ -52,7 +52,7 @@ function _object_spread_props(target, source) {
52
52
  }
53
53
  import { flip, shift, size, useFloating, FloatingPortal, autoUpdate } from "@floating-ui/react";
54
54
  import React, { forwardRef } from "react";
55
- import { safeUseId } from "@salutejs/plasma-core";
55
+ import { safeUseId } from "../../utils";
56
56
  var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
57
57
  var target = param.target, children = param.children, opened = param.opened, portal = param.portal, listWidth = param.listWidth;
58
58
  var _useFloating = useFloating({
@@ -193,6 +193,20 @@ import { IsOutOfRange, StyledCalendar } from "./CalendarBase.styles";
193
193
  }, [
194
194
  calendarState
195
195
  ]);
196
+ useEffect(function() {
197
+ if (prevType !== type) {
198
+ dispatch({
199
+ type: ActionType.UPDATE_CALENDAR_STATE,
200
+ payload: {
201
+ calendarState: type,
202
+ size: sizeMap[type].single
203
+ }
204
+ });
205
+ setPrevType(type);
206
+ }
207
+ }, [
208
+ type
209
+ ]);
196
210
  useEffect(function() {
197
211
  if (value && prevValue && isValueUpdate(value, prevValue) || value && !prevValue) {
198
212
  dispatch({
@@ -239,6 +239,20 @@ import { StyledCalendar, StyledSeparator, StyledWrapper } from "./CalendarDouble
239
239
  }, [
240
240
  calendarState
241
241
  ]);
242
+ useEffect(function() {
243
+ if (prevType !== type) {
244
+ dispatch({
245
+ type: ActionType.UPDATE_CALENDAR_STATE,
246
+ payload: {
247
+ calendarState: type,
248
+ size: sizeMap[type].double
249
+ }
250
+ });
251
+ setPrevType(type);
252
+ }
253
+ }, [
254
+ type
255
+ ]);
242
256
  useEffect(function() {
243
257
  if (value && prevValue && isValueUpdate(value, prevValue) || value && !prevValue) {
244
258
  var _getBoundaryDates = _sliced_to_array(getBoundaryDates(), 2), minVisibleDate = _getBoundaryDates[0], maxVisibleDate = _getBoundaryDates[1];
@@ -134,6 +134,9 @@ import { StyledCalendarDays, StyledCalendarDaysHint } from "./CalendarDays.style
134
134
  };
135
135
  var getRefs = function(element, isDayInCurrentMonth, i, j) {
136
136
  if (isDayInCurrentMonth) {
137
+ if (!outerRefs.current[i + offset]) {
138
+ outerRefs.current[i + offset] = [];
139
+ }
137
140
  outerRefs.current[i + offset][j] = element;
138
141
  }
139
142
  };
@@ -140,6 +140,9 @@ import { StyledCalendarMonths } from "./CalendarMonths.styles";
140
140
  return onHoverMonth === null || onHoverMonth === void 0 ? void 0 : onHoverMonth(undefined);
141
141
  };
142
142
  var getRefs = useCallback(function(element, i, j) {
143
+ if (!outerRefs.current[i + offset]) {
144
+ outerRefs.current[i + offset] = [];
145
+ }
143
146
  outerRefs.current[i + offset][j] = element;
144
147
  }, [
145
148
  offset,
@@ -139,6 +139,9 @@ import { StyledCalendarQuarters } from "./CalendarQuarters.styles";
139
139
  return onHoverQuarter === null || onHoverQuarter === void 0 ? void 0 : onHoverQuarter(undefined);
140
140
  };
141
141
  var getRefs = useCallback(function(element, i, j) {
142
+ if (!outerRefs.current[i + offset]) {
143
+ outerRefs.current[i + offset] = [];
144
+ }
142
145
  outerRefs.current[i + offset][j] = element;
143
146
  }, [
144
147
  offset,
@@ -140,6 +140,9 @@ import { StyledCalendarYears } from "./CalendarYears.styles";
140
140
  return onHoverYear === null || onHoverYear === void 0 ? void 0 : onHoverYear(undefined);
141
141
  };
142
142
  var getRefs = useCallback(function(element, i, j) {
143
+ if (!outerRefs.current[i + offset]) {
144
+ outerRefs.current[i + offset] = [];
145
+ }
143
146
  outerRefs.current[i + offset][j] = element;
144
147
  }, [
145
148
  outerRefs
@@ -78,7 +78,8 @@ function _object_without_properties_loose(source, excluded) {
78
78
  return target;
79
79
  }
80
80
  import React, { forwardRef, useEffect, useMemo, useRef } from "react";
81
- import { safeUseId, useForkRef, extractTextFrom } from "@salutejs/plasma-core";
81
+ import { useForkRef, extractTextFrom } from "@salutejs/plasma-core";
82
+ import { safeUseId } from "../../utils";
82
83
  import { cx } from "../../utils";
83
84
  import { base as viewCSS } from "./variations/_view/base";
84
85
  import { base as sizeCSS } from "./variations/_size/base";
@@ -140,7 +140,8 @@ function _unsupported_iterable_to_array(o, minLen) {
140
140
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
141
141
  }
142
142
  import React, { forwardRef, useState, useReducer, useMemo, useLayoutEffect, useRef } from "react";
143
- import { safeUseId, useForkRef } from "@salutejs/plasma-core";
143
+ import { useForkRef } from "@salutejs/plasma-core";
144
+ import { safeUseId } from "../../../utils";
144
145
  import { isEmpty } from "../../../utils";
145
146
  import { useOutsideClick } from "../../../hooks";
146
147
  import { sizeToIconSize } from "../../Select/utils";
@@ -52,7 +52,7 @@ function _object_spread_props(target, source) {
52
52
  }
53
53
  import { flip, shift, size, useFloating, FloatingPortal, offset as offsetMiddleware, autoUpdate } from "@floating-ui/react";
54
54
  import React, { forwardRef } from "react";
55
- import { safeUseId } from "@salutejs/plasma-core";
55
+ import { safeUseId } from "../../../utils";
56
56
  // TODO: #2003
57
57
  var LIST_PADDING = 2;
58
58
  var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { safeUseId } from "@salutejs/plasma-core";
2
+ import { safeUseId } from "../../../../../utils";
3
3
  import { FloatingPopover } from "../../FloatingPopover";
4
4
  import { isEmpty } from "../../../../../utils";
5
5
  import { Ul, ListWrapper } from "../../Combobox.styles";
@@ -100,7 +100,8 @@ function _unsupported_iterable_to_array(o, minLen) {
100
100
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
101
101
  }
102
102
  import React, { Children, forwardRef, useEffect, useRef, useState } from "react";
103
- import { safeUseId, useForkRef } from "@salutejs/plasma-core";
103
+ import { useForkRef } from "@salutejs/plasma-core";
104
+ import { safeUseId } from "../../../utils";
104
105
  import { cx, getPlacements } from "../../../utils";
105
106
  import { useDidMountEffect, useForceUpdate } from "../../../hooks";
106
107
  import { getChildren, getNewSelected, getValues } from "./utils";
@@ -54,7 +54,7 @@ function _object_without_properties_loose(source, excluded) {
54
54
  return target;
55
55
  }
56
56
  import React, { forwardRef, useCallback, useMemo } from "react";
57
- import { safeUseId } from "@salutejs/plasma-core";
57
+ import { safeUseId } from "../../../../../utils";
58
58
  import { classes } from "../../Combobox.tokens";
59
59
  import { getValidComponent } from "../../utils";
60
60
  import { cx } from "../../../../../utils";
@@ -54,11 +54,11 @@ function _object_without_properties_loose(source, excluded) {
54
54
  return target;
55
55
  }
56
56
  import React, { forwardRef, useMemo } from "react";
57
- import { useForkRef, safeUseId } from "@salutejs/plasma-core";
57
+ import { useForkRef } from "@salutejs/plasma-core";
58
+ import { cx, getSizeValueFromProp, safeUseId } from "../../utils";
58
59
  import { usePopupContext } from "../Popup";
59
60
  import { Overlay } from "../Overlay";
60
61
  import { DEFAULT_Z_INDEX } from "../Popup/utils";
61
- import { cx, getSizeValueFromProp } from "../../utils";
62
62
  import { useFocusTrap } from "../../hooks";
63
63
  import { classes, tokens } from "./Drawer.tokens";
64
64
  import { base as viewCSS } from "./variations/_view/base";
@@ -118,7 +118,7 @@ export var drawerRoot = function(Root) {
118
118
  disableScroll: asModal
119
119
  }).drawerInfo;
120
120
  var transparent = useMemo(function() {
121
- return getIdLastDrawer(popupController.items) !== innerId;
121
+ return getIdLastDrawer(Array.from(popupController.items.values())) !== innerId;
122
122
  }, [
123
123
  innerId,
124
124
  popupController.items
@@ -40,7 +40,7 @@ export var useDrawer = function(param) {
40
40
  if (!closeOnEsc) {
41
41
  return;
42
42
  }
43
- if (event.keyCode === ESCAPE_KEYCODE && getIdLastDrawer(popupController.items) === id) {
43
+ if (event.keyCode === ESCAPE_KEYCODE && getIdLastDrawer(Array.from(popupController.items.values())) === id) {
44
44
  if (onEscKeyDown) {
45
45
  onEscKeyDown(event);
46
46
  return;
@@ -80,7 +80,7 @@ export var useDrawer = function(param) {
80
80
  if (!canUseDOM) {
81
81
  return;
82
82
  }
83
- if (!isOpen && !hasDrawers(popupController.items)) {
83
+ if (!isOpen && !hasDrawers(Array.from(popupController.items.values()))) {
84
84
  document.body.style.overflow = overflow.current;
85
85
  }
86
86
  }, [
@@ -100,7 +100,7 @@ function _unsupported_iterable_to_array(o, minLen) {
100
100
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
101
101
  }
102
102
  import React, { forwardRef, useCallback, useReducer, useRef } from "react";
103
- import { safeUseId } from "@salutejs/plasma-core";
103
+ import { safeUseId } from "../../utils";
104
104
  import { cx } from "../../utils";
105
105
  import { useOutsideClick } from "../../hooks";
106
106
  import { pathReducer } from "./reducers/pathReducer";
@@ -59,7 +59,7 @@ function _object_spread_props(target, source) {
59
59
  }
60
60
  import { flip, shift, useFloating, FloatingPortal, offset as offsetMiddleware, autoPlacement, autoUpdate } from "@floating-ui/react";
61
61
  import React, { forwardRef } from "react";
62
- import { safeUseId } from "@salutejs/plasma-core";
62
+ import { safeUseId } from "../../utils";
63
63
  // TODO: #2003
64
64
  var LIST_PADDING = 2;
65
65
  var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { safeUseId } from "@salutejs/plasma-core";
2
+ import { safeUseId } from "../../../../utils";
3
3
  import { DropdownItem } from "../DropdownItem/DropdownItem";
4
4
  import { Ul, ListWrapper } from "../../Dropdown.styles";
5
5
  import { FloatingPopover } from "../../FloatingPopover";
@@ -54,9 +54,8 @@ function _object_without_properties_loose(source, excluded) {
54
54
  return target;
55
55
  }
56
56
  import React, { forwardRef, useCallback, useMemo } from "react";
57
- import { safeUseId } from "@salutejs/plasma-core";
57
+ import { safeUseId, cx } from "../../../../utils";
58
58
  import { classes } from "../../Dropdown.tokens";
59
- import { cx } from "../../../../utils";
60
59
  import { getValidComponent } from "../../utils";
61
60
  import { base as viewCSS } from "./variations/_view/base";
62
61
  import { base as sizeCSS } from "./variations/_size/base";
@@ -55,8 +55,8 @@ function _object_without_properties_loose(source, excluded) {
55
55
  }
56
56
  import React, { forwardRef, useRef } from "react";
57
57
  import { useForkRef } from "@salutejs/plasma-core";
58
- import { useFocusTrap } from "../../../../hooks";
59
58
  import { safeUseId } from "../../../../utils";
59
+ import { useFocusTrap } from "../../../../hooks";
60
60
  import { base as viewCSS } from "./variations/_view/base";
61
61
  import { base as sizeCSS } from "./variations/_size/base";
62
62
  import { StyledDropdown, StyledPopover } from "./Dropdown.styles";
@@ -102,14 +102,14 @@ function _unsupported_iterable_to_array(o, minLen) {
102
102
  import React, { forwardRef, useImperativeHandle, useState } from "react";
103
103
  import maskInputCompose from "@salutejs/react-maskinput";
104
104
  var defaultFormatChars = [
105
- {
106
- str: '0',
107
- regexp: /[0-9]/
108
- },
109
105
  {
110
106
  str: '*',
111
107
  regexp: /./
112
108
  },
109
+ {
110
+ str: '0',
111
+ regexp: /[0-9]/
112
+ },
113
113
  {
114
114
  str: 'a',
115
115
  regexp: /[a-zA-Z]/