@hyperlane-xyz/sdk 23.0.0 → 25.0.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 (221) hide show
  1. package/dist/block-explorer/utils.d.ts.map +1 -1
  2. package/dist/block-explorer/utils.js +1 -0
  3. package/dist/block-explorer/utils.js.map +1 -1
  4. package/dist/consts/igp.d.ts.map +1 -1
  5. package/dist/consts/igp.js +5 -0
  6. package/dist/consts/igp.js.map +1 -1
  7. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  8. package/dist/core/HyperlaneCoreDeployer.js +6 -2
  9. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  10. package/dist/core/adapters/AleoCoreAdapter.d.ts +1 -0
  11. package/dist/core/adapters/AleoCoreAdapter.d.ts.map +1 -1
  12. package/dist/core/adapters/AleoCoreAdapter.js +7 -0
  13. package/dist/core/adapters/AleoCoreAdapter.js.map +1 -1
  14. package/dist/core/adapters/CosmNativeCoreAdapter.d.ts +1 -0
  15. package/dist/core/adapters/CosmNativeCoreAdapter.d.ts.map +1 -1
  16. package/dist/core/adapters/CosmNativeCoreAdapter.js +7 -0
  17. package/dist/core/adapters/CosmNativeCoreAdapter.js.map +1 -1
  18. package/dist/core/adapters/CosmWasmCoreAdapter.d.ts +1 -0
  19. package/dist/core/adapters/CosmWasmCoreAdapter.d.ts.map +1 -1
  20. package/dist/core/adapters/CosmWasmCoreAdapter.js +3 -0
  21. package/dist/core/adapters/CosmWasmCoreAdapter.js.map +1 -1
  22. package/dist/core/adapters/EvmCoreAdapter.d.ts +1 -0
  23. package/dist/core/adapters/EvmCoreAdapter.d.ts.map +1 -1
  24. package/dist/core/adapters/EvmCoreAdapter.js +4 -0
  25. package/dist/core/adapters/EvmCoreAdapter.js.map +1 -1
  26. package/dist/core/adapters/RadixCoreAdapter.d.ts +1 -0
  27. package/dist/core/adapters/RadixCoreAdapter.d.ts.map +1 -1
  28. package/dist/core/adapters/RadixCoreAdapter.js +7 -0
  29. package/dist/core/adapters/RadixCoreAdapter.js.map +1 -1
  30. package/dist/core/adapters/SealevelCoreAdapter.d.ts +1 -0
  31. package/dist/core/adapters/SealevelCoreAdapter.d.ts.map +1 -1
  32. package/dist/core/adapters/SealevelCoreAdapter.js +7 -0
  33. package/dist/core/adapters/SealevelCoreAdapter.js.map +1 -1
  34. package/dist/core/adapters/StarknetCoreAdapter.d.ts +1 -0
  35. package/dist/core/adapters/StarknetCoreAdapter.d.ts.map +1 -1
  36. package/dist/core/adapters/StarknetCoreAdapter.js +5 -0
  37. package/dist/core/adapters/StarknetCoreAdapter.js.map +1 -1
  38. package/dist/core/adapters/types.d.ts +7 -0
  39. package/dist/core/adapters/types.d.ts.map +1 -1
  40. package/dist/core/types.d.ts +154 -38
  41. package/dist/core/types.d.ts.map +1 -1
  42. package/dist/deploy/verify/BaseContractVerifier.d.ts.map +1 -1
  43. package/dist/deploy/verify/BaseContractVerifier.js +2 -1
  44. package/dist/deploy/verify/BaseContractVerifier.js.map +1 -1
  45. package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts.map +1 -1
  46. package/dist/deploy/verify/PostDeploymentContractVerifier.js +2 -1
  47. package/dist/deploy/verify/PostDeploymentContractVerifier.js.map +1 -1
  48. package/dist/deploy/warp.js +3 -3
  49. package/dist/deploy/warp.js.map +1 -1
  50. package/dist/hook/EvmHookModule.hardhat-test.js +16 -10
  51. package/dist/hook/EvmHookModule.hardhat-test.js.map +1 -1
  52. package/dist/hook/EvmHookReader.d.ts.map +1 -1
  53. package/dist/hook/EvmHookReader.js +70 -32
  54. package/dist/hook/EvmHookReader.js.map +1 -1
  55. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  56. package/dist/hook/HyperlaneHookDeployer.js +14 -6
  57. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  58. package/dist/hook/types.d.ts +318 -14
  59. package/dist/hook/types.d.ts.map +1 -1
  60. package/dist/hook/types.js +49 -0
  61. package/dist/hook/types.js.map +1 -1
  62. package/dist/ica/types.d.ts +52 -12
  63. package/dist/ica/types.d.ts.map +1 -1
  64. package/dist/index.d.ts +9 -6
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +9 -5
  67. package/dist/index.js.map +1 -1
  68. package/dist/ism/EvmIsmReader.d.ts.map +1 -1
  69. package/dist/ism/EvmIsmReader.js +9 -9
  70. package/dist/ism/EvmIsmReader.js.map +1 -1
  71. package/dist/ism/EvmIsmReader.test.js +13 -1
  72. package/dist/ism/EvmIsmReader.test.js.map +1 -1
  73. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  74. package/dist/ism/HyperlaneIsmFactory.js +2 -0
  75. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  76. package/dist/ism/types.d.ts +221 -1
  77. package/dist/ism/types.d.ts.map +1 -1
  78. package/dist/ism/types.js +49 -0
  79. package/dist/ism/types.js.map +1 -1
  80. package/dist/mailbox/serialization.js +2 -2
  81. package/dist/mailbox/serialization.js.map +1 -1
  82. package/dist/metadata/agentConfig.d.ts +150 -150
  83. package/dist/metadata/chainMetadataTypes.d.ts +73 -71
  84. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
  85. package/dist/metadata/chainMetadataTypes.js +6 -8
  86. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  87. package/dist/metadata/customZodTypes.d.ts +23 -0
  88. package/dist/metadata/customZodTypes.d.ts.map +1 -1
  89. package/dist/metadata/customZodTypes.js +33 -0
  90. package/dist/metadata/customZodTypes.js.map +1 -1
  91. package/dist/metadata/forwardCompatibleEnum.test.d.ts +2 -0
  92. package/dist/metadata/forwardCompatibleEnum.test.d.ts.map +1 -0
  93. package/dist/metadata/forwardCompatibleEnum.test.js +299 -0
  94. package/dist/metadata/forwardCompatibleEnum.test.js.map +1 -0
  95. package/dist/metadata/matchingList.d.ts +4 -4
  96. package/dist/metadata/warpRouteConfig.d.ts +10 -8
  97. package/dist/metadata/warpRouteConfig.d.ts.map +1 -1
  98. package/dist/providers/MultiProtocolProvider.d.ts.map +1 -1
  99. package/dist/providers/MultiProtocolProvider.js +4 -1
  100. package/dist/providers/MultiProtocolProvider.js.map +1 -1
  101. package/dist/providers/ProviderType.d.ts +9 -3
  102. package/dist/providers/ProviderType.d.ts.map +1 -1
  103. package/dist/providers/ProviderType.js +1 -1
  104. package/dist/providers/ProviderType.js.map +1 -1
  105. package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
  106. package/dist/providers/SmartProvider/SmartProvider.foundry-test.js +2 -1
  107. package/dist/providers/SmartProvider/SmartProvider.foundry-test.js.map +1 -1
  108. package/dist/providers/SmartProvider/SmartProvider.js +43 -7
  109. package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
  110. package/dist/providers/SmartProvider/SmartProvider.test.js +77 -28
  111. package/dist/providers/SmartProvider/SmartProvider.test.js.map +1 -1
  112. package/dist/providers/explorerHealthTest.d.ts.map +1 -1
  113. package/dist/providers/explorerHealthTest.js +1 -0
  114. package/dist/providers/explorerHealthTest.js.map +1 -1
  115. package/dist/providers/providerBuilders.d.ts +2 -3
  116. package/dist/providers/providerBuilders.d.ts.map +1 -1
  117. package/dist/providers/providerBuilders.js.map +1 -1
  118. package/dist/providers/rpcHealthTest.d.ts.map +1 -1
  119. package/dist/providers/rpcHealthTest.js +6 -2
  120. package/dist/providers/rpcHealthTest.js.map +1 -1
  121. package/dist/router/types.d.ts +78 -18
  122. package/dist/router/types.d.ts.map +1 -1
  123. package/dist/test/testUtils.d.ts +1 -1
  124. package/dist/test/testUtils.d.ts.map +1 -1
  125. package/dist/test/testUtils.js +1 -0
  126. package/dist/test/testUtils.js.map +1 -1
  127. package/dist/token/{EvmERC20WarpModule.d.ts → EvmWarpModule.d.ts} +5 -5
  128. package/dist/token/EvmWarpModule.d.ts.map +1 -0
  129. package/dist/token/EvmWarpModule.hardhat-test.d.ts +2 -0
  130. package/dist/token/EvmWarpModule.hardhat-test.d.ts.map +1 -0
  131. package/dist/token/{EvmERC20WarpModule.hardhat-test.js → EvmWarpModule.hardhat-test.js} +45 -45
  132. package/dist/token/EvmWarpModule.hardhat-test.js.map +1 -0
  133. package/dist/token/{EvmERC20WarpModule.js → EvmWarpModule.js} +22 -13
  134. package/dist/token/EvmWarpModule.js.map +1 -0
  135. package/dist/token/{EvmERC20WarpRouteReader.d.ts → EvmWarpRouteReader.d.ts} +5 -5
  136. package/dist/token/EvmWarpRouteReader.d.ts.map +1 -0
  137. package/dist/token/EvmWarpRouteReader.hardhat-test.d.ts +2 -0
  138. package/dist/token/EvmWarpRouteReader.hardhat-test.d.ts.map +1 -0
  139. package/dist/token/{EvmERC20WarpRouteReader.hardhat-test.js → EvmWarpRouteReader.hardhat-test.js} +4 -4
  140. package/dist/token/EvmWarpRouteReader.hardhat-test.js.map +1 -0
  141. package/dist/token/{EvmERC20WarpRouteReader.js → EvmWarpRouteReader.js} +7 -6
  142. package/dist/token/EvmWarpRouteReader.js.map +1 -0
  143. package/dist/token/EvmXERC20Module.d.ts +100 -0
  144. package/dist/token/EvmXERC20Module.d.ts.map +1 -0
  145. package/dist/token/EvmXERC20Module.js +234 -0
  146. package/dist/token/EvmXERC20Module.js.map +1 -0
  147. package/dist/token/EvmXERC20Module.test.d.ts +2 -0
  148. package/dist/token/EvmXERC20Module.test.d.ts.map +1 -0
  149. package/dist/token/EvmXERC20Module.test.js +262 -0
  150. package/dist/token/EvmXERC20Module.test.js.map +1 -0
  151. package/dist/token/EvmXERC20Reader.d.ts +51 -0
  152. package/dist/token/EvmXERC20Reader.d.ts.map +1 -0
  153. package/dist/token/EvmXERC20Reader.js +137 -0
  154. package/dist/token/EvmXERC20Reader.js.map +1 -0
  155. package/dist/token/Token.d.ts.map +1 -1
  156. package/dist/token/Token.js +5 -2
  157. package/dist/token/Token.js.map +1 -1
  158. package/dist/token/TokenStandard.d.ts +6 -6
  159. package/dist/token/TokenStandard.d.ts.map +1 -1
  160. package/dist/token/TokenStandard.js +1 -0
  161. package/dist/token/TokenStandard.js.map +1 -1
  162. package/dist/token/adapters/EvmTokenAdapter.d.ts +5 -4
  163. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
  164. package/dist/token/adapters/EvmTokenAdapter.js +10 -16
  165. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
  166. package/dist/token/adapters/SealevelTokenAdapter.d.ts +3 -2
  167. package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
  168. package/dist/token/adapters/SealevelTokenAdapter.js +11 -12
  169. package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
  170. package/dist/token/adapters/StarknetTokenAdapter.d.ts +5 -3
  171. package/dist/token/adapters/StarknetTokenAdapter.d.ts.map +1 -1
  172. package/dist/token/adapters/StarknetTokenAdapter.js +12 -13
  173. package/dist/token/adapters/StarknetTokenAdapter.js.map +1 -1
  174. package/dist/token/checker.d.ts +2 -1
  175. package/dist/token/checker.d.ts.map +1 -1
  176. package/dist/token/checker.js +7 -9
  177. package/dist/token/checker.js.map +1 -1
  178. package/dist/token/config.d.ts +3 -0
  179. package/dist/token/config.d.ts.map +1 -1
  180. package/dist/token/config.js +2 -0
  181. package/dist/token/config.js.map +1 -1
  182. package/dist/token/configUtils.d.ts.map +1 -1
  183. package/dist/token/configUtils.js +10 -2
  184. package/dist/token/configUtils.js.map +1 -1
  185. package/dist/token/contracts.d.ts.map +1 -1
  186. package/dist/token/contracts.js.map +1 -1
  187. package/dist/token/deploy.d.ts +2 -2
  188. package/dist/token/deploy.d.ts.map +1 -1
  189. package/dist/token/deploy.hardhat-test.js +4 -4
  190. package/dist/token/deploy.hardhat-test.js.map +1 -1
  191. package/dist/token/deploy.js.map +1 -1
  192. package/dist/token/nativeTokenMetadata.d.ts +2 -2
  193. package/dist/token/nativeTokenMetadata.d.ts.map +1 -1
  194. package/dist/token/nativeTokenMetadata.js.map +1 -1
  195. package/dist/token/types.d.ts +2389 -132
  196. package/dist/token/types.d.ts.map +1 -1
  197. package/dist/token/types.js +24 -6
  198. package/dist/token/types.js.map +1 -1
  199. package/dist/token/xerc20-abi.d.ts +27 -0
  200. package/dist/token/xerc20-abi.d.ts.map +1 -0
  201. package/dist/token/xerc20-abi.js +37 -0
  202. package/dist/token/xerc20-abi.js.map +1 -0
  203. package/dist/token/xerc20.d.ts +41 -2
  204. package/dist/token/xerc20.d.ts.map +1 -1
  205. package/dist/token/xerc20.js +187 -37
  206. package/dist/token/xerc20.js.map +1 -1
  207. package/package.json +10 -10
  208. package/dist/token/EvmERC20WarpModule.d.ts.map +0 -1
  209. package/dist/token/EvmERC20WarpModule.hardhat-test.d.ts +0 -2
  210. package/dist/token/EvmERC20WarpModule.hardhat-test.d.ts.map +0 -1
  211. package/dist/token/EvmERC20WarpModule.hardhat-test.js.map +0 -1
  212. package/dist/token/EvmERC20WarpModule.js.map +0 -1
  213. package/dist/token/EvmERC20WarpRouteReader.d.ts.map +0 -1
  214. package/dist/token/EvmERC20WarpRouteReader.hardhat-test.d.ts +0 -2
  215. package/dist/token/EvmERC20WarpRouteReader.hardhat-test.d.ts.map +0 -1
  216. package/dist/token/EvmERC20WarpRouteReader.hardhat-test.js.map +0 -1
  217. package/dist/token/EvmERC20WarpRouteReader.js.map +0 -1
  218. package/dist/utils/fetch.d.ts +0 -2
  219. package/dist/utils/fetch.d.ts.map +0 -1
  220. package/dist/utils/fetch.js +0 -12
  221. package/dist/utils/fetch.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/token/types.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAGrD,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG,CAAC,CAAC,KAAK,CACvD,OAAO,yCAAyC,CACjD,CAAC;AA2BF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAsHpC,CAAC;AAEL,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAQhF,eAAO,MAAM,0CAA0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACE,CAAC;AAE1D,MAAM,MAAM,oCAAoC,GAAG,CAAC,CAAC,KAAK,CACxD,OAAO,0CAA0C,CAClD,CAAC;AA8GF,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGtB,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAkC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/token/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAuB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAQpE,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EAEtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAa,MAAM,aAAa,CAAC;AAKlD,eAAO,MAAM,iCAAiC;;;CAG7C,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAAI,SAAS,MAAM,YAE/D,CAAC;AAEF,eAAO,MAAM,qBAAqB,oFAA0G,CAAC;AAE7I,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;EAO9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,eAAO,MAAM,eAAe;;;;;;;CAAmC,CAAC;AAuBhE,eAAO,MAAM,4BAA4B;;;;;;;;CAExC,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;EAWvC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;CAAuC,CAAC;AAExE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKhC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQuC,CAAC;AAE1E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;CAAqC,CAAC;AAEpE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;CAAqC,CAAC;AAEpE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBvC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;CAA2C,CAAC;AAEhF,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,QAAQ,aAAa;CACtB;AAGD,QAAA,MAAM,yBAAyB;;;;;;;;;;;;EAI7B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,QAAA,MAAM,+BAA+B;;;;;;;;;;;;EAInC,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC;AAMF,QAAA,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGxC,CAAC;AAEH,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO7B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CACjD,OAAO,oCAAoC,CAC5C,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMD,CAAC;AAEpC,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC9E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAuC,CAAC;AAExE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcuC,CAAC;AAE1E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;CAAqC,CAAC;AAEpE,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;EAG1C,CAAC;AACL,eAAO,MAAM,6BAA6B;;;;;;;;CAEzC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,eAAO,MAAM,sBAAsB;;;;;;;;;CAA0C,CAAC;AAE9E,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIzC,CAAC;AACL,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,gCAAgC,CACxC,CAAC;AACF,eAAO,MAAM,4BAA4B;;;;;;;;;CAExC,CAAC;AAEF,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI/C,CAAC;AAEH,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAClD,OAAO,oCAAoC,CAC5C,CAAC;AACF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;CAE5C,CAAC;AAEF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK9C,CAAC;AAEH,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CACjD,OAAO,mCAAmC,CAC3C,CAAC;AACF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;CAE3C,CAAC;AAEF,oBAAY,0BAA0B;IACpC,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAED,oBAAY,WAAW;IACrB,MAAM,WAAW,CAAE,qDAAqD;IACxE,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AACD,eAAO,MAAM,iCAAiC;;;;;;;;;EAkB5C,CAAC;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,iCAAiC,CACzC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAIrB,CAAC;AACjB,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,eAAO,MAAM,oBAAoB;;;;;;;;;+BAAwC,CAAC;AAM1E,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAY3B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCAWN,CAAC;AAE5B,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAKtC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,GACzE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,GACrC,mBAAmB,CAAC;AAEtB,MAAM,MAAM,4BAA4B,GAAG,QAAQ,CAAC,wBAAwB,CAAC,CAAC;AAE9E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,UAElE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,UAIjE;AAED,eAAO,MAAM,6CAA6C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAsHpC,CAAC;AAEL,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAQhF,eAAO,MAAM,0CAA0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACE,CAAC;AAE1D,MAAM,MAAM,oCAAoC,GAAG,CAAC,CAAC,KAAK,CACxD,OAAO,0CAA0C,CAClD,CAAC;AA8GF,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGtB,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAkC,CAAC"}
@@ -201,12 +201,14 @@ export const HypTokenRouterVirtualConfigSchema = z.object({
201
201
  OwnerStatus.GnosisSafe,
202
202
  ])),
203
203
  });
204
- /**
205
- * @remarks
206
- * The discriminatedUnion is basically a switch statement for zod schemas
207
- * It uses the 'type' key to pick from the array of schemas to validate
208
- */
209
- export const HypTokenConfigSchema = z.discriminatedUnion('type', [
204
+ export const UnknownTokenConfigSchema = TokenMetadataSchema.partial()
205
+ .extend({
206
+ type: z.literal(TokenType.unknown),
207
+ })
208
+ .passthrough();
209
+ export const isUnknownTokenConfig = isCompliant(UnknownTokenConfigSchema);
210
+ const KnownTokenTypes = Object.values(TokenType).filter((t) => t !== TokenType.unknown);
211
+ const AllHypTokenConfigSchema = z.discriminatedUnion('type', [
210
212
  NativeTokenConfigSchema,
211
213
  OpL2TokenConfigSchema,
212
214
  OpL1TokenConfigSchema,
@@ -217,7 +219,23 @@ export const HypTokenConfigSchema = z.discriminatedUnion('type', [
217
219
  CctpTokenConfigSchema,
218
220
  EverclearCollateralTokenConfigSchema,
219
221
  EverclearEthBridgeTokenConfigSchema,
222
+ UnknownTokenConfigSchema,
220
223
  ]);
224
+ /**
225
+ * @remarks
226
+ * The discriminatedUnion is basically a switch statement for zod schemas
227
+ * It uses the 'type' key to pick from the array of schemas to validate
228
+ */
229
+ export const HypTokenConfigSchema = z.preprocess((val) => {
230
+ if (typeof val === 'object' && val !== null && 'type' in val) {
231
+ const obj = val;
232
+ if (typeof obj.type === 'string' &&
233
+ !KnownTokenTypes.includes(obj.type)) {
234
+ return { ...obj, type: TokenType.unknown };
235
+ }
236
+ }
237
+ return val;
238
+ }, AllHypTokenConfigSchema);
221
239
  export const HypTokenRouterConfigSchema = z.preprocess(preprocessWarpRouteDeployConfig, HypTokenConfigSchema.and(GasRouterConfigSchema).and(HypTokenRouterVirtualConfigSchema.partial()));
222
240
  export function derivedHookAddress(config) {
223
241
  return typeof config.hook === 'string' ? config.hook : config.hook.address;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/token/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/token/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Minimal ABI for parsing ConfigurationChanged events from Velodrome XERC20.
3
+ * Shared between EvmXERC20Reader and xerc20 utilities.
4
+ */
5
+ export declare const XERC20_VS_ABI: readonly [{
6
+ readonly anonymous: false;
7
+ readonly inputs: readonly [{
8
+ readonly indexed: true;
9
+ readonly internalType: "address";
10
+ readonly name: "bridge";
11
+ readonly type: "address";
12
+ }, {
13
+ readonly indexed: false;
14
+ readonly internalType: "uint112";
15
+ readonly name: "bufferCap";
16
+ readonly type: "uint112";
17
+ }, {
18
+ readonly indexed: false;
19
+ readonly internalType: "uint128";
20
+ readonly name: "rateLimitPerSecond";
21
+ readonly type: "uint128";
22
+ }];
23
+ readonly name: "ConfigurationChanged";
24
+ readonly type: "event";
25
+ }];
26
+ export declare const CONFIGURATION_CHANGED_EVENT_SELECTOR: `0x${string}`;
27
+ //# sourceMappingURL=xerc20-abi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xerc20-abi.d.ts","sourceRoot":"","sources":["../../src/token/xerc20-abi.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;EA0BhB,CAAC;AAEX,eAAO,MAAM,oCAAoC,eAKhD,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { getAbiItem, toEventSelector } from 'viem';
2
+ /**
3
+ * Minimal ABI for parsing ConfigurationChanged events from Velodrome XERC20.
4
+ * Shared between EvmXERC20Reader and xerc20 utilities.
5
+ */
6
+ export const XERC20_VS_ABI = [
7
+ {
8
+ anonymous: false,
9
+ inputs: [
10
+ {
11
+ indexed: true,
12
+ internalType: 'address',
13
+ name: 'bridge',
14
+ type: 'address',
15
+ },
16
+ {
17
+ indexed: false,
18
+ internalType: 'uint112',
19
+ name: 'bufferCap',
20
+ type: 'uint112',
21
+ },
22
+ {
23
+ indexed: false,
24
+ internalType: 'uint128',
25
+ name: 'rateLimitPerSecond',
26
+ type: 'uint128',
27
+ },
28
+ ],
29
+ name: 'ConfigurationChanged',
30
+ type: 'event',
31
+ },
32
+ ];
33
+ export const CONFIGURATION_CHANGED_EVENT_SELECTOR = toEventSelector(getAbiItem({
34
+ abi: XERC20_VS_ABI,
35
+ name: 'ConfigurationChanged',
36
+ }));
37
+ //# sourceMappingURL=xerc20-abi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xerc20-abi.js","sourceRoot":"","sources":["../../src/token/xerc20-abi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAEnD;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,OAAO;KACd;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,oCAAoC,GAAG,eAAe,CACjE,UAAU,CAAC;IACT,GAAG,EAAE,aAAa;IAClB,IAAI,EAAE,sBAAsB;CAC7B,CAAC,CACH,CAAC"}
@@ -1,8 +1,26 @@
1
1
  import { Logger } from 'pino';
2
2
  import { Address } from '@hyperlane-xyz/utils';
3
3
  import { MultiProvider } from '../providers/MultiProvider.js';
4
- import { ChainNameOrId } from '../types.js';
5
- import { XERC20TokenExtraBridgesLimits } from './types.js';
4
+ import { ChainName, ChainNameOrId } from '../types.js';
5
+ import { WarpCoreConfig } from '../warp/types.js';
6
+ import { TokenType } from './config.js';
7
+ import { WarpRouteDeployConfig, XERC20TokenExtraBridgesLimits, XERC20Type } from './types.js';
8
+ type BridgeConfigBase = {
9
+ chain: ChainName;
10
+ type: typeof TokenType.XERC20Lockbox | typeof TokenType.XERC20;
11
+ xERC20Address: Address;
12
+ bridgeAddress: Address;
13
+ decimals: number;
14
+ owner: Address;
15
+ };
16
+ export type BridgeConfigVS = BridgeConfigBase & {
17
+ bufferCap: number;
18
+ rateLimitPerSecond: number;
19
+ };
20
+ export type BridgeConfigWL = BridgeConfigBase & {
21
+ mint: number;
22
+ burn: number;
23
+ };
6
24
  export type GetExtraLockboxesOptions = {
7
25
  chain: ChainNameOrId;
8
26
  xERC20Address: Address;
@@ -12,4 +30,25 @@ export type GetExtraLockboxesOptions = {
12
30
  logger?: Logger;
13
31
  };
14
32
  export declare function getExtraLockBoxConfigs({ xERC20Address, chain, multiProvider, logger, }: Omit<GetExtraLockboxesOptions, 'explorerUrl' | 'apiKey'>): Promise<XERC20TokenExtraBridgesLimits[]>;
33
+ /**
34
+ * Derives bridge configurations for Velodrome XERC20 tokens.
35
+ * Extracts bufferCap and rateLimitPerSecond limits from warp deploy config.
36
+ * @param warpDeployConfig - Warp route deployment configuration
37
+ * @param warpCoreConfig - Warp core configuration with token metadata
38
+ * @param multiProvider - Multi-chain provider for contract interactions
39
+ * @returns Array of bridge configurations for Velodrome XERC20
40
+ */
41
+ export declare function deriveBridgesConfig(warpDeployConfig: WarpRouteDeployConfig, warpCoreConfig: WarpCoreConfig, multiProvider: MultiProvider): Promise<BridgeConfigVS[]>;
42
+ /**
43
+ * Derives bridge configurations for Standard XERC20 tokens.
44
+ * Extracts mint and burn limits from warp deploy config.
45
+ * @param chains - Optional list of chains to filter by
46
+ * @param warpDeployConfig - Warp route deployment configuration
47
+ * @param warpCoreConfig - Warp core configuration with token metadata
48
+ * @param multiProvider - Multi-chain provider for contract interactions
49
+ * @returns Array of bridge configurations for Standard XERC20
50
+ */
51
+ export declare function deriveStandardBridgesConfig(chains: ChainName[] | undefined, warpDeployConfig: WarpRouteDeployConfig, warpCoreConfig: WarpCoreConfig, multiProvider: MultiProvider): Promise<BridgeConfigWL[]>;
52
+ export declare function deriveXERC20TokenType(multiProvider: MultiProvider, chain: ChainNameOrId, address: Address): Promise<XERC20Type>;
53
+ export {};
15
54
  //# sourceMappingURL=xerc20.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xerc20.d.ts","sourceRoot":"","sources":["../../src/token/xerc20.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAI9B,OAAO,EAAE,OAAO,EAAc,MAAM,sBAAsB,CAAC;AAM3D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,6BAA6B,EAAc,MAAM,YAAY,CAAC;AAqCvE,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,aAAa,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAsB,sBAAsB,CAAC,EAC3C,aAAa,EACb,KAAK,EACL,aAAa,EACb,MAAmB,GACpB,EAAE,IAAI,CAAC,wBAAwB,EAAE,aAAa,GAAG,QAAQ,CAAC,GAAG,OAAO,CACnE,6BAA6B,EAAE,CAChC,CAwBA"}
1
+ {"version":3,"file":"xerc20.d.ts","sourceRoot":"","sources":["../../src/token/xerc20.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAO9B,OAAO,EAAE,OAAO,EAAsB,MAAM,sBAAsB,CAAC;AAOnE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAC7B,UAAU,EAEX,MAAM,YAAY,CAAC;AAOpB,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,OAAO,SAAS,CAAC,aAAa,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;IAC/D,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,aAAa,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAsB,sBAAsB,CAAC,EAC3C,aAAa,EACb,KAAK,EACL,aAAa,EACb,MAAmB,GACpB,EAAE,IAAI,CAAC,wBAAwB,EAAE,aAAa,GAAG,QAAQ,CAAC,GAAG,OAAO,CACnE,6BAA6B,EAAE,CAChC,CAwBA;AA4GD;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,gBAAgB,EAAE,qBAAqB,EACvC,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,cAAc,EAAE,CAAC,CAwG3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,SAAS,EAAE,YAAK,EACxB,gBAAgB,EAAE,qBAAqB,EACvC,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,cAAc,EAAE,CAAC,CAsG3B;AAED,wBAAsB,qBAAqB,CACzC,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,UAAU,CAAC,CAiCrB"}
@@ -1,40 +1,13 @@
1
- import { getAbiItem, parseEventLogs, toEventSelector } from 'viem';
2
- import { IXERC20Lockbox__factory } from '@hyperlane-xyz/core';
3
- import { rootLogger } from '@hyperlane-xyz/utils';
1
+ import { ethers } from 'ethers';
2
+ import { parseEventLogs } from 'viem';
3
+ import { HypXERC20Lockbox__factory, IXERC20Lockbox__factory, } from '@hyperlane-xyz/core';
4
+ import { assert, rootLogger } from '@hyperlane-xyz/utils';
4
5
  import { getContractDeploymentTransaction, getLogsFromEtherscanLikeExplorerAPI, } from '../block-explorer/etherscan.js';
6
+ import { isContractAddress } from '../contracts/contracts.js';
5
7
  import { viemLogFromGetEventLogsResponse } from '../rpc/evm/utils.js';
6
- import { XERC20Type } from './types.js';
7
- const minimalXERC20VSABI = [
8
- {
9
- anonymous: false,
10
- inputs: [
11
- {
12
- indexed: true,
13
- internalType: 'address',
14
- name: 'bridge',
15
- type: 'address',
16
- },
17
- {
18
- indexed: false,
19
- internalType: 'uint112',
20
- name: 'bufferCap',
21
- type: 'uint112',
22
- },
23
- {
24
- indexed: false,
25
- internalType: 'uint128',
26
- name: 'rateLimitPerSecond',
27
- type: 'uint128',
28
- },
29
- ],
30
- name: 'ConfigurationChanged',
31
- type: 'event',
32
- },
33
- ];
34
- const CONFIGURATION_CHANGED_EVENT_SELECTOR = toEventSelector(getAbiItem({
35
- abi: minimalXERC20VSABI,
36
- name: 'ConfigurationChanged',
37
- }));
8
+ import { TokenType } from './config.js';
9
+ import { XERC20Type, isXERC20TokenConfig, } from './types.js';
10
+ import { CONFIGURATION_CHANGED_EVENT_SELECTOR, XERC20_VS_ABI, } from './xerc20-abi.js';
38
11
  export async function getExtraLockBoxConfigs({ xERC20Address, chain, multiProvider, logger = rootLogger, }) {
39
12
  const explorer = multiProvider.tryGetEvmExplorerMetadata(chain);
40
13
  if (!explorer) {
@@ -67,7 +40,7 @@ async function getConfigurationChangedLogsFromExplorerApi({ xERC20Address, chain
67
40
  }
68
41
  async function getLockboxesFromLogs(logs, provider, chain, logger) {
69
42
  const parsedLogs = parseEventLogs({
70
- abi: minimalXERC20VSABI,
43
+ abi: XERC20_VS_ABI,
71
44
  eventName: 'ConfigurationChanged',
72
45
  logs,
73
46
  });
@@ -84,7 +57,8 @@ async function getLockboxesFromLogs(logs, provider, chain, logger) {
84
57
  }, {});
85
58
  const lockboxPromises = Object.values(dedupedBridges)
86
59
  // Removing bridges where the limits are set to 0 because it is equivalent of being deactivated
87
- .filter((log) => log.args.bufferCap !== 0n && log.args.rateLimitPerSecond !== 0n)
60
+ // A bridge is active if EITHER bufferCap OR rateLimitPerSecond is non-zero
61
+ .filter((log) => log.args.bufferCap !== 0n || log.args.rateLimitPerSecond !== 0n)
88
62
  .map(async (log) => {
89
63
  try {
90
64
  const maybeXERC20Lockbox = IXERC20Lockbox__factory.connect(log.args.bridge, provider);
@@ -109,4 +83,180 @@ async function getLockboxesFromLogs(logs, provider, chain, logger) {
109
83
  },
110
84
  }));
111
85
  }
86
+ /**
87
+ * Derives bridge configurations for Velodrome XERC20 tokens.
88
+ * Extracts bufferCap and rateLimitPerSecond limits from warp deploy config.
89
+ * @param warpDeployConfig - Warp route deployment configuration
90
+ * @param warpCoreConfig - Warp core configuration with token metadata
91
+ * @param multiProvider - Multi-chain provider for contract interactions
92
+ * @returns Array of bridge configurations for Velodrome XERC20
93
+ */
94
+ export async function deriveBridgesConfig(warpDeployConfig, warpCoreConfig, multiProvider) {
95
+ const bridgesConfig = [];
96
+ for (const [chainName, chainConfig] of Object.entries(warpDeployConfig)) {
97
+ if (!isXERC20TokenConfig(chainConfig)) {
98
+ throw new Error(`Chain "${chainName}" is not an xERC20 compliant deployment`);
99
+ }
100
+ const { token, type, owner, xERC20 } = chainConfig;
101
+ const decimals = warpCoreConfig.tokens.find((t) => t.chainName === chainName)?.decimals;
102
+ if (!decimals) {
103
+ throw new Error(`Missing "decimals" for chain: ${chainName}`);
104
+ }
105
+ if (!xERC20 || xERC20.warpRouteLimits.type !== XERC20Type.Velo) {
106
+ rootLogger.debug(`Skip deriving bridges config because ${XERC20Type.Velo} type is expected`);
107
+ continue;
108
+ }
109
+ if (!xERC20.warpRouteLimits.bufferCap ||
110
+ !xERC20.warpRouteLimits.rateLimitPerSecond) {
111
+ throw new Error(`Missing "limits" for chain: ${chainName}`);
112
+ }
113
+ let xERC20Address = token;
114
+ const bridgeAddress = warpCoreConfig.tokens.find((t) => t.chainName === chainName)?.addressOrDenom;
115
+ if (!bridgeAddress) {
116
+ throw new Error(`Missing router address for chain ${chainName} and type ${type}`);
117
+ }
118
+ const { bufferCap: bufferCapStr, rateLimitPerSecond: rateLimitPerSecondStr, } = xERC20.warpRouteLimits;
119
+ const bufferCap = Number(bufferCapStr);
120
+ const rateLimitPerSecond = Number(rateLimitPerSecondStr);
121
+ if (type === TokenType.XERC20Lockbox) {
122
+ const provider = multiProvider.getProvider(chainName);
123
+ const hypXERC20Lockbox = HypXERC20Lockbox__factory.connect(bridgeAddress, provider);
124
+ xERC20Address = await hypXERC20Lockbox.xERC20();
125
+ }
126
+ if (xERC20.extraBridges) {
127
+ for (const extraLockboxLimit of xERC20.extraBridges) {
128
+ const { lockbox, limits } = extraLockboxLimit;
129
+ assert(limits.type === XERC20Type.Velo, `Only supports ${XERC20Type.Velo}`);
130
+ const { bufferCap: extraBufferCap, rateLimitPerSecond: extraRateLimit, } = limits;
131
+ if (!extraBufferCap || !extraRateLimit) {
132
+ throw new Error(`Missing "bufferCap" or "rateLimitPerSecond" limits for extra lockbox: ${lockbox} on chain: ${chainName}`);
133
+ }
134
+ bridgesConfig.push({
135
+ chain: chainName,
136
+ type,
137
+ xERC20Address,
138
+ bridgeAddress: lockbox,
139
+ owner,
140
+ decimals,
141
+ bufferCap: Number(extraBufferCap),
142
+ rateLimitPerSecond: Number(extraRateLimit),
143
+ });
144
+ }
145
+ }
146
+ bridgesConfig.push({
147
+ chain: chainName,
148
+ type,
149
+ xERC20Address,
150
+ bridgeAddress,
151
+ owner,
152
+ decimals,
153
+ bufferCap,
154
+ rateLimitPerSecond,
155
+ });
156
+ }
157
+ return bridgesConfig;
158
+ }
159
+ /**
160
+ * Derives bridge configurations for Standard XERC20 tokens.
161
+ * Extracts mint and burn limits from warp deploy config.
162
+ * @param chains - Optional list of chains to filter by
163
+ * @param warpDeployConfig - Warp route deployment configuration
164
+ * @param warpCoreConfig - Warp core configuration with token metadata
165
+ * @param multiProvider - Multi-chain provider for contract interactions
166
+ * @returns Array of bridge configurations for Standard XERC20
167
+ */
168
+ export async function deriveStandardBridgesConfig(chains = [], warpDeployConfig, warpCoreConfig, multiProvider) {
169
+ const bridgesConfig = [];
170
+ for (const [chainName, chainConfig] of Object.entries(warpDeployConfig)) {
171
+ if (chains.length > 0 && !chains.includes(chainName)) {
172
+ rootLogger.debug(`Skipping ${chainName} because its not included in chains`);
173
+ continue;
174
+ }
175
+ if (!isXERC20TokenConfig(chainConfig)) {
176
+ throw new Error(`Chain "${chainName}" is not an xERC20 compliant deployment`);
177
+ }
178
+ const { token, type, owner, xERC20 } = chainConfig;
179
+ const decimals = warpCoreConfig.tokens.find((t) => t.chainName === chainName)?.decimals;
180
+ if (!decimals) {
181
+ throw new Error(`Missing "decimals" for chain: ${chainName}`);
182
+ }
183
+ if (!xERC20 || xERC20.warpRouteLimits.type !== XERC20Type.Standard) {
184
+ rootLogger.debug(`Skip deriving bridges config because ${XERC20Type.Standard} type is expected`);
185
+ continue;
186
+ }
187
+ if (!xERC20.warpRouteLimits.mint || !xERC20.warpRouteLimits.burn) {
188
+ throw new Error(`Missing "limits" for chain: ${chainName}`);
189
+ }
190
+ let xERC20Address = token;
191
+ const bridgeAddress = warpCoreConfig.tokens.find((t) => t.chainName === chainName)?.addressOrDenom;
192
+ if (!bridgeAddress) {
193
+ throw new Error(`Missing router address for chain ${chainName} and type ${type}`);
194
+ }
195
+ const mint = Number(xERC20.warpRouteLimits.mint);
196
+ const burn = Number(xERC20.warpRouteLimits.burn);
197
+ if (type === TokenType.XERC20Lockbox) {
198
+ const provider = multiProvider.getProvider(chainName);
199
+ const hypXERC20Lockbox = HypXERC20Lockbox__factory.connect(bridgeAddress, provider);
200
+ xERC20Address = await hypXERC20Lockbox.xERC20();
201
+ }
202
+ if (xERC20.extraBridges) {
203
+ for (const extraLockboxLimit of xERC20.extraBridges) {
204
+ const { lockbox, limits } = extraLockboxLimit;
205
+ assert(limits.type === XERC20Type.Standard, `Only supports ${XERC20Type.Standard}`);
206
+ const extraBridgeMint = Number(limits.mint);
207
+ const extraBridgeBurn = Number(limits.burn);
208
+ if (!extraBridgeMint || !extraBridgeBurn) {
209
+ throw new Error(`Missing "extraBridgeMint" or "extraBridgeBurn" limits for extra lockbox: ${lockbox} on chain: ${chainName}`);
210
+ }
211
+ bridgesConfig.push({
212
+ chain: chainName,
213
+ type,
214
+ xERC20Address,
215
+ bridgeAddress: lockbox,
216
+ owner,
217
+ decimals,
218
+ mint: extraBridgeMint,
219
+ burn: extraBridgeBurn,
220
+ });
221
+ }
222
+ }
223
+ bridgesConfig.push({
224
+ chain: chainName,
225
+ type,
226
+ xERC20Address,
227
+ bridgeAddress,
228
+ owner,
229
+ decimals,
230
+ mint,
231
+ burn,
232
+ });
233
+ }
234
+ return bridgesConfig;
235
+ }
236
+ export async function deriveXERC20TokenType(multiProvider, chain, address) {
237
+ const isContract = await isContractAddress(multiProvider, chain, address);
238
+ if (!isContract) {
239
+ throw new Error(`Unable to detect XERC20 type for ${address}. Contract has no bytecode.`);
240
+ }
241
+ const provider = multiProvider.getProvider(chain);
242
+ const code = await provider.getCode(address);
243
+ const normalizedCode = code.toLowerCase();
244
+ const setBufferCapSelector = ethers.utils
245
+ .id('setBufferCap(address,uint256)')
246
+ .slice(2, 10)
247
+ .toLowerCase();
248
+ const setLimitsSelector = ethers.utils
249
+ .id('setLimits(address,uint256,uint256)')
250
+ .slice(2, 10)
251
+ .toLowerCase();
252
+ // Prefer Velodrome if both selectors are present.
253
+ if (normalizedCode.includes(setBufferCapSelector)) {
254
+ return XERC20Type.Velo;
255
+ }
256
+ if (normalizedCode.includes(setLimitsSelector)) {
257
+ return XERC20Type.Standard;
258
+ }
259
+ // Neither type detected
260
+ throw new Error(`Unable to detect XERC20 type for ${address}. Contract does not implement Standard or Velodrome XERC20 interface.`);
261
+ }
112
262
  //# sourceMappingURL=xerc20.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"xerc20.js","sourceRoot":"","sources":["../../src/token/xerc20.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xerc20.js","sourceRoot":"","sources":["../../src/token/xerc20.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAO,cAAc,EAAE,MAAM,MAAM,CAAC;AAE3C,OAAO,EACL,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAW,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EACL,gCAAgC,EAChC,mCAAmC,GACpC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAItE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAGL,UAAU,EACV,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oCAAoC,EACpC,aAAa,GACd,MAAM,iBAAiB,CAAC;AA+BzB,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAC3C,aAAa,EACb,KAAK,EACL,aAAa,EACb,MAAM,GAAG,UAAU,GACsC;IAGzD,MAAM,QAAQ,GAAG,aAAa,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CACT,oFAAoF,KAAK,EAAE,CAC5F,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,0CAA0C,CAAC;QAC5D,KAAK;QACL,aAAa;QACb,aAAa;QACb,WAAW,EAAE,QAAQ,CAAC,MAAM;QAC5B,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC3D,OAAO,oBAAoB,CACzB,QAAQ,EACR,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,EAChC,KAAK,EACL,MAAM,CACP,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,0CAA0C,CAAC,EACxD,aAAa,EACb,KAAK,EACL,aAAa,EACb,WAAW,EACX,MAAM,GACmB;IACzB,MAAM,oBAAoB,GAAG,MAAM,gCAAgC,CACjE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAC/B,EAAE,eAAe,EAAE,aAAa,EAAE,CACnC,CAAC;IAEF,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,kBAAkB,EAAE,4BAA4B,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC3E,QAAQ,CAAC,cAAc,EAAE;QACzB,QAAQ,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,MAAM,CAAC;KAC5D,CAAC,CAAC;IAEH,OAAO,mCAAmC,CACxC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAC/B;QACE,OAAO,EAAE,aAAa;QACtB,SAAS,EAAE,4BAA4B,CAAC,WAAW;QACnD,OAAO,EAAE,kBAAkB;QAC3B,MAAM,EAAE,oCAAoC;KAC7C,CACF,CAAC;AACJ,CAAC;AAYD,KAAK,UAAU,oBAAoB,CACjC,IAAW,EACX,QAAmC,EACnC,KAAoB,EACpB,MAAc;IAEd,MAAM,UAAU,GAAG,cAAc,CAAC;QAChC,GAAG,EAAE,aAAa;QAClB,SAAS,EAAE,sBAAsB;QACjC,IAAI;KACL,CAAC,CAAC;IAEH,sEAAsE;IACtE,sEAAsE;IACtE,eAAe;IACf,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CACtC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACX,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QACtC,MAAM,wBAAwB,GAC5B,GAAG,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;QAE5D,IAAI,wBAAwB,EAAE,CAAC;YAC7B,GAAG,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;QAC3B,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAA6C,CAC9C,CAAC;IAEF,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;QACnD,+FAA+F;QAC/F,2EAA2E;SAC1E,MAAM,CACL,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,kBAAkB,KAAK,EAAE,CACzE;SACA,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACjB,IAAI,CAAC;YACH,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,OAAO,CACxD,GAAG,CAAC,IAAI,CAAC,MAAM,EACf,QAAQ,CACT,CAAC;YAEF,MAAM,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC7C,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,KAAK,CACV,uBAAuB,GAAG,CAAC,IAAI,CAAC,MAAM,aAAa,KAAK,mCAAmC,CAC5F,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACrD,OAAO,SAAS;SACb,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC;SAClC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAA8B,CAAC;SAC5C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACb,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YACxC,kBAAkB,EAAE,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE;SAC3D;KACF,CAAC,CAAC,CAAC;AACR,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,gBAAuC,EACvC,cAA8B,EAC9B,aAA4B;IAE5B,MAAM,aAAa,GAAqB,EAAE,CAAC;IAE3C,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACxE,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,UAAU,SAAS,yCAAyC,CAC7D,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;QAEnD,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CACjC,EAAE,QAAQ,CAAC;QACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,iCAAiC,SAAS,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;YAC/D,UAAU,CAAC,KAAK,CACd,wCAAwC,UAAU,CAAC,IAAI,mBAAmB,CAC3E,CAAC;YACF,SAAS;QACX,CAAC;QAED,IACE,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS;YACjC,CAAC,MAAM,CAAC,eAAe,CAAC,kBAAkB,EAC1C,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CACjC,EAAE,cAAc,CAAC;QAClB,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,oCAAoC,SAAS,aAAa,IAAI,EAAE,CACjE,CAAC;QACJ,CAAC;QAED,MAAM,EACJ,SAAS,EAAE,YAAY,EACvB,kBAAkB,EAAE,qBAAqB,GAC1C,GAAG,MAAM,CAAC,eAAe,CAAC;QAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QACvC,MAAM,kBAAkB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAEzD,IAAI,IAAI,KAAK,SAAS,CAAC,aAAa,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACtD,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,OAAO,CACxD,aAAa,EACb,QAAQ,CACT,CAAC;YAEF,aAAa,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAClD,CAAC;QAED,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,KAAK,MAAM,iBAAiB,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACpD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC;gBAC9C,MAAM,CACJ,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAC/B,iBAAiB,UAAU,CAAC,IAAI,EAAE,CACnC,CAAC;gBACF,MAAM,EACJ,SAAS,EAAE,cAAc,EACzB,kBAAkB,EAAE,cAAc,GACnC,GAAG,MAAM,CAAC;gBAEX,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CACb,yEAAyE,OAAO,cAAc,SAAS,EAAE,CAC1G,CAAC;gBACJ,CAAC;gBAED,aAAa,CAAC,IAAI,CAAC;oBACjB,KAAK,EAAE,SAAsB;oBAC7B,IAAI;oBACJ,aAAa;oBACb,aAAa,EAAE,OAAO;oBACtB,KAAK;oBACL,QAAQ;oBACR,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC;oBACjC,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC;iBAC3C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,aAAa,CAAC,IAAI,CAAC;YACjB,KAAK,EAAE,SAAsB;YAC7B,IAAI;YACJ,aAAa;YACb,aAAa;YACb,KAAK;YACL,QAAQ;YACR,SAAS;YACT,kBAAkB;SACnB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,SAAsB,EAAE,EACxB,gBAAuC,EACvC,cAA8B,EAC9B,aAA4B;IAE5B,MAAM,aAAa,GAAqB,EAAE,CAAC;IAE3C,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACxE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAsB,CAAC,EAAE,CAAC;YAClE,UAAU,CAAC,KAAK,CACd,YAAY,SAAS,qCAAqC,CAC3D,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,UAAU,SAAS,yCAAyC,CAC7D,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;QAEnD,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CACjC,EAAE,QAAQ,CAAC;QACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,iCAAiC,SAAS,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;YACnE,UAAU,CAAC,KAAK,CACd,wCAAwC,UAAU,CAAC,QAAQ,mBAAmB,CAC/E,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CACjC,EAAE,cAAc,CAAC;QAClB,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,oCAAoC,SAAS,aAAa,IAAI,EAAE,CACjE,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAEjD,IAAI,IAAI,KAAK,SAAS,CAAC,aAAa,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACtD,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,OAAO,CACxD,aAAa,EACb,QAAQ,CACT,CAAC;YAEF,aAAa,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAClD,CAAC;QAED,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,KAAK,MAAM,iBAAiB,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACpD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC;gBAC9C,MAAM,CACJ,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,EACnC,iBAAiB,UAAU,CAAC,QAAQ,EAAE,CACvC,CAAC;gBAEF,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC5C,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAE5C,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,EAAE,CAAC;oBACzC,MAAM,IAAI,KAAK,CACb,4EAA4E,OAAO,cAAc,SAAS,EAAE,CAC7G,CAAC;gBACJ,CAAC;gBAED,aAAa,CAAC,IAAI,CAAC;oBACjB,KAAK,EAAE,SAAsB;oBAC7B,IAAI;oBACJ,aAAa;oBACb,aAAa,EAAE,OAAO;oBACtB,KAAK;oBACL,QAAQ;oBACR,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,eAAe;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,aAAa,CAAC,IAAI,CAAC;YACjB,KAAK,EAAE,SAAsB;YAC7B,IAAI;YACJ,aAAa;YACb,aAAa;YACb,KAAK;YACL,QAAQ;YACR,IAAI;YACJ,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,aAA4B,EAC5B,KAAoB,EACpB,OAAgB;IAEhB,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,oCAAoC,OAAO,6BAA6B,CACzE,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1C,MAAM,oBAAoB,GAAG,MAAM,CAAC,KAAK;SACtC,EAAE,CAAC,+BAA+B,CAAC;SACnC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,WAAW,EAAE,CAAC;IACjB,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK;SACnC,EAAE,CAAC,oCAAoC,CAAC;SACxC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,WAAW,EAAE,CAAC;IAEjB,kDAAkD;IAClD,IAAI,cAAc,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAClD,OAAO,UAAU,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,IAAI,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC/C,OAAO,UAAU,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,wBAAwB;IACxB,MAAM,IAAI,KAAK,CACb,oCAAoC,OAAO,uEAAuE,CACnH,CAAC;AACJ,CAAC"}