@opensea/seaport-js 2.0.1 → 2.0.3

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 (363) hide show
  1. package/README.md +4 -0
  2. package/lib/typechain-types/factories/seaport_v1_5/contracts/index.d.ts +0 -1
  3. package/lib/typechain-types/factories/seaport_v1_5/contracts/index.js +1 -2
  4. package/lib/typechain-types/factories/seaport_v1_5/contracts/index.js.map +1 -1
  5. package/lib/typechain-types/index.d.ts +2 -2
  6. package/lib/typechain-types/index.js +3 -3
  7. package/lib/typechain-types/index.js.map +1 -1
  8. package/lib/typechain-types/seaport_v1_5/contracts/index.d.ts +0 -2
  9. package/package.json +2 -2
  10. package/src/artifacts/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155.dbg.json +1 -1
  11. package/src/artifacts/@rari-capital/solmate/src/tokens/ERC1155.sol/ERC1155TokenReceiver.dbg.json +1 -1
  12. package/src/artifacts/@rari-capital/solmate/src/tokens/ERC20.sol/ERC20.dbg.json +1 -1
  13. package/src/artifacts/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721.dbg.json +1 -1
  14. package/src/artifacts/@rari-capital/solmate/src/tokens/ERC721.sol/ERC721TokenReceiver.dbg.json +1 -1
  15. package/src/artifacts/build-info/9bdb09ed3cce3558b76665325e604aed.json +1 -0
  16. package/src/artifacts/domain-registry/contracts/DomainRegistry.sol/DomainRegistry.dbg.json +1 -1
  17. package/src/artifacts/domain-registry/contracts/interfaces/DomainRegistryInterface.sol/DomainRegistryInterface.dbg.json +1 -1
  18. package/src/artifacts/seaport-core/src/conduit/Conduit.sol/Conduit.dbg.json +1 -1
  19. package/src/artifacts/seaport-core/src/conduit/ConduitController.sol/ConduitController.dbg.json +1 -1
  20. package/src/artifacts/seaport-core/src/lib/AmountDeriver.sol/AmountDeriver.dbg.json +1 -1
  21. package/src/artifacts/seaport-core/src/lib/Assertions.sol/Assertions.dbg.json +1 -1
  22. package/src/artifacts/seaport-core/src/lib/BasicOrderFulfiller.sol/BasicOrderFulfiller.dbg.json +1 -1
  23. package/src/artifacts/seaport-core/src/lib/Consideration.sol/Consideration.dbg.json +1 -1
  24. package/src/artifacts/seaport-core/src/lib/ConsiderationBase.sol/ConsiderationBase.dbg.json +1 -1
  25. package/src/artifacts/seaport-core/src/lib/ConsiderationDecoder.sol/ConsiderationDecoder.dbg.json +1 -1
  26. package/src/artifacts/seaport-core/src/lib/ConsiderationEncoder.sol/ConsiderationEncoder.dbg.json +1 -1
  27. package/src/artifacts/seaport-core/src/lib/CounterManager.sol/CounterManager.dbg.json +1 -1
  28. package/src/artifacts/seaport-core/src/lib/CriteriaResolution.sol/CriteriaResolution.dbg.json +1 -1
  29. package/src/artifacts/seaport-core/src/lib/Executor.sol/Executor.dbg.json +1 -1
  30. package/src/artifacts/seaport-core/src/lib/FulfillmentApplier.sol/FulfillmentApplier.dbg.json +1 -1
  31. package/src/artifacts/seaport-core/src/lib/GettersAndDerivers.sol/GettersAndDerivers.dbg.json +1 -1
  32. package/src/artifacts/seaport-core/src/lib/LowLevelHelpers.sol/LowLevelHelpers.dbg.json +1 -1
  33. package/src/artifacts/seaport-core/src/lib/OrderCombiner.sol/OrderCombiner.dbg.json +1 -1
  34. package/src/artifacts/seaport-core/src/lib/OrderFulfiller.sol/OrderFulfiller.dbg.json +1 -1
  35. package/src/artifacts/seaport-core/src/lib/OrderValidator.sol/OrderValidator.dbg.json +1 -1
  36. package/src/artifacts/seaport-core/src/lib/ReentrancyGuard.sol/ReentrancyGuard.dbg.json +1 -1
  37. package/src/artifacts/seaport-core/src/lib/SignatureVerification.sol/SignatureVerification.dbg.json +1 -1
  38. package/src/artifacts/seaport-core/src/lib/TokenTransferrer.sol/TokenTransferrer.dbg.json +1 -1
  39. package/src/artifacts/seaport-core/src/lib/Verifiers.sol/Verifiers.dbg.json +1 -1
  40. package/src/artifacts/seaport-core/src/lib/ZoneInteraction.sol/ZoneInteraction.dbg.json +1 -1
  41. package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/CalldataPointerLib.dbg.json +1 -1
  42. package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/CalldataReaders.dbg.json +1 -1
  43. package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/MemoryPointerLib.dbg.json +1 -1
  44. package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/MemoryReaders.dbg.json +1 -1
  45. package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/MemoryWriters.dbg.json +1 -1
  46. package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/ReturndataPointerLib.dbg.json +1 -1
  47. package/src/artifacts/seaport-types/src/helpers/PointerLibraries.sol/ReturndataReaders.dbg.json +1 -1
  48. package/src/artifacts/seaport-types/src/interfaces/AmountDerivationErrors.sol/AmountDerivationErrors.dbg.json +1 -1
  49. package/src/artifacts/seaport-types/src/interfaces/ConduitControllerInterface.sol/ConduitControllerInterface.dbg.json +1 -1
  50. package/src/artifacts/seaport-types/src/interfaces/ConduitInterface.sol/ConduitInterface.dbg.json +1 -1
  51. package/src/artifacts/seaport-types/src/interfaces/ConsiderationEventsAndErrors.sol/ConsiderationEventsAndErrors.dbg.json +1 -1
  52. package/src/artifacts/seaport-types/src/interfaces/ConsiderationInterface.sol/ConsiderationInterface.dbg.json +1 -1
  53. package/src/artifacts/seaport-types/src/interfaces/CriteriaResolutionErrors.sol/CriteriaResolutionErrors.dbg.json +1 -1
  54. package/src/artifacts/seaport-types/src/interfaces/FulfillmentApplicationErrors.sol/FulfillmentApplicationErrors.dbg.json +1 -1
  55. package/src/artifacts/seaport-types/src/interfaces/ReentrancyErrors.sol/ReentrancyErrors.dbg.json +1 -1
  56. package/src/artifacts/seaport-types/src/interfaces/SignatureVerificationErrors.sol/SignatureVerificationErrors.dbg.json +1 -1
  57. package/src/artifacts/seaport-types/src/interfaces/TokenTransferrerErrors.sol/TokenTransferrerErrors.dbg.json +1 -1
  58. package/src/artifacts/seaport-types/src/interfaces/ZoneInteractionErrors.sol/ZoneInteractionErrors.dbg.json +1 -1
  59. package/src/artifacts/seaport-types/src/lib/ConsiderationStructs.sol/StructPointers.dbg.json +1 -1
  60. package/src/artifacts/seaport_v1_4/contracts/Seaport.sol/Seaport.dbg.json +1 -1
  61. package/src/artifacts/seaport_v1_4/contracts/conduit/Conduit.sol/LocalConduit.dbg.json +1 -1
  62. package/src/artifacts/seaport_v1_4/contracts/conduit/ConduitController.sol/LocalConduitController.dbg.json +1 -1
  63. package/src/artifacts/seaport_v1_5/contracts/Seaport.sol/Seaport.dbg.json +1 -1
  64. package/src/artifacts/src/contracts/test/TestERC1155.sol/TestERC1155.dbg.json +1 -1
  65. package/src/artifacts/src/contracts/test/TestERC20.sol/TestERC20.dbg.json +1 -1
  66. package/src/artifacts/src/contracts/test/TestERC20USDC.sol/TestERC20USDC.dbg.json +1 -1
  67. package/src/artifacts/src/contracts/test/TestERC721.sol/TestERC721.dbg.json +1 -1
  68. package/src/typechain-types/factories/seaport_v1_5/contracts/index.ts +0 -1
  69. package/src/typechain-types/hardhat.d.ts +0 -9
  70. package/src/typechain-types/index.ts +2 -2
  71. package/src/typechain-types/seaport-types/src/interfaces/ConsiderationInterface.ts +9 -3
  72. package/src/typechain-types/seaport_v1_4/contracts/Seaport.ts +9 -3
  73. package/src/typechain-types/seaport_v1_5/contracts/index.ts +0 -2
  74. package/lib/abi/Seaport.d.ts +0 -112
  75. package/lib/abi/Seaport.js +0 -2585
  76. package/lib/abi/Seaport.js.map +0 -1
  77. package/lib/typechain/DomainRegistry.d.ts +0 -97
  78. package/lib/typechain/DomainRegistry.js +0 -3
  79. package/lib/typechain/DomainRegistry.js.map +0 -1
  80. package/lib/typechain/ERC1155.d.ts +0 -189
  81. package/lib/typechain/ERC1155.js +0 -3
  82. package/lib/typechain/ERC1155.js.map +0 -1
  83. package/lib/typechain/ERC20.d.ts +0 -201
  84. package/lib/typechain/ERC20.js +0 -3
  85. package/lib/typechain/ERC20.js.map +0 -1
  86. package/lib/typechain/ERC721.d.ts +0 -222
  87. package/lib/typechain/ERC721.js +0 -3
  88. package/lib/typechain/ERC721.js.map +0 -1
  89. package/lib/typechain/Seaport.d.ts +0 -707
  90. package/lib/typechain/Seaport.js +0 -3
  91. package/lib/typechain/Seaport.js.map +0 -1
  92. package/lib/typechain/common.d.ts +0 -21
  93. package/lib/typechain/common.js +0 -3
  94. package/lib/typechain/common.js.map +0 -1
  95. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/AmountDerivationErrors__factory.d.ts +0 -12
  96. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/AmountDerivationErrors__factory.js +0 -27
  97. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/AmountDerivationErrors__factory.js.map +0 -1
  98. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConduitControllerInterface__factory.d.ts +0 -333
  99. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConduitControllerInterface__factory.js +0 -452
  100. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConduitControllerInterface__factory.js.map +0 -1
  101. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConduitInterface__factory.d.ts +0 -203
  102. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConduitInterface__factory.js +0 -276
  103. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConduitInterface__factory.js.map +0 -1
  104. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConsiderationEventsAndErrors__factory.d.ts +0 -360
  105. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConsiderationEventsAndErrors__factory.js +0 -475
  106. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConsiderationEventsAndErrors__factory.js.map +0 -1
  107. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConsiderationInterface__factory.d.ts +0 -1705
  108. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConsiderationInterface__factory.js +0 -2210
  109. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConsiderationInterface__factory.js.map +0 -1
  110. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/CriteriaResolutionErrors__factory.d.ts +0 -56
  111. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/CriteriaResolutionErrors__factory.js +0 -85
  112. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/CriteriaResolutionErrors__factory.js.map +0 -1
  113. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/FulfillmentApplicationErrors__factory.d.ts +0 -32
  114. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/FulfillmentApplicationErrors__factory.js +0 -54
  115. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/FulfillmentApplicationErrors__factory.js.map +0 -1
  116. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ReentrancyErrors__factory.d.ts +0 -12
  117. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ReentrancyErrors__factory.js +0 -27
  118. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ReentrancyErrors__factory.js.map +0 -1
  119. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/SignatureVerificationErrors__factory.d.ts +0 -28
  120. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/SignatureVerificationErrors__factory.js +0 -48
  121. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/SignatureVerificationErrors__factory.js.map +0 -1
  122. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/TokenTransferrerErrors__factory.d.ts +0 -104
  123. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/TokenTransferrerErrors__factory.js +0 -147
  124. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/TokenTransferrerErrors__factory.js.map +0 -1
  125. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ZoneInteractionErrors__factory.d.ts +0 -24
  126. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ZoneInteractionErrors__factory.js +0 -42
  127. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/ZoneInteractionErrors__factory.js.map +0 -1
  128. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/index.d.ts +0 -1
  129. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/index.js +0 -9
  130. package/lib/typechain-types/factories/seaport_v1_5/contracts/interfaces/index.js.map +0 -1
  131. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/AmountDeriver__factory.d.ts +0 -24
  132. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/AmountDeriver__factory.js +0 -95
  133. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/AmountDeriver__factory.js.map +0 -1
  134. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Assertions__factory.d.ts +0 -480
  135. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Assertions__factory.js +0 -684
  136. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Assertions__factory.js.map +0 -1
  137. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/BasicOrderFulfiller__factory.d.ts +0 -516
  138. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/BasicOrderFulfiller__factory.js +0 -732
  139. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/BasicOrderFulfiller__factory.js.map +0 -1
  140. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/ConsiderationBase__factory.d.ts +0 -380
  141. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/ConsiderationBase__factory.js +0 -554
  142. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/ConsiderationBase__factory.js.map +0 -1
  143. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Consideration__factory.d.ts +0 -2292
  144. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Consideration__factory.js +0 -3024
  145. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Consideration__factory.js.map +0 -1
  146. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/CounterManager__factory.d.ts +0 -376
  147. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/CounterManager__factory.js +0 -548
  148. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/CounterManager__factory.js.map +0 -1
  149. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/CriteriaResolution__factory.d.ts +0 -68
  150. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/CriteriaResolution__factory.js +0 -153
  151. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/CriteriaResolution__factory.js.map +0 -1
  152. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Executor__factory.d.ts +0 -500
  153. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Executor__factory.js +0 -710
  154. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Executor__factory.js.map +0 -1
  155. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/FulfillmentApplier__factory.d.ts +0 -44
  156. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/FulfillmentApplier__factory.js +0 -122
  157. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/FulfillmentApplier__factory.js.map +0 -1
  158. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/GettersAndDerivers__factory.d.ts +0 -380
  159. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/GettersAndDerivers__factory.js +0 -554
  160. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/GettersAndDerivers__factory.js.map +0 -1
  161. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/OrderCombiner__factory.d.ts +0 -592
  162. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/OrderCombiner__factory.js +0 -832
  163. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/OrderCombiner__factory.js.map +0 -1
  164. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/OrderFulfiller__factory.d.ts +0 -568
  165. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/OrderFulfiller__factory.js +0 -800
  166. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/OrderFulfiller__factory.js.map +0 -1
  167. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/OrderValidator__factory.d.ts +0 -516
  168. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/OrderValidator__factory.js +0 -732
  169. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/OrderValidator__factory.js.map +0 -1
  170. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/ReentrancyGuard__factory.d.ts +0 -28
  171. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/ReentrancyGuard__factory.js +0 -100
  172. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/ReentrancyGuard__factory.js.map +0 -1
  173. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/SignatureVerification__factory.d.ts +0 -40
  174. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/SignatureVerification__factory.js +0 -116
  175. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/SignatureVerification__factory.js.map +0 -1
  176. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/TokenTransferrer__factory.d.ts +0 -116
  177. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/TokenTransferrer__factory.js +0 -215
  178. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/TokenTransferrer__factory.js.map +0 -1
  179. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Verifiers__factory.d.ts +0 -500
  180. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Verifiers__factory.js +0 -710
  181. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/Verifiers__factory.js.map +0 -1
  182. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/ZoneInteraction__factory.d.ts +0 -36
  183. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/ZoneInteraction__factory.js +0 -112
  184. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/ZoneInteraction__factory.js.map +0 -1
  185. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/index.d.ts +0 -18
  186. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/index.js +0 -43
  187. package/lib/typechain-types/factories/seaport_v1_5/contracts/lib/index.js.map +0 -1
  188. package/lib/typechain-types/factories/src/contracts/test/TestERC721.sol.sol/TestERC721__factory.d.ts +0 -292
  189. package/lib/typechain-types/factories/src/contracts/test/TestERC721.sol.sol/TestERC721__factory.js +0 -444
  190. package/lib/typechain-types/factories/src/contracts/test/TestERC721.sol.sol/TestERC721__factory.js.map +0 -1
  191. package/lib/typechain-types/factories/src/contracts/test/TestERC721.sol.sol/index.d.ts +0 -1
  192. package/lib/typechain-types/factories/src/contracts/test/TestERC721.sol.sol/index.js +0 -9
  193. package/lib/typechain-types/factories/src/contracts/test/TestERC721.sol.sol/index.js.map +0 -1
  194. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/AmountDerivationErrors.d.ts +0 -27
  195. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/AmountDerivationErrors.js +0 -3
  196. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/AmountDerivationErrors.js.map +0 -1
  197. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConduitControllerInterface.d.ts +0 -268
  198. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConduitControllerInterface.js +0 -3
  199. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConduitControllerInterface.js.map +0 -1
  200. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConduitInterface.d.ts +0 -156
  201. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConduitInterface.js +0 -3
  202. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConduitInterface.js.map +0 -1
  203. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConsiderationEventsAndErrors.d.ts +0 -216
  204. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConsiderationEventsAndErrors.js +0 -3
  205. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConsiderationEventsAndErrors.js.map +0 -1
  206. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConsiderationInterface.d.ts +0 -638
  207. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConsiderationInterface.js +0 -3
  208. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ConsiderationInterface.js.map +0 -1
  209. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/CriteriaResolutionErrors.d.ts +0 -27
  210. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/CriteriaResolutionErrors.js +0 -3
  211. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/CriteriaResolutionErrors.js.map +0 -1
  212. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/FulfillmentApplicationErrors.d.ts +0 -27
  213. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/FulfillmentApplicationErrors.js +0 -3
  214. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/FulfillmentApplicationErrors.js.map +0 -1
  215. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ReentrancyErrors.d.ts +0 -27
  216. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ReentrancyErrors.js +0 -3
  217. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ReentrancyErrors.js.map +0 -1
  218. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/SignatureVerificationErrors.d.ts +0 -27
  219. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/SignatureVerificationErrors.js +0 -3
  220. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/SignatureVerificationErrors.js.map +0 -1
  221. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/TokenTransferrerErrors.d.ts +0 -27
  222. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/TokenTransferrerErrors.js +0 -3
  223. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/TokenTransferrerErrors.js.map +0 -1
  224. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ZoneInteractionErrors.d.ts +0 -27
  225. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ZoneInteractionErrors.js +0 -3
  226. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/ZoneInteractionErrors.js.map +0 -1
  227. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/index.d.ts +0 -1
  228. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/index.js +0 -3
  229. package/lib/typechain-types/seaport_v1_5/contracts/interfaces/index.js.map +0 -1
  230. package/lib/typechain-types/seaport_v1_5/contracts/lib/AmountDeriver.d.ts +0 -27
  231. package/lib/typechain-types/seaport_v1_5/contracts/lib/AmountDeriver.js +0 -3
  232. package/lib/typechain-types/seaport_v1_5/contracts/lib/AmountDeriver.js.map +0 -1
  233. package/lib/typechain-types/seaport_v1_5/contracts/lib/Assertions.d.ts +0 -216
  234. package/lib/typechain-types/seaport_v1_5/contracts/lib/Assertions.js +0 -3
  235. package/lib/typechain-types/seaport_v1_5/contracts/lib/Assertions.js.map +0 -1
  236. package/lib/typechain-types/seaport_v1_5/contracts/lib/BasicOrderFulfiller.d.ts +0 -216
  237. package/lib/typechain-types/seaport_v1_5/contracts/lib/BasicOrderFulfiller.js +0 -3
  238. package/lib/typechain-types/seaport_v1_5/contracts/lib/BasicOrderFulfiller.js.map +0 -1
  239. package/lib/typechain-types/seaport_v1_5/contracts/lib/Consideration.d.ts +0 -711
  240. package/lib/typechain-types/seaport_v1_5/contracts/lib/Consideration.js +0 -3
  241. package/lib/typechain-types/seaport_v1_5/contracts/lib/Consideration.js.map +0 -1
  242. package/lib/typechain-types/seaport_v1_5/contracts/lib/ConsiderationBase.d.ts +0 -216
  243. package/lib/typechain-types/seaport_v1_5/contracts/lib/ConsiderationBase.js +0 -3
  244. package/lib/typechain-types/seaport_v1_5/contracts/lib/ConsiderationBase.js.map +0 -1
  245. package/lib/typechain-types/seaport_v1_5/contracts/lib/CounterManager.d.ts +0 -216
  246. package/lib/typechain-types/seaport_v1_5/contracts/lib/CounterManager.js +0 -3
  247. package/lib/typechain-types/seaport_v1_5/contracts/lib/CounterManager.js.map +0 -1
  248. package/lib/typechain-types/seaport_v1_5/contracts/lib/CriteriaResolution.d.ts +0 -27
  249. package/lib/typechain-types/seaport_v1_5/contracts/lib/CriteriaResolution.js +0 -3
  250. package/lib/typechain-types/seaport_v1_5/contracts/lib/CriteriaResolution.js.map +0 -1
  251. package/lib/typechain-types/seaport_v1_5/contracts/lib/Executor.d.ts +0 -216
  252. package/lib/typechain-types/seaport_v1_5/contracts/lib/Executor.js +0 -3
  253. package/lib/typechain-types/seaport_v1_5/contracts/lib/Executor.js.map +0 -1
  254. package/lib/typechain-types/seaport_v1_5/contracts/lib/FulfillmentApplier.d.ts +0 -27
  255. package/lib/typechain-types/seaport_v1_5/contracts/lib/FulfillmentApplier.js +0 -3
  256. package/lib/typechain-types/seaport_v1_5/contracts/lib/FulfillmentApplier.js.map +0 -1
  257. package/lib/typechain-types/seaport_v1_5/contracts/lib/GettersAndDerivers.d.ts +0 -216
  258. package/lib/typechain-types/seaport_v1_5/contracts/lib/GettersAndDerivers.js +0 -3
  259. package/lib/typechain-types/seaport_v1_5/contracts/lib/GettersAndDerivers.js.map +0 -1
  260. package/lib/typechain-types/seaport_v1_5/contracts/lib/OrderCombiner.d.ts +0 -216
  261. package/lib/typechain-types/seaport_v1_5/contracts/lib/OrderCombiner.js +0 -3
  262. package/lib/typechain-types/seaport_v1_5/contracts/lib/OrderCombiner.js.map +0 -1
  263. package/lib/typechain-types/seaport_v1_5/contracts/lib/OrderFulfiller.d.ts +0 -216
  264. package/lib/typechain-types/seaport_v1_5/contracts/lib/OrderFulfiller.js +0 -3
  265. package/lib/typechain-types/seaport_v1_5/contracts/lib/OrderFulfiller.js.map +0 -1
  266. package/lib/typechain-types/seaport_v1_5/contracts/lib/OrderValidator.d.ts +0 -216
  267. package/lib/typechain-types/seaport_v1_5/contracts/lib/OrderValidator.js +0 -3
  268. package/lib/typechain-types/seaport_v1_5/contracts/lib/OrderValidator.js.map +0 -1
  269. package/lib/typechain-types/seaport_v1_5/contracts/lib/ReentrancyGuard.d.ts +0 -27
  270. package/lib/typechain-types/seaport_v1_5/contracts/lib/ReentrancyGuard.js +0 -3
  271. package/lib/typechain-types/seaport_v1_5/contracts/lib/ReentrancyGuard.js.map +0 -1
  272. package/lib/typechain-types/seaport_v1_5/contracts/lib/SignatureVerification.d.ts +0 -27
  273. package/lib/typechain-types/seaport_v1_5/contracts/lib/SignatureVerification.js +0 -3
  274. package/lib/typechain-types/seaport_v1_5/contracts/lib/SignatureVerification.js.map +0 -1
  275. package/lib/typechain-types/seaport_v1_5/contracts/lib/TokenTransferrer.d.ts +0 -27
  276. package/lib/typechain-types/seaport_v1_5/contracts/lib/TokenTransferrer.js +0 -3
  277. package/lib/typechain-types/seaport_v1_5/contracts/lib/TokenTransferrer.js.map +0 -1
  278. package/lib/typechain-types/seaport_v1_5/contracts/lib/Verifiers.d.ts +0 -216
  279. package/lib/typechain-types/seaport_v1_5/contracts/lib/Verifiers.js +0 -3
  280. package/lib/typechain-types/seaport_v1_5/contracts/lib/Verifiers.js.map +0 -1
  281. package/lib/typechain-types/seaport_v1_5/contracts/lib/ZoneInteraction.d.ts +0 -27
  282. package/lib/typechain-types/seaport_v1_5/contracts/lib/ZoneInteraction.js +0 -3
  283. package/lib/typechain-types/seaport_v1_5/contracts/lib/ZoneInteraction.js.map +0 -1
  284. package/lib/typechain-types/seaport_v1_5/contracts/lib/index.d.ts +0 -18
  285. package/lib/typechain-types/seaport_v1_5/contracts/lib/index.js +0 -3
  286. package/lib/typechain-types/seaport_v1_5/contracts/lib/index.js.map +0 -1
  287. package/lib/typechain-types/src/contracts/test/TestERC721.sol.sol/TestERC721.d.ts +0 -243
  288. package/lib/typechain-types/src/contracts/test/TestERC721.sol.sol/TestERC721.js +0 -3
  289. package/lib/typechain-types/src/contracts/test/TestERC721.sol.sol/TestERC721.js.map +0 -1
  290. package/lib/typechain-types/src/contracts/test/TestERC721.sol.sol/index.d.ts +0 -1
  291. package/lib/typechain-types/src/contracts/test/TestERC721.sol.sol/index.js +0 -3
  292. package/lib/typechain-types/src/contracts/test/TestERC721.sol.sol/index.js.map +0 -1
  293. package/src/artifacts/build-info/8ec2a72c7ffed75938dc5db96ad993ab.json +0 -1
  294. package/src/artifacts/build-info/adb0dc5cdbe2af0ab1658ae96afea5af.json +0 -1
  295. package/src/artifacts/build-info/c314db703fc0cbcdaeb2d52354fe2c12.json +0 -1
  296. package/src/artifacts/seaport_v1_5/contracts/interfaces/ZoneInteractionErrors.sol/ZoneInteractionErrors.dbg.json +0 -4
  297. package/src/artifacts/seaport_v1_5/contracts/interfaces/ZoneInteractionErrors.sol/ZoneInteractionErrors.json +0 -33
  298. package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/AmountDerivationErrors__factory.ts +0 -35
  299. package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConduitControllerInterface__factory.ts +0 -460
  300. package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConduitInterface__factory.ts +0 -280
  301. package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConsiderationEventsAndErrors__factory.ts +0 -483
  302. package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/ConsiderationInterface__factory.ts +0 -2218
  303. package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/CriteriaResolutionErrors__factory.ts +0 -93
  304. package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/FulfillmentApplicationErrors__factory.ts +0 -62
  305. package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/ReentrancyErrors__factory.ts +0 -31
  306. package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/SignatureVerificationErrors__factory.ts +0 -56
  307. package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/TokenTransferrerErrors__factory.ts +0 -155
  308. package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/ZoneInteractionErrors__factory.ts +0 -52
  309. package/src/typechain-types/factories/seaport_v1_5/contracts/interfaces/index.ts +0 -4
  310. package/src/typechain-types/factories/seaport_v1_5/contracts/lib/AmountDeriver__factory.ts +0 -67
  311. package/src/typechain-types/factories/seaport_v1_5/contracts/lib/Assertions__factory.ts +0 -661
  312. package/src/typechain-types/factories/seaport_v1_5/contracts/lib/BasicOrderFulfiller__factory.ts +0 -709
  313. package/src/typechain-types/factories/seaport_v1_5/contracts/lib/ConsiderationBase__factory.ts +0 -531
  314. package/src/typechain-types/factories/seaport_v1_5/contracts/lib/Consideration__factory.ts +0 -3001
  315. package/src/typechain-types/factories/seaport_v1_5/contracts/lib/CounterManager__factory.ts +0 -520
  316. package/src/typechain-types/factories/seaport_v1_5/contracts/lib/CriteriaResolution__factory.ts +0 -125
  317. package/src/typechain-types/factories/seaport_v1_5/contracts/lib/Executor__factory.ts +0 -687
  318. package/src/typechain-types/factories/seaport_v1_5/contracts/lib/FulfillmentApplier__factory.ts +0 -94
  319. package/src/typechain-types/factories/seaport_v1_5/contracts/lib/GettersAndDerivers__factory.ts +0 -531
  320. package/src/typechain-types/factories/seaport_v1_5/contracts/lib/OrderCombiner__factory.ts +0 -809
  321. package/src/typechain-types/factories/seaport_v1_5/contracts/lib/OrderFulfiller__factory.ts +0 -777
  322. package/src/typechain-types/factories/seaport_v1_5/contracts/lib/OrderValidator__factory.ts +0 -709
  323. package/src/typechain-types/factories/seaport_v1_5/contracts/lib/ReentrancyGuard__factory.ts +0 -72
  324. package/src/typechain-types/factories/seaport_v1_5/contracts/lib/SignatureVerification__factory.ts +0 -92
  325. package/src/typechain-types/factories/seaport_v1_5/contracts/lib/TokenTransferrer__factory.ts +0 -187
  326. package/src/typechain-types/factories/seaport_v1_5/contracts/lib/Verifiers__factory.ts +0 -687
  327. package/src/typechain-types/factories/seaport_v1_5/contracts/lib/ZoneInteraction__factory.ts +0 -84
  328. package/src/typechain-types/factories/seaport_v1_5/contracts/lib/index.ts +0 -21
  329. package/src/typechain-types/factories/src/contracts/test/TestERC721.sol.sol/TestERC721__factory.ts +0 -416
  330. package/src/typechain-types/factories/src/contracts/test/TestERC721.sol.sol/index.ts +0 -4
  331. package/src/typechain-types/seaport_v1_5/contracts/interfaces/AmountDerivationErrors.ts +0 -55
  332. package/src/typechain-types/seaport_v1_5/contracts/interfaces/ConduitControllerInterface.ts +0 -612
  333. package/src/typechain-types/seaport_v1_5/contracts/interfaces/ConduitInterface.ts +0 -295
  334. package/src/typechain-types/seaport_v1_5/contracts/interfaces/ConsiderationEventsAndErrors.ts +0 -313
  335. package/src/typechain-types/seaport_v1_5/contracts/interfaces/ConsiderationInterface.ts +0 -1074
  336. package/src/typechain-types/seaport_v1_5/contracts/interfaces/CriteriaResolutionErrors.ts +0 -55
  337. package/src/typechain-types/seaport_v1_5/contracts/interfaces/FulfillmentApplicationErrors.ts +0 -55
  338. package/src/typechain-types/seaport_v1_5/contracts/interfaces/ReentrancyErrors.ts +0 -55
  339. package/src/typechain-types/seaport_v1_5/contracts/interfaces/SignatureVerificationErrors.ts +0 -55
  340. package/src/typechain-types/seaport_v1_5/contracts/interfaces/TokenTransferrerErrors.ts +0 -55
  341. package/src/typechain-types/seaport_v1_5/contracts/interfaces/ZoneInteractionErrors.ts +0 -55
  342. package/src/typechain-types/seaport_v1_5/contracts/interfaces/index.ts +0 -4
  343. package/src/typechain-types/seaport_v1_5/contracts/lib/AmountDeriver.ts +0 -55
  344. package/src/typechain-types/seaport_v1_5/contracts/lib/Assertions.ts +0 -313
  345. package/src/typechain-types/seaport_v1_5/contracts/lib/BasicOrderFulfiller.ts +0 -313
  346. package/src/typechain-types/seaport_v1_5/contracts/lib/Consideration.ts +0 -1211
  347. package/src/typechain-types/seaport_v1_5/contracts/lib/ConsiderationBase.ts +0 -313
  348. package/src/typechain-types/seaport_v1_5/contracts/lib/CounterManager.ts +0 -313
  349. package/src/typechain-types/seaport_v1_5/contracts/lib/CriteriaResolution.ts +0 -55
  350. package/src/typechain-types/seaport_v1_5/contracts/lib/Executor.ts +0 -313
  351. package/src/typechain-types/seaport_v1_5/contracts/lib/FulfillmentApplier.ts +0 -55
  352. package/src/typechain-types/seaport_v1_5/contracts/lib/GettersAndDerivers.ts +0 -313
  353. package/src/typechain-types/seaport_v1_5/contracts/lib/OrderCombiner.ts +0 -313
  354. package/src/typechain-types/seaport_v1_5/contracts/lib/OrderFulfiller.ts +0 -313
  355. package/src/typechain-types/seaport_v1_5/contracts/lib/OrderValidator.ts +0 -313
  356. package/src/typechain-types/seaport_v1_5/contracts/lib/ReentrancyGuard.ts +0 -55
  357. package/src/typechain-types/seaport_v1_5/contracts/lib/SignatureVerification.ts +0 -55
  358. package/src/typechain-types/seaport_v1_5/contracts/lib/TokenTransferrer.ts +0 -55
  359. package/src/typechain-types/seaport_v1_5/contracts/lib/Verifiers.ts +0 -313
  360. package/src/typechain-types/seaport_v1_5/contracts/lib/ZoneInteraction.ts +0 -55
  361. package/src/typechain-types/seaport_v1_5/contracts/lib/index.ts +0 -21
  362. package/src/typechain-types/src/contracts/test/TestERC721.sol.sol/TestERC721.ts +0 -600
  363. package/src/typechain-types/src/contracts/test/TestERC721.sol.sol/index.ts +0 -4
@@ -1 +0,0 @@
1
- {"id":"adb0dc5cdbe2af0ab1658ae96afea5af","_format":"hh-sol-build-info-1","solcVersion":"0.8.17","solcLongVersion":"0.8.17+commit.8df45f5f","input":{"language":"Solidity","sources":{"@rari-capital/solmate/src/tokens/ERC20.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity >=0.8.0;\n\n/// @notice Modern and gas efficient ERC20 + EIP-2612 implementation.\n/// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC20.sol)\n/// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)\n/// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.\nabstract contract ERC20 {\n /*//////////////////////////////////////////////////////////////\n EVENTS\n //////////////////////////////////////////////////////////////*/\n\n event Transfer(address indexed from, address indexed to, uint256 amount);\n\n event Approval(address indexed owner, address indexed spender, uint256 amount);\n\n /*//////////////////////////////////////////////////////////////\n METADATA STORAGE\n //////////////////////////////////////////////////////////////*/\n\n string public name;\n\n string public symbol;\n\n uint8 public immutable decimals;\n\n /*//////////////////////////////////////////////////////////////\n ERC20 STORAGE\n //////////////////////////////////////////////////////////////*/\n\n uint256 public totalSupply;\n\n mapping(address => uint256) public balanceOf;\n\n mapping(address => mapping(address => uint256)) public allowance;\n\n /*//////////////////////////////////////////////////////////////\n EIP-2612 STORAGE\n //////////////////////////////////////////////////////////////*/\n\n uint256 internal immutable INITIAL_CHAIN_ID;\n\n bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR;\n\n mapping(address => uint256) public nonces;\n\n /*//////////////////////////////////////////////////////////////\n CONSTRUCTOR\n //////////////////////////////////////////////////////////////*/\n\n constructor(\n string memory _name,\n string memory _symbol,\n uint8 _decimals\n ) {\n name = _name;\n symbol = _symbol;\n decimals = _decimals;\n\n INITIAL_CHAIN_ID = block.chainid;\n INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator();\n }\n\n /*//////////////////////////////////////////////////////////////\n ERC20 LOGIC\n //////////////////////////////////////////////////////////////*/\n\n function approve(address spender, uint256 amount) public virtual returns (bool) {\n allowance[msg.sender][spender] = amount;\n\n emit Approval(msg.sender, spender, amount);\n\n return true;\n }\n\n function transfer(address to, uint256 amount) public virtual returns (bool) {\n balanceOf[msg.sender] -= amount;\n\n // Cannot overflow because the sum of all user\n // balances can't exceed the max uint256 value.\n unchecked {\n balanceOf[to] += amount;\n }\n\n emit Transfer(msg.sender, to, amount);\n\n return true;\n }\n\n function transferFrom(\n address from,\n address to,\n uint256 amount\n ) public virtual returns (bool) {\n uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals.\n\n if (allowed != type(uint256).max) allowance[from][msg.sender] = allowed - amount;\n\n balanceOf[from] -= amount;\n\n // Cannot overflow because the sum of all user\n // balances can't exceed the max uint256 value.\n unchecked {\n balanceOf[to] += amount;\n }\n\n emit Transfer(from, to, amount);\n\n return true;\n }\n\n /*//////////////////////////////////////////////////////////////\n EIP-2612 LOGIC\n //////////////////////////////////////////////////////////////*/\n\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) public virtual {\n require(deadline >= block.timestamp, \"PERMIT_DEADLINE_EXPIRED\");\n\n // Unchecked because the only math done is incrementing\n // the owner's nonce which cannot realistically overflow.\n unchecked {\n address recoveredAddress = ecrecover(\n keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\n \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"\n ),\n owner,\n spender,\n value,\n nonces[owner]++,\n deadline\n )\n )\n )\n ),\n v,\n r,\n s\n );\n\n require(recoveredAddress != address(0) && recoveredAddress == owner, \"INVALID_SIGNER\");\n\n allowance[recoveredAddress][spender] = value;\n }\n\n emit Approval(owner, spender, value);\n }\n\n function DOMAIN_SEPARATOR() public view virtual returns (bytes32) {\n return block.chainid == INITIAL_CHAIN_ID ? INITIAL_DOMAIN_SEPARATOR : computeDomainSeparator();\n }\n\n function computeDomainSeparator() internal view virtual returns (bytes32) {\n return\n keccak256(\n abi.encode(\n keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"),\n keccak256(bytes(name)),\n keccak256(\"1\"),\n block.chainid,\n address(this)\n )\n );\n }\n\n /*//////////////////////////////////////////////////////////////\n INTERNAL MINT/BURN LOGIC\n //////////////////////////////////////////////////////////////*/\n\n function _mint(address to, uint256 amount) internal virtual {\n totalSupply += amount;\n\n // Cannot overflow because the sum of all user\n // balances can't exceed the max uint256 value.\n unchecked {\n balanceOf[to] += amount;\n }\n\n emit Transfer(address(0), to, amount);\n }\n\n function _burn(address from, uint256 amount) internal virtual {\n balanceOf[from] -= amount;\n\n // Cannot underflow because a user's balance\n // will never be larger than the total supply.\n unchecked {\n totalSupply -= amount;\n }\n\n emit Transfer(from, address(0), amount);\n }\n}\n"},"src/contracts/test/TestERC20USDC.sol":{"content":"//SPDX-License-Identifier: Unlicense\npragma solidity >=0.8.7;\n\nimport \"@rari-capital/solmate/src/tokens/ERC20.sol\";\n\n// Used for minting test USDC (6 decimals) in our tests\ncontract TestERC20USDC is ERC20(\"TestUSDC\", \"TSTUSDC\", 6) {\n bool public blocked;\n\n constructor() {\n blocked = false;\n }\n\n function blockTransfer(bool blocking) external {\n blocked = blocking;\n }\n\n function mint(address to, uint256 amount) external returns (bool) {\n _mint(to, amount);\n return true;\n }\n\n function transferFrom(\n address from,\n address to,\n uint256 amount\n ) public override returns (bool ok) {\n if (blocked) {\n return false;\n }\n\n super.transferFrom(from, to, amount);\n\n ok = true;\n }\n}\n"}},"settings":{"optimizer":{"enabled":true,"runs":200},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"sources":{"@rari-capital/solmate/src/tokens/ERC20.sol":{"ast":{"absolutePath":"@rari-capital/solmate/src/tokens/ERC20.sol","exportedSymbols":{"ERC20":[387]},"id":388,"license":"AGPL-3.0-only","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity",">=","0.8",".0"],"nodeType":"PragmaDirective","src":"42:24:0"},{"abstract":true,"baseContracts":[],"canonicalName":"ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":2,"nodeType":"StructuredDocumentation","src":"68:403:0","text":"@notice Modern and gas efficient ERC20 + EIP-2612 implementation.\n @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC20.sol)\n @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)\n @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it."},"fullyImplemented":true,"id":387,"linearizedBaseContracts":[387],"name":"ERC20","nameLocation":"489:5:0","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","id":10,"name":"Transfer","nameLocation":"686:8:0","nodeType":"EventDefinition","parameters":{"id":9,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"711:4:0","nodeType":"VariableDeclaration","scope":10,"src":"695:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3,"name":"address","nodeType":"ElementaryTypeName","src":"695:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"733:2:0","nodeType":"VariableDeclaration","scope":10,"src":"717:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5,"name":"address","nodeType":"ElementaryTypeName","src":"717:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"745:6:0","nodeType":"VariableDeclaration","scope":10,"src":"737:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7,"name":"uint256","nodeType":"ElementaryTypeName","src":"737:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"694:58:0"},"src":"680:73:0"},{"anonymous":false,"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","id":18,"name":"Approval","nameLocation":"765:8:0","nodeType":"EventDefinition","parameters":{"id":17,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"790:5:0","nodeType":"VariableDeclaration","scope":18,"src":"774:21:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11,"name":"address","nodeType":"ElementaryTypeName","src":"774:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"813:7:0","nodeType":"VariableDeclaration","scope":18,"src":"797:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13,"name":"address","nodeType":"ElementaryTypeName","src":"797:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"830:6:0","nodeType":"VariableDeclaration","scope":18,"src":"822:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15,"name":"uint256","nodeType":"ElementaryTypeName","src":"822:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"773:64:0"},"src":"759:79:0"},{"constant":false,"functionSelector":"06fdde03","id":20,"mutability":"mutable","name":"name","nameLocation":"1042:4:0","nodeType":"VariableDeclaration","scope":387,"src":"1028:18:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":19,"name":"string","nodeType":"ElementaryTypeName","src":"1028:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"constant":false,"functionSelector":"95d89b41","id":22,"mutability":"mutable","name":"symbol","nameLocation":"1067:6:0","nodeType":"VariableDeclaration","scope":387,"src":"1053:20:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":21,"name":"string","nodeType":"ElementaryTypeName","src":"1053:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"constant":false,"functionSelector":"313ce567","id":24,"mutability":"immutable","name":"decimals","nameLocation":"1103:8:0","nodeType":"VariableDeclaration","scope":387,"src":"1080:31:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":23,"name":"uint8","nodeType":"ElementaryTypeName","src":"1080:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"public"},{"constant":false,"functionSelector":"18160ddd","id":26,"mutability":"mutable","name":"totalSupply","nameLocation":"1316:11:0","nodeType":"VariableDeclaration","scope":387,"src":"1301:26:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25,"name":"uint256","nodeType":"ElementaryTypeName","src":"1301:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"functionSelector":"70a08231","id":30,"mutability":"mutable","name":"balanceOf","nameLocation":"1369:9:0","nodeType":"VariableDeclaration","scope":387,"src":"1334:44:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":29,"keyType":{"id":27,"name":"address","nodeType":"ElementaryTypeName","src":"1342:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1334:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":28,"name":"uint256","nodeType":"ElementaryTypeName","src":"1353:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"constant":false,"functionSelector":"dd62ed3e","id":36,"mutability":"mutable","name":"allowance","nameLocation":"1440:9:0","nodeType":"VariableDeclaration","scope":387,"src":"1385:64:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":35,"keyType":{"id":31,"name":"address","nodeType":"ElementaryTypeName","src":"1393:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1385:47:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueType":{"id":34,"keyType":{"id":32,"name":"address","nodeType":"ElementaryTypeName","src":"1412:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1404:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":33,"name":"uint256","nodeType":"ElementaryTypeName","src":"1423:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"public"},{"constant":false,"id":38,"mutability":"immutable","name":"INITIAL_CHAIN_ID","nameLocation":"1667:16:0","nodeType":"VariableDeclaration","scope":387,"src":"1640:43:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37,"name":"uint256","nodeType":"ElementaryTypeName","src":"1640:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":40,"mutability":"immutable","name":"INITIAL_DOMAIN_SEPARATOR","nameLocation":"1717:24:0","nodeType":"VariableDeclaration","scope":387,"src":"1690:51:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":39,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1690:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"functionSelector":"7ecebe00","id":44,"mutability":"mutable","name":"nonces","nameLocation":"1783:6:0","nodeType":"VariableDeclaration","scope":387,"src":"1748:41:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":43,"keyType":{"id":41,"name":"address","nodeType":"ElementaryTypeName","src":"1756:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1748:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":42,"name":"uint256","nodeType":"ElementaryTypeName","src":"1767:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"body":{"id":75,"nodeType":"Block","src":"2081:189:0","statements":[{"expression":{"id":55,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":53,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20,"src":"2091:4:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":54,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46,"src":"2098:5:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2091:12:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":56,"nodeType":"ExpressionStatement","src":"2091:12:0"},{"expression":{"id":59,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57,"name":"symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22,"src":"2113:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":58,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48,"src":"2122:7:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2113:16:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":60,"nodeType":"ExpressionStatement","src":"2113:16:0"},{"expression":{"id":63,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24,"src":"2139:8:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50,"src":"2150:9:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"2139:20:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":64,"nodeType":"ExpressionStatement","src":"2139:20:0"},{"expression":{"id":68,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38,"src":"2170:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":66,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2189:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":67,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2195:7:0","memberName":"chainid","nodeType":"MemberAccess","src":"2189:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2170:32:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":69,"nodeType":"ExpressionStatement","src":"2170:32:0"},{"expression":{"id":73,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":70,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"2212:24:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":71,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":330,"src":"2239:22:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":72,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2239:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2212:51:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":74,"nodeType":"ExpressionStatement","src":"2212:51:0"}]},"id":76,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":51,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46,"mutability":"mutable","name":"_name","nameLocation":"2013:5:0","nodeType":"VariableDeclaration","scope":76,"src":"1999:19:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45,"name":"string","nodeType":"ElementaryTypeName","src":"1999:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48,"mutability":"mutable","name":"_symbol","nameLocation":"2042:7:0","nodeType":"VariableDeclaration","scope":76,"src":"2028:21:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47,"name":"string","nodeType":"ElementaryTypeName","src":"2028:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50,"mutability":"mutable","name":"_decimals","nameLocation":"2065:9:0","nodeType":"VariableDeclaration","scope":76,"src":"2059:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":49,"name":"uint8","nodeType":"ElementaryTypeName","src":"2059:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1989:91:0"},"returnParameters":{"id":52,"nodeType":"ParameterList","parameters":[],"src":"2081:0:0"},"scope":387,"src":"1978:292:0","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":103,"nodeType":"Block","src":"2538:131:0","statements":[{"expression":{"id":92,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":85,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36,"src":"2548:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":89,"indexExpression":{"expression":{"id":86,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2558:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":87,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2562:6:0","memberName":"sender","nodeType":"MemberAccess","src":"2558:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2548:21:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":90,"indexExpression":{"id":88,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78,"src":"2570:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2548:30:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":91,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80,"src":"2581:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2548:39:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":93,"nodeType":"ExpressionStatement","src":"2548:39:0"},{"eventCall":{"arguments":[{"expression":{"id":95,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2612:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":96,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2616:6:0","memberName":"sender","nodeType":"MemberAccess","src":"2612:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":97,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78,"src":"2624:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":98,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80,"src":"2633:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18,"src":"2603:8:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":99,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2603:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100,"nodeType":"EmitStatement","src":"2598:42:0"},{"expression":{"hexValue":"74727565","id":101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2658:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":84,"id":102,"nodeType":"Return","src":"2651:11:0"}]},"functionSelector":"095ea7b3","id":104,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2467:7:0","nodeType":"FunctionDefinition","parameters":{"id":81,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78,"mutability":"mutable","name":"spender","nameLocation":"2483:7:0","nodeType":"VariableDeclaration","scope":104,"src":"2475:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77,"name":"address","nodeType":"ElementaryTypeName","src":"2475:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":80,"mutability":"mutable","name":"amount","nameLocation":"2500:6:0","nodeType":"VariableDeclaration","scope":104,"src":"2492:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79,"name":"uint256","nodeType":"ElementaryTypeName","src":"2492:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2474:33:0"},"returnParameters":{"id":84,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":104,"src":"2532:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":82,"name":"bool","nodeType":"ElementaryTypeName","src":"2532:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2531:6:0"},"scope":387,"src":"2458:211:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":136,"nodeType":"Block","src":"2751:297:0","statements":[{"expression":{"id":118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":113,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30,"src":"2761:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":116,"indexExpression":{"expression":{"id":114,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2771:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2775:6:0","memberName":"sender","nodeType":"MemberAccess","src":"2771:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2761:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":117,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"2786:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2761:31:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":119,"nodeType":"ExpressionStatement","src":"2761:31:0"},{"id":126,"nodeType":"UncheckedBlock","src":"2914:58:0","statements":[{"expression":{"id":124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":120,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30,"src":"2938:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":122,"indexExpression":{"id":121,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":106,"src":"2948:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2938:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":123,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"2955:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2938:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":125,"nodeType":"ExpressionStatement","src":"2938:23:0"}]},{"eventCall":{"arguments":[{"expression":{"id":128,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2996:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3000:6:0","memberName":"sender","nodeType":"MemberAccess","src":"2996:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":130,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":106,"src":"3008:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":131,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"3012:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":127,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10,"src":"2987:8:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2987:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":133,"nodeType":"EmitStatement","src":"2982:37:0"},{"expression":{"hexValue":"74727565","id":134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3037:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":112,"id":135,"nodeType":"Return","src":"3030:11:0"}]},"functionSelector":"a9059cbb","id":137,"implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"2684:8:0","nodeType":"FunctionDefinition","parameters":{"id":109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":106,"mutability":"mutable","name":"to","nameLocation":"2701:2:0","nodeType":"VariableDeclaration","scope":137,"src":"2693:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":105,"name":"address","nodeType":"ElementaryTypeName","src":"2693:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":108,"mutability":"mutable","name":"amount","nameLocation":"2713:6:0","nodeType":"VariableDeclaration","scope":137,"src":"2705:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":107,"name":"uint256","nodeType":"ElementaryTypeName","src":"2705:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2692:28:0"},"returnParameters":{"id":112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":111,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":137,"src":"2745:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":110,"name":"bool","nodeType":"ElementaryTypeName","src":"2745:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2744:6:0"},"scope":387,"src":"2675:373:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":197,"nodeType":"Block","src":"3178:468:0","statements":[{"assignments":[149],"declarations":[{"constant":false,"id":149,"mutability":"mutable","name":"allowed","nameLocation":"3196:7:0","nodeType":"VariableDeclaration","scope":197,"src":"3188:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":148,"name":"uint256","nodeType":"ElementaryTypeName","src":"3188:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":156,"initialValue":{"baseExpression":{"baseExpression":{"id":150,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36,"src":"3206:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":152,"indexExpression":{"id":151,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":139,"src":"3216:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3206:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":155,"indexExpression":{"expression":{"id":153,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3222:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3226:6:0","memberName":"sender","nodeType":"MemberAccess","src":"3222:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3206:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3188:45:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":157,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":149,"src":"3284:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":160,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3300:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":159,"name":"uint256","nodeType":"ElementaryTypeName","src":"3300:7:0","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":158,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3295:4:0","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3295:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3309:3:0","memberName":"max","nodeType":"MemberAccess","src":"3295:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3284:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":175,"nodeType":"IfStatement","src":"3280:80:0","trueBody":{"expression":{"id":173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":164,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36,"src":"3314:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":168,"indexExpression":{"id":165,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":139,"src":"3324:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3314:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":169,"indexExpression":{"expression":{"id":166,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3330:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3334:6:0","memberName":"sender","nodeType":"MemberAccess","src":"3330:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3314:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":170,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":149,"src":"3344:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":171,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":143,"src":"3354:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3344:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3314:46:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":174,"nodeType":"ExpressionStatement","src":"3314:46:0"}},{"expression":{"id":180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":176,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30,"src":"3371:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":178,"indexExpression":{"id":177,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":139,"src":"3381:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3371:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":179,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":143,"src":"3390:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3371:25:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":181,"nodeType":"ExpressionStatement","src":"3371:25:0"},{"id":188,"nodeType":"UncheckedBlock","src":"3518:58:0","statements":[{"expression":{"id":186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":182,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30,"src":"3542:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":184,"indexExpression":{"id":183,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":141,"src":"3552:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3542:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":185,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":143,"src":"3559:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3542:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":187,"nodeType":"ExpressionStatement","src":"3542:23:0"}]},{"eventCall":{"arguments":[{"id":190,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":139,"src":"3600:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":191,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":141,"src":"3606:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":192,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":143,"src":"3610:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":189,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10,"src":"3591:8:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3591:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":194,"nodeType":"EmitStatement","src":"3586:31:0"},{"expression":{"hexValue":"74727565","id":195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3635:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":147,"id":196,"nodeType":"Return","src":"3628:11:0"}]},"functionSelector":"23b872dd","id":198,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"3063:12:0","nodeType":"FunctionDefinition","parameters":{"id":144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":139,"mutability":"mutable","name":"from","nameLocation":"3093:4:0","nodeType":"VariableDeclaration","scope":198,"src":"3085:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":138,"name":"address","nodeType":"ElementaryTypeName","src":"3085:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":141,"mutability":"mutable","name":"to","nameLocation":"3115:2:0","nodeType":"VariableDeclaration","scope":198,"src":"3107:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":140,"name":"address","nodeType":"ElementaryTypeName","src":"3107:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":143,"mutability":"mutable","name":"amount","nameLocation":"3135:6:0","nodeType":"VariableDeclaration","scope":198,"src":"3127:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":142,"name":"uint256","nodeType":"ElementaryTypeName","src":"3127:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3075:72:0"},"returnParameters":{"id":147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":146,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":198,"src":"3172:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":145,"name":"bool","nodeType":"ElementaryTypeName","src":"3172:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3171:6:0"},"scope":387,"src":"3054:592:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":284,"nodeType":"Block","src":"4024:1294:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":216,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":206,"src":"4042:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":217,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4054:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4060:9:0","memberName":"timestamp","nodeType":"MemberAccess","src":"4054:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4042:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5045524d49545f444541444c494e455f45585049524544","id":220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4071:25:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""},"value":"PERMIT_DEADLINE_EXPIRED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""}],"id":215,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4034:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4034:63:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":222,"nodeType":"ExpressionStatement","src":"4034:63:0"},{"id":277,"nodeType":"UncheckedBlock","src":"4238:1027:0","statements":[{"assignments":[224],"declarations":[{"constant":false,"id":224,"mutability":"mutable","name":"recoveredAddress","nameLocation":"4270:16:0","nodeType":"VariableDeclaration","scope":277,"src":"4262:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":223,"name":"address","nodeType":"ElementaryTypeName","src":"4262:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":254,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"1901","id":229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4389:10:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"id":230,"name":"DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"4425:16:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4425:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4599:84:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":235,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4552:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4552:165:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":238,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":200,"src":"4751:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":239,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":202,"src":"4790:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":240,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":204,"src":"4831:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4870:15:0","subExpression":{"baseExpression":{"id":241,"name":"nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44,"src":"4870:6:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":243,"indexExpression":{"id":242,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":200,"src":"4877:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4870:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":245,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":206,"src":"4919:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":233,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4508:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":234,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4512:6:0","memberName":"encode","nodeType":"MemberAccess","src":"4508:10:0","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4508:449:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":232,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4469:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4469:514:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":227,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4347:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":228,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4351:12:0","memberName":"encodePacked","nodeType":"MemberAccess","src":"4347:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4347:658:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":226,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4316:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4316:707:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":250,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":208,"src":"5041:1:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":251,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":210,"src":"5060:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":252,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":212,"src":"5079:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":225,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"4289:9:0","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4289:805:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4262:832:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":256,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":224,"src":"5117:16:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5145:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5137:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":257,"name":"address","nodeType":"ElementaryTypeName","src":"5137:7:0","typeDescriptions":{}}},"id":260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5137:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5117:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":262,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":224,"src":"5151:16:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":263,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":200,"src":"5171:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5151:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5117:59:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"494e56414c49445f5349474e4552","id":266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5178:16:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""},"value":"INVALID_SIGNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""}],"id":255,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5109:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5109:86:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":268,"nodeType":"ExpressionStatement","src":"5109:86:0"},{"expression":{"id":275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":269,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36,"src":"5210:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":272,"indexExpression":{"id":270,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":224,"src":"5220:16:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5210:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":273,"indexExpression":{"id":271,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":202,"src":"5238:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5210:36:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":274,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":204,"src":"5249:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5210:44:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":276,"nodeType":"ExpressionStatement","src":"5210:44:0"}]},{"eventCall":{"arguments":[{"id":279,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":200,"src":"5289:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":280,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":202,"src":"5296:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":281,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":204,"src":"5305:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":278,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18,"src":"5280:8:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5280:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":283,"nodeType":"EmitStatement","src":"5275:36:0"}]},"functionSelector":"d505accf","id":285,"implemented":true,"kind":"function","modifiers":[],"name":"permit","nameLocation":"3844:6:0","nodeType":"FunctionDefinition","parameters":{"id":213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":200,"mutability":"mutable","name":"owner","nameLocation":"3868:5:0","nodeType":"VariableDeclaration","scope":285,"src":"3860:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":199,"name":"address","nodeType":"ElementaryTypeName","src":"3860:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":202,"mutability":"mutable","name":"spender","nameLocation":"3891:7:0","nodeType":"VariableDeclaration","scope":285,"src":"3883:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":201,"name":"address","nodeType":"ElementaryTypeName","src":"3883:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":204,"mutability":"mutable","name":"value","nameLocation":"3916:5:0","nodeType":"VariableDeclaration","scope":285,"src":"3908:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":203,"name":"uint256","nodeType":"ElementaryTypeName","src":"3908:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":206,"mutability":"mutable","name":"deadline","nameLocation":"3939:8:0","nodeType":"VariableDeclaration","scope":285,"src":"3931:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":205,"name":"uint256","nodeType":"ElementaryTypeName","src":"3931:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":208,"mutability":"mutable","name":"v","nameLocation":"3963:1:0","nodeType":"VariableDeclaration","scope":285,"src":"3957:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":207,"name":"uint8","nodeType":"ElementaryTypeName","src":"3957:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":210,"mutability":"mutable","name":"r","nameLocation":"3982:1:0","nodeType":"VariableDeclaration","scope":285,"src":"3974:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":209,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3974:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":212,"mutability":"mutable","name":"s","nameLocation":"4001:1:0","nodeType":"VariableDeclaration","scope":285,"src":"3993:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":211,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3993:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3850:158:0"},"returnParameters":{"id":214,"nodeType":"ParameterList","parameters":[],"src":"4024:0:0"},"scope":387,"src":"3835:1483:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":299,"nodeType":"Block","src":"5390:111:0","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":290,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5407:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5413:7:0","memberName":"chainid","nodeType":"MemberAccess","src":"5407:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":292,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38,"src":"5424:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5407:33:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":295,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":330,"src":"5470:22:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5470:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5407:87:0","trueExpression":{"id":294,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"5443:24:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":289,"id":298,"nodeType":"Return","src":"5400:94:0"}]},"functionSelector":"3644e515","id":300,"implemented":true,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"5333:16:0","nodeType":"FunctionDefinition","parameters":{"id":286,"nodeType":"ParameterList","parameters":[],"src":"5349:2:0"},"returnParameters":{"id":289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":288,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":300,"src":"5381:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":287,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5381:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5380:9:0"},"scope":387,"src":"5324:177:0","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":329,"nodeType":"Block","src":"5581:372:0","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429","id":309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5679:84:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""},"value":"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""}],"id":308,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5669:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5669:95:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":314,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20,"src":"5802:4:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":313,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5796:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":312,"name":"bytes","nodeType":"ElementaryTypeName","src":"5796:5:0","typeDescriptions":{}}},"id":315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5796:11:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}],"id":311,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5786:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5786:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"31","id":318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5840:3:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""}],"id":317,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5830:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5830:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":320,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5866:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5872:7:0","memberName":"chainid","nodeType":"MemberAccess","src":"5866:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":324,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5909:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$387","typeString":"contract ERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC20_$387","typeString":"contract ERC20"}],"id":323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5901:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":322,"name":"address","nodeType":"ElementaryTypeName","src":"5901:7:0","typeDescriptions":{}}},"id":325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5901:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":306,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5637:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":307,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5641:6:0","memberName":"encode","nodeType":"MemberAccess","src":"5637:10:0","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5637:295:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":305,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5610:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5610:336:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":304,"id":328,"nodeType":"Return","src":"5591:355:0"}]},"id":330,"implemented":true,"kind":"function","modifiers":[],"name":"computeDomainSeparator","nameLocation":"5516:22:0","nodeType":"FunctionDefinition","parameters":{"id":301,"nodeType":"ParameterList","parameters":[],"src":"5538:2:0"},"returnParameters":{"id":304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":303,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":330,"src":"5572:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":302,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5572:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5571:9:0"},"scope":387,"src":"5507:446:0","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":357,"nodeType":"Block","src":"6207:265:0","statements":[{"expression":{"id":339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":337,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26,"src":"6217:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":338,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":334,"src":"6232:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6217:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":340,"nodeType":"ExpressionStatement","src":"6217:21:0"},{"id":347,"nodeType":"UncheckedBlock","src":"6360:58:0","statements":[{"expression":{"id":345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":341,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30,"src":"6384:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":343,"indexExpression":{"id":342,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":332,"src":"6394:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6384:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":344,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":334,"src":"6401:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6384:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":346,"nodeType":"ExpressionStatement","src":"6384:23:0"}]},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6450:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":350,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6442:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":349,"name":"address","nodeType":"ElementaryTypeName","src":"6442:7:0","typeDescriptions":{}}},"id":352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6442:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":353,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":332,"src":"6454:2:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":354,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":334,"src":"6458:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":348,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10,"src":"6433:8:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6433:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":356,"nodeType":"EmitStatement","src":"6428:37:0"}]},"id":358,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"6156:5:0","nodeType":"FunctionDefinition","parameters":{"id":335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":332,"mutability":"mutable","name":"to","nameLocation":"6170:2:0","nodeType":"VariableDeclaration","scope":358,"src":"6162:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":331,"name":"address","nodeType":"ElementaryTypeName","src":"6162:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":334,"mutability":"mutable","name":"amount","nameLocation":"6182:6:0","nodeType":"VariableDeclaration","scope":358,"src":"6174:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":333,"name":"uint256","nodeType":"ElementaryTypeName","src":"6174:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6161:28:0"},"returnParameters":{"id":336,"nodeType":"ParameterList","parameters":[],"src":"6207:0:0"},"scope":387,"src":"6147:325:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":385,"nodeType":"Block","src":"6540:266:0","statements":[{"expression":{"id":369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":365,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30,"src":"6550:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":367,"indexExpression":{"id":366,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":360,"src":"6560:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6550:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":368,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":362,"src":"6569:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6550:25:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":370,"nodeType":"ExpressionStatement","src":"6550:25:0"},{"id":375,"nodeType":"UncheckedBlock","src":"6694:56:0","statements":[{"expression":{"id":373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":371,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26,"src":"6718:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":372,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":362,"src":"6733:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6718:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":374,"nodeType":"ExpressionStatement","src":"6718:21:0"}]},{"eventCall":{"arguments":[{"id":377,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":360,"src":"6774:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6788:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":379,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6780:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":378,"name":"address","nodeType":"ElementaryTypeName","src":"6780:7:0","typeDescriptions":{}}},"id":381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6780:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":382,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":362,"src":"6792:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":376,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10,"src":"6765:8:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6765:34:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":384,"nodeType":"EmitStatement","src":"6760:39:0"}]},"id":386,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"6487:5:0","nodeType":"FunctionDefinition","parameters":{"id":363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":360,"mutability":"mutable","name":"from","nameLocation":"6501:4:0","nodeType":"VariableDeclaration","scope":386,"src":"6493:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":359,"name":"address","nodeType":"ElementaryTypeName","src":"6493:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":362,"mutability":"mutable","name":"amount","nameLocation":"6515:6:0","nodeType":"VariableDeclaration","scope":386,"src":"6507:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":361,"name":"uint256","nodeType":"ElementaryTypeName","src":"6507:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6492:30:0"},"returnParameters":{"id":364,"nodeType":"ParameterList","parameters":[],"src":"6540:0:0"},"scope":387,"src":"6478:328:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":388,"src":"471:6337:0","usedErrors":[]}],"src":"42:6767:0"},"id":0},"src/contracts/test/TestERC20USDC.sol":{"ast":{"absolutePath":"src/contracts/test/TestERC20USDC.sol","exportedSymbols":{"ERC20":[387],"TestERC20USDC":[463]},"id":464,"license":"Unlicense","nodeType":"SourceUnit","nodes":[{"id":389,"literals":["solidity",">=","0.8",".7"],"nodeType":"PragmaDirective","src":"37:24:1"},{"absolutePath":"@rari-capital/solmate/src/tokens/ERC20.sol","file":"@rari-capital/solmate/src/tokens/ERC20.sol","id":390,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":464,"sourceUnit":388,"src":"63:52:1","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"arguments":[{"hexValue":"5465737455534443","id":392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"205:10:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_57929ecf232c02ddcaf4c761e28b93b3a83f732e8bcc9b89c7753e283fb13e1c","typeString":"literal_string \"TestUSDC\""},"value":"TestUSDC"},{"hexValue":"54535455534443","id":393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"217:9:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_052b52cc02f7d04b3c2c9acbc033addec7bbb103ad7525109d2acd69144a20ec","typeString":"literal_string \"TSTUSDC\""},"value":"TSTUSDC"},{"hexValue":"36","id":394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"228:1:1","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"}],"baseName":{"id":391,"name":"ERC20","nameLocations":["199:5:1"],"nodeType":"IdentifierPath","referencedDeclaration":387,"src":"199:5:1"},"id":395,"nodeType":"InheritanceSpecifier","src":"199:31:1"}],"canonicalName":"TestERC20USDC","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":463,"linearizedBaseContracts":[463,387],"name":"TestERC20USDC","nameLocation":"182:13:1","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"303bdd2c","id":397,"mutability":"mutable","name":"blocked","nameLocation":"249:7:1","nodeType":"VariableDeclaration","scope":463,"src":"237:19:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":396,"name":"bool","nodeType":"ElementaryTypeName","src":"237:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"body":{"id":404,"nodeType":"Block","src":"277:32:1","statements":[{"expression":{"id":402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":400,"name":"blocked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":397,"src":"287:7:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"297:5:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"287:15:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":403,"nodeType":"ExpressionStatement","src":"287:15:1"}]},"id":405,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":398,"nodeType":"ParameterList","parameters":[],"src":"274:2:1"},"returnParameters":{"id":399,"nodeType":"ParameterList","parameters":[],"src":"277:0:1"},"scope":463,"src":"263:46:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":414,"nodeType":"Block","src":"362:35:1","statements":[{"expression":{"id":412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":410,"name":"blocked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":397,"src":"372:7:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":411,"name":"blocking","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":407,"src":"382:8:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"372:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":413,"nodeType":"ExpressionStatement","src":"372:18:1"}]},"functionSelector":"e074d6a9","id":415,"implemented":true,"kind":"function","modifiers":[],"name":"blockTransfer","nameLocation":"324:13:1","nodeType":"FunctionDefinition","parameters":{"id":408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":407,"mutability":"mutable","name":"blocking","nameLocation":"343:8:1","nodeType":"VariableDeclaration","scope":415,"src":"338:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":406,"name":"bool","nodeType":"ElementaryTypeName","src":"338:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"337:15:1"},"returnParameters":{"id":409,"nodeType":"ParameterList","parameters":[],"src":"362:0:1"},"scope":463,"src":"315:82:1","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":431,"nodeType":"Block","src":"469:55:1","statements":[{"expression":{"arguments":[{"id":425,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":417,"src":"485:2:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":426,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":419,"src":"489:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":424,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":358,"src":"479:5:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"479:17:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":428,"nodeType":"ExpressionStatement","src":"479:17:1"},{"expression":{"hexValue":"74727565","id":429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"513:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":423,"id":430,"nodeType":"Return","src":"506:11:1"}]},"functionSelector":"40c10f19","id":432,"implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"412:4:1","nodeType":"FunctionDefinition","parameters":{"id":420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":417,"mutability":"mutable","name":"to","nameLocation":"425:2:1","nodeType":"VariableDeclaration","scope":432,"src":"417:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":416,"name":"address","nodeType":"ElementaryTypeName","src":"417:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":419,"mutability":"mutable","name":"amount","nameLocation":"437:6:1","nodeType":"VariableDeclaration","scope":432,"src":"429:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":418,"name":"uint256","nodeType":"ElementaryTypeName","src":"429:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"416:28:1"},"returnParameters":{"id":423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":422,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":432,"src":"463:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":421,"name":"bool","nodeType":"ElementaryTypeName","src":"463:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"462:6:1"},"scope":463,"src":"403:121:1","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[198],"body":{"id":461,"nodeType":"Block","src":"658:133:1","statements":[{"condition":{"id":444,"name":"blocked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":397,"src":"672:7:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":448,"nodeType":"IfStatement","src":"668:50:1","trueBody":{"id":447,"nodeType":"Block","src":"681:37:1","statements":[{"expression":{"hexValue":"66616c7365","id":445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"702:5:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":443,"id":446,"nodeType":"Return","src":"695:12:1"}]}},{"expression":{"arguments":[{"id":452,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":434,"src":"747:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":453,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":436,"src":"753:2:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":454,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":438,"src":"757:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":449,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"728:5:1","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TestERC20USDC_$463_$","typeString":"type(contract super TestERC20USDC)"}},"id":451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"734:12:1","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":198,"src":"728:18:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"728:36:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":456,"nodeType":"ExpressionStatement","src":"728:36:1"},{"expression":{"id":459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":457,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":442,"src":"775:2:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"780:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"775:9:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":460,"nodeType":"ExpressionStatement","src":"775:9:1"}]},"functionSelector":"23b872dd","id":462,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"539:12:1","nodeType":"FunctionDefinition","overrides":{"id":440,"nodeType":"OverrideSpecifier","overrides":[],"src":"631:8:1"},"parameters":{"id":439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":434,"mutability":"mutable","name":"from","nameLocation":"569:4:1","nodeType":"VariableDeclaration","scope":462,"src":"561:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":433,"name":"address","nodeType":"ElementaryTypeName","src":"561:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":436,"mutability":"mutable","name":"to","nameLocation":"591:2:1","nodeType":"VariableDeclaration","scope":462,"src":"583:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":435,"name":"address","nodeType":"ElementaryTypeName","src":"583:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":438,"mutability":"mutable","name":"amount","nameLocation":"611:6:1","nodeType":"VariableDeclaration","scope":462,"src":"603:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":437,"name":"uint256","nodeType":"ElementaryTypeName","src":"603:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"551:72:1"},"returnParameters":{"id":443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":442,"mutability":"mutable","name":"ok","nameLocation":"654:2:1","nodeType":"VariableDeclaration","scope":462,"src":"649:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":441,"name":"bool","nodeType":"ElementaryTypeName","src":"649:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"648:9:1"},"scope":463,"src":"530:261:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"scope":464,"src":"173:620:1","usedErrors":[]}],"src":"37:757:1"},"id":1}},"contracts":{"@rari-capital/solmate/src/tokens/ERC20.sol":{"ERC20":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC20.sol)Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)\",\"details\":\"Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Modern and gas efficient ERC20 + EIP-2612 implementation.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"@rari-capital/solmate/src/tokens/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@rari-capital/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0x0240f7703cff32a61ee3e9fbb339e09a944260432a9ef37debf3692b1a6c8049\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2d8b0c0158b1952a87c327d506a645040924a94c8f9f937184659f8a8e3b0759\",\"dweb:/ipfs/QmZ9rGdkjRCk8zfr4xeH7Jh88tkWJNt9LvG1o2GcCm7Uqa\"]}},\"version\":1}"}},"src/contracts/test/TestERC20USDC.sol":{"TestERC20USDC":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"blocking","type":"bool"}],"name":"blockTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"blocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"ok","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_405":{"entryPoint":null,"id":405,"parameterSlots":0,"returnSlots":0},"@_76":{"entryPoint":null,"id":76,"parameterSlots":3,"returnSlots":0},"@computeDomainSeparator_330":{"entryPoint":161,"id":330,"parameterSlots":0,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_storage_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":686,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":6,"returnSlots":1},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":399,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":482,"id":null,"parameterSlots":2,"returnSlots":0},"extract_byte_array_length":{"entryPoint":339,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x41":{"entryPoint":317,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:4075:2","statements":[{"nodeType":"YulBlock","src":"6:3:2","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:2","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:2","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:2","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:2"},"nodeType":"YulFunctionCall","src":"66:20:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:2"},"nodeType":"YulFunctionCall","src":"56:31:2"},"nodeType":"YulExpressionStatement","src":"56:31:2"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:2","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:2","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:2"},"nodeType":"YulFunctionCall","src":"96:15:2"},"nodeType":"YulExpressionStatement","src":"96:15:2"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:2","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:2"},"nodeType":"YulFunctionCall","src":"120:15:2"},"nodeType":"YulExpressionStatement","src":"120:15:2"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:2"},{"body":{"nodeType":"YulBlock","src":"201:325:2","statements":[{"nodeType":"YulAssignment","src":"211:22:2","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"225:1:2","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"228:4:2"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"221:3:2"},"nodeType":"YulFunctionCall","src":"221:12:2"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"211:6:2"}]},{"nodeType":"YulVariableDeclaration","src":"242:38:2","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"272:4:2"},{"kind":"number","nodeType":"YulLiteral","src":"278:1:2","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"268:3:2"},"nodeType":"YulFunctionCall","src":"268:12:2"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"246:18:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"319:31:2","statements":[{"nodeType":"YulAssignment","src":"321:27:2","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"335:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"343:4:2","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"331:3:2"},"nodeType":"YulFunctionCall","src":"331:17:2"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"321:6:2"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"299:18:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"292:6:2"},"nodeType":"YulFunctionCall","src":"292:26:2"},"nodeType":"YulIf","src":"289:61:2"},{"body":{"nodeType":"YulBlock","src":"409:111:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"430:1:2","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"437:3:2","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"442:10:2","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"433:3:2"},"nodeType":"YulFunctionCall","src":"433:20:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"423:6:2"},"nodeType":"YulFunctionCall","src":"423:31:2"},"nodeType":"YulExpressionStatement","src":"423:31:2"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"474:1:2","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"477:4:2","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"467:6:2"},"nodeType":"YulFunctionCall","src":"467:15:2"},"nodeType":"YulExpressionStatement","src":"467:15:2"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"502:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"505:4:2","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"495:6:2"},"nodeType":"YulFunctionCall","src":"495:15:2"},"nodeType":"YulExpressionStatement","src":"495:15:2"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"365:18:2"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"388:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"396:2:2","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"385:2:2"},"nodeType":"YulFunctionCall","src":"385:14:2"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"362:2:2"},"nodeType":"YulFunctionCall","src":"362:38:2"},"nodeType":"YulIf","src":"359:161:2"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"181:4:2","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"190:6:2","type":""}],"src":"146:380:2"},{"body":{"nodeType":"YulBlock","src":"587:65:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"604:1:2","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"607:3:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"597:6:2"},"nodeType":"YulFunctionCall","src":"597:14:2"},"nodeType":"YulExpressionStatement","src":"597:14:2"},{"nodeType":"YulAssignment","src":"620:26:2","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"638:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"641:4:2","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"628:9:2"},"nodeType":"YulFunctionCall","src":"628:18:2"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"620:4:2"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"570:3:2","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"578:4:2","type":""}],"src":"531:121:2"},{"body":{"nodeType":"YulBlock","src":"738:464:2","statements":[{"body":{"nodeType":"YulBlock","src":"771:425:2","statements":[{"nodeType":"YulVariableDeclaration","src":"785:11:2","value":{"kind":"number","nodeType":"YulLiteral","src":"795:1:2","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"789:2:2","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"816:2:2"},{"name":"array","nodeType":"YulIdentifier","src":"820:5:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"809:6:2"},"nodeType":"YulFunctionCall","src":"809:17:2"},"nodeType":"YulExpressionStatement","src":"809:17:2"},{"nodeType":"YulVariableDeclaration","src":"839:31:2","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"861:2:2"},{"kind":"number","nodeType":"YulLiteral","src":"865:4:2","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"851:9:2"},"nodeType":"YulFunctionCall","src":"851:19:2"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"843:4:2","type":""}]},{"nodeType":"YulVariableDeclaration","src":"883:57:2","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"906:4:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"916:1:2","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"923:10:2"},{"kind":"number","nodeType":"YulLiteral","src":"935:2:2","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"919:3:2"},"nodeType":"YulFunctionCall","src":"919:19:2"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"912:3:2"},"nodeType":"YulFunctionCall","src":"912:27:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"902:3:2"},"nodeType":"YulFunctionCall","src":"902:38:2"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"887:11:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"977:23:2","statements":[{"nodeType":"YulAssignment","src":"979:19:2","value":{"name":"data","nodeType":"YulIdentifier","src":"994:4:2"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"979:11:2"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"959:10:2"},{"kind":"number","nodeType":"YulLiteral","src":"971:4:2","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"956:2:2"},"nodeType":"YulFunctionCall","src":"956:20:2"},"nodeType":"YulIf","src":"953:47:2"},{"nodeType":"YulVariableDeclaration","src":"1013:41:2","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1027:4:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1037:1:2","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"1044:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"1049:2:2","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1040:3:2"},"nodeType":"YulFunctionCall","src":"1040:12:2"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1033:3:2"},"nodeType":"YulFunctionCall","src":"1033:20:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1023:3:2"},"nodeType":"YulFunctionCall","src":"1023:31:2"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1017:2:2","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1067:24:2","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"1080:11:2"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"1071:5:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"1165:21:2","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1174:5:2"},{"name":"_1","nodeType":"YulIdentifier","src":"1181:2:2"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"1167:6:2"},"nodeType":"YulFunctionCall","src":"1167:17:2"},"nodeType":"YulExpressionStatement","src":"1167:17:2"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1115:5:2"},{"name":"_2","nodeType":"YulIdentifier","src":"1122:2:2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1112:2:2"},"nodeType":"YulFunctionCall","src":"1112:13:2"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1126:26:2","statements":[{"nodeType":"YulAssignment","src":"1128:22:2","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1141:5:2"},{"kind":"number","nodeType":"YulLiteral","src":"1148:1:2","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1137:3:2"},"nodeType":"YulFunctionCall","src":"1137:13:2"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"1128:5:2"}]}]},"pre":{"nodeType":"YulBlock","src":"1108:3:2","statements":[]},"src":"1104:82:2"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"754:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"759:2:2","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"751:2:2"},"nodeType":"YulFunctionCall","src":"751:11:2"},"nodeType":"YulIf","src":"748:448:2"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"710:5:2","type":""},{"name":"len","nodeType":"YulTypedName","src":"717:3:2","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"722:10:2","type":""}],"src":"657:545:2"},{"body":{"nodeType":"YulBlock","src":"1292:81:2","statements":[{"nodeType":"YulAssignment","src":"1302:65:2","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1317:4:2"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1335:1:2","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"1338:3:2"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1331:3:2"},"nodeType":"YulFunctionCall","src":"1331:11:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1348:1:2","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1344:3:2"},"nodeType":"YulFunctionCall","src":"1344:6:2"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1327:3:2"},"nodeType":"YulFunctionCall","src":"1327:24:2"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1323:3:2"},"nodeType":"YulFunctionCall","src":"1323:29:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1313:3:2"},"nodeType":"YulFunctionCall","src":"1313:40:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1359:1:2","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"1362:3:2"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1355:3:2"},"nodeType":"YulFunctionCall","src":"1355:11:2"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1310:2:2"},"nodeType":"YulFunctionCall","src":"1310:57:2"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"1302:4:2"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"1269:4:2","type":""},{"name":"len","nodeType":"YulTypedName","src":"1275:3:2","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"1283:4:2","type":""}],"src":"1207:166:2"},{"body":{"nodeType":"YulBlock","src":"1474:1256:2","statements":[{"nodeType":"YulVariableDeclaration","src":"1484:24:2","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1504:3:2"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1498:5:2"},"nodeType":"YulFunctionCall","src":"1498:10:2"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"1488:6:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"1551:22:2","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1553:16:2"},"nodeType":"YulFunctionCall","src":"1553:18:2"},"nodeType":"YulExpressionStatement","src":"1553:18:2"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1523:6:2"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1539:2:2","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1543:1:2","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1535:3:2"},"nodeType":"YulFunctionCall","src":"1535:10:2"},{"kind":"number","nodeType":"YulLiteral","src":"1547:1:2","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1531:3:2"},"nodeType":"YulFunctionCall","src":"1531:18:2"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1520:2:2"},"nodeType":"YulFunctionCall","src":"1520:30:2"},"nodeType":"YulIf","src":"1517:56:2"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1626:4:2"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1664:4:2"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"1658:5:2"},"nodeType":"YulFunctionCall","src":"1658:11:2"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"1632:25:2"},"nodeType":"YulFunctionCall","src":"1632:38:2"},{"name":"newLen","nodeType":"YulIdentifier","src":"1672:6:2"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"1582:43:2"},"nodeType":"YulFunctionCall","src":"1582:97:2"},"nodeType":"YulExpressionStatement","src":"1582:97:2"},{"nodeType":"YulVariableDeclaration","src":"1688:18:2","value":{"kind":"number","nodeType":"YulLiteral","src":"1705:1:2","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"1692:9:2","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1715:23:2","value":{"kind":"number","nodeType":"YulLiteral","src":"1734:4:2","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"1719:11:2","type":""}]},{"nodeType":"YulAssignment","src":"1747:24:2","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"1760:11:2"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"1747:9:2"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"1817:656:2","statements":[{"nodeType":"YulVariableDeclaration","src":"1831:35:2","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1850:6:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1862:2:2","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1858:3:2"},"nodeType":"YulFunctionCall","src":"1858:7:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1846:3:2"},"nodeType":"YulFunctionCall","src":"1846:20:2"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"1835:7:2","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1879:49:2","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1923:4:2"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"1893:29:2"},"nodeType":"YulFunctionCall","src":"1893:35:2"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"1883:6:2","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1941:10:2","value":{"kind":"number","nodeType":"YulLiteral","src":"1950:1:2","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1945:1:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"2028:172:2","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2053:6:2"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2071:3:2"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2076:9:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2067:3:2"},"nodeType":"YulFunctionCall","src":"2067:19:2"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2061:5:2"},"nodeType":"YulFunctionCall","src":"2061:26:2"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2046:6:2"},"nodeType":"YulFunctionCall","src":"2046:42:2"},"nodeType":"YulExpressionStatement","src":"2046:42:2"},{"nodeType":"YulAssignment","src":"2105:24:2","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2119:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"2127:1:2","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2115:3:2"},"nodeType":"YulFunctionCall","src":"2115:14:2"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2105:6:2"}]},{"nodeType":"YulAssignment","src":"2146:40:2","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"2163:9:2"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"2174:11:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2159:3:2"},"nodeType":"YulFunctionCall","src":"2159:27:2"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"2146:9:2"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1975:1:2"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"1978:7:2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1972:2:2"},"nodeType":"YulFunctionCall","src":"1972:14:2"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1987:28:2","statements":[{"nodeType":"YulAssignment","src":"1989:24:2","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1998:1:2"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"2001:11:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1994:3:2"},"nodeType":"YulFunctionCall","src":"1994:19:2"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1989:1:2"}]}]},"pre":{"nodeType":"YulBlock","src":"1968:3:2","statements":[]},"src":"1964:236:2"},{"body":{"nodeType":"YulBlock","src":"2248:166:2","statements":[{"nodeType":"YulVariableDeclaration","src":"2266:43:2","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2293:3:2"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2298:9:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2289:3:2"},"nodeType":"YulFunctionCall","src":"2289:19:2"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2283:5:2"},"nodeType":"YulFunctionCall","src":"2283:26:2"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"2270:9:2","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2333:6:2"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"2345:9:2"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2372:1:2","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"2375:6:2"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2368:3:2"},"nodeType":"YulFunctionCall","src":"2368:14:2"},{"kind":"number","nodeType":"YulLiteral","src":"2384:3:2","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2364:3:2"},"nodeType":"YulFunctionCall","src":"2364:24:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2394:1:2","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2390:3:2"},"nodeType":"YulFunctionCall","src":"2390:6:2"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2360:3:2"},"nodeType":"YulFunctionCall","src":"2360:37:2"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2356:3:2"},"nodeType":"YulFunctionCall","src":"2356:42:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2341:3:2"},"nodeType":"YulFunctionCall","src":"2341:58:2"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2326:6:2"},"nodeType":"YulFunctionCall","src":"2326:74:2"},"nodeType":"YulExpressionStatement","src":"2326:74:2"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"2219:7:2"},{"name":"newLen","nodeType":"YulIdentifier","src":"2228:6:2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2216:2:2"},"nodeType":"YulFunctionCall","src":"2216:19:2"},"nodeType":"YulIf","src":"2213:201:2"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"2434:4:2"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2448:1:2","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"2451:6:2"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2444:3:2"},"nodeType":"YulFunctionCall","src":"2444:14:2"},{"kind":"number","nodeType":"YulLiteral","src":"2460:1:2","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2440:3:2"},"nodeType":"YulFunctionCall","src":"2440:22:2"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2427:6:2"},"nodeType":"YulFunctionCall","src":"2427:36:2"},"nodeType":"YulExpressionStatement","src":"2427:36:2"}]},"nodeType":"YulCase","src":"1810:663:2","value":{"kind":"number","nodeType":"YulLiteral","src":"1815:1:2","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"2490:234:2","statements":[{"nodeType":"YulVariableDeclaration","src":"2504:14:2","value":{"kind":"number","nodeType":"YulLiteral","src":"2517:1:2","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2508:5:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"2553:67:2","statements":[{"nodeType":"YulAssignment","src":"2571:35:2","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2590:3:2"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2595:9:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2586:3:2"},"nodeType":"YulFunctionCall","src":"2586:19:2"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2580:5:2"},"nodeType":"YulFunctionCall","src":"2580:26:2"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2571:5:2"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"2534:6:2"},"nodeType":"YulIf","src":"2531:89:2"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"2640:4:2"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2699:5:2"},{"name":"newLen","nodeType":"YulIdentifier","src":"2706:6:2"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"2646:52:2"},"nodeType":"YulFunctionCall","src":"2646:67:2"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2633:6:2"},"nodeType":"YulFunctionCall","src":"2633:81:2"},"nodeType":"YulExpressionStatement","src":"2633:81:2"}]},"nodeType":"YulCase","src":"2482:242:2","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1790:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"1798:2:2","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1787:2:2"},"nodeType":"YulFunctionCall","src":"1787:14:2"},"nodeType":"YulSwitch","src":"1780:944:2"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"1459:4:2","type":""},{"name":"src","nodeType":"YulTypedName","src":"1465:3:2","type":""}],"src":"1378:1352:2"},{"body":{"nodeType":"YulBlock","src":"2873:706:2","statements":[{"nodeType":"YulVariableDeclaration","src":"2883:12:2","value":{"kind":"number","nodeType":"YulLiteral","src":"2894:1:2","type":"","value":"0"},"variables":[{"name":"ret","nodeType":"YulTypedName","src":"2887:3:2","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2904:30:2","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2927:6:2"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"2921:5:2"},"nodeType":"YulFunctionCall","src":"2921:13:2"},"variables":[{"name":"slotValue","nodeType":"YulTypedName","src":"2908:9:2","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2943:50:2","value":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"2983:9:2"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"2957:25:2"},"nodeType":"YulFunctionCall","src":"2957:36:2"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2947:6:2","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3002:11:2","value":{"kind":"number","nodeType":"YulLiteral","src":"3012:1:2","type":"","value":"1"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3006:2:2","type":""}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"3063:126:2","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3084:3:2"},{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"3093:9:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3108:3:2","type":"","value":"255"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3104:3:2"},"nodeType":"YulFunctionCall","src":"3104:8:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3089:3:2"},"nodeType":"YulFunctionCall","src":"3089:24:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3077:6:2"},"nodeType":"YulFunctionCall","src":"3077:37:2"},"nodeType":"YulExpressionStatement","src":"3077:37:2"},{"nodeType":"YulAssignment","src":"3127:52:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3138:3:2"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3147:6:2"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3169:6:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3162:6:2"},"nodeType":"YulFunctionCall","src":"3162:14:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3155:6:2"},"nodeType":"YulFunctionCall","src":"3155:22:2"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"3143:3:2"},"nodeType":"YulFunctionCall","src":"3143:35:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3134:3:2"},"nodeType":"YulFunctionCall","src":"3134:45:2"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"3127:3:2"}]}]},"nodeType":"YulCase","src":"3056:133:2","value":{"kind":"number","nodeType":"YulLiteral","src":"3061:1:2","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"3205:349:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3226:1:2","type":"","value":"0"},{"name":"value0","nodeType":"YulIdentifier","src":"3229:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3219:6:2"},"nodeType":"YulFunctionCall","src":"3219:17:2"},"nodeType":"YulExpressionStatement","src":"3219:17:2"},{"nodeType":"YulVariableDeclaration","src":"3249:14:2","value":{"kind":"number","nodeType":"YulLiteral","src":"3259:4:2","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"3253:2:2","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3276:31:2","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3301:1:2","type":"","value":"0"},{"name":"_2","nodeType":"YulIdentifier","src":"3304:2:2"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"3291:9:2"},"nodeType":"YulFunctionCall","src":"3291:16:2"},"variables":[{"name":"dataPos","nodeType":"YulTypedName","src":"3280:7:2","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3320:10:2","value":{"kind":"number","nodeType":"YulLiteral","src":"3329:1:2","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"3324:1:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"3397:111:2","statements":[{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3426:3:2"},{"name":"i","nodeType":"YulIdentifier","src":"3431:1:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3422:3:2"},"nodeType":"YulFunctionCall","src":"3422:11:2"},{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"3441:7:2"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"3435:5:2"},"nodeType":"YulFunctionCall","src":"3435:14:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3415:6:2"},"nodeType":"YulFunctionCall","src":"3415:35:2"},"nodeType":"YulExpressionStatement","src":"3415:35:2"},{"nodeType":"YulAssignment","src":"3467:27:2","value":{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"3482:7:2"},{"name":"_1","nodeType":"YulIdentifier","src":"3491:2:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3478:3:2"},"nodeType":"YulFunctionCall","src":"3478:16:2"},"variableNames":[{"name":"dataPos","nodeType":"YulIdentifier","src":"3467:7:2"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3354:1:2"},{"name":"length","nodeType":"YulIdentifier","src":"3357:6:2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3351:2:2"},"nodeType":"YulFunctionCall","src":"3351:13:2"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3365:19:2","statements":[{"nodeType":"YulAssignment","src":"3367:15:2","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3376:1:2"},{"name":"_2","nodeType":"YulIdentifier","src":"3379:2:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3372:3:2"},"nodeType":"YulFunctionCall","src":"3372:10:2"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"3367:1:2"}]}]},"pre":{"nodeType":"YulBlock","src":"3347:3:2","statements":[]},"src":"3343:165:2"},{"nodeType":"YulAssignment","src":"3521:23:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3532:3:2"},{"name":"length","nodeType":"YulIdentifier","src":"3537:6:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3528:3:2"},"nodeType":"YulFunctionCall","src":"3528:16:2"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"3521:3:2"}]}]},"nodeType":"YulCase","src":"3198:356:2","value":{"kind":"number","nodeType":"YulLiteral","src":"3203:1:2","type":"","value":"1"}}],"expression":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"3033:9:2"},{"name":"_1","nodeType":"YulIdentifier","src":"3044:2:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3029:3:2"},"nodeType":"YulFunctionCall","src":"3029:18:2"},"nodeType":"YulSwitch","src":"3022:532:2"},{"nodeType":"YulAssignment","src":"3563:10:2","value":{"name":"ret","nodeType":"YulIdentifier","src":"3570:3:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3563:3:2"}]}]},"name":"abi_encode_tuple_packed_t_bytes_storage_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"2849:3:2","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2854:6:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2865:3:2","type":""}],"src":"2735:844:2"},{"body":{"nodeType":"YulBlock","src":"3797:276:2","statements":[{"nodeType":"YulAssignment","src":"3807:27:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3819:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"3830:3:2","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3815:3:2"},"nodeType":"YulFunctionCall","src":"3815:19:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3807:4:2"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3850:9:2"},{"name":"value0","nodeType":"YulIdentifier","src":"3861:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3843:6:2"},"nodeType":"YulFunctionCall","src":"3843:25:2"},"nodeType":"YulExpressionStatement","src":"3843:25:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3888:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"3899:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3884:3:2"},"nodeType":"YulFunctionCall","src":"3884:18:2"},{"name":"value1","nodeType":"YulIdentifier","src":"3904:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3877:6:2"},"nodeType":"YulFunctionCall","src":"3877:34:2"},"nodeType":"YulExpressionStatement","src":"3877:34:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3931:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"3942:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3927:3:2"},"nodeType":"YulFunctionCall","src":"3927:18:2"},{"name":"value2","nodeType":"YulIdentifier","src":"3947:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3920:6:2"},"nodeType":"YulFunctionCall","src":"3920:34:2"},"nodeType":"YulExpressionStatement","src":"3920:34:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3974:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"3985:2:2","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3970:3:2"},"nodeType":"YulFunctionCall","src":"3970:18:2"},{"name":"value3","nodeType":"YulIdentifier","src":"3990:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3963:6:2"},"nodeType":"YulFunctionCall","src":"3963:34:2"},"nodeType":"YulExpressionStatement","src":"3963:34:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4017:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"4028:3:2","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4013:3:2"},"nodeType":"YulFunctionCall","src":"4013:19:2"},{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"4038:6:2"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4054:3:2","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"4059:1:2","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4050:3:2"},"nodeType":"YulFunctionCall","src":"4050:11:2"},{"kind":"number","nodeType":"YulLiteral","src":"4063:1:2","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4046:3:2"},"nodeType":"YulFunctionCall","src":"4046:19:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4034:3:2"},"nodeType":"YulFunctionCall","src":"4034:32:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4006:6:2"},"nodeType":"YulFunctionCall","src":"4006:61:2"},"nodeType":"YulExpressionStatement","src":"4006:61:2"}]},"name":"abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3734:9:2","type":""},{"name":"value4","nodeType":"YulTypedName","src":"3745:6:2","type":""},{"name":"value3","nodeType":"YulTypedName","src":"3753:6:2","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3761:6:2","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3769:6:2","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3777:6:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3788:4:2","type":""}],"src":"3584:489:2"}]},"contents":"{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_packed_t_bytes_storage_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let ret := 0\n let slotValue := sload(value0)\n let length := extract_byte_array_length(slotValue)\n let _1 := 1\n switch and(slotValue, _1)\n case 0 {\n mstore(pos, and(slotValue, not(255)))\n ret := add(pos, mul(length, iszero(iszero(length))))\n }\n case 1 {\n mstore(0, value0)\n let _2 := 0x20\n let dataPos := keccak256(0, _2)\n let i := 0\n for { } lt(i, length) { i := add(i, _2) }\n {\n mstore(add(pos, i), sload(dataPos))\n dataPos := add(dataPos, _1)\n }\n ret := add(pos, length)\n }\n end := ret\n }\n function abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 160)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), and(value4, sub(shl(160, 1), 1)))\n }\n}","id":2,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60e06040523480156200001157600080fd5b5060405180604001604052806008815260200167546573745553444360c01b815250604051806040016040528060078152602001665453545553444360c81b81525060068260009081620000669190620001e2565b506001620000758382620001e2565b5060ff81166080524660a0526200008b620000a1565b60c05250506006805460ff19169055506200032c565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620000d59190620002ae565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200016857607f821691505b6020821081036200018957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001dd57600081815260208120601f850160051c81016020861015620001b85750805b601f850160051c820191505b81811015620001d957828155600101620001c4565b5050505b505050565b81516001600160401b03811115620001fe57620001fe6200013d565b62000216816200020f845462000153565b846200018f565b602080601f8311600181146200024e5760008415620002355750858301515b600019600386901b1c1916600185901b178555620001d9565b600085815260208120601f198616915b828110156200027f578886015182559484019460019091019084016200025e565b50858210156200029e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808354620002be8162000153565b60018281168015620002d95760018114620002ef5762000320565b60ff198416875282151583028701945062000320565b8760005260208060002060005b85811015620003175781548a820152908401908201620002fc565b50505082870194505b50929695505050505050565b60805160a05160c051610bde6200035c60003960006103e4015260006103af015260006101770152610bde6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806340c10f1911610097578063a9059cbb11610066578063a9059cbb1461020e578063d505accf14610221578063dd62ed3e14610236578063e074d6a91461026157600080fd5b806340c10f19146101b357806370a08231146101c65780637ecebe00146101e657806395d89b411461020657600080fd5b806323b872dd116100d357806323b872dd14610152578063303bdd2c14610165578063313ce567146101725780633644e515146101ab57600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b610102610282565b60405161010f91906108e0565b60405180910390f35b61012b61012636600461094a565b610310565b604051901515815260200161010f565b61014460025481565b60405190815260200161010f565b61012b610160366004610974565b61037d565b60065461012b9060ff1681565b6101997f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161010f565b6101446103ab565b61012b6101c136600461094a565b610406565b6101446101d43660046109b0565b60036020526000908152604090205481565b6101446101f43660046109b0565b60056020526000908152604090205481565b61010261041b565b61012b61021c36600461094a565b610428565b61023461022f3660046109cb565b6104a0565b005b610144610244366004610a3e565b600460209081526000928352604080842090915290825290205481565b61023461026f366004610a71565b6006805460ff1916911515919091179055565b6000805461028f90610a93565b80601f01602080910402602001604051908101604052809291908181526020018280546102bb90610a93565b80156103085780601f106102dd57610100808354040283529160200191610308565b820191906000526020600020905b8154815290600101906020018083116102eb57829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061036b9086815260200190565b60405180910390a35060015b92915050565b60065460009060ff1615610393575060006103a4565b61039e8484846106e9565b50600190505b9392505050565b60007f000000000000000000000000000000000000000000000000000000000000000046146103e1576103dc6107db565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b60006104128383610875565b50600192915050565b6001805461028f90610a93565b33600090815260036020526040812080548391908390610449908490610ae3565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061036b9086815260200190565b428410156104f55760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064015b60405180910390fd5b600060016105016103ab565b6001600160a01b038a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa15801561060d573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906106435750876001600160a01b0316816001600160a01b0316145b6106805760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b60448201526064016104ec565b6001600160a01b0390811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6001600160a01b03831660009081526004602090815260408083203384529091528120546000198114610745576107208382610ae3565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b0385166000908152600360205260408120805485929061076d908490610ae3565b90915550506001600160a01b03808516600081815260036020526040908190208054870190555190918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906107c89087815260200190565b60405180910390a3506001949350505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405161080d9190610af6565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b80600260008282546108879190610b95565b90915550506001600160a01b0382166000818152600360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600060208083528351808285015260005b8181101561090d578581018301518582016040015282016108f1565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461094557600080fd5b919050565b6000806040838503121561095d57600080fd5b6109668361092e565b946020939093013593505050565b60008060006060848603121561098957600080fd5b6109928461092e565b92506109a06020850161092e565b9150604084013590509250925092565b6000602082840312156109c257600080fd5b6103a48261092e565b600080600080600080600060e0888a0312156109e657600080fd5b6109ef8861092e565b96506109fd6020890161092e565b95506040880135945060608801359350608088013560ff81168114610a2157600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610a5157600080fd5b610a5a8361092e565b9150610a686020840161092e565b90509250929050565b600060208284031215610a8357600080fd5b813580151581146103a457600080fd5b600181811c90821680610aa757607f821691505b602082108103610ac757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561037757610377610acd565b600080835481600182811c915080831680610b1257607f831692505b60208084108203610b3157634e487b7160e01b86526022600452602486fd5b818015610b455760018114610b5a57610b87565b60ff1986168952841515850289019650610b87565b60008a81526020902060005b86811015610b7f5781548b820152908501908301610b66565b505084890196505b509498975050505050505050565b8082018082111561037757610377610acd56fea26469706673582212200b565a8a79a9a683c46177daccb693d8689b020f7b3d1b07d76b71acaa18cab464736f6c63430008110033","opcodes":"PUSH1 0xE0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH8 0x5465737455534443 PUSH1 0xC0 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH7 0x54535455534443 PUSH1 0xC8 SHL DUP2 MSTORE POP PUSH1 0x6 DUP3 PUSH1 0x0 SWAP1 DUP2 PUSH3 0x66 SWAP2 SWAP1 PUSH3 0x1E2 JUMP JUMPDEST POP PUSH1 0x1 PUSH3 0x75 DUP4 DUP3 PUSH3 0x1E2 JUMP JUMPDEST POP PUSH1 0xFF DUP2 AND PUSH1 0x80 MSTORE CHAINID PUSH1 0xA0 MSTORE PUSH3 0x8B PUSH3 0xA1 JUMP JUMPDEST PUSH1 0xC0 MSTORE POP POP PUSH1 0x6 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP PUSH3 0x32C JUMP JUMPDEST PUSH1 0x0 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F PUSH1 0x0 PUSH1 0x40 MLOAD PUSH3 0xD5 SWAP2 SWAP1 PUSH3 0x2AE JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB DUP3 KECCAK256 PUSH1 0x20 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP3 ADD MSTORE CHAINID PUSH1 0x80 DUP3 ADD MSTORE ADDRESS PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 ADD PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x168 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x189 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x1DD JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0x1B8 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x1D9 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x1C4 JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x1FE JUMPI PUSH3 0x1FE PUSH3 0x13D JUMP JUMPDEST PUSH3 0x216 DUP2 PUSH3 0x20F DUP5 SLOAD PUSH3 0x153 JUMP JUMPDEST DUP5 PUSH3 0x18F JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x24E JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x235 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x1D9 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x27F JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x25E JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x29E JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SLOAD PUSH3 0x2BE DUP2 PUSH3 0x153 JUMP JUMPDEST PUSH1 0x1 DUP3 DUP2 AND DUP1 ISZERO PUSH3 0x2D9 JUMPI PUSH1 0x1 DUP2 EQ PUSH3 0x2EF JUMPI PUSH3 0x320 JUMP JUMPDEST PUSH1 0xFF NOT DUP5 AND DUP8 MSTORE DUP3 ISZERO ISZERO DUP4 MUL DUP8 ADD SWAP5 POP PUSH3 0x320 JUMP JUMPDEST DUP8 PUSH1 0x0 MSTORE PUSH1 0x20 DUP1 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH3 0x317 JUMPI DUP2 SLOAD DUP11 DUP3 ADD MSTORE SWAP1 DUP5 ADD SWAP1 DUP3 ADD PUSH3 0x2FC JUMP JUMPDEST POP POP POP DUP3 DUP8 ADD SWAP5 POP JUMPDEST POP SWAP3 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH1 0xC0 MLOAD PUSH2 0xBDE PUSH3 0x35C PUSH1 0x0 CODECOPY PUSH1 0x0 PUSH2 0x3E4 ADD MSTORE PUSH1 0x0 PUSH2 0x3AF ADD MSTORE PUSH1 0x0 PUSH2 0x177 ADD MSTORE PUSH2 0xBDE PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x40C10F19 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xA9059CBB GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x20E JUMPI DUP1 PUSH4 0xD505ACCF EQ PUSH2 0x221 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x236 JUMPI DUP1 PUSH4 0xE074D6A9 EQ PUSH2 0x261 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1C6 JUMPI DUP1 PUSH4 0x7ECEBE00 EQ PUSH2 0x1E6 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x206 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x23B872DD GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x152 JUMPI DUP1 PUSH4 0x303BDD2C EQ PUSH2 0x165 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x172 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x1AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x118 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x13B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x102 PUSH2 0x282 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10F SWAP2 SWAP1 PUSH2 0x8E0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x12B PUSH2 0x126 CALLDATASIZE PUSH1 0x4 PUSH2 0x94A JUMP JUMPDEST PUSH2 0x310 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x10F JUMP JUMPDEST PUSH2 0x144 PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x10F JUMP JUMPDEST PUSH2 0x12B PUSH2 0x160 CALLDATASIZE PUSH1 0x4 PUSH2 0x974 JUMP JUMPDEST PUSH2 0x37D JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH2 0x12B SWAP1 PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH2 0x199 PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x10F JUMP JUMPDEST PUSH2 0x144 PUSH2 0x3AB JUMP JUMPDEST PUSH2 0x12B PUSH2 0x1C1 CALLDATASIZE PUSH1 0x4 PUSH2 0x94A JUMP JUMPDEST PUSH2 0x406 JUMP JUMPDEST PUSH2 0x144 PUSH2 0x1D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x9B0 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x144 PUSH2 0x1F4 CALLDATASIZE PUSH1 0x4 PUSH2 0x9B0 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x102 PUSH2 0x41B JUMP JUMPDEST PUSH2 0x12B PUSH2 0x21C CALLDATASIZE PUSH1 0x4 PUSH2 0x94A JUMP JUMPDEST PUSH2 0x428 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x22F CALLDATASIZE PUSH1 0x4 PUSH2 0x9CB JUMP JUMPDEST PUSH2 0x4A0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x144 PUSH2 0x244 CALLDATASIZE PUSH1 0x4 PUSH2 0xA3E JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x26F CALLDATASIZE PUSH1 0x4 PUSH2 0xA71 JUMP JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x28F SWAP1 PUSH2 0xA93 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2BB SWAP1 PUSH2 0xA93 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x308 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2DD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x308 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2EB JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE MLOAD SWAP2 SWAP3 SWAP1 SWAP2 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP1 PUSH2 0x36B SWAP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP PUSH1 0x1 JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x393 JUMPI POP PUSH1 0x0 PUSH2 0x3A4 JUMP JUMPDEST PUSH2 0x39E DUP5 DUP5 DUP5 PUSH2 0x6E9 JUMP JUMPDEST POP PUSH1 0x1 SWAP1 POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 CHAINID EQ PUSH2 0x3E1 JUMPI PUSH2 0x3DC PUSH2 0x7DB JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST POP PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x412 DUP4 DUP4 PUSH2 0x875 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x28F SWAP1 PUSH2 0xA93 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP2 SWAP1 DUP4 SWAP1 PUSH2 0x449 SWAP1 DUP5 SWAP1 PUSH2 0xAE3 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP1 SLOAD DUP6 ADD SWAP1 SSTORE MLOAD CALLER SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH2 0x36B SWAP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST TIMESTAMP DUP5 LT ISZERO PUSH2 0x4F5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5045524D49545F444541444C494E455F45585049524544000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x501 PUSH2 0x3AB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 ADD SWAP1 SWAP2 SSTORE DUP3 MLOAD PUSH32 0x6E71EDAE12B1B97F4D1F60370FEF10105FA2FAAE0126114A169C64845D6126C9 DUP2 DUP5 ADD MSTORE DUP1 DUP5 ADD SWAP5 SWAP1 SWAP5 MSTORE SWAP4 DUP14 AND PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD DUP13 SWAP1 MSTORE PUSH1 0xA0 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0xC0 DUP1 DUP4 ADD DUP12 SWAP1 MSTORE DUP2 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0xE0 DUP4 ADD SWAP1 SWAP2 MSTORE DUP1 MLOAD SWAP3 ADD SWAP2 SWAP1 SWAP2 KECCAK256 PUSH2 0x1901 PUSH1 0xF0 SHL PUSH2 0x100 DUP4 ADD MSTORE PUSH2 0x102 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH2 0x122 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH2 0x142 ADD PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE DUP3 DUP3 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD KECCAK256 PUSH1 0x0 DUP5 MSTORE SWAP1 DUP4 ADD DUP1 DUP4 MSTORE MSTORE PUSH1 0xFF DUP8 AND SWAP1 DUP3 ADD MSTORE PUSH1 0x60 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x60D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH1 0x1F NOT ADD MLOAD SWAP2 POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x643 JUMPI POP DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x680 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x24A72B20A624A22FA9A4A3A722A9 PUSH1 0x91 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4EC JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP11 DUP6 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP10 SWAP1 SSTORE MLOAD DUP9 DUP2 MSTORE SWAP2 SWAP3 DUP11 AND SWAP2 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0x0 NOT DUP2 EQ PUSH2 0x745 JUMPI PUSH2 0x720 DUP4 DUP3 PUSH2 0xAE3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP6 SWAP3 SWAP1 PUSH2 0x76D SWAP1 DUP5 SWAP1 PUSH2 0xAE3 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE MLOAD SWAP1 SWAP2 DUP8 AND SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH2 0x7C8 SWAP1 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F PUSH1 0x0 PUSH1 0x40 MLOAD PUSH2 0x80D SWAP2 SWAP1 PUSH2 0xAF6 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB DUP3 KECCAK256 PUSH1 0x20 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP3 ADD MSTORE CHAINID PUSH1 0x80 DUP3 ADD MSTORE ADDRESS PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 ADD PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x887 SWAP2 SWAP1 PUSH2 0xB95 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP7 ADD SWAP1 SSTORE MLOAD DUP5 DUP2 MSTORE PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x90D JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x8F1 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x945 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x95D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x966 DUP4 PUSH2 0x92E JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x989 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x992 DUP5 PUSH2 0x92E JUMP JUMPDEST SWAP3 POP PUSH2 0x9A0 PUSH1 0x20 DUP6 ADD PUSH2 0x92E JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3A4 DUP3 PUSH2 0x92E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x9E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9EF DUP9 PUSH2 0x92E JUMP JUMPDEST SWAP7 POP PUSH2 0x9FD PUSH1 0x20 DUP10 ADD PUSH2 0x92E JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0xA21 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 SWAP3 SWAP6 SWAP5 PUSH1 0xA0 DUP5 ADD CALLDATALOAD SWAP5 POP PUSH1 0xC0 SWAP1 SWAP4 ADD CALLDATALOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA51 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA5A DUP4 PUSH2 0x92E JUMP JUMPDEST SWAP2 POP PUSH2 0xA68 PUSH1 0x20 DUP5 ADD PUSH2 0x92E JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA83 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x3A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xAA7 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xAC7 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x377 JUMPI PUSH2 0x377 PUSH2 0xACD JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SLOAD DUP2 PUSH1 0x1 DUP3 DUP2 SHR SWAP2 POP DUP1 DUP4 AND DUP1 PUSH2 0xB12 JUMPI PUSH1 0x7F DUP4 AND SWAP3 POP JUMPDEST PUSH1 0x20 DUP1 DUP5 LT DUP3 SUB PUSH2 0xB31 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP7 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 DUP7 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xB45 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0xB5A JUMPI PUSH2 0xB87 JUMP JUMPDEST PUSH1 0xFF NOT DUP7 AND DUP10 MSTORE DUP5 ISZERO ISZERO DUP6 MUL DUP10 ADD SWAP7 POP PUSH2 0xB87 JUMP JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 PUSH1 0x0 JUMPDEST DUP7 DUP2 LT ISZERO PUSH2 0xB7F JUMPI DUP2 SLOAD DUP12 DUP3 ADD MSTORE SWAP1 DUP6 ADD SWAP1 DUP4 ADD PUSH2 0xB66 JUMP JUMPDEST POP POP DUP5 DUP10 ADD SWAP7 POP JUMPDEST POP SWAP5 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x377 JUMPI PUSH2 0x377 PUSH2 0xACD JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SIGNEXTEND JUMP GAS DUP11 PUSH26 0xA9A683C46177DACCB693D8689B020F7B3D1B07D76B71ACAA18CA 0xB4 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ","sourceMap":"173:620:1:-:0;;;263:46;;;;;;;;;;1978:292:0;;;;;;;;;;;;;-1:-1:-1;;;1978:292:0;;;;;;;;;;;;;;;;-1:-1:-1;;;1978:292:0;;;228:1:1;2098:5:0;2091:4;:12;;;;;;:::i;:::-;-1:-1:-1;2113:6:0;:16;2122:7;2113:6;:16;:::i;:::-;-1:-1:-1;2139:20:0;;;;;2189:13;2170:32;;2239:24;:22;:24::i;:::-;2212:51;;-1:-1:-1;;287:7:1;:15;;-1:-1:-1;;287:15:1;;;-1:-1:-1;173:620:1;;5507:446:0;5572:7;5669:95;5802:4;5786:22;;;;;;:::i;:::-;;;;;;;;;;5637:295;;;3843:25:2;;;;3884:18;;3877:34;;;;5830:14:0;3927:18:2;;;3920:34;5866:13:0;3970:18:2;;;3963:34;5909:4:0;4013:19:2;;;4006:61;3815:19;;5637:295:0;;;;;;;;;;;;5610:336;;;;;;5591:355;;5507:446;:::o;14:127:2:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:2;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:2;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:2;;;2580:26;2531:89;-1:-1:-1;;1335:1:2;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:2;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:2;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:2;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:2:o;2735:844::-;2865:3;2894:1;2927:6;2921:13;2957:36;2983:9;2957:36;:::i;:::-;3012:1;3029:18;;;3056:133;;;;3203:1;3198:356;;;;3022:532;;3056:133;-1:-1:-1;;3089:24:2;;3077:37;;3162:14;;3155:22;3143:35;;3134:45;;;-1:-1:-1;3056:133:2;;3198:356;3229:6;3226:1;3219:17;3259:4;3304:2;3301:1;3291:16;3329:1;3343:165;3357:6;3354:1;3351:13;3343:165;;;3435:14;;3422:11;;;3415:35;3478:16;;;;3372:10;;3343:165;;;3347:3;;;3537:6;3532:3;3528:16;3521:23;;3022:532;-1:-1:-1;3570:3:2;;2735:844;-1:-1:-1;;;;;;2735:844:2:o;3584:489::-;173:620:1;;;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@DOMAIN_SEPARATOR_300":{"entryPoint":939,"id":300,"parameterSlots":0,"returnSlots":1},"@_mint_358":{"entryPoint":2165,"id":358,"parameterSlots":2,"returnSlots":0},"@allowance_36":{"entryPoint":null,"id":36,"parameterSlots":0,"returnSlots":0},"@approve_104":{"entryPoint":784,"id":104,"parameterSlots":2,"returnSlots":1},"@balanceOf_30":{"entryPoint":null,"id":30,"parameterSlots":0,"returnSlots":0},"@blockTransfer_415":{"entryPoint":null,"id":415,"parameterSlots":1,"returnSlots":0},"@blocked_397":{"entryPoint":null,"id":397,"parameterSlots":0,"returnSlots":0},"@computeDomainSeparator_330":{"entryPoint":2011,"id":330,"parameterSlots":0,"returnSlots":1},"@decimals_24":{"entryPoint":null,"id":24,"parameterSlots":0,"returnSlots":0},"@mint_432":{"entryPoint":1030,"id":432,"parameterSlots":2,"returnSlots":1},"@name_20":{"entryPoint":642,"id":20,"parameterSlots":0,"returnSlots":0},"@nonces_44":{"entryPoint":null,"id":44,"parameterSlots":0,"returnSlots":0},"@permit_285":{"entryPoint":1184,"id":285,"parameterSlots":7,"returnSlots":0},"@symbol_22":{"entryPoint":1051,"id":22,"parameterSlots":0,"returnSlots":0},"@totalSupply_26":{"entryPoint":null,"id":26,"parameterSlots":0,"returnSlots":0},"@transferFrom_198":{"entryPoint":1769,"id":198,"parameterSlots":3,"returnSlots":1},"@transferFrom_462":{"entryPoint":893,"id":462,"parameterSlots":3,"returnSlots":1},"@transfer_137":{"entryPoint":1064,"id":137,"parameterSlots":2,"returnSlots":1},"abi_decode_address":{"entryPoint":2350,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":2480,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":2622,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":2420,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_uint8t_bytes32t_bytes32":{"entryPoint":2507,"id":null,"parameterSlots":2,"returnSlots":7},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":2378,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bool":{"entryPoint":2673,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_storage_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":2806,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__to_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":7,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":2272,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"array_dataslot_bytes_storage_ptr":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":2965,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":2787,"id":null,"parameterSlots":2,"returnSlots":1},"extract_byte_array_length":{"entryPoint":2707,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":2765,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:8143:2","statements":[{"nodeType":"YulBlock","src":"6:3:2","statements":[]},{"body":{"nodeType":"YulBlock","src":"135:427:2","statements":[{"nodeType":"YulVariableDeclaration","src":"145:12:2","value":{"kind":"number","nodeType":"YulLiteral","src":"155:2:2","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"149:2:2","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"173:9:2"},{"name":"_1","nodeType":"YulIdentifier","src":"184:2:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"166:6:2"},"nodeType":"YulFunctionCall","src":"166:21:2"},"nodeType":"YulExpressionStatement","src":"166:21:2"},{"nodeType":"YulVariableDeclaration","src":"196:27:2","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"216:6:2"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"210:5:2"},"nodeType":"YulFunctionCall","src":"210:13:2"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"200:6:2","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"243:9:2"},{"name":"_1","nodeType":"YulIdentifier","src":"254:2:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"239:3:2"},"nodeType":"YulFunctionCall","src":"239:18:2"},{"name":"length","nodeType":"YulIdentifier","src":"259:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"232:6:2"},"nodeType":"YulFunctionCall","src":"232:34:2"},"nodeType":"YulExpressionStatement","src":"232:34:2"},{"nodeType":"YulVariableDeclaration","src":"275:10:2","value":{"kind":"number","nodeType":"YulLiteral","src":"284:1:2","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"279:1:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"344:90:2","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"373:9:2"},{"name":"i","nodeType":"YulIdentifier","src":"384:1:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"369:3:2"},"nodeType":"YulFunctionCall","src":"369:17:2"},{"kind":"number","nodeType":"YulLiteral","src":"388:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"365:3:2"},"nodeType":"YulFunctionCall","src":"365:26:2"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"407:6:2"},{"name":"i","nodeType":"YulIdentifier","src":"415:1:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"403:3:2"},"nodeType":"YulFunctionCall","src":"403:14:2"},{"name":"_1","nodeType":"YulIdentifier","src":"419:2:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"399:3:2"},"nodeType":"YulFunctionCall","src":"399:23:2"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"393:5:2"},"nodeType":"YulFunctionCall","src":"393:30:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"358:6:2"},"nodeType":"YulFunctionCall","src":"358:66:2"},"nodeType":"YulExpressionStatement","src":"358:66:2"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"305:1:2"},{"name":"length","nodeType":"YulIdentifier","src":"308:6:2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"302:2:2"},"nodeType":"YulFunctionCall","src":"302:13:2"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"316:19:2","statements":[{"nodeType":"YulAssignment","src":"318:15:2","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"327:1:2"},{"name":"_1","nodeType":"YulIdentifier","src":"330:2:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"323:3:2"},"nodeType":"YulFunctionCall","src":"323:10:2"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"318:1:2"}]}]},"pre":{"nodeType":"YulBlock","src":"298:3:2","statements":[]},"src":"294:140:2"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"458:9:2"},{"name":"length","nodeType":"YulIdentifier","src":"469:6:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"454:3:2"},"nodeType":"YulFunctionCall","src":"454:22:2"},{"kind":"number","nodeType":"YulLiteral","src":"478:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"450:3:2"},"nodeType":"YulFunctionCall","src":"450:31:2"},{"kind":"number","nodeType":"YulLiteral","src":"483:1:2","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"443:6:2"},"nodeType":"YulFunctionCall","src":"443:42:2"},"nodeType":"YulExpressionStatement","src":"443:42:2"},{"nodeType":"YulAssignment","src":"494:62:2","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"510:9:2"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"529:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"537:2:2","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"525:3:2"},"nodeType":"YulFunctionCall","src":"525:15:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"546:2:2","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"542:3:2"},"nodeType":"YulFunctionCall","src":"542:7:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"521:3:2"},"nodeType":"YulFunctionCall","src":"521:29:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"506:3:2"},"nodeType":"YulFunctionCall","src":"506:45:2"},{"kind":"number","nodeType":"YulLiteral","src":"553:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"502:3:2"},"nodeType":"YulFunctionCall","src":"502:54:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"494:4:2"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"104:9:2","type":""},{"name":"value0","nodeType":"YulTypedName","src":"115:6:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"126:4:2","type":""}],"src":"14:548:2"},{"body":{"nodeType":"YulBlock","src":"616:124:2","statements":[{"nodeType":"YulAssignment","src":"626:29:2","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"648:6:2"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"635:12:2"},"nodeType":"YulFunctionCall","src":"635:20:2"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"626:5:2"}]},{"body":{"nodeType":"YulBlock","src":"718:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"727:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"730:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"720:6:2"},"nodeType":"YulFunctionCall","src":"720:12:2"},"nodeType":"YulExpressionStatement","src":"720:12:2"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"677:5:2"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"688:5:2"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"703:3:2","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"708:1:2","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"699:3:2"},"nodeType":"YulFunctionCall","src":"699:11:2"},{"kind":"number","nodeType":"YulLiteral","src":"712:1:2","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"695:3:2"},"nodeType":"YulFunctionCall","src":"695:19:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"684:3:2"},"nodeType":"YulFunctionCall","src":"684:31:2"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"674:2:2"},"nodeType":"YulFunctionCall","src":"674:42:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"667:6:2"},"nodeType":"YulFunctionCall","src":"667:50:2"},"nodeType":"YulIf","src":"664:70:2"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"595:6:2","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"606:5:2","type":""}],"src":"567:173:2"},{"body":{"nodeType":"YulBlock","src":"832:167:2","statements":[{"body":{"nodeType":"YulBlock","src":"878:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"887:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"890:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"880:6:2"},"nodeType":"YulFunctionCall","src":"880:12:2"},"nodeType":"YulExpressionStatement","src":"880:12:2"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"853:7:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"862:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"849:3:2"},"nodeType":"YulFunctionCall","src":"849:23:2"},{"kind":"number","nodeType":"YulLiteral","src":"874:2:2","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"845:3:2"},"nodeType":"YulFunctionCall","src":"845:32:2"},"nodeType":"YulIf","src":"842:52:2"},{"nodeType":"YulAssignment","src":"903:39:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"932:9:2"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"913:18:2"},"nodeType":"YulFunctionCall","src":"913:29:2"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"903:6:2"}]},{"nodeType":"YulAssignment","src":"951:42:2","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"978:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"989:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"974:3:2"},"nodeType":"YulFunctionCall","src":"974:18:2"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"961:12:2"},"nodeType":"YulFunctionCall","src":"961:32:2"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"951:6:2"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"790:9:2","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"801:7:2","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"813:6:2","type":""},{"name":"value1","nodeType":"YulTypedName","src":"821:6:2","type":""}],"src":"745:254:2"},{"body":{"nodeType":"YulBlock","src":"1099:92:2","statements":[{"nodeType":"YulAssignment","src":"1109:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1121:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"1132:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1117:3:2"},"nodeType":"YulFunctionCall","src":"1117:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1109:4:2"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1151:9:2"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1176:6:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1169:6:2"},"nodeType":"YulFunctionCall","src":"1169:14:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1162:6:2"},"nodeType":"YulFunctionCall","src":"1162:22:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1144:6:2"},"nodeType":"YulFunctionCall","src":"1144:41:2"},"nodeType":"YulExpressionStatement","src":"1144:41:2"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1068:9:2","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1079:6:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1090:4:2","type":""}],"src":"1004:187:2"},{"body":{"nodeType":"YulBlock","src":"1297:76:2","statements":[{"nodeType":"YulAssignment","src":"1307:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1319:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"1330:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1315:3:2"},"nodeType":"YulFunctionCall","src":"1315:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1307:4:2"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1349:9:2"},{"name":"value0","nodeType":"YulIdentifier","src":"1360:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1342:6:2"},"nodeType":"YulFunctionCall","src":"1342:25:2"},"nodeType":"YulExpressionStatement","src":"1342:25:2"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1266:9:2","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1277:6:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1288:4:2","type":""}],"src":"1196:177:2"},{"body":{"nodeType":"YulBlock","src":"1482:224:2","statements":[{"body":{"nodeType":"YulBlock","src":"1528:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1537:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1540:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1530:6:2"},"nodeType":"YulFunctionCall","src":"1530:12:2"},"nodeType":"YulExpressionStatement","src":"1530:12:2"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1503:7:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"1512:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1499:3:2"},"nodeType":"YulFunctionCall","src":"1499:23:2"},{"kind":"number","nodeType":"YulLiteral","src":"1524:2:2","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1495:3:2"},"nodeType":"YulFunctionCall","src":"1495:32:2"},"nodeType":"YulIf","src":"1492:52:2"},{"nodeType":"YulAssignment","src":"1553:39:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1582:9:2"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1563:18:2"},"nodeType":"YulFunctionCall","src":"1563:29:2"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1553:6:2"}]},{"nodeType":"YulAssignment","src":"1601:48:2","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1634:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"1645:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1630:3:2"},"nodeType":"YulFunctionCall","src":"1630:18:2"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1611:18:2"},"nodeType":"YulFunctionCall","src":"1611:38:2"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1601:6:2"}]},{"nodeType":"YulAssignment","src":"1658:42:2","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1685:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"1696:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1681:3:2"},"nodeType":"YulFunctionCall","src":"1681:18:2"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1668:12:2"},"nodeType":"YulFunctionCall","src":"1668:32:2"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1658:6:2"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1432:9:2","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1443:7:2","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1455:6:2","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1463:6:2","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1471:6:2","type":""}],"src":"1378:328:2"},{"body":{"nodeType":"YulBlock","src":"1808:87:2","statements":[{"nodeType":"YulAssignment","src":"1818:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1830:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"1841:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1826:3:2"},"nodeType":"YulFunctionCall","src":"1826:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1818:4:2"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1860:9:2"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1875:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"1883:4:2","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1871:3:2"},"nodeType":"YulFunctionCall","src":"1871:17:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1853:6:2"},"nodeType":"YulFunctionCall","src":"1853:36:2"},"nodeType":"YulExpressionStatement","src":"1853:36:2"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1777:9:2","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1788:6:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1799:4:2","type":""}],"src":"1711:184:2"},{"body":{"nodeType":"YulBlock","src":"2001:76:2","statements":[{"nodeType":"YulAssignment","src":"2011:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2023:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"2034:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2019:3:2"},"nodeType":"YulFunctionCall","src":"2019:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2011:4:2"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2053:9:2"},{"name":"value0","nodeType":"YulIdentifier","src":"2064:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2046:6:2"},"nodeType":"YulFunctionCall","src":"2046:25:2"},"nodeType":"YulExpressionStatement","src":"2046:25:2"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1970:9:2","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1981:6:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1992:4:2","type":""}],"src":"1900:177:2"},{"body":{"nodeType":"YulBlock","src":"2152:116:2","statements":[{"body":{"nodeType":"YulBlock","src":"2198:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2207:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2210:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2200:6:2"},"nodeType":"YulFunctionCall","src":"2200:12:2"},"nodeType":"YulExpressionStatement","src":"2200:12:2"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2173:7:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"2182:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2169:3:2"},"nodeType":"YulFunctionCall","src":"2169:23:2"},{"kind":"number","nodeType":"YulLiteral","src":"2194:2:2","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2165:3:2"},"nodeType":"YulFunctionCall","src":"2165:32:2"},"nodeType":"YulIf","src":"2162:52:2"},{"nodeType":"YulAssignment","src":"2223:39:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2252:9:2"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2233:18:2"},"nodeType":"YulFunctionCall","src":"2233:29:2"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2223:6:2"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2118:9:2","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2129:7:2","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2141:6:2","type":""}],"src":"2082:186:2"},{"body":{"nodeType":"YulBlock","src":"2443:523:2","statements":[{"body":{"nodeType":"YulBlock","src":"2490:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2499:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2502:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2492:6:2"},"nodeType":"YulFunctionCall","src":"2492:12:2"},"nodeType":"YulExpressionStatement","src":"2492:12:2"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2464:7:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"2473:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2460:3:2"},"nodeType":"YulFunctionCall","src":"2460:23:2"},{"kind":"number","nodeType":"YulLiteral","src":"2485:3:2","type":"","value":"224"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2456:3:2"},"nodeType":"YulFunctionCall","src":"2456:33:2"},"nodeType":"YulIf","src":"2453:53:2"},{"nodeType":"YulAssignment","src":"2515:39:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2544:9:2"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2525:18:2"},"nodeType":"YulFunctionCall","src":"2525:29:2"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2515:6:2"}]},{"nodeType":"YulAssignment","src":"2563:48:2","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2596:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"2607:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2592:3:2"},"nodeType":"YulFunctionCall","src":"2592:18:2"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2573:18:2"},"nodeType":"YulFunctionCall","src":"2573:38:2"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2563:6:2"}]},{"nodeType":"YulAssignment","src":"2620:42:2","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2647:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"2658:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2643:3:2"},"nodeType":"YulFunctionCall","src":"2643:18:2"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2630:12:2"},"nodeType":"YulFunctionCall","src":"2630:32:2"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2620:6:2"}]},{"nodeType":"YulAssignment","src":"2671:42:2","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2698:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"2709:2:2","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2694:3:2"},"nodeType":"YulFunctionCall","src":"2694:18:2"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2681:12:2"},"nodeType":"YulFunctionCall","src":"2681:32:2"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"2671:6:2"}]},{"nodeType":"YulVariableDeclaration","src":"2722:46:2","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2752:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"2763:3:2","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2748:3:2"},"nodeType":"YulFunctionCall","src":"2748:19:2"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2735:12:2"},"nodeType":"YulFunctionCall","src":"2735:33:2"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2726:5:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"2816:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2825:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2828:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2818:6:2"},"nodeType":"YulFunctionCall","src":"2818:12:2"},"nodeType":"YulExpressionStatement","src":"2818:12:2"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2790:5:2"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2801:5:2"},{"kind":"number","nodeType":"YulLiteral","src":"2808:4:2","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2797:3:2"},"nodeType":"YulFunctionCall","src":"2797:16:2"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2787:2:2"},"nodeType":"YulFunctionCall","src":"2787:27:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2780:6:2"},"nodeType":"YulFunctionCall","src":"2780:35:2"},"nodeType":"YulIf","src":"2777:55:2"},{"nodeType":"YulAssignment","src":"2841:15:2","value":{"name":"value","nodeType":"YulIdentifier","src":"2851:5:2"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"2841:6:2"}]},{"nodeType":"YulAssignment","src":"2865:43:2","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2892:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"2903:3:2","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2888:3:2"},"nodeType":"YulFunctionCall","src":"2888:19:2"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2875:12:2"},"nodeType":"YulFunctionCall","src":"2875:33:2"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"2865:6:2"}]},{"nodeType":"YulAssignment","src":"2917:43:2","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2944:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"2955:3:2","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2940:3:2"},"nodeType":"YulFunctionCall","src":"2940:19:2"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2927:12:2"},"nodeType":"YulFunctionCall","src":"2927:33:2"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"2917:6:2"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_uint8t_bytes32t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2361:9:2","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2372:7:2","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2384:6:2","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2392:6:2","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2400:6:2","type":""},{"name":"value3","nodeType":"YulTypedName","src":"2408:6:2","type":""},{"name":"value4","nodeType":"YulTypedName","src":"2416:6:2","type":""},{"name":"value5","nodeType":"YulTypedName","src":"2424:6:2","type":""},{"name":"value6","nodeType":"YulTypedName","src":"2432:6:2","type":""}],"src":"2273:693:2"},{"body":{"nodeType":"YulBlock","src":"3058:173:2","statements":[{"body":{"nodeType":"YulBlock","src":"3104:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3113:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3116:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3106:6:2"},"nodeType":"YulFunctionCall","src":"3106:12:2"},"nodeType":"YulExpressionStatement","src":"3106:12:2"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3079:7:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"3088:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3075:3:2"},"nodeType":"YulFunctionCall","src":"3075:23:2"},{"kind":"number","nodeType":"YulLiteral","src":"3100:2:2","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3071:3:2"},"nodeType":"YulFunctionCall","src":"3071:32:2"},"nodeType":"YulIf","src":"3068:52:2"},{"nodeType":"YulAssignment","src":"3129:39:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3158:9:2"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3139:18:2"},"nodeType":"YulFunctionCall","src":"3139:29:2"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3129:6:2"}]},{"nodeType":"YulAssignment","src":"3177:48:2","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3210:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"3221:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3206:3:2"},"nodeType":"YulFunctionCall","src":"3206:18:2"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3187:18:2"},"nodeType":"YulFunctionCall","src":"3187:38:2"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3177:6:2"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3016:9:2","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3027:7:2","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3039:6:2","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3047:6:2","type":""}],"src":"2971:260:2"},{"body":{"nodeType":"YulBlock","src":"3303:206:2","statements":[{"body":{"nodeType":"YulBlock","src":"3349:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3358:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3361:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3351:6:2"},"nodeType":"YulFunctionCall","src":"3351:12:2"},"nodeType":"YulExpressionStatement","src":"3351:12:2"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3324:7:2"},{"name":"headStart","nodeType":"YulIdentifier","src":"3333:9:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3320:3:2"},"nodeType":"YulFunctionCall","src":"3320:23:2"},{"kind":"number","nodeType":"YulLiteral","src":"3345:2:2","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3316:3:2"},"nodeType":"YulFunctionCall","src":"3316:32:2"},"nodeType":"YulIf","src":"3313:52:2"},{"nodeType":"YulVariableDeclaration","src":"3374:36:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3400:9:2"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3387:12:2"},"nodeType":"YulFunctionCall","src":"3387:23:2"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3378:5:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"3463:16:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3472:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3475:1:2","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3465:6:2"},"nodeType":"YulFunctionCall","src":"3465:12:2"},"nodeType":"YulExpressionStatement","src":"3465:12:2"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3432:5:2"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3453:5:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3446:6:2"},"nodeType":"YulFunctionCall","src":"3446:13:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3439:6:2"},"nodeType":"YulFunctionCall","src":"3439:21:2"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3429:2:2"},"nodeType":"YulFunctionCall","src":"3429:32:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3422:6:2"},"nodeType":"YulFunctionCall","src":"3422:40:2"},"nodeType":"YulIf","src":"3419:60:2"},{"nodeType":"YulAssignment","src":"3488:15:2","value":{"name":"value","nodeType":"YulIdentifier","src":"3498:5:2"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3488:6:2"}]}]},"name":"abi_decode_tuple_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3269:9:2","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3280:7:2","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3292:6:2","type":""}],"src":"3236:273:2"},{"body":{"nodeType":"YulBlock","src":"3569:325:2","statements":[{"nodeType":"YulAssignment","src":"3579:22:2","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3593:1:2","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"3596:4:2"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"3589:3:2"},"nodeType":"YulFunctionCall","src":"3589:12:2"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"3579:6:2"}]},{"nodeType":"YulVariableDeclaration","src":"3610:38:2","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"3640:4:2"},{"kind":"number","nodeType":"YulLiteral","src":"3646:1:2","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3636:3:2"},"nodeType":"YulFunctionCall","src":"3636:12:2"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"3614:18:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"3687:31:2","statements":[{"nodeType":"YulAssignment","src":"3689:27:2","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3703:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"3711:4:2","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3699:3:2"},"nodeType":"YulFunctionCall","src":"3699:17:2"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"3689:6:2"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"3667:18:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3660:6:2"},"nodeType":"YulFunctionCall","src":"3660:26:2"},"nodeType":"YulIf","src":"3657:61:2"},{"body":{"nodeType":"YulBlock","src":"3777:111:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3798:1:2","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3805:3:2","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3810:10:2","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3801:3:2"},"nodeType":"YulFunctionCall","src":"3801:20:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3791:6:2"},"nodeType":"YulFunctionCall","src":"3791:31:2"},"nodeType":"YulExpressionStatement","src":"3791:31:2"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3842:1:2","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3845:4:2","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3835:6:2"},"nodeType":"YulFunctionCall","src":"3835:15:2"},"nodeType":"YulExpressionStatement","src":"3835:15:2"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3870:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3873:4:2","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3863:6:2"},"nodeType":"YulFunctionCall","src":"3863:15:2"},"nodeType":"YulExpressionStatement","src":"3863:15:2"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"3733:18:2"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3756:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"3764:2:2","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3753:2:2"},"nodeType":"YulFunctionCall","src":"3753:14:2"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3730:2:2"},"nodeType":"YulFunctionCall","src":"3730:38:2"},"nodeType":"YulIf","src":"3727:161:2"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"3549:4:2","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"3558:6:2","type":""}],"src":"3514:380:2"},{"body":{"nodeType":"YulBlock","src":"3931:95:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3948:1:2","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3955:3:2","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3960:10:2","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3951:3:2"},"nodeType":"YulFunctionCall","src":"3951:20:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3941:6:2"},"nodeType":"YulFunctionCall","src":"3941:31:2"},"nodeType":"YulExpressionStatement","src":"3941:31:2"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3988:1:2","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3991:4:2","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3981:6:2"},"nodeType":"YulFunctionCall","src":"3981:15:2"},"nodeType":"YulExpressionStatement","src":"3981:15:2"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4012:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4015:4:2","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4005:6:2"},"nodeType":"YulFunctionCall","src":"4005:15:2"},"nodeType":"YulExpressionStatement","src":"4005:15:2"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"3899:127:2"},{"body":{"nodeType":"YulBlock","src":"4080:79:2","statements":[{"nodeType":"YulAssignment","src":"4090:17:2","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"4102:1:2"},{"name":"y","nodeType":"YulIdentifier","src":"4105:1:2"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4098:3:2"},"nodeType":"YulFunctionCall","src":"4098:9:2"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"4090:4:2"}]},{"body":{"nodeType":"YulBlock","src":"4131:22:2","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"4133:16:2"},"nodeType":"YulFunctionCall","src":"4133:18:2"},"nodeType":"YulExpressionStatement","src":"4133:18:2"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"4122:4:2"},{"name":"x","nodeType":"YulIdentifier","src":"4128:1:2"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4119:2:2"},"nodeType":"YulFunctionCall","src":"4119:11:2"},"nodeType":"YulIf","src":"4116:37:2"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"4062:1:2","type":""},{"name":"y","nodeType":"YulTypedName","src":"4065:1:2","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"4071:4:2","type":""}],"src":"4031:128:2"},{"body":{"nodeType":"YulBlock","src":"4338:173:2","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4355:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"4366:2:2","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4348:6:2"},"nodeType":"YulFunctionCall","src":"4348:21:2"},"nodeType":"YulExpressionStatement","src":"4348:21:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4389:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"4400:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4385:3:2"},"nodeType":"YulFunctionCall","src":"4385:18:2"},{"kind":"number","nodeType":"YulLiteral","src":"4405:2:2","type":"","value":"23"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4378:6:2"},"nodeType":"YulFunctionCall","src":"4378:30:2"},"nodeType":"YulExpressionStatement","src":"4378:30:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4428:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"4439:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4424:3:2"},"nodeType":"YulFunctionCall","src":"4424:18:2"},{"hexValue":"5045524d49545f444541444c494e455f45585049524544","kind":"string","nodeType":"YulLiteral","src":"4444:25:2","type":"","value":"PERMIT_DEADLINE_EXPIRED"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4417:6:2"},"nodeType":"YulFunctionCall","src":"4417:53:2"},"nodeType":"YulExpressionStatement","src":"4417:53:2"},{"nodeType":"YulAssignment","src":"4479:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4491:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"4502:2:2","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4487:3:2"},"nodeType":"YulFunctionCall","src":"4487:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4479:4:2"}]}]},"name":"abi_encode_tuple_t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4315:9:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4329:4:2","type":""}],"src":"4164:347:2"},{"body":{"nodeType":"YulBlock","src":"4757:350:2","statements":[{"nodeType":"YulAssignment","src":"4767:27:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4779:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"4790:3:2","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4775:3:2"},"nodeType":"YulFunctionCall","src":"4775:19:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4767:4:2"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4810:9:2"},{"name":"value0","nodeType":"YulIdentifier","src":"4821:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4803:6:2"},"nodeType":"YulFunctionCall","src":"4803:25:2"},"nodeType":"YulExpressionStatement","src":"4803:25:2"},{"nodeType":"YulVariableDeclaration","src":"4837:29:2","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4855:3:2","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"4860:1:2","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4851:3:2"},"nodeType":"YulFunctionCall","src":"4851:11:2"},{"kind":"number","nodeType":"YulLiteral","src":"4864:1:2","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4847:3:2"},"nodeType":"YulFunctionCall","src":"4847:19:2"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4841:2:2","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4886:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"4897:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4882:3:2"},"nodeType":"YulFunctionCall","src":"4882:18:2"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"4906:6:2"},{"name":"_1","nodeType":"YulIdentifier","src":"4914:2:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4902:3:2"},"nodeType":"YulFunctionCall","src":"4902:15:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4875:6:2"},"nodeType":"YulFunctionCall","src":"4875:43:2"},"nodeType":"YulExpressionStatement","src":"4875:43:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4938:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"4949:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4934:3:2"},"nodeType":"YulFunctionCall","src":"4934:18:2"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"4958:6:2"},{"name":"_1","nodeType":"YulIdentifier","src":"4966:2:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4954:3:2"},"nodeType":"YulFunctionCall","src":"4954:15:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4927:6:2"},"nodeType":"YulFunctionCall","src":"4927:43:2"},"nodeType":"YulExpressionStatement","src":"4927:43:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4990:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"5001:2:2","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4986:3:2"},"nodeType":"YulFunctionCall","src":"4986:18:2"},{"name":"value3","nodeType":"YulIdentifier","src":"5006:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4979:6:2"},"nodeType":"YulFunctionCall","src":"4979:34:2"},"nodeType":"YulExpressionStatement","src":"4979:34:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5033:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"5044:3:2","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5029:3:2"},"nodeType":"YulFunctionCall","src":"5029:19:2"},{"name":"value4","nodeType":"YulIdentifier","src":"5050:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5022:6:2"},"nodeType":"YulFunctionCall","src":"5022:35:2"},"nodeType":"YulExpressionStatement","src":"5022:35:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5077:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"5088:3:2","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5073:3:2"},"nodeType":"YulFunctionCall","src":"5073:19:2"},{"name":"value5","nodeType":"YulIdentifier","src":"5094:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5066:6:2"},"nodeType":"YulFunctionCall","src":"5066:35:2"},"nodeType":"YulExpressionStatement","src":"5066:35:2"}]},"name":"abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__to_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4686:9:2","type":""},{"name":"value5","nodeType":"YulTypedName","src":"4697:6:2","type":""},{"name":"value4","nodeType":"YulTypedName","src":"4705:6:2","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4713:6:2","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4721:6:2","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4729:6:2","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4737:6:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4748:4:2","type":""}],"src":"4516:591:2"},{"body":{"nodeType":"YulBlock","src":"5360:144:2","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5377:3:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5386:3:2","type":"","value":"240"},{"kind":"number","nodeType":"YulLiteral","src":"5391:4:2","type":"","value":"6401"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5382:3:2"},"nodeType":"YulFunctionCall","src":"5382:14:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5370:6:2"},"nodeType":"YulFunctionCall","src":"5370:27:2"},"nodeType":"YulExpressionStatement","src":"5370:27:2"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5417:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"5422:1:2","type":"","value":"2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5413:3:2"},"nodeType":"YulFunctionCall","src":"5413:11:2"},{"name":"value0","nodeType":"YulIdentifier","src":"5426:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5406:6:2"},"nodeType":"YulFunctionCall","src":"5406:27:2"},"nodeType":"YulExpressionStatement","src":"5406:27:2"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5453:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"5458:2:2","type":"","value":"34"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5449:3:2"},"nodeType":"YulFunctionCall","src":"5449:12:2"},{"name":"value1","nodeType":"YulIdentifier","src":"5463:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5442:6:2"},"nodeType":"YulFunctionCall","src":"5442:28:2"},"nodeType":"YulExpressionStatement","src":"5442:28:2"},{"nodeType":"YulAssignment","src":"5479:19:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5490:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"5495:2:2","type":"","value":"66"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5486:3:2"},"nodeType":"YulFunctionCall","src":"5486:12:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"5479:3:2"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5328:3:2","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5333:6:2","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5341:6:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"5352:3:2","type":""}],"src":"5112:392:2"},{"body":{"nodeType":"YulBlock","src":"5690:217:2","statements":[{"nodeType":"YulAssignment","src":"5700:27:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5712:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"5723:3:2","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5708:3:2"},"nodeType":"YulFunctionCall","src":"5708:19:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5700:4:2"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5743:9:2"},{"name":"value0","nodeType":"YulIdentifier","src":"5754:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5736:6:2"},"nodeType":"YulFunctionCall","src":"5736:25:2"},"nodeType":"YulExpressionStatement","src":"5736:25:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5781:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"5792:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5777:3:2"},"nodeType":"YulFunctionCall","src":"5777:18:2"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"5801:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"5809:4:2","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5797:3:2"},"nodeType":"YulFunctionCall","src":"5797:17:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5770:6:2"},"nodeType":"YulFunctionCall","src":"5770:45:2"},"nodeType":"YulExpressionStatement","src":"5770:45:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5835:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"5846:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5831:3:2"},"nodeType":"YulFunctionCall","src":"5831:18:2"},{"name":"value2","nodeType":"YulIdentifier","src":"5851:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5824:6:2"},"nodeType":"YulFunctionCall","src":"5824:34:2"},"nodeType":"YulExpressionStatement","src":"5824:34:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5878:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"5889:2:2","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5874:3:2"},"nodeType":"YulFunctionCall","src":"5874:18:2"},{"name":"value3","nodeType":"YulIdentifier","src":"5894:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5867:6:2"},"nodeType":"YulFunctionCall","src":"5867:34:2"},"nodeType":"YulExpressionStatement","src":"5867:34:2"}]},"name":"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5635:9:2","type":""},{"name":"value3","nodeType":"YulTypedName","src":"5646:6:2","type":""},{"name":"value2","nodeType":"YulTypedName","src":"5654:6:2","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5662:6:2","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5670:6:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5681:4:2","type":""}],"src":"5509:398:2"},{"body":{"nodeType":"YulBlock","src":"6086:164:2","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6103:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"6114:2:2","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6096:6:2"},"nodeType":"YulFunctionCall","src":"6096:21:2"},"nodeType":"YulExpressionStatement","src":"6096:21:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6137:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"6148:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6133:3:2"},"nodeType":"YulFunctionCall","src":"6133:18:2"},{"kind":"number","nodeType":"YulLiteral","src":"6153:2:2","type":"","value":"14"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6126:6:2"},"nodeType":"YulFunctionCall","src":"6126:30:2"},"nodeType":"YulExpressionStatement","src":"6126:30:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6176:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"6187:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6172:3:2"},"nodeType":"YulFunctionCall","src":"6172:18:2"},{"hexValue":"494e56414c49445f5349474e4552","kind":"string","nodeType":"YulLiteral","src":"6192:16:2","type":"","value":"INVALID_SIGNER"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6165:6:2"},"nodeType":"YulFunctionCall","src":"6165:44:2"},"nodeType":"YulExpressionStatement","src":"6165:44:2"},{"nodeType":"YulAssignment","src":"6218:26:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6230:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"6241:2:2","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6226:3:2"},"nodeType":"YulFunctionCall","src":"6226:18:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6218:4:2"}]}]},"name":"abi_encode_tuple_t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6063:9:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6077:4:2","type":""}],"src":"5912:338:2"},{"body":{"nodeType":"YulBlock","src":"6314:65:2","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6331:1:2","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"6334:3:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6324:6:2"},"nodeType":"YulFunctionCall","src":"6324:14:2"},"nodeType":"YulExpressionStatement","src":"6324:14:2"},{"nodeType":"YulAssignment","src":"6347:26:2","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6365:1:2","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6368:4:2","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"6355:9:2"},"nodeType":"YulFunctionCall","src":"6355:18:2"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"6347:4:2"}]}]},"name":"array_dataslot_bytes_storage_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"6297:3:2","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"6305:4:2","type":""}],"src":"6255:124:2"},{"body":{"nodeType":"YulBlock","src":"6522:995:2","statements":[{"nodeType":"YulVariableDeclaration","src":"6532:12:2","value":{"kind":"number","nodeType":"YulLiteral","src":"6543:1:2","type":"","value":"0"},"variables":[{"name":"ret","nodeType":"YulTypedName","src":"6536:3:2","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6553:30:2","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6576:6:2"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"6570:5:2"},"nodeType":"YulFunctionCall","src":"6570:13:2"},"variables":[{"name":"slotValue","nodeType":"YulTypedName","src":"6557:9:2","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6592:17:2","value":{"name":"ret","nodeType":"YulIdentifier","src":"6606:3:2"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"6596:6:2","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6618:11:2","value":{"kind":"number","nodeType":"YulLiteral","src":"6628:1:2","type":"","value":"1"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"6622:2:2","type":""}]},{"nodeType":"YulAssignment","src":"6638:28:2","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"6652:2:2"},{"name":"slotValue","nodeType":"YulIdentifier","src":"6656:9:2"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"6648:3:2"},"nodeType":"YulFunctionCall","src":"6648:18:2"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"6638:6:2"}]},{"nodeType":"YulVariableDeclaration","src":"6675:44:2","value":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"6705:9:2"},{"name":"_1","nodeType":"YulIdentifier","src":"6716:2:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6701:3:2"},"nodeType":"YulFunctionCall","src":"6701:18:2"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"6679:18:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"6758:31:2","statements":[{"nodeType":"YulAssignment","src":"6760:27:2","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6774:6:2"},{"kind":"number","nodeType":"YulLiteral","src":"6782:4:2","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6770:3:2"},"nodeType":"YulFunctionCall","src":"6770:17:2"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"6760:6:2"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"6738:18:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6731:6:2"},"nodeType":"YulFunctionCall","src":"6731:26:2"},"nodeType":"YulIf","src":"6728:61:2"},{"nodeType":"YulVariableDeclaration","src":"6798:12:2","value":{"kind":"number","nodeType":"YulLiteral","src":"6808:2:2","type":"","value":"32"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"6802:2:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"6869:115:2","statements":[{"expression":{"arguments":[{"name":"ret","nodeType":"YulIdentifier","src":"6890:3:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6899:3:2","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"6904:10:2","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6895:3:2"},"nodeType":"YulFunctionCall","src":"6895:20:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6883:6:2"},"nodeType":"YulFunctionCall","src":"6883:33:2"},"nodeType":"YulExpressionStatement","src":"6883:33:2"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6936:1:2","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"6939:4:2","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6929:6:2"},"nodeType":"YulFunctionCall","src":"6929:15:2"},"nodeType":"YulExpressionStatement","src":"6929:15:2"},{"expression":{"arguments":[{"name":"ret","nodeType":"YulIdentifier","src":"6964:3:2"},{"kind":"number","nodeType":"YulLiteral","src":"6969:4:2","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6957:6:2"},"nodeType":"YulFunctionCall","src":"6957:17:2"},"nodeType":"YulExpressionStatement","src":"6957:17:2"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"6825:18:2"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6848:6:2"},{"name":"_2","nodeType":"YulIdentifier","src":"6856:2:2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6845:2:2"},"nodeType":"YulFunctionCall","src":"6845:14:2"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"6822:2:2"},"nodeType":"YulFunctionCall","src":"6822:38:2"},"nodeType":"YulIf","src":"6819:165:2"},{"cases":[{"body":{"nodeType":"YulBlock","src":"7034:126:2","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7055:3:2"},{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"7064:9:2"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7079:3:2","type":"","value":"255"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"7075:3:2"},"nodeType":"YulFunctionCall","src":"7075:8:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7060:3:2"},"nodeType":"YulFunctionCall","src":"7060:24:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7048:6:2"},"nodeType":"YulFunctionCall","src":"7048:37:2"},"nodeType":"YulExpressionStatement","src":"7048:37:2"},{"nodeType":"YulAssignment","src":"7098:52:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7109:3:2"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"7118:6:2"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"7140:6:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7133:6:2"},"nodeType":"YulFunctionCall","src":"7133:14:2"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7126:6:2"},"nodeType":"YulFunctionCall","src":"7126:22:2"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"7114:3:2"},"nodeType":"YulFunctionCall","src":"7114:35:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7105:3:2"},"nodeType":"YulFunctionCall","src":"7105:45:2"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"7098:3:2"}]}]},"nodeType":"YulCase","src":"7027:133:2","value":{"kind":"number","nodeType":"YulLiteral","src":"7032:1:2","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"7176:316:2","statements":[{"nodeType":"YulVariableDeclaration","src":"7190:55:2","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7238:6:2"}],"functionName":{"name":"array_dataslot_bytes_storage_ptr","nodeType":"YulIdentifier","src":"7205:32:2"},"nodeType":"YulFunctionCall","src":"7205:40:2"},"variables":[{"name":"dataPos","nodeType":"YulTypedName","src":"7194:7:2","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7258:10:2","value":{"kind":"number","nodeType":"YulLiteral","src":"7267:1:2","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"7262:1:2","type":""}]},{"body":{"nodeType":"YulBlock","src":"7335:111:2","statements":[{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7364:3:2"},{"name":"i","nodeType":"YulIdentifier","src":"7369:1:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7360:3:2"},"nodeType":"YulFunctionCall","src":"7360:11:2"},{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"7379:7:2"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"7373:5:2"},"nodeType":"YulFunctionCall","src":"7373:14:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7353:6:2"},"nodeType":"YulFunctionCall","src":"7353:35:2"},"nodeType":"YulExpressionStatement","src":"7353:35:2"},{"nodeType":"YulAssignment","src":"7405:27:2","value":{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"7420:7:2"},{"name":"_1","nodeType":"YulIdentifier","src":"7429:2:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7416:3:2"},"nodeType":"YulFunctionCall","src":"7416:16:2"},"variableNames":[{"name":"dataPos","nodeType":"YulIdentifier","src":"7405:7:2"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7292:1:2"},{"name":"length","nodeType":"YulIdentifier","src":"7295:6:2"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7289:2:2"},"nodeType":"YulFunctionCall","src":"7289:13:2"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"7303:19:2","statements":[{"nodeType":"YulAssignment","src":"7305:15:2","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7314:1:2"},{"name":"_2","nodeType":"YulIdentifier","src":"7317:2:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7310:3:2"},"nodeType":"YulFunctionCall","src":"7310:10:2"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"7305:1:2"}]}]},"pre":{"nodeType":"YulBlock","src":"7285:3:2","statements":[]},"src":"7281:165:2"},{"nodeType":"YulAssignment","src":"7459:23:2","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7470:3:2"},{"name":"length","nodeType":"YulIdentifier","src":"7475:6:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7466:3:2"},"nodeType":"YulFunctionCall","src":"7466:16:2"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"7459:3:2"}]}]},"nodeType":"YulCase","src":"7169:323:2","value":{"kind":"number","nodeType":"YulLiteral","src":"7174:1:2","type":"","value":"1"}}],"expression":{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"7000:18:2"},"nodeType":"YulSwitch","src":"6993:499:2"},{"nodeType":"YulAssignment","src":"7501:10:2","value":{"name":"ret","nodeType":"YulIdentifier","src":"7508:3:2"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7501:3:2"}]}]},"name":"abi_encode_tuple_packed_t_bytes_storage_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"6498:3:2","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6503:6:2","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"6514:3:2","type":""}],"src":"6384:1133:2"},{"body":{"nodeType":"YulBlock","src":"7735:276:2","statements":[{"nodeType":"YulAssignment","src":"7745:27:2","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7757:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"7768:3:2","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7753:3:2"},"nodeType":"YulFunctionCall","src":"7753:19:2"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7745:4:2"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7788:9:2"},{"name":"value0","nodeType":"YulIdentifier","src":"7799:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7781:6:2"},"nodeType":"YulFunctionCall","src":"7781:25:2"},"nodeType":"YulExpressionStatement","src":"7781:25:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7826:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"7837:2:2","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7822:3:2"},"nodeType":"YulFunctionCall","src":"7822:18:2"},{"name":"value1","nodeType":"YulIdentifier","src":"7842:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7815:6:2"},"nodeType":"YulFunctionCall","src":"7815:34:2"},"nodeType":"YulExpressionStatement","src":"7815:34:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7869:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"7880:2:2","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7865:3:2"},"nodeType":"YulFunctionCall","src":"7865:18:2"},{"name":"value2","nodeType":"YulIdentifier","src":"7885:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7858:6:2"},"nodeType":"YulFunctionCall","src":"7858:34:2"},"nodeType":"YulExpressionStatement","src":"7858:34:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7912:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"7923:2:2","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7908:3:2"},"nodeType":"YulFunctionCall","src":"7908:18:2"},{"name":"value3","nodeType":"YulIdentifier","src":"7928:6:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7901:6:2"},"nodeType":"YulFunctionCall","src":"7901:34:2"},"nodeType":"YulExpressionStatement","src":"7901:34:2"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7955:9:2"},{"kind":"number","nodeType":"YulLiteral","src":"7966:3:2","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7951:3:2"},"nodeType":"YulFunctionCall","src":"7951:19:2"},{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"7976:6:2"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7992:3:2","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"7997:1:2","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7988:3:2"},"nodeType":"YulFunctionCall","src":"7988:11:2"},{"kind":"number","nodeType":"YulLiteral","src":"8001:1:2","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7984:3:2"},"nodeType":"YulFunctionCall","src":"7984:19:2"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7972:3:2"},"nodeType":"YulFunctionCall","src":"7972:32:2"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7944:6:2"},"nodeType":"YulFunctionCall","src":"7944:61:2"},"nodeType":"YulExpressionStatement","src":"7944:61:2"}]},"name":"abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7672:9:2","type":""},{"name":"value4","nodeType":"YulTypedName","src":"7683:6:2","type":""},{"name":"value3","nodeType":"YulTypedName","src":"7691:6:2","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7699:6:2","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7707:6:2","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7715:6:2","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7726:4:2","type":""}],"src":"7522:489:2"},{"body":{"nodeType":"YulBlock","src":"8064:77:2","statements":[{"nodeType":"YulAssignment","src":"8074:16:2","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"8085:1:2"},{"name":"y","nodeType":"YulIdentifier","src":"8088:1:2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8081:3:2"},"nodeType":"YulFunctionCall","src":"8081:9:2"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"8074:3:2"}]},{"body":{"nodeType":"YulBlock","src":"8113:22:2","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"8115:16:2"},"nodeType":"YulFunctionCall","src":"8115:18:2"},"nodeType":"YulExpressionStatement","src":"8115:18:2"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"8105:1:2"},{"name":"sum","nodeType":"YulIdentifier","src":"8108:3:2"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8102:2:2"},"nodeType":"YulFunctionCall","src":"8102:10:2"},"nodeType":"YulIf","src":"8099:36:2"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"8047:1:2","type":""},{"name":"y","nodeType":"YulTypedName","src":"8050:1:2","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"8056:3:2","type":""}],"src":"8016:125:2"}]},"contents":"{\n { }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let length := mload(value0)\n mstore(add(headStart, _1), length)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 64), mload(add(add(value0, i), _1)))\n }\n mstore(add(add(headStart, length), 64), 0)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_uint8t_bytes32t_bytes32(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n {\n if slt(sub(dataEnd, headStart), 224) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n value3 := calldataload(add(headStart, 96))\n let value := calldataload(add(headStart, 128))\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n value4 := value\n value5 := calldataload(add(headStart, 160))\n value6 := calldataload(add(headStart, 192))\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_bool(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value0 := value\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 23)\n mstore(add(headStart, 64), \"PERMIT_DEADLINE_EXPIRED\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__to_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 192)\n mstore(headStart, value0)\n let _1 := sub(shl(160, 1), 1)\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), and(value2, _1))\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), value5)\n }\n function abi_encode_tuple_packed_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, shl(240, 6401))\n mstore(add(pos, 2), value0)\n mstore(add(pos, 34), value1)\n end := add(pos, 66)\n }\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xff))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n }\n function abi_encode_tuple_t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 14)\n mstore(add(headStart, 64), \"INVALID_SIGNER\")\n tail := add(headStart, 96)\n }\n function array_dataslot_bytes_storage_ptr(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function abi_encode_tuple_packed_t_bytes_storage_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let ret := 0\n let slotValue := sload(value0)\n let length := ret\n let _1 := 1\n length := shr(_1, slotValue)\n let outOfPlaceEncoding := and(slotValue, _1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n let _2 := 32\n if eq(outOfPlaceEncoding, lt(length, _2))\n {\n mstore(ret, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(ret, 0x24)\n }\n switch outOfPlaceEncoding\n case 0 {\n mstore(pos, and(slotValue, not(255)))\n ret := add(pos, mul(length, iszero(iszero(length))))\n }\n case 1 {\n let dataPos := array_dataslot_bytes_storage_ptr(value0)\n let i := 0\n for { } lt(i, length) { i := add(i, _2) }\n {\n mstore(add(pos, i), sload(dataPos))\n dataPos := add(dataPos, _1)\n }\n ret := add(pos, length)\n }\n end := ret\n }\n function abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 160)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), and(value4, sub(shl(160, 1), 1)))\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n}","id":2,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"24":[{"length":32,"start":375}],"38":[{"length":32,"start":943}],"40":[{"length":32,"start":996}]},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100f55760003560e01c806340c10f1911610097578063a9059cbb11610066578063a9059cbb1461020e578063d505accf14610221578063dd62ed3e14610236578063e074d6a91461026157600080fd5b806340c10f19146101b357806370a08231146101c65780637ecebe00146101e657806395d89b411461020657600080fd5b806323b872dd116100d357806323b872dd14610152578063303bdd2c14610165578063313ce567146101725780633644e515146101ab57600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b610102610282565b60405161010f91906108e0565b60405180910390f35b61012b61012636600461094a565b610310565b604051901515815260200161010f565b61014460025481565b60405190815260200161010f565b61012b610160366004610974565b61037d565b60065461012b9060ff1681565b6101997f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161010f565b6101446103ab565b61012b6101c136600461094a565b610406565b6101446101d43660046109b0565b60036020526000908152604090205481565b6101446101f43660046109b0565b60056020526000908152604090205481565b61010261041b565b61012b61021c36600461094a565b610428565b61023461022f3660046109cb565b6104a0565b005b610144610244366004610a3e565b600460209081526000928352604080842090915290825290205481565b61023461026f366004610a71565b6006805460ff1916911515919091179055565b6000805461028f90610a93565b80601f01602080910402602001604051908101604052809291908181526020018280546102bb90610a93565b80156103085780601f106102dd57610100808354040283529160200191610308565b820191906000526020600020905b8154815290600101906020018083116102eb57829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061036b9086815260200190565b60405180910390a35060015b92915050565b60065460009060ff1615610393575060006103a4565b61039e8484846106e9565b50600190505b9392505050565b60007f000000000000000000000000000000000000000000000000000000000000000046146103e1576103dc6107db565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b60006104128383610875565b50600192915050565b6001805461028f90610a93565b33600090815260036020526040812080548391908390610449908490610ae3565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061036b9086815260200190565b428410156104f55760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064015b60405180910390fd5b600060016105016103ab565b6001600160a01b038a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa15801561060d573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906106435750876001600160a01b0316816001600160a01b0316145b6106805760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b60448201526064016104ec565b6001600160a01b0390811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6001600160a01b03831660009081526004602090815260408083203384529091528120546000198114610745576107208382610ae3565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b0385166000908152600360205260408120805485929061076d908490610ae3565b90915550506001600160a01b03808516600081815260036020526040908190208054870190555190918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906107c89087815260200190565b60405180910390a3506001949350505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405161080d9190610af6565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b80600260008282546108879190610b95565b90915550506001600160a01b0382166000818152600360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600060208083528351808285015260005b8181101561090d578581018301518582016040015282016108f1565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461094557600080fd5b919050565b6000806040838503121561095d57600080fd5b6109668361092e565b946020939093013593505050565b60008060006060848603121561098957600080fd5b6109928461092e565b92506109a06020850161092e565b9150604084013590509250925092565b6000602082840312156109c257600080fd5b6103a48261092e565b600080600080600080600060e0888a0312156109e657600080fd5b6109ef8861092e565b96506109fd6020890161092e565b95506040880135945060608801359350608088013560ff81168114610a2157600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610a5157600080fd5b610a5a8361092e565b9150610a686020840161092e565b90509250929050565b600060208284031215610a8357600080fd5b813580151581146103a457600080fd5b600181811c90821680610aa757607f821691505b602082108103610ac757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561037757610377610acd565b600080835481600182811c915080831680610b1257607f831692505b60208084108203610b3157634e487b7160e01b86526022600452602486fd5b818015610b455760018114610b5a57610b87565b60ff1986168952841515850289019650610b87565b60008a81526020902060005b86811015610b7f5781548b820152908501908301610b66565b505084890196505b509498975050505050505050565b8082018082111561037757610377610acd56fea26469706673582212200b565a8a79a9a683c46177daccb693d8689b020f7b3d1b07d76b71acaa18cab464736f6c63430008110033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x40C10F19 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xA9059CBB GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x20E JUMPI DUP1 PUSH4 0xD505ACCF EQ PUSH2 0x221 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x236 JUMPI DUP1 PUSH4 0xE074D6A9 EQ PUSH2 0x261 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1C6 JUMPI DUP1 PUSH4 0x7ECEBE00 EQ PUSH2 0x1E6 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x206 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x23B872DD GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x152 JUMPI DUP1 PUSH4 0x303BDD2C EQ PUSH2 0x165 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x172 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x1AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x118 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x13B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x102 PUSH2 0x282 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10F SWAP2 SWAP1 PUSH2 0x8E0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x12B PUSH2 0x126 CALLDATASIZE PUSH1 0x4 PUSH2 0x94A JUMP JUMPDEST PUSH2 0x310 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x10F JUMP JUMPDEST PUSH2 0x144 PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x10F JUMP JUMPDEST PUSH2 0x12B PUSH2 0x160 CALLDATASIZE PUSH1 0x4 PUSH2 0x974 JUMP JUMPDEST PUSH2 0x37D JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH2 0x12B SWAP1 PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH2 0x199 PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x10F JUMP JUMPDEST PUSH2 0x144 PUSH2 0x3AB JUMP JUMPDEST PUSH2 0x12B PUSH2 0x1C1 CALLDATASIZE PUSH1 0x4 PUSH2 0x94A JUMP JUMPDEST PUSH2 0x406 JUMP JUMPDEST PUSH2 0x144 PUSH2 0x1D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x9B0 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x144 PUSH2 0x1F4 CALLDATASIZE PUSH1 0x4 PUSH2 0x9B0 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x102 PUSH2 0x41B JUMP JUMPDEST PUSH2 0x12B PUSH2 0x21C CALLDATASIZE PUSH1 0x4 PUSH2 0x94A JUMP JUMPDEST PUSH2 0x428 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x22F CALLDATASIZE PUSH1 0x4 PUSH2 0x9CB JUMP JUMPDEST PUSH2 0x4A0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x144 PUSH2 0x244 CALLDATASIZE PUSH1 0x4 PUSH2 0xA3E JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x26F CALLDATASIZE PUSH1 0x4 PUSH2 0xA71 JUMP JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x28F SWAP1 PUSH2 0xA93 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2BB SWAP1 PUSH2 0xA93 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x308 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2DD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x308 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2EB JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE MLOAD SWAP2 SWAP3 SWAP1 SWAP2 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP1 PUSH2 0x36B SWAP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP PUSH1 0x1 JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x393 JUMPI POP PUSH1 0x0 PUSH2 0x3A4 JUMP JUMPDEST PUSH2 0x39E DUP5 DUP5 DUP5 PUSH2 0x6E9 JUMP JUMPDEST POP PUSH1 0x1 SWAP1 POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x0 CHAINID EQ PUSH2 0x3E1 JUMPI PUSH2 0x3DC PUSH2 0x7DB JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST POP PUSH32 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x412 DUP4 DUP4 PUSH2 0x875 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x28F SWAP1 PUSH2 0xA93 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP2 SWAP1 DUP4 SWAP1 PUSH2 0x449 SWAP1 DUP5 SWAP1 PUSH2 0xAE3 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP1 SLOAD DUP6 ADD SWAP1 SSTORE MLOAD CALLER SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH2 0x36B SWAP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST TIMESTAMP DUP5 LT ISZERO PUSH2 0x4F5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5045524D49545F444541444C494E455F45585049524544000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x501 PUSH2 0x3AB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 ADD SWAP1 SWAP2 SSTORE DUP3 MLOAD PUSH32 0x6E71EDAE12B1B97F4D1F60370FEF10105FA2FAAE0126114A169C64845D6126C9 DUP2 DUP5 ADD MSTORE DUP1 DUP5 ADD SWAP5 SWAP1 SWAP5 MSTORE SWAP4 DUP14 AND PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD DUP13 SWAP1 MSTORE PUSH1 0xA0 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0xC0 DUP1 DUP4 ADD DUP12 SWAP1 MSTORE DUP2 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0xE0 DUP4 ADD SWAP1 SWAP2 MSTORE DUP1 MLOAD SWAP3 ADD SWAP2 SWAP1 SWAP2 KECCAK256 PUSH2 0x1901 PUSH1 0xF0 SHL PUSH2 0x100 DUP4 ADD MSTORE PUSH2 0x102 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH2 0x122 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH2 0x142 ADD PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE DUP3 DUP3 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD KECCAK256 PUSH1 0x0 DUP5 MSTORE SWAP1 DUP4 ADD DUP1 DUP4 MSTORE MSTORE PUSH1 0xFF DUP8 AND SWAP1 DUP3 ADD MSTORE PUSH1 0x60 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x60D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH1 0x1F NOT ADD MLOAD SWAP2 POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO DUP1 ISZERO SWAP1 PUSH2 0x643 JUMPI POP DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x680 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x24A72B20A624A22FA9A4A3A722A9 PUSH1 0x91 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4EC JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP11 DUP6 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP10 SWAP1 SSTORE MLOAD DUP9 DUP2 MSTORE SWAP2 SWAP3 DUP11 AND SWAP2 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0x0 NOT DUP2 EQ PUSH2 0x745 JUMPI PUSH2 0x720 DUP4 DUP3 PUSH2 0xAE3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP6 SWAP3 SWAP1 PUSH2 0x76D SWAP1 DUP5 SWAP1 PUSH2 0xAE3 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE MLOAD SWAP1 SWAP2 DUP8 AND SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH2 0x7C8 SWAP1 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F PUSH1 0x0 PUSH1 0x40 MLOAD PUSH2 0x80D SWAP2 SWAP1 PUSH2 0xAF6 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB DUP3 KECCAK256 PUSH1 0x20 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP3 ADD MSTORE CHAINID PUSH1 0x80 DUP3 ADD MSTORE ADDRESS PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 ADD PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x887 SWAP2 SWAP1 PUSH2 0xB95 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP7 ADD SWAP1 SSTORE MLOAD DUP5 DUP2 MSTORE PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x90D JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x8F1 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x945 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x95D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x966 DUP4 PUSH2 0x92E JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x989 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x992 DUP5 PUSH2 0x92E JUMP JUMPDEST SWAP3 POP PUSH2 0x9A0 PUSH1 0x20 DUP6 ADD PUSH2 0x92E JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3A4 DUP3 PUSH2 0x92E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x9E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9EF DUP9 PUSH2 0x92E JUMP JUMPDEST SWAP7 POP PUSH2 0x9FD PUSH1 0x20 DUP10 ADD PUSH2 0x92E JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0xA21 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 SWAP3 SWAP6 SWAP5 PUSH1 0xA0 DUP5 ADD CALLDATALOAD SWAP5 POP PUSH1 0xC0 SWAP1 SWAP4 ADD CALLDATALOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA51 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA5A DUP4 PUSH2 0x92E JUMP JUMPDEST SWAP2 POP PUSH2 0xA68 PUSH1 0x20 DUP5 ADD PUSH2 0x92E JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA83 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x3A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xAA7 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xAC7 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x377 JUMPI PUSH2 0x377 PUSH2 0xACD JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SLOAD DUP2 PUSH1 0x1 DUP3 DUP2 SHR SWAP2 POP DUP1 DUP4 AND DUP1 PUSH2 0xB12 JUMPI PUSH1 0x7F DUP4 AND SWAP3 POP JUMPDEST PUSH1 0x20 DUP1 DUP5 LT DUP3 SUB PUSH2 0xB31 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP7 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 DUP7 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xB45 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0xB5A JUMPI PUSH2 0xB87 JUMP JUMPDEST PUSH1 0xFF NOT DUP7 AND DUP10 MSTORE DUP5 ISZERO ISZERO DUP6 MUL DUP10 ADD SWAP7 POP PUSH2 0xB87 JUMP JUMPDEST PUSH1 0x0 DUP11 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 PUSH1 0x0 JUMPDEST DUP7 DUP2 LT ISZERO PUSH2 0xB7F JUMPI DUP2 SLOAD DUP12 DUP3 ADD MSTORE SWAP1 DUP6 ADD SWAP1 DUP4 ADD PUSH2 0xB66 JUMP JUMPDEST POP POP DUP5 DUP10 ADD SWAP7 POP JUMPDEST POP SWAP5 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x377 JUMPI PUSH2 0x377 PUSH2 0xACD JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SIGNEXTEND JUMP GAS DUP11 PUSH26 0xA9A683C46177DACCB693D8689B020F7B3D1B07D76B71ACAA18CA 0xB4 PUSH5 0x736F6C6343 STOP ADDMOD GT STOP CALLER ","sourceMap":"173:620:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1028:18:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2458:211;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:2;;1162:22;1144:41;;1132:2;1117:18;2458:211:0;1004:187:2;1301:26:0;;;;;;;;;1342:25:2;;;1330:2;1315:18;1301:26:0;1196:177:2;530:261:1;;;;;;:::i;:::-;;:::i;237:19::-;;;;;;;;;1080:31:0;;;;;;;;1883:4:2;1871:17;;;1853:36;;1841:2;1826:18;1080:31:0;1711:184:2;5324:177:0;;;:::i;403:121:1:-;;;;;;:::i;:::-;;:::i;1334:44:0:-;;;;;;:::i;:::-;;;;;;;;;;;;;;1748:41;;;;;;:::i;:::-;;;;;;;;;;;;;;1053:20;;;:::i;2675:373::-;;;;;;:::i;:::-;;:::i;3835:1483::-;;;;;;:::i;:::-;;:::i;:::-;;1385:64;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;315:82:1;;;;;;:::i;:::-;372:7;:18;;-1:-1:-1;;372:18:1;;;;;;;;;;315:82;1028:18:0;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2458:211::-;2558:10;2532:4;2548:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;2548:30:0;;;;;;;;;;:39;;;2603:37;2532:4;;2548:30;;2603:37;;;;2581:6;1342:25:2;;1330:2;1315:18;;1196:177;2603:37:0;;;;;;;;-1:-1:-1;2658:4:0;2458:211;;;;;:::o;530:261:1:-;672:7;;649;;672;;668:50;;;-1:-1:-1;702:5:1;695:12;;668:50;728:36;747:4;753:2;757:6;728:18;:36::i;:::-;;780:4;775:9;;530:261;;;;;;:::o;5324:177:0:-;5381:7;5424:16;5407:13;:33;:87;;5470:24;:22;:24::i;:::-;5400:94;;5324:177;:::o;5407:87::-;-1:-1:-1;5443:24:0;;5324:177::o;403:121:1:-;463:4;479:17;485:2;489:6;479:5;:17::i;:::-;-1:-1:-1;513:4:1;403:121;;;;:::o;1053:20:0:-;;;;;;;:::i;2675:373::-;2771:10;2745:4;2761:21;;;:9;:21;;;;;:31;;2786:6;;2761:21;2745:4;;2761:31;;2786:6;;2761:31;:::i;:::-;;;;-1:-1:-1;;;;;;;2938:13:0;;;;;;:9;:13;;;;;;;:23;;;;;;2987:32;2996:10;;2987:32;;;;2955:6;1342:25:2;;1330:2;1315:18;;1196:177;3835:1483:0;4054:15;4042:8;:27;;4034:63;;;;-1:-1:-1;;;4034:63:0;;4366:2:2;4034:63:0;;;4348:21:2;4405:2;4385:18;;;4378:30;4444:25;4424:18;;;4417:53;4487:18;;4034:63:0;;;;;;;;;4262:24;4289:805;4425:18;:16;:18::i;:::-;-1:-1:-1;;;;;4870:13:0;;;;;;;:6;:13;;;;;;;;;:15;;;;;;;;4508:449;;4552:165;4508:449;;;4803:25:2;4882:18;;;4875:43;;;;4954:15;;;4934:18;;;4927:43;4986:18;;;4979:34;;;5029:19;;;5022:35;;;;5073:19;;;;5066:35;;;4508:449:0;;;;;;;;;;4775:19:2;;;4508:449:0;;;4469:514;;;;;;;;-1:-1:-1;;;4347:658:0;;;5370:27:2;5413:11;;;5406:27;;;;5449:12;;;5442:28;;;;5486:12;;4347:658:0;;;-1:-1:-1;;4347:658:0;;;;;;;;;4316:707;;4347:658;4316:707;;;;4289:805;;;;;;;;;5736:25:2;5809:4;5797:17;;5777:18;;;5770:45;5831:18;;;5824:34;;;5874:18;;;5867:34;;;5708:19;;4289:805:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4289:805:0;;-1:-1:-1;;4289:805:0;;;-1:-1:-1;;;;;;;5117:30:0;;;;;;:59;;;5171:5;-1:-1:-1;;;;;5151:25:0;:16;-1:-1:-1;;;;;5151:25:0;;5117:59;5109:86;;;;-1:-1:-1;;;5109:86:0;;6114:2:2;5109:86:0;;;6096:21:2;6153:2;6133:18;;;6126:30;-1:-1:-1;;;6172:18:2;;;6165:44;6226:18;;5109:86:0;5912:338:2;5109:86:0;-1:-1:-1;;;;;5210:27:0;;;;;;;:9;:27;;;;;;;;:36;;;;;;;;;;;;;:44;;;5280:31;1342:25:2;;;5210:36:0;;5280:31;;;;;1315:18:2;5280:31:0;;;;;;;3835:1483;;;;;;;:::o;3054:592::-;-1:-1:-1;;;;;3206:15:0;;3172:4;3206:15;;;:9;:15;;;;;;;;3222:10;3206:27;;;;;;;;-1:-1:-1;;3284:28:0;;3280:80;;3344:16;3354:6;3344:7;:16;:::i;:::-;-1:-1:-1;;;;;3314:15:0;;;;;;:9;:15;;;;;;;;3330:10;3314:27;;;;;;;:46;3280:80;-1:-1:-1;;;;;3371:15:0;;;;;;:9;:15;;;;;:25;;3390:6;;3371:15;:25;;3390:6;;3371:25;:::i;:::-;;;;-1:-1:-1;;;;;;;3542:13:0;;;;;;;:9;:13;;;;;;;:23;;;;;;3591:26;3542:13;;3591:26;;;;;;;3559:6;1342:25:2;;1330:2;1315:18;;1196:177;3591:26:0;;;;;;;;-1:-1:-1;3635:4:0;;3054:592;-1:-1:-1;;;;3054:592:0:o;5507:446::-;5572:7;5669:95;5802:4;5786:22;;;;;;:::i;:::-;;;;;;;;;;5637:295;;;7781:25:2;;;;7822:18;;7815:34;;;;5830:14:0;7865:18:2;;;7858:34;5866:13:0;7908:18:2;;;7901:34;5909:4:0;7951:19:2;;;7944:61;7753:19;;5637:295:0;;;;;;;;;;;;5610:336;;;;;;5591:355;;5507:446;:::o;6147:325::-;6232:6;6217:11;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;6384:13:0;;;;;;:9;:13;;;;;;;;:23;;;;;;6433:32;1342:25:2;;;6433:32:0;;1315:18:2;6433:32:0;;;;;;;6147:325;;:::o;14:548:2:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:2;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:2:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;2082:186::-;2141:6;2194:2;2182:9;2173:7;2169:23;2165:32;2162:52;;;2210:1;2207;2200:12;2162:52;2233:29;2252:9;2233:29;:::i;2273:693::-;2384:6;2392;2400;2408;2416;2424;2432;2485:3;2473:9;2464:7;2460:23;2456:33;2453:53;;;2502:1;2499;2492:12;2453:53;2525:29;2544:9;2525:29;:::i;:::-;2515:39;;2573:38;2607:2;2596:9;2592:18;2573:38;:::i;:::-;2563:48;;2658:2;2647:9;2643:18;2630:32;2620:42;;2709:2;2698:9;2694:18;2681:32;2671:42;;2763:3;2752:9;2748:19;2735:33;2808:4;2801:5;2797:16;2790:5;2787:27;2777:55;;2828:1;2825;2818:12;2777:55;2273:693;;;;-1:-1:-1;2273:693:2;;;;2851:5;2903:3;2888:19;;2875:33;;-1:-1:-1;2955:3:2;2940:19;;;2927:33;;2273:693;-1:-1:-1;;2273:693:2:o;2971:260::-;3039:6;3047;3100:2;3088:9;3079:7;3075:23;3071:32;3068:52;;;3116:1;3113;3106:12;3068:52;3139:29;3158:9;3139:29;:::i;:::-;3129:39;;3187:38;3221:2;3210:9;3206:18;3187:38;:::i;:::-;3177:48;;2971:260;;;;;:::o;3236:273::-;3292:6;3345:2;3333:9;3324:7;3320:23;3316:32;3313:52;;;3361:1;3358;3351:12;3313:52;3400:9;3387:23;3453:5;3446:13;3439:21;3432:5;3429:32;3419:60;;3475:1;3472;3465:12;3514:380;3593:1;3589:12;;;;3636;;;3657:61;;3711:4;3703:6;3699:17;3689:27;;3657:61;3764:2;3756:6;3753:14;3733:18;3730:38;3727:161;;3810:10;3805:3;3801:20;3798:1;3791:31;3845:4;3842:1;3835:15;3873:4;3870:1;3863:15;3727:161;;3514:380;;;:::o;3899:127::-;3960:10;3955:3;3951:20;3948:1;3941:31;3991:4;3988:1;3981:15;4015:4;4012:1;4005:15;4031:128;4098:9;;;4119:11;;;4116:37;;;4133:18;;:::i;6384:1133::-;6514:3;6543:1;6576:6;6570:13;6606:3;6628:1;6656:9;6652:2;6648:18;6638:28;;6716:2;6705:9;6701:18;6738;6728:61;;6782:4;6774:6;6770:17;6760:27;;6728:61;6808:2;6856;6848:6;6845:14;6825:18;6822:38;6819:165;;-1:-1:-1;;;6883:33:2;;6939:4;6936:1;6929:15;6969:4;6890:3;6957:17;6819:165;7000:18;7027:133;;;;7174:1;7169:323;;;;6993:499;;7027:133;-1:-1:-1;;7060:24:2;;7048:37;;7133:14;;7126:22;7114:35;;7105:45;;;-1:-1:-1;7027:133:2;;7169:323;6331:1;6324:14;;;6368:4;6355:18;;7267:1;7281:165;7295:6;7292:1;7289:13;7281:165;;;7373:14;;7360:11;;;7353:35;7416:16;;;;7310:10;;7281:165;;;7285:3;;7475:6;7470:3;7466:16;7459:23;;6993:499;-1:-1:-1;7508:3:2;;6384:1133;-1:-1:-1;;;;;;;;6384:1133:2:o;8016:125::-;8081:9;;;8102:10;;;8099:36;;;8115:18;;:::i"},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","blockTransfer(bool)":"e074d6a9","blocked()":"303bdd2c","decimals()":"313ce567","mint(address,uint256)":"40c10f19","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"blocking\",\"type\":\"bool\"}],\"name\":\"blockTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"blocked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"ok\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/test/TestERC20USDC.sol\":\"TestERC20USDC\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@rari-capital/solmate/src/tokens/ERC20.sol\":{\"keccak256\":\"0x0240f7703cff32a61ee3e9fbb339e09a944260432a9ef37debf3692b1a6c8049\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2d8b0c0158b1952a87c327d506a645040924a94c8f9f937184659f8a8e3b0759\",\"dweb:/ipfs/QmZ9rGdkjRCk8zfr4xeH7Jh88tkWJNt9LvG1o2GcCm7Uqa\"]},\"src/contracts/test/TestERC20USDC.sol\":{\"keccak256\":\"0x07db5bab2bfd490d5f1c9fb6625d66565c06c579979dbf65f7e83acbf23e4412\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://d3d96f2b2e03f8a97cae3e70c6f14bebe9d16be3530ffd5f7a3a003d81420e03\",\"dweb:/ipfs/Qmbe35Jf3Ji59Rug2J8eHjinXUCKR5knUW6P2E72UcW3FM\"]}},\"version\":1}"}}}}}