@hashgraphonline/standards-sdk 0.1.144 → 0.1.146-chore-jsr-improvements.canary.74bacb9.89

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 (442) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/hcs-10/base-client.d.ts.map +1 -1
  3. package/dist/cjs/hcs-10/sdk.d.ts +8 -0
  4. package/dist/cjs/hcs-10/sdk.d.ts.map +1 -1
  5. package/dist/cjs/hcs-11/client.d.ts +2 -2
  6. package/dist/cjs/hcs-11/client.d.ts.map +1 -1
  7. package/dist/cjs/hcs-11/person-builder.d.ts +1 -0
  8. package/dist/cjs/hcs-11/person-builder.d.ts.map +1 -1
  9. package/dist/cjs/hcs-11/types.d.ts +1 -0
  10. package/dist/cjs/hcs-11/types.d.ts.map +1 -1
  11. package/dist/cjs/hcs-12/rendering/resource-manager.d.ts.map +1 -1
  12. package/dist/cjs/hcs-14/issuers/hiero.d.ts.map +1 -1
  13. package/dist/cjs/hcs-15/browser.d.ts +2 -0
  14. package/dist/cjs/hcs-15/browser.d.ts.map +1 -1
  15. package/dist/cjs/hcs-15/sdk.d.ts +7 -1
  16. package/dist/cjs/hcs-15/sdk.d.ts.map +1 -1
  17. package/dist/cjs/hcs-15/tx.d.ts +4 -0
  18. package/dist/cjs/hcs-15/tx.d.ts.map +1 -1
  19. package/dist/cjs/hcs-15/types.d.ts +16 -1
  20. package/dist/cjs/hcs-15/types.d.ts.map +1 -1
  21. package/dist/cjs/hcs-16/browser.d.ts +11 -2
  22. package/dist/cjs/hcs-16/browser.d.ts.map +1 -1
  23. package/dist/cjs/hcs-16/sdk.d.ts +62 -1
  24. package/dist/cjs/hcs-16/sdk.d.ts.map +1 -1
  25. package/dist/cjs/hcs-16/tx.d.ts +21 -3
  26. package/dist/cjs/hcs-16/tx.d.ts.map +1 -1
  27. package/dist/cjs/hcs-17/base-client.d.ts +1 -0
  28. package/dist/cjs/hcs-17/base-client.d.ts.map +1 -1
  29. package/dist/cjs/hcs-17/sdk.d.ts.map +1 -1
  30. package/dist/cjs/hcs-17/tx.d.ts +2 -0
  31. package/dist/cjs/hcs-17/tx.d.ts.map +1 -1
  32. package/dist/cjs/hcs-17/types.d.ts +4 -0
  33. package/dist/cjs/hcs-17/types.d.ts.map +1 -1
  34. package/dist/cjs/hcs-3/src/types.d.ts +60 -0
  35. package/dist/cjs/hcs-3/src/types.d.ts.map +1 -0
  36. package/dist/cjs/hcs-7/types.d.ts +4 -4
  37. package/dist/cjs/index.d.ts.map +1 -1
  38. package/dist/cjs/inscribe/inscriber.d.ts +89 -0
  39. package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
  40. package/dist/cjs/jsr-entry.d.ts +16 -0
  41. package/dist/cjs/jsr-entry.d.ts.map +1 -0
  42. package/dist/cjs/services/registry-broker/client/base-client.d.ts +14 -1
  43. package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -1
  44. package/dist/cjs/services/registry-broker/client/feedback.d.ts +2 -0
  45. package/dist/cjs/services/registry-broker/client/feedback.d.ts.map +1 -0
  46. package/dist/cjs/services/registry-broker/hol-chat-ops.d.ts +24 -0
  47. package/dist/cjs/services/registry-broker/hol-chat-ops.d.ts.map +1 -0
  48. package/dist/cjs/services/registry-broker/index.d.ts +1 -0
  49. package/dist/cjs/services/registry-broker/index.d.ts.map +1 -1
  50. package/dist/cjs/services/registry-broker/private-key-signer.d.ts +1 -0
  51. package/dist/cjs/services/registry-broker/private-key-signer.d.ts.map +1 -1
  52. package/dist/cjs/services/registry-broker/schemas.d.ts +1010 -586
  53. package/dist/cjs/services/registry-broker/schemas.d.ts.map +1 -1
  54. package/dist/cjs/services/registry-broker/types.d.ts +20 -1
  55. package/dist/cjs/services/registry-broker/types.d.ts.map +1 -1
  56. package/dist/cjs/standards-sdk.cjs +3 -3
  57. package/dist/cjs/standards-sdk.cjs.map +1 -1
  58. package/dist/cjs/utils/crypto-abstraction.d.ts.map +1 -1
  59. package/dist/cjs/utils/crypto-env.d.ts.map +1 -1
  60. package/dist/cjs/utils/dynamic-import.d.ts +5 -1
  61. package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
  62. package/dist/cjs/utils/hash-adapter.d.ts.map +1 -1
  63. package/dist/es/hcs-10/base-client.d.ts.map +1 -1
  64. package/dist/es/hcs-10/sdk.d.ts +8 -0
  65. package/dist/es/hcs-10/sdk.d.ts.map +1 -1
  66. package/dist/es/hcs-11/client.d.ts +2 -2
  67. package/dist/es/hcs-11/client.d.ts.map +1 -1
  68. package/dist/es/hcs-11/person-builder.d.ts +1 -0
  69. package/dist/es/hcs-11/person-builder.d.ts.map +1 -1
  70. package/dist/es/hcs-11/types.d.ts +1 -0
  71. package/dist/es/hcs-11/types.d.ts.map +1 -1
  72. package/dist/es/hcs-12/rendering/resource-manager.d.ts.map +1 -1
  73. package/dist/es/hcs-14/issuers/hiero.d.ts.map +1 -1
  74. package/dist/es/hcs-15/browser.d.ts +2 -0
  75. package/dist/es/hcs-15/browser.d.ts.map +1 -1
  76. package/dist/es/hcs-15/sdk.d.ts +7 -1
  77. package/dist/es/hcs-15/sdk.d.ts.map +1 -1
  78. package/dist/es/hcs-15/tx.d.ts +4 -0
  79. package/dist/es/hcs-15/tx.d.ts.map +1 -1
  80. package/dist/es/hcs-15/types.d.ts +16 -1
  81. package/dist/es/hcs-15/types.d.ts.map +1 -1
  82. package/dist/es/hcs-16/browser.d.ts +11 -2
  83. package/dist/es/hcs-16/browser.d.ts.map +1 -1
  84. package/dist/es/hcs-16/sdk.d.ts +62 -1
  85. package/dist/es/hcs-16/sdk.d.ts.map +1 -1
  86. package/dist/es/hcs-16/tx.d.ts +21 -3
  87. package/dist/es/hcs-16/tx.d.ts.map +1 -1
  88. package/dist/es/hcs-17/base-client.d.ts +1 -0
  89. package/dist/es/hcs-17/base-client.d.ts.map +1 -1
  90. package/dist/es/hcs-17/sdk.d.ts.map +1 -1
  91. package/dist/es/hcs-17/tx.d.ts +2 -0
  92. package/dist/es/hcs-17/tx.d.ts.map +1 -1
  93. package/dist/es/hcs-17/types.d.ts +4 -0
  94. package/dist/es/hcs-17/types.d.ts.map +1 -1
  95. package/dist/es/hcs-3/src/types.d.ts +60 -0
  96. package/dist/es/hcs-3/src/types.d.ts.map +1 -0
  97. package/dist/es/hcs-7/types.d.ts +4 -4
  98. package/dist/es/index.d.ts.map +1 -1
  99. package/dist/es/inscribe/inscriber.d.ts +89 -0
  100. package/dist/es/inscribe/inscriber.d.ts.map +1 -1
  101. package/dist/es/jsr-entry.d.ts +16 -0
  102. package/dist/es/jsr-entry.d.ts.map +1 -0
  103. package/dist/es/services/registry-broker/client/base-client.d.ts +14 -1
  104. package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -1
  105. package/dist/es/services/registry-broker/client/feedback.d.ts +2 -0
  106. package/dist/es/services/registry-broker/client/feedback.d.ts.map +1 -0
  107. package/dist/es/services/registry-broker/hol-chat-ops.d.ts +24 -0
  108. package/dist/es/services/registry-broker/hol-chat-ops.d.ts.map +1 -0
  109. package/dist/es/services/registry-broker/index.d.ts +1 -0
  110. package/dist/es/services/registry-broker/index.d.ts.map +1 -1
  111. package/dist/es/services/registry-broker/private-key-signer.d.ts +1 -0
  112. package/dist/es/services/registry-broker/private-key-signer.d.ts.map +1 -1
  113. package/dist/es/services/registry-broker/schemas.d.ts +1010 -586
  114. package/dist/es/services/registry-broker/schemas.d.ts.map +1 -1
  115. package/dist/es/services/registry-broker/types.d.ts +20 -1
  116. package/dist/es/services/registry-broker/types.d.ts.map +1 -1
  117. package/dist/es/standards-sdk.es.js +146 -131
  118. package/dist/es/standards-sdk.es10.js +70 -90
  119. package/dist/es/standards-sdk.es10.js.map +1 -1
  120. package/dist/es/standards-sdk.es100.js +229 -26
  121. package/dist/es/standards-sdk.es100.js.map +1 -1
  122. package/dist/es/standards-sdk.es101.js +109 -228
  123. package/dist/es/standards-sdk.es101.js.map +1 -1
  124. package/dist/es/standards-sdk.es102.js +15 -94
  125. package/dist/es/standards-sdk.es102.js.map +1 -1
  126. package/dist/es/standards-sdk.es103.js +80 -30
  127. package/dist/es/standards-sdk.es103.js.map +1 -1
  128. package/dist/es/standards-sdk.es104.js +27 -80
  129. package/dist/es/standards-sdk.es104.js.map +1 -1
  130. package/dist/es/standards-sdk.es105.js +136 -25
  131. package/dist/es/standards-sdk.es105.js.map +1 -1
  132. package/dist/es/standards-sdk.es106.js +27 -140
  133. package/dist/es/standards-sdk.es106.js.map +1 -1
  134. package/dist/es/standards-sdk.es107.js +20 -27
  135. package/dist/es/standards-sdk.es107.js.map +1 -1
  136. package/dist/es/standards-sdk.es108.js +156 -18
  137. package/dist/es/standards-sdk.es108.js.map +1 -1
  138. package/dist/es/standards-sdk.es109.js +198 -148
  139. package/dist/es/standards-sdk.es109.js.map +1 -1
  140. package/dist/es/standards-sdk.es11.js +121 -45
  141. package/dist/es/standards-sdk.es11.js.map +1 -1
  142. package/dist/es/standards-sdk.es110.js +747 -166
  143. package/dist/es/standards-sdk.es110.js.map +1 -1
  144. package/dist/es/standards-sdk.es111.js +9 -786
  145. package/dist/es/standards-sdk.es111.js.map +1 -1
  146. package/dist/es/standards-sdk.es112.js +567 -13
  147. package/dist/es/standards-sdk.es112.js.map +1 -1
  148. package/dist/es/standards-sdk.es113.js +576 -541
  149. package/dist/es/standards-sdk.es113.js.map +1 -1
  150. package/dist/es/standards-sdk.es114.js +12 -601
  151. package/dist/es/standards-sdk.es114.js.map +1 -1
  152. package/dist/es/standards-sdk.es115.js +2 -13
  153. package/dist/es/standards-sdk.es115.js.map +1 -1
  154. package/dist/es/standards-sdk.es116.js +87 -2
  155. package/dist/es/standards-sdk.es116.js.map +1 -1
  156. package/dist/es/standards-sdk.es117.js +37 -80
  157. package/dist/es/standards-sdk.es117.js.map +1 -1
  158. package/dist/es/standards-sdk.es118.js +2 -39
  159. package/dist/es/standards-sdk.es118.js.map +1 -1
  160. package/dist/es/standards-sdk.es119.js +231 -2
  161. package/dist/es/standards-sdk.es119.js.map +1 -1
  162. package/dist/es/standards-sdk.es12.js +60 -159
  163. package/dist/es/standards-sdk.es12.js.map +1 -1
  164. package/dist/es/standards-sdk.es120.js +1110 -193
  165. package/dist/es/standards-sdk.es120.js.map +1 -1
  166. package/dist/es/standards-sdk.es121.js +225 -1059
  167. package/dist/es/standards-sdk.es121.js.map +1 -1
  168. package/dist/es/standards-sdk.es122.js +419 -303
  169. package/dist/es/standards-sdk.es122.js.map +1 -1
  170. package/dist/es/standards-sdk.es123.js +351 -418
  171. package/dist/es/standards-sdk.es123.js.map +1 -1
  172. package/dist/es/standards-sdk.es124.js +1109 -347
  173. package/dist/es/standards-sdk.es124.js.map +1 -1
  174. package/dist/es/standards-sdk.es125.js +182 -854
  175. package/dist/es/standards-sdk.es125.js.map +1 -1
  176. package/dist/es/standards-sdk.es126.js +1512 -153
  177. package/dist/es/standards-sdk.es126.js.map +1 -1
  178. package/dist/es/standards-sdk.es127.js +157 -1547
  179. package/dist/es/standards-sdk.es127.js.map +1 -1
  180. package/dist/es/standards-sdk.es128.js +192 -162
  181. package/dist/es/standards-sdk.es128.js.map +1 -1
  182. package/dist/es/standards-sdk.es129.js +61 -164
  183. package/dist/es/standards-sdk.es129.js.map +1 -1
  184. package/dist/es/standards-sdk.es13.js +200 -60
  185. package/dist/es/standards-sdk.es13.js.map +1 -1
  186. package/dist/es/standards-sdk.es130.js +102 -85
  187. package/dist/es/standards-sdk.es130.js.map +1 -1
  188. package/dist/es/standards-sdk.es131.js +222 -96
  189. package/dist/es/standards-sdk.es131.js.map +1 -1
  190. package/dist/es/standards-sdk.es132.js +153 -220
  191. package/dist/es/standards-sdk.es132.js.map +1 -1
  192. package/dist/es/standards-sdk.es133.js +104 -162
  193. package/dist/es/standards-sdk.es133.js.map +1 -1
  194. package/dist/es/standards-sdk.es134.js +296 -92
  195. package/dist/es/standards-sdk.es134.js.map +1 -1
  196. package/dist/es/standards-sdk.es135.js +432 -294
  197. package/dist/es/standards-sdk.es135.js.map +1 -1
  198. package/dist/es/standards-sdk.es136.js +14 -363
  199. package/dist/es/standards-sdk.es136.js.map +1 -1
  200. package/dist/es/standards-sdk.es137.js +79 -15
  201. package/dist/es/standards-sdk.es137.js.map +1 -1
  202. package/dist/es/standards-sdk.es138.js +79 -59
  203. package/dist/es/standards-sdk.es138.js.map +1 -1
  204. package/dist/es/standards-sdk.es139.js +53 -80
  205. package/dist/es/standards-sdk.es139.js.map +1 -1
  206. package/dist/es/standards-sdk.es14.js +149 -178
  207. package/dist/es/standards-sdk.es14.js.map +1 -1
  208. package/dist/es/standards-sdk.es140.js +1 -1
  209. package/dist/es/standards-sdk.es142.js +1 -1
  210. package/dist/es/standards-sdk.es143.js +1 -1
  211. package/dist/es/standards-sdk.es144.js +30 -28
  212. package/dist/es/standards-sdk.es144.js.map +1 -1
  213. package/dist/es/standards-sdk.es145.js +34 -138
  214. package/dist/es/standards-sdk.es145.js.map +1 -1
  215. package/dist/es/standards-sdk.es146.js +28 -42
  216. package/dist/es/standards-sdk.es146.js.map +1 -1
  217. package/dist/es/standards-sdk.es147.js +105 -12256
  218. package/dist/es/standards-sdk.es147.js.map +1 -1
  219. package/dist/es/standards-sdk.es148.js +40 -15
  220. package/dist/es/standards-sdk.es148.js.map +1 -1
  221. package/dist/es/standards-sdk.es149.js +959 -56
  222. package/dist/es/standards-sdk.es149.js.map +1 -1
  223. package/dist/es/standards-sdk.es15.js +152 -151
  224. package/dist/es/standards-sdk.es15.js.map +1 -1
  225. package/dist/es/standards-sdk.es150.js +12264 -57
  226. package/dist/es/standards-sdk.es150.js.map +1 -1
  227. package/dist/es/standards-sdk.es151.js +51 -167
  228. package/dist/es/standards-sdk.es151.js.map +1 -1
  229. package/dist/es/standards-sdk.es152.js +70 -308
  230. package/dist/es/standards-sdk.es152.js.map +1 -1
  231. package/dist/es/standards-sdk.es153.js +13 -342
  232. package/dist/es/standards-sdk.es153.js.map +1 -1
  233. package/dist/es/standards-sdk.es154.js +129 -410
  234. package/dist/es/standards-sdk.es154.js.map +1 -1
  235. package/dist/es/standards-sdk.es155.js +200 -209
  236. package/dist/es/standards-sdk.es155.js.map +1 -1
  237. package/dist/es/standards-sdk.es156.js +334 -64
  238. package/dist/es/standards-sdk.es156.js.map +1 -1
  239. package/dist/es/standards-sdk.es157.js +453 -871
  240. package/dist/es/standards-sdk.es157.js.map +1 -1
  241. package/dist/es/standards-sdk.es158.js +314 -222
  242. package/dist/es/standards-sdk.es158.js.map +1 -1
  243. package/dist/es/standards-sdk.es159.js +60 -228
  244. package/dist/es/standards-sdk.es159.js.map +1 -1
  245. package/dist/es/standards-sdk.es16.js +917 -136
  246. package/dist/es/standards-sdk.es16.js.map +1 -1
  247. package/dist/es/standards-sdk.es160.js +242 -0
  248. package/dist/es/standards-sdk.es160.js.map +1 -0
  249. package/dist/es/standards-sdk.es161.js +247 -0
  250. package/dist/es/standards-sdk.es161.js.map +1 -0
  251. package/dist/es/standards-sdk.es17.js +23 -944
  252. package/dist/es/standards-sdk.es17.js.map +1 -1
  253. package/dist/es/standards-sdk.es18.js +2422 -24
  254. package/dist/es/standards-sdk.es18.js.map +1 -1
  255. package/dist/es/standards-sdk.es19.js +817 -2071
  256. package/dist/es/standards-sdk.es19.js.map +1 -1
  257. package/dist/es/standards-sdk.es2.js +654 -189
  258. package/dist/es/standards-sdk.es2.js.map +1 -1
  259. package/dist/es/standards-sdk.es20.js +205 -1091
  260. package/dist/es/standards-sdk.es20.js.map +1 -1
  261. package/dist/es/standards-sdk.es21.js +858 -221
  262. package/dist/es/standards-sdk.es21.js.map +1 -1
  263. package/dist/es/standards-sdk.es22.js +179 -903
  264. package/dist/es/standards-sdk.es22.js.map +1 -1
  265. package/dist/es/standards-sdk.es23.js +164 -179
  266. package/dist/es/standards-sdk.es23.js.map +1 -1
  267. package/dist/es/standards-sdk.es24.js +62 -118
  268. package/dist/es/standards-sdk.es24.js.map +1 -1
  269. package/dist/es/standards-sdk.es25.js +377 -52
  270. package/dist/es/standards-sdk.es25.js.map +1 -1
  271. package/dist/es/standards-sdk.es26.js +36 -394
  272. package/dist/es/standards-sdk.es26.js.map +1 -1
  273. package/dist/es/standards-sdk.es27.js +901 -50
  274. package/dist/es/standards-sdk.es27.js.map +1 -1
  275. package/dist/es/standards-sdk.es28.js +134 -902
  276. package/dist/es/standards-sdk.es28.js.map +1 -1
  277. package/dist/es/standards-sdk.es29.js +7 -134
  278. package/dist/es/standards-sdk.es29.js.map +1 -1
  279. package/dist/es/standards-sdk.es3.js +63 -680
  280. package/dist/es/standards-sdk.es3.js.map +1 -1
  281. package/dist/es/standards-sdk.es30.js +344 -7
  282. package/dist/es/standards-sdk.es30.js.map +1 -1
  283. package/dist/es/standards-sdk.es31.js +302 -287
  284. package/dist/es/standards-sdk.es31.js.map +1 -1
  285. package/dist/es/standards-sdk.es32.js +94 -322
  286. package/dist/es/standards-sdk.es32.js.map +1 -1
  287. package/dist/es/standards-sdk.es33.js +458 -101
  288. package/dist/es/standards-sdk.es33.js.map +1 -1
  289. package/dist/es/standards-sdk.es34.js +132 -451
  290. package/dist/es/standards-sdk.es34.js.map +1 -1
  291. package/dist/es/standards-sdk.es35.js +216 -130
  292. package/dist/es/standards-sdk.es35.js.map +1 -1
  293. package/dist/es/standards-sdk.es36.js +273 -195
  294. package/dist/es/standards-sdk.es36.js.map +1 -1
  295. package/dist/es/standards-sdk.es37.js +148 -87
  296. package/dist/es/standards-sdk.es37.js.map +1 -1
  297. package/dist/es/standards-sdk.es38.js +183 -320
  298. package/dist/es/standards-sdk.es38.js.map +1 -1
  299. package/dist/es/standards-sdk.es39.js +238 -161
  300. package/dist/es/standards-sdk.es39.js.map +1 -1
  301. package/dist/es/standards-sdk.es4.js +425 -63
  302. package/dist/es/standards-sdk.es4.js.map +1 -1
  303. package/dist/es/standards-sdk.es40.js +136 -254
  304. package/dist/es/standards-sdk.es40.js.map +1 -1
  305. package/dist/es/standards-sdk.es41.js +225 -176
  306. package/dist/es/standards-sdk.es41.js.map +1 -1
  307. package/dist/es/standards-sdk.es42.js +199 -261
  308. package/dist/es/standards-sdk.es42.js.map +1 -1
  309. package/dist/es/standards-sdk.es43.js +237 -199
  310. package/dist/es/standards-sdk.es43.js.map +1 -1
  311. package/dist/es/standards-sdk.es44.js +209 -201
  312. package/dist/es/standards-sdk.es44.js.map +1 -1
  313. package/dist/es/standards-sdk.es45.js +305 -201
  314. package/dist/es/standards-sdk.es45.js.map +1 -1
  315. package/dist/es/standards-sdk.es46.js +371 -261
  316. package/dist/es/standards-sdk.es46.js.map +1 -1
  317. package/dist/es/standards-sdk.es47.js +316 -371
  318. package/dist/es/standards-sdk.es47.js.map +1 -1
  319. package/dist/es/standards-sdk.es48.js +404 -336
  320. package/dist/es/standards-sdk.es48.js.map +1 -1
  321. package/dist/es/standards-sdk.es49.js +83 -449
  322. package/dist/es/standards-sdk.es49.js.map +1 -1
  323. package/dist/es/standards-sdk.es5.js +232 -354
  324. package/dist/es/standards-sdk.es5.js.map +1 -1
  325. package/dist/es/standards-sdk.es50.js +179 -89
  326. package/dist/es/standards-sdk.es50.js.map +1 -1
  327. package/dist/es/standards-sdk.es51.js +231 -165
  328. package/dist/es/standards-sdk.es51.js.map +1 -1
  329. package/dist/es/standards-sdk.es52.js +25 -262
  330. package/dist/es/standards-sdk.es52.js.map +1 -1
  331. package/dist/es/standards-sdk.es53.js +56 -26
  332. package/dist/es/standards-sdk.es53.js.map +1 -1
  333. package/dist/es/standards-sdk.es54.js +12 -57
  334. package/dist/es/standards-sdk.es54.js.map +1 -1
  335. package/dist/es/standards-sdk.es55.js +49 -12
  336. package/dist/es/standards-sdk.es55.js.map +1 -1
  337. package/dist/es/standards-sdk.es56.js +115 -43
  338. package/dist/es/standards-sdk.es56.js.map +1 -1
  339. package/dist/es/standards-sdk.es57.js +42 -115
  340. package/dist/es/standards-sdk.es57.js.map +1 -1
  341. package/dist/es/standards-sdk.es58.js +52 -43
  342. package/dist/es/standards-sdk.es58.js.map +1 -1
  343. package/dist/es/standards-sdk.es59.js +36 -50
  344. package/dist/es/standards-sdk.es59.js.map +1 -1
  345. package/dist/es/standards-sdk.es6.js +125 -246
  346. package/dist/es/standards-sdk.es6.js.map +1 -1
  347. package/dist/es/standards-sdk.es60.js +207 -39
  348. package/dist/es/standards-sdk.es60.js.map +1 -1
  349. package/dist/es/standards-sdk.es61.js +24 -200
  350. package/dist/es/standards-sdk.es61.js.map +1 -1
  351. package/dist/es/standards-sdk.es62.js +87 -25
  352. package/dist/es/standards-sdk.es62.js.map +1 -1
  353. package/dist/es/standards-sdk.es63.js +3 -51
  354. package/dist/es/standards-sdk.es63.js.map +1 -1
  355. package/dist/es/standards-sdk.es64.js +100 -3
  356. package/dist/es/standards-sdk.es64.js.map +1 -1
  357. package/dist/es/standards-sdk.es65.js +61 -62
  358. package/dist/es/standards-sdk.es65.js.map +1 -1
  359. package/dist/es/standards-sdk.es66.js +17 -98
  360. package/dist/es/standards-sdk.es66.js.map +1 -1
  361. package/dist/es/standards-sdk.es67.js +77 -19
  362. package/dist/es/standards-sdk.es67.js.map +1 -1
  363. package/dist/es/standards-sdk.es68.js +458 -77
  364. package/dist/es/standards-sdk.es68.js.map +1 -1
  365. package/dist/es/standards-sdk.es69.js +106 -240
  366. package/dist/es/standards-sdk.es69.js.map +1 -1
  367. package/dist/es/standards-sdk.es7.js +28 -183
  368. package/dist/es/standards-sdk.es7.js.map +1 -1
  369. package/dist/es/standards-sdk.es70.js +170 -286
  370. package/dist/es/standards-sdk.es70.js.map +1 -1
  371. package/dist/es/standards-sdk.es71.js +71 -207
  372. package/dist/es/standards-sdk.es71.js.map +1 -1
  373. package/dist/es/standards-sdk.es72.js +71 -72
  374. package/dist/es/standards-sdk.es72.js.map +1 -1
  375. package/dist/es/standards-sdk.es73.js +143 -71
  376. package/dist/es/standards-sdk.es73.js.map +1 -1
  377. package/dist/es/standards-sdk.es74.js +62 -136
  378. package/dist/es/standards-sdk.es74.js.map +1 -1
  379. package/dist/es/standards-sdk.es75.js +380 -45
  380. package/dist/es/standards-sdk.es75.js.map +1 -1
  381. package/dist/es/standards-sdk.es76.js +222 -130
  382. package/dist/es/standards-sdk.es76.js.map +1 -1
  383. package/dist/es/standards-sdk.es77.js +320 -444
  384. package/dist/es/standards-sdk.es77.js.map +1 -1
  385. package/dist/es/standards-sdk.es78.js +88 -370
  386. package/dist/es/standards-sdk.es78.js.map +1 -1
  387. package/dist/es/standards-sdk.es79.js +125 -89
  388. package/dist/es/standards-sdk.es79.js.map +1 -1
  389. package/dist/es/standards-sdk.es8.js +80 -29
  390. package/dist/es/standards-sdk.es8.js.map +1 -1
  391. package/dist/es/standards-sdk.es80.js +8 -125
  392. package/dist/es/standards-sdk.es80.js.map +1 -1
  393. package/dist/es/standards-sdk.es81.js +45 -6
  394. package/dist/es/standards-sdk.es81.js.map +1 -1
  395. package/dist/es/standards-sdk.es82.js +98 -44
  396. package/dist/es/standards-sdk.es82.js.map +1 -1
  397. package/dist/es/standards-sdk.es83.js +331 -84
  398. package/dist/es/standards-sdk.es83.js.map +1 -1
  399. package/dist/es/standards-sdk.es84.js +93 -160
  400. package/dist/es/standards-sdk.es84.js.map +1 -1
  401. package/dist/es/standards-sdk.es85.js +55 -275
  402. package/dist/es/standards-sdk.es85.js.map +1 -1
  403. package/dist/es/standards-sdk.es86.js +43 -55
  404. package/dist/es/standards-sdk.es86.js.map +1 -1
  405. package/dist/es/standards-sdk.es87.js +145 -22
  406. package/dist/es/standards-sdk.es87.js.map +1 -1
  407. package/dist/es/standards-sdk.es88.js +34 -47
  408. package/dist/es/standards-sdk.es88.js.map +1 -1
  409. package/dist/es/standards-sdk.es89.js +22 -57
  410. package/dist/es/standards-sdk.es89.js.map +1 -1
  411. package/dist/es/standards-sdk.es9.js +104 -80
  412. package/dist/es/standards-sdk.es9.js.map +1 -1
  413. package/dist/es/standards-sdk.es90.js +23 -28
  414. package/dist/es/standards-sdk.es90.js.map +1 -1
  415. package/dist/es/standards-sdk.es91.js +238 -23
  416. package/dist/es/standards-sdk.es91.js.map +1 -1
  417. package/dist/es/standards-sdk.es92.js +265 -152
  418. package/dist/es/standards-sdk.es92.js.map +1 -1
  419. package/dist/es/standards-sdk.es93.js +95 -68
  420. package/dist/es/standards-sdk.es93.js.map +1 -1
  421. package/dist/es/standards-sdk.es94.js +124 -136
  422. package/dist/es/standards-sdk.es94.js.map +1 -1
  423. package/dist/es/standards-sdk.es95.js +42 -138
  424. package/dist/es/standards-sdk.es95.js.map +1 -1
  425. package/dist/es/standards-sdk.es96.js +259 -42
  426. package/dist/es/standards-sdk.es96.js.map +1 -1
  427. package/dist/es/standards-sdk.es97.js +82 -243
  428. package/dist/es/standards-sdk.es97.js.map +1 -1
  429. package/dist/es/standards-sdk.es98.js +48 -47
  430. package/dist/es/standards-sdk.es98.js.map +1 -1
  431. package/dist/es/standards-sdk.es99.js +29 -100
  432. package/dist/es/standards-sdk.es99.js.map +1 -1
  433. package/dist/es/utils/crypto-abstraction.d.ts.map +1 -1
  434. package/dist/es/utils/crypto-env.d.ts.map +1 -1
  435. package/dist/es/utils/dynamic-import.d.ts +5 -1
  436. package/dist/es/utils/dynamic-import.d.ts.map +1 -1
  437. package/dist/es/utils/hash-adapter.d.ts.map +1 -1
  438. package/package.json +36 -13
  439. package/dist/cjs/patches/topic-autorenew-patch.d.ts +0 -2
  440. package/dist/cjs/patches/topic-autorenew-patch.d.ts.map +0 -1
  441. package/dist/es/patches/topic-autorenew-patch.d.ts +0 -2
  442. package/dist/es/patches/topic-autorenew-patch.d.ts.map +0 -1
@@ -1,201 +1,267 @@
1
- class HashLinkResolver {
2
- constructor(logger, blockLoader, hrlResolver, network) {
1
+ import { HRLResolver } from "./standards-sdk.es109.js";
2
+ class WasmExecutor {
3
+ constructor(logger, network) {
4
+ this.wasmCache = /* @__PURE__ */ new Map();
3
5
  this.logger = logger;
4
- this.blockLoader = blockLoader;
5
- this.hrlResolver = hrlResolver;
6
6
  this.network = network;
7
- this.cache = /* @__PURE__ */ new Map();
8
- this.renderStack = /* @__PURE__ */ new Set();
7
+ this.hrlResolver = new HRLResolver();
9
8
  }
10
9
  /**
11
- * Resolve a HashLink reference to a block
10
+ * Execute a WASM action
12
11
  */
13
- async resolveReference(ref, context) {
14
- this.logger.debug("Resolving HashLink reference", {
15
- uri: ref.uri,
16
- protocol: ref.protocol
17
- });
12
+ async execute(action, context) {
18
13
  try {
19
- switch (ref.protocol) {
20
- case "12":
21
- return await this.resolveHCS12Block(ref, context);
22
- case "1":
23
- return await this.resolveHCS1Block(ref, context);
24
- case "2":
25
- return await this.resolveHCS2Block(ref, context);
26
- default:
27
- throw new Error(`Unsupported HashLink protocol: ${ref.protocol}`);
14
+ if (this.logger && typeof this.logger.debug === "function") {
15
+ this.logger.debug("Executing WASM action", {
16
+ actionId: action.t_id,
17
+ method: context.method,
18
+ hasJavaScript: !!action.js_t_id
19
+ });
28
20
  }
21
+ if (action.js_t_id) {
22
+ return await this.executeJavaScript(action, context);
23
+ }
24
+ throw new Error(
25
+ "Raw WASM execution is not supported for wasm-bindgen modules. JavaScript wrapper is required."
26
+ );
29
27
  } catch (error) {
30
- this.logger.error("Failed to resolve HashLink", {
31
- uri: ref.uri,
32
- error: error.message
33
- });
28
+ if (this.logger && typeof this.logger.error === "function") {
29
+ this.logger.error("WASM execution failed", {
30
+ actionId: action.t_id,
31
+ error: error.message
32
+ });
33
+ } else {
34
+ console.error("WASM execution failed", {
35
+ actionId: action.t_id,
36
+ error: error.message
37
+ });
38
+ }
34
39
  return {
35
- blockId: ref.reference,
36
- definition: null,
37
- template: null,
38
- attributes: {},
39
- actions: {},
40
+ success: false,
40
41
  error: error.message
41
42
  };
42
43
  }
43
44
  }
44
45
  /**
45
- * Resolve HCS-12 block by topic ID
46
+ * Load a WASM instance
46
47
  */
47
- async resolveHCS12Block(ref, context) {
48
- const blockId = ref.reference;
49
- if (this.renderStack.has(blockId)) {
50
- return {
51
- blockId,
52
- definition: null,
53
- template: null,
54
- attributes: {},
55
- actions: {},
56
- error: "Circular reference detected"
57
- };
58
- }
59
- const cacheKey = this.getCacheKey(blockId, ref.attributes, ref.actions);
60
- if (this.cache.has(cacheKey)) {
61
- return this.cache.get(cacheKey);
62
- }
63
- try {
64
- const blockData = await this.blockLoader.loadBlock(blockId);
65
- if (!blockData || !blockData.definition) {
66
- throw new Error(`Block not found: ${blockId}`);
67
- }
68
- const mergedAttributes = {
69
- ...this.extractDefaults(blockData.definition),
70
- ...context.attributes,
71
- ...ref.attributes
72
- };
73
- const mergedActions = {
74
- ...context.actions,
75
- ...ref.actions
76
- };
77
- const resolved = {
78
- blockId,
79
- definition: blockData.definition,
80
- template: blockData.template,
81
- attributes: mergedAttributes,
82
- actions: mergedActions
83
- };
84
- this.cache.set(cacheKey, resolved);
85
- return resolved;
86
- } catch (error) {
87
- this.renderStack.delete(blockId);
88
- throw new Error(
89
- `Failed to load HCS-12 block ${blockId}: ${error.message}`
90
- );
48
+ /**
49
+ * Read a string from WASM memory
50
+ */
51
+ readWasmString(memory, ptr) {
52
+ const mem = new Uint8Array(memory.buffer);
53
+ let len = 0;
54
+ while (mem[ptr + len] !== 0) {
55
+ len++;
91
56
  }
57
+ const decoder = new TextDecoder();
58
+ return decoder.decode(mem.slice(ptr, ptr + len));
92
59
  }
93
60
  /**
94
- * Resolve HCS-1 topic as potential block
61
+ * Execute JavaScript wrapper
95
62
  */
96
- async resolveHCS1Block(ref, context) {
97
- const topicId = ref.reference;
63
+ async executeJavaScript(action, context) {
98
64
  try {
99
- const blockData = await this.blockLoader.loadBlock(topicId);
100
- if (blockData && blockData.definition) {
101
- return {
102
- blockId: topicId,
103
- definition: blockData.definition,
104
- template: blockData.template,
105
- attributes: {
106
- ...this.extractDefaults(blockData.definition),
107
- ...ref.attributes
65
+ if (this.logger && typeof this.logger.debug === "function") {
66
+ this.logger.debug("Loading JavaScript wrapper", {
67
+ jsTopicId: action.js_t_id
68
+ });
69
+ }
70
+ if (typeof window !== "undefined") {
71
+ const jsResult = await this.hrlResolver.resolve(action.js_t_id, {
72
+ network: this.network,
73
+ returnRaw: false
74
+ });
75
+ if (!jsResult.content || typeof jsResult.content !== "string") {
76
+ throw new Error("Failed to load JavaScript module: invalid content");
77
+ }
78
+ const blob = new Blob([jsResult.content], {
79
+ type: "application/javascript"
80
+ });
81
+ const moduleUrl = URL.createObjectURL(blob);
82
+ try {
83
+ if (this.logger && typeof this.logger.debug === "function") {
84
+ this.logger.debug("Importing JavaScript module from blob URL");
85
+ }
86
+ const importModule = new Function("url", "return import(url)");
87
+ const module = await importModule(moduleUrl);
88
+ if (this.logger && typeof this.logger.debug === "function") {
89
+ this.logger.debug("Module imported, exports:", Object.keys(module));
90
+ }
91
+ if (module.default || module.init) {
92
+ const init = module.default || module.init;
93
+ if (this.logger && typeof this.logger.debug === "function") {
94
+ this.logger.debug("Loading WASM bytes from topic:", action.t_id);
95
+ }
96
+ const wasmResult = await this.hrlResolver.resolve(action.t_id, {
97
+ network: this.network,
98
+ returnRaw: true
99
+ });
100
+ if (this.logger && typeof this.logger.debug === "function") {
101
+ const size = wasmResult.content instanceof ArrayBuffer ? wasmResult.content.byteLength : wasmResult.content.length;
102
+ this.logger.debug("WASM bytes loaded, size:", size);
103
+ }
104
+ await init({ module_or_path: wasmResult.content });
105
+ if (this.logger && typeof this.logger.debug === "function") {
106
+ this.logger.debug("WASM module initialized successfully");
107
+ }
108
+ } else {
109
+ throw new Error("No init function found in JavaScript module");
110
+ }
111
+ const WasmInterface = module.WasmInterface;
112
+ if (!WasmInterface) {
113
+ throw new Error(
114
+ "WasmInterface not found in module exports. Available exports: " + Object.keys(module).join(", ")
115
+ );
116
+ }
117
+ if (this.logger && typeof this.logger.debug === "function") {
118
+ this.logger.debug("Creating WasmInterface instance");
119
+ }
120
+ const wasmInterface = new WasmInterface();
121
+ let result;
122
+ if (context.method === "POST" && wasmInterface.POST) {
123
+ const actionName = context.params.operation || "default";
124
+ const allParams = {
125
+ ...context.params,
126
+ ...context.state
127
+ };
128
+ const paramsJson = JSON.stringify(allParams);
129
+ if (this.logger && typeof this.logger.debug === "function") {
130
+ this.logger.debug("Calling POST method", {
131
+ actionName,
132
+ paramsJson,
133
+ allParams
134
+ });
135
+ } else {
136
+ console.log("WASM POST params:", {
137
+ actionName,
138
+ paramsJson,
139
+ allParams
140
+ });
141
+ }
142
+ result = await wasmInterface.POST(
143
+ actionName,
144
+ paramsJson,
145
+ this.network.toString(),
146
+ ""
147
+ );
148
+ } else if (context.method === "GET" && wasmInterface.GET) {
149
+ const actionName = context.params.operation || "default";
150
+ const paramsJson = JSON.stringify(context.params);
151
+ if (this.logger && typeof this.logger.debug === "function") {
152
+ this.logger.debug("Calling GET method", {
153
+ actionName,
154
+ paramsJson
155
+ });
156
+ }
157
+ result = await wasmInterface.GET(
158
+ actionName,
159
+ paramsJson,
160
+ this.network.toString()
161
+ );
162
+ } else if (context.method === "INFO" && wasmInterface.INFO) {
163
+ if (this.logger && typeof this.logger.debug === "function") {
164
+ this.logger.debug("Calling INFO method");
165
+ }
166
+ result = wasmInterface.INFO();
167
+ } else {
168
+ throw new Error(
169
+ `Method ${context.method} not supported by WASM module`
170
+ );
171
+ }
172
+ let parsedResult;
173
+ try {
174
+ parsedResult = JSON.parse(result);
175
+ } catch {
176
+ parsedResult = { value: result };
177
+ }
178
+ if (wasmInterface.free) {
179
+ wasmInterface.free();
180
+ }
181
+ URL.revokeObjectURL(moduleUrl);
182
+ return {
183
+ success: true,
184
+ data: parsedResult
185
+ };
186
+ } catch (e) {
187
+ URL.revokeObjectURL(moduleUrl);
188
+ throw e;
189
+ }
190
+ } else {
191
+ if (this.logger && typeof this.logger.info === "function") {
192
+ this.logger.info(
193
+ "Executing JavaScript wrapper in Node.js environment"
194
+ );
195
+ }
196
+ const jsResult = await this.hrlResolver.resolve(action.js_t_id, {
197
+ network: this.network,
198
+ returnRaw: false
199
+ });
200
+ if (!jsResult.content || typeof jsResult.content !== "string") {
201
+ throw new Error("Failed to load JavaScript module: invalid content");
202
+ }
203
+ const wasmResult = await this.hrlResolver.resolve(action.t_id, {
204
+ network: this.network,
205
+ returnRaw: true
206
+ });
207
+ const moduleContext = {
208
+ exports: {},
209
+ module: { exports: {} },
210
+ require: () => {
211
+ throw new Error("require not supported");
108
212
  },
109
- actions: ref.actions || {}
213
+ global,
214
+ globalThis,
215
+ self: void 0,
216
+ window: void 0,
217
+ fetch: void 0,
218
+ Response: void 0,
219
+ WebAssembly,
220
+ Promise,
221
+ Function,
222
+ console,
223
+ queueMicrotask,
224
+ TextDecoder,
225
+ TextEncoder,
226
+ FinalizationRegistry: typeof globalThis.FinalizationRegistry !== "undefined" ? globalThis.FinalizationRegistry : void 0,
227
+ URL
110
228
  };
229
+ throw new Error(
230
+ "WASM execution in Node.js/SSR environment is not supported. This functionality is browser-only."
231
+ );
111
232
  }
112
- const content = await this.hrlResolver.resolve(topicId, {
113
- network: this.network
114
- });
115
- return {
116
- blockId: topicId,
117
- definition: null,
118
- template: content.content,
119
- attributes: ref.attributes || {},
120
- actions: ref.actions || {}
121
- };
122
233
  } catch (error) {
123
- throw new Error(
124
- `Failed to load HCS-1 content ${topicId}: ${error.message}`
125
- );
126
- }
127
- }
128
- /**
129
- * Resolve HCS-2 registry entry
130
- */
131
- async resolveHCS2Block(ref, context) {
132
- if (!ref.registryId || !ref.entryName) {
133
- throw new Error(
134
- "Invalid HCS-2 reference: missing registry ID or entry name"
135
- );
136
- }
137
- try {
138
- const registryUri = `hcs://2/${ref.registryId}`;
139
- const registryContent = await this.hrlResolver.resolve(registryUri, {
140
- network: this.network
141
- });
142
- this.logger.warn("HCS-2 registry lookup not fully implemented", {
143
- registryId: ref.registryId,
144
- entryName: ref.entryName
145
- });
234
+ const errorMessage = error instanceof Error ? error.message : String(error);
235
+ const errorStack = error instanceof Error ? error.stack : void 0;
236
+ if (this.logger && typeof this.logger.error === "function") {
237
+ this.logger.error("JavaScript execution failed", {
238
+ jsTopicId: action.js_t_id,
239
+ error: errorMessage,
240
+ stack: errorStack,
241
+ fullError: error
242
+ });
243
+ } else {
244
+ console.error("JavaScript execution failed", {
245
+ jsTopicId: action.js_t_id,
246
+ error: errorMessage,
247
+ stack: errorStack,
248
+ fullError: error
249
+ });
250
+ }
146
251
  return {
147
- blockId: `${ref.registryId}/${ref.entryName}`,
148
- definition: null,
149
- template: `<!-- HCS-2 lookup not implemented: ${ref.uri} -->`,
150
- attributes: ref.attributes || {},
151
- actions: ref.actions || {}
252
+ success: false,
253
+ error: errorMessage || "Unknown error"
152
254
  };
153
- } catch (error) {
154
- throw new Error(`Failed to resolve HCS-2 entry: ${error.message}`);
155
- }
156
- }
157
- /**
158
- * Extract default attribute values from block definition
159
- */
160
- extractDefaults(definition) {
161
- const defaults = {};
162
- if (definition.attributes) {
163
- Object.entries(definition.attributes).forEach(([key, attr]) => {
164
- if (attr && typeof attr === "object" && "default" in attr) {
165
- defaults[key] = attr.default;
166
- }
167
- });
168
255
  }
169
- return defaults;
170
- }
171
- /**
172
- * Get cache key for resolved block
173
- */
174
- getCacheKey(blockId, attributes, actions) {
175
- const attrHash = attributes ? JSON.stringify(attributes) : "";
176
- const actionHash = actions ? JSON.stringify(actions) : "";
177
- return `${blockId}:${attrHash}:${actionHash}`;
178
- }
179
- /**
180
- * Add block to render stack (for circular reference detection)
181
- */
182
- pushRenderStack(blockId) {
183
- this.renderStack.add(blockId);
184
- }
185
- /**
186
- * Remove block from render stack
187
- */
188
- popRenderStack(blockId) {
189
- this.renderStack.delete(blockId);
190
256
  }
191
257
  /**
192
- * Clear cache
258
+ * Clear the WASM cache
193
259
  */
194
260
  clearCache() {
195
- this.cache.clear();
261
+ this.wasmCache.clear();
196
262
  }
197
263
  }
198
264
  export {
199
- HashLinkResolver
265
+ WasmExecutor
200
266
  };
201
267
  //# sourceMappingURL=standards-sdk.es51.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standards-sdk.es51.js","sources":["../../src/hcs-12/rendering/hashlink-resolver.ts"],"sourcesContent":["/**\n * HashLink Resolver for Template-Based Block Composition\n *\n * Resolves HashLink references to actual blocks and handles loading\n */\n\nimport { Logger } from '../../utils/logger';\nimport { ScannedHashLink } from './hashlink-scanner';\nimport { BlockDefinition } from '../types';\nimport { BlockLoader } from '../registries/block-loader';\nimport { HRLResolver } from '../../utils/hrl-resolver';\nimport { NetworkType } from '../../utils/types';\n\nexport interface RenderContext {\n blockId: string;\n depth: number;\n parentContext?: RenderContext;\n attributes: Record<string, any>;\n actions: Record<string, string>;\n assembly?: any;\n maxDepth?: number;\n}\n\nexport interface ResolvedHashLinkBlock {\n blockId: string;\n definition: BlockDefinition | null;\n template: string | null;\n attributes: Record<string, any>;\n actions: Record<string, string>;\n error?: string;\n}\n\nexport class HashLinkResolver {\n private logger: Logger;\n private blockLoader: BlockLoader;\n private hrlResolver: HRLResolver;\n private network: NetworkType;\n private cache: Map<string, ResolvedHashLinkBlock>;\n private renderStack: Set<string>;\n\n constructor(\n logger: Logger,\n blockLoader: BlockLoader,\n hrlResolver: HRLResolver,\n network: NetworkType,\n ) {\n this.logger = logger;\n this.blockLoader = blockLoader;\n this.hrlResolver = hrlResolver;\n this.network = network;\n this.cache = new Map();\n this.renderStack = new Set();\n }\n\n /**\n * Resolve a HashLink reference to a block\n */\n async resolveReference(\n ref: ScannedHashLink,\n context: RenderContext,\n ): Promise<ResolvedHashLinkBlock> {\n this.logger.debug('Resolving HashLink reference', {\n uri: ref.uri,\n protocol: ref.protocol,\n });\n\n try {\n switch (ref.protocol) {\n case '12':\n return await this.resolveHCS12Block(ref, context);\n\n case '1':\n return await this.resolveHCS1Block(ref, context);\n\n case '2':\n return await this.resolveHCS2Block(ref, context);\n\n default:\n throw new Error(`Unsupported HashLink protocol: ${ref.protocol}`);\n }\n } catch (error) {\n this.logger.error('Failed to resolve HashLink', {\n uri: ref.uri,\n error: error.message,\n });\n\n return {\n blockId: ref.reference,\n definition: null,\n template: null,\n attributes: {},\n actions: {},\n error: error.message,\n };\n }\n }\n\n /**\n * Resolve HCS-12 block by topic ID\n */\n private async resolveHCS12Block(\n ref: ScannedHashLink,\n context: RenderContext,\n ): Promise<ResolvedHashLinkBlock> {\n const blockId = ref.reference;\n\n if (this.renderStack.has(blockId)) {\n return {\n blockId,\n definition: null,\n template: null,\n attributes: {},\n actions: {},\n error: 'Circular reference detected',\n };\n }\n\n const cacheKey = this.getCacheKey(blockId, ref.attributes, ref.actions);\n if (this.cache.has(cacheKey)) {\n return this.cache.get(cacheKey)!;\n }\n\n try {\n const blockData = await this.blockLoader.loadBlock(blockId);\n\n if (!blockData || !blockData.definition) {\n throw new Error(`Block not found: ${blockId}`);\n }\n\n const mergedAttributes = {\n ...this.extractDefaults(blockData.definition),\n ...context.attributes,\n ...ref.attributes,\n };\n\n const mergedActions = {\n ...context.actions,\n ...ref.actions,\n };\n\n const resolved: ResolvedHashLinkBlock = {\n blockId,\n definition: blockData.definition,\n template: blockData.template,\n attributes: mergedAttributes,\n actions: mergedActions,\n };\n\n this.cache.set(cacheKey, resolved);\n\n return resolved;\n } catch (error) {\n this.renderStack.delete(blockId);\n throw new Error(\n `Failed to load HCS-12 block ${blockId}: ${error.message}`,\n );\n }\n }\n\n /**\n * Resolve HCS-1 topic as potential block\n */\n private async resolveHCS1Block(\n ref: ScannedHashLink,\n context: RenderContext,\n ): Promise<ResolvedHashLinkBlock> {\n const topicId = ref.reference;\n\n try {\n const blockData = await this.blockLoader.loadBlock(topicId);\n\n if (blockData && blockData.definition) {\n return {\n blockId: topicId,\n definition: blockData.definition,\n template: blockData.template,\n attributes: {\n ...this.extractDefaults(blockData.definition),\n ...ref.attributes,\n },\n actions: ref.actions || {},\n };\n }\n\n const content = await this.hrlResolver.resolve(topicId, {\n network: this.network,\n });\n\n return {\n blockId: topicId,\n definition: null,\n template: content.content as string,\n attributes: ref.attributes || {},\n actions: ref.actions || {},\n };\n } catch (error) {\n throw new Error(\n `Failed to load HCS-1 content ${topicId}: ${error.message}`,\n );\n }\n }\n\n /**\n * Resolve HCS-2 registry entry\n */\n private async resolveHCS2Block(\n ref: ScannedHashLink,\n context: RenderContext,\n ): Promise<ResolvedHashLinkBlock> {\n if (!ref.registryId || !ref.entryName) {\n throw new Error(\n 'Invalid HCS-2 reference: missing registry ID or entry name',\n );\n }\n\n try {\n const registryUri = `hcs://2/${ref.registryId}`;\n const registryContent = await this.hrlResolver.resolve(registryUri, {\n network: this.network,\n });\n\n this.logger.warn('HCS-2 registry lookup not fully implemented', {\n registryId: ref.registryId,\n entryName: ref.entryName,\n });\n\n return {\n blockId: `${ref.registryId}/${ref.entryName}`,\n definition: null,\n template: `<!-- HCS-2 lookup not implemented: ${ref.uri} -->`,\n attributes: ref.attributes || {},\n actions: ref.actions || {},\n };\n } catch (error) {\n throw new Error(`Failed to resolve HCS-2 entry: ${error.message}`);\n }\n }\n\n /**\n * Extract default attribute values from block definition\n */\n private extractDefaults(definition: BlockDefinition): Record<string, any> {\n const defaults: Record<string, any> = {};\n\n if (definition.attributes) {\n Object.entries(definition.attributes).forEach(([key, attr]) => {\n if (attr && typeof attr === 'object' && 'default' in attr) {\n defaults[key] = attr.default;\n }\n });\n }\n\n return defaults;\n }\n\n /**\n * Get cache key for resolved block\n */\n private getCacheKey(\n blockId: string,\n attributes?: Record<string, any>,\n actions?: Record<string, string>,\n ): string {\n const attrHash = attributes ? JSON.stringify(attributes) : '';\n const actionHash = actions ? JSON.stringify(actions) : '';\n return `${blockId}:${attrHash}:${actionHash}`;\n }\n\n /**\n * Add block to render stack (for circular reference detection)\n */\n pushRenderStack(blockId: string): void {\n this.renderStack.add(blockId);\n }\n\n /**\n * Remove block from render stack\n */\n popRenderStack(blockId: string): void {\n this.renderStack.delete(blockId);\n }\n\n /**\n * Clear cache\n */\n clearCache(): void {\n this.cache.clear();\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards-sdk.es51.js","sources":["../../src/hcs-12/wasm/wasm-executor.ts"],"sourcesContent":["/**\n * WASM Executor for HCS-12 HashLinks\n *\n * Handles loading and executing WASM modules for HashLink actions\n */\n\nimport { Logger } from '../../utils/logger';\nimport { ActionRegistration } from '../types';\nimport { HRLResolver } from '../../utils/hrl-resolver';\nimport { NetworkType } from '../../utils/types';\n\nexport interface WasmExecutionContext {\n method: string;\n params: Record<string, any>;\n state?: Record<string, any>;\n}\n\nexport interface WasmExecutionResult {\n success: boolean;\n data?: any;\n error?: string;\n gasUsed?: number;\n}\n\ninterface WasmExports {\n GET?: (ptr: number, len: number) => number;\n POST?: (ptr: number, len: number) => number;\n memory?: WebAssembly.Memory;\n __wbindgen_malloc?: (size: number) => number;\n __wbindgen_free?: (ptr: number, size: number) => void;\n [key: string]: any;\n}\n\n/**\n * Executes WASM modules for HCS-12 actions\n */\nexport class WasmExecutor {\n private logger: Logger;\n private hrlResolver: HRLResolver;\n private network: NetworkType;\n private wasmCache: Map<string, WebAssembly.Instance> = new Map();\n\n constructor(logger: Logger, network: NetworkType) {\n this.logger = logger;\n this.network = network;\n this.hrlResolver = new HRLResolver();\n }\n\n /**\n * Execute a WASM action\n */\n async execute(\n action: ActionRegistration,\n context: WasmExecutionContext,\n ): Promise<WasmExecutionResult> {\n try {\n if (this.logger && typeof this.logger.debug === 'function') {\n this.logger.debug('Executing WASM action', {\n actionId: action.t_id,\n method: context.method,\n hasJavaScript: !!action.js_t_id,\n });\n }\n\n if (action.js_t_id) {\n return await this.executeJavaScript(action, context);\n }\n\n throw new Error(\n 'Raw WASM execution is not supported for wasm-bindgen modules. JavaScript wrapper is required.',\n );\n } catch (error) {\n if (this.logger && typeof this.logger.error === 'function') {\n this.logger.error('WASM execution failed', {\n actionId: action.t_id,\n error: error.message,\n });\n } else {\n console.error('WASM execution failed', {\n actionId: action.t_id,\n error: error.message,\n });\n }\n\n return {\n success: false,\n error: error.message,\n };\n }\n }\n\n /**\n * Load a WASM instance\n */\n\n /**\n * Read a string from WASM memory\n */\n private readWasmString(memory: WebAssembly.Memory, ptr: number): string {\n const mem = new Uint8Array(memory.buffer);\n\n let len = 0;\n while (mem[ptr + len] !== 0) {\n len++;\n }\n\n const decoder = new TextDecoder();\n return decoder.decode(mem.slice(ptr, ptr + len));\n }\n\n /**\n * Execute JavaScript wrapper\n */\n private async executeJavaScript(\n action: ActionRegistration,\n context: WasmExecutionContext,\n ): Promise<WasmExecutionResult> {\n try {\n if (this.logger && typeof this.logger.debug === 'function') {\n this.logger.debug('Loading JavaScript wrapper', {\n jsTopicId: action.js_t_id,\n });\n }\n\n if (typeof window !== 'undefined') {\n const jsResult = await this.hrlResolver.resolve(action.js_t_id!, {\n network: this.network,\n returnRaw: false,\n });\n\n if (!jsResult.content || typeof jsResult.content !== 'string') {\n throw new Error('Failed to load JavaScript module: invalid content');\n }\n\n const blob = new Blob([jsResult.content], {\n type: 'application/javascript',\n });\n const moduleUrl = URL.createObjectURL(blob);\n\n try {\n if (this.logger && typeof this.logger.debug === 'function') {\n this.logger.debug('Importing JavaScript module from blob URL');\n }\n const importModule = new Function('url', 'return import(url)');\n const module = await importModule(moduleUrl);\n\n if (this.logger && typeof this.logger.debug === 'function') {\n this.logger.debug('Module imported, exports:', Object.keys(module));\n }\n\n if (module.default || module.init) {\n const init = module.default || module.init;\n\n if (this.logger && typeof this.logger.debug === 'function') {\n this.logger.debug('Loading WASM bytes from topic:', action.t_id);\n }\n\n const wasmResult = await this.hrlResolver.resolve(action.t_id, {\n network: this.network,\n returnRaw: true,\n });\n\n if (this.logger && typeof this.logger.debug === 'function') {\n const size =\n wasmResult.content instanceof ArrayBuffer\n ? wasmResult.content.byteLength\n : wasmResult.content.length;\n this.logger.debug('WASM bytes loaded, size:', size);\n }\n\n await init({ module_or_path: wasmResult.content });\n\n if (this.logger && typeof this.logger.debug === 'function') {\n this.logger.debug('WASM module initialized successfully');\n }\n } else {\n throw new Error('No init function found in JavaScript module');\n }\n\n const WasmInterface = module.WasmInterface;\n if (!WasmInterface) {\n throw new Error(\n 'WasmInterface not found in module exports. Available exports: ' +\n Object.keys(module).join(', '),\n );\n }\n\n if (this.logger && typeof this.logger.debug === 'function') {\n this.logger.debug('Creating WasmInterface instance');\n }\n const wasmInterface = new WasmInterface();\n\n let result: string;\n\n if (context.method === 'POST' && wasmInterface.POST) {\n const actionName = context.params.operation || 'default';\n\n const allParams = {\n ...context.params,\n ...context.state,\n };\n\n const paramsJson = JSON.stringify(allParams);\n\n if (this.logger && typeof this.logger.debug === 'function') {\n this.logger.debug('Calling POST method', {\n actionName,\n paramsJson,\n allParams,\n });\n } else {\n console.log('WASM POST params:', {\n actionName,\n paramsJson,\n allParams,\n });\n }\n\n result = await wasmInterface.POST(\n actionName,\n paramsJson,\n this.network.toString(),\n '',\n );\n } else if (context.method === 'GET' && wasmInterface.GET) {\n const actionName = context.params.operation || 'default';\n const paramsJson = JSON.stringify(context.params);\n\n if (this.logger && typeof this.logger.debug === 'function') {\n this.logger.debug('Calling GET method', {\n actionName,\n paramsJson,\n });\n }\n\n result = await wasmInterface.GET(\n actionName,\n paramsJson,\n this.network.toString(),\n );\n } else if (context.method === 'INFO' && wasmInterface.INFO) {\n if (this.logger && typeof this.logger.debug === 'function') {\n this.logger.debug('Calling INFO method');\n }\n result = wasmInterface.INFO();\n } else {\n throw new Error(\n `Method ${context.method} not supported by WASM module`,\n );\n }\n\n let parsedResult: any;\n try {\n parsedResult = JSON.parse(result);\n } catch {\n parsedResult = { value: result };\n }\n\n if (wasmInterface.free) {\n wasmInterface.free();\n }\n\n URL.revokeObjectURL(moduleUrl);\n\n return {\n success: true,\n data: parsedResult,\n };\n } catch (e) {\n URL.revokeObjectURL(moduleUrl);\n throw e;\n }\n } else {\n if (this.logger && typeof this.logger.info === 'function') {\n this.logger.info(\n 'Executing JavaScript wrapper in Node.js environment',\n );\n }\n\n const jsResult = await this.hrlResolver.resolve(action.js_t_id!, {\n network: this.network,\n returnRaw: false,\n });\n\n if (!jsResult.content || typeof jsResult.content !== 'string') {\n throw new Error('Failed to load JavaScript module: invalid content');\n }\n\n const wasmResult = await this.hrlResolver.resolve(action.t_id, {\n network: this.network,\n returnRaw: true,\n });\n\n const moduleContext = {\n exports: {} as any,\n module: { exports: {} as any },\n require: () => {\n throw new Error('require not supported');\n },\n global: global,\n globalThis: globalThis,\n self: undefined as any,\n window: undefined as any,\n fetch: undefined as any,\n Response: undefined as any,\n WebAssembly: WebAssembly,\n Promise: Promise,\n Function: Function,\n console: console,\n queueMicrotask: queueMicrotask,\n TextDecoder: TextDecoder,\n TextEncoder: TextEncoder,\n FinalizationRegistry:\n typeof (globalThis as any).FinalizationRegistry !== 'undefined'\n ? (globalThis as any).FinalizationRegistry\n : (undefined as any),\n URL: URL,\n };\n\n throw new Error(\n 'WASM execution in Node.js/SSR environment is not supported. This functionality is browser-only.',\n );\n }\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n const errorStack = error instanceof Error ? error.stack : undefined;\n\n if (this.logger && typeof this.logger.error === 'function') {\n this.logger.error('JavaScript execution failed', {\n jsTopicId: action.js_t_id,\n error: errorMessage,\n stack: errorStack,\n fullError: error,\n });\n } else {\n console.error('JavaScript execution failed', {\n jsTopicId: action.js_t_id,\n error: errorMessage,\n stack: errorStack,\n fullError: error,\n });\n }\n\n return {\n success: false,\n error: errorMessage || 'Unknown error',\n };\n }\n }\n\n /**\n * Clear the WASM cache\n */\n clearCache(): void {\n this.wasmCache.clear();\n }\n}\n"],"names":[],"mappings":";AAoCO,MAAM,aAAa;AAAA,EAMxB,YAAY,QAAgB,SAAsB;AAFlD,SAAQ,gCAAmD,IAAA;AAGzD,SAAK,SAAS;AACd,SAAK,UAAU;AACf,SAAK,cAAc,IAAI,YAAA;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,QACJ,QACA,SAC8B;AAC9B,QAAI;AACF,UAAI,KAAK,UAAU,OAAO,KAAK,OAAO,UAAU,YAAY;AAC1D,aAAK,OAAO,MAAM,yBAAyB;AAAA,UACzC,UAAU,OAAO;AAAA,UACjB,QAAQ,QAAQ;AAAA,UAChB,eAAe,CAAC,CAAC,OAAO;AAAA,QAAA,CACzB;AAAA,MACH;AAEA,UAAI,OAAO,SAAS;AAClB,eAAO,MAAM,KAAK,kBAAkB,QAAQ,OAAO;AAAA,MACrD;AAEA,YAAM,IAAI;AAAA,QACR;AAAA,MAAA;AAAA,IAEJ,SAAS,OAAO;AACd,UAAI,KAAK,UAAU,OAAO,KAAK,OAAO,UAAU,YAAY;AAC1D,aAAK,OAAO,MAAM,yBAAyB;AAAA,UACzC,UAAU,OAAO;AAAA,UACjB,OAAO,MAAM;AAAA,QAAA,CACd;AAAA,MACH,OAAO;AACL,gBAAQ,MAAM,yBAAyB;AAAA,UACrC,UAAU,OAAO;AAAA,UACjB,OAAO,MAAM;AAAA,QAAA,CACd;AAAA,MACH;AAEA,aAAO;AAAA,QACL,SAAS;AAAA,QACT,OAAO,MAAM;AAAA,MAAA;AAAA,IAEjB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASQ,eAAe,QAA4B,KAAqB;AACtE,UAAM,MAAM,IAAI,WAAW,OAAO,MAAM;AAExC,QAAI,MAAM;AACV,WAAO,IAAI,MAAM,GAAG,MAAM,GAAG;AAC3B;AAAA,IACF;AAEA,UAAM,UAAU,IAAI,YAAA;AACpB,WAAO,QAAQ,OAAO,IAAI,MAAM,KAAK,MAAM,GAAG,CAAC;AAAA,EACjD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAc,kBACZ,QACA,SAC8B;AAC9B,QAAI;AACF,UAAI,KAAK,UAAU,OAAO,KAAK,OAAO,UAAU,YAAY;AAC1D,aAAK,OAAO,MAAM,8BAA8B;AAAA,UAC9C,WAAW,OAAO;AAAA,QAAA,CACnB;AAAA,MACH;AAEA,UAAI,OAAO,WAAW,aAAa;AACjC,cAAM,WAAW,MAAM,KAAK,YAAY,QAAQ,OAAO,SAAU;AAAA,UAC/D,SAAS,KAAK;AAAA,UACd,WAAW;AAAA,QAAA,CACZ;AAED,YAAI,CAAC,SAAS,WAAW,OAAO,SAAS,YAAY,UAAU;AAC7D,gBAAM,IAAI,MAAM,mDAAmD;AAAA,QACrE;AAEA,cAAM,OAAO,IAAI,KAAK,CAAC,SAAS,OAAO,GAAG;AAAA,UACxC,MAAM;AAAA,QAAA,CACP;AACD,cAAM,YAAY,IAAI,gBAAgB,IAAI;AAE1C,YAAI;AACF,cAAI,KAAK,UAAU,OAAO,KAAK,OAAO,UAAU,YAAY;AAC1D,iBAAK,OAAO,MAAM,2CAA2C;AAAA,UAC/D;AACA,gBAAM,eAAe,IAAI,SAAS,OAAO,oBAAoB;AAC7D,gBAAM,SAAS,MAAM,aAAa,SAAS;AAE3C,cAAI,KAAK,UAAU,OAAO,KAAK,OAAO,UAAU,YAAY;AAC1D,iBAAK,OAAO,MAAM,6BAA6B,OAAO,KAAK,MAAM,CAAC;AAAA,UACpE;AAEA,cAAI,OAAO,WAAW,OAAO,MAAM;AACjC,kBAAM,OAAO,OAAO,WAAW,OAAO;AAEtC,gBAAI,KAAK,UAAU,OAAO,KAAK,OAAO,UAAU,YAAY;AAC1D,mBAAK,OAAO,MAAM,kCAAkC,OAAO,IAAI;AAAA,YACjE;AAEA,kBAAM,aAAa,MAAM,KAAK,YAAY,QAAQ,OAAO,MAAM;AAAA,cAC7D,SAAS,KAAK;AAAA,cACd,WAAW;AAAA,YAAA,CACZ;AAED,gBAAI,KAAK,UAAU,OAAO,KAAK,OAAO,UAAU,YAAY;AAC1D,oBAAM,OACJ,WAAW,mBAAmB,cAC1B,WAAW,QAAQ,aACnB,WAAW,QAAQ;AACzB,mBAAK,OAAO,MAAM,4BAA4B,IAAI;AAAA,YACpD;AAEA,kBAAM,KAAK,EAAE,gBAAgB,WAAW,SAAS;AAEjD,gBAAI,KAAK,UAAU,OAAO,KAAK,OAAO,UAAU,YAAY;AAC1D,mBAAK,OAAO,MAAM,sCAAsC;AAAA,YAC1D;AAAA,UACF,OAAO;AACL,kBAAM,IAAI,MAAM,6CAA6C;AAAA,UAC/D;AAEA,gBAAM,gBAAgB,OAAO;AAC7B,cAAI,CAAC,eAAe;AAClB,kBAAM,IAAI;AAAA,cACR,mEACE,OAAO,KAAK,MAAM,EAAE,KAAK,IAAI;AAAA,YAAA;AAAA,UAEnC;AAEA,cAAI,KAAK,UAAU,OAAO,KAAK,OAAO,UAAU,YAAY;AAC1D,iBAAK,OAAO,MAAM,iCAAiC;AAAA,UACrD;AACA,gBAAM,gBAAgB,IAAI,cAAA;AAE1B,cAAI;AAEJ,cAAI,QAAQ,WAAW,UAAU,cAAc,MAAM;AACnD,kBAAM,aAAa,QAAQ,OAAO,aAAa;AAE/C,kBAAM,YAAY;AAAA,cAChB,GAAG,QAAQ;AAAA,cACX,GAAG,QAAQ;AAAA,YAAA;AAGb,kBAAM,aAAa,KAAK,UAAU,SAAS;AAE3C,gBAAI,KAAK,UAAU,OAAO,KAAK,OAAO,UAAU,YAAY;AAC1D,mBAAK,OAAO,MAAM,uBAAuB;AAAA,gBACvC;AAAA,gBACA;AAAA,gBACA;AAAA,cAAA,CACD;AAAA,YACH,OAAO;AACL,sBAAQ,IAAI,qBAAqB;AAAA,gBAC/B;AAAA,gBACA;AAAA,gBACA;AAAA,cAAA,CACD;AAAA,YACH;AAEA,qBAAS,MAAM,cAAc;AAAA,cAC3B;AAAA,cACA;AAAA,cACA,KAAK,QAAQ,SAAA;AAAA,cACb;AAAA,YAAA;AAAA,UAEJ,WAAW,QAAQ,WAAW,SAAS,cAAc,KAAK;AACxD,kBAAM,aAAa,QAAQ,OAAO,aAAa;AAC/C,kBAAM,aAAa,KAAK,UAAU,QAAQ,MAAM;AAEhD,gBAAI,KAAK,UAAU,OAAO,KAAK,OAAO,UAAU,YAAY;AAC1D,mBAAK,OAAO,MAAM,sBAAsB;AAAA,gBACtC;AAAA,gBACA;AAAA,cAAA,CACD;AAAA,YACH;AAEA,qBAAS,MAAM,cAAc;AAAA,cAC3B;AAAA,cACA;AAAA,cACA,KAAK,QAAQ,SAAA;AAAA,YAAS;AAAA,UAE1B,WAAW,QAAQ,WAAW,UAAU,cAAc,MAAM;AAC1D,gBAAI,KAAK,UAAU,OAAO,KAAK,OAAO,UAAU,YAAY;AAC1D,mBAAK,OAAO,MAAM,qBAAqB;AAAA,YACzC;AACA,qBAAS,cAAc,KAAA;AAAA,UACzB,OAAO;AACL,kBAAM,IAAI;AAAA,cACR,UAAU,QAAQ,MAAM;AAAA,YAAA;AAAA,UAE5B;AAEA,cAAI;AACJ,cAAI;AACF,2BAAe,KAAK,MAAM,MAAM;AAAA,UAClC,QAAQ;AACN,2BAAe,EAAE,OAAO,OAAA;AAAA,UAC1B;AAEA,cAAI,cAAc,MAAM;AACtB,0BAAc,KAAA;AAAA,UAChB;AAEA,cAAI,gBAAgB,SAAS;AAE7B,iBAAO;AAAA,YACL,SAAS;AAAA,YACT,MAAM;AAAA,UAAA;AAAA,QAEV,SAAS,GAAG;AACV,cAAI,gBAAgB,SAAS;AAC7B,gBAAM;AAAA,QACR;AAAA,MACF,OAAO;AACL,YAAI,KAAK,UAAU,OAAO,KAAK,OAAO,SAAS,YAAY;AACzD,eAAK,OAAO;AAAA,YACV;AAAA,UAAA;AAAA,QAEJ;AAEA,cAAM,WAAW,MAAM,KAAK,YAAY,QAAQ,OAAO,SAAU;AAAA,UAC/D,SAAS,KAAK;AAAA,UACd,WAAW;AAAA,QAAA,CACZ;AAED,YAAI,CAAC,SAAS,WAAW,OAAO,SAAS,YAAY,UAAU;AAC7D,gBAAM,IAAI,MAAM,mDAAmD;AAAA,QACrE;AAEA,cAAM,aAAa,MAAM,KAAK,YAAY,QAAQ,OAAO,MAAM;AAAA,UAC7D,SAAS,KAAK;AAAA,UACd,WAAW;AAAA,QAAA,CACZ;AAED,cAAM,gBAAgB;AAAA,UACpB,SAAS,CAAA;AAAA,UACT,QAAQ,EAAE,SAAS,GAAC;AAAA,UACpB,SAAS,MAAM;AACb,kBAAM,IAAI,MAAM,uBAAuB;AAAA,UACzC;AAAA,UACA;AAAA,UACA;AAAA,UACA,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,OAAO;AAAA,UACP,UAAU;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,sBACE,OAAQ,WAAmB,yBAAyB,cAC/C,WAAmB,uBACnB;AAAA,UACP;AAAA,QAAA;AAGF,cAAM,IAAI;AAAA,UACR;AAAA,QAAA;AAAA,MAEJ;AAAA,IACF,SAAS,OAAO;AACd,YAAM,eACJ,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AACvD,YAAM,aAAa,iBAAiB,QAAQ,MAAM,QAAQ;AAE1D,UAAI,KAAK,UAAU,OAAO,KAAK,OAAO,UAAU,YAAY;AAC1D,aAAK,OAAO,MAAM,+BAA+B;AAAA,UAC/C,WAAW,OAAO;AAAA,UAClB,OAAO;AAAA,UACP,OAAO;AAAA,UACP,WAAW;AAAA,QAAA,CACZ;AAAA,MACH,OAAO;AACL,gBAAQ,MAAM,+BAA+B;AAAA,UAC3C,WAAW,OAAO;AAAA,UAClB,OAAO;AAAA,UACP,OAAO;AAAA,UACP,WAAW;AAAA,QAAA,CACZ;AAAA,MACH;AAEA,aAAO;AAAA,QACL,SAAS;AAAA,QACT,OAAO,gBAAgB;AAAA,MAAA;AAAA,IAE3B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,aAAmB;AACjB,SAAK,UAAU,MAAA;AAAA,EACjB;AACF;"}