@geeqdev/geeq-sdk 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/dist/src/address/record-type.d.ts +10 -0
  2. package/dist/src/address/record-type.js +59 -0
  3. package/dist/src/address/record-type.js.map +1 -0
  4. package/dist/src/address/wallet-address.d.ts +34 -0
  5. package/dist/src/address/wallet-address.js +90 -0
  6. package/dist/src/address/wallet-address.js.map +1 -0
  7. package/dist/src/amount.d.ts +43 -0
  8. package/dist/src/amount.js +105 -0
  9. package/dist/src/amount.js.map +1 -0
  10. package/dist/src/assert.d.ts +12 -0
  11. package/dist/src/assert.js +24 -0
  12. package/dist/src/assert.js.map +1 -0
  13. package/dist/src/capnp/adminNetTx.capnp.d.ts +75 -0
  14. package/dist/src/capnp/adminNetTx.capnp.js +66 -0
  15. package/dist/src/capnp/adminNetTx.capnp.js.map +1 -0
  16. package/dist/src/capnp/appLayBlock.capnp.d.ts +26 -0
  17. package/dist/src/capnp/appLayBlock.capnp.js +24 -0
  18. package/dist/src/capnp/appLayBlock.capnp.js.map +1 -0
  19. package/dist/src/capnp/appLayLedger.capnp.d.ts +34 -0
  20. package/dist/src/capnp/appLayLedger.capnp.js +32 -0
  21. package/dist/src/capnp/appLayLedger.capnp.js.map +1 -0
  22. package/dist/src/capnp/appLayRec.capnp.d.ts +129 -0
  23. package/dist/src/capnp/appLayRec.capnp.js +156 -0
  24. package/dist/src/capnp/appLayRec.capnp.js.map +1 -0
  25. package/dist/src/capnp/chainStateView.capnp.d.ts +50 -0
  26. package/dist/src/capnp/chainStateView.capnp.js +48 -0
  27. package/dist/src/capnp/chainStateView.capnp.js.map +1 -0
  28. package/dist/src/capnp/coinAcctRec.capnp.d.ts +178 -0
  29. package/dist/src/capnp/coinAcctRec.capnp.js +189 -0
  30. package/dist/src/capnp/coinAcctRec.capnp.js.map +1 -0
  31. package/dist/src/capnp/genesisBlock.capnp.d.ts +61 -0
  32. package/dist/src/capnp/genesisBlock.capnp.js +55 -0
  33. package/dist/src/capnp/genesisBlock.capnp.js.map +1 -0
  34. package/dist/src/capnp/hubContentStmt.capnp.d.ts +63 -0
  35. package/dist/src/capnp/hubContentStmt.capnp.js +57 -0
  36. package/dist/src/capnp/hubContentStmt.capnp.js.map +1 -0
  37. package/dist/src/capnp/misc.capnp.d.ts +20 -0
  38. package/dist/src/capnp/misc.capnp.js +18 -0
  39. package/dist/src/capnp/misc.capnp.js.map +1 -0
  40. package/dist/src/capnp/netActorRec.capnp.d.ts +65 -0
  41. package/dist/src/capnp/netActorRec.capnp.js +65 -0
  42. package/dist/src/capnp/netActorRec.capnp.js.map +1 -0
  43. package/dist/src/capnp/nodeContentStmt.capnp.d.ts +67 -0
  44. package/dist/src/capnp/nodeContentStmt.capnp.js +61 -0
  45. package/dist/src/capnp/nodeContentStmt.capnp.js.map +1 -0
  46. package/dist/src/capnp/nodePayloadList.capnp.d.ts +28 -0
  47. package/dist/src/capnp/nodePayloadList.capnp.js +26 -0
  48. package/dist/src/capnp/nodePayloadList.capnp.js.map +1 -0
  49. package/dist/src/capnp/nodeTxList.capnp.d.ts +36 -0
  50. package/dist/src/capnp/nodeTxList.capnp.js +34 -0
  51. package/dist/src/capnp/nodeTxList.capnp.js.map +1 -0
  52. package/dist/src/capnp/paramAcctRec.capnp.d.ts +338 -0
  53. package/dist/src/capnp/paramAcctRec.capnp.js +669 -0
  54. package/dist/src/capnp/paramAcctRec.capnp.js.map +1 -0
  55. package/dist/src/capnp/payload.capnp.d.ts +237 -0
  56. package/dist/src/capnp/payload.capnp.js +260 -0
  57. package/dist/src/capnp/payload.capnp.js.map +1 -0
  58. package/dist/src/capnp/proxyAcctRec.capnp.d.ts +223 -0
  59. package/dist/src/capnp/proxyAcctRec.capnp.js +255 -0
  60. package/dist/src/capnp/proxyAcctRec.capnp.js.map +1 -0
  61. package/dist/src/capnp/relayContentStmt.capnp.d.ts +82 -0
  62. package/dist/src/capnp/relayContentStmt.capnp.js +85 -0
  63. package/dist/src/capnp/relayContentStmt.capnp.js.map +1 -0
  64. package/dist/src/capnp/sysAcctRec.capnp.d.ts +48 -0
  65. package/dist/src/capnp/sysAcctRec.capnp.js +46 -0
  66. package/dist/src/capnp/sysAcctRec.capnp.js.map +1 -0
  67. package/dist/src/capnp/userAppTx.capnp.d.ts +230 -0
  68. package/dist/src/capnp/userAppTx.capnp.js +270 -0
  69. package/dist/src/capnp/userAppTx.capnp.js.map +1 -0
  70. package/dist/src/capnp/userValTx.capnp.d.ts +1575 -0
  71. package/dist/src/capnp/userValTx.capnp.js +2004 -0
  72. package/dist/src/capnp/userValTx.capnp.js.map +1 -0
  73. package/dist/src/capnp/valLayBlock.capnp.d.ts +88 -0
  74. package/dist/src/capnp/valLayBlock.capnp.js +86 -0
  75. package/dist/src/capnp/valLayBlock.capnp.js.map +1 -0
  76. package/dist/src/capnp/valLayLedger.capnp.d.ts +85 -0
  77. package/dist/src/capnp/valLayLedger.capnp.js +75 -0
  78. package/dist/src/capnp/valLayLedger.capnp.js.map +1 -0
  79. package/dist/src/chain/geeq-chain.d.ts +474 -0
  80. package/dist/src/chain/geeq-chain.js +721 -0
  81. package/dist/src/chain/geeq-chain.js.map +1 -0
  82. package/dist/src/chain/geeq-node.d.ts +57 -0
  83. package/dist/src/chain/geeq-node.js +62 -0
  84. package/dist/src/chain/geeq-node.js.map +1 -0
  85. package/dist/src/chain/nonce-guard.d.ts +42 -0
  86. package/dist/src/chain/nonce-guard.js +68 -0
  87. package/dist/src/chain/nonce-guard.js.map +1 -0
  88. package/dist/src/chain/select.d.ts +40 -0
  89. package/dist/src/chain/select.js +114 -0
  90. package/dist/src/chain/select.js.map +1 -0
  91. package/dist/src/crypto/account-id.d.ts +35 -0
  92. package/dist/src/crypto/account-id.js +58 -0
  93. package/dist/src/crypto/account-id.js.map +1 -0
  94. package/dist/src/crypto/keypair.d.ts +24 -0
  95. package/dist/src/crypto/keypair.js +158 -0
  96. package/dist/src/crypto/keypair.js.map +1 -0
  97. package/dist/src/crypto/mnemonic.d.ts +34 -0
  98. package/dist/src/crypto/mnemonic.js +57 -0
  99. package/dist/src/crypto/mnemonic.js.map +1 -0
  100. package/dist/src/encoding/base64.d.ts +8 -0
  101. package/dist/src/encoding/base64.js +53 -0
  102. package/dist/src/encoding/base64.js.map +1 -0
  103. package/dist/src/encoding/hex.d.ts +2 -0
  104. package/dist/src/encoding/hex.js +35 -0
  105. package/dist/src/encoding/hex.js.map +1 -0
  106. package/dist/src/errors.d.ts +83 -0
  107. package/dist/src/errors.js +49 -0
  108. package/dist/src/errors.js.map +1 -0
  109. package/dist/src/index.d.ts +59 -0
  110. package/dist/src/index.js +53 -0
  111. package/dist/src/index.js.map +1 -0
  112. package/dist/src/ledger/coin-accounts.d.ts +42 -0
  113. package/dist/src/ledger/coin-accounts.js +37 -0
  114. package/dist/src/ledger/coin-accounts.js.map +1 -0
  115. package/dist/src/ledger/decode.d.ts +18 -0
  116. package/dist/src/ledger/decode.js +113 -0
  117. package/dist/src/ledger/decode.js.map +1 -0
  118. package/dist/src/ledger/geeq-ledger.d.ts +99 -0
  119. package/dist/src/ledger/geeq-ledger.js +125 -0
  120. package/dist/src/ledger/geeq-ledger.js.map +1 -0
  121. package/dist/src/ledger/net-actors.d.ts +65 -0
  122. package/dist/src/ledger/net-actors.js +53 -0
  123. package/dist/src/ledger/net-actors.js.map +1 -0
  124. package/dist/src/ledger/nft-records.d.ts +13 -0
  125. package/dist/src/ledger/nft-records.js +41 -0
  126. package/dist/src/ledger/nft-records.js.map +1 -0
  127. package/dist/src/ledger/params.d.ts +34 -0
  128. package/dist/src/ledger/params.js +71 -0
  129. package/dist/src/ledger/params.js.map +1 -0
  130. package/dist/src/ledger/proxy-accounts.d.ts +26 -0
  131. package/dist/src/ledger/proxy-accounts.js +27 -0
  132. package/dist/src/ledger/proxy-accounts.js.map +1 -0
  133. package/dist/src/net/discovery.d.ts +62 -0
  134. package/dist/src/net/discovery.js +136 -0
  135. package/dist/src/net/discovery.js.map +1 -0
  136. package/dist/src/net/explorer.d.ts +57 -0
  137. package/dist/src/net/explorer.js +64 -0
  138. package/dist/src/net/explorer.js.map +1 -0
  139. package/dist/src/net/read-ledger.d.ts +7 -0
  140. package/dist/src/net/read-ledger.js +39 -0
  141. package/dist/src/net/read-ledger.js.map +1 -0
  142. package/dist/src/net/routes.d.ts +49 -0
  143. package/dist/src/net/routes.js +70 -0
  144. package/dist/src/net/routes.js.map +1 -0
  145. package/dist/src/net/transport.d.ts +55 -0
  146. package/dist/src/net/transport.js +168 -0
  147. package/dist/src/net/transport.js.map +1 -0
  148. package/dist/src/net/websocket.d.ts +49 -0
  149. package/dist/src/net/websocket.js +54 -0
  150. package/dist/src/net/websocket.js.map +1 -0
  151. package/dist/src/runtime/bindings.d.ts +9 -0
  152. package/dist/src/runtime/bindings.js +27 -0
  153. package/dist/src/runtime/bindings.js.map +1 -0
  154. package/dist/src/runtime/init.d.ts +13 -0
  155. package/dist/src/runtime/init.js +40 -0
  156. package/dist/src/runtime/init.js.map +1 -0
  157. package/dist/src/runtime/wasm-loader.browser.d.ts +14 -0
  158. package/dist/src/runtime/wasm-loader.browser.js +20 -0
  159. package/dist/src/runtime/wasm-loader.browser.js.map +1 -0
  160. package/dist/src/runtime/wasm-loader.node.d.ts +7 -0
  161. package/dist/src/runtime/wasm-loader.node.js +14 -0
  162. package/dist/src/runtime/wasm-loader.node.js.map +1 -0
  163. package/dist/src/socket/geeq-socket.d.ts +232 -0
  164. package/dist/src/socket/geeq-socket.js +634 -0
  165. package/dist/src/socket/geeq-socket.js.map +1 -0
  166. package/dist/src/socket/tracked-tx.d.ts +148 -0
  167. package/dist/src/socket/tracked-tx.js +212 -0
  168. package/dist/src/socket/tracked-tx.js.map +1 -0
  169. package/dist/src/socket/tx-status.d.ts +69 -0
  170. package/dist/src/socket/tx-status.js +72 -0
  171. package/dist/src/socket/tx-status.js.map +1 -0
  172. package/dist/src/tx/attestation.d.ts +60 -0
  173. package/dist/src/tx/attestation.js +163 -0
  174. package/dist/src/tx/attestation.js.map +1 -0
  175. package/dist/src/tx/content.d.ts +27 -0
  176. package/dist/src/tx/content.js +62 -0
  177. package/dist/src/tx/content.js.map +1 -0
  178. package/dist/src/tx/encode.d.ts +60 -0
  179. package/dist/src/tx/encode.js +82 -0
  180. package/dist/src/tx/encode.js.map +1 -0
  181. package/dist/src/tx/expiry.d.ts +11 -0
  182. package/dist/src/tx/expiry.js +12 -0
  183. package/dist/src/tx/expiry.js.map +1 -0
  184. package/dist/src/tx/fee.d.ts +16 -0
  185. package/dist/src/tx/fee.js +29 -0
  186. package/dist/src/tx/fee.js.map +1 -0
  187. package/dist/src/tx/metadata.d.ts +39 -0
  188. package/dist/src/tx/metadata.js +66 -0
  189. package/dist/src/tx/metadata.js.map +1 -0
  190. package/dist/src/tx/nft.d.ts +16 -0
  191. package/dist/src/tx/nft.js +98 -0
  192. package/dist/src/tx/nft.js.map +1 -0
  193. package/dist/src/tx/proxy.d.ts +37 -0
  194. package/dist/src/tx/proxy.js +134 -0
  195. package/dist/src/tx/proxy.js.map +1 -0
  196. package/dist/src/tx/transfer.d.ts +31 -0
  197. package/dist/src/tx/transfer.js +123 -0
  198. package/dist/src/tx/transfer.js.map +1 -0
  199. package/dist/src/types.d.ts +448 -0
  200. package/dist/src/types.js +2 -0
  201. package/dist/src/types.js.map +1 -0
  202. package/dist/tests/account-id.test.d.ts +1 -0
  203. package/dist/tests/account-id.test.js +27 -0
  204. package/dist/tests/account-id.test.js.map +1 -0
  205. package/dist/tests/amount.test.d.ts +1 -0
  206. package/dist/tests/amount.test.js +113 -0
  207. package/dist/tests/amount.test.js.map +1 -0
  208. package/dist/tests/attestation.test.d.ts +1 -0
  209. package/dist/tests/attestation.test.js +182 -0
  210. package/dist/tests/attestation.test.js.map +1 -0
  211. package/dist/tests/chain.test.d.ts +1 -0
  212. package/dist/tests/chain.test.js +647 -0
  213. package/dist/tests/chain.test.js.map +1 -0
  214. package/dist/tests/content.test.d.ts +1 -0
  215. package/dist/tests/content.test.js +90 -0
  216. package/dist/tests/content.test.js.map +1 -0
  217. package/dist/tests/documented-api.test.d.ts +1 -0
  218. package/dist/tests/documented-api.test.js +229 -0
  219. package/dist/tests/documented-api.test.js.map +1 -0
  220. package/dist/tests/explorer.test.d.ts +1 -0
  221. package/dist/tests/explorer.test.js +95 -0
  222. package/dist/tests/explorer.test.js.map +1 -0
  223. package/dist/tests/fee.test.d.ts +1 -0
  224. package/dist/tests/fee.test.js +179 -0
  225. package/dist/tests/fee.test.js.map +1 -0
  226. package/dist/tests/fixtures/build-vll.d.ts +71 -0
  227. package/dist/tests/fixtures/build-vll.js +141 -0
  228. package/dist/tests/fixtures/build-vll.js.map +1 -0
  229. package/dist/tests/fixtures/fake-socket.d.ts +44 -0
  230. package/dist/tests/fixtures/fake-socket.js +93 -0
  231. package/dist/tests/fixtures/fake-socket.js.map +1 -0
  232. package/dist/tests/fixtures/fake-transport.d.ts +24 -0
  233. package/dist/tests/fixtures/fake-transport.js +30 -0
  234. package/dist/tests/fixtures/fake-transport.js.map +1 -0
  235. package/dist/tests/keypair.test.d.ts +1 -0
  236. package/dist/tests/keypair.test.js +163 -0
  237. package/dist/tests/keypair.test.js.map +1 -0
  238. package/dist/tests/ledger.test.d.ts +1 -0
  239. package/dist/tests/ledger.test.js +234 -0
  240. package/dist/tests/ledger.test.js.map +1 -0
  241. package/dist/tests/mnemonic.test.d.ts +1 -0
  242. package/dist/tests/mnemonic.test.js +97 -0
  243. package/dist/tests/mnemonic.test.js.map +1 -0
  244. package/dist/tests/nft-transfer.test.d.ts +1 -0
  245. package/dist/tests/nft-transfer.test.js +170 -0
  246. package/dist/tests/nft-transfer.test.js.map +1 -0
  247. package/dist/tests/nft.test.d.ts +1 -0
  248. package/dist/tests/nft.test.js +180 -0
  249. package/dist/tests/nft.test.js.map +1 -0
  250. package/dist/tests/offline.test.d.ts +1 -0
  251. package/dist/tests/offline.test.js +95 -0
  252. package/dist/tests/offline.test.js.map +1 -0
  253. package/dist/tests/proxy.test.d.ts +1 -0
  254. package/dist/tests/proxy.test.js +183 -0
  255. package/dist/tests/proxy.test.js.map +1 -0
  256. package/dist/tests/select.test.d.ts +1 -0
  257. package/dist/tests/select.test.js +200 -0
  258. package/dist/tests/select.test.js.map +1 -0
  259. package/dist/tests/socket.test.d.ts +1 -0
  260. package/dist/tests/socket.test.js +607 -0
  261. package/dist/tests/socket.test.js.map +1 -0
  262. package/dist/tests/transfer.test.d.ts +1 -0
  263. package/dist/tests/transfer.test.js +225 -0
  264. package/dist/tests/transfer.test.js.map +1 -0
  265. package/dist/tests/wallet-address.test.d.ts +1 -0
  266. package/dist/tests/wallet-address.test.js +101 -0
  267. package/dist/tests/wallet-address.test.js.map +1 -0
  268. package/dist/tests/wasm-loader.jest.d.ts +13 -0
  269. package/dist/tests/wasm-loader.jest.js +15 -0
  270. package/dist/tests/wasm-loader.jest.js.map +1 -0
  271. package/package.json +2 -2
  272. package/tsconfig.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain.test.js","sourceRoot":"","sources":["../../tests/chain.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,OAAO,EACL,SAAS,EACT,MAAM,EACN,mBAAmB,EACnB,sBAAsB,EACtB,SAAS,EACT,QAAQ,EACR,mBAAmB,GACpB,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAChF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAGvE,0EAA0E;AAC1E,MAAM,QAAQ,GAAG,6EAA6E,CAAA;AAC9F,MAAM,QAAQ,GAAG,uBAAuB,CAAA;AACxC,MAAM,SAAS,GAAG,+BAA+B,CAAA;AAEjD,IAAI,OAAoB,CAAA;AAExB,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,MAAM,QAAQ,EAAE,CAAA;IAChB,OAAO,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAA;AAC/C,CAAC,CAAC,CAAA;AAEF,wFAAwF;AACxF,wBAAwB;AACxB,SAAS,CAAC,GAAG,EAAE;IACb,SAAS,CAAC,KAAK,EAAE,CAAA;AACnB,CAAC,CAAC,CAAA;AAIF,KAAK,UAAU,OAAO,CAAC,OAAyB;IAC9C,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,OAAO,CAAA;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,KAAK,CAAA;IAChB,CAAC;IACD,IAAI,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACzF,OAAO,MAAqB,CAAA;AAC9B,CAAC;AAED,SAAS,UAAU,CAAC,YAA+C,EAAE;IACnE,OAAO,WAAW,CAAC;QACjB,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,EAAE;QACf,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QAC1C,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACrE,GAAG,SAAS;KACb,CAAC,CAAA;AACJ,CAAC;AAED,4DAA4D;AAC5D,SAAS,eAAe,CACtB,QAA+D,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EACnF,SAAoE;IAClE,EAAE,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;CACxC,EACD,SAAiB,UAAU,EAAE;IAE7B,OAAO,CAAC,GAAG,EAAE,EAAE;QACb,IAAI,GAAG,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;QACjG,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACxB,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,IAAI,EAAE,IAAI;wBACV,QAAQ,EAAE,MAAM;wBAChB,QAAQ,EAAE,CAAC;wBACX,SAAS,EAAE,EAAE;wBACb,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,QAAQ;wBACxB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,OAAO;qBAC5B,CAAC,CAAC;iBACJ,CAAC;aACH,CAAA;QACH,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IACzB,CAAC,CAAA;AACH,CAAC;AAED,SAAS,OAAO,CAAC,SAA0C,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;IAC/E,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACvC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,CAAA;AACnH,CAAC;AAED,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,mFAAmF;IACnF,wEAAwE;IACxE,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAA;QACtC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAA;QAExB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QACvC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAA;QACjC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAA;IAC1C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACvD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;QACvH,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACvD,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;YACnG,IAAI,EAAE,kBAAkB;SACzB,CAAC,CAAA;QACF,MAAM,MAAM,CACV,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAC3G,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,qFAAqF;IACrF,qFAAqF;IACrF,uBAAuB;IACvB,EAAE,CAAC,IAAI,CAAC;QACN,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;QAC5B,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QAC7B,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC/B,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;QACxC,CAAC,gBAAgB,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC;QAC1C,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAC7B,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAClC,6DAA6D;QAC7D,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAuB,EAAE,CAAC;QACnD,CAAC,aAAa,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;QACrC,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC;KACnC,CAAC,CAAC,4CAA4C,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QACtE,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACvD,MAAM,KAAK,GAAG,MAAM,OAAO,CACzB,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAAC,CAChG,CAAA;QACD,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAA;QACzD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,+FAA+F;IAC/F,SAAS,aAAa,CAAC,IAAY;QACjC,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,MAAM,SAAS,GAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;gBAC7F,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;oBAC3C,YAAY,CAAC,KAAK,CAAC,CAAA;oBACnB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;gBAC7B,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAC5C,CAAC;IAED,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACvD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QACvG,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,CAAA;QAErC,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACxF,MAAM,MAAM,CACV,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAC5E,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,uFAAuF;IACvF,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,EAAE,CAAC,CAAA;QAC7C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QACvG,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QAE5C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAChC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACxB,iFAAiF;QACjF,mCAAmC;QACnC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;QAEnE,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAA;QACpD,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;QACjF,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QACvC,4DAA4D;QAC5D,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,EAAE,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAC1C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QAExC,MAAM,OAAO,GAAG,sBAAsB,CAAC;YACrC,WAAW,EAAE,4BAA4B;YACzC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC/C,SAAS;YACT,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAA;QACF,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAExB,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC1C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,SAAS,GAAG,aAAa,CAAC,eAAe,EAAE,CAAC,CAAA;QAClD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;QAEzH,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;YAChD,2DAA2D;YAC3D,oDAAoD;SACrD,CAAC,CAAA;QACF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,SAAS,GAAG,aAAa,CAAC,eAAe,EAAE,CAAC,CAAA;QAClD,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;QAC5G,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7E,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,SAAS,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAA;QACtE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;QACzH,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,oFAAoF;IACpF,iFAAiF;IACjF,8DAA8D;IAC9D,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,SAAS,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAA;QACvE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC;YACnC,cAAc,EAAE,WAAc;YAC9B,SAAS,EAAE,uBAAuB;YAClC,WAAW,EAAE,CAAC;YACd,QAAQ,EAAE,IAAI;YACd,SAAS;SACV,CAAC,CAAA;QACF,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,SAAS,GAAG,aAAa,CAC7B,eAAe,CAAC;YACd,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE;YACpC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;YACjC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE;YACrD,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;SACnC,CAAC,CACH,CAAA;QACD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;QAEzH,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QACnD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,SAAS,GAAG,aAAa,CAC7B,eAAe,CAAC;YACd,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE;YACpC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE;SACtD,CAAC,CACH,CAAA;QACD,MAAM,KAAK,GAAG,MAAM,OAAO,CACzB,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CACvG,CAAA;QAED,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAA;QACtD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAA;QACjE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,MAAM,SAAS,GAAG;YAChB,EAAE,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;YACxC,EAAE,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;SACxC,CAAA;QAED,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,SAAS,GAAG,aAAa,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;YACtE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;YAE5H,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAChC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACnC,uEAAuE;YACvE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,SAAS,GAAG,aAAa,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;YACtE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC;gBACnC,cAAc,EAAE,WAAc;gBAC9B,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,SAAS;gBACpB,SAAS;aACV,CAAC,CAAA;YACF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,SAAS,GAAG,aAAa,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;YACtE,MAAM,KAAK,GAAG,MAAM,OAAO,CACzB,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAC1G,CAAA;YAED,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAA;YACzD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAA;YACvD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAA;QACvE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,SAAS,GAAG,aAAa,CAC7B,eAAe,CAAC,SAAS,EAAE;gBACzB,EAAE,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;gBACvC,EAAE,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;aACxC,CAAC,CACH,CAAA;YACD,MAAM,KAAK,GAAG,MAAM,OAAO,CACzB,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAC1G,CAAA;YACD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,SAAS,GAAG,aAAa,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;YACtE,MAAM,KAAK,GAAG,MAAM,OAAO,CACzB,SAAS,CAAC,OAAO,CAAC;gBAChB,cAAc,EAAE,WAAc;gBAC9B,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,MAAM;gBACjB,WAAW,EAAE,CAAC;gBACd,SAAS;aACV,CAAC,CACH,CAAA;YACD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAA;QACrF,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,SAAS,GAAG,aAAa,CAC7B,eAAe,CAAC,SAAS,EAAE;YACzB,EAAE,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;YACvC,EAAE,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;SACzC,CAAC,CACH,CAAA;QACD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;QAEnH,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAA;QACzD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAA;QACtE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,SAAS,GAAG,aAAa,CAAC,eAAe,EAAE,CAAC,CAAA;QAClD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAA;QACzG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,eAAe,EAAE,CAAC,CAAA;QAClD,MAAM,KAAK,GAAG,MAAM,OAAO,CACzB,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CACxG,CAAA;QACD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAA;QAC5D,MAAM,MAAM,CACV,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CACvG,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAA;QACtC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAA;QACxB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;QAEtB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;QACjF,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC,KAAK,CAAA;QAClC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;QACtB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;IAC/E,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QACzE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;QAEvH,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAA;IAClF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,SAAS,GAAG,aAAa,CAAC;YAC9B,IAAI,EAAE,UAAU,CAAC;gBACf,KAAK,EAAE;oBACL;wBACE,EAAE,EAAE,UAAU;wBACd,UAAU,EAAE,CAAC;wBACb,IAAI,EAAE,YAAY,CAAC,0BAA0B;wBAC7C,MAAM,EAAE,cAAc,CAAC,0BAA0B;qBAClD;iBACF;aACF,CAAC;SACH,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QAEvG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAA;IACjF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC,KAAK,CAAA;QAClC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;IACpE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACvD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAA;QACjH,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;QAEtB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QACnD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;IACnF,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAA;QACtC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAA;QAExB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;QACtB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;QAEtB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAA;QACtC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAA;QAExB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;QACtB,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAA;QAErC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAA;QACtC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAA;QAExB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;QACtB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,oFAAoF;IACpF,sEAAsE;IACtE,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAA;QACtC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAA;QAExB,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;QAEzE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAA;QACjE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QAEvG,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;QAE7C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QACvC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAA;QAC5D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACtC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAC7C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAA;QAC5D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAA;QAC7D,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QAEvG,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;QAE7C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QAC9C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAA;QACjE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;QAEnH,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;QAE/B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,SAAS,GAAG,aAAa,CAAC;YAC9B,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;SACxE,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QAEvG,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;QAE7C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QACvC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;YAC1B,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,GAAG;YACX,WAAW,EAAE,wBAAwB;SACtC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,IAAI,CAAC;QACN,CAAC,oBAAoB,EAAE,iBAAiB,CAAC;QACzC,CAAC,6BAA6B,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC,+BAA+B,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACjE,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;KACpD,CAAC,CAAC,oCAAoC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QAC9D,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;QACzC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QAEvG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAA;IACrF,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC,KAAK,CAAA;QAClC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;QAE5D,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;YAC1B,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,EAAE,EAAE,4BAA4B;YAC7C,iBAAiB,EAAE,EAAE;YACrB,UAAU,EAAE,CAAC;YACb,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAA;QACF,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAA;IAC/E,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;QACvE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QAEvG,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;QAErE,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAA;QAC1D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,MAAM,KAAK,GAAoD;QAC7D,CAAC,IAAI,EAAE,YAAY,CAAC;QACpB,CAAC,OAAO,EAAE,aAAa,CAAC;QACxB,CAAC,aAAa,EAAE,4BAA4B,CAAC;KAC9C,CAAA;IACD,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,yCAAyC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAChF,MAAM,SAAS,GAAG,aAAa,CAAC;YAC9B,IAAI,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;SACzE,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QAEvG,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;QAErE,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAA;QAC/D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAA;QACtC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAA;QAExB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QACvC,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACvE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC,KAAK,CAAA;QAClC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAEjD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;QAClE,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC;YACzC,OAAO;YACP,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAC1C,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,CAAC;YACb,KAAK,EAAE,CAAC;SACT,CAAC,CAAA;QAEF,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QACtD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC,KAAK,CAAA;QAClC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAClF,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC,KAAK,CAAA;QAElC,MAAM,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;YACtE,IAAI,EAAE,kBAAkB;SACzB,CAAC,CAAA;QACF,MAAM,MAAM,CACV,IAAI,CAAC,iBAAiB,CAAC;YACrB,OAAO;YACP,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,UAAU,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC;SAC/B,CAAC,CACH,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAC5E,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QAEvG,MAAM,MAAM,CACV,IAAI,CAAC,iBAAiB,CAAC;YACrB,OAAO;YACP,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;SACzB,CAAC,CACH,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAC9E,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QAEvG,oFAAoF;QACpF,MAAM,MAAM,CACV,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CACtF,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,SAAS,GAAG,aAAa,CAAC,eAAe,EAAE,CAAC,CAAA;QAClD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;QAEzH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAElF,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAChD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;IAClF,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC,KAAK,CAAA;QAElC,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACvE,MAAM,KAAK,GAAG,MAAM,OAAO,CACzB,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAClE,CAAA;QAED,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAA;QACxD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAA;IACtE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,IAAI,KAAK,GAAG,EAAE,CAAA;QACd,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACrF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QAEvG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACvE,KAAK,GAAG,EAAE,CAAA;QACV,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpB,MAAM,MAAM,CACV,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAClE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEF,qFAAqF;IACrF,mFAAmF;IACnF,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,IAAI,KAAK,GAAG,EAAE,CAAA;QACd,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACrF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QAEvG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACvE,KAAK,GAAG,EAAE,CAAA;QAEV,gEAAgE;QAChE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACtF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAA;QACtC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAA;QAExB,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACvE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAA;QACrC,MAAM,KAAK,GAAG,MAAM,OAAO,CACzB,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAClE,CAAA;QAED,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAA;QACxD,2DAA2D;QAC3D,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC,KAAK,CAAA;QAElC,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACvE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC;YAC1C,OAAO;YACP,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,KAAK,EAAE,CAAC;SACT,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC,KAAK,CAAA;QAElC,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACvE,IAAI,CAAC,YAAY,EAAE,CAAA;QAEnB,MAAM,MAAM,CACV,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAClE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC,KAAK,CAAA;QAElC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACtF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAEvF,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAChE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC,KAAK,CAAA;QAElC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACrF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACnB,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACvE,kEAAkE;QAClE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAEnB,MAAM,MAAM,CACV,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAClE,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC,KAAK,CAAA;QAClC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAElF,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC1C,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,yEAAyE;IACzE,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,IAAI,KAAK,GAAG,EAAE,CAAA;QACd,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACrF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QACvG,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAElF,KAAK,GAAG,EAAE,CAAA;QACV,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACrD,gEAAgE;QAChE,KAAK,GAAG,EAAE,CAAA;QACV,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CACvC,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CACrD,CAAA;QACD,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,eAAe,EAAE,CAAC,CAAA;QAClD,MAAM,SAAS,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;QAEpG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxC,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YACrF,OAAO,EAAE,uBAAuB;SACjC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,OAAO,EAAE,CAAC,KAAK,CAAA;QACrB,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACvD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,EAAE,cAAc,EAAE,WAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QAE/F,IAAI,CAAC,OAAO,EAAE,CAAA;QAEd,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,90 @@
1
+ import { describe, expect, it } from '@jest/globals';
2
+ import { ATTEST_HASH_BYTES, assertAttestHash, attestHashOf, attestHashOfSync, fromBase64, fromHex, inspectMetadata, readContent, toBase64, toHex, } from '../src/index';
3
+ // Nothing here needs the engine: an application must be able to show a digest while the
4
+ // 2 MB WebAssembly bundle is still downloading.
5
+ describe('attestHashOf', () => {
6
+ // The published BLAKE3 vector for "hello", truncated to the protocol's 32 bytes.
7
+ const HELLO = 'ea8f163db38682925e4491c5e58d4bb3506ef8c14eb78a86e908c5624a67200f';
8
+ it('hashes a string as UTF-8', () => {
9
+ expect(toHex(attestHashOfSync('hello'))).toBe(HELLO);
10
+ });
11
+ it('agrees across every accepted form', async () => {
12
+ const bytes = new TextEncoder().encode('hello');
13
+ const forms = [
14
+ attestHashOfSync(bytes),
15
+ attestHashOfSync(bytes.buffer.slice(0)),
16
+ attestHashOfSync('hello'),
17
+ await attestHashOf('hello'),
18
+ await attestHashOf(new Blob([bytes])),
19
+ ];
20
+ for (const form of forms)
21
+ expect(toHex(form)).toBe(HELLO);
22
+ });
23
+ it('always produces the width the protocol demands', () => {
24
+ expect(attestHashOfSync('')).toHaveLength(ATTEST_HASH_BYTES);
25
+ });
26
+ it('sends a Blob to the async form rather than hashing the wrong thing', () => {
27
+ expect(() => attestHashOfSync(new Blob(['x']))).toThrow(/attestHashOf/u);
28
+ });
29
+ it('names the shapes it accepts when given something else', async () => {
30
+ await expect(readContent(42)).rejects.toMatchObject({ code: 'invalid-argument' });
31
+ });
32
+ });
33
+ describe('assertAttestHash', () => {
34
+ it('rejects a digest of the wrong width and says how to make one', () => {
35
+ expect(() => assertAttestHash(new Uint8Array(31))).toThrow(/attestHashOf\(\)/u);
36
+ });
37
+ it('passes a correct digest straight through', () => {
38
+ const hash = attestHashOfSync('hello');
39
+ expect(assertAttestHash(hash)).toBe(hash);
40
+ });
41
+ });
42
+ describe('hex', () => {
43
+ // toString(16) without padding drops a leading zero, producing a 63-character
44
+ // "32-byte" hash that does not compare equal to itself.
45
+ it('pads every byte to two digits', () => {
46
+ expect(toHex(new Uint8Array([0, 1, 15, 16, 255]))).toBe('00010f10ff');
47
+ });
48
+ it('round-trips', () => {
49
+ const bytes = attestHashOfSync('round trip');
50
+ expect(Array.from(fromHex(toHex(bytes)))).toEqual(Array.from(bytes));
51
+ });
52
+ it('accepts a 0x prefix', () => {
53
+ expect(Array.from(fromHex('0xff00'))).toEqual([255, 0]);
54
+ });
55
+ it.each([
56
+ ['an odd digit count', 'abc', /even number/u],
57
+ ['a non-hex character', 'zz', /not valid hex/u],
58
+ ])('rejects %s', (_label, value, pattern) => {
59
+ expect(() => fromHex(value)).toThrow(pattern);
60
+ });
61
+ });
62
+ describe('base64', () => {
63
+ it('round-trips bytes', () => {
64
+ const bytes = attestHashOfSync('base64');
65
+ expect(Array.from(fromBase64(toBase64(bytes)))).toEqual(Array.from(bytes));
66
+ });
67
+ });
68
+ describe('inspectMetadata', () => {
69
+ const limits = { maxEntries: 2, maxBytesPerEntry: 4 };
70
+ it('reports UTF-8 byte lengths, not character counts', () => {
71
+ // Two emoji look like two characters and cost eight bytes.
72
+ const report = inspectMetadata(['🙂🙂'], limits);
73
+ expect(report.entries[0]).toMatchObject({ index: 0, bytes: 8, overLimit: true });
74
+ expect(report.withinLimits).toBe(false);
75
+ });
76
+ it('flags too many entries separately from an oversized one', () => {
77
+ const report = inspectMetadata(['a', 'b', 'c'], limits);
78
+ expect(report.tooManyEntries).toBe(true);
79
+ expect(report.entries.every((entry) => !entry.overLimit)).toBe(true);
80
+ });
81
+ it('accepts metadata the chain would take', () => {
82
+ expect(inspectMetadata(['ab', 'cd'], limits).withinLimits).toBe(true);
83
+ });
84
+ it('checks nothing when the chain publishes no limits', () => {
85
+ const report = inspectMetadata(['anything at all'], undefined);
86
+ expect(report.withinLimits).toBe(true);
87
+ expect(report.entries[0]?.overLimit).toBe(false);
88
+ });
89
+ });
90
+ //# sourceMappingURL=content.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.test.js","sourceRoot":"","sources":["../../tests/content.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,229 @@
1
+ import { beforeAll, describe, expect, it } from '@jest/globals';
2
+ import * as sdk from '../src/index';
3
+ import { vllResponse } from './fixtures/build-vll';
4
+ import { fakeSocketFactory, uutStatus } from './fixtures/fake-socket';
5
+ import { fakeTransport } from './fixtures/fake-transport';
6
+ /**
7
+ * The README is the only document, so it is the thing most likely to drift.
8
+ *
9
+ * This walks what it actually tells a developer to write: every export it lists by name,
10
+ * and every flow it shows. A doc that names a function which no longer exists is worse
11
+ * than no doc, because it is believed.
12
+ */
13
+ const MNEMONIC = 'legal winner thank year wave sausage worth useful legal winner thank yellow';
14
+ const SIMULATOR = 'https://simulator.example.com';
15
+ let keypair;
16
+ beforeAll(async () => {
17
+ await sdk.initGeeq();
18
+ keypair = await sdk.keypairFromMnemonic(MNEMONIC);
19
+ });
20
+ describe('every export the Reference section names', () => {
21
+ const documented = [
22
+ // Engine
23
+ 'initGeeq', 'isGeeqReady',
24
+ // Phrases
25
+ 'generateMnemonic', 'validateMnemonic', 'normalizeMnemonic', 'MNEMONIC_WORD_COUNTS',
26
+ // Keypairs
27
+ 'generateKeypair', 'generateKeypairSync',
28
+ 'importKeypair', 'importKeypairSync',
29
+ 'keypairFromSecretKey', 'keypairFromSecretKeySync',
30
+ 'keypairFromMnemonic', 'keypairFromMnemonicSync',
31
+ 'verifySignature', 'accountIdFromPublicKey', 'ACCOUNT_ID_BYTES', 'PUBLIC_KEY_BYTES',
32
+ // Addresses
33
+ 'createWalletAddress', 'createWalletAddressSync',
34
+ 'decodeWalletAddress', 'decodeWalletAddressSync',
35
+ 'isValidWalletAddress', 'GEEQ_RECORD_TYPES', 'DEFAULT_RECORD_TYPE',
36
+ // Chains and nodes
37
+ 'GeeqChain', 'GeeqNode', 'initChain', 'attest', 'transfer', 'selectNode',
38
+ 'GEEQ_NODE_PORT',
39
+ 'discover', 'listChains', 'listNodes', 'defaultTransport',
40
+ // Sockets
41
+ 'GeeqSocket', 'GeeqTrackedTx', 'transactionIdOf', 'defaultWebSocketFactory',
42
+ // Block explorer
43
+ 'getExplorerTransaction',
44
+ // Transactions
45
+ 'createAttestationTx', 'createAttestationTxSync',
46
+ 'createCoinTransferTx', 'createCoinTransferTxSync',
47
+ 'createNftMintProxyTx', 'createNftMintProxyTxSync',
48
+ 'createNftMintTx', 'createNftMintTxSync',
49
+ // Amounts
50
+ 'toPennies', 'formatGeeq',
51
+ // Content and encoding
52
+ 'attestHashOf', 'attestHashOfSync', 'readContent', 'assertAttestHash',
53
+ 'ATTEST_HASH_BYTES', 'inspectMetadata',
54
+ 'toHex', 'fromHex', 'toBase64', 'fromBase64',
55
+ // Node routes
56
+ 'ledgerRoute', 'submitRoute', 'socketRoute', 'attestationSubmitBody',
57
+ 'coinTransferSubmitBody',
58
+ // Ledgers
59
+ 'decodeValidationLedger', 'GeeqLedger',
60
+ // Errors
61
+ 'GeeqError',
62
+ ];
63
+ it.each(documented)('exports %s', (name) => {
64
+ expect(sdk[name]).toBeDefined();
65
+ });
66
+ it('exports nothing the Reference forgot to mention', () => {
67
+ const actual = Object.keys(sdk).sort();
68
+ const missing = actual.filter((name) => !documented.includes(name));
69
+ expect(missing).toEqual([]);
70
+ });
71
+ });
72
+ describe('the five-minute version', () => {
73
+ it('runs exactly as written', async () => {
74
+ const transport = fakeTransport((url) => {
75
+ if (url.includes('/admin/simulation/chains')) {
76
+ return { body: JSON.stringify({ result: [{ id: 9, chainNumber: 1, name: 'test' }] }) };
77
+ }
78
+ if (url.includes('/api/nodes')) {
79
+ return {
80
+ body: JSON.stringify({
81
+ result: [{ ip: '10.0.0.1', type: 'active', status: 'ready' }],
82
+ }),
83
+ };
84
+ }
85
+ if (url.includes('/api/blocks/process'))
86
+ return { body: JSON.stringify({ result: true }) };
87
+ return {
88
+ body: vllResponse({
89
+ chainNumber: 1,
90
+ blockNumber: 41,
91
+ nodes: [{ ip: '10.0.0.1', nodeNumber: 3 }],
92
+ accounts: [{ accountId: keypair.accountId, kind: 'asset', nonce: 7 }],
93
+ }),
94
+ };
95
+ });
96
+ // 1. Point at a chain, and open its node's socket.
97
+ const chain = await sdk.initChain({
98
+ penniesPerGeeq: 1000000000n,
99
+ discovery: SIMULATOR,
100
+ chainName: 'test',
101
+ transport,
102
+ });
103
+ const webSocket = fakeSocketFactory();
104
+ const connecting = sdk.GeeqSocket.connect({ endpoint: chain.endpoint, webSocket });
105
+ webSocket.last().open();
106
+ const socket = await connecting;
107
+ expect(webSocket.last().url).toBe('wss://10.0.0.1:2082/ws/');
108
+ // 2. The keypair is the user's wallet — derived in beforeAll.
109
+ // 3. Attest something. A string is one of the accepted content shapes.
110
+ const tx = await sdk.attest({
111
+ keypair,
112
+ content: 'a document',
113
+ metadata: ['invoice-2026-09'],
114
+ });
115
+ // 4. Listen for its verdict, then send it, with the route and body the SDK hands over.
116
+ const tracked = await socket.track(tx);
117
+ expect(webSocket.last().frames()).toEqual([
118
+ {
119
+ event: 'client',
120
+ payload: { publicKeys: [sdk.toBase64(keypair.publicKey), sdk.toBase64(keypair.accountId)] },
121
+ },
122
+ ]);
123
+ expect(sdk.submitRoute(tx.nodeUrl)).toBe('https://10.0.0.1:2082/api/blocks/process');
124
+ expect(JSON.parse(sdk.attestationSubmitBody(tx.transaction, tx.payload))).toEqual({
125
+ type: 'uat',
126
+ data: { transaction: tx.transaction, payload: tx.payload },
127
+ });
128
+ // 5. Hear what the chain decided.
129
+ webSocket.last().receive(uutStatus(sdk.transactionIdOf(tx), 'valid'));
130
+ expect(await tracked.settled()).toMatchObject({ status: 'confirmed' });
131
+ socket.dispose();
132
+ // The fields the README says you get back.
133
+ expect(typeof tx.transaction).toBe('string');
134
+ expect(typeof tx.payload).toBe('string');
135
+ expect(tx.transactionHash).toHaveLength(32);
136
+ expect(tx.refHashPayload).toHaveLength(32);
137
+ expect(tx.chainState).toMatchObject({ chainNumber: 1, nodeNumber: 3, nonce: 7 });
138
+ expect(tx.nodeUrl).toBe('https://10.0.0.1:2082');
139
+ // The fields the README says a chain exposes.
140
+ expect(chain.endpoint).toBe('https://10.0.0.1:2082');
141
+ expect(chain.chainName).toBe('test');
142
+ expect(chain.chainNumber).toBe(1);
143
+ expect(chain.candidates).toHaveLength(1);
144
+ expect(chain.node?.nodeNumber).toBe(3);
145
+ // getChainState returns every key the README lists.
146
+ const state = await chain.getChainState({ account: keypair });
147
+ for (const key of [
148
+ 'chainNumber', 'blockNumber', 'nodeNumber', 'nonce',
149
+ 'ledgerBlockNumber', 'readAt', 'nodeUrl', 'metadataLimits',
150
+ ]) {
151
+ expect(state).toHaveProperty(key);
152
+ }
153
+ sdk.GeeqChain.reset();
154
+ });
155
+ });
156
+ describe('the snippets outside the main flow', () => {
157
+ it('generates and validates phrases without the engine', () => {
158
+ expect(sdk.generateMnemonic().split(' ')).toHaveLength(12);
159
+ expect(sdk.generateMnemonic({ words: 24 }).split(' ')).toHaveLength(24);
160
+ expect(sdk.validateMnemonic(MNEMONIC)).toBe(true);
161
+ expect(sdk.normalizeMnemonic(` ${MNEMONIC.toUpperCase()} `)).toBe(MNEMONIC);
162
+ });
163
+ it('accepts every keypair option the README documents', async () => {
164
+ const derived = await sdk.keypairFromMnemonic(MNEMONIC, {
165
+ passphrase: '',
166
+ coinType: 'mainnet',
167
+ recordType: 'coin-asset',
168
+ account: 0,
169
+ addressIndex: 0,
170
+ });
171
+ expect(derived.publicKey).toHaveLength(32);
172
+ expect(derived.privateKey).toHaveLength(32);
173
+ expect(derived.accountId).toHaveLength(32);
174
+ expect(typeof derived.getAddress({ chainNumber: 1 })).toBe('string');
175
+ expect(derived.sign(new Uint8Array([1]))).toHaveLength(64);
176
+ derived.dispose();
177
+ });
178
+ it('keeps the private key out of JSON, as the README promises', () => {
179
+ expect(JSON.stringify(keypair)).not.toContain(sdk.toBase64(keypair.privateKey));
180
+ });
181
+ it('builds and decodes an address', async () => {
182
+ const address = await sdk.createWalletAddress({
183
+ publicKey: keypair.publicKey,
184
+ chainNumber: 1,
185
+ });
186
+ expect(address).toBe(keypair.getAddress({ chainNumber: 1 }));
187
+ expect(sdk.isValidWalletAddress(address)).toBe(true);
188
+ const decoded = await sdk.decodeWalletAddress(address);
189
+ expect(decoded.chainNumber).toBe(1);
190
+ expect(decoded.recordType).toBe('coin-asset');
191
+ expect(Array.from(decoded.accountId)).toEqual(Array.from(keypair.accountId));
192
+ });
193
+ it('reports metadata the way the README shows', () => {
194
+ const report = sdk.inspectMetadata(['🙂🙂🙂🙂🙂🙂🙂🙂🙂🙂'], {
195
+ maxEntries: 4,
196
+ maxBytesPerEntry: 32,
197
+ });
198
+ expect(report.withinLimits).toBe(false);
199
+ expect(report.tooManyEntries).toBe(false);
200
+ // Ten emoji, forty bytes — exactly the example in the text.
201
+ expect(report.entries[0]).toEqual({ index: 0, bytes: 40, overLimit: true });
202
+ });
203
+ it('signs offline from the four values', async () => {
204
+ const attestHash = await sdk.attestHashOf('a document');
205
+ const tx = await sdk.createAttestationTx({
206
+ keypair,
207
+ attestHash,
208
+ chainNumber: 1,
209
+ blockNumber: 42,
210
+ nodeNumber: 3,
211
+ nonce: 7,
212
+ });
213
+ // …and from the object form, producing the same bytes.
214
+ const fromState = await sdk.createAttestationTx({
215
+ keypair,
216
+ attestHash,
217
+ chainState: { chainNumber: 1, blockNumber: 42, nodeNumber: 3, nonce: 7 },
218
+ });
219
+ expect(fromState.transaction).toBe(tx.transaction);
220
+ });
221
+ it('decodes a ledger on its own', () => {
222
+ const served = JSON.parse(vllResponse({ blockNumber: 41 }));
223
+ const ledger = sdk.decodeValidationLedger(served.result);
224
+ expect(ledger.chainNumber).toBe(1);
225
+ expect(ledger.targetBlockNumber).toBe(42);
226
+ expect(ledger.nodes.length).toBeGreaterThan(0);
227
+ });
228
+ });
229
+ //# sourceMappingURL=documented-api.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documented-api.test.js","sourceRoot":"","sources":["../../tests/documented-api.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,95 @@
1
+ import { describe, expect, it } from '@jest/globals';
2
+ import { getExplorerTransaction, toBase64, toHex } from '../src/index';
3
+ import { fakeTransport, networkError } from './fixtures/fake-transport';
4
+ const EXPLORER = 'https://blkexp.example.com';
5
+ const HASH = new Uint8Array(32).fill(0xab);
6
+ const REF_HASH = toBase64(HASH);
7
+ /** A transaction as the explorer's byRefHash route returns it. */
8
+ const FOUND = {
9
+ refHash: toHex(HASH),
10
+ type: 'coin',
11
+ status: 'valid',
12
+ block: 42,
13
+ chainName: 'test',
14
+ chainNumber: 1,
15
+ from: 'GEEQ-FROM',
16
+ senderType: 'coin',
17
+ to: 'GEEQ-TO',
18
+ receiverType: 'coin',
19
+ publicKey: 'pk',
20
+ signature: 'sig',
21
+ createdAt: '2026-10-01T10:00:00.000Z',
22
+ fee: '1',
23
+ values: [{ type: 'coin', value: '150' }],
24
+ };
25
+ async function failure(promise) {
26
+ try {
27
+ await promise;
28
+ }
29
+ catch (error) {
30
+ return error;
31
+ }
32
+ throw new Error('expected a rejection');
33
+ }
34
+ describe('getExplorerTransaction', () => {
35
+ // The explorer stores refHashes as hex and rejects anything shorter than 64 characters,
36
+ // so a base64 refHash sent as it is would never be found.
37
+ it('asks for the refHash in hex, and returns what the explorer found', async () => {
38
+ const transport = fakeTransport({ body: JSON.stringify({ result: FOUND }) });
39
+ const tx = await getExplorerTransaction({ explorerUrl: EXPLORER, refHash: REF_HASH, transport });
40
+ expect(transport.calls.map((call) => call.url)).toEqual([
41
+ `${EXPLORER}/api/transactions/byRefHash?refHash=${toHex(HASH)}`,
42
+ ]);
43
+ expect(tx).toEqual(FOUND);
44
+ });
45
+ it('keeps any path on the explorer URL, without a doubled slash', async () => {
46
+ const transport = fakeTransport({ body: JSON.stringify({ result: FOUND }) });
47
+ await getExplorerTransaction({ explorerUrl: `${EXPLORER}/explorer/`, refHash: REF_HASH, transport });
48
+ expect(transport.calls[0]?.url).toBe(`${EXPLORER}/explorer/api/transactions/byRefHash?refHash=${toHex(HASH)}`);
49
+ });
50
+ // What the explorer actually answers for an unknown refHash: a 500 naming it.
51
+ it('resolves null when the explorer does not have it', async () => {
52
+ const transport = fakeTransport({
53
+ status: 500,
54
+ body: JSON.stringify({
55
+ error: 'internal manager error',
56
+ details: ['Transaction does not exist'],
57
+ }),
58
+ });
59
+ expect(await getExplorerTransaction({ explorerUrl: EXPLORER, refHash: REF_HASH, transport })).toBeNull();
60
+ });
61
+ it('reports any other explorer error with its own words', async () => {
62
+ const transport = fakeTransport({
63
+ status: 400,
64
+ body: JSON.stringify({ error: 'bad', details: ['"refHash" is required'] }),
65
+ });
66
+ const error = await failure(getExplorerTransaction({ explorerUrl: EXPLORER, refHash: REF_HASH, transport }));
67
+ expect(error).toMatchObject({ code: 'node-error', status: 400, nodeDetails: '"refHash" is required' });
68
+ });
69
+ it('reports an explorer that cannot be reached', async () => {
70
+ const transport = fakeTransport(networkError('ECONNREFUSED'));
71
+ const error = await failure(getExplorerTransaction({ explorerUrl: EXPLORER, refHash: REF_HASH, transport }));
72
+ expect(error.code).toBe('network-unreachable');
73
+ });
74
+ it('refuses an answer that is not a transaction', async () => {
75
+ const transport = fakeTransport({ body: '<html>login</html>' });
76
+ const error = await failure(getExplorerTransaction({ explorerUrl: EXPLORER, refHash: REF_HASH, transport }));
77
+ expect(error.code).toBe('node-unusable');
78
+ });
79
+ it('checks its arguments before asking anything', async () => {
80
+ const transport = fakeTransport({ body: '{}' });
81
+ const hex = toHex(HASH);
82
+ const short = toBase64(new Uint8Array(16));
83
+ for (const request of [
84
+ { explorerUrl: EXPLORER, refHash: hex }, // hex, not base64
85
+ { explorerUrl: EXPLORER, refHash: short }, // not 32 bytes
86
+ { explorerUrl: 'blkexp.example.com', refHash: REF_HASH }, // no scheme
87
+ { explorerUrl: 'ftp://blkexp.example.com', refHash: REF_HASH },
88
+ ]) {
89
+ const error = await failure(getExplorerTransaction({ ...request, transport }));
90
+ expect(error.code).toBe('invalid-argument');
91
+ }
92
+ expect(transport.calls).toHaveLength(0);
93
+ });
94
+ });
95
+ //# sourceMappingURL=explorer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explorer.test.js","sourceRoot":"","sources":["../../tests/explorer.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};