@tdesign-react/chat 1.0.2-alpha.8 → 1.1.0-alpha.1

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 (446) hide show
  1. package/es/_chunks/dep-f2051ebd.js +839 -0
  2. package/es/_chunks/dep-f2051ebd.js.map +1 -0
  3. package/es/_util/reactify.d.ts +1 -2
  4. package/es/_util/reactify.js +81 -231
  5. package/es/_util/reactify.js.map +1 -1
  6. package/es/_util/useDynamicStyle.js +1 -1
  7. package/es/attachments/index.js +4 -6
  8. package/es/attachments/index.js.map +1 -1
  9. package/es/chat-actionbar/_example-js/base.d.ts +2 -0
  10. package/es/chat-actionbar/_example-js/custom.d.ts +2 -0
  11. package/es/chat-actionbar/_example-js/style.d.ts +2 -0
  12. package/es/chat-actionbar/index.js +4 -6
  13. package/es/chat-actionbar/index.js.map +1 -1
  14. package/es/chat-attachments/_example-js/base.d.ts +2 -0
  15. package/es/chat-attachments/_example-js/scroll-x.d.ts +2 -0
  16. package/es/chat-attachments/_example-js/scroll-y.d.ts +2 -0
  17. package/es/chat-attachments/index.js +3 -1
  18. package/es/chat-attachments/index.js.map +1 -1
  19. package/es/chat-engine/_example-js/agui-basic.d.ts +10 -0
  20. package/es/chat-engine/_example-js/agui-comprehensive.d.ts +2 -0
  21. package/es/chat-engine/_example-js/agui-test.d.ts +11 -0
  22. package/es/chat-engine/_example-js/agui-toolcall.d.ts +5 -0
  23. package/es/chat-engine/_example-js/agui-videoclip.d.ts +8 -0
  24. package/es/chat-engine/_example-js/agui.d.ts +1 -0
  25. package/es/chat-engine/_example-js/basic.d.ts +9 -0
  26. package/es/chat-engine/_example-js/components/HotelCard.d.ts +3 -0
  27. package/es/chat-engine/_example-js/components/HumanInputForm.d.ts +6 -0
  28. package/es/chat-engine/_example-js/components/HumanInputResult.d.ts +3 -0
  29. package/es/chat-engine/_example-js/components/ItineraryCard.d.ts +3 -0
  30. package/es/chat-engine/_example-js/components/PlanningStatePanel.d.ts +4 -0
  31. package/es/chat-engine/_example-js/components/Toolcall.d.ts +4 -0
  32. package/es/chat-engine/_example-js/components/WeatherCard.d.ts +3 -0
  33. package/es/chat-engine/_example-js/components/login.d.ts +1 -0
  34. package/es/chat-engine/_example-js/comprehensive.d.ts +12 -0
  35. package/es/chat-engine/_example-js/custom-content.d.ts +1 -0
  36. package/es/chat-engine/_example-js/hookComponent.d.ts +1 -0
  37. package/es/chat-engine/_example-js/initial-messages.d.ts +9 -0
  38. package/es/chat-engine/_example-js/instance-methods.d.ts +13 -0
  39. package/es/chat-engine/_example-js/travel-actions.d.ts +91 -0
  40. package/es/chat-engine/_example-js/travelToolcall.d.ts +1 -0
  41. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +196 -0
  42. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +301 -0
  43. package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +1 -0
  44. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +37 -0
  45. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +116 -0
  46. package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +1 -0
  47. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +42 -0
  48. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +113 -0
  49. package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +1 -0
  50. package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +60 -0
  51. package/es/chat-engine/components/a2ui/A2UISkeleton.js +197 -0
  52. package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +1 -0
  53. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +44 -0
  54. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +139 -0
  55. package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +1 -0
  56. package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +22 -0
  57. package/es/chat-engine/components/a2ui/containers/A2UICard.js +82 -0
  58. package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +1 -0
  59. package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +18 -0
  60. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +81 -0
  61. package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +1 -0
  62. package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +14 -0
  63. package/es/chat-engine/components/a2ui/containers/A2UIList.js +62 -0
  64. package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +1 -0
  65. package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +20 -0
  66. package/es/chat-engine/components/a2ui/containers/A2UIRow.js +84 -0
  67. package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +1 -0
  68. package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +14 -0
  69. package/es/chat-engine/components/a2ui/containers/A2UITabs.js +69 -0
  70. package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +1 -0
  71. package/es/chat-engine/components/a2ui/containers/index.d.ts +8 -0
  72. package/es/chat-engine/components/a2ui/containers/index.js +30 -0
  73. package/es/chat-engine/components/a2ui/containers/index.js.map +1 -0
  74. package/es/chat-engine/components/a2ui/index.d.ts +11 -0
  75. package/es/chat-engine/components/a2ui/index.js +62 -0
  76. package/es/chat-engine/components/a2ui/index.js.map +1 -0
  77. package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +33 -0
  78. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +80 -0
  79. package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +1 -0
  80. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +12 -0
  81. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +43 -0
  82. package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +1 -0
  83. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +50 -0
  84. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +54 -0
  85. package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +1 -0
  86. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +13 -0
  87. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +89 -0
  88. package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +1 -0
  89. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +12 -0
  90. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +25 -0
  91. package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +1 -0
  92. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +13 -0
  93. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +138942 -0
  94. package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +1 -0
  95. package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +12 -0
  96. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +75 -0
  97. package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +1 -0
  98. package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +20 -0
  99. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +63 -0
  100. package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +1 -0
  101. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +56 -0
  102. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +64 -0
  103. package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +1 -0
  104. package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +12 -0
  105. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +55 -0
  106. package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +1 -0
  107. package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +12 -0
  108. package/es/chat-engine/components/a2ui/primitives/A2UIText.js +104 -0
  109. package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +1 -0
  110. package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +12 -0
  111. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +80 -0
  112. package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +1 -0
  113. package/es/chat-engine/components/a2ui/primitives/index.d.ts +15 -0
  114. package/es/chat-engine/components/a2ui/primitives/index.js +39 -0
  115. package/es/chat-engine/components/a2ui/primitives/index.js.map +1 -0
  116. package/es/chat-engine/components/a2ui/registry.d.ts +35 -0
  117. package/es/chat-engine/components/a2ui/registry.js +74 -0
  118. package/es/chat-engine/components/a2ui/registry.js.map +1 -0
  119. package/es/{chatbot/components/toolcall → chat-engine/components/activity}/index.d.ts +1 -0
  120. package/es/chat-engine/components/activity/index.js +18 -0
  121. package/es/chat-engine/components/activity/index.js.map +1 -0
  122. package/es/chat-engine/components/activity/registry.d.ts +44 -0
  123. package/es/{chatbot/components/toolcall → chat-engine/components/activity}/registry.js +32 -22
  124. package/es/chat-engine/components/activity/registry.js.map +1 -0
  125. package/es/chat-engine/components/activity/render.d.ts +11 -0
  126. package/es/chat-engine/components/activity/render.js +107 -0
  127. package/es/chat-engine/components/activity/render.js.map +1 -0
  128. package/es/chat-engine/components/activity/types.d.ts +32 -0
  129. package/es/chat-engine/components/activity/types.js +7 -0
  130. package/es/chat-engine/components/activity/types.js.map +1 -0
  131. package/es/chat-engine/components/index.d.ts +4 -0
  132. package/es/chat-engine/components/index.js +76 -0
  133. package/es/chat-engine/components/index.js.map +1 -0
  134. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +36 -0
  135. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +36 -0
  136. package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +1 -0
  137. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +46 -0
  138. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +36 -0
  139. package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +1 -0
  140. package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +113 -0
  141. package/es/chat-engine/components/json-render/SurfaceStateManager.js +195 -0
  142. package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +1 -0
  143. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +49 -0
  144. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +307 -0
  145. package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +1 -0
  146. package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +96 -0
  147. package/es/chat-engine/components/json-render/adapters/a2ui-types.js +7 -0
  148. package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +1 -0
  149. package/es/chat-engine/components/json-render/adapters/index.d.ts +7 -0
  150. package/es/chat-engine/components/json-render/adapters/index.js +11 -0
  151. package/es/chat-engine/components/json-render/adapters/index.js.map +1 -0
  152. package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +64 -0
  153. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +36 -0
  154. package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +1 -0
  155. package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +78 -0
  156. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +36 -0
  157. package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +1 -0
  158. package/es/chat-engine/components/json-render/catalog/button.d.ts +14 -0
  159. package/es/chat-engine/components/json-render/catalog/button.js +71 -0
  160. package/es/chat-engine/components/json-render/catalog/button.js.map +1 -0
  161. package/es/chat-engine/components/json-render/catalog/card.d.ts +11 -0
  162. package/es/chat-engine/components/json-render/catalog/card.js +57 -0
  163. package/es/chat-engine/components/json-render/catalog/card.js.map +1 -0
  164. package/es/chat-engine/components/json-render/catalog/index.d.ts +127 -0
  165. package/es/chat-engine/components/json-render/catalog/index.js +36 -0
  166. package/es/chat-engine/components/json-render/catalog/index.js.map +1 -0
  167. package/es/chat-engine/components/json-render/catalog/input.d.ts +20 -0
  168. package/es/chat-engine/components/json-render/catalog/input.js +36 -0
  169. package/es/chat-engine/components/json-render/catalog/input.js.map +1 -0
  170. package/es/chat-engine/components/json-render/catalog/layout.d.ts +44 -0
  171. package/es/chat-engine/components/json-render/catalog/layout.js +129 -0
  172. package/es/chat-engine/components/json-render/catalog/layout.js.map +1 -0
  173. package/es/chat-engine/components/json-render/catalog/text.d.ts +11 -0
  174. package/es/chat-engine/components/json-render/catalog/text.js +31 -0
  175. package/es/chat-engine/components/json-render/catalog/text.js.map +1 -0
  176. package/es/chat-engine/components/json-render/catalog.d.ts +549 -0
  177. package/es/chat-engine/components/json-render/catalog.js +147 -0
  178. package/es/chat-engine/components/json-render/catalog.js.map +1 -0
  179. package/es/chat-engine/components/json-render/config.d.ts +154 -0
  180. package/es/chat-engine/components/json-render/config.js +36 -0
  181. package/es/chat-engine/components/json-render/config.js.map +1 -0
  182. package/es/chat-engine/components/json-render/contexts/actions.d.ts +74 -0
  183. package/es/chat-engine/components/json-render/contexts/actions.js +290 -0
  184. package/es/chat-engine/components/json-render/contexts/actions.js.map +1 -0
  185. package/es/chat-engine/components/json-render/contexts/data.d.ts +45 -0
  186. package/es/chat-engine/components/json-render/contexts/data.js +104 -0
  187. package/es/chat-engine/components/json-render/contexts/data.js.map +1 -0
  188. package/es/chat-engine/components/json-render/contexts/validation.d.ts +59 -0
  189. package/es/chat-engine/components/json-render/contexts/validation.js +151 -0
  190. package/es/chat-engine/components/json-render/contexts/validation.js.map +1 -0
  191. package/es/chat-engine/components/json-render/contexts/visibility.d.ts +29 -0
  192. package/es/chat-engine/components/json-render/contexts/visibility.js +56 -0
  193. package/es/chat-engine/components/json-render/contexts/visibility.js.map +1 -0
  194. package/es/chat-engine/components/json-render/engine.d.ts +58 -0
  195. package/es/chat-engine/components/json-render/engine.js +88 -0
  196. package/es/chat-engine/components/json-render/engine.js.map +1 -0
  197. package/es/chat-engine/components/json-render/index.d.ts +34 -0
  198. package/es/chat-engine/components/json-render/index.js +36 -0
  199. package/es/chat-engine/components/json-render/index.js.map +1 -0
  200. package/es/chat-engine/components/json-render/performance.d.ts +91 -0
  201. package/es/chat-engine/components/json-render/performance.js +135 -0
  202. package/es/chat-engine/components/json-render/performance.js.map +1 -0
  203. package/es/chat-engine/components/json-render/renderer.d.ts +71 -0
  204. package/es/chat-engine/components/json-render/renderer.js +124 -0
  205. package/es/chat-engine/components/json-render/renderer.js.map +1 -0
  206. package/es/chat-engine/components/json-render/types.d.ts +69 -0
  207. package/es/chat-engine/components/json-render/types.js +7 -0
  208. package/es/chat-engine/components/json-render/types.js.map +1 -0
  209. package/es/chat-engine/components/provider/agent-state.js +39 -2
  210. package/es/chat-engine/components/provider/agent-state.js.map +1 -1
  211. package/es/chat-engine/components/toolcall/index.js +35 -2
  212. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  213. package/es/chat-engine/components/toolcall/registry.js +1 -1
  214. package/es/chat-engine/components/toolcall/render.d.ts +1 -1
  215. package/es/chat-engine/components/toolcall/render.js +102 -26
  216. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  217. package/es/chat-engine/components/toolcall/types.js +1 -1
  218. package/es/chat-engine/core/a2ui/index.d.ts +10 -0
  219. package/es/chat-engine/core/a2ui/index.js +24 -0
  220. package/es/chat-engine/core/a2ui/index.js.map +1 -0
  221. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
  222. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +438 -0
  223. package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
  224. package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +53 -0
  225. package/es/chat-engine/core/a2ui/processor/ComponentTree.js +158 -0
  226. package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +1 -0
  227. package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +63 -0
  228. package/es/chat-engine/core/a2ui/processor/DataStore.js +172 -0
  229. package/es/chat-engine/core/a2ui/processor/DataStore.js.map +1 -0
  230. package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +47 -0
  231. package/es/chat-engine/core/a2ui/processor/PathResolver.js +99 -0
  232. package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +1 -0
  233. package/es/chat-engine/core/a2ui/types/index.d.ts +4 -0
  234. package/es/chat-engine/core/a2ui/types/index.js +9 -0
  235. package/es/chat-engine/core/a2ui/types/index.js.map +1 -0
  236. package/es/chat-engine/core/a2ui/types/types.d.ts +770 -0
  237. package/es/chat-engine/core/a2ui/types/types.js +104 -0
  238. package/es/chat-engine/core/a2ui/types/types.js.map +1 -0
  239. package/es/chat-engine/core/a2ui/utils/binding.d.ts +34 -0
  240. package/es/chat-engine/core/a2ui/utils/binding.js +1784 -0
  241. package/es/chat-engine/core/a2ui/utils/binding.js.map +1 -0
  242. package/es/chat-engine/core/a2ui/utils/index.d.ts +5 -0
  243. package/es/chat-engine/core/a2ui/utils/index.js +13 -0
  244. package/es/chat-engine/core/a2ui/utils/index.js.map +1 -0
  245. package/es/chat-engine/core/a2ui/utils/validation.d.ts +70 -0
  246. package/es/chat-engine/core/a2ui/utils/validation.js +333 -0
  247. package/es/chat-engine/core/a2ui/utils/validation.js.map +1 -0
  248. package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +102 -0
  249. package/es/chat-engine/core/adapters/agui/activity-manager.js +144 -0
  250. package/es/chat-engine/core/adapters/agui/activity-manager.js.map +1 -0
  251. package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +149 -0
  252. package/es/chat-engine/core/adapters/agui/event-mapper.js +415 -0
  253. package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -0
  254. package/es/chat-engine/core/adapters/agui/events.d.ts +1550 -0
  255. package/es/chat-engine/core/adapters/agui/events.js +199 -0
  256. package/es/chat-engine/core/adapters/agui/events.js.map +1 -0
  257. package/es/chat-engine/core/adapters/agui/index.d.ts +95 -0
  258. package/es/chat-engine/core/adapters/agui/index.js +195 -0
  259. package/es/chat-engine/core/adapters/agui/index.js.map +1 -0
  260. package/es/chat-engine/core/adapters/agui/state-manager.d.ts +99 -0
  261. package/es/chat-engine/core/adapters/agui/state-manager.js +168 -0
  262. package/es/chat-engine/core/adapters/agui/state-manager.js.map +1 -0
  263. package/es/chat-engine/core/adapters/agui/types.d.ts +818 -0
  264. package/es/chat-engine/core/adapters/agui/types.js +95 -0
  265. package/es/chat-engine/core/adapters/agui/types.js.map +1 -0
  266. package/es/chat-engine/core/adapters/agui/utils.d.ts +203 -0
  267. package/es/chat-engine/core/adapters/agui/utils.js +330 -0
  268. package/es/chat-engine/core/adapters/agui/utils.js.map +1 -0
  269. package/es/chat-engine/core/event-bus/ChatEventBus.d.ts +88 -0
  270. package/es/chat-engine/core/event-bus/ChatEventBus.js +295 -0
  271. package/es/chat-engine/core/event-bus/ChatEventBus.js.map +1 -0
  272. package/es/chat-engine/core/event-bus/index.d.ts +5 -0
  273. package/es/chat-engine/core/event-bus/index.js +13 -0
  274. package/es/chat-engine/core/event-bus/index.js.map +1 -0
  275. package/es/chat-engine/core/event-bus/types.d.ts +230 -0
  276. package/es/chat-engine/core/event-bus/types.js +32 -0
  277. package/es/chat-engine/core/event-bus/types.js.map +1 -0
  278. package/es/chat-engine/core/index.d.ts +147 -0
  279. package/es/chat-engine/core/index.js +754 -0
  280. package/es/chat-engine/core/index.js.map +1 -0
  281. package/es/chat-engine/core/processor/index.d.ts +20 -0
  282. package/es/chat-engine/core/processor/index.js +146 -0
  283. package/es/chat-engine/core/processor/index.js.map +1 -0
  284. package/es/chat-engine/core/server/batch-client.d.ts +20 -0
  285. package/es/chat-engine/core/server/batch-client.js +114 -0
  286. package/es/chat-engine/core/server/batch-client.js.map +1 -0
  287. package/es/chat-engine/core/server/connection-manager.d.ts +39 -0
  288. package/es/chat-engine/core/server/connection-manager.js +84 -0
  289. package/es/chat-engine/core/server/connection-manager.js.map +1 -0
  290. package/es/chat-engine/core/server/errors.d.ts +22 -0
  291. package/es/chat-engine/core/server/errors.js +80 -0
  292. package/es/chat-engine/core/server/errors.js.map +1 -0
  293. package/es/chat-engine/core/server/index.d.ts +11 -0
  294. package/es/chat-engine/core/server/index.js +26 -0
  295. package/es/chat-engine/core/server/index.js.map +1 -0
  296. package/es/chat-engine/core/server/llm-service.d.ts +44 -0
  297. package/es/chat-engine/core/server/llm-service.js +200 -0
  298. package/es/chat-engine/core/server/llm-service.js.map +1 -0
  299. package/es/chat-engine/core/server/sse-client.d.ts +77 -0
  300. package/es/chat-engine/core/server/sse-client.js +362 -0
  301. package/es/chat-engine/core/server/sse-client.js.map +1 -0
  302. package/es/chat-engine/core/server/sse-parser.d.ts +49 -0
  303. package/es/chat-engine/core/server/sse-parser.js +116 -0
  304. package/es/chat-engine/core/server/sse-parser.js.map +1 -0
  305. package/es/chat-engine/core/server/types.d.ts +54 -0
  306. package/es/chat-engine/core/server/types.js +28 -0
  307. package/es/chat-engine/core/server/types.js.map +1 -0
  308. package/es/chat-engine/core/store/message.d.ts +27 -0
  309. package/es/chat-engine/core/store/message.js +263 -0
  310. package/es/chat-engine/core/store/message.js.map +1 -0
  311. package/es/chat-engine/core/store/model.d.ts +8 -0
  312. package/es/chat-engine/core/store/model.js +65 -0
  313. package/es/chat-engine/core/store/model.js.map +1 -0
  314. package/es/chat-engine/core/store/reactiveState.d.ts +52 -0
  315. package/es/chat-engine/core/store/reactiveState.js +1359 -0
  316. package/es/chat-engine/core/store/reactiveState.js.map +1 -0
  317. package/es/chat-engine/core/type.d.ts +271 -0
  318. package/es/chat-engine/core/type.js +7 -0
  319. package/es/chat-engine/core/type.js.map +1 -0
  320. package/es/chat-engine/core/utils/eventEmitter.d.ts +10 -0
  321. package/es/chat-engine/core/utils/eventEmitter.js +67 -0
  322. package/es/chat-engine/core/utils/eventEmitter.js.map +1 -0
  323. package/es/chat-engine/core/utils/index.d.ts +33 -0
  324. package/es/chat-engine/core/utils/index.js +999 -0
  325. package/es/chat-engine/core/utils/index.js.map +1 -0
  326. package/es/chat-engine/core/utils/logger.d.ts +30 -0
  327. package/es/chat-engine/core/utils/logger.js +87 -0
  328. package/es/chat-engine/core/utils/logger.js.map +1 -0
  329. package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +90 -0
  330. package/es/chat-engine/hooks/a2ui/A2UIContext.js +97 -0
  331. package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +1 -0
  332. package/es/chat-engine/hooks/a2ui/index.d.ts +12 -0
  333. package/es/chat-engine/hooks/a2ui/index.js +19 -0
  334. package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +40 -0
  335. package/es/chat-engine/hooks/a2ui/useA2UIAction.js +74 -0
  336. package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +1 -0
  337. package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +36 -0
  338. package/es/chat-engine/hooks/a2ui/useA2UISurface.js +39 -0
  339. package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +1 -0
  340. package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +53 -0
  341. package/es/chat-engine/hooks/a2ui/useDataBinding.js +111 -0
  342. package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +1 -0
  343. package/es/chat-engine/hooks/index.d.ts +4 -0
  344. package/es/chat-engine/hooks/index.js +54 -0
  345. package/es/chat-engine/hooks/index.js.map +1 -0
  346. package/es/chat-engine/hooks/useAgentActivity.d.ts +15 -0
  347. package/es/chat-engine/hooks/useAgentActivity.js +73 -0
  348. package/es/chat-engine/hooks/useAgentActivity.js.map +1 -0
  349. package/es/chat-engine/hooks/useAgentState.js +39 -2
  350. package/es/chat-engine/hooks/useAgentState.js.map +1 -1
  351. package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
  352. package/es/chat-engine/hooks/useChat.d.ts +3 -3
  353. package/es/chat-engine/hooks/useChat.js +41 -3
  354. package/es/chat-engine/hooks/useChat.js.map +1 -1
  355. package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +56 -0
  356. package/es/chat-engine/hooks/useJsonRenderActivity.js +63 -0
  357. package/es/chat-engine/hooks/useJsonRenderActivity.js.map +1 -0
  358. package/es/chat-engine/index.d.ts +3 -3
  359. package/es/chat-engine/index.js +61 -5
  360. package/es/chat-engine/index.js.map +1 -1
  361. package/es/chat-filecard/_example-js/base.d.ts +1 -0
  362. package/es/chat-filecard/index.js +4 -6
  363. package/es/chat-filecard/index.js.map +1 -1
  364. package/es/chat-loading/_example-js/base.d.ts +2 -0
  365. package/es/chat-loading/_example-js/text.d.ts +2 -0
  366. package/es/chat-loading/index.js +4 -6
  367. package/es/chat-loading/index.js.map +1 -1
  368. package/es/chat-markdown/_example-js/base.d.ts +1 -0
  369. package/es/chat-markdown/_example-js/custom.d.ts +2 -0
  370. package/es/chat-markdown/_example-js/event.d.ts +1 -0
  371. package/es/chat-markdown/_example-js/footnote.d.ts +2 -0
  372. package/es/chat-markdown/_example-js/plugin.d.ts +2 -0
  373. package/es/chat-markdown/_example-js/theme.d.ts +2 -0
  374. package/es/chat-markdown/index.js +4 -6
  375. package/es/chat-markdown/index.js.map +1 -1
  376. package/es/chat-message/_example-js/action.d.ts +1 -0
  377. package/es/chat-message/_example-js/base.d.ts +1 -0
  378. package/es/chat-message/_example-js/configure.d.ts +1 -0
  379. package/es/chat-message/_example-js/content.d.ts +1 -0
  380. package/es/chat-message/_example-js/custom.d.ts +1 -0
  381. package/es/chat-message/_example-js/handle-actions.d.ts +7 -0
  382. package/es/chat-message/_example-js/status.d.ts +1 -0
  383. package/es/chat-message/_example-js/think.d.ts +1 -0
  384. package/es/chat-message/index.js +4 -6
  385. package/es/chat-message/index.js.map +1 -1
  386. package/es/chat-sender/_example-js/attachment.d.ts +2 -0
  387. package/es/chat-sender/_example-js/base.d.ts +2 -0
  388. package/es/chat-sender/_example-js/custom.d.ts +2 -0
  389. package/es/chat-sender/index.js +4 -6
  390. package/es/chat-sender/index.js.map +1 -1
  391. package/es/chat-thinking/_example-js/base.d.ts +1 -0
  392. package/es/chat-thinking/_example-js/style.d.ts +1 -0
  393. package/es/chat-thinking/index.js +4 -6
  394. package/es/chat-thinking/index.js.map +1 -1
  395. package/es/chatbot/_example-js/agent.d.ts +1 -0
  396. package/es/chatbot/_example-js/agui.d.ts +13 -0
  397. package/es/chatbot/_example-js/backup/travel.d.ts +1 -0
  398. package/es/chatbot/_example-js/basic.d.ts +1 -0
  399. package/es/chatbot/_example-js/code.d.ts +1 -0
  400. package/es/chatbot/_example-js/components/ItineraryCard.d.ts +3 -0
  401. package/es/chatbot/_example-js/components/login.d.ts +1 -0
  402. package/es/chatbot/_example-js/comprehensive.d.ts +1 -0
  403. package/es/chatbot/_example-js/custom-content.d.ts +1 -0
  404. package/es/chatbot/_example-js/custom-merge.d.ts +1 -0
  405. package/es/chatbot/_example-js/custom.d.ts +1 -0
  406. package/es/chatbot/_example-js/docs.d.ts +1 -0
  407. package/es/chatbot/_example-js/image.d.ts +1 -0
  408. package/es/chatbot/_example-js/initial-messages.d.ts +9 -0
  409. package/es/chatbot/_example-js/instance-methods.d.ts +14 -0
  410. package/es/chatbot/_example-js/nostream.d.ts +1 -0
  411. package/es/chatbot/_example-js/quick-start.d.ts +9 -0
  412. package/es/chatbot/_example-js/research.d.ts +1 -0
  413. package/es/chatbot/_example-js/role-message-config.d.ts +22 -0
  414. package/es/chatbot/_example-js/sender-config.d.ts +20 -0
  415. package/es/chatbot/_example-js/service-config.d.ts +17 -0
  416. package/es/chatbot/_example-js/simple.d.ts +1 -0
  417. package/es/chatbot/_example-js/utils/messageRenderer.d.ts +5 -0
  418. package/es/chatbot/docs/react-best-practice.d.ts +13 -0
  419. package/es/chatbot/index.js +4 -6
  420. package/es/chatbot/index.js.map +1 -1
  421. package/es/index.js +59 -9
  422. package/es/index.js.map +1 -1
  423. package/es/style/index.js +1 -1
  424. package/package.json +6 -3
  425. package/es/chatbot/components/provider/agent-state.d.ts +0 -5
  426. package/es/chatbot/components/provider/agent-state.js +0 -28
  427. package/es/chatbot/components/provider/agent-state.js.map +0 -1
  428. package/es/chatbot/components/toolcall/index.js +0 -19
  429. package/es/chatbot/components/toolcall/registry.d.ts +0 -35
  430. package/es/chatbot/components/toolcall/registry.js.map +0 -1
  431. package/es/chatbot/components/toolcall/render.d.ts +0 -13
  432. package/es/chatbot/components/toolcall/render.js +0 -207
  433. package/es/chatbot/components/toolcall/render.js.map +0 -1
  434. package/es/chatbot/components/toolcall/types.d.ts +0 -57
  435. package/es/chatbot/components/toolcall/types.js +0 -15
  436. package/es/chatbot/components/toolcall/types.js.map +0 -1
  437. package/es/chatbot/hooks/useAgentState.d.ts +0 -40
  438. package/es/chatbot/hooks/useAgentState.js +0 -76
  439. package/es/chatbot/hooks/useAgentState.js.map +0 -1
  440. package/es/chatbot/hooks/useAgentToolcall.d.ts +0 -28
  441. package/es/chatbot/hooks/useAgentToolcall.js +0 -78
  442. package/es/chatbot/hooks/useAgentToolcall.js.map +0 -1
  443. package/es/chatbot/hooks/useChat.d.ts +0 -11
  444. package/es/chatbot/hooks/useChat.js +0 -66
  445. package/es/chatbot/hooks/useChat.js.map +0 -1
  446. /package/es/{chatbot/components/toolcall → chat-engine/hooks/a2ui}/index.js.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dep-f2051ebd.js","sources":["../../../../node_modules/.pnpm/react-fast-compare@3.2.2/node_modules/react-fast-compare/index.js","../../../pro-components/chat/chat-engine/components/json-render/JsonRenderActivityRenderer.tsx","../../../pro-components/chat/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.tsx","../../../pro-components/chat/chat-engine/components/json-render/catalog/input.tsx","../../../pro-components/chat/chat-engine/components/json-render/catalog/a2ui-binding.tsx","../../../pro-components/chat/chat-engine/components/json-render/catalog/a2ui-registry.tsx","../../../pro-components/chat/chat-engine/components/json-render/catalog/index.ts","../../../pro-components/chat/chat-engine/components/json-render/config.tsx"],"sourcesContent":["/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.3\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","/**\n * json-render Activity 渲染器\n * 基于 TDesign ChatEngine 的 Activity 机制集成 json-render\n * \n * 核心特性:\n * 1. 支持 ACTIVITY_SNAPSHOT 全量渲染\n * 2. 支持 ACTIVITY_DELTA 增量更新(Delta Merge 由数据层完成,此处接收完整 Schema)\n * 3. 使用 React.memo + react-fast-compare 优化渲染性能\n * 4. 与现有 A2UI 渲染器并行工作\n * \n */\n\nimport React, { useMemo } from 'react';\nimport isEqual from 'react-fast-compare';\nimport { Renderer, ActionProvider, VisibilityProvider } from './';\nimport { DataProvider } from './contexts/data';\nimport type { ComponentRegistry } from './renderer';\nimport type { JsonRenderActivityProps } from './types';\n\nexport interface JsonRenderActivityRendererProps extends JsonRenderActivityProps {\n /** 组件注册表(必须) */\n registry: ComponentRegistry;\n /** \n * Action 处理器映射表\n * \n * 示例:\n * ```tsx\n * const actionHandlers = {\n * submit: async (params) => { ... },\n * reset: async (params) => { ... },\n * cancel: async (params) => { ... },\n * };\n * ```\n */\n actionHandlers?: Record<string, (params: Record<string, unknown>) => void | Promise<void>>;\n /** 显示调试信息 */\n debug?: boolean;\n}\n\n/**\n * json-render Activity 渲染器组件\n * \n * 性能优化策略:\n * 1. 使用 React.memo + react-fast-compare 进行高效的 props 对比\n * 2. 直接使用 props.content 渲染,避免 Double Render\n * 3. Delta Merge 在数据层(ChatEngine)完成,此组件只负责渲染完整 Schema\n * \n * 数据同步策略:\n * - DataProvider 使用 initialData 初始化\n */\nconst JsonRenderActivityRendererInner: React.FC<JsonRenderActivityRendererProps> = ({\n activityType,\n content,\n messageId,\n registry,\n actionHandlers = {},\n}) => {\n // 直接在渲染阶段做校验\n const isValidSchema = content && content.root && content.elements && content.elements[content.root];\n\n // 数据处理:使用 useMemo 缓存,只在 content.data 变化时重新计算\n const renderData = useMemo(() => content?.data || {}, [content?.data]);\n\n // todo: Schema 无效时显示加载状态\n // if (!isValidSchema) {\n // return (\n // <div style={{ padding: '16px', color: 'var(--td-text-color-secondary)' }}>\n // 数据初始化中...\n // </div>\n // );\n // }\n\n return (\n <div data-activity-type={activityType} data-message-id={messageId}>\n <DataProvider initialData={renderData}>\n <VisibilityProvider>\n <ActionProvider handlers={actionHandlers}>\n <Renderer tree={content} registry={registry} />\n </ActionProvider>\n </VisibilityProvider>\n </DataProvider>\n </div>\n );\n};\n\n/**\n * 使用 React.memo 包装,配合 react-fast-compare 进行高效的深比较\n * \n * 对比策略:\n * 1. registry 引用比较(通常是稳定的)\n * 2. actionHandlers 引用比较(建议使用 useMemo 稳定化)\n * 3. content 使用 react-fast-compare 深比较(比 JSON.stringify 快 3-5 倍)\n */\nexport const JsonRenderActivityRenderer = React.memo(\n JsonRenderActivityRendererInner,\n (prevProps, nextProps) => {\n // registry 变化必须重渲染\n if (prevProps.registry !== nextProps.registry) return false;\n \n // actionHandlers 变化必须重渲染\n if (prevProps.actionHandlers !== nextProps.actionHandlers) return false;\n\n // content 引用相同,跳过渲染\n if (prevProps.content === nextProps.content) return true;\n\n // 使用 react-fast-compare 进行高效深比较\n // 比 JSON.stringify 快 3-5 倍,且能正确处理循环引用\n return isEqual(prevProps.content, nextProps.content);\n },\n);\n\n/**\n * 默认导出\n */\nexport default JsonRenderActivityRenderer;\n","/**\n * A2UI v0.9 + json-render Activity 渲染器\n * 将 A2UI v0.9 协议转换为 json-render Schema 进行渲染\n * \n * 工作流程:\n * 1. 接收 ACTIVITY_SNAPSHOT/DELTA 中的 A2UI content\n * 2. 区分消息类型:UI型 vs 纯数据型\n * 3. UI型:转换为 Schema 并注册到 SurfaceStateManager,渲染 UI\n * 4. 纯数据型:通过 SurfaceStateManager 更新数据,触发订阅者重渲染,本组件不渲染\n * \n * 消息分类:\n * - UI型消息:包含 createSurface / updateComponents / deleteSurface → 需要渲染/更新 UI\n * - 纯数据型消息:仅包含 updateDataModel → 只更新状态,不渲染新 UI\n */\n\nimport React, { useMemo, useEffect, useState, useCallback } from 'react';\nimport type { ComponentRegistry } from './renderer';\nimport type { JsonRenderActivityProps, JsonRenderSchema } from './types';\nimport { JsonRenderActivityRenderer } from './JsonRenderActivityRenderer';\nimport { convertA2UIMessagesToJsonRender } from './adapters';\nimport { surfaceStateManager } from './SurfaceStateManager';\nimport type { A2UIMessage } from './adapters';\n\nexport interface A2UIJsonRenderActivityRendererProps extends Omit<JsonRenderActivityProps, 'content'> {\n /** A2UI content(包含 messages 数组) */\n content: {\n messages?: A2UIMessage[];\n [key: string]: any;\n };\n /** 组件注册表(必须) */\n registry: ComponentRegistry;\n /** Action 处理器(可选) */\n actionHandlers?: Record<string, (params: Record<string, unknown>) => void | Promise<void>>;\n /** 显示调试信息 */\n debug?: boolean;\n}\n\n/**\n * 从消息中提取 surfaceId\n */\nfunction extractSurfaceId(messages: A2UIMessage[]): string | null {\n for (const msg of messages) {\n if (msg.createSurface) return msg.createSurface.surfaceId;\n if (msg.updateComponents) return msg.updateComponents.surfaceId;\n if (msg.updateDataModel) return msg.updateDataModel.surfaceId;\n if (msg.deleteSurface) return msg.deleteSurface.surfaceId;\n }\n return null;\n}\n\n/**\n * 判断消息是否为\"UI型\"(需要渲染/更新 UI)\n * 包括 createSurface / updateComponents / deleteSurface\n * 只有纯 updateDataModel 消息不需要渲染\n */\nfunction isUIMessages(messages: A2UIMessage[]): boolean {\n return messages.some(msg => msg.createSurface || msg.updateComponents || msg.deleteSurface);\n}\n\n/**\n * 判断消息是否包含删除操作\n */\nfunction hasDeletionMessages(messages: A2UIMessage[]): boolean {\n return messages.some(msg => msg.deleteSurface);\n}\n\n/**\n * 判断消息是否包含创建/更新操作(需要渲染 UI 的)\n */\nfunction hasCreationMessages(messages: A2UIMessage[]): boolean {\n return messages.some(msg => msg.createSurface || msg.updateComponents);\n}\n\n/**\n * A2UI v0.9 + json-render Activity 渲染器组件\n */\nexport const A2UIJsonRenderActivityRenderer: React.FC<A2UIJsonRenderActivityRendererProps> = ({\n activityType,\n content,\n messageId,\n ext,\n registry,\n actionHandlers,\n debug = false,\n}) => {\n // 设置调试模式\n useEffect(() => {\n surfaceStateManager.setDebug(debug);\n }, [debug]);\n\n // 用于触发重渲染的版本号\n const [schemaVersion, setSchemaVersion] = useState(0);\n\n // 分析消息类型\n const { surfaceId, isUI, isDeletion, isCreation, messages } = useMemo(() => {\n const msgs = content.messages;\n if (!Array.isArray(msgs) || msgs.length === 0) {\n return { surfaceId: null, isUI: false, isDeletion: false, isCreation: false, messages: [] };\n }\n return {\n surfaceId: extractSurfaceId(msgs),\n isUI: isUIMessages(msgs),\n isDeletion: hasDeletionMessages(msgs),\n isCreation: hasCreationMessages(msgs),\n messages: msgs,\n };\n }, [content.messages]);\n\n // 处理消息并获取 Schema\n const initialSchema = useMemo<JsonRenderSchema | null>(() => {\n if (!surfaceId || messages.length === 0) {\n return null;\n }\n\n if (debug) {\n // eslint-disable-next-line no-console\n console.log('[A2UI Adapter] 处理消息:', {\n messageId,\n surfaceId,\n messagesCount: messages.length,\n messageTypes: messages.map(m => \n Object.keys(m).filter(k => ['createSurface', 'updateComponents', 'updateDataModel', 'deleteSurface'].includes(k))[0]\n ),\n isUI,\n isCreation,\n isDeletion,\n cachedSurfaces: surfaceStateManager.getAllSurfaceIds(),\n });\n }\n\n // 删除型消息:清理缓存\n if (isDeletion) {\n surfaceStateManager.deleteSurface(surfaceId);\n if (debug) {\n // eslint-disable-next-line no-console\n console.log('[A2UI Adapter] 删除 Surface:', surfaceId);\n }\n return null;\n }\n\n // 创建型消息:转换并注册\n if (isCreation) {\n const schema = convertA2UIMessagesToJsonRender(messages);\n if (schema) {\n // 提取 catalogId\n const catalogId = messages.find(m => m.createSurface)?.createSurface?.catalogId;\n surfaceStateManager.registerSurface(surfaceId, schema, catalogId);\n \n if (debug) {\n // eslint-disable-next-line no-console\n console.log('[A2UI Adapter] 创建型消息,注册 Surface:', {\n surfaceId,\n elementsCount: Object.keys(schema.elements).length,\n data: schema.data,\n });\n }\n }\n return schema;\n }\n\n // 更新型消息:通过 SurfaceStateManager 更新数据\n for (const msg of messages) {\n if (msg.updateDataModel) {\n const { path, op, value } = msg.updateDataModel;\n const success = surfaceStateManager.updateData(surfaceId, path, op || 'replace', value);\n \n if (debug) {\n // eslint-disable-next-line no-console\n console.log('[A2UI Adapter] 更新型消息,更新数据:', {\n surfaceId,\n path,\n op: op || 'replace',\n value,\n success,\n });\n }\n }\n }\n\n // 更新型消息不需要渲染,返回 null\n return null;\n }, [messages, surfaceId, isCreation, isDeletion, isUI, debug, messageId]);\n\n // 订阅状态变化的回调\n const handleSchemaUpdate = useCallback(() => {\n if (debug) {\n // eslint-disable-next-line no-console\n console.log('[A2UI Adapter] 收到状态更新通知,触发重渲染');\n }\n setSchemaVersion(v => v + 1);\n }, [debug]);\n\n // 订阅 Surface 状态变化(仅当是创建型消息时)\n useEffect(() => {\n if (!isCreation || !surfaceId) {\n return;\n }\n\n if (debug) {\n // eslint-disable-next-line no-console\n console.log('[A2UI Adapter] 订阅 Surface 状态:', surfaceId);\n }\n\n const unsubscribe = surfaceStateManager.subscribe(surfaceId, handleSchemaUpdate);\n\n return () => {\n if (debug) {\n // eslint-disable-next-line no-console\n console.log('[A2UI Adapter] 取消订阅 Surface 状态:', surfaceId);\n }\n unsubscribe();\n };\n }, [isCreation, surfaceId, handleSchemaUpdate, debug]);\n\n // 获取当前 Schema(考虑版本变化)\n const currentSchema = useMemo(() => {\n if (!isCreation || !surfaceId) {\n return null;\n }\n // schemaVersion 变化时从缓存获取最新 Schema\n return surfaceStateManager.getSchema(surfaceId) || initialSchema;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isCreation, surfaceId, initialSchema, schemaVersion]);\n\n // 非 UI 型消息不渲染(仅 updateDataModel 的消息)\n if (!isUI) {\n if (debug && messages.length > 0) {\n // eslint-disable-next-line no-console\n console.log('[A2UI Adapter] 纯数据更新消息,跳过渲染');\n }\n return null;\n }\n\n // 删除型消息:返回 null(UI 已被删除)\n if (isDeletion && !isCreation) {\n if (debug) {\n // eslint-disable-next-line no-console\n console.log('[A2UI Adapter] 删除型消息,跳过渲染');\n }\n return null;\n }\n\n // 渲染 UI\n return (\n <JsonRenderActivityRenderer\n activityType={activityType}\n content={currentSchema}\n messageId={messageId}\n ext={ext}\n registry={registry}\n actionHandlers={actionHandlers}\n />\n );\n};\n\nexport default A2UIJsonRenderActivityRenderer;\n","/**\n * TDesign Input 组件适配 json-render\n * \n * 这是纯净的 json-render Input 组件,不包含 A2UI 协议绑定逻辑\n * 如需 A2UI 支持,请使用 a2uiRegistry 中的 A2UITextField\n */\n\nimport React from 'react';\nimport { Input, Space } from 'tdesign-react';\nimport type { InputProps } from 'tdesign-react';\nimport type { ComponentRenderProps } from '../types';\nimport { useData } from '../';\nimport { getByPath } from '@json-render/core';\n\n/**\n * json-render Input 组件(基础版本,不带数据绑定)\n */\nexport const JsonRenderInput: React.FC<ComponentRenderProps> = ({ element }) => {\n const {\n value,\n defaultValue,\n placeholder,\n disabled = false,\n readonly = false,\n size = 'medium',\n type = 'text',\n maxlength,\n clearable = false,\n status,\n onChange,\n onBlur,\n onFocus,\n onEnter,\n onClear,\n ...restProps\n } = element.props as InputProps;\n\n return (\n <Input\n value={value}\n defaultValue={defaultValue}\n placeholder={placeholder}\n disabled={disabled}\n readonly={readonly}\n size={size}\n type={type}\n maxlength={maxlength}\n clearable={clearable}\n status={status}\n onChange={onChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onEnter={onEnter}\n onClear={onClear}\n {...restProps}\n />\n );\n};\n\nJsonRenderInput.displayName = 'JsonRenderInput';\n\n/**\n * json-render TextField 组件(带 label 和 valuePath 数据绑定)\n * \n * 这是标准 json-render 的 TextField,支持 valuePath 但不支持 A2UI 的 disabledPath\n * 如需完整 A2UI 支持,请使用 a2uiRegistry 中的 A2UITextField\n */\nexport const JsonRenderTextField: React.FC<ComponentRenderProps> = ({ element }) => {\n const {\n label,\n valuePath,\n placeholder,\n type = 'text',\n disabled = false,\n size = 'medium',\n ...restProps\n } = element.props as InputProps & {\n label?: string;\n valuePath?: string;\n };\n\n const { data, set } = useData();\n\n const value = valuePath ? (getByPath(data, valuePath) as string) ?? '' : '';\n\n const handleChange = (newValue: string) => {\n if (valuePath) {\n set(valuePath, newValue);\n }\n };\n\n if (label) {\n return (\n <Space direction=\"vertical\" size={4} style={{ width: '100%' }}>\n <label style={{ fontSize: '14px', fontWeight: 500 }}>{label}</label>\n <Input\n value={value}\n placeholder={placeholder}\n type={type}\n disabled={disabled}\n size={size}\n onChange={handleChange}\n {...restProps}\n />\n </Space>\n );\n }\n\n return (\n <Input\n value={value}\n placeholder={placeholder}\n type={type}\n disabled={disabled}\n size={size}\n onChange={handleChange}\n {...restProps}\n />\n );\n};\n\nJsonRenderTextField.displayName = 'JsonRenderTextField';\n\nexport default JsonRenderInput;\n","/**\n * A2UI 数据绑定 HOC\n * \n * 统一处理 A2UI 协议的标准字段:\n * - valuePath: 值的数据绑定路径(如 /userInfo/name)\n * - disabledPath: disabled 状态的数据绑定路径(如 /formDisabled)\n * - action.context: action 参数中的动态数据绑定\n * \n * 性能优化:\n * - 使用 React.memo + 精确值比较避免不必要渲染\n * - Action 参数延迟解析(触发时才计算)\n * - 使用 useRef 缓存回调函数避免重建\n * \n * 使用方式:\n * ```tsx\n * // 创建支持 A2UI 绑定的 Input\n * const A2UIInput = withA2UIBinding(Input, {\n * valueField: 'value',\n * onChangeField: 'onChange',\n * });\n * \n * // 创建支持 action 的 Button\n * const A2UIButton = withA2UIBinding(Button, {\n * supportsAction: true,\n * actionTrigger: 'onClick', // 默认\n * });\n * \n * // Input 支持 onEnter 触发 action\n * const A2UISearchInput = withA2UIBinding(Input, {\n * valueField: 'value',\n * onChangeField: 'onChange',\n * supportsAction: true,\n * actionTrigger: 'onEnter',\n * });\n * ```\n */\n\nimport React, { useCallback, useRef, memo, useMemo } from 'react';\nimport type { ComponentRenderProps } from '@json-render/react';\nimport { useData } from '../';\nimport { getByPath } from '@json-render/core';\nimport type { Action } from '@json-render/core';\n\n/**\n * A2UI 绑定配置\n */\nexport interface A2UIBindingConfig {\n /** 组件的值字段名,默认 'value' */\n valueField?: string;\n /** 组件的 onChange 字段名,默认 'onChange' */\n onChangeField?: string;\n /** 是否支持 action 绑定,默认 false */\n supportsAction?: boolean;\n /** \n * Action 触发事件名,默认 'onClick'\n * 可设置为 'onEnter'、'onChange' 等\n */\n actionTrigger?: string;\n}\n\n/**\n * 解析 action params 中的动态数据绑定\n * 将 { path: '/xxx' } 格式的引用替换为实际数据\n * \n * 性能优化:使用迭代替代递归,减少调用栈深度\n */\nfunction resolveActionParams(\n params: Record<string, unknown>,\n data: Record<string, unknown>,\n maxDepth = 10,\n): Record<string, unknown> {\n const resolved: Record<string, unknown> = {};\n \n // 使用栈迭代处理,避免深递归\n const stack: Array<{\n source: Record<string, unknown>;\n target: Record<string, unknown>;\n depth: number;\n }> = [{ source: params, target: resolved, depth: 0 }];\n \n while (stack.length > 0) {\n const { source, target, depth } = stack.pop()!;\n \n if (depth >= maxDepth) {\n // 防止无限递归\n Object.assign(target, source);\n continue;\n }\n \n for (const [key, value] of Object.entries(source)) {\n if (value && typeof value === 'object' && 'path' in value) {\n // 动态绑定:{ path: '/userInfo' } → 实际数据\n const pathValue = (value as { path: string }).path;\n target[key] = getByPath(data, pathValue);\n } else if (value && typeof value === 'object' && !Array.isArray(value)) {\n // 嵌套对象,加入栈处理\n const nestedTarget: Record<string, unknown> = {};\n target[key] = nestedTarget;\n stack.push({\n source: value as Record<string, unknown>,\n target: nestedTarget,\n depth: depth + 1,\n });\n } else {\n // 静态值直接保留\n target[key] = value;\n }\n }\n }\n \n return resolved;\n}\n\n/**\n * A2UI 数据绑定 HOC 内部组件\n * 处理实际的数据绑定逻辑\n */\ninterface A2UIBoundInnerProps<P> extends ComponentRenderProps {\n WrappedComponent: React.ComponentType<P>;\n valueField: string;\n onChangeField: string;\n supportsAction: boolean;\n actionTrigger: string;\n}\n\nfunction A2UIBoundInner<P extends Record<string, any>>({\n element,\n children,\n onAction,\n WrappedComponent,\n valueField,\n onChangeField,\n supportsAction,\n actionTrigger,\n}: A2UIBoundInnerProps<P>) {\n const { data, set } = useData();\n \n // 提取 A2UI 特有字段\n const {\n valuePath,\n disabledPath,\n action,\n disabled: staticDisabled,\n ...componentProps\n } = element.props as P & {\n valuePath?: string;\n disabledPath?: string;\n action?: string | Action;\n disabled?: boolean;\n };\n\n // 使用 ref 缓存 data,action 触发时获取最新值\n const dataRef = useRef(data);\n dataRef.current = data;\n\n // 提取绑定的值(只在真正需要的路径变化时才变)\n const boundValue = useMemo(() => {\n if (valuePath) {\n return getByPath(data, valuePath) ?? '';\n }\n return undefined;\n }, [valuePath, valuePath ? getByPath(data, valuePath) : undefined]);\n\n // 提取 disabled 状态\n const boundDisabled = useMemo(() => {\n if (disabledPath) {\n return Boolean(getByPath(data, disabledPath));\n }\n return staticDisabled ?? false;\n }, [disabledPath, disabledPath ? getByPath(data, disabledPath) : undefined, staticDisabled]);\n\n // 使用 ref 缓存 set 函数,避免 handleChange 重建\n const setRef = useRef(set);\n setRef.current = set;\n\n // 创建稳定的 onChange 处理器\n const handleChange = useCallback((newValue: unknown) => {\n if (valuePath) {\n setRef.current(valuePath, newValue);\n }\n }, [valuePath]);\n\n // 创建稳定的 action 处理器(延迟解析,触发时才获取最新 data)\n const handleAction = useCallback(() => {\n if (!action || !onAction) return;\n\n // 标准化 action 格式\n const actionObj: Action = typeof action === 'string'\n ? { name: action, params: {} }\n : action;\n\n // 使用最新的 data 解析参数\n const resolvedParams = actionObj.params\n ? resolveActionParams(actionObj.params as Record<string, unknown>, dataRef.current)\n : {};\n\n const resolvedAction: Action = {\n name: actionObj.name,\n params: resolvedParams,\n };\n\n onAction(resolvedAction);\n }, [action, onAction]);\n\n // 构建最终 props\n const finalProps = useMemo(() => {\n const props: any = {\n ...componentProps,\n disabled: boundDisabled,\n };\n\n // 如果有 valuePath,注入值和 onChange\n if (valuePath !== undefined) {\n props[valueField] = boundValue;\n props[onChangeField] = handleChange;\n }\n\n // 如果支持 action,注入到指定的触发事件\n if (supportsAction && action) {\n const originalHandler = componentProps[actionTrigger];\n props[actionTrigger] = (...args: unknown[]) => {\n // 先调用原始处理器\n if (typeof originalHandler === 'function') {\n originalHandler(...args);\n }\n // 再触发 action\n handleAction(...args);\n };\n }\n\n return props;\n }, [\n componentProps,\n boundDisabled,\n valuePath,\n valueField,\n boundValue,\n onChangeField,\n handleChange,\n supportsAction,\n action,\n actionTrigger,\n handleAction,\n ]);\n\n return (\n <WrappedComponent {...finalProps as P}>\n {children}\n </WrappedComponent>\n );\n}\n\n/**\n * A2UI 数据绑定 HOC\n * \n * 自动处理 A2UI 协议的标准字段,让原子组件保持纯净\n * \n * @param WrappedComponent 原始组件\n * @param config 绑定配置\n */\nexport function withA2UIBinding<P extends Record<string, any>>(\n WrappedComponent: React.ComponentType<P>,\n config: A2UIBindingConfig = {},\n): React.FC<ComponentRenderProps> {\n const {\n valueField = 'value',\n onChangeField = 'onChange',\n supportsAction = false,\n actionTrigger = 'onClick',\n } = config;\n\n const A2UIBoundComponent: React.FC<ComponentRenderProps> = (props) => {\n return (\n <A2UIBoundInner\n {...props}\n WrappedComponent={WrappedComponent}\n valueField={valueField}\n onChangeField={onChangeField}\n supportsAction={supportsAction}\n actionTrigger={actionTrigger}\n />\n );\n };\n\n A2UIBoundComponent.displayName = `withA2UIBinding(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;\n\n // 使用 memo 包装,通过精确比较避免不必要渲染\n return memo(A2UIBoundComponent, (prevProps, nextProps) => {\n // element 引用相同,跳过渲染\n if (prevProps.element === nextProps.element) return true;\n \n // 比较关键字段\n const prevEl = prevProps.element;\n const nextEl = nextProps.element;\n \n if (prevEl.type !== nextEl.type) return false;\n if (prevEl.key !== nextEl.key) return false;\n \n // 比较 props(浅比较)\n const prevElProps = prevEl.props || {};\n const nextElProps = nextEl.props || {};\n const prevKeys = Object.keys(prevElProps);\n const nextKeys = Object.keys(nextElProps);\n \n if (prevKeys.length !== nextKeys.length) return false;\n \n for (const key of prevKeys) {\n if (prevElProps[key] !== nextElProps[key]) return false;\n }\n \n return true;\n });\n}\n\nexport default withA2UIBinding;\n","/**\n * A2UI 专用组件注册表\n * \n * 使用 withA2UIBinding HOC 包装原子组件,自动处理 A2UI 协议字段:\n * - valuePath: 值的数据绑定(如 /userInfo/name)\n * - disabledPath: disabled 状态的数据绑定(如 /formDisabled)\n * - action.context: action 参数中的动态数据绑定({ path: '/xxx' } 格式)\n * \n * 与 tdesignRegistry 的区别:\n * - tdesignRegistry: 纯净的 TDesign 组件,用于直接的 json-render schema\n * - a2uiRegistry: 支持 A2UI 协议的组件,用于 A2UI → json-render 转换后的渲染\n * \n * 使用方式:\n * ```tsx\n * // 业务使用 A2UI 协议时\n * const config = createA2UIJsonRenderActivityConfig({\n * registry: a2uiRegistry, // 内置 A2UI 组件\n * // 或扩展自定义组件\n * registry: createA2UIRegistry({\n * MyCustomComponent: withA2UIBinding(MyComponent, { supportsAction: true }),\n * }),\n * });\n * ```\n */\n\nimport React from 'react';\nimport { Input, Button, Space } from 'tdesign-react';\nimport type { InputProps, ButtonProps } from 'tdesign-react';\nimport type { ComponentRegistry } from '../renderer';\nimport { withA2UIBinding } from './a2ui-binding';\n\n// 导入纯净组件和布局组件(这些不需要 A2UI 绑定)\nimport { JsonRenderCard } from './card';\nimport { JsonRenderText } from './text';\nimport {\n JsonRenderRow,\n JsonRenderCol,\n JsonRenderSpace,\n JsonRenderColumn,\n JsonRenderDivider,\n} from './layout';\n\n// ==================== 基础组件包装器 ====================\n\n/**\n * 基础 Input 组件(用于 HOC 包装)\n * 接收标准 InputProps,由 HOC 注入 value/onChange/disabled\n */\nconst BaseInput: React.FC<InputProps & { label?: string }> = ({\n label,\n ...props\n}) => {\n if (label) {\n return (\n <Space direction=\"vertical\" size={4} style={{ width: '100%' }}>\n <label style={{ fontSize: '14px', fontWeight: 500 }}>{label}</label>\n <Input {...props} />\n </Space>\n );\n }\n return <Input {...props} />;\n};\n\nBaseInput.displayName = 'BaseInput';\n\n/**\n * 基础 Button 组件(用于 HOC 包装)\n * 接收标准 ButtonProps,由 HOC 注入 onClick/disabled\n */\nconst BaseButton: React.FC<ButtonProps & { label?: string }> = ({\n label,\n children,\n ...props\n}) => {\n const content = label || children;\n return <Button {...props}>{content}</Button>;\n};\n\nBaseButton.displayName = 'BaseButton';\n\n// ==================== A2UI 组件(通过 HOC 生成)====================\n\n/**\n * A2UI TextField 组件\n * 自动支持 valuePath/disabledPath 数据绑定\n */\nexport const A2UITextField = withA2UIBinding<InputProps & { label?: string }>(\n BaseInput,\n {\n valueField: 'value',\n onChangeField: 'onChange',\n supportsAction: false,\n },\n);\n\n/**\n * A2UI Button 组件\n * 自动支持 disabledPath 和 action.context 动态绑定\n */\nexport const A2UIButton = withA2UIBinding<ButtonProps & { label?: string }>(\n BaseButton,\n {\n supportsAction: true,\n },\n);\n\n// ==================== A2UI Registry ====================\n\n/**\n * A2UI 专用组件注册表\n * \n * 用于 A2UI 协议转换后的渲染,组件自动支持:\n * - valuePath: 值绑定到 dataModel\n * - disabledPath: disabled 状态绑定到 dataModel\n * - action.context: action 参数动态解析\n * \n * @example\n * ```tsx\n * import { a2uiRegistry } from './catalog/a2ui-registry';\n * \n * const config = createA2UIJsonRenderActivityConfig({\n * registry: a2uiRegistry, // 使用 A2UI 专用 registry\n * actionHandlers: { ... },\n * });\n * ```\n */\nexport const a2uiRegistry: ComponentRegistry = {\n // A2UI 绑定组件(通过 HOC 包装)\n TextField: A2UITextField,\n Button: A2UIButton,\n \n // 纯净组件(布局类不需要 A2UI 绑定)\n Card: JsonRenderCard,\n Text: JsonRenderText,\n Row: JsonRenderRow,\n Col: JsonRenderCol,\n Space: JsonRenderSpace,\n Column: JsonRenderColumn,\n Divider: JsonRenderDivider,\n};\n\n/**\n * 创建自定义 A2UI 组件注册表\n * \n * 基于 a2uiRegistry 扩展自定义组件\n * 自定义组件如需支持 A2UI 协议,请使用 withA2UIBinding 包装\n * \n * @example\n * ```tsx\n * import { createA2UIRegistry, withA2UIBinding } from '@tdesign-react/chat';\n * \n * // 创建支持 A2UI 的自定义组件\n * const A2UIDatePicker = withA2UIBinding(DatePicker, {\n * valueField: 'value',\n * onChangeField: 'onChange',\n * });\n * \n * const customRegistry = createA2UIRegistry({\n * DatePicker: A2UIDatePicker,\n * });\n * ```\n */\nexport function createA2UIRegistry(\n customComponents: ComponentRegistry,\n): ComponentRegistry {\n return {\n ...a2uiRegistry,\n ...customComponents,\n };\n}\n\nexport default a2uiRegistry;\n","/**\n * TDesign ComponentRegistry(React 组件注册表)\n * 用于 json-render 渲染层的组件映射\n * \n * 重要概念区分:\n * - ComponentRegistry(本文件):渲染层,映射组件名到 React 组件(传给 Renderer)\n * - Catalog(catalog.ts):约束层,定义组件 props schema 和 actions 白名单(给 AI/服务端)\n * \n * Registry 分类:\n * - tdesignRegistry: 纯净的 TDesign 组件,用于直接的 json-render schema\n * - a2uiRegistry: 支持 A2UI 协议的组件,自动处理 valuePath/disabledPath/action.context\n * \n * 详见:ARCHITECTURE.md\n */\n\nimport React from 'react';\nimport isEqual from 'react-fast-compare';\nimport type { ComponentRegistry, ComponentRenderProps } from '../renderer';\nimport { JsonRenderButton } from './button';\nimport { JsonRenderInput, JsonRenderTextField } from './input';\nimport { JsonRenderCard } from './card';\nimport { JsonRenderText } from './text';\nimport {\n JsonRenderRow,\n JsonRenderCol,\n JsonRenderSpace,\n JsonRenderColumn,\n JsonRenderDivider,\n} from './layout';\n\n/**\n * 高性能组件包装器\n * 使用 React.memo + react-fast-compare 实现深比较\n * \n * 原理:\n * - json-render 每次渲染都会创建新的 element 对象引用\n * - 默认的 React.memo 浅比较会认为 props 变化了\n * - 使用 react-fast-compare 进行高效深比较,只在内容真正变化时才重渲染\n * \n * 性能说明(来自 performance_suggestion.md):\n * - react-fast-compare 比 JSON.stringify 更快(短路比较)\n * - 发现第一个不同属性时立即停止,不会遍历整个对象\n * - 处理了循环引用等边缘情况\n */\nexport function withStableProps<P extends ComponentRenderProps>(\n Component: React.ComponentType<P>,\n): React.MemoExoticComponent<React.ComponentType<P>> {\n return React.memo(Component, (prevProps, nextProps) => {\n const prevElement = prevProps.element as any;\n const nextElement = nextProps.element as any;\n \n // 1. 引用相同,直接返回 true(不渲染)\n if (prevElement === nextElement) return true;\n \n // 2. 快速路径:id 或 type 不同,需要重渲染\n if (prevElement.id !== nextElement.id || prevElement.type !== nextElement.type) {\n return false;\n }\n \n // 3. 使用 react-fast-compare 进行高效深比较\n return isEqual(prevElement.props, nextElement.props);\n });\n}\n\n/**\n * TDesign 内置组件注册表(渲染层)\n * \n * 这是框架内置的原子组件集合,提供基础 UI 渲染能力\n * 业务层可以通过 createCustomRegistry 扩展自定义组件\n * \n * 使用方式:\n * ```tsx\n * import { tdesignRegistry } from '@tdesign-react/chat';\n * \n * const config = createJsonRenderActivityConfig({\n * registry: tdesignRegistry,\n * actionHandlers: { ... },\n * });\n * ```\n * \n * Schema 示例:\n * ```json\n * {\n * \"root\": \"btn1\",\n * \"elements\": {\n * \"btn1\": {\n * \"key\": \"btn1\",\n * \"type\": \"Button\",\n * \"props\": {\n * \"variant\": \"base\",\n * \"theme\": \"primary\",\n * \"children\": \"点击我\",\n * \"action\": \"submit\"\n * }\n * }\n * }\n * }\n * ```\n */\nexport const tdesignRegistry: ComponentRegistry = {\n // 基础组件\n Button: JsonRenderButton,\n Input: JsonRenderInput,\n TextField: JsonRenderTextField,\n Card: JsonRenderCard,\n Text: JsonRenderText,\n\n // 布局组件\n Row: JsonRenderRow,\n Col: JsonRenderCol,\n Space: JsonRenderSpace,\n Column: JsonRenderColumn,\n Divider: JsonRenderDivider,\n\n // 别名(兼容不同命名风格)\n button: JsonRenderButton,\n input: JsonRenderInput,\n textfield: JsonRenderTextField,\n card: JsonRenderCard,\n text: JsonRenderText,\n row: JsonRenderRow,\n col: JsonRenderCol,\n space: JsonRenderSpace,\n column: JsonRenderColumn,\n divider: JsonRenderDivider,\n};\n\n/**\n * createCustomRegistry 配置选项\n */\nexport interface CreateCustomRegistryOptions {\n /**\n * 是否自动包装组件以优化性能\n * 使用 React.memo + react-fast-compare 深比较 element.props\n * \n * @default true\n */\n enableStableProps?: boolean;\n}\n\n/**\n * 创建自定义组件注册表(扩展内置组件)\n * \n * 用于渲染层:扩展自定义业务组件的 React 实现\n * \n * 性能优化(默认开启):\n * - 自动使用 withStableProps 包装组件\n * - 使用 react-fast-compare 进行高效深比较\n * - 业务组件无需手动写 React.memo 比较函数\n * \n * @example\n * ```tsx\n * import { createCustomRegistry } from '@tdesign-react/chat';\n * import type { ComponentRenderProps } from '@json-render/react';\n * \n * // 定义自定义组件(无需手动 React.memo)\n * const StatusCard: React.FC<ComponentRenderProps> = ({ element }) => (\n * <div className=\"status-card\">{element.props.status}</div>\n * );\n * \n * const ProgressBar: React.FC<ComponentRenderProps> = ({ element }) => (\n * <div className=\"progress-bar\" style={{ width: `${element.props.percentage}%` }} />\n * );\n * \n * // 扩展 registry(自动优化性能)\n * const customRegistry = createCustomRegistry({\n * StatusCard,\n * ProgressBar,\n * });\n * \n * // 禁用自动优化(如果需要自己控制)\n * const customRegistry = createCustomRegistry(\n * { StatusCard, ProgressBar },\n * { enableStableProps: false }\n * );\n * ```\n * \n * 注意:\n * - 这里只定义渲染层的组件映射\n * - 约束层(Catalog)需要使用 createCustomCatalog 定义(见 catalog.ts)\n * - 两者需要保持组件名称一致\n */\nexport function createCustomRegistry(\n customComponents: ComponentRegistry,\n options: CreateCustomRegistryOptions = {},\n): ComponentRegistry {\n const { enableStableProps = true } = options;\n\n // 如果启用性能优化,自动包装组件\n const processedComponents: ComponentRegistry = {};\n \n if (enableStableProps) {\n for (const [name, Component] of Object.entries(customComponents)) {\n processedComponents[name] = withStableProps(Component as React.ComponentType<ComponentRenderProps>);\n }\n } else {\n Object.assign(processedComponents, customComponents);\n }\n\n return {\n ...tdesignRegistry,\n ...processedComponents,\n };\n}\n\n// ==================== 重新导出 Catalog(约束层)====================\n// 从 ../catalog.ts 重新导出,避免路径混淆\nexport {\n tdesignCatalog,\n createCustomCatalog,\n tdesignComponentList,\n tdesignActionList,\n} from '../catalog';\n\n// ==================== 重新导出 A2UI Registry ====================\n// A2UI 专用组件,支持 valuePath/disabledPath/action.context 自动绑定\nexport { a2uiRegistry, createA2UIRegistry, A2UITextField, A2UIButton } from './a2ui-registry';\n\n// ==================== 重新导出 A2UI Binding HOC ====================\nexport { withA2UIBinding } from './a2ui-binding';\nexport type { A2UIBindingConfig } from './a2ui-binding';\n\nexport default tdesignRegistry;\n","/**\n * json-render Activity 配置工厂函数\n * 便捷创建 ActivityConfig 用于注册\n */\n\nimport React from 'react';\nimport type { ComponentRegistry } from './renderer';\nimport type { ActivityConfig } from '../activity/types';\nimport type { JsonRenderActivityProps } from './types';\nimport { JsonRenderActivityRenderer } from './JsonRenderActivityRenderer';\nimport { A2UIJsonRenderActivityRenderer } from './A2UIJsonRenderActivityRenderer';\nimport { tdesignRegistry } from './catalog/index';\nimport { a2uiRegistry } from './catalog/a2ui-registry';\n\n/**\n * json-render Activity 配置选项\n */\nexport interface JsonRenderActivityConfigOptions {\n /** Activity 类型标识,默认 'json-render' */\n activityType?: string;\n /** 组件注册表,默认使用 tdesignRegistry */\n registry?: ComponentRegistry;\n /** \n * Action 处理器映射表\n * \n * 重要:json-render 采用预定义 action 模式\n * - AI/服务端只能生成在此预定义的 action 名称\n * - 每个 action 对应一个具体的处理函数\n * - 这确保了生成式 UI 的安全性和可控性\n * \n * @example\n * ```tsx\n * actionHandlers: {\n * // 表单提交\n * submit: async (params) => {\n * await api.submitForm(params);\n * MessagePlugin.success('提交成功');\n * },\n * \n * // 表单重置\n * reset: async (params) => {\n * // 注意:如需清空表单,应在组件内部使用 useData().update()\n * MessagePlugin.info('表单已重置');\n * },\n * \n * // 删除操作\n * delete: async (params) => {\n * await api.deleteItem(params.id);\n * },\n * \n * // 刷新数据\n * refresh: async () => {\n * await refetchData();\n * }\n * }\n * ```\n */\n actionHandlers?: Record<string, (params: Record<string, unknown>) => void | Promise<void>>;\n /** 显示调试信息 */\n debug?: boolean;\n /** 描述信息 */\n description?: string;\n}\n\n/**\n * 创建 json-render Activity 配置\n * \n * @example\n * 基础用法 - 预定义 action handlers\n * ```tsx\n * const jsonRenderConfig = createJsonRenderActivityConfig({\n * activityType: 'json-render',\n * actionHandlers: {\n * submit: async (params) => {\n * console.log('提交表单:', params);\n * await api.submit(params);\n * MessagePlugin.success('提交成功');\n * },\n * reset: async (params) => {\n * MessagePlugin.info('表单已重置');\n * },\n * delete: async (params) => {\n * await api.delete(params.id);\n * }\n * },\n * });\n * \n * useAgentActivity(jsonRenderConfig);\n * ```\n * \n * @example\n * 结合 ChatEngine 发送消息到服务端\n * ```tsx\n * const jsonRenderConfig = createJsonRenderActivityConfig({\n * actionHandlers: {\n * submit: async (params) => {\n * // 发送到服务端处理\n * await chatEngine.sendAIMessage({\n * params: { userActionMessage: { name: 'submit', params } },\n * sendRequest: true,\n * });\n * },\n * reset: async (params) => {\n * // 本地处理,不发送到服务端\n * MessagePlugin.info('已重置');\n * },\n * },\n * });\n * ```\n * \n * @example\n * 配合自定义组件注册表\n * ```tsx\n * import { createCustomRegistry } from './catalog';\n * \n * const jsonRenderConfig = createJsonRenderActivityConfig({\n * registry: createCustomRegistry({\n * MyCustomComponent: MyComponentRenderer,\n * }),\n * actionHandlers: {\n * custom_action: async (params) => {\n * // 处理自定义操作\n * },\n * },\n * });\n * ```\n */\nexport function createJsonRenderActivityConfig(\n options: JsonRenderActivityConfigOptions = {},\n): ActivityConfig<JsonRenderActivityProps['content']> {\n const {\n activityType = 'json-render',\n registry = tdesignRegistry,\n actionHandlers = {},\n debug = false,\n description = 'json-render 动态 UI 渲染器',\n } = options;\n\n return {\n activityType,\n component: React.memo((props: JsonRenderActivityProps) => (\n <JsonRenderActivityRenderer\n {...props}\n registry={registry}\n actionHandlers={actionHandlers}\n debug={debug}\n />\n )),\n description,\n };\n}\n\n/**\n * 默认 json-render Activity 配置\n * 使用默认 TDesign Catalog,适用于大多数场景\n */\nexport const defaultJsonRenderActivityConfig = createJsonRenderActivityConfig();\n\n/**\n * 创建 A2UI + json-render Activity 配置\n * 支持将 A2UI 协议转换为 json-render Schema 渲染\n * \n * 注意:默认使用 a2uiRegistry,自动支持 valuePath/disabledPath/action.context 绑定\n * \n * @example\n * ```tsx\n * const a2uiJsonRenderConfig = createA2UIJsonRenderActivityConfig({\n * activityType: 'a2ui-json-render',\n * actionHandlers: {\n * submit: async (params) => {\n * console.log('提交:', params);\n * },\n * cancel: async (params) => {\n * console.log('取消');\n * },\n * },\n * });\n * \n * useAgentActivity(a2uiJsonRenderConfig);\n * ```\n */\nexport function createA2UIJsonRenderActivityConfig(\n options: JsonRenderActivityConfigOptions = {},\n): ActivityConfig<any> {\n const {\n activityType = 'a2ui-json-render',\n registry = a2uiRegistry, // A2UI 默认使用 a2uiRegistry\n actionHandlers = {},\n debug = false,\n description = 'A2UI + json-render 适配渲染器',\n } = options;\n\n return {\n activityType,\n component: React.memo((props: any) => (\n <A2UIJsonRenderActivityRenderer\n {...props}\n registry={registry}\n actionHandlers={actionHandlers}\n debug={debug}\n />\n )),\n description,\n };\n}\n\n/**\n * 默认 A2UI + json-render Activity 配置\n */\nexport const defaultA2UIJsonRenderActivityConfig = createA2UIJsonRenderActivityConfig();\n\nexport default createJsonRenderActivityConfig;\n"],"names":["hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","equal","a","b","_typeof","constructor","length","i","keys","Array","isArray","it","size","entries","next","done","has","value","get","RegExp","source","flags","valueOf","Object","prototype","toString","hasOwnProperty","call","$$typeof","reactFastCompare","isEqual","error","message","match","console","warn","JsonRenderActivityRendererInner","activityType","_ref","content","messageId","registry","_ref$actionHandlers","actionHandlers","isValidSchema","root","elements","renderData","useMemo","data","React","createElement","DataProvider","initialData","VisibilityProvider","ActionProvider","handlers","Renderer","tree","JsonRenderActivityRenderer","memo","prevProps","nextProps","extractSurfaceId","messages","_iterator","_createForOfIteratorHelper","_step","s","n","msg","createSurface","surfaceId","updateComponents","updateDataModel","deleteSurface","err","e","f","isUIMessages","some","hasDeletionMessages","hasCreationMessages","A2UIJsonRenderActivityRenderer","ext","_ref$debug","debug","useEffect","surfaceStateManager","setDebug","_useState","useState","_useState2","_slicedToArray","schemaVersion","setSchemaVersion","_useMemo","msgs","isUI","isDeletion","isCreation","initialSchema","log","messagesCount","messageTypes","map","m","filter","k","includes","cachedSurfaces","getAllSurfaceIds","schema","convertA2UIMessagesToJsonRender","_messages$find","catalogId","find","registerSurface","elementsCount","_iterator2","_step2","_msg$updateDataModel","path","op","success","updateData","handleSchemaUpdate","useCallback","v","unsubscribe","subscribe","currentSchema","getSchema","JsonRenderInput","element","_element$props","props","defaultValue","placeholder","_element$props$disabl","disabled","_element$props$readon","readonly","_element$props$size","_element$props$type","type","maxlength","_element$props$cleara","clearable","status","onChange","onBlur","onFocus","onEnter","onClear","restProps","_objectWithoutProperties","_excluded","Input","_objectSpread","displayName","JsonRenderTextField","_ref2","_getByPath","_element$props2","label","valuePath","_element$props2$type","_element$props2$disab","_element$props2$size","_excluded2","_useData","useData","set","getByPath","handleChange","newValue","Space","direction","style","width","fontSize","fontWeight","resolveActionParams","params","maxDepth","arguments","undefined","resolved","stack","target","depth","_stack$pop","pop","assign","_i","_Object$entries","_Object$entries$_i","key","pathValue","nestedTarget","push","A2UIBoundInner","children","onAction","WrappedComponent","valueField","onChangeField","supportsAction","actionTrigger","disabledPath","action","staticDisabled","componentProps","dataRef","useRef","current","boundValue","boundDisabled","Boolean","setRef","handleAction","actionObj","name","resolvedParams","resolvedAction","finalProps","originalHandler","apply","withA2UIBinding","config","_config$valueField","_config$onChangeField","_config$supportsActio","_config$actionTrigger","A2UIBoundComponent","concat","prevEl","nextEl","prevElProps","nextElProps","prevKeys","nextKeys","_i2","_prevKeys","BaseInput","BaseButton","Button","A2UITextField","A2UIButton","a2uiRegistry","TextField","Card","JsonRenderCard","Text","JsonRenderText","Row","JsonRenderRow","Col","JsonRenderCol","JsonRenderSpace","Column","JsonRenderColumn","Divider","JsonRenderDivider","createA2UIRegistry","customComponents","withStableProps","Component","prevElement","nextElement","id","tdesignRegistry","JsonRenderButton","button","input","textfield","card","text","row","col","space","column","divider","createCustomRegistry","options","_options$enableStable","enableStableProps","processedComponents","createJsonRenderActivityConfig","_options$activityType","_options$registry","_options$actionHandle","_options$debug","_options$description","description","component","defaultJsonRenderActivityConfig","createA2UIJsonRenderActivityConfig","_options$activityType2","_options$registry2","_options$actionHandle2","_options$debug2","_options$description2","defaultA2UIJsonRenderActivityConfig"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAIA,cAAc,GAAG,OAAOC,OAAO,KAAK,WAAW,CAAA;AACnD,IAAIC,MAAM,GAAG,OAAOC,GAAG,KAAK,UAAU,CAAA;AACtC,IAAIC,MAAM,GAAG,OAAOC,GAAG,KAAK,UAAU,CAAA;AACtC,IAAIC,cAAc,GAAG,OAAOC,WAAW,KAAK,UAAU,IAAI,CAAC,CAACA,WAAW,CAACC,MAAM,CAAA;;AAE9E;;AAEA,SAASC,KAAKA,CAACC,CAAC,EAAEC,CAAC,EAAE;AACrB;AACE,EAAA,IAAID,CAAC,KAAKC,CAAC,EAAE,OAAO,IAAI,CAAA;AAExB,EAAA,IAAID,CAAC,IAAIC,CAAC,IAAIC,OAAA,CAAOF,CAAC,CAAI,IAAA,QAAQ,IAAIE,OAAA,CAAOD,CAAC,CAAA,IAAI,QAAQ,EAAE;IAC1D,IAAID,CAAC,CAACG,WAAW,KAAKF,CAAC,CAACE,WAAW,EAAE,OAAO,KAAK,CAAA;AAEjD,IAAA,IAAIC,MAAM,EAAEC,CAAC,EAAEC,IAAI,CAAA;AACnB,IAAA,IAAIC,KAAK,CAACC,OAAO,CAACR,CAAC,CAAC,EAAE;MACpBI,MAAM,GAAGJ,CAAC,CAACI,MAAM,CAAA;AACjB,MAAA,IAAIA,MAAM,IAAIH,CAAC,CAACG,MAAM,EAAE,OAAO,KAAK,CAAA;MACpC,KAAKC,CAAC,GAAGD,MAAM,EAAEC,CAAC,EAAE,KAAK,CAAC,GACxB,IAAI,CAACN,KAAK,CAACC,CAAC,CAACK,CAAC,CAAC,EAAEJ,CAAC,CAACI,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAA;AACtC,MAAA,OAAO,IAAI,CAAA;AACZ,KAAA;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,IAAA,IAAII,EAAE,CAAA;IACN,IAAIjB,MAAM,IAAKQ,CAAC,YAAYP,GAAI,IAAKQ,CAAC,YAAYR,GAAI,EAAE;MACtD,IAAIO,CAAC,CAACU,IAAI,KAAKT,CAAC,CAACS,IAAI,EAAE,OAAO,KAAK,CAAA;AACnCD,MAAAA,EAAE,GAAGT,CAAC,CAACW,OAAO,EAAE,CAAA;MAChB,OAAO,CAAC,CAACN,CAAC,GAAGI,EAAE,CAACG,IAAI,EAAE,EAAEC,IAAI,EAC1B,IAAI,CAACZ,CAAC,CAACa,GAAG,CAACT,CAAC,CAACU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAA;AACtCN,MAAAA,EAAE,GAAGT,CAAC,CAACW,OAAO,EAAE,CAAA;AAChB,MAAA,OAAO,CAAC,CAACN,CAAC,GAAGI,EAAE,CAACG,IAAI,EAAE,EAAEC,IAAI,EAC1B,IAAI,CAACd,KAAK,CAACM,CAAC,CAACU,KAAK,CAAC,CAAC,CAAC,EAAEd,CAAC,CAACe,GAAG,CAACX,CAAC,CAACU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAA;AACzD,MAAA,OAAO,IAAI,CAAA;AACZ,KAAA;IAED,IAAIrB,MAAM,IAAKM,CAAC,YAAYL,GAAI,IAAKM,CAAC,YAAYN,GAAI,EAAE;MACtD,IAAIK,CAAC,CAACU,IAAI,KAAKT,CAAC,CAACS,IAAI,EAAE,OAAO,KAAK,CAAA;AACnCD,MAAAA,EAAE,GAAGT,CAAC,CAACW,OAAO,EAAE,CAAA;MAChB,OAAO,CAAC,CAACN,CAAC,GAAGI,EAAE,CAACG,IAAI,EAAE,EAAEC,IAAI,EAC1B,IAAI,CAACZ,CAAC,CAACa,GAAG,CAACT,CAAC,CAACU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAA;AACtC,MAAA,OAAO,IAAI,CAAA;AACZ,KAAA;AACL;;AAEI,IAAA,IAAInB,cAAc,IAAIC,WAAW,CAACC,MAAM,CAACE,CAAC,CAAC,IAAIH,WAAW,CAACC,MAAM,CAACG,CAAC,CAAC,EAAE;MACpEG,MAAM,GAAGJ,CAAC,CAACI,MAAM,CAAA;AACjB,MAAA,IAAIA,MAAM,IAAIH,CAAC,CAACG,MAAM,EAAE,OAAO,KAAK,CAAA;MACpC,KAAKC,CAAC,GAAGD,MAAM,EAAEC,CAAC,EAAE,KAAK,CAAC,GACxB,IAAIL,CAAC,CAACK,CAAC,CAAC,KAAKJ,CAAC,CAACI,CAAC,CAAC,EAAE,OAAO,KAAK,CAAA;AACjC,MAAA,OAAO,IAAI,CAAA;AACZ,KAAA;IAED,IAAIL,CAAC,CAACG,WAAW,KAAKc,MAAM,EAAE,OAAOjB,CAAC,CAACkB,MAAM,KAAKjB,CAAC,CAACiB,MAAM,IAAIlB,CAAC,CAACmB,KAAK,KAAKlB,CAAC,CAACkB,KAAK,CAAA;AACrF;AACA;AACA;AACA;AACI,IAAA,IAAInB,CAAC,CAACoB,OAAO,KAAKC,MAAM,CAACC,SAAS,CAACF,OAAO,IAAI,OAAOpB,CAAC,CAACoB,OAAO,KAAK,UAAU,IAAI,OAAOnB,CAAC,CAACmB,OAAO,KAAK,UAAU,EAAE,OAAOpB,CAAC,CAACoB,OAAO,EAAE,KAAKnB,CAAC,CAACmB,OAAO,EAAE,CAAA;AACpJ,IAAA,IAAIpB,CAAC,CAACuB,QAAQ,KAAKF,MAAM,CAACC,SAAS,CAACC,QAAQ,IAAI,OAAOvB,CAAC,CAACuB,QAAQ,KAAK,UAAU,IAAI,OAAOtB,CAAC,CAACsB,QAAQ,KAAK,UAAU,EAAE,OAAOvB,CAAC,CAACuB,QAAQ,EAAE,KAAKtB,CAAC,CAACsB,QAAQ,EAAE,CAAA;AAC9J;;AAEIjB,IAAAA,IAAI,GAAGe,MAAM,CAACf,IAAI,CAACN,CAAC,CAAC,CAAA;IACrBI,MAAM,GAAGE,IAAI,CAACF,MAAM,CAAA;AACpB,IAAA,IAAIA,MAAM,KAAKiB,MAAM,CAACf,IAAI,CAACL,CAAC,CAAC,CAACG,MAAM,EAAE,OAAO,KAAK,CAAA;AAElD,IAAA,KAAKC,CAAC,GAAGD,MAAM,EAAEC,CAAC,EAAE,KAAK,CAAC,GACxB,IAAI,CAACgB,MAAM,CAACC,SAAS,CAACE,cAAc,CAACC,IAAI,CAACxB,CAAC,EAAEK,IAAI,CAACD,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAA;AACzE;;AAEA;AACA;AACI,IAAA,IAAIf,cAAc,IAAIU,CAAC,YAAYT,OAAO,EAAE,OAAO,KAAK,CAAA;;AAE5D;IACI,KAAKc,CAAC,GAAGD,MAAM,EAAEC,CAAC,EAAE,KAAK,CAAC,GAAG;MAC3B,IAAI,CAACC,IAAI,CAACD,CAAC,CAAC,KAAK,QAAQ,IAAIC,IAAI,CAACD,CAAC,CAAC,KAAK,KAAK,IAAIC,IAAI,CAACD,CAAC,CAAC,KAAK,KAAK,KAAKL,CAAC,CAAC0B,QAAQ,EAAE;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;;AAEQ,QAAA,SAAA;AACD,OAAA;;AAEP;MACM,IAAI,CAAC3B,KAAK,CAACC,CAAC,CAACM,IAAI,CAACD,CAAC,CAAC,CAAC,EAAEJ,CAAC,CAACK,IAAI,CAACD,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAA;AACjD,KAAA;AACL;;AAEA;AACI,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;AAED,EAAA,OAAOL,CAAC,KAAKA,CAAC,IAAIC,CAAC,KAAKA,CAAC,CAAA;AAC3B,CAAA;AACA;;AAEA,IAAA0B,gBAAc,GAAG,SAASC,OAAOA,CAAC5B,CAAC,EAAEC,CAAC,EAAE;EACtC,IAAI;AACF,IAAA,OAAOF,KAAK,CAACC,CAAC,EAAEC,CAAC,CAAC,CAAA;GACnB,CAAC,OAAO4B,KAAK,EAAE;IACd,IAAK,CAACA,KAAK,CAACC,OAAO,IAAI,EAAE,EAAEC,KAAK,CAAC,kBAAkB,CAAC,EAAG;AAC3D;AACA;AACA;AACA;AACA;AACMC,MAAAA,OAAO,CAACC,IAAI,CAAC,gDAAgD,CAAC,CAAA;AAC9D,MAAA,OAAO,KAAK,CAAA;AACb,KAAA;AACL;AACI,IAAA,MAAMJ,KAAK,CAAA;AACZ,GAAA;AACH,CAAC;;ACxFD,IAAMK,kCAA6E,SAA7EA,sCAMA;AAAA,EAAA,IALJC,YAAA,GAAAC,IAAA,CAAAD,YAAA;IACAE,OAAA,GAAAD,IAAA,CAAAC,OAAA;IACAC,SAAA,GAAAF,IAAA,CAAAE,SAAA;IACAC,QAAA,GAAAH,IAAA,CAAAG,QAAA;IAAAC,mBAAA,GAAAJ,IAAA,CACAK;AAAAA,IAAAA,kDAAiB,EAAC,GAAAD,mBAAA,CAAA;AAGZ,EAAA,IAAAE,aAAA,GAAgBL,WAAWA,OAAQ,CAAAM,IAAA,IAAQN,QAAQO,QAAY,IAAAP,OAAA,CAAQO,SAASP,OAAQ,CAAAM,IAAA,CAAA,CAAA;EAGxF,IAAAE,UAAA,GAAaC,OAAQ,CAAA,YAAA;IAAA,OAAM,CAAAT,OAAS,KAAA,IAAA,IAATA,OAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAATA,OAAS,CAAAU,IAAA,KAAQ,EAAI,CAAA;GAAA,EAAA,CAACV,OAAS,KAATA,IAAAA,IAAAA,OAAS,uBAATA,OAAS,CAAAU,IAAI,CAAC,CAAA,CAAA;AAWrE,EAAA,sBACGC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAI,IAAA,oBAAoB,EAAAd,YAAA;AAAc,IAAA,iBAAiB,EAAAG,SAAAA;AAAA,GAAA,iBACrDU,KAAA,CAAAC,aAAA,CAAAC,YAAA,EAAA;AAAaC,IAAAA,WAAa,EAAAN,UAAAA;AACzB,GAAA,iBAAAG,KAAA,CAAAC,aAAA,CAACG,yCACEJ,KAAA,CAAAC,aAAA,CAAAI,cAAA,EAAA;AAAeC,IAAAA,QAAU,EAAAb,cAAAA;AAAA,GAAA,iBACvBO,KAAA,CAAAC,aAAA,CAAAM,QAAA,EAAA;AAASC,IAAAA,IAAM,EAAAnB,OAAA;AAASE,IAAAA,QAAA,EAAAA,QAAAA;AAAoB,GAAA,CAC/C,CACF,CACF,CACF,CAAA,CAAA;AAEJ,CAAA,CAAA;AAUakB,IAAAA,0CAA6BT,KAAM,CAAAU,IAAA,CAC9CxB,+BAAA,EACA,UAACyB,WAAWC,SAAc,EAAA;EAEpB,IAAAD,SAAA,CAAUpB,aAAaqB,SAAU,CAAArB,QAAA,EAAiB,OAAA,KAAA,CAAA;EAGlD,IAAAoB,SAAA,CAAUlB,mBAAmBmB,SAAU,CAAAnB,cAAA,EAAuB,OAAA,KAAA,CAAA;EAG9D,IAAAkB,SAAA,CAAUtB,YAAYuB,SAAU,CAAAvB,OAAA,EAAgB,OAAA,IAAA,CAAA;EAIpD,OAAOT,gBAAQ,CAAA+B,SAAA,CAAUtB,OAAS,EAAAuB,SAAA,CAAUvB,OAAO,CAAA,CAAA;AACrD,CACF;;;;;ACrEA,SAASwB,iBAAiBC,QAAwC,EAAA;AAAA,EAAA,IAAAC,SAAA,GAAAC,0BAAA,CAC9CF,QAAU,CAAA;IAAAG,KAAA,CAAA;AAAA,EAAA,IAAA;IAA5B,KAAAF,SAAA,CAAAG,CAAA,EAAAD,EAAAA,CAAAA,CAAAA,KAAA,GAAAF,SAAA,CAAAI,CAAA,EAAAtD,EAAAA,IAAA,GAA4B;AAAA,MAAA,IAAjBuD;MACT,IAAIA,GAAI,CAAAC,aAAA,EAAe,OAAOD,IAAIC,aAAc,CAAAC,SAAA,CAAA;MAChD,IAAIF,GAAI,CAAAG,gBAAA,EAAkB,OAAOH,IAAIG,gBAAiB,CAAAD,SAAA,CAAA;MACtD,IAAIF,GAAI,CAAAI,eAAA,EAAiB,OAAOJ,IAAII,eAAgB,CAAAF,SAAA,CAAA;MACpD,IAAIF,GAAI,CAAAK,aAAA,EAAe,OAAOL,IAAIK,aAAc,CAAAH,SAAA,CAAA;AAClD,KAAA;AAAA,GAAA,CAAA,OAAAI,GAAA,EAAA;IAAAX,SAAA,CAAAY,CAAA,CAAAD,GAAA,CAAA,CAAA;AAAA,GAAA,SAAA;AAAAX,IAAAA,SAAA,CAAAa,CAAA,EAAA,CAAA;AAAA,GAAA;AACO,EAAA,OAAA,IAAA,CAAA;AACT,CAAA;AAOA,SAASC,aAAaf,QAAkC,EAAA;AAC/C,EAAA,OAAAA,QAAA,CAASgB,KAAK,UAAOV,GAAA,EAAA;IAAA,OAAAA,GAAA,CAAIC,iBAAiBD,GAAI,CAAAG,gBAAA,IAAoBH,IAAIK,aAAa,CAAA;GAAA,CAAA,CAAA;AAC5F,CAAA;AAKA,SAASM,oBAAoBjB,QAAkC,EAAA;AAC7D,EAAA,OAAOA,QAAS,CAAAgB,IAAA,CAAK,UAAOV,GAAA,EAAA;IAAA,OAAAA,GAAA,CAAIK,aAAa,CAAA;GAAA,CAAA,CAAA;AAC/C,CAAA;AAKA,SAASO,oBAAoBlB,QAAkC,EAAA;AAC7D,EAAA,OAAOA,SAASgB,IAAK,CAAA,UAAAV,GAAA,EAAA;AAAA,IAAA,OAAOA,GAAI,CAAAC,aAAA,IAAiBD,IAAIG,gBAAgB,CAAA;GAAA,CAAA,CAAA;AACvE,CAAA;IAKaU,iCAAgF,SAAhFA,qCAQP;AAAA,EAAA,IAPJ9C,YAAA,GAAAC,IAAA,CAAAD,YAAA;IACAE,OAAA,GAAAD,IAAA,CAAAC,OAAA;IACAC,SAAA,GAAAF,IAAA,CAAAE,SAAA;IACA4C,GAAA,GAAA9C,IAAA,CAAA8C,GAAA;IACA3C,QAAA,GAAAH,IAAA,CAAAG,QAAA;IACAE,cAAA,GAAAL,IAAA,CAAAK,cAAA;IAAA0C,UAAA,GAAA/C,IAAA,CACAgD,KAAQ;AAARA,IAAAA,KAAQ,GAAAD,UAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,UAAA,CAAA;AAGRE,EAAAA,SAAA,CAAU,YAAM;AACdC,IAAAA,mBAAA,CAAoBC,SAASH,KAAK,CAAA,CAAA;AACpC,GAAA,EAAG,CAACA,KAAK,CAAC,CAAA,CAAA;AAGV,EAAA,IAAAI,SAAA,GAA0CC,SAAS,CAAC,CAAA;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA7CI,IAAAA,aAAA,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAeG,IAAAA,gBAAgB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAGhC,EAAA,IAAAI,QAAA,GAAwDhD,QAAQ,YAAM;AAC1E,MAAA,IAAMiD,OAAO1D,OAAQ,CAAAyB,QAAA,CAAA;AACrB,MAAA,IAAI,CAACvD,KAAM,CAAAC,OAAA,CAAQuF,IAAI,CAAK,IAAAA,IAAA,CAAK3F,WAAW,CAAG,EAAA;QACtC,OAAA;AAAEkE,UAAAA,SAAW,EAAA,IAAA;AAAM0B,UAAAA,IAAM,EAAA,KAAA;AAAOC,UAAAA,UAAY,EAAA,KAAA;AAAOC,UAAAA,UAAY,EAAA,KAAA;AAAOpC,UAAAA,QAAU,EAAA,EAAA;SAAG,CAAA;AAC5F,OAAA;MACO,OAAA;AACLQ,QAAAA,SAAA,EAAWT,iBAAiBkC,IAAI,CAAA;AAChCC,QAAAA,IAAA,EAAMnB,aAAakB,IAAI,CAAA;AACvBE,QAAAA,UAAA,EAAYlB,oBAAoBgB,IAAI,CAAA;AACpCG,QAAAA,UAAA,EAAYlB,oBAAoBe,IAAI,CAAA;AACpCjC,QAAAA,QAAU,EAAAiC,IAAAA;OACZ,CAAA;AACF,KAAG,EAAA,CAAC1D,OAAQ,CAAAyB,QAAQ,CAAC,CAAA;IAZbQ,qBAAAA;IAAW0B,IAAM,GAAAF,QAAA,CAANE,IAAM;IAAAC,UAAA,GAAAH,QAAA,CAAAG,UAAA;IAAYC,sBAAAA;IAAYpC,QAAS,GAAAgC,QAAA,CAAThC,QAAS,CAAA;AAepD,EAAA,IAAAqC,aAAA,GAAgBrD,QAAiC,YAAM;IAC3D,IAAI,CAACwB,SAAA,IAAaR,QAAS,CAAA1D,MAAA,KAAW,CAAG,EAAA;AAChC,MAAA,OAAA,IAAA,CAAA;AACT,KAAA;AAEA,IAAA,IAAIgF,KAAO,EAAA;AAETpD,MAAAA,OAAA,CAAQoE,IAAI,0CAAwB,EAAA;AAClC9D,QAAAA,SAAA,EAAAA,SAAA;AACAgC,QAAAA,SAAA,EAAAA,SAAA;QACA+B,eAAevC,QAAS,CAAA1D,MAAA;AACxBkG,QAAAA,cAAcxC,QAAS,CAAAyC,GAAA,CAAI;iBACzBlF,MAAO,CAAAf,IAAA,CAAKkG,CAAC,CAAA,CAAEC,OAAO,UAAKC,CAAA,EAAA;AAAA,YAAA,OAAA,CAAC,eAAiB,EAAA,kBAAA,EAAoB,mBAAmB,eAAe,CAAA,CAAEC,QAAS,CAAAD,CAAC,CAAC,CAAA;WAAE,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,SACpH,CAAA;AACAV,QAAAA,IAAA,EAAAA,IAAA;AACAE,QAAAA,UAAA,EAAAA,UAAA;AACAD,QAAAA,UAAA,EAAAA,UAAA;AACAW,QAAAA,cAAA,EAAgBtB,oBAAoBuB,gBAAiB,EAAA;AACvD,OAAC,CAAA,CAAA;AACH,KAAA;AAGA,IAAA,IAAIZ,UAAY,EAAA;AACdX,MAAAA,mBAAA,CAAoBb,cAAcH,SAAS,CAAA,CAAA;AAC3C,MAAA,IAAIc,KAAO,EAAA;AAEDpD,QAAAA,OAAA,CAAAoE,GAAA,CAAI,wCAA8B9B,SAAS,CAAA,CAAA;AACrD,OAAA;AACO,MAAA,OAAA,IAAA,CAAA;AACT,KAAA;AAGA,IAAA,IAAI4B,UAAY,EAAA;AACR,MAAA,IAAAY,MAAA,GAASC,gCAAgCjD,QAAQ,CAAA,CAAA;AACvD,MAAA,IAAIgD,MAAQ,EAAA;AAAA,QAAA,IAAAE,cAAA,CAAA;QAEV,IAAMC,8BAAYnD,QAAS,CAAAoD,IAAA,CAAK;iBAAKV,CAAE,CAAAnC,aAAa,CAAA;AAAA,SAAA,8DAAlC2C,cAAA,CAAqC3C,aAAe,MAAA2C,IAAAA,IAAAA,cAAA,KAApDA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,cAAA,CAAoDC,SAAA,CAAA;QAClD3B,mBAAA,CAAA6B,eAAA,CAAgB7C,SAAW,EAAAwC,MAAA,EAAQG,SAAS,CAAA,CAAA;AAEhE,QAAA,IAAI7B,KAAO,EAAA;AAETpD,UAAAA,OAAA,CAAQoE,IAAI,0EAAoC,EAAA;AAC9C9B,YAAAA,SAAA,EAAAA,SAAA;YACA8C,aAAe,EAAA/F,MAAA,CAAOf,IAAK,CAAAwG,MAAA,CAAOlE,QAAQ,CAAE,CAAAxC,MAAA;YAC5C2C,MAAM+D,MAAO,CAAA/D,IAAAA;AACf,WAAC,CAAA,CAAA;AACH,SAAA;AACF,OAAA;AACO,MAAA,OAAA+D,MAAA,CAAA;AACT,KAAA;AAAA,IAAA,IAAAO,UAAA,GAAArD,0BAAA,CAGkBF,QAAU,CAAA;MAAAwD,MAAA,CAAA;AAAA,IAAA,IAAA;MAA5B,KAAAD,UAAA,CAAAnD,CAAA,EAAAoD,EAAAA,CAAAA,CAAAA,MAAA,GAAAD,UAAA,CAAAlD,CAAA,EAAAtD,EAAAA,IAAA,GAA4B;AAAA,QAAA,IAAjBuD;QACT,IAAIA,IAAII,eAAiB,EAAA;AACvB,UAAA,IAAA+C,oBAAA,GAA4BnD,GAAI,CAAAI,eAAA;YAAxBgD,IAAA,GAAAD,oBAAA,CAAAC,IAAA;YAAMC,EAAI,GAAAF,oBAAA,CAAJE,EAAI;YAAA1G,KAAA,GAAAwG,oBAAA,CAAAxG,KAAA,CAAA;AAClB,UAAA,IAAM2G,UAAUpC,mBAAoB,CAAAqC,UAAA,CAAWrD,WAAWkD,IAAM,EAAAC,EAAA,IAAM,WAAW1G,KAAK,CAAA,CAAA;AAEtF,UAAA,IAAIqE,KAAO,EAAA;AAETpD,YAAAA,OAAA,CAAQoE,IAAI,8EAA8B,EAAA;AACxC9B,cAAAA,SAAA,EAAAA,SAAA;AACAkD,cAAAA,IAAA,EAAAA,IAAA;cACAC,IAAIA,EAAM,IAAA,SAAA;AACV1G,cAAAA,KAAA,EAAAA,KAAA;AACA2G,cAAAA,OAAA,EAAAA,OAAAA;AACF,aAAC,CAAA,CAAA;AACH,WAAA;AACF,SAAA;AACF,OAAA;AAAA,KAAA,CAAA,OAAAhD,GAAA,EAAA;MAAA2C,UAAA,CAAA1C,CAAA,CAAAD,GAAA,CAAA,CAAA;AAAA,KAAA,SAAA;AAAA2C,MAAAA,UAAA,CAAAzC,CAAA,EAAA,CAAA;AAAA,KAAA;AAGO,IAAA,OAAA,IAAA,CAAA;AACT,GAAA,EAAG,CAACd,QAAU,EAAAQ,SAAA,EAAW4B,YAAYD,UAAY,EAAAD,IAAA,EAAMZ,KAAO,EAAA9C,SAAS,CAAC,CAAA,CAAA;AAGlE,EAAA,IAAAsF,kBAAA,GAAqBC,YAAY,YAAM;AAC3C,IAAA,IAAIzC,KAAO,EAAA;AAETpD,MAAAA,OAAA,CAAQoE,IAAI,qGAA+B,CAAA,CAAA;AAC7C,KAAA;IACiBP,gBAAA,CAAA,UAAAiC,CAAA,EAAA;MAAA,OAAKA,IAAI,CAAC,CAAA;KAAA,CAAA,CAAA;AAC7B,GAAA,EAAG,CAAC1C,KAAK,CAAC,CAAA,CAAA;AAGVC,EAAAA,SAAA,CAAU,YAAM;AACV,IAAA,IAAA,CAACa,UAAc,IAAA,CAAC5B,SAAW,EAAA;AAC7B,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,IAAIc,KAAO,EAAA;AAEDpD,MAAAA,OAAA,CAAAoE,GAAA,CAAI,qDAAiC9B,SAAS,CAAA,CAAA;AACxD,KAAA;IAEA,IAAMyD,WAAc,GAAAzC,mBAAA,CAAoB0C,SAAU,CAAA1D,SAAA,EAAWsD,kBAAkB,CAAA,CAAA;AAE/E,IAAA,OAAO,YAAM;AACX,MAAA,IAAIxC,KAAO,EAAA;AAEDpD,QAAAA,OAAA,CAAAoE,GAAA,CAAI,iEAAmC9B,SAAS,CAAA,CAAA;AAC1D,OAAA;AACYyD,MAAAA,WAAA,EAAA,CAAA;KACd,CAAA;KACC,CAAC7B,UAAA,EAAY5B,SAAW,EAAAsD,kBAAA,EAAoBxC,KAAK,CAAC,CAAA,CAAA;AAG/C,EAAA,IAAA6C,aAAA,GAAgBnF,QAAQ,YAAM;AAC9B,IAAA,IAAA,CAACoD,UAAc,IAAA,CAAC5B,SAAW,EAAA;AACtB,MAAA,OAAA,IAAA,CAAA;AACT,KAAA;AAEO,IAAA,OAAAgB,mBAAA,CAAoB4C,SAAU,CAAA5D,SAAS,CAAK,IAAA6B,aAAA,CAAA;KAElD,CAACD,UAAA,EAAY5B,SAAW,EAAA6B,aAAA,EAAeP,aAAa,CAAC,CAAA,CAAA;EAGxD,IAAI,CAACI,IAAM,EAAA;AACL,IAAA,IAAAZ,KAAA,IAAStB,QAAS,CAAA1D,MAAA,GAAS,CAAG,EAAA;AAEhC4B,MAAAA,OAAA,CAAQoE,IAAI,yFAA6B,CAAA,CAAA;AAC3C,KAAA;AACO,IAAA,OAAA,IAAA,CAAA;AACT,GAAA;AAGI,EAAA,IAAAH,UAAA,IAAc,CAACC,UAAY,EAAA;AAC7B,IAAA,IAAId,KAAO,EAAA;AAETpD,MAAAA,OAAA,CAAQoE,IAAI,6EAA2B,CAAA,CAAA;AACzC,KAAA;AACO,IAAA,OAAA,IAAA,CAAA;AACT,GAAA;AAGA,EAAA,sBACGpD,KAAA,CAAAC,aAAA,CAAAQ,0BAAA,EAAA;AACCtB,IAAAA,YAAA,EAAAA,YAAA;AACAE,IAAAA,OAAS,EAAA4F,aAAA;AACT3F,IAAAA,SAAA,EAAAA,SAAA;AACA4C,IAAAA,GAAA,EAAAA,GAAA;AACA3C,IAAAA,QAAA,EAAAA,QAAA;AACAE,IAAAA,cAAA,EAAAA,cAAAA;AACF,GAAA,CAAA,CAAA;AAEJ;;;;;;IC5Oa0F,eAAkD,GAAA,SAAlDA,eAAkDA,CAAA/F,IAAA,EAAiB;AAAA,EAAA,IAAdgG,OAAA,GAAAhG,IAAA,CAAAgG,OAAA,CAAA;AAC1D,EAAA,IAAAC,cAAA,GAiBFD,OAAQ,CAAAE,KAAA;IAhBVvH,KAAA,GAAAsH,cAAA,CAAAtH,KAAA;IACAwH,YAAA,GAAAF,cAAA,CAAAE,YAAA;IACAC,WAAA,GAAAH,cAAA,CAAAG,WAAA;IAAAC,qBAAA,GAAAJ,cAAA,CACAK,QAAW;AAAXA,IAAAA,QAAW,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,qBAAA;IAAAE,qBAAA,GAAAN,cAAA,CACXO,QAAW;AAAXA,IAAAA,QAAW,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,qBAAA;IAAAE,mBAAA,GAAAR,cAAA,CACX3H,IAAO;AAAPA,IAAAA,IAAO,GAAAmI,mBAAA,KAAA,KAAA,CAAA,GAAA,QAAA,GAAAA,mBAAA;IAAAC,mBAAA,GAAAT,cAAA,CACPU,IAAO;AAAPA,IAAAA,IAAO,GAAAD,mBAAA,KAAA,KAAA,CAAA,GAAA,MAAA,GAAAA,mBAAA;IACPE,SAAA,GAAAX,cAAA,CAAAW,SAAA;IAAAC,qBAAA,GAAAZ,cAAA,CACAa,SAAY;AAAZA,IAAAA,SAAY,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,qBAAA;IACZE,MAAA,GAAAd,cAAA,CAAAc,MAAA;IACAC,QAAA,GAAAf,cAAA,CAAAe,QAAA;IACAC,MAAA,GAAAhB,cAAA,CAAAgB,MAAA;IACAC,OAAA,GAAAjB,cAAA,CAAAiB,OAAA;IACAC,OAAA,GAAAlB,cAAA,CAAAkB,OAAA;IACAC,OAAA,GAAAnB,cAAA,CAAAmB,OAAA;AACGC,IAAAA,SAAA,GAAAC,wBAAA,CAAArB,cAAA,EAAAsB,WAAA,CAAA,CAAA;AAGL,EAAA,sBACG3G,KAAA,CAAAC,aAAA,CAAA2G,KAAA,EAAAC,eAAA,CAAA;AACC9I,IAAAA,KAAA,EAAAA,KAAA;AACAwH,IAAAA,YAAA,EAAAA,YAAA;AACAC,IAAAA,WAAA,EAAAA,WAAA;AACAE,IAAAA,QAAA,EAAAA,QAAA;AACAE,IAAAA,QAAA,EAAAA,QAAA;AACAlI,IAAAA,IAAA,EAAAA,IAAA;AACAqI,IAAAA,IAAA,EAAAA,IAAA;AACAC,IAAAA,SAAA,EAAAA,SAAA;AACAE,IAAAA,SAAA,EAAAA,SAAA;AACAC,IAAAA,MAAA,EAAAA,MAAA;AACAC,IAAAA,QAAA,EAAAA,QAAA;AACAC,IAAAA,MAAA,EAAAA,MAAA;AACAC,IAAAA,OAAA,EAAAA,OAAA;AACAC,IAAAA,OAAA,EAAAA,OAAA;AACAC,IAAAA,OAAA,EAAAA,OAAAA;GACIC,EAAAA,SAAA,CACN,CAAA,CAAA;AAEJ,EAAA;AAEAtB,eAAA,CAAgB2B,WAAc,GAAA,iBAAA,CAAA;IAQjBC,mBAAsD,GAAA,SAAtDA,mBAAsDA,CAAAC,KAAA,EAAiB;AAAA,EAAA,IAAAC,UAAA,CAAA;AAAA,EAAA,IAAd7B,OAAA,GAAA4B,KAAA,CAAA5B,OAAA,CAAA;AAC9D,EAAA,IAAA8B,eAAA,GAQF9B,OAAQ,CAAAE,KAAA;IAPV6B,KAAA,GAAAD,eAAA,CAAAC,KAAA;IACAC,SAAA,GAAAF,eAAA,CAAAE,SAAA;IACA5B,WAAA,GAAA0B,eAAA,CAAA1B,WAAA;IAAA6B,oBAAA,GAAAH,eAAA,CACAnB,IAAO;AAAPA,IAAAA,IAAO,GAAAsB,oBAAA,KAAA,KAAA,CAAA,GAAA,MAAA,GAAAA,oBAAA;IAAAC,qBAAA,GAAAJ,eAAA,CACPxB,QAAW;AAAXA,IAAAA,QAAW,GAAA4B,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,qBAAA;IAAAC,oBAAA,GAAAL,eAAA,CACXxJ,IAAO;AAAPA,IAAAA,IAAO,GAAA6J,oBAAA,KAAA,KAAA,CAAA,GAAA,QAAA,GAAAA,oBAAA;AACJd,IAAAA,SAAA,GAAAC,wBAAA,CAAAQ,eAAA,EAAAM,YAAA,CAAA,CAAA;AAML,EAAA,IAAAC,QAAA,GAAsBC,OAAQ,EAAA;IAAtB3H,IAAA,GAAA0H,QAAA,CAAA1H,IAAA;IAAM4H,GAAI,GAAAF,QAAA,CAAJE,GAAI,CAAA;AAElB,EAAA,IAAM5J,QAAQqJ,SAAa,IAAAH,UAAA,GAAAW,SAAA,CAAU7H,IAAM,EAAAqH,SAAS,oDAAgB,EAAK,GAAA,EAAA,CAAA;AAEnE,EAAA,IAAAS,YAAA,GAAe,SAAfA,YAAAA,CAAgBC,QAAqB,EAAA;AACzC,IAAA,IAAIV,SAAW,EAAA;AACbO,MAAAA,GAAA,CAAIP,WAAWU,QAAQ,CAAA,CAAA;AACzB,KAAA;GACF,CAAA;AAEA,EAAA,IAAIX,KAAO,EAAA;AACT,IAAA,sBACGnH,KAAA,CAAAC,aAAA,CAAA8H,KAAA,EAAA;AAAMC,MAAAA,SAAU,EAAA,UAAA;AAAWtK,MAAAA,IAAM,EAAA,CAAA;AAAGuK,MAAAA,KAAA,EAAO;AAAEC,QAAAA,KAAA,EAAO,MAAA;AAAO,OAAA;AAAA,KAAA,iBACzDlI,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AAAMgI,MAAAA,KAAO,EAAA;AAAEE,QAAAA,QAAU,EAAA,MAAA;AAAQC,QAAAA,YAAY,GAAA;AAAI,OAAA;KAAI,EAAAjB,KAAM,kBAC3DnH,KAAA,CAAAC,aAAA,CAAA2G,KAAA,EAAAC,eAAA,CAAA;AACC9I,MAAAA,KAAA,EAAAA,KAAA;AACAyH,MAAAA,WAAA,EAAAA,WAAA;AACAO,MAAAA,IAAA,EAAAA,IAAA;AACAL,MAAAA,QAAA,EAAAA,QAAA;AACAhI,MAAAA,IAAA,EAAAA,IAAA;AACA0I,MAAAA,QAAU,EAAAyB,YAAAA;KACNpB,EAAAA,SAAA,CACN,CACF,CAAA,CAAA;AAEJ,GAAA;AAEA,EAAA,sBACGzG,KAAA,CAAAC,aAAA,CAAA2G,KAAA,EAAAC,eAAA,CAAA;AACC9I,IAAAA,KAAA,EAAAA,KAAA;AACAyH,IAAAA,WAAA,EAAAA,WAAA;AACAO,IAAAA,IAAA,EAAAA,IAAA;AACAL,IAAAA,QAAA,EAAAA,QAAA;AACAhI,IAAAA,IAAA,EAAAA,IAAA;AACA0I,IAAAA,QAAU,EAAAyB,YAAAA;GACNpB,EAAAA,SAAA,CACN,CAAA,CAAA;AAEJ,EAAA;AAEAM,mBAAA,CAAoBD,WAAc,GAAA,qBAAA;;;;;ACvDlC,SAASuB,mBACPA,CAAAC,MAAA,EACAvI,IACA,EACyB;AAAA,EAAA,IADzBwI,QAAA,GAAAC,SAAA,CAAApL,MAAA,GAAA,CAAA,IAAAoL,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAW,EACc,CAAA;EACzB,IAAME,WAAoC,EAAC,CAAA;EAGrC,IAAAC,KAAA,GAID,CAAC;AAAEzK,IAAAA,MAAA,EAAQoK;AAAQM,IAAAA,MAAQ,EAAAF,QAAA;AAAUG,IAAAA,KAAO,EAAA,CAAA;AAAE,GAAC,CAAA,CAAA;AAE7C,EAAA,OAAAF,KAAA,CAAMvL,SAAS,CAAG,EAAA;AACvB,IAAA,IAAA0L,UAAA,GAAkCH,MAAMI,GAAI,EAAA;MAApC7K,MAAQ,GAAA4K,UAAA,CAAR5K,MAAQ;MAAA0K,MAAA,GAAAE,UAAA,CAAAF,MAAA;MAAQC,KAAM,GAAAC,UAAA,CAAND,KAAM,CAAA;IAE9B,IAAIA,SAASN,QAAU,EAAA;AAEdlK,MAAAA,MAAA,CAAA2K,MAAA,CAAOJ,QAAQ1K,MAAM,CAAA,CAAA;AAC5B,MAAA,SAAA;AACF,KAAA;AAEA,IAAA,KAAA,IAAA+K,EAAA,GAAAC,CAAAA,EAAAA,eAAA,GAA2B7K,MAAO,CAAAV,OAAA,CAAQO,MAAM,CAAG,EAAA+K,EAAA,GAAAC,eAAA,CAAA9L,MAAA,EAAA6L,EAAA,EAAA,EAAA;AAAnD,MAAA,IAAAE,kBAAA,GAAAxG,cAAA,CAAAuG,eAAA,CAAAD,EAAA,CAAA,EAAA,CAAA,CAAA;AAAYG,QAAAA,GAAK,GAAAD,kBAAA,CAAA,CAAA,CAAA;AAAApL,QAAAA,KAAK,GAAAoL,kBAAA,CAAA,CAAA,CAAA,CAAA;MACpB,IAAIpL,KAAS,IAAAb,OAAA,CAAOa,KAAU,CAAA,KAAA,QAAA,IAAY,UAAUA,KAAO,EAAA;AAEzD,QAAA,IAAMsL,YAAatL,KAA2B,CAAAyG,IAAA,CAAA;QACvCoE,MAAA,CAAAQ,GAAA,CAAA,GAAOxB,SAAU,CAAA7H,IAAA,EAAMsJ,SAAS,CAAA,CAAA;AACzC,OAAA,MAAA,IAAWtL,SAASb,OAAA,CAAOa,KAAA,CAAA,KAAU,YAAY,CAACR,KAAA,CAAMC,OAAQ,CAAAO,KAAK,CAAG,EAAA;QAEtE,IAAMuL,eAAwC,EAAC,CAAA;AAC/CV,QAAAA,MAAA,CAAOQ,GAAO,CAAA,GAAAE,YAAA,CAAA;QACdX,KAAA,CAAMY,IAAK,CAAA;AACTrL,UAAAA,MAAQ,EAAAH,KAAA;AACR6K,UAAAA,MAAQ,EAAAU,YAAA;UACRT,OAAOA,KAAQ,GAAA,CAAA;AACjB,SAAC,CAAA,CAAA;AACH,OAAO,MAAA;AAELD,QAAAA,MAAA,CAAOQ,GAAO,CAAA,GAAArL,KAAA,CAAA;AAChB,OAAA;AACF,KAAA;AACF,GAAA;AAEO,EAAA,OAAA2K,QAAA,CAAA;AACT,CAAA;AAcA,SAASc,cAA8CA,CAAApK,IAAA,EAS5B;AAAA,EAAA,IARzBgG,OAAA,GAAAhG,IAAA,CAAAgG,OAAA;IACAqE,QAAA,GAAArK,IAAA,CAAAqK,QAAA;IACAC,QAAA,GAAAtK,IAAA,CAAAsK,QAAA;IACAC,gBAAA,GAAAvK,IAAA,CAAAuK,gBAAA;IACAC,UAAA,GAAAxK,IAAA,CAAAwK,UAAA;IACAC,aAAA,GAAAzK,IAAA,CAAAyK,aAAA;IACAC,cAAA,GAAA1K,IAAA,CAAA0K,cAAA;IACAC,aAAA,GAAA3K,IAAA,CAAA2K,aAAA,CAAA;AAEA,EAAA,IAAAtC,QAAA,GAAsBC,OAAQ,EAAA;IAAtB3H,IAAA,GAAA0H,QAAA,CAAA1H,IAAA;IAAM4H,GAAI,GAAAF,QAAA,CAAJE,GAAI,CAAA;AAGZ,EAAA,IAAAtC,cAAA,GAMFD,OAAQ,CAAAE,KAAA;IALV8B,SAAA,GAAA/B,cAAA,CAAA+B,SAAA;IACA4C,YAAA,GAAA3E,cAAA,CAAA2E,YAAA;IACAC,MAAA,GAAA5E,cAAA,CAAA4E,MAAA;IACUC,cAAA,GAAA7E,cAAA,CAAVK,QAAU;AACPyE,IAAAA,cAAA,GAAAzD,wBAAA,CAAArB,cAAA,EAAAsB,WAAA,CAAA,CAAA;AASC,EAAA,IAAAyD,OAAA,GAAUC,OAAOtK,IAAI,CAAA,CAAA;EAC3BqK,OAAA,CAAQE,OAAU,GAAAvK,IAAA,CAAA;AAGZ,EAAA,IAAAwK,UAAA,GAAazK,QAAQ,YAAM;AAC/B,IAAA,IAAIsH,SAAW,EAAA;AAAA,MAAA,IAAAH,UAAA,CAAA;AACN,MAAA,OAAA,CAAAA,UAAA,GAAAW,SAAA,CAAU7H,IAAM,EAAAqH,SAAS,CAAK,MAAAH,IAAAA,IAAAA,UAAA,KAAAA,KAAAA,CAAAA,GAAAA,UAAA,GAAA,EAAA,CAAA;AACvC,KAAA;AACO,IAAA,OAAA,KAAA,CAAA,CAAA;AACT,GAAA,EAAG,CAACG,SAAW,EAAAA,SAAA,GAAYQ,UAAU7H,IAAM,EAAAqH,SAAS,CAAI,GAAA,KAAA,CAAS,CAAC,CAAA,CAAA;AAG5D,EAAA,IAAAoD,aAAA,GAAgB1K,QAAQ,YAAM;AAClC,IAAA,IAAIkK,YAAc,EAAA;MAChB,OAAOS,OAAQ,CAAA7C,SAAA,CAAU7H,IAAM,EAAAiK,YAAY,CAAC,CAAA,CAAA;AAC9C,KAAA;AACA,IAAA,OAAOE,cAAkB,KAAlBA,IAAAA,IAAAA,cAAkB,KAAlBA,KAAAA,CAAAA,GAAAA,cAAkB,GAAA,KAAA,CAAA;AAC3B,GAAA,EAAG,CAACF,YAAA,EAAcA,YAAe,GAAApC,SAAA,CAAU7H,MAAMiK,YAAY,CAAA,GAAI,KAAW,CAAA,EAAAE,cAAc,CAAC,CAAA,CAAA;AAGrF,EAAA,IAAAQ,MAAA,GAASL,OAAO1C,GAAG,CAAA,CAAA;EACzB+C,MAAA,CAAOJ,OAAU,GAAA3C,GAAA,CAAA;AAGX,EAAA,IAAAE,YAAA,GAAehD,WAAY,CAAA,UAACiD,QAAsB,EAAA;AACtD,IAAA,IAAIV,SAAW,EAAA;AACNsD,MAAAA,MAAA,CAAAJ,OAAA,CAAQlD,WAAWU,QAAQ,CAAA,CAAA;AACpC,KAAA;AACF,GAAA,EAAG,CAACV,SAAS,CAAC,CAAA,CAAA;AAGR,EAAA,IAAAuD,YAAA,GAAe9F,YAAY,YAAM;AACjC,IAAA,IAAA,CAACoF,UAAU,CAACP,QAAA,EAAU,OAAA;AAGpB,IAAA,IAAAkB,SAAA,GAAoB,OAAOX,MAAA,KAAW,QACxC,GAAA;AAAEY,MAAAA,MAAMZ,MAAQ;AAAA3B,MAAAA,MAAA,EAAQ,EAAC;AAAE,KAC3B,GAAA2B,MAAA,CAAA;AAGE,IAAA,IAAAa,cAAA,GAAiBF,UAAUtC,MAC7B,GAAAD,mBAAA,CAAoBuC,UAAUtC,MAAmC,EAAA8B,OAAA,CAAQE,OAAO,CAAA,GAChF,EAAC,CAAA;AAEL,IAAA,IAAMS,cAAyB,GAAA;MAC7BF,MAAMD,SAAU,CAAAC,IAAA;AAChBvC,MAAAA,MAAQ,EAAAwC,cAAAA;KACV,CAAA;IAEApB,QAAA,CAASqB,cAAc,CAAA,CAAA;AACzB,GAAG,EAAA,CAACd,MAAQ,EAAAP,QAAQ,CAAC,CAAA,CAAA;AAGf,EAAA,IAAAsB,UAAA,GAAalL,QAAQ,YAAM;AAC/B,IAAA,IAAMwF,KAAa,GAAAuB,eAAA,CAAAA,eAAA,KACdsD,cAAA,CAAA,EAAA,EAAA,EAAA;AACHzE,MAAAA,QAAU,EAAA8E,aAAAA;KACZ,CAAA,CAAA;AAGA,IAAA,IAAIpD,cAAc,KAAW,CAAA,EAAA;AAC3B9B,MAAAA,KAAA,CAAMsE,UAAc,CAAA,GAAAW,UAAA,CAAA;AACpBjF,MAAAA,KAAA,CAAMuE,aAAiB,CAAA,GAAAhC,YAAA,CAAA;AACzB,KAAA;IAGA,IAAIiC,kBAAkBG,MAAQ,EAAA;AAC5B,MAAA,IAAMgB,kBAAkBd,cAAe,CAAAJ,aAAA,CAAA,CAAA;AACjCzE,MAAAA,KAAA,CAAAyE,aAAA,CAAA,GAAiB,YAAwB;AAEzC,QAAA,IAAA,OAAOkB,oBAAoB,UAAY,EAAA;AACzCA,UAAAA,eAAA,CAAAC,KAAA,CAAA1C,KAAAA,CAAAA,EAAAA,SAAuB,CAAA,CAAA;AACzB,SAAA;AAEAmC,QAAAA,YAAA,CAAAO,KAAA,CAAA1C,KAAAA,CAAAA,EAAAA,SAAoB,CAAA,CAAA;OACtB,CAAA;AACF,KAAA;AAEO,IAAA,OAAAlD,KAAA,CAAA;GACN,EAAA,CACD6E,cAAA,EACAK,aAAA,EACApD,SAAA,EACAwC,UAAA,EACAW,UAAA,EACAV,aAAA,EACAhC,YAAA,EACAiC,cAAA,EACAG,MAAA,EACAF,aAAA,EACAY,YAAA,CACD,CAAA,CAAA;AAED,EAAA,sBACG3K,KAAA,CAAAC,aAAA,CAAA0J,gBAAA,EAAA9C,eAAA,CAAqBmE,EAAAA,EAAAA,UAAA,CACnBvB,EAAAA,QACH,CAAA,CAAA;AAEJ,CAAA;AAUO,SAAS0B,eACdA,CAAAxB,gBAAA,EAEgC;AAAA,EAAA,IADhCyB,MAA4B,GAAA5C,SAAA,CAAApL,MAAA,GAAA,CAAA,IAAAoL,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAA,EACI,CAAA;AAC1B,EAAA,IAAA6C,kBAAA,GAKFD,MAAA,CAJFxB,UAAa;AAAbA,IAAAA,UAAa,GAAAyB,kBAAA,KAAA,KAAA,CAAA,GAAA,OAAA,GAAAA,kBAAA;IAAAC,qBAAA,GAIXF,MAAA,CAHFvB,aAAgB;AAAhBA,IAAAA,aAAgB,GAAAyB,qBAAA,KAAA,KAAA,CAAA,GAAA,UAAA,GAAAA,qBAAA;IAAAC,qBAAA,GAGdH,MAAA,CAFFtB,cAAiB;AAAjBA,IAAAA,cAAiB,GAAAyB,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,qBAAA;IAAAC,qBAAA,GAEfJ,MAAA,CADFrB,aAAgB;AAAhBA,IAAAA,aAAgB,GAAAyB,qBAAA,KAAA,KAAA,CAAA,GAAA,SAAA,GAAAA,qBAAA,CAAA;AAGZ,EAAA,IAAAC,kBAAA,GAAqD,SAArDA,kBAAAA,CAAsDnG,KAAU,EAAA;IACpE,sBACGtF,KAAA,CAAAC,aAAA,CAAAuJ,cAAA,EAAA3C,eAAA,CAAAA,eAAA,CAAA,EAAA,EACKvB,KAAA,CAAA,EAAA,EAAA,EAAA;AACJqE,MAAAA,gBAAA,EAAAA,gBAAA;AACAC,MAAAA,UAAA,EAAAA,UAAA;AACAC,MAAAA,aAAA,EAAAA,aAAA;AACAC,MAAAA,cAAA,EAAAA,cAAA;AACAC,MAAAA,aAAA,EAAAA,aAAAA;AAAA,KAAA,CACF,CAAA,CAAA;GAEJ,CAAA;AAEA0B,EAAAA,kBAAA,CAAmB3E,WAAc,GAAA4E,kBAAAA,CAAAA,MAAA,CAAmB/B,gBAAiB,CAAA7C,WAAA,IAAe6C,iBAAiBkB,IAAQ,IAAA,WAAA,EAAA,GAAA,CAAA,CAAA;EAG7G,oBAAOnK,IAAK,CAAA+K,kBAAA,EAAoB,UAAC9K,SAAA,EAAWC,SAAc,EAAA;IAEpD,IAAAD,SAAA,CAAUyE,YAAYxE,SAAU,CAAAwE,OAAA,EAAgB,OAAA,IAAA,CAAA;AAGpD,IAAA,IAAMuG,SAAShL,SAAU,CAAAyE,OAAA,CAAA;AACzB,IAAA,IAAMwG,SAAShL,SAAU,CAAAwE,OAAA,CAAA;IAErB,IAAAuG,MAAA,CAAO5F,SAAS6F,MAAO,CAAA7F,IAAA,EAAa,OAAA,KAAA,CAAA;IACpC,IAAA4F,MAAA,CAAOvC,QAAQwC,MAAO,CAAAxC,GAAA,EAAY,OAAA,KAAA,CAAA;AAGhC,IAAA,IAAAyC,WAAA,GAAcF,MAAO,CAAArG,KAAA,IAAS,EAAC,CAAA;AAC/B,IAAA,IAAAwG,WAAA,GAAcF,MAAO,CAAAtG,KAAA,IAAS,EAAC,CAAA;AAC/B,IAAA,IAAAyG,QAAA,GAAW1N,MAAO,CAAAf,IAAA,CAAKuO,WAAW,CAAA,CAAA;AAClC,IAAA,IAAAG,QAAA,GAAW3N,MAAO,CAAAf,IAAA,CAAKwO,WAAW,CAAA,CAAA;IAEpC,IAAAC,QAAA,CAAS3O,WAAW4O,QAAS,CAAA5O,MAAA,EAAe,OAAA,KAAA,CAAA;AAEhD,IAAA,KAAA,IAAA6O,GAAA,GAAA,CAAA,EAAAC,SAAA,GAAkBH,QAAU,EAAAE,GAAA,GAAAC,SAAA,CAAA9O,MAAA,EAAA6O,GAAA,EAAA,EAAA;AAA5B,MAAA,IAAW7C;MACL,IAAAyC,WAAA,CAAYzC,SAAS0C,WAAY,CAAA1C,GAAA,CAAA,EAAa,OAAA,KAAA,CAAA;AACpD,KAAA;AAEO,IAAA,OAAA,IAAA,CAAA;AACT,GAAC,CAAA,CAAA;AACH;;;;;;ACxQA,IAAM+C,YAAuD,SAAvDA,gBAGA;AAAA,EAAA,IAFJhF,KAAA,GAAA/H,IAAA,CAAA+H,KAAA;AACG7B,IAAAA,KAAA,GAAAoB,wBAAA,CAAAtH,IAAA,EAAAuH,SAAA,CAAA,CAAA;AAEH,EAAA,IAAIQ,KAAO,EAAA;AACT,IAAA,sBACGnH,KAAA,CAAAC,aAAA,CAAA8H,KAAA,EAAA;AAAMC,MAAAA,SAAU,EAAA,UAAA;AAAWtK,MAAAA,IAAM,EAAA,CAAA;AAAGuK,MAAAA,KAAA,EAAO;AAAEC,QAAAA,KAAA,EAAO,MAAA;AAAO,OAAA;AAAA,KAAA,iBACzDlI,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AAAMgI,MAAAA,KAAO,EAAA;AAAEE,QAAAA,QAAU,EAAA,MAAA;AAAQC,QAAAA,YAAY,GAAA;AAAI,OAAA;AAAI,KAAA,EAAAjB,KAAM,kBAC3DnH,KAAA,CAAAC,aAAA,CAAA2G,KAAA,EAAAC,eAAA,CAAA,EAAA,EAAUvB,KAAA,CAAO,CACpB,CAAA,CAAA;AAEJ,GAAA;EACA,sBAAQtF,KAAA,CAAAC,aAAA,CAAA2G,KAAA,EAAAC,eAAA,CAAA,EAAA,EAAUvB,KAAA,CAAO,CAAA,CAAA;AAC3B,CAAA,CAAA;AAEA6G,SAAA,CAAUrF,WAAc,GAAA,WAAA,CAAA;AAMxB,IAAMsF,aAAyD,SAAzDA,kBAIA;AAAA,EAAA,IAHJjF,KAAA,GAAAH,KAAA,CAAAG,KAAA;IACAsC,QAAA,GAAAzC,KAAA,CAAAyC,QAAA;AACGnE,IAAAA,KAAA,GAAAoB,wBAAA,CAAAM,KAAA,EAAAQ,UAAA,CAAA,CAAA;AAEH,EAAA,IAAMnI,UAAU8H,KAAS,IAAAsC,QAAA,CAAA;AACzB,EAAA,sBAAQzJ,KAAA,CAAAC,aAAA,CAAAoM,MAAA,EAAAxF,eAAA,CAAWvB,EAAAA,EAAAA,KAAA,CAAQjG,EAAAA,OAAQ,CAAA,CAAA;AACrC,CAAA,CAAA;AAEA+M,UAAA,CAAWtF,WAAc,GAAA,YAAA,CAAA;IAQZwF,aAAgB,GAAAnB,eAAA,CAC3BgB,SAAA,EACA;AACEvC,EAAAA,UAAY,EAAA,OAAA;AACZC,EAAAA,aAAe,EAAA,UAAA;AACfC,EAAAA,cAAgB,EAAA,KAAA;AAClB,CACF,EAAA;IAMayC,UAAa,GAAApB,eAAA,CACxBiB,UAAA,EACA;AACEtC,EAAAA,cAAgB,EAAA,IAAA;AAClB,CACF,EAAA;AAsBO,IAAM0C,YAAkC,GAAA;AAE7CC,EAAAA,SAAW,EAAAH,aAAA;AACXD,EAAAA,MAAQ,EAAAE,UAAA;AAGRG,EAAAA,IAAM,EAAAC,cAAA;AACNC,EAAAA,IAAM,EAAAC,cAAA;AACNC,EAAAA,GAAK,EAAAC,aAAA;AACLC,EAAAA,GAAK,EAAAC,aAAA;AACLlF,EAAAA,KAAO,EAAAmF,eAAA;AACPC,EAAAA,MAAQ,EAAAC,gBAAA;AACRC,EAAAA,OAAS,EAAAC,iBAAAA;AACX,EAAA;AAuBO,SAASC,mBACdC,gBACmB,EAAA;AACZ,EAAA,OAAA3G,eAAA,CAAAA,eAAA,CACF2F,EAAAA,EAAAA,YAAA,GACAgB,gBAAA,CAAA,CAAA;AAEP;;;;AC7HO,SAASC,gBACdC,SACmD,EAAA;EACnD,oBAAO1N,KAAM,CAAAU,IAAA,CAAKgN,SAAW,EAAA,UAAC/M,WAAWC,SAAc,EAAA;AACrD,IAAA,IAAM+M,cAAchN,SAAU,CAAAyE,OAAA,CAAA;AAC9B,IAAA,IAAMwI,cAAchN,SAAU,CAAAwE,OAAA,CAAA;AAG9B,IAAA,IAAIuI,WAAgB,KAAAC,WAAA,EAAoB,OAAA,IAAA,CAAA;AAGxC,IAAA,IAAID,YAAYE,EAAO,KAAAD,WAAA,CAAYC,MAAMF,WAAY,CAAA5H,IAAA,KAAS6H,YAAY7H,IAAM,EAAA;AACvE,MAAA,OAAA,KAAA,CAAA;AACT,KAAA;IAGA,OAAOnH,gBAAQ,CAAA+O,WAAA,CAAYrI,KAAO,EAAAsI,WAAA,CAAYtI,KAAK,CAAA,CAAA;AACrD,GAAC,CAAA,CAAA;AACH,CAAA;AAqCO,IAAMwI,eAAqC,GAAA;AAEhDzB,EAAAA,MAAQ,EAAA0B,gBAAA;AACRnH,EAAAA,KAAO,EAAAzB,eAAA;AACPsH,EAAAA,SAAW,EAAA1F,mBAAA;AACX2F,EAAAA,IAAM,EAAAC,cAAA;AACNC,EAAAA,IAAM,EAAAC,cAAA;AAGNC,EAAAA,GAAK,EAAAC,aAAA;AACLC,EAAAA,GAAK,EAAAC,aAAA;AACLlF,EAAAA,KAAO,EAAAmF,eAAA;AACPC,EAAAA,MAAQ,EAAAC,gBAAA;AACRC,EAAAA,OAAS,EAAAC,iBAAA;AAGTU,EAAAA,MAAQ,EAAAD,gBAAA;AACRE,EAAAA,KAAO,EAAA9I,eAAA;AACP+I,EAAAA,SAAW,EAAAnH,mBAAA;AACXoH,EAAAA,IAAM,EAAAxB,cAAA;AACNyB,EAAAA,IAAM,EAAAvB,cAAA;AACNwB,EAAAA,GAAK,EAAAtB,aAAA;AACLuB,EAAAA,GAAK,EAAArB,aAAA;AACLsB,EAAAA,KAAO,EAAArB,eAAA;AACPsB,EAAAA,MAAQ,EAAApB,gBAAA;AACRqB,EAAAA,OAAS,EAAAnB,iBAAAA;AACX,EAAA;AAyDO,SAASoB,oBACdA,CAAAlB,gBAAA,EAEmB;AAAA,EAAA,IADnBmB,OAAuC,GAAAnG,SAAA,CAAApL,MAAA,GAAA,CAAA,IAAAoL,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAA,EACpB,CAAA;AACb,EAAA,IAAAoG,qBAAA,GAA+BD,OAAA,CAA7BE,iBAAoB;AAApBA,IAAAA,iBAAoB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAA,IAAA,GAAAA,qBAAA,CAAA;EAG5B,IAAME,sBAAyC,EAAC,CAAA;AAEhD,EAAA,IAAID,iBAAmB,EAAA;AACrB,IAAA,KAAA,IAAA5F,EAAA,GAAAC,CAAAA,EAAAA,eAAA,GAAgC7K,MAAO,CAAAV,OAAA,CAAQ6P,gBAAgB,CAAG,EAAAvE,EAAA,GAAAC,eAAA,CAAA9L,MAAA,EAAA6L,EAAA,EAAA,EAAA;AAAlE,MAAA,IAAAE,kBAAA,GAAAxG,cAAA,CAAAuG,eAAA,CAAAD,EAAA,CAAA,EAAA,CAAA,CAAA;AAAY4B,QAAAA,IAAM,GAAA1B,kBAAA,CAAA,CAAA,CAAA;AAAAuE,QAAAA,SAAS,GAAAvE,kBAAA,CAAA,CAAA,CAAA,CAAA;AACL2F,MAAAA,mBAAA,CAAAjE,IAAA,CAAA,GAAQ4C,gBAAgBC,SAAsD,CAAA,CAAA;AACpG,KAAA;AACF,GAAO,MAAA;AACErP,IAAAA,MAAA,CAAA2K,MAAA,CAAO8F,qBAAqBtB,gBAAgB,CAAA,CAAA;AACrD,GAAA;AAEO,EAAA,OAAA3G,eAAA,CAAAA,eAAA,CACFiH,EAAAA,EAAAA,eAAA,GACAgB,mBAAA,CAAA,CAAA;AAEP;;;;AC5EgB,SAAAC,8BAAAA,GAEsC;AAAA,EAAA,IADpDJ,OAA2C,GAAAnG,SAAA,CAAApL,MAAA,GAAA,CAAA,IAAAoL,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAA,EACS,CAAA;AAC9C,EAAA,IAAAwG,qBAAA,GAMFL,OAAA,CALFxP,YAAe;AAAfA,IAAAA,YAAe,GAAA6P,qBAAA,KAAA,KAAA,CAAA,GAAA,aAAA,GAAAA,qBAAA;IAAAC,iBAAA,GAKbN,OAAA,CAJFpP,QAAW;AAAXA,IAAAA,QAAW,GAAA0P,iBAAA,KAAAnB,KAAAA,CAAAA,GAAAA,eAAA,GAAAmB,iBAAA;IAAAC,qBAAA,GAITP,OAAA,CAHFlP;AAAAA,IAAAA,oDAAiB,EAAC,GAAAyP,qBAAA;IAAAC,cAAA,GAGhBR,OAAA,CAFFvM,KAAQ;AAARA,IAAAA,KAAQ,GAAA+M,cAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,cAAA;IAAAC,oBAAA,GAENT,OAAA,CADFU,WAAc;AAAdA,IAAAA,WAAc,GAAAD,oBAAA,KAAA,KAAA,CAAA,GAAA,gDAAA,GAAAA,oBAAA,CAAA;EAGT,OAAA;AACLjQ,IAAAA,YAAA,EAAAA,YAAA;AACAmQ,IAAAA,SAAW,eAAAtP,KAAA,CAAMU,IAAK,CAAA,UAAC4E;4BACpBtF,KAAA,CAAAC,aAAA,CAAAQ,0BAAA,EAAAoG,aAAA,CAAAA,aAAA,CAAA,EAAA,EACKvB,KAAA,CAAA,EAAA,EAAA,EAAA;AACJ/F,QAAAA,QAAA,EAAAA,QAAA;AACAE,QAAAA,cAAA,EAAAA,cAAA;AACA2C,QAAAA,KAAA,EAAAA,KAAAA;AAAA,OAAA,CACF,CACD,CAAA;KAAA,CAAA;AACDiN,IAAAA,WAAA,EAAAA,WAAAA;GACF,CAAA;AACF,CAAA;AAMaE,IAAAA,kCAAkCR,8BAA+B,GAAA;AAyB9D,SAAAS,kCAAAA,GAEO;AAAA,EAAA,IADrBb,OAA2C,GAAAnG,SAAA,CAAApL,MAAA,GAAA,CAAA,IAAAoL,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAA,EACtB,CAAA;AACf,EAAA,IAAAiH,sBAAA,GAMFd,OAAA,CALFxP,YAAe;AAAfA,IAAAA,YAAe,GAAAsQ,sBAAA,KAAA,KAAA,CAAA,GAAA,kBAAA,GAAAA,sBAAA;IAAAC,kBAAA,GAKbf,OAAA,CAJFpP,QAAW;AAAXA,IAAAA,QAAW,GAAAmQ,kBAAA,KAAAlD,KAAAA,CAAAA,GAAAA,YAAA,GAAAkD,kBAAA;IAAAC,sBAAA,GAIThB,OAAA,CAHFlP;AAAAA,IAAAA,qDAAiB,EAAC,GAAAkQ,sBAAA;IAAAC,eAAA,GAGhBjB,OAAA,CAFFvM,KAAQ;AAARA,IAAAA,KAAQ,GAAAwN,eAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,eAAA;IAAAC,qBAAA,GAENlB,OAAA,CADFU,WAAc;AAAdA,IAAAA,WAAc,GAAAQ,qBAAA,KAAA,KAAA,CAAA,GAAA,mDAAA,GAAAA,qBAAA,CAAA;EAGT,OAAA;AACL1Q,IAAAA,YAAA,EAAAA,YAAA;AACAmQ,IAAAA,SAAW,eAAAtP,KAAA,CAAMU,IAAK,CAAA,UAAC4E;4BACpBtF,KAAA,CAAAC,aAAA,CAAAgC,8BAAA,EAAA4E,aAAA,CAAAA,aAAA,CAAA,EAAA,EACKvB,KAAA,CAAA,EAAA,EAAA,EAAA;AACJ/F,QAAAA,QAAA,EAAAA,QAAA;AACAE,QAAAA,cAAA,EAAAA,cAAA;AACA2C,QAAAA,KAAA,EAAAA,KAAAA;AAAA,OAAA,CACF,CACD,CAAA;KAAA,CAAA;AACDiN,IAAAA,WAAA,EAAAA,WAAAA;GACF,CAAA;AACF,CAAA;AAKaS,IAAAA,sCAAsCN,kCAAmC;;;;"}
@@ -2,6 +2,5 @@ import React from 'react';
2
2
  type AnyProps = {
3
3
  [key: string]: any;
4
4
  };
5
- export declare function hyphenate(str: string): string;
6
- declare const reactify: <T extends AnyProps = AnyProps>(WC: string) => React.ForwardRefExoticComponent<Omit<T, "ref"> & React.RefAttributes<HTMLElement | undefined>>;
5
+ declare const reactify: <T extends AnyProps = AnyProps>(WC: string) => React.ForwardRefExoticComponent<React.PropsWithoutRef<T> & React.RefAttributes<HTMLElement>>;
7
6
  export default reactify;