@hfunlabs/hyperliquid 0.30.0-hfunlabs.1 → 0.30.2-hfunlabs.2

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 (397) hide show
  1. package/esm/_dnt.shims.d.ts +2 -0
  2. package/esm/_dnt.shims.d.ts.map +1 -0
  3. package/esm/_dnt.shims.js +58 -0
  4. package/esm/_dnt.shims.js.map +1 -0
  5. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/curve.d.ts +195 -0
  6. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/curve.d.ts.map +1 -0
  7. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/curve.js +457 -0
  8. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/curve.js.map +1 -0
  9. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/hash-to-curve.d.ts +90 -0
  10. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/hash-to-curve.d.ts.map +1 -0
  11. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/hash-to-curve.js +207 -0
  12. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/hash-to-curve.js.map +1 -0
  13. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/modular.d.ts +159 -0
  14. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/modular.d.ts.map +1 -0
  15. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/modular.js +555 -0
  16. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/modular.js.map +1 -0
  17. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/weierstrass.d.ts +325 -0
  18. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/weierstrass.d.ts.map +1 -0
  19. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/weierstrass.js +1222 -0
  20. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/weierstrass.js.map +1 -0
  21. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/secp256k1.d.ts +76 -0
  22. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/secp256k1.d.ts.map +1 -0
  23. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/secp256k1.js +283 -0
  24. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/secp256k1.js.map +1 -0
  25. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/utils.d.ts +103 -0
  26. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/utils.d.ts.map +1 -0
  27. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/utils.js +241 -0
  28. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/utils.js.map +1 -0
  29. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/_md.d.ts +49 -0
  30. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/_md.d.ts.map +1 -0
  31. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/_md.js +147 -0
  32. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/_md.js.map +1 -0
  33. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/_u64.d.ts +55 -0
  34. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/_u64.d.ts.map +1 -0
  35. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/_u64.js +67 -0
  36. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/_u64.js.map +1 -0
  37. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/hmac.d.ts +36 -0
  38. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/hmac.d.ts.map +1 -0
  39. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/hmac.js +90 -0
  40. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/hmac.js.map +1 -0
  41. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/sha2.d.ts +199 -0
  42. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/sha2.d.ts.map +1 -0
  43. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/sha2.js +397 -0
  44. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/sha2.js.map +1 -0
  45. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/sha3.d.ts +58 -0
  46. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/sha3.d.ts.map +1 -0
  47. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/sha3.js +254 -0
  48. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/sha3.js.map +1 -0
  49. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/utils.d.ts +124 -0
  50. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/utils.d.ts.map +1 -0
  51. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/utils.js +243 -0
  52. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/utils.js.map +1 -0
  53. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/advanced/abi-mapper.d.ts +44 -0
  54. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/advanced/abi-mapper.d.ts.map +1 -0
  55. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/advanced/abi-mapper.js +144 -0
  56. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/advanced/abi-mapper.js.map +1 -0
  57. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/address.d.ts +38 -0
  58. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/address.d.ts.map +1 -0
  59. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/address.js +96 -0
  60. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/address.js.map +1 -0
  61. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/rlp.d.ts +23 -0
  62. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/rlp.d.ts.map +1 -0
  63. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/rlp.js +98 -0
  64. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/rlp.js.map +1 -0
  65. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx-internal.d.ts +300 -0
  66. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx-internal.d.ts.map +1 -0
  67. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx-internal.js +535 -0
  68. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx-internal.js.map +1 -0
  69. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx.d.ts +98 -0
  70. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx.d.ts.map +1 -0
  71. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx.js +207 -0
  72. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx.js.map +1 -0
  73. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/typed-data.d.ts +78 -0
  74. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/typed-data.d.ts.map +1 -0
  75. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/typed-data.js +298 -0
  76. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/typed-data.js.map +1 -0
  77. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/index.d.ts +6 -0
  78. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/index.d.ts.map +1 -0
  79. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/index.js +6 -0
  80. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/index.js.map +1 -0
  81. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/utils.d.ts +66 -0
  82. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/utils.d.ts.map +1 -0
  83. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/utils.js +180 -0
  84. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/utils.js.map +1 -0
  85. package/esm/deps/jsr.io/@paulmillr/micro-packed/0.8.0/src/index.d.ts +877 -0
  86. package/esm/deps/jsr.io/@paulmillr/micro-packed/0.8.0/src/index.d.ts.map +1 -0
  87. package/esm/deps/jsr.io/@paulmillr/micro-packed/0.8.0/src/index.js +2001 -0
  88. package/esm/deps/jsr.io/@paulmillr/micro-packed/0.8.0/src/index.js.map +1 -0
  89. package/esm/deps/jsr.io/@scure/base/2.0.0/index.d.ts +294 -0
  90. package/esm/deps/jsr.io/@scure/base/2.0.0/index.d.ts.map +1 -0
  91. package/esm/deps/jsr.io/@scure/base/2.0.0/index.js +704 -0
  92. package/esm/deps/jsr.io/@scure/base/2.0.0/index.js.map +1 -0
  93. package/esm/deps/jsr.io/@std/async/1.0.16/unstable_semaphore.d.ts +93 -0
  94. package/esm/deps/jsr.io/@std/async/1.0.16/unstable_semaphore.d.ts.map +1 -0
  95. package/esm/deps/jsr.io/@std/async/1.0.16/unstable_semaphore.js +137 -0
  96. package/esm/deps/jsr.io/@std/async/1.0.16/unstable_semaphore.js.map +1 -0
  97. package/esm/src/api/exchange/_methods/_base/_nonce.d.ts +3 -2
  98. package/esm/src/api/exchange/_methods/_base/_nonce.d.ts.map +1 -1
  99. package/esm/src/api/exchange/_methods/_base/_nonce.js +3 -2
  100. package/esm/src/api/exchange/_methods/_base/_nonce.js.map +1 -1
  101. package/esm/src/api/exchange/_methods/_base/_semaphore.d.ts +7 -6
  102. package/esm/src/api/exchange/_methods/_base/_semaphore.d.ts.map +1 -1
  103. package/esm/src/api/exchange/_methods/_base/_semaphore.js +34 -47
  104. package/esm/src/api/exchange/_methods/_base/_semaphore.js.map +1 -1
  105. package/esm/src/api/exchange/_methods/_base/execute.d.ts +14 -3
  106. package/esm/src/api/exchange/_methods/_base/execute.d.ts.map +1 -1
  107. package/esm/src/api/exchange/_methods/_base/execute.js +44 -10
  108. package/esm/src/api/exchange/_methods/_base/execute.js.map +1 -1
  109. package/esm/src/api/exchange/_methods/batchModify.d.ts +6 -6
  110. package/esm/src/api/exchange/_methods/createVault.d.ts +5 -5
  111. package/esm/src/api/exchange/_methods/modify.d.ts +5 -5
  112. package/esm/src/api/exchange/_methods/order.d.ts +13 -13
  113. package/esm/src/api/exchange/_methods/order.d.ts.map +1 -1
  114. package/esm/src/api/exchange/_methods/order.js +4 -2
  115. package/esm/src/api/exchange/_methods/order.js.map +1 -1
  116. package/esm/src/api/exchange/client.d.ts +1 -1
  117. package/esm/src/api/exchange/client.d.ts.map +1 -1
  118. package/esm/src/api/exchange/client.js.map +1 -1
  119. package/esm/src/api/exchange/mod.d.ts +1 -1
  120. package/esm/src/api/exchange/mod.d.ts.map +1 -1
  121. package/esm/src/api/exchange/mod.js.map +1 -1
  122. package/esm/src/api/info/_methods/_base/commonSchemas.d.ts +8 -8
  123. package/esm/src/api/info/_methods/frontendOpenOrders.d.ts +3 -3
  124. package/esm/src/api/info/_methods/historicalOrders.d.ts +4 -4
  125. package/esm/src/api/info/_methods/l3Orders.d.ts +11 -11
  126. package/esm/src/api/info/_methods/l4Orders.d.ts +6 -6
  127. package/esm/src/api/info/_methods/openOrders.d.ts +3 -3
  128. package/esm/src/api/info/_methods/orderStatus.d.ts +5 -5
  129. package/esm/src/api/info/_methods/recentTrades.d.ts +2 -2
  130. package/esm/src/api/info/_methods/twapHistory.d.ts +4 -4
  131. package/esm/src/api/info/_methods/userFills.d.ts +3 -3
  132. package/esm/src/api/info/_methods/userFillsByTime.d.ts +4 -4
  133. package/esm/src/api/info/_methods/userFunding.d.ts +3 -3
  134. package/esm/src/api/info/_methods/userFunding.js +2 -2
  135. package/esm/src/api/info/_methods/userFunding.js.map +1 -1
  136. package/esm/src/api/info/_methods/userTwapSliceFills.d.ts +4 -4
  137. package/esm/src/api/info/_methods/userTwapSliceFillsByTime.d.ts +5 -5
  138. package/esm/src/api/info/_methods/webData2.d.ts +9 -9
  139. package/esm/src/api/subscription/_methods/assetCtxs.d.ts +2 -0
  140. package/esm/src/api/subscription/_methods/assetCtxs.d.ts.map +1 -1
  141. package/esm/src/api/subscription/_methods/assetCtxs.js.map +1 -1
  142. package/esm/src/api/subscription/_methods/clearinghouseState.d.ts +2 -0
  143. package/esm/src/api/subscription/_methods/clearinghouseState.d.ts.map +1 -1
  144. package/esm/src/api/subscription/_methods/clearinghouseState.js +2 -0
  145. package/esm/src/api/subscription/_methods/clearinghouseState.js.map +1 -1
  146. package/esm/src/api/subscription/_methods/explorerBlock.d.ts +2 -0
  147. package/esm/src/api/subscription/_methods/explorerBlock.d.ts.map +1 -1
  148. package/esm/src/api/subscription/_methods/explorerBlock.js +2 -0
  149. package/esm/src/api/subscription/_methods/explorerBlock.js.map +1 -1
  150. package/esm/src/api/subscription/_methods/explorerTxs.d.ts +2 -0
  151. package/esm/src/api/subscription/_methods/explorerTxs.d.ts.map +1 -1
  152. package/esm/src/api/subscription/_methods/explorerTxs.js +2 -0
  153. package/esm/src/api/subscription/_methods/explorerTxs.js.map +1 -1
  154. package/esm/src/api/subscription/_methods/openOrders.d.ts +5 -5
  155. package/esm/src/api/subscription/_methods/orderUpdates.d.ts +4 -4
  156. package/esm/src/api/subscription/_methods/trades.d.ts +3 -3
  157. package/esm/src/api/subscription/_methods/twapStates.d.ts +9 -4
  158. package/esm/src/api/subscription/_methods/twapStates.d.ts.map +1 -1
  159. package/esm/src/api/subscription/_methods/twapStates.js +6 -1
  160. package/esm/src/api/subscription/_methods/twapStates.js.map +1 -1
  161. package/esm/src/api/subscription/_methods/userEvents.d.ts +17 -17
  162. package/esm/src/api/subscription/_methods/userFills.d.ts +5 -5
  163. package/esm/src/api/subscription/_methods/userHistoricalOrders.d.ts +6 -6
  164. package/esm/src/api/subscription/_methods/userTwapHistory.d.ts +6 -6
  165. package/esm/src/api/subscription/_methods/userTwapSliceFills.d.ts +6 -6
  166. package/esm/src/api/subscription/_methods/webData2.d.ts +11 -11
  167. package/esm/src/signing/_privateKeySigner.js +1 -1
  168. package/esm/src/signing/_privateKeySigner.js.map +1 -1
  169. package/esm/src/signing/mod.js +1 -1
  170. package/esm/src/signing/mod.js.map +1 -1
  171. package/package.json +2 -3
  172. package/script/_dnt.shims.d.ts +2 -0
  173. package/script/_dnt.shims.d.ts.map +1 -0
  174. package/script/_dnt.shims.js +61 -0
  175. package/script/_dnt.shims.js.map +1 -0
  176. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/curve.d.ts +195 -0
  177. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/curve.d.ts.map +1 -0
  178. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/curve.js +468 -0
  179. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/curve.js.map +1 -0
  180. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/hash-to-curve.d.ts +90 -0
  181. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/hash-to-curve.d.ts.map +1 -0
  182. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/hash-to-curve.js +215 -0
  183. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/hash-to-curve.js.map +1 -0
  184. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/modular.d.ts +159 -0
  185. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/modular.d.ts.map +1 -0
  186. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/modular.js +578 -0
  187. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/modular.js.map +1 -0
  188. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/weierstrass.d.ts +325 -0
  189. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/weierstrass.d.ts.map +1 -0
  190. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/weierstrass.js +1232 -0
  191. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/weierstrass.js.map +1 -0
  192. package/script/deps/jsr.io/@noble/curves/2.0.1/src/secp256k1.d.ts +76 -0
  193. package/script/deps/jsr.io/@noble/curves/2.0.1/src/secp256k1.d.ts.map +1 -0
  194. package/script/deps/jsr.io/@noble/curves/2.0.1/src/secp256k1.js +286 -0
  195. package/script/deps/jsr.io/@noble/curves/2.0.1/src/secp256k1.js.map +1 -0
  196. package/script/deps/jsr.io/@noble/curves/2.0.1/src/utils.d.ts +103 -0
  197. package/script/deps/jsr.io/@noble/curves/2.0.1/src/utils.d.ts.map +1 -0
  198. package/script/deps/jsr.io/@noble/curves/2.0.1/src/utils.js +273 -0
  199. package/script/deps/jsr.io/@noble/curves/2.0.1/src/utils.js.map +1 -0
  200. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/_md.d.ts +49 -0
  201. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/_md.d.ts.map +1 -0
  202. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/_md.js +153 -0
  203. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/_md.js.map +1 -0
  204. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/_u64.d.ts +55 -0
  205. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/_u64.d.ts.map +1 -0
  206. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/_u64.js +90 -0
  207. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/_u64.js.map +1 -0
  208. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/hmac.d.ts +36 -0
  209. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/hmac.d.ts.map +1 -0
  210. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/hmac.js +95 -0
  211. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/hmac.js.map +1 -0
  212. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/sha2.d.ts +199 -0
  213. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/sha2.d.ts.map +1 -0
  214. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/sha2.js +439 -0
  215. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/sha2.js.map +1 -0
  216. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/sha3.d.ts +58 -0
  217. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/sha3.d.ts.map +1 -0
  218. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/sha3.js +259 -0
  219. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/sha3.js.map +1 -0
  220. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/utils.d.ts +124 -0
  221. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/utils.d.ts.map +1 -0
  222. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/utils.js +304 -0
  223. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/utils.js.map +1 -0
  224. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/advanced/abi-mapper.d.ts +44 -0
  225. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/advanced/abi-mapper.d.ts.map +1 -0
  226. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/advanced/abi-mapper.js +182 -0
  227. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/advanced/abi-mapper.js.map +1 -0
  228. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/address.d.ts +38 -0
  229. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/address.d.ts.map +1 -0
  230. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/address.js +99 -0
  231. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/address.js.map +1 -0
  232. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/rlp.d.ts +23 -0
  233. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/rlp.d.ts.map +1 -0
  234. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/rlp.js +134 -0
  235. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/rlp.js.map +1 -0
  236. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx-internal.d.ts +300 -0
  237. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx-internal.d.ts.map +1 -0
  238. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx-internal.js +576 -0
  239. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx-internal.js.map +1 -0
  240. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx.d.ts +98 -0
  241. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx.d.ts.map +1 -0
  242. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx.js +211 -0
  243. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx.js.map +1 -0
  244. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/typed-data.d.ts +78 -0
  245. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/typed-data.d.ts.map +1 -0
  246. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/typed-data.js +308 -0
  247. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/typed-data.js.map +1 -0
  248. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/index.d.ts +6 -0
  249. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/index.d.ts.map +1 -0
  250. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/index.js +21 -0
  251. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/index.js.map +1 -0
  252. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/utils.d.ts +66 -0
  253. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/utils.d.ts.map +1 -0
  254. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/utils.js +195 -0
  255. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/utils.js.map +1 -0
  256. package/script/deps/jsr.io/@paulmillr/micro-packed/0.8.0/src/index.d.ts +877 -0
  257. package/script/deps/jsr.io/@paulmillr/micro-packed/0.8.0/src/index.d.ts.map +1 -0
  258. package/script/deps/jsr.io/@paulmillr/micro-packed/0.8.0/src/index.js +2032 -0
  259. package/script/deps/jsr.io/@paulmillr/micro-packed/0.8.0/src/index.js.map +1 -0
  260. package/script/deps/jsr.io/@scure/base/2.0.0/index.d.ts +294 -0
  261. package/script/deps/jsr.io/@scure/base/2.0.0/index.d.ts.map +1 -0
  262. package/script/deps/jsr.io/@scure/base/2.0.0/index.js +710 -0
  263. package/script/deps/jsr.io/@scure/base/2.0.0/index.js.map +1 -0
  264. package/script/deps/jsr.io/@std/async/1.0.16/unstable_semaphore.d.ts +93 -0
  265. package/script/deps/jsr.io/@std/async/1.0.16/unstable_semaphore.d.ts.map +1 -0
  266. package/script/deps/jsr.io/@std/async/1.0.16/unstable_semaphore.js +141 -0
  267. package/script/deps/jsr.io/@std/async/1.0.16/unstable_semaphore.js.map +1 -0
  268. package/script/src/api/exchange/_methods/_base/_nonce.d.ts +3 -2
  269. package/script/src/api/exchange/_methods/_base/_nonce.d.ts.map +1 -1
  270. package/script/src/api/exchange/_methods/_base/_nonce.js +4 -3
  271. package/script/src/api/exchange/_methods/_base/_nonce.js.map +1 -1
  272. package/script/src/api/exchange/_methods/_base/_semaphore.d.ts +7 -6
  273. package/script/src/api/exchange/_methods/_base/_semaphore.d.ts.map +1 -1
  274. package/script/src/api/exchange/_methods/_base/_semaphore.js +35 -50
  275. package/script/src/api/exchange/_methods/_base/_semaphore.js.map +1 -1
  276. package/script/src/api/exchange/_methods/_base/execute.d.ts +14 -3
  277. package/script/src/api/exchange/_methods/_base/execute.d.ts.map +1 -1
  278. package/script/src/api/exchange/_methods/_base/execute.js +43 -9
  279. package/script/src/api/exchange/_methods/_base/execute.js.map +1 -1
  280. package/script/src/api/exchange/_methods/batchModify.d.ts +6 -6
  281. package/script/src/api/exchange/_methods/createVault.d.ts +5 -5
  282. package/script/src/api/exchange/_methods/modify.d.ts +5 -5
  283. package/script/src/api/exchange/_methods/order.d.ts +13 -13
  284. package/script/src/api/exchange/_methods/order.d.ts.map +1 -1
  285. package/script/src/api/exchange/_methods/order.js +4 -2
  286. package/script/src/api/exchange/_methods/order.js.map +1 -1
  287. package/script/src/api/exchange/client.d.ts +1 -1
  288. package/script/src/api/exchange/client.d.ts.map +1 -1
  289. package/script/src/api/exchange/client.js.map +1 -1
  290. package/script/src/api/exchange/mod.d.ts +1 -1
  291. package/script/src/api/exchange/mod.d.ts.map +1 -1
  292. package/script/src/api/exchange/mod.js.map +1 -1
  293. package/script/src/api/info/_methods/_base/commonSchemas.d.ts +8 -8
  294. package/script/src/api/info/_methods/frontendOpenOrders.d.ts +3 -3
  295. package/script/src/api/info/_methods/historicalOrders.d.ts +4 -4
  296. package/script/src/api/info/_methods/l3Orders.d.ts +11 -11
  297. package/script/src/api/info/_methods/l4Orders.d.ts +6 -6
  298. package/script/src/api/info/_methods/openOrders.d.ts +3 -3
  299. package/script/src/api/info/_methods/orderStatus.d.ts +5 -5
  300. package/script/src/api/info/_methods/recentTrades.d.ts +2 -2
  301. package/script/src/api/info/_methods/twapHistory.d.ts +4 -4
  302. package/script/src/api/info/_methods/userFills.d.ts +3 -3
  303. package/script/src/api/info/_methods/userFillsByTime.d.ts +4 -4
  304. package/script/src/api/info/_methods/userFunding.d.ts +3 -3
  305. package/script/src/api/info/_methods/userFunding.js +2 -2
  306. package/script/src/api/info/_methods/userFunding.js.map +1 -1
  307. package/script/src/api/info/_methods/userTwapSliceFills.d.ts +4 -4
  308. package/script/src/api/info/_methods/userTwapSliceFillsByTime.d.ts +5 -5
  309. package/script/src/api/info/_methods/webData2.d.ts +9 -9
  310. package/script/src/api/subscription/_methods/assetCtxs.d.ts +2 -0
  311. package/script/src/api/subscription/_methods/assetCtxs.d.ts.map +1 -1
  312. package/script/src/api/subscription/_methods/assetCtxs.js.map +1 -1
  313. package/script/src/api/subscription/_methods/clearinghouseState.d.ts +2 -0
  314. package/script/src/api/subscription/_methods/clearinghouseState.d.ts.map +1 -1
  315. package/script/src/api/subscription/_methods/clearinghouseState.js +2 -0
  316. package/script/src/api/subscription/_methods/clearinghouseState.js.map +1 -1
  317. package/script/src/api/subscription/_methods/explorerBlock.d.ts +2 -0
  318. package/script/src/api/subscription/_methods/explorerBlock.d.ts.map +1 -1
  319. package/script/src/api/subscription/_methods/explorerBlock.js +2 -0
  320. package/script/src/api/subscription/_methods/explorerBlock.js.map +1 -1
  321. package/script/src/api/subscription/_methods/explorerTxs.d.ts +2 -0
  322. package/script/src/api/subscription/_methods/explorerTxs.d.ts.map +1 -1
  323. package/script/src/api/subscription/_methods/explorerTxs.js +2 -0
  324. package/script/src/api/subscription/_methods/explorerTxs.js.map +1 -1
  325. package/script/src/api/subscription/_methods/openOrders.d.ts +5 -5
  326. package/script/src/api/subscription/_methods/orderUpdates.d.ts +4 -4
  327. package/script/src/api/subscription/_methods/trades.d.ts +3 -3
  328. package/script/src/api/subscription/_methods/twapStates.d.ts +9 -4
  329. package/script/src/api/subscription/_methods/twapStates.d.ts.map +1 -1
  330. package/script/src/api/subscription/_methods/twapStates.js +6 -1
  331. package/script/src/api/subscription/_methods/twapStates.js.map +1 -1
  332. package/script/src/api/subscription/_methods/userEvents.d.ts +17 -17
  333. package/script/src/api/subscription/_methods/userFills.d.ts +5 -5
  334. package/script/src/api/subscription/_methods/userHistoricalOrders.d.ts +6 -6
  335. package/script/src/api/subscription/_methods/userTwapHistory.d.ts +6 -6
  336. package/script/src/api/subscription/_methods/userTwapSliceFills.d.ts +6 -6
  337. package/script/src/api/subscription/_methods/webData2.d.ts +11 -11
  338. package/script/src/signing/_privateKeySigner.js +3 -3
  339. package/script/src/signing/_privateKeySigner.js.map +1 -1
  340. package/script/src/signing/mod.js +2 -2
  341. package/script/src/signing/mod.js.map +1 -1
  342. package/src/_dnt.shims.ts +60 -0
  343. package/src/deps/jsr.io/@noble/curves/2.0.1/src/abstract/curve.ts +633 -0
  344. package/src/deps/jsr.io/@noble/curves/2.0.1/src/abstract/hash-to-curve.ts +292 -0
  345. package/src/deps/jsr.io/@noble/curves/2.0.1/src/abstract/modular.ts +621 -0
  346. package/src/deps/jsr.io/@noble/curves/2.0.1/src/abstract/weierstrass.ts +1562 -0
  347. package/src/deps/jsr.io/@noble/curves/2.0.1/src/secp256k1.ts +327 -0
  348. package/src/deps/jsr.io/@noble/curves/2.0.1/src/utils.ts +306 -0
  349. package/src/deps/jsr.io/@noble/hashes/2.0.1/src/_md.ts +156 -0
  350. package/src/deps/jsr.io/@noble/hashes/2.0.1/src/_u64.ts +91 -0
  351. package/src/deps/jsr.io/@noble/hashes/2.0.1/src/hmac.ts +94 -0
  352. package/src/deps/jsr.io/@noble/hashes/2.0.1/src/sha2.ts +469 -0
  353. package/src/deps/jsr.io/@noble/hashes/2.0.1/src/sha3.ts +295 -0
  354. package/src/deps/jsr.io/@noble/hashes/2.0.1/src/utils.ts +340 -0
  355. package/src/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/advanced/abi-mapper.ts +212 -0
  356. package/src/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/address.ts +100 -0
  357. package/src/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/rlp.ts +104 -0
  358. package/src/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx-internal.ts +626 -0
  359. package/src/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx.ts +274 -0
  360. package/src/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/typed-data.ts +391 -0
  361. package/src/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/index.ts +12 -0
  362. package/src/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/utils.ts +233 -0
  363. package/src/deps/jsr.io/@paulmillr/micro-packed/0.8.0/src/index.ts +2196 -0
  364. package/src/deps/jsr.io/@scure/base/2.0.0/index.ts +857 -0
  365. package/src/deps/jsr.io/@std/async/1.0.16/unstable_semaphore.ts +146 -0
  366. package/src/src/api/exchange/_methods/_base/_nonce.ts +3 -2
  367. package/src/src/api/exchange/_methods/_base/_semaphore.ts +34 -59
  368. package/src/src/api/exchange/_methods/_base/execute.ts +60 -12
  369. package/src/src/api/exchange/_methods/order.ts +5 -3
  370. package/src/src/api/exchange/client.ts +5 -1
  371. package/src/src/api/exchange/mod.ts +5 -1
  372. package/src/src/api/info/_methods/userFunding.ts +2 -2
  373. package/src/src/api/subscription/_methods/assetCtxs.ts +2 -0
  374. package/src/src/api/subscription/_methods/clearinghouseState.ts +2 -0
  375. package/src/src/api/subscription/_methods/explorerBlock.ts +2 -0
  376. package/src/src/api/subscription/_methods/explorerTxs.ts +2 -0
  377. package/src/src/api/subscription/_methods/twapStates.ts +9 -1
  378. package/src/src/signing/_privateKeySigner.ts +1 -1
  379. package/src/src/signing/mod.ts +1 -1
  380. package/esm/deps/jsr.io/@std/msgpack/1.0.3/decode.d.ts +0 -21
  381. package/esm/deps/jsr.io/@std/msgpack/1.0.3/decode.d.ts.map +0 -1
  382. package/esm/deps/jsr.io/@std/msgpack/1.0.3/decode.js +0 -292
  383. package/esm/deps/jsr.io/@std/msgpack/1.0.3/decode.js.map +0 -1
  384. package/esm/deps/jsr.io/@std/msgpack/1.0.3/mod.d.ts +0 -44
  385. package/esm/deps/jsr.io/@std/msgpack/1.0.3/mod.d.ts.map +0 -1
  386. package/esm/deps/jsr.io/@std/msgpack/1.0.3/mod.js +0 -46
  387. package/esm/deps/jsr.io/@std/msgpack/1.0.3/mod.js.map +0 -1
  388. package/script/deps/jsr.io/@std/msgpack/1.0.3/decode.d.ts +0 -21
  389. package/script/deps/jsr.io/@std/msgpack/1.0.3/decode.d.ts.map +0 -1
  390. package/script/deps/jsr.io/@std/msgpack/1.0.3/decode.js +0 -295
  391. package/script/deps/jsr.io/@std/msgpack/1.0.3/decode.js.map +0 -1
  392. package/script/deps/jsr.io/@std/msgpack/1.0.3/mod.d.ts +0 -44
  393. package/script/deps/jsr.io/@std/msgpack/1.0.3/mod.d.ts.map +0 -1
  394. package/script/deps/jsr.io/@std/msgpack/1.0.3/mod.js +0 -62
  395. package/script/deps/jsr.io/@std/msgpack/1.0.3/mod.js.map +0 -1
  396. package/src/deps/jsr.io/@std/msgpack/1.0.3/decode.ts +0 -391
  397. package/src/deps/jsr.io/@std/msgpack/1.0.3/mod.ts +0 -47
@@ -0,0 +1,576 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.__tests = exports.authorization = exports.AggregatedError = exports.RlpTx = exports.RawTx = exports.TxVersions = exports.authorizationRequest = exports.legacySig = void 0;
37
+ exports.removeSig = removeSig;
38
+ exports.validateFields = validateFields;
39
+ exports.sortRawData = sortRawData;
40
+ exports.decodeLegacyV = decodeLegacyV;
41
+ const secp256k1_js_1 = require("../../../../../@noble/curves/2.0.1/src/secp256k1.js");
42
+ const sha3_js_1 = require("../../../../../@noble/hashes/2.0.1/src/sha3.js");
43
+ const utils_js_1 = require("../../../../../@noble/hashes/2.0.1/src/utils.js");
44
+ const P = __importStar(require("../../../../micro-packed/0.8.0/src/index.js"));
45
+ const utils_js_2 = require("../utils.js");
46
+ const address_js_1 = require("./address.js");
47
+ const rlp_js_1 = require("./rlp.js");
48
+ // Transaction parsers
49
+ const _0n = BigInt(0);
50
+ const createTxMap = (versions) => {
51
+ const ent = Object.entries(versions);
52
+ // 'legacy' => {type, ver, coder}
53
+ const typeMap = Object.fromEntries(ent.map(([type, coder], ver) => [type, { type, ver, coder }]));
54
+ // '0' => {type, ver, coder}
55
+ const verMap = Object.fromEntries(ent.map(([type, coder], ver) => [ver, { type, ver, coder }]));
56
+ return P.wrap({
57
+ encodeStream(w, value) {
58
+ const t = value.type;
59
+ if (!typeMap.hasOwnProperty(t))
60
+ throw new Error(`txVersion: wrong type=${t}`);
61
+ const curr = typeMap[t];
62
+ if (t !== 'legacy')
63
+ w.byte(curr.ver);
64
+ curr.coder.encodeStream(w, value.data);
65
+ },
66
+ decodeStream(r) {
67
+ const v = r.byte(true);
68
+ if (v === 0xff)
69
+ throw new Error('reserved version 0xff');
70
+ // TODO: version=0 is legacy, but it is never wrapped in test vectors
71
+ if (v === 0x00)
72
+ throw new Error('version=0 unsupported');
73
+ if (0 <= v && v <= 0x7f) {
74
+ if (!verMap.hasOwnProperty(v.toString()))
75
+ throw new Error(`wrong version=${v}`);
76
+ const curr = verMap[v];
77
+ r.byte(false); // skip first byte
78
+ const d = curr.coder.decodeStream(r);
79
+ return { type: curr.type, data: d };
80
+ }
81
+ return { type: 'legacy', data: typeMap.legacy.coder.decodeStream(r) };
82
+ },
83
+ });
84
+ };
85
+ /**
86
+ * Static struct could have been extracted into micro-packed, but we need a specific behavior:
87
+ * - optional fields maybe either all present or all absent, enforced by type
88
+ * - optional fields change the length of underlying array
89
+ */
90
+ const isOptBig = (a) => a === undefined || typeof a === 'bigint';
91
+ const isNullOr0 = (a) => a === undefined || a === BigInt(0);
92
+ function assertYParityValid(elm) {
93
+ // TODO: is this correct? elm = 0 default?
94
+ if (elm === undefined)
95
+ elm = 0;
96
+ if (elm !== 0 && elm !== 1)
97
+ throw new Error(`yParity wrong value=${elm} (${typeof elm})`);
98
+ }
99
+ // We don't know chainId when specific field coded yet.
100
+ const addrCoder = utils_js_2.ethHex;
101
+ // Bytes32: VersionedHash, AccessListKey
102
+ function ensure32(b) {
103
+ if (!(0, utils_js_2.isBytes)(b) || b.length !== 32)
104
+ throw new Error('expected 32 bytes');
105
+ return b;
106
+ }
107
+ const Bytes32 = {
108
+ encode: (from) => utils_js_2.ethHex.encode(ensure32(from)),
109
+ decode: (to) => ensure32(utils_js_2.ethHex.decode(to)),
110
+ };
111
+ // Process v as (chainId, yParity) pair. Ethers.js-inspired logic:
112
+ // - v=27/28 -> no chainId (pre eip155)
113
+ // - r & s == 0 -> v = chainId
114
+ // Non-standard, but there is no other way to save chainId for unsignedTx.
115
+ // Case: unsigned tx for cold wallet for different chains, like mainnet & testnet.
116
+ // - otherwise v = yParity + 2*chainId + 35
117
+ // - allows to keep legacy logic here, instead of copying to Transaction
118
+ exports.legacySig = {
119
+ encode: (data) => {
120
+ const { v, r, s } = data;
121
+ if (v === undefined)
122
+ return { chainId: undefined };
123
+ // TODO: handle (invalid?) negative v
124
+ if (typeof v !== 'bigint')
125
+ throw new Error(`invalid v type=${typeof v}`);
126
+ if ((r === undefined && s === undefined) || (r === _0n && s === _0n))
127
+ return { chainId: v };
128
+ if (v === BigInt(27))
129
+ return { yParity: 0, chainId: undefined, r, s };
130
+ if (v === BigInt(28))
131
+ return { yParity: 1, chainId: undefined, r, s };
132
+ if (v < BigInt(35))
133
+ throw new Error(`wrong v=${v}`);
134
+ const v2 = v - BigInt(35);
135
+ return { chainId: v2 >> BigInt(1), yParity: Number(v2 & BigInt(1)), r, s };
136
+ },
137
+ decode: (data) => {
138
+ aobj(data);
139
+ const { chainId, yParity, r, s } = data;
140
+ if (!isOptBig(chainId))
141
+ throw new Error(`wrong chainId type=${typeof chainId}`);
142
+ if (!isOptBig(r))
143
+ throw new Error(`wrong r type=${typeof r}`);
144
+ if (!isOptBig(s))
145
+ throw new Error(`wrong s type=${typeof s}`);
146
+ if (yParity !== undefined && typeof yParity !== 'number')
147
+ throw new Error(`wrong yParity type=${typeof chainId}`);
148
+ if (yParity === undefined) {
149
+ if (chainId !== undefined) {
150
+ if ((r !== undefined && r !== _0n) || (s !== undefined && s !== _0n))
151
+ throw new Error(`wrong unsigned legacy r=${r} s=${s}`);
152
+ return { v: chainId, r: _0n, s: _0n };
153
+ }
154
+ // no parity, chainId, but r, s exists
155
+ if ((r !== undefined && r !== _0n) || (s !== undefined && s !== _0n))
156
+ throw new Error(`wrong unsigned legacy r=${r} s=${s}`);
157
+ return {};
158
+ }
159
+ // parity exists, which means r & s should exist too!
160
+ if (isNullOr0(r) || isNullOr0(s))
161
+ throw new Error(`wrong unsigned legacy r=${r} s=${s}`);
162
+ assertYParityValid(yParity);
163
+ const v = chainId !== undefined
164
+ ? BigInt(yParity) + (chainId * BigInt(2) + BigInt(35))
165
+ : BigInt(yParity) + BigInt(27);
166
+ return { v, r, s };
167
+ },
168
+ };
169
+ const U64BE = P.coders.reverse(P.bigint(8, false, false, false));
170
+ const U256BE = P.coders.reverse(P.bigint(32, false, false, false));
171
+ // Small coder utils
172
+ // TODO: seems generic enought for packed? or RLP (seems useful for structured encoding/decoding of RLP stuff)
173
+ // Basic array coder
174
+ const array = (coder) => ({
175
+ encode(from) {
176
+ if (!Array.isArray(from))
177
+ throw new Error('expected array');
178
+ return from.map((i) => coder.encode(i));
179
+ },
180
+ decode(to) {
181
+ if (!Array.isArray(to))
182
+ throw new Error('expected array');
183
+ return to.map((i) => coder.decode(i));
184
+ },
185
+ });
186
+ // tuple -> struct
187
+ const struct = (fields) => ({
188
+ encode(from) {
189
+ if (!Array.isArray(from))
190
+ throw new Error('expected array');
191
+ const fNames = Object.keys(fields);
192
+ if (from.length !== fNames.length)
193
+ throw new Error('wrong array length');
194
+ return Object.fromEntries(fNames.map((f, i) => [f, fields[f].encode(from[i])]));
195
+ },
196
+ decode(to) {
197
+ const fNames = Object.keys(fields);
198
+ if (!(0, utils_js_2.isObject)(to))
199
+ throw new Error('wrong struct object');
200
+ return fNames.map((i) => fields[i].decode(to[i]));
201
+ },
202
+ });
203
+ // U256BE in geth. But it is either 0 or 1. TODO: is this good enough?
204
+ const yParityCoder = P.coders.reverse(P.validate(P.int(1, false, false, false), (elm) => {
205
+ assertYParityValid(elm);
206
+ return elm;
207
+ }));
208
+ const accessListItem = struct({ address: addrCoder, storageKeys: array(Bytes32) });
209
+ exports.authorizationRequest = struct({
210
+ chainId: U256BE,
211
+ address: addrCoder,
212
+ nonce: U64BE,
213
+ });
214
+ // [chain_id, address, nonce, y_parity, r, s]
215
+ const authorizationItem = struct({
216
+ chainId: U256BE,
217
+ address: addrCoder,
218
+ nonce: U64BE,
219
+ yParity: yParityCoder,
220
+ r: U256BE,
221
+ s: U256BE,
222
+ });
223
+ /**
224
+ * Field types, matching geth. Either u64 or u256.
225
+ */
226
+ const coders = {
227
+ chainId: U256BE, // Can fit into u64 (curr max is 0x57a238f93bf), but geth uses bigint
228
+ nonce: U64BE,
229
+ gasPrice: U256BE,
230
+ maxPriorityFeePerGas: U256BE,
231
+ maxFeePerGas: U256BE,
232
+ gasLimit: U64BE,
233
+ to: addrCoder,
234
+ value: U256BE, // "Decimal" coder can be used, but it's harder to work with
235
+ data: utils_js_2.ethHex,
236
+ accessList: array(accessListItem),
237
+ maxFeePerBlobGas: U256BE,
238
+ blobVersionedHashes: array(Bytes32),
239
+ yParity: yParityCoder,
240
+ v: U256BE,
241
+ r: U256BE,
242
+ s: U256BE,
243
+ authorizationList: array(authorizationItem),
244
+ };
245
+ const signatureFields = new Set(['v', 'yParity', 'r', 's']);
246
+ // Mutates raw. Make sure to copy it in advance
247
+ function removeSig(raw) {
248
+ signatureFields.forEach((k) => {
249
+ delete raw[k];
250
+ });
251
+ return raw;
252
+ }
253
+ /**
254
+ * Defines RLP transaction with fields taken from `coders`.
255
+ * @example
256
+ * const tx = txStruct(['nonce', 'gasPrice', 'value'] as const, ['v', 'r', 's'] as const)
257
+ * tx.nonce.decode(...);
258
+ */
259
+ const txStruct = (reqf, optf) => {
260
+ const allFields = reqf.concat(optf);
261
+ // Check that all fields have known coders
262
+ allFields.forEach((f) => {
263
+ if (!coders.hasOwnProperty(f))
264
+ throw new Error(`coder for field ${f} is not defined`);
265
+ });
266
+ const reqS = struct(Object.fromEntries(reqf.map((i) => [i, coders[i]])));
267
+ const allS = struct(Object.fromEntries(allFields.map((i) => [i, coders[i]])));
268
+ // e.g. eip1559 txs have valid lengths of 9 or 12 (unsigned / signed)
269
+ const reql = reqf.length;
270
+ const optl = reql + optf.length;
271
+ const optFieldAt = (i) => reql + i;
272
+ const isEmpty = (item) => item.length === 0;
273
+ // TX is a bunch of fields in specific order. Field like nonce must always be at the same index.
274
+ // We walk through all indexes in proper order.
275
+ const fcoder = P.wrap({
276
+ encodeStream(w, raw) {
277
+ // If at least one optional key is present, we add whole optional block
278
+ const hasOptional = optf.some((f) => raw.hasOwnProperty(f));
279
+ const sCoder = hasOptional ? allS : reqS;
280
+ rlp_js_1.RLP.encodeStream(w, sCoder.decode(raw));
281
+ },
282
+ decodeStream(r) {
283
+ const decoded = rlp_js_1.RLP.decodeStream(r);
284
+ if (!Array.isArray(decoded))
285
+ throw new Error('txStruct: expected array from inner coder');
286
+ const length = decoded.length;
287
+ if (length !== reql && length !== optl)
288
+ throw new Error(`txStruct: wrong inner length=${length}`);
289
+ const sCoder = length === optl ? allS : reqS;
290
+ if (length === optl && optf.every((_, i) => isEmpty(decoded[optFieldAt(i)])))
291
+ throw new Error('all optional fields empty');
292
+ // @ts-ignore TODO: fix type (there can be null in RLP)
293
+ return sCoder.encode(decoded);
294
+ },
295
+ });
296
+ fcoder.fields = reqf;
297
+ fcoder.optionalFields = optf;
298
+ fcoder.setOfAllFields = new Set(allFields.concat(['type']));
299
+ return fcoder;
300
+ };
301
+ // prettier-ignore
302
+ const legacyInternal = txStruct([
303
+ 'nonce', 'gasPrice', 'gasLimit', 'to', 'value', 'data'
304
+ ], ['v', 'r', 's']);
305
+ const legacy = (() => {
306
+ const res = P.apply(legacyInternal, {
307
+ decode: (data) => Object.assign({}, data, exports.legacySig.decode(data)),
308
+ encode: (data) => {
309
+ const res = Object.assign({}, data);
310
+ res.chainId = undefined;
311
+ if (data.v) {
312
+ const newV = exports.legacySig.encode(data);
313
+ removeSig(res);
314
+ Object.assign(res, newV);
315
+ }
316
+ return res;
317
+ },
318
+ });
319
+ res.fields = legacyInternal.fields.concat(['chainId']);
320
+ // v, r, s -> yParity, r, s
321
+ // TODO: what about chainId?
322
+ res.optionalFields = ['yParity', 'r', 's'];
323
+ res.setOfAllFields = new Set(res.fields.concat(res.optionalFields, ['type']));
324
+ return res;
325
+ })();
326
+ // prettier-ignore
327
+ const eip2930 = txStruct([
328
+ 'chainId', 'nonce', 'gasPrice', 'gasLimit', 'to', 'value', 'data', 'accessList'
329
+ ], ['yParity', 'r', 's']);
330
+ // prettier-ignore
331
+ const eip1559 = txStruct([
332
+ 'chainId', 'nonce', 'maxPriorityFeePerGas', 'maxFeePerGas', 'gasLimit', 'to', 'value', 'data', 'accessList'
333
+ ], ['yParity', 'r', 's']);
334
+ // prettier-ignore
335
+ const eip4844 = txStruct([
336
+ 'chainId', 'nonce', 'maxPriorityFeePerGas', 'maxFeePerGas', 'gasLimit', 'to', 'value', 'data', 'accessList',
337
+ 'maxFeePerBlobGas', 'blobVersionedHashes'
338
+ ], ['yParity', 'r', 's']);
339
+ // prettier-ignore
340
+ const eip7702 = txStruct([
341
+ 'chainId', 'nonce', 'maxPriorityFeePerGas', 'maxFeePerGas', 'gasLimit', 'to', 'value', 'data', 'accessList',
342
+ 'authorizationList'
343
+ ], ['yParity', 'r', 's']);
344
+ exports.TxVersions = {
345
+ legacy, // 0x00 (kinda)
346
+ eip2930, // 0x01
347
+ eip1559, // 0x02
348
+ eip4844, // 0x03
349
+ eip7702, // 0x04
350
+ };
351
+ exports.RawTx = P.apply(createTxMap(exports.TxVersions), {
352
+ // NOTE: we apply checksum to addresses here, since chainId is not available inside coders
353
+ // By construction 'to' field is decoded before anything about chainId is known
354
+ encode: (data) => {
355
+ data.data.to = address_js_1.addr.addChecksum(data.data.to, true);
356
+ if (data.type !== 'legacy' && data.data.accessList) {
357
+ for (const item of data.data.accessList) {
358
+ item.address = address_js_1.addr.addChecksum(item.address);
359
+ }
360
+ }
361
+ if (data.type === 'eip7702' && data.data.authorizationList) {
362
+ for (const item of data.data.authorizationList) {
363
+ item.address = address_js_1.addr.addChecksum(item.address);
364
+ }
365
+ }
366
+ return data;
367
+ },
368
+ // Nothing to check here, is validated in validator
369
+ decode: (data) => data,
370
+ });
371
+ /**
372
+ * Unchecked TX for debugging. Returns raw Uint8Array-s.
373
+ * Handles versions - plain RLP will crash on it.
374
+ */
375
+ exports.RlpTx = createTxMap(Object.fromEntries(Object.keys(exports.TxVersions).map((k) => [k, rlp_js_1.RLP])));
376
+ // prettier-ignore
377
+ // Basically all numbers. Can be useful if we decide to do converter from hex here
378
+ // const knownFieldsNoLeading0 = [
379
+ // 'nonce', 'maxPriorityFeePerGas', 'maxFeePerGas', 'gasLimit', 'value', 'yParity', 'r', 's'
380
+ // ] as const;
381
+ function abig(val) {
382
+ if (typeof val !== 'bigint')
383
+ throw new Error('value must be bigint');
384
+ }
385
+ function aobj(val) {
386
+ if (typeof val !== 'object' || val == null)
387
+ throw new Error('object expected');
388
+ }
389
+ function minmax(val, min, max, err) {
390
+ if (!err)
391
+ err = `>= ${min} and <= ${max}`;
392
+ if (Number.isNaN(val) || val < min || val > max)
393
+ throw new Error(`must be ${err}, not ${val}`);
394
+ }
395
+ // NOTE: non-strict validators can be removed (RawTx will handle that), but errors will be less user-friendly.
396
+ // On other hand, we twice per sig because tx is immutable
397
+ // data passed for composite checks (gasLimit * maxFeePerGas overflow and stuff) [not implemented yet]
398
+ const validators = {
399
+ nonce(num, { strict }) {
400
+ abig(num);
401
+ if (strict)
402
+ minmax(num, _0n, utils_js_2.amounts.maxNonce);
403
+ else
404
+ minmax(BigInt(num), _0n, BigInt(Number.MAX_SAFE_INTEGER)); // amounts.maxUint64
405
+ },
406
+ maxFeePerGas(num, { strict }) {
407
+ abig(num);
408
+ if (strict)
409
+ minmax(num, BigInt(1), utils_js_2.amounts.maxGasPrice, '>= 1 wei and < 10000 gwei');
410
+ else
411
+ minmax(num, _0n, utils_js_2.amounts.maxUint64);
412
+ },
413
+ maxPriorityFeePerGas(num, { strict, data }) {
414
+ abig(num);
415
+ if (strict)
416
+ minmax(num, _0n, utils_js_2.amounts.maxGasPrice, '>= 1 wei and < 10000 gwei');
417
+ else
418
+ minmax(num, _0n, utils_js_2.amounts.maxUint64, '>= 1 wei and < 10000 gwei');
419
+ if (strict && data && typeof data.maxFeePerGas === 'bigint' && data.maxFeePerGas < num) {
420
+ throw new Error(`cannot be bigger than maxFeePerGas=${data.maxFeePerGas}`);
421
+ }
422
+ },
423
+ gasLimit(num, { strict }) {
424
+ abig(num);
425
+ if (strict)
426
+ minmax(num, utils_js_2.amounts.minGasLimit, utils_js_2.amounts.maxGasLimit);
427
+ else
428
+ minmax(num, _0n, utils_js_2.amounts.maxUint64);
429
+ },
430
+ to(address, { strict, data }) {
431
+ if (!address_js_1.addr.isValid(address, true))
432
+ throw new Error('address checksum does not match');
433
+ if (strict && address === '0x' && !data.data)
434
+ throw new Error('Empty address (0x) without contract deployment code');
435
+ },
436
+ value(num, { strict }) {
437
+ abig(num);
438
+ if (strict)
439
+ minmax(num, _0n, utils_js_2.amounts.maxAmount, '>= 0 and < 1M eth');
440
+ },
441
+ data(val, { strict, data }) {
442
+ if (typeof val !== 'string')
443
+ throw new Error('data must be string');
444
+ if (strict) {
445
+ if (val.length > utils_js_2.amounts.maxDataSize)
446
+ throw new Error('data is too big: ' + val.length);
447
+ }
448
+ // NOTE: data is hex here
449
+ if (data.to === '0x' && val.length > 2 * utils_js_2.amounts.maxInitDataSize)
450
+ throw new Error(`initcode is too big: ${val.length}`);
451
+ },
452
+ chainId(num, { strict, type }) {
453
+ // chainId is optional for legacy transactions
454
+ if (type === 'legacy' && num === undefined)
455
+ return;
456
+ abig(num);
457
+ if (strict)
458
+ minmax(num, BigInt(1), utils_js_2.amounts.maxChainId, '>= 1 and <= 2**32-1');
459
+ },
460
+ accessList(list) {
461
+ // NOTE: we cannot handle this validation in coder, since it requires chainId to calculate correct checksum
462
+ for (const { address } of list) {
463
+ if (!address_js_1.addr.isValid(address))
464
+ throw new Error('address checksum does not match');
465
+ }
466
+ },
467
+ authorizationList(list, opts) {
468
+ for (const { address, nonce, chainId } of list) {
469
+ if (!address_js_1.addr.isValid(address))
470
+ throw new Error('address checksum does not match');
471
+ // chainId in authorization list can be zero (==allow any chain)
472
+ abig(chainId);
473
+ if (opts.strict)
474
+ minmax(chainId, _0n, utils_js_2.amounts.maxChainId, '>= 0 and <= 2**32-1');
475
+ this.nonce(nonce, opts);
476
+ }
477
+ },
478
+ };
479
+ class AggregatedError extends Error {
480
+ message;
481
+ errors;
482
+ constructor(message, errors) {
483
+ super();
484
+ this.message = message;
485
+ this.errors = errors;
486
+ }
487
+ }
488
+ exports.AggregatedError = AggregatedError;
489
+ function validateFields(type, data, strict = true, allowSignatureFields = true) {
490
+ aobj(data);
491
+ if (!exports.TxVersions.hasOwnProperty(type))
492
+ throw new Error(`unknown tx type=${type}`);
493
+ const txType = exports.TxVersions[type];
494
+ const dataFields = new Set(Object.keys(data));
495
+ const dataHas = (field) => dataFields.has(field);
496
+ function checkField(field) {
497
+ if (!dataHas(field))
498
+ return { field, error: `field "${field}" must be present for tx type=${type}` };
499
+ const val = data[field];
500
+ try {
501
+ if (validators.hasOwnProperty(field))
502
+ validators[field](val, { data, strict, type });
503
+ if (field === 'chainId')
504
+ return; // chainId is validated, but can't be decoded
505
+ coders[field].decode(val); // decoding may throw an error
506
+ }
507
+ catch (error) {
508
+ // No early-return: when multiple fields have error, we should show them all.
509
+ return { field, error: error.message };
510
+ }
511
+ return undefined;
512
+ }
513
+ // All fields are required.
514
+ const reqErrs = txType.fields.map(checkField);
515
+ // Signature fields should be all present or all missing
516
+ const optErrs = txType.optionalFields.some(dataHas) ? txType.optionalFields.map(checkField) : [];
517
+ // Check if user data has unexpected fields
518
+ const unexpErrs = Object.keys(data).map((field) => {
519
+ if (!txType.setOfAllFields.has(field))
520
+ return { field, error: `unknown field "${field}" for tx type=${type}` };
521
+ if (!allowSignatureFields && signatureFields.has(field))
522
+ return {
523
+ field,
524
+ error: `field "${field}" is sig-related and must not be user-specified`,
525
+ };
526
+ return;
527
+ });
528
+ const errors = reqErrs
529
+ .concat(optErrs, unexpErrs)
530
+ .filter((val) => val !== undefined);
531
+ if (errors.length > 0)
532
+ throw new AggregatedError('fields had validation errors', errors);
533
+ }
534
+ // prettier-ignore
535
+ const sortedFieldOrder = [
536
+ 'to', 'value', 'nonce',
537
+ 'maxFeePerGas', 'maxFeePerBlobGas', 'maxPriorityFeePerGas', 'gasPrice', 'gasLimit',
538
+ 'accessList', 'authorizationList', 'blobVersionedHashes', 'chainId', 'data', 'type',
539
+ 'r', 's', 'yParity', 'v'
540
+ ];
541
+ // TODO: remove any
542
+ function sortRawData(raw) {
543
+ const sortedRaw = {};
544
+ sortedFieldOrder
545
+ .filter((field) => raw.hasOwnProperty(field))
546
+ .forEach((field) => {
547
+ sortedRaw[field] = raw[field];
548
+ });
549
+ return sortedRaw;
550
+ }
551
+ function decodeLegacyV(raw) {
552
+ return exports.legacySig.decode(raw).v;
553
+ }
554
+ /** EIP-7702 Authorizations. */
555
+ exports.authorization = {
556
+ _getHash(req) {
557
+ const msg = rlp_js_1.RLP.encode(exports.authorizationRequest.decode(req));
558
+ return (0, sha3_js_1.keccak_256)((0, utils_js_1.concatBytes)(new Uint8Array([0x05]), msg));
559
+ },
560
+ sign(req, privateKey) {
561
+ (0, utils_js_2.astr)(privateKey);
562
+ const sig = (0, utils_js_2.sign)(this._getHash(req), utils_js_2.ethHex.decode(privateKey));
563
+ return { ...req, r: sig.r, s: sig.s, yParity: sig.recovery };
564
+ },
565
+ getAuthority(item) {
566
+ const { r, s, yParity, ...req } = item;
567
+ const hash = this._getHash(req);
568
+ const sig = (0, utils_js_2.initSig)({ r, s }, yParity);
569
+ // const point = sig.recoverPublicKey(hash);
570
+ const bytes = secp256k1_js_1.secp256k1.recoverPublicKey(sig.toBytes('recovered'), hash, { prehash: false });
571
+ return address_js_1.addr.fromPublicKey(bytes);
572
+ },
573
+ };
574
+ // NOTE: for tests only, don't use
575
+ exports.__tests = { legacySig: exports.legacySig, TxVersions: exports.TxVersions };
576
+ //# sourceMappingURL=tx-internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx-internal.js","sourceRoot":"","sources":["../../../../../../../../src/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx-internal.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsQA,8BAKC;AA0QD,wCA6CC;AAWD,kCAQC;AAED,sCAEC;AAzlBD,sFAAgF;AAChF,4EAA4E;AAC5E,8EAA8E;AAC9E,+EAAiE;AACjE,0CAAkG;AAClG,6CAAoC;AACpC,qCAA+B;AAE/B,sBAAsB;AAEtB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAetB,MAAM,WAAW,GAAG,CAA2B,QAAW,EAA+B,EAAE;IACzF,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrC,iCAAiC;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAClG,4BAA4B;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAChG,OAAO,CAAC,CAAC,IAAI,CAAC;QACZ,YAAY,CAAC,CAAW,EAAE,KAAqB;YAC7C,MAAM,CAAC,GAAG,KAAK,CAAC,IAAc,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;YAC9E,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,KAAK,QAAQ;gBAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QACD,YAAY,CAAC,CAAW;YACtB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,IAAI,CAAC,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACzD,qEAAqE;YACrE,IAAI,CAAC,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;gBAChF,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB;gBACjC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACrC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACtC,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC;AAC1E,MAAM,SAAS,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;AAErE,SAAS,kBAAkB,CAAC,GAAW;IACrC,0CAA0C;IAC1C,IAAI,GAAG,KAAK,SAAS;QAAE,GAAG,GAAG,CAAC,CAAC;IAC/B,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,KAAK,OAAO,GAAG,GAAG,CAAC,CAAC;AAC5F,CAAC;AACD,uDAAuD;AACvD,MAAM,SAAS,GAAG,iBAAM,CAAC;AACzB,wCAAwC;AACxC,SAAS,QAAQ,CAAC,CAAa;IAC7B,IAAI,CAAC,IAAA,kBAAO,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACzE,OAAO,CAAC,CAAC;AACX,CAAC;AACD,MAAM,OAAO,GAA2B;IACtC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;CAC5C,CAAC;AAKF,kEAAkE;AAClE,yCAAyC;AACzC,gCAAgC;AAChC,0EAA0E;AAC1E,kFAAkF;AAClF,6CAA6C;AAC7C,0EAA0E;AAC7D,QAAA,SAAS,GAAG;IACvB,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE;QACpB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QACnD,qCAAqC;QACrC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,OAAO,CAAC,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAC5F,IAAI,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACpD,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7E,CAAC;IACD,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE;QACpB,IAAI,CAAC,IAAI,CAAC,CAAC;QACX,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,OAAO,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,KAAK,QAAQ;YACtD,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,OAAO,EAAE,CAAC,CAAC;QAC1D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,GAAG,CAAC;oBAClE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACzD,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YACxC,CAAC;YACD,sCAAsC;YACtC,IAAI,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,GAAG,CAAC;gBAClE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,qDAAqD;QACrD,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzF,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,CAAC,GACL,OAAO,KAAK,SAAS;YACnB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;YACtD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACrB,CAAC;CACmB,CAAC;AAEvB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACjE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAEnE,oBAAoB;AACpB,8GAA8G;AAC9G,oBAAoB;AACpB,MAAM,KAAK,GAAG,CAAO,KAAoB,EAAqB,EAAE,CAAC,CAAC;IAChE,MAAM,CAAC,IAAS;QACd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,CAAC,EAAO;QACZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC1D,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;CACF,CAAC,CAAC;AACH,kBAAkB;AAClB,MAAM,MAAM,GAAG,CAOb,MAAc,EACgB,EAAE,CAAC,CAAC;IAClC,MAAM,CAAC,IAAe;QACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACzE,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAa,CAAC;IAC9F,CAAC;IACD,MAAM,CAAC,EAAY;QACjB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,IAAA,mBAAQ,EAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC1D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAc,CAAC;IACjE,CAAC;CACF,CAAC,CAAC;AAEH,sEAAsE;AACtE,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CACnC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;IAChD,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO,GAAG,CAAC;AACb,CAAC,CAAC,CACH,CAAC;AAGF,MAAM,cAAc,GAMhB,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAGnD,QAAA,oBAAoB,GAO7B,MAAM,CAAC;IACT,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,KAAK;CACb,CAAC,CAAC;AACH,6CAA6C;AAC7C,MAAM,iBAAiB,GAUnB,MAAM,CAAC;IACT,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,YAAY;IACrB,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,MAAM;CACV,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,MAAM,GAAG;IACb,OAAO,EAAE,MAAM,EAAE,qEAAqE;IACtF,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,MAAM;IAChB,oBAAoB,EAAE,MAAM;IAC5B,YAAY,EAAE,MAAM;IACpB,QAAQ,EAAE,KAAK;IACf,EAAE,EAAE,SAAS;IACb,KAAK,EAAE,MAAM,EAAE,4DAA4D;IAC3E,IAAI,EAAE,iBAAM;IACZ,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC;IACjC,gBAAgB,EAAE,MAAM;IACxB,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC;IACnC,OAAO,EAAE,YAAY;IACrB,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,MAAM;IACT,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;CAC5C,CAAC;AAGF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC,CAAC;AAYrE,+CAA+C;AAC/C,SAAgB,SAAS,CAAC,GAAiB;IACzC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5B,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,CACf,IAAO,EACP,IAAQ,EAGR,EAAE;IACF,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,0CAA0C;IAC1C,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACtB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,qEAAqE;IACrE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IAChC,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,CAAC,IAA8B,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;IACtE,gGAAgG;IAChG,+CAA+C;IAC/C,MAAM,MAAM,GAAQ,CAAC,CAAC,IAAI,CAAC;QACzB,YAAY,CAAC,CAAC,EAAE,GAAwB;YACtC,uEAAuE;YACvE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACzC,YAAG,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,YAAY,CAAC,CAAC;YACZ,MAAM,OAAO,GAAG,YAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC1F,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC9B,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI;gBACpC,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7C,IAAI,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1E,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,uDAAuD;YACvD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,cAAc,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAQ,CAAC,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,kBAAkB;AAClB,MAAM,cAAc,GAWd,QAAQ,CAAC;IACb,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM;CAAU,EAChE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC,CAAC;AAK5B,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;IACnB,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE;QAClC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,iBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,EAAE,CAAC,IAAoB,EAAE,EAAE;YAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACnC,GAAW,CAAC,OAAO,GAAG,SAAS,CAAC;YACjC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,GAAG,iBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACf,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3B,CAAC;YACD,OAAO,GAAa,CAAC;QACvB,CAAC;KACF,CAAuB,CAAC;IACzB,GAAG,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAU,CAAC,CAAC;IAChE,2BAA2B;IAC3B,4BAA4B;IAC5B,GAAG,CAAC,cAAc,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,GAAG,CAAC,cAAc,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,MAAM,CAAQ,CAAC,CAAC,CAAC;IACrF,OAAO,GAAG,CAAC;AACb,CAAC,CAAC,EAAE,CAAC;AAEL,kBAAkB;AAClB,MAAM,OAAO,GAAG,QAAQ,CAAC;IACvB,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY;CAAU,EACzF,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC,CAAC;AAElC,kBAAkB;AAClB,MAAM,OAAO,GAAG,QAAQ,CAAC;IACvB,SAAS,EAAE,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY;CAAU,EACrH,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC,CAAC;AAClC,kBAAkB;AAClB,MAAM,OAAO,GAAG,QAAQ,CAAC;IACvB,SAAS,EAAE,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY;IAC3G,kBAAkB,EAAE,qBAAqB;CAAU,EACnD,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC,CAAC;AAClC,kBAAkB;AAClB,MAAM,OAAO,GAAG,QAAQ,CAAC;IACvB,SAAS,EAAE,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY;IAC3G,mBAAmB;CAAU,EAC7B,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC,CAAC;AAErB,QAAA,UAAU,GAAG;IACxB,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,OAAO;CACjB,CAAC;AAEW,QAAA,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,kBAAU,CAAC,EAAE;IACpD,0FAA0F;IAC1F,+EAA+E;IAC/E,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACf,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,iBAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxC,IAAI,CAAC,OAAO,GAAG,iBAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC/C,IAAI,CAAC,OAAO,GAAG,iBAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,mDAAmD;IACnD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;CACvB,CAAC,CAAC;AAEH;;;GAGG;AACU,QAAA,KAAK,GAGb,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,YAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAKnF,kBAAkB;AAClB,kFAAkF;AAClF,kCAAkC;AAClC,8FAA8F;AAC9F,cAAc;AAEd,SAAS,IAAI,CAAC,GAAW;IACvB,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;AACvE,CAAC;AACD,SAAS,IAAI,CAAC,GAAwB;IACpC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,IAAI,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACjF,CAAC;AAGD,SAAS,MAAM,CACb,GAAoB,EACpB,GAAoB,EACpB,GAAoB,EACpB,GAAY;IAEZ,IAAI,CAAC,GAAG;QAAE,GAAG,GAAG,MAAM,GAAG,WAAW,GAAG,EAAE,CAAC;IAC1C,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,WAAW,GAAG,SAAS,GAAG,EAAE,CAAC,CAAC;AACjG,CAAC;AAOD,8GAA8G;AAC9G,0DAA0D;AAC1D,sGAAsG;AACtG,MAAM,UAAU,GAA+E;IAC7F,KAAK,CAAC,GAAW,EAAE,EAAE,MAAM,EAAkB;QAC3C,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,MAAM;YAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,kBAAO,CAAC,QAAQ,CAAC,CAAC;;YAC1C,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,oBAAoB;IACtF,CAAC;IACD,YAAY,CAAC,GAAW,EAAE,EAAE,MAAM,EAAkB;QAClD,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,MAAM;YAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,kBAAO,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;;YAChF,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,kBAAO,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IACD,oBAAoB,CAAC,GAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAkB;QAChE,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,MAAM;YAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,kBAAO,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;;YAC1E,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,kBAAO,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;QACtE,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC;YACvF,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IACD,QAAQ,CAAC,GAAW,EAAE,EAAE,MAAM,EAAkB;QAC9C,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,MAAM;YAAE,MAAM,CAAC,GAAG,EAAE,kBAAO,CAAC,WAAW,EAAE,kBAAO,CAAC,WAAW,CAAC,CAAC;;YAC7D,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,kBAAO,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IACD,EAAE,CAAC,OAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAkB;QAClD,IAAI,CAAC,iBAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrF,IAAI,MAAM,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI;YAC1C,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IAC3E,CAAC;IACD,KAAK,CAAC,GAAW,EAAE,EAAE,MAAM,EAAkB;QAC3C,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,MAAM;YAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,kBAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,CAAC,GAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAkB;QAChD,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACpE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,GAAG,CAAC,MAAM,GAAG,kBAAO,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1F,CAAC;QACD,yBAAyB;QACzB,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,kBAAO,CAAC,eAAe;YAC9D,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,CAAC,GAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAkB;QACnD,8CAA8C;QAC9C,IAAI,IAAI,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO;QACnD,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,MAAM;YAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,kBAAO,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;IAChF,CAAC;IACD,UAAU,CAAC,IAAgB;QACzB,2GAA2G;QAC3G,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,iBAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IACD,iBAAiB,CAAC,IAAyB,EAAE,IAAoB;QAC/D,KAAK,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,iBAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAC/E,gEAAgE;YAChE,IAAI,CAAC,OAAO,CAAC,CAAC;YACd,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,kBAAO,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;YACjF,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;CACF,CAAC;AAIF,MAAa,eAAgB,SAAQ,KAAK;IACxC,OAAO,CAAS;IAChB,MAAM,CAAW;IACjB,YAAY,OAAe,EAAE,MAAgB;QAC3C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AARD,0CAQC;AAED,SAAgB,cAAc,CAC5B,IAAY,EACZ,IAAyB,EACzB,MAAM,GAAG,IAAI,EACb,oBAAoB,GAAG,IAAI;IAE3B,IAAI,CAAC,IAAI,CAAC,CAAC;IACX,IAAI,CAAC,kBAAU,CAAC,cAAc,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,kBAAU,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzD,SAAS,UAAU,CAAC,KAAgB;QAClC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YACjB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,KAAK,iCAAiC,IAAI,EAAE,EAAE,CAAC;QAClF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC;gBAAE,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACrF,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,CAAC,6CAA6C;YAC9E,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAY,CAAC,CAAC,CAAC,8BAA8B;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6EAA6E;YAC7E,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC;QACpD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,2BAA2B;IAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9C,wDAAwD;IACxD,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjG,2CAA2C;IAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAChD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAY,CAAC;YAC1C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,KAAK,iBAAiB,IAAI,EAAE,EAAE,CAAC;QAC1E,IAAI,CAAC,oBAAoB,IAAI,eAAe,CAAC,GAAG,CAAC,KAAY,CAAC;YAC5D,OAAO;gBACL,KAAK;gBACL,KAAK,EAAE,UAAU,KAAK,iDAAiD;aACxE,CAAC;QACJ,OAAO;IACT,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAI,OAAkC;SAC/C,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC;SAC1B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAa,CAAC;IAClD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;AAC3F,CAAC;AAED,kBAAkB;AAClB,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,OAAO,EAAE,OAAO;IACtB,cAAc,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,UAAU,EAAE,UAAU;IAClF,YAAY,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;IACnF,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG;CAChB,CAAC;AAEX,mBAAmB;AACnB,SAAgB,WAAW,CAAC,GAAiB;IAC3C,MAAM,SAAS,GAAwB,EAAE,CAAC;IAC1C,gBAAgB;SACb,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;SAC5C,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IACL,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,aAAa,CAAC,GAAiB;IAC7C,OAAO,iBAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,+BAA+B;AAClB,QAAA,aAAa,GAAG;IAC3B,QAAQ,CAAC,GAAyB;QAChC,MAAM,GAAG,GAAG,YAAG,CAAC,MAAM,CAAC,4BAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACzD,OAAO,IAAA,oBAAU,EAAC,IAAA,sBAAW,EAAC,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC,GAAyB,EAAE,UAAkB;QAChD,IAAA,eAAI,EAAC,UAAU,CAAC,CAAC;QACjB,MAAM,GAAG,GAAG,IAAA,eAAI,EAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,iBAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAChE,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,QAAS,EAAE,CAAC;IAChE,CAAC;IACD,YAAY,CAAC,IAAuB;QAClC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,IAAA,kBAAO,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACvC,4CAA4C;QAC5C,MAAM,KAAK,GAAG,wBAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7F,OAAO,iBAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;CACF,CAAC;AAEF,kCAAkC;AACrB,QAAA,OAAO,GAAQ,EAAE,SAAS,EAAT,iBAAS,EAAE,UAAU,EAAV,kBAAU,EAAE,CAAC"}