impermax-sdk 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/lib/esm/abis/ImpermaxABI.d.ts +2 -0
  2. package/lib/esm/abis/ImpermaxABI.js +3 -0
  3. package/lib/esm/abis/contracts/ClaimAggregator.json +2015 -0
  4. package/lib/esm/abis/contracts/IBorrowable.json +13207 -0
  5. package/lib/esm/abis/contracts/IClaimable.json +406 -0
  6. package/lib/esm/abis/contracts/ICollateral.json +8952 -0
  7. package/lib/esm/abis/contracts/IERC20.json +2376 -0
  8. package/lib/esm/abis/contracts/IFactory.json +3660 -0
  9. package/lib/esm/abis/contracts/IFarmingPool.json +3584 -0
  10. package/lib/esm/abis/contracts/IMerkleDistributor.json +1134 -0
  11. package/lib/esm/abis/contracts/IRouter02.json +7283 -0
  12. package/lib/esm/abis/contracts/ISimpleUniswapOracle.json +1469 -0
  13. package/lib/esm/abis/contracts/IStakedLPToken.json +7309 -0
  14. package/lib/esm/abis/contracts/IStakingRewards.json +1036 -0
  15. package/lib/esm/abis/contracts/IUniswapV2Factory.json +1690 -0
  16. package/lib/esm/abis/contracts/IUniswapV2Pair.json +6761 -0
  17. package/lib/esm/abis/contracts/ImpermaxChef.json +20945 -0
  18. package/lib/esm/config/amms.d.ts +25 -0
  19. package/lib/esm/config/amms.js +196 -0
  20. package/lib/esm/config/contracts/claim-aggregators.d.ts +2 -0
  21. package/lib/esm/config/contracts/claim-aggregators.js +18 -0
  22. package/lib/esm/config/contracts/impermax-chef.d.ts +2 -0
  23. package/lib/esm/config/contracts/impermax-chef.js +18 -0
  24. package/lib/esm/config/contracts/imxes.d.ts +2 -0
  25. package/lib/esm/config/contracts/imxes.js +18 -0
  26. package/lib/esm/config/contracts/merkle-distributors.d.ts +4 -0
  27. package/lib/esm/config/contracts/merkle-distributors.js +13 -0
  28. package/lib/esm/config/contracts/routers.d.ts +2 -0
  29. package/lib/esm/config/contracts/routers.js +38 -0
  30. package/lib/esm/config/contracts/simple-uniswap-oracles.d.ts +2 -0
  31. package/lib/esm/config/contracts/simple-uniswap-oracles.js +35 -0
  32. package/lib/esm/config/contracts/weths.d.ts +2 -0
  33. package/lib/esm/config/contracts/weths.js +19 -0
  34. package/lib/esm/config/debank-ids.d.ts +2 -0
  35. package/lib/esm/config/debank-ids.js +17 -0
  36. package/lib/esm/config/endpoints/merkle-distributors.d.ts +4 -0
  37. package/lib/esm/config/endpoints/merkle-distributors.js +13 -0
  38. package/lib/esm/config/eth.d.ts +3 -0
  39. package/lib/esm/config/eth.js +32 -0
  40. package/lib/esm/config/factories.d.ts +6 -0
  41. package/lib/esm/config/factories.js +24 -0
  42. package/lib/esm/config/farms.d.ts +59 -0
  43. package/lib/esm/config/farms.js +114 -0
  44. package/lib/esm/config/general.d.ts +3 -0
  45. package/lib/esm/config/general.js +8 -0
  46. package/lib/esm/config/subgraphs.d.ts +5 -0
  47. package/lib/esm/config/subgraphs.js +68 -0
  48. package/lib/esm/config/types.d.ts +67 -0
  49. package/lib/esm/config/types.js +54 -0
  50. package/lib/esm/impermax-router/Account.d.ts +31 -0
  51. package/lib/esm/impermax-router/Account.js +154 -0
  52. package/lib/esm/impermax-router/AccountBorrowable.d.ts +22 -0
  53. package/lib/esm/impermax-router/AccountBorrowable.js +141 -0
  54. package/lib/esm/impermax-router/AccountCollateral.d.ts +11 -0
  55. package/lib/esm/impermax-router/AccountCollateral.js +63 -0
  56. package/lib/esm/impermax-router/AccountLendingPool.d.ts +57 -0
  57. package/lib/esm/impermax-router/AccountLendingPool.js +266 -0
  58. package/lib/esm/impermax-router/AccountPoolToken.d.ts +29 -0
  59. package/lib/esm/impermax-router/AccountPoolToken.js +89 -0
  60. package/lib/esm/impermax-router/Borrowable.d.ts +27 -0
  61. package/lib/esm/impermax-router/Borrowable.js +128 -0
  62. package/lib/esm/impermax-router/Collateral.d.ts +9 -0
  63. package/lib/esm/impermax-router/Collateral.js +45 -0
  64. package/lib/esm/impermax-router/ContractsHelper.d.ts +28 -0
  65. package/lib/esm/impermax-router/ContractsHelper.js +50 -0
  66. package/lib/esm/impermax-router/ImpermaxFactory.d.ts +15 -0
  67. package/lib/esm/impermax-router/ImpermaxFactory.js +42 -0
  68. package/lib/esm/impermax-router/Interactions.d.ts +16 -0
  69. package/lib/esm/impermax-router/Interactions.js +105 -0
  70. package/lib/esm/impermax-router/InteractionsLendingPool.d.ts +43 -0
  71. package/lib/esm/impermax-router/InteractionsLendingPool.js +124 -0
  72. package/lib/esm/impermax-router/InteractionsPoolToken.d.ts +23 -0
  73. package/lib/esm/impermax-router/InteractionsPoolToken.js +194 -0
  74. package/lib/esm/impermax-router/LendingPool.d.ts +69 -0
  75. package/lib/esm/impermax-router/LendingPool.js +291 -0
  76. package/lib/esm/impermax-router/PoolToken.d.ts +36 -0
  77. package/lib/esm/impermax-router/PoolToken.js +140 -0
  78. package/lib/esm/impermax-router/index.d.ts +20 -0
  79. package/lib/esm/impermax-router/index.js +34 -0
  80. package/lib/esm/impermax-router/interfaces.d.ts +218 -0
  81. package/lib/esm/impermax-router/interfaces.js +15 -0
  82. package/{index.ts → lib/esm/index.d.ts} +1 -3
  83. package/lib/esm/index.js +10 -0
  84. package/lib/esm/subgraph/Account.d.ts +18 -0
  85. package/lib/esm/subgraph/Account.js +111 -0
  86. package/lib/esm/subgraph/AccountLendingPool.d.ts +19 -0
  87. package/lib/esm/subgraph/AccountLendingPool.js +71 -0
  88. package/lib/esm/subgraph/AccountPoolToken.d.ts +14 -0
  89. package/lib/esm/subgraph/AccountPoolToken.js +75 -0
  90. package/lib/esm/subgraph/LendingPool.d.ts +38 -0
  91. package/lib/esm/subgraph/LendingPool.js +204 -0
  92. package/lib/esm/subgraph/PoolToken.d.ts +64 -0
  93. package/lib/esm/subgraph/PoolToken.js +462 -0
  94. package/lib/esm/subgraph/PriceHelper.d.ts +21 -0
  95. package/lib/esm/subgraph/PriceHelper.js +166 -0
  96. package/lib/esm/subgraph/SolidexHelper.d.ts +16 -0
  97. package/lib/esm/subgraph/SolidexHelper.js +58 -0
  98. package/lib/esm/subgraph/index.d.ts +73 -0
  99. package/lib/esm/subgraph/index.js +185 -0
  100. package/lib/esm/subgraph/initializer.d.ts +34 -0
  101. package/lib/esm/subgraph/initializer.js +517 -0
  102. package/lib/esm/subgraph/query.d.ts +10 -0
  103. package/lib/esm/subgraph/query.js +229 -0
  104. package/lib/esm/utils/ether-utils.d.ts +5 -0
  105. package/lib/esm/utils/ether-utils.js +26 -0
  106. package/lib/esm/utils/index.d.ts +3 -0
  107. package/lib/esm/utils/index.js +16 -0
  108. package/package.json +9 -3
  109. package/.idea/impermax-sdk.iml +0 -12
  110. package/.idea/misc.xml +0 -6
  111. package/.idea/modules.xml +0 -8
  112. package/.idea/workspace.xml +0 -642
  113. package/abis/ImpermaxABI.ts +0 -3
  114. package/abis/contracts/BAllowance.json +0 -4735
  115. package/abis/contracts/BDeployer.json +0 -1195
  116. package/abis/contracts/BInterestRateModel.json +0 -10796
  117. package/abis/contracts/BSetter.json +0 -6219
  118. package/abis/contracts/BStorage.json +0 -2613
  119. package/abis/contracts/Borrowable.json +0 -19937
  120. package/abis/contracts/CDeployer.json +0 -1104
  121. package/abis/contracts/CSetter.json +0 -5094
  122. package/abis/contracts/CStorage.json +0 -516
  123. package/abis/contracts/ClaimAggregator.json +0 -2015
  124. package/abis/contracts/Collateral.json +0 -21615
  125. package/abis/contracts/ERC20.json +0 -819
  126. package/abis/contracts/Factory.json +0 -21986
  127. package/abis/contracts/FarmingPool.json +0 -8601
  128. package/abis/contracts/IBDeployer.json +0 -351
  129. package/abis/contracts/IBorrowTracker.json +0 -346
  130. package/abis/contracts/IBorrowable.json +0 -13207
  131. package/abis/contracts/ICDeployer.json +0 -294
  132. package/abis/contracts/IClaimable.json +0 -406
  133. package/abis/contracts/ICollateral.json +0 -8952
  134. package/abis/contracts/IERC20.json +0 -2376
  135. package/abis/contracts/IFactory.json +0 -3660
  136. package/abis/contracts/IFarmingPool.json +0 -3584
  137. package/abis/contracts/IImpermaxCallee.json +0 -679
  138. package/abis/contracts/IMerkleDistributor.json +0 -1134
  139. package/abis/contracts/IPoolToken.json +0 -5343
  140. package/abis/contracts/IRouter01.json +0 -6891
  141. package/abis/contracts/IRouter02.json +0 -7283
  142. package/abis/contracts/ISimpleUniswapOracle.json +0 -1469
  143. package/abis/contracts/IStakedLPToken.json +0 -7309
  144. package/abis/contracts/IStakingRewards.json +0 -1036
  145. package/abis/contracts/IUniswapV2Callee.json +0 -403
  146. package/abis/contracts/IUniswapV2ERC20.json +0 -3155
  147. package/abis/contracts/IUniswapV2Factory.json +0 -1690
  148. package/abis/contracts/IUniswapV2Pair.json +0 -6761
  149. package/abis/contracts/IWETH.json +0 -561
  150. package/abis/contracts/ImpermaxChef.json +0 -20945
  151. package/abis/contracts/ImpermaxERC20.json +0 -12095
  152. package/abis/contracts/Math.json +0 -1966
  153. package/abis/contracts/MockERC20.json +0 -8884
  154. package/abis/contracts/PoolToken.json +0 -10784
  155. package/abis/contracts/Router01.json +0 -43963
  156. package/abis/contracts/SafeMath.json +0 -6828
  157. package/abis/contracts/SimpleUniswapOracle.json +0 -9640
  158. package/abis/contracts/TransferHelper.json +0 -4875
  159. package/abis/contracts/UQ112x112.json +0 -1201
  160. package/abis/contracts/UniswapV2ERC20.json +0 -10969
  161. package/abis/contracts/UniswapV2Factory.json +0 -5521
  162. package/abis/contracts/UniswapV2Library.json +0 -13789
  163. package/abis/contracts/UniswapV2Pair.json +0 -30782
  164. package/abis/contracts/WETH9.json +0 -6613
  165. package/config/amms.ts +0 -199
  166. package/config/contracts/claim-aggregators.ts +0 -16
  167. package/config/contracts/impermax-chef.ts +0 -16
  168. package/config/contracts/imxes.ts +0 -16
  169. package/config/contracts/merkle-distributors.ts +0 -13
  170. package/config/contracts/routers.ts +0 -36
  171. package/config/contracts/simple-uniswap-oracles.ts +0 -33
  172. package/config/contracts/weths.ts +0 -18
  173. package/config/debank-ids.ts +0 -15
  174. package/config/endpoints/merkle-distributors.ts +0 -13
  175. package/config/eth.ts +0 -32
  176. package/config/factories.ts +0 -26
  177. package/config/farms.ts +0 -119
  178. package/config/general.ts +0 -8
  179. package/config/subgraphs.ts +0 -69
  180. package/config/types.ts +0 -81
  181. package/impermax-router/Account.ts +0 -123
  182. package/impermax-router/AccountBorrowable.ts +0 -110
  183. package/impermax-router/AccountCollateral.ts +0 -40
  184. package/impermax-router/AccountLendingPool.ts +0 -231
  185. package/impermax-router/AccountPoolToken.ts +0 -76
  186. package/impermax-router/Borrowable.ts +0 -86
  187. package/impermax-router/Collateral.ts +0 -26
  188. package/impermax-router/ContractsHelper.ts +0 -64
  189. package/impermax-router/ImpermaxFactory.ts +0 -47
  190. package/impermax-router/Interactions.ts +0 -94
  191. package/impermax-router/InteractionsLendingPool.ts +0 -129
  192. package/impermax-router/InteractionsPoolToken.ts +0 -187
  193. package/impermax-router/LendingPool.ts +0 -256
  194. package/impermax-router/PoolToken.ts +0 -112
  195. package/impermax-router/index.ts +0 -49
  196. package/impermax-router/interfaces.ts +0 -233
  197. package/subgraph/Account.ts +0 -93
  198. package/subgraph/AccountLendingPool.ts +0 -60
  199. package/subgraph/AccountPoolToken.ts +0 -60
  200. package/subgraph/LendingPool.ts +0 -179
  201. package/subgraph/PoolToken.ts +0 -381
  202. package/subgraph/PriceHelper.ts +0 -150
  203. package/subgraph/SolidexHelper.ts +0 -54
  204. package/subgraph/index.ts +0 -166
  205. package/subgraph/initializer.ts +0 -509
  206. package/subgraph/query.ts +0 -224
  207. package/tsconfig.json +0 -16
  208. package/utils/ether-utils.ts +0 -22
  209. package/utils/index.ts +0 -12
@@ -1,1104 +0,0 @@
1
- {
2
- "contractName": "CDeployer",
3
- "abi": [
4
- {
5
- "inputs": [],
6
- "payable": false,
7
- "stateMutability": "nonpayable",
8
- "type": "constructor"
9
- },
10
- {
11
- "constant": false,
12
- "inputs": [
13
- {
14
- "internalType": "address",
15
- "name": "uniswapV2Pair",
16
- "type": "address"
17
- }
18
- ],
19
- "name": "deployCollateral",
20
- "outputs": [
21
- {
22
- "internalType": "address",
23
- "name": "collateral",
24
- "type": "address"
25
- }
26
- ],
27
- "payable": false,
28
- "stateMutability": "nonpayable",
29
- "type": "function"
30
- }
31
- ],
32
- "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"uniswapV2Pair\",\"type\":\"address\"}],\"name\":\"deployCollateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"collateral\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/CDeployer.sol\":\"CDeployer\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/CDeployer.sol\":{\"keccak256\":\"0xa154489201ffb8abe90c496d1ac3570fd1fb4cb70f3a5bccbac367b1fdd43aab\",\"urls\":[\"bzz-raw://53b69bf7c34ca297dc48ce48b1bdb5155d7eb3eb115ef77c72a676e27f440c87\",\"dweb:/ipfs/QmPdxk6VV5xBJSopLXJKXVMKEXrK4FVX36e3vu4tafBhX2\"]},\"/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/CSetter.sol\":{\"keccak256\":\"0x2d2c007966c4f25245f1dc5d4fdb7ed06e03a06dbb5811a74b03feef7c5c6525\",\"urls\":[\"bzz-raw://a414b11736dbb5760ec39c49dd57b137f56f17eed03a96437467aab6f3a9b8f0\",\"dweb:/ipfs/QmTFhg8BYYinrqrTBnqA6Ktspz9Ht2J1jt1RNiH5tHJ32g\"]},\"/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/CStorage.sol\":{\"keccak256\":\"0xf1b7007b9ff996614c737f039c5ce3b2d578eeb690b1cd47baa51ad847f3c0a5\",\"urls\":[\"bzz-raw://4060bc1bd96534b571168ff813d1af019da19af01ad685f2eb611af15eed4e6d\",\"dweb:/ipfs/QmYDQ9rXk6gZh1ADVsaTKyR8Do6gsyTXqhqd7CnFDoSotS\"]},\"/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/Collateral.sol\":{\"keccak256\":\"0x401a024009777bc1a887b609e93799216da6afbdb114f7c3db8330b0dd70b1c9\",\"urls\":[\"bzz-raw://f20074c14325596d59ecf93b9540d8b0ddbe0ef83394bca945caacde851ac92b\",\"dweb:/ipfs/QmThZBromVHqp2TgXdhfuPwGQbNKeoLzNcZy83qopEyewU\"]},\"/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/ImpermaxERC20.sol\":{\"keccak256\":\"0x7bf487094af4e32db8cc5e779450c87d86d0e65fdae32052ccad8a26462bd07c\",\"urls\":[\"bzz-raw://25b17403257768c87f754b090b283a18e32660f3ecc0ecc2b56a9d7022608756\",\"dweb:/ipfs/QmQBvgrgsqMg9msxACLXQzkP8W1mGiNg8dqYUNQfVMHYrQ\"]},\"/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/PoolToken.sol\":{\"keccak256\":\"0xa0a1ceee2628b2c69d8aa453f571835e3bccf47071a7290f892519e5d9e72300\",\"urls\":[\"bzz-raw://0fa208526bdbde5576895faba97fb92c5db9203fdcc81a1d5b565905999b2fa3\",\"dweb:/ipfs/QmRjuTDeq7VTufRw7ibXsD2KYXWiv72FWREp6ePv7wTRjb\"]},\"/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/interfaces/IBorrowable.sol\":{\"keccak256\":\"0x16a157ab22e3d76a6cf0dd89f55d6426abd8b15ac641ce318e3fa22e7dd1284b\",\"urls\":[\"bzz-raw://368476ee8b1e9d5287cbac49ceaae1e230e4ab95426a00141fbd43b6477d2928\",\"dweb:/ipfs/QmPN3cm2TJUJG3tXa6zCeCWrcitjPP6SofwHpygaiQJ9CV\"]},\"/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/interfaces/ICDeployer.sol\":{\"keccak256\":\"0x5bd521171c6ef60b554d88475d14fd55b3862a3e42e663434dce7c0a625d15dc\",\"urls\":[\"bzz-raw://a6cf5482d61f77ff6a1ca7974baa006b525e18d646ad766bed232ed420d88db3\",\"dweb:/ipfs/QmX9gUoD3V1fF2PyYsEXCyWxhmHEi6wcSbBpPvUgvSK9Zz\"]},\"/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/interfaces/ICollateral.sol\":{\"keccak256\":\"0x354b560bca7dcce7550c2c0c7f7ed050baf0f251277a9308fd568e03c61e1ce5\",\"urls\":[\"bzz-raw://8c422658288da6ad5055644d8dc236c37d7e58fdd83016ef37ea27459fa1dc82\",\"dweb:/ipfs/QmNigfZAkA1tNoPsmPpA6gqt9YPcxeubCiyMkowwSJ89B2\"]},\"/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/interfaces/IERC20.sol\":{\"keccak256\":\"0x61db17aebc5d812c7002d15c1da954065e56abe49d64b14c034abe5604d70eb3\",\"urls\":[\"bzz-raw://b006685e753f9120469f10b09c159f222d4cb8b507a6c1f0c14ed50c883ebe66\",\"dweb:/ipfs/QmSyY7iTugbczPwfGK67etiyPULenYGzzRYbt8aabwwkUb\"]},\"/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/interfaces/IFactory.sol\":{\"keccak256\":\"0xc800bcea5a98412b8d52a11289f6e174cc5ecd68c3bf4ea949fe7fffac78daf0\",\"urls\":[\"bzz-raw://6985cfcce7192c6943ee2c70c0458636a50460239c0e3fae8e7a2ffc6d7fb950\",\"dweb:/ipfs/QmdTxGx9dq7YeKk7AJ2XQcroHsRUCaYTkQAetpGi1mK643\"]},\"/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/interfaces/IImpermaxCallee.sol\":{\"keccak256\":\"0x8a34b6c59347d7246d45561ea6de67b7627bee144045fce316f3225e36a2165a\",\"urls\":[\"bzz-raw://22293bc770da410f1b534be76073f28f64ab62aeba8cae7225fc2058ab2356b1\",\"dweb:/ipfs/QmUmYVC4hUgqL8YGvVbTnFGzk4QbXw7zCGeA5EkuAEJtFN\"]},\"/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/interfaces/IPoolToken.sol\":{\"keccak256\":\"0x10612c60a75d45933558f7fbba0cb4ee15c8eed3b838f326aa747f200dd9cee5\",\"urls\":[\"bzz-raw://3ab5e233942f1b60a8abd4becd18fee98bf8085643837c426c87c7f9d2ad7e50\",\"dweb:/ipfs/QmbHjUhcUkaTiRYci4WBHBERjuiZfaBu67RvncTZgbod7Y\"]},\"/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/interfaces/ISimpleUniswapOracle.sol\":{\"keccak256\":\"0xa2f209baa6d5e0ca8e7432b0b1dee8ce809a71df31008531093bce477f80ddd8\",\"urls\":[\"bzz-raw://3084c22ed447612691a33ed7899cf96e2456c96fa1dd37ca6665bcda1e0ecf2c\",\"dweb:/ipfs/QmTsyVhwHGLxUdifLPwmeJP24JwxxKvnXpsatLLnyQ9VBp\"]},\"/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0x980d3826efc0159cd12a5be3cc5c00bef0ae038d16cadb20a9180b646ef3e84d\",\"urls\":[\"bzz-raw://4a0297cf35984f72e0683dfcb5f69e246de455c677d7a3a1ce53ad9550b8bbd3\",\"dweb:/ipfs/QmZnxucJtcWWUVpQEykUUfjmEypy6cvLtVPuCx7KAaiS4k\"]},\"/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/libraries/Math.sol\":{\"keccak256\":\"0x17d7ca549e9f536147f717238c57cddf95880ccf1ba8abfad24a0b062d353568\",\"urls\":[\"bzz-raw://24ae906f11890c9cfd6d6213f1284d697511cb5d70d73a7cdb132e5f7d8eca94\",\"dweb:/ipfs/QmQqC1N4A5DCSdUfWF1nEN2ikKg1gGzx23LvMMtSTsS6mp\"]},\"/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/libraries/SafeMath.sol\":{\"keccak256\":\"0xe362afec478ef9d8f773dec0e95b2948fb37319f622aa48bf4079bf30b81dad3\",\"urls\":[\"bzz-raw://32072de977d6be362cff13445b105f26b07485821357a2262a70078c500c42d5\",\"dweb:/ipfs/QmPnczieHKRGB3PJESwqB4XaBnmXsJJXk4ikyg8uQPXptG\"]},\"/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/libraries/UQ112x112.sol\":{\"keccak256\":\"0x88b3a1124aa6f081449aaae51f26ea7fd3ded8ec9881e6dde1062376c84d318c\",\"urls\":[\"bzz-raw://c7d29625ffdd7e3fe499b8ce4e64721945ee972c6d23270bb3b07ccb1e8a1557\",\"dweb:/ipfs/QmTNHk5jRvEu4LJFg1imy1M14B4J8RZQWMTtkPUktPMKZh\"]}},\"version\":1}",
33
- "bytecode": "0x608060405234801561001057600080fd5b50614fdc806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80637924fedd14610030575b600080fd5b6100726004803603602081101561004657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506100b4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006060604051806020016100c890610182565b6020820181038252601f19601f82011660405250905060003384604051602001808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b815260140192505050604051602081830303815290604052805190602001209050808251602084016000f592505050919050565b614e18806101908339019056fe60806040526012600260006101000a81548160ff021916908360ff1602179055506001600b60006101000a81548160ff0219169083151502179055506715f155637eba0c00600e55670e6ed27d66680000600f5534801561005f57600080fd5b50614da98061006f6000396000f3fe608060405234801561001057600080fd5b506004361061025e5760003560e01c80637ecebe0011610146578063bb6ff386116100c3578063c548e3c511610087578063c548e3c514610c63578063d490e7e014610d91578063d505accf14610daf578063daf8881814610e48578063dd62ed3e14610e92578063fff6cae914610f0a5761025e565b8063bb6ff38614610b64578063bc25cf7714610b92578063bc9bd12a14610bd6578063bd9a548b14610bf4578063c45a015514610c195761025e565b8063a9059cbb1161010a578063a9059cbb14610a22578063ad7a672f14610a88578063afc8276c14610aa6578063b2a02ff114610ac4578063ba9a7a5614610b465761025e565b80637ecebe001461084b5780638c765e94146108a357806395a2251f146108c157806395d89b41146109195780639aac2c531461099c5761025e565b80633644e515116101df5780636a627842116101a35780636a6278421461062e5780636e01be10146106865780636f13cb83146106ec5780636f307dc31461075f57806370a08231146107a95780637c6674b5146108015761025e565b80633644e5151461055b5780633ba0b9a9146105795780634a5d316c146105975780634fd42e17146105a15780635a0f03c6146105cf5761025e565b806323b872dd1161022657806323b872dd1461042b5780632fa5ae1b146104b157806330adf81f146104fb578063313ce56714610519578063356c571f1461053d5761025e565b806306fdde0314610263578063095ea7b3146102e65780630fb60fef1461034c57806318160ddd1461036a57806319f3400d14610388575b600080fd5b61026b610f14565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102ab578082015181840152602081019050610290565b50505050905090810190601f1680156102d85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610332600480360360408110156102fc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fb2565b604051808215151515815260200191505060405180910390f35b610354610fc9565b6040518082815260200191505060405180910390f35b610372610fd5565b6040518082815260200191505060405180910390f35b6104296004803603606081101561039e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156103e557600080fd5b8201836020820111156103f757600080fd5b8035906020019184600183028401116401000000008311171561041957600080fd5b9091929391929390505050610fdb565b005b6104976004803603606081101561044157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611364565b604051808215151515815260200191505060405180910390f35b6104b9611566565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61050361158c565b6040518082815260200191505060405180910390f35b6105216115b3565b604051808260ff1660ff16815260200191505060405180910390f35b6105456115c6565b6040518082815260200191505060405180910390f35b6105636115cc565b6040518082815260200191505060405180910390f35b6105816115d2565b6040518082815260200191505060405180910390f35b61059f61163c565b005b6105cd600480360360208110156105b757600080fd5b8101908080359060200190929190505050611743565b005b610611600480360360208110156105e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611857565b604051808381526020018281526020019250505060405180910390f35b6106706004803603602081101561064457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061188e565b6040518082815260200191505060405180910390f35b6106d26004803603604081101561069c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ba1565b604051808215151515815260200191505060405180910390f35b6107426004803603606081101561070257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611e16565b604051808381526020018281526020019250505060405180910390f35b6107676120b2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107eb600480360360208110156107bf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120d8565b6040518082815260200191505060405180910390f35b6108096120f0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61088d6004803603602081101561086157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612116565b6040518082815260200191505060405180910390f35b6108ab61212e565b6040518082815260200191505060405180910390f35b610903600480360360208110156108d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612134565b6040518082815260200191505060405180910390f35b6109216123e5565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610961578082015181840152602081019050610946565b50505050905090810190601f16801561098e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610a08600480360360608110156109b257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612483565b604051808215151515815260200191505060405180910390f35b610a6e60048036036040811015610a3857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612689565b604051808215151515815260200191505060405180910390f35b610a906126a0565b6040518082815260200191505060405180910390f35b610aae6126a6565b6040518082815260200191505060405180910390f35b610b3060048036036060811015610ada57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506126b2565b6040518082815260200191505060405180910390f35b610b4e612af7565b6040518082815260200191505060405180910390f35b610b9060048036036020811015610b7a57600080fd5b8101908080359060200190929190505050612afd565b005b610bd460048036036020811015610ba857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c11565b005b610bde612dc3565b6040518082815260200191505060405180910390f35b610bfc612dcf565b604051808381526020018281526020019250505060405180910390f35b610c216132ae565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610d8f600480360360a0811015610c7957600080fd5b8101908080359060200190640100000000811115610c9657600080fd5b820183602082011115610ca857600080fd5b80359060200191846001830284011164010000000083111715610cca57600080fd5b909192939192939080359060200190640100000000811115610ceb57600080fd5b820183602082011115610cfd57600080fd5b80359060200191846001830284011164010000000083111715610d1f57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506132d4565b005b610d996135d8565b6040518082815260200191505060405180910390f35b610e46600480360360e0811015610dc557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff16906020019092919080359060200190929190803590602001909291905050506135e4565b005b610e5061362b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610ef460048036036040811015610ea857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613651565b6040518082815260200191505060405180910390f35b610f12613676565b005b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610faa5780601f10610f7f57610100808354040283529160200191610faa565b820191906000526020600020905b815481529060010190602001808311610f8d57829003601f168201915b505050505081565b6000610fbf338484613738565b6001905092915050565b6710ff2af864d4fc0081565b60035481565b600b60009054906101000a900460ff1661105d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f496d7065726d61783a205245454e54455245440000000000000000000000000081525060200191505060405180910390fd5b6000600b60006101000a81548160ff021916908315150217905550600a548311156110f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f496d7065726d61783a20494e53554646494349454e545f43415348000000000081525060200191505060405180910390fd5b6110fa8484613823565b60008282905011156111da578373ffffffffffffffffffffffffffffffffffffffff1663acb86cbb338585856040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156111c157600080fd5b505af11580156111d5573d6000803e3d6000fd5b505050505b6000600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600061126760016112596112306115d2565b61124b670de0b6b3a76400008a613a9190919063ffffffff16565b613b1790919063ffffffff16565b613b6190919063ffffffff16565b9050808210156112c2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180614cbd6024913960400191505060405180910390fd5b6112cc3083613be9565b8573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f3f693fff038bb8a046aa76d9516190ac7444f7d69cf952c4cbdc086fdef2d6fc8785604051808381526020018281526020019250505060405180910390a35050611343613d03565b6001600b60006101000a81548160ff02191690831515021790555050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611550576114cf826040518060400160405280601e81526020017f496d7065726d61783a205452414e534645525f4e4f545f414c4c4f5745440000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1e9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61155b848484613ede565b600190509392505050565b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960001b81565b600260009054906101000a900460ff1681565b600e5481565b60065481565b60008060035490506000600a54905060008214806115f05750600081145b1561160757670de0b6b3a764000092505050611639565b61163482611626670de0b6b3a764000084613a9190919063ffffffff16565b613b1790919063ffffffff16565b925050505b90565b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611700576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496d7065726d61783a20464143544f52595f414c52454144595f53455400000081525060200191505060405180910390fd5b33600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600b60009054906101000a900460ff166117c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f496d7065726d61783a205245454e54455245440000000000000000000000000081525060200191505060405180910390fd5b6000600b60006101000a81548160ff0219169083151502179055506117fb81670e043da617250000670e92596fd6290000613f6a565b80600f819055507f8a9bb9067f9ecb13a322b548e6df3dd1bd10a54698834dac43ed8f0e765bf94d816040518082815260200191505060405180910390a16001600b60006101000a81548160ff02191690831515021790555050565b600080611885837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80611e16565b91509150915091565b6000600b60009054906101000a900460ff16611912576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f496d7065726d61783a205245454e54455245440000000000000000000000000081525060200191505060405180910390fd5b6000600b60006101000a81548160ff0219169083151502179055506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156119ce57600080fd5b505afa1580156119e2573d6000803e3d6000fd5b505050506040513d60208110156119f857600080fd5b810190808051906020019092919050505090506000611a22600a548361406390919063ffffffff16565b9050611a58611a2f6115d2565b611a4a670de0b6b3a764000084613a9190919063ffffffff16565b613b1790919063ffffffff16565b925060006003541415611a8a57611a7a6103e88461406390919063ffffffff16565b9250611a8960006103e86140ad565b5b60008311611b00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f496d7065726d61783a204d494e545f414d4f554e545f5a45524f00000000000081525060200191505060405180910390fd5b611b0a84846140ad565b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2f00e3cdd69a77be7ed215ec7b2a36784dd158f921fca79ac29deffa353fe6ee8386604051808381526020018281526020019250505060405180910390a35050611b81613d03565b6001600b60006101000a81548160ff021916908315150217905550919050565b600080600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611bf8576000915050611e10565b600083820390506000611c35670de0b6b3a7640000611c27611c186115d2565b85613a9190919063ffffffff16565b613b1790919063ffffffff16565b90506000600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634d73e9ba886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cd857600080fd5b505afa158015611cec573d6000803e3d6000fd5b505050506040513d6020811015611d0257600080fd5b810190808051906020019092919050505090506000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634d73e9ba896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611db657600080fd5b505afa158015611dca573d6000803e3d6000fd5b505050506040513d6020811015611de057600080fd5b810190808051906020019092919050505090506000611e008484846141c7565b9150506000811496505050505050505b92915050565b6000807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841415611f1e57600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634d73e9ba866040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611ee057600080fd5b505afa158015611ef4573d6000803e3d6000fd5b505050506040513d6020811015611f0a57600080fd5b810190808051906020019092919050505093505b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83141561202357600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634d73e9ba866040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611fe557600080fd5b505afa158015611ff9573d6000803e3d6000fd5b505050506040513d602081101561200f57600080fd5b810190808051906020019092919050505092505b6000612098670de0b6b3a764000061208a61203c6115d2565b600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a9190919063ffffffff16565b613b1790919063ffffffff16565b90506120a58186866141c7565b9250925050935093915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60046020528060005260406000206000915090505481565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60076020528060005260406000206000915090505481565b600f5481565b6000600b60009054906101000a900460ff166121b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f496d7065726d61783a205245454e54455245440000000000000000000000000081525060200191505060405180910390fd5b6000600b60006101000a81548160ff0219169083151502179055506000600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061224b670de0b6b3a764000061223d61222e6115d2565b84613a9190919063ffffffff16565b613b1790919063ffffffff16565b9150600082116122c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f496d7065726d61783a2052454445454d5f414d4f554e545f5a45524f0000000081525060200191505060405180910390fd5b600a5482111561233b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f496d7065726d61783a20494e53554646494349454e545f43415348000000000081525060200191505060405180910390fd5b6123458383613823565b61234f3082613be9565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f3f693fff038bb8a046aa76d9516190ac7444f7d69cf952c4cbdc086fdef2d6fc8484604051808381526020018281526020019250505060405180910390a3506123c5613d03565b6001600b60006101000a81548160ff021916908315150217905550919050565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561247b5780601f106124505761010080835404028352916020019161247b565b820191906000526020600020905b81548152906001019060200180831161245e57829003601f168201915b505050505081565b600080600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061253757508073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b6125a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f496d7065726d61783a20494e56414c49445f424f52524f5741424c450000000081525060200191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614612604577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612606565b845b905060008273ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614612663577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612665565b855b90506000612674898484611e16565b91505060008114955050505050509392505050565b6000612696338484613ede565b6001905092915050565b600a5481565b670e92596fd629000081565b6000600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061275d5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6127cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f496d7065726d61783a20554e415554484f52495a45440000000000000000000081525060200191505060405180910390fd5b60006127da84611857565b91505060008111612853576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f496d7065726d61783a20494e53554646494349454e545f53484f525446414c4c81525060200191505060405180910390fd5b6000600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156128bd576128b3612dcf565b50809150506128cc565b6128c5612dcf565b9050809150505b6129266128d76115d2565b6129188361290a670de0b6b3a76400006128fc600f548b613a9190919063ffffffff16565b613b1790919063ffffffff16565b613a9190919063ffffffff16565b613b1790919063ffffffff16565b92506129b1836040518060400160405280601e81526020017f496d7065726d61783a204c49515549444154494e475f544f4f5f4d5543480000815250600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1e9092919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a4683600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b6190919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350509392505050565b6103e881565b600b60009054906101000a900460ff16612b7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f496d7065726d61783a205245454e54455245440000000000000000000000000081525060200191505060405180910390fd5b6000600b60006101000a81548160ff021916908315150217905550612bb5816710ff2af864d4fc006715f15565d2c5f000613f6a565b80600e819055507fdff9a61839be6f6ce5ea77311cc351786a39a9f337c507ff35e7b358fd39c043816040518082815260200191505060405180910390a16001600b60006101000a81548160ff02191690831515021790555050565b600b60009054906101000a900460ff16612c93576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f496d7065726d61783a205245454e54455245440000000000000000000000000081525060200191505060405180910390fd5b6000600b60006101000a81548160ff021916908315150217905550612da581612da0600a54600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612d5757600080fd5b505afa158015612d6b573d6000803e3d6000fd5b505050506040513d6020811015612d8157600080fd5b810190808051906020019092919050505061406390919063ffffffff16565b613823565b6001600b60006101000a81548160ff02191690831515021790555050565b670e043da61725000081565b6000806000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663446a37e0600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506040805180830381600087803b158015612e9657600080fd5b505af1158015612eaa573d6000803e3d6000fd5b505050506040513d6040811015612ec057600080fd5b810190808051906020019092919080519060200190929190505050509050600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015612f4957600080fd5b505afa158015612f5d573d6000803e3d6000fd5b505050506040513d6060811015612f7357600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505050915091506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561300757600080fd5b505afa15801561301b573d6000803e3d6000fd5b505050506040513d602081101561303157600080fd5b81019080805190602001909291905050509050600061307f8461305385614331565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661435c90919063ffffffff16565b905060006130e9827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166130db640100000000897bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16613a9190919063ffffffff16565b613b1790919063ffffffff16565b9050600061310d61310864010000000084613a9190919063ffffffff16565b6143bc565b90506000613151600288026dffffffffffffffffffffffffffff16613143670de0b6b3a764000088613a9190919063ffffffff16565b613b1790919063ffffffff16565b90506000613195600288026dffffffffffffffffffffffffffff16613187670de0b6b3a764000089613a9190919063ffffffff16565b613b1790919063ffffffff16565b90506131c16401000000006131b38585613a9190919063ffffffff16565b613b1790919063ffffffff16565b9a506131ed836131df64010000000084613a9190919063ffffffff16565b613b1790919063ffffffff16565b995060648b11613248576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180614ce16021913960400191505060405180910390fd5b60648a116132a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180614ce16021913960400191505060405180910390fd5b5050505050505050509091565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613397576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f496d7065726d61783a20554e415554484f52495a45440000000000000000000081525060200191505060405180910390fd5b61342987878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061441e565b82600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637c6674b56040518163ffffffff1660e01b815260040160206040518083038186803b15801561355457600080fd5b505afa158015613568573d6000803e3d6000fd5b505050506040513d602081101561357e57600080fd5b8101908080519060200190929190505050600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050505050565b6715f15565d2c5f00081565b613617878787878787877f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960001b61452a565b613622878787613738565b50505050505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6005602052816000526040600020602052806000526040600020600091509150505481565b600b60009054906101000a900460ff166136f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f496d7065726d61783a205245454e54455245440000000000000000000000000081525060200191505060405180910390fd5b6000600b60006101000a81548160ff02191690831515021790555061371b613d03565b6001600b60006101000a81548160ff021916908315150217905550565b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b60006060600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166040518060400160405280601981526020017f7472616e7366657228616464726573732c75696e743235362900000000000000815250805190602001208585604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310613972578051825260208201915060208101905060208303925061394f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146139d4576040519150601f19603f3d011682016040523d82523d6000602084013e6139d9565b606091505b5091509150818015613a195750600081511480613a185750808060200190516020811015613a0657600080fd5b81019080805190602001909291905050505b5b613a8b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f496d7065726d61783a205452414e534645525f4641494c45440000000000000081525060200191505060405180910390fd5b50505050565b600080831415613aa45760009050613b11565b6000828402905082848281613ab557fe5b0414613b0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180614d546021913960400191505060405180910390fd5b809150505b92915050565b6000613b5983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614841565b905092915050565b600080828401905083811015613bdf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b613c3b81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461406390919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613c938160035461406390919063ffffffff16565b600381905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015613da257600080fd5b505afa158015613db6573d6000803e3d6000fd5b505050506040513d6020811015613dcc57600080fd5b8101908080519060200190929190505050600a819055507f8a0df8ef054fae2c3d2d19a7b322e864870cc9fd3cb07fb9526309c596244bf4600a546040518082815260200191505060405180910390a1565b6000838311158290613ecb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613e90578082015181840152602081019050613e75565b50505050905090810190601f168015613ebd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b613ee88382611ba1565b613f5a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f496d7065726d61783a20494e53554646494349454e545f4c495155494449545981525060200191505060405180910390fd5b613f65838383614907565b505050565b613f72614ad2565b81831015613fe8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f496d7065726d61783a20494e56414c49445f53455454494e470000000000000081525060200191505060405180910390fd5b8083111561405e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f496d7065726d61783a20494e56414c49445f53455454494e470000000000000081525060200191505060405180910390fd5b505050565b60006140a583836040518060400160405280601f81526020017f536166654d6174683a207375627472616374696f6e20756e646572666c6f7700815250613e1e565b905092915050565b6140c281600354613b6190919063ffffffff16565b60038190555061411a81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b6190919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000806000600e5490506000806141dc612dcf565b91509150600061420f670de0b6b3a7640000614201858b613a9190919063ffffffff16565b613b1790919063ffffffff16565b90506000614240670de0b6b3a7640000614232858b613a9190919063ffffffff16565b613b1790919063ffffffff16565b90508082101561425557808280925081935050505b614282670de0b6b3a76400006142748785613a9190919063ffffffff16565b613b1790919063ffffffff16565b91506142b1856142a3670de0b6b3a764000084613a9190919063ffffffff16565b613b1790919063ffffffff16565b905060006142f6670de0b6b3a76400006142e8600f546142da8688613b6190919063ffffffff16565b613a9190919063ffffffff16565b613b1790919063ffffffff16565b9050808b1061431657808b03600080905097509750505050505050614329565b60008b8203819150975097505050505050505b935093915050565b60006e010000000000000000000000000000826dffffffffffffffffffffffffffff16029050919050565b6000816dffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16816143b357fe5b04905092915050565b6000600382111561440b5781905060006001600284816143d857fe5b040190505b81811015614405578091506002818285816143f457fe5b0401816143fd57fe5b0490506143dd565b50614419565b6000821461441857600190505b5b919050565b8160009080519060200190614434929190614c17565b50806001908051906020019061444b929190614c17565b5060004690506040518080614d02605291396052019050604051809103902083805190602001206040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250805190602001208330604051602001808681526020018581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019550505050505060405160208183030381529060405280519060200120600681905550505050565b428510156145a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496d7065726d61783a204558504952454400000000000000000000000000000081525060200191505060405180910390fd5b6000600654828a8a8a600760008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558b604051602001808781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200196505050505050506040516020818303038152906040528051906020012060405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600060018287878760405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561474f573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156147c357508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b614835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f496d7065726d61783a20494e56414c49445f5349474e4154555245000000000081525060200191505060405180910390fd5b50505050505050505050565b600080831182906148ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156148b2578082015181840152602081019050614897565b50505050905090810190601f1680156148df5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816148f957fe5b049050809150509392505050565b614990816040518060400160405280601b81526020017f496d7065726d61783a205452414e534645525f544f4f5f484947480000000000815250600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1e9092919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614a2581600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b6190919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f851a4406040518163ffffffff1660e01b815260040160206040518083038186803b158015614b3a57600080fd5b505afa158015614b4e573d6000803e3d6000fd5b505050506040513d6020811015614b6457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614c15576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f496d7065726d61783a20554e415554484f52495a45440000000000000000000081525060200191505060405180910390fd5b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10614c5857805160ff1916838001178555614c86565b82800160010185558215614c86579182015b82811115614c85578251825591602001919060010190614c6a565b5b509050614c939190614c97565b5090565b614cb991905b80821115614cb5576000816000905550600101614c9d565b5090565b9056fe496d7065726d61783a20494e53554646494349454e545f52454445454d5f544f4b454e53496d7065726d61783a2050524943455f43414c43554c4154494f4e5f4552524f52454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158207046b2f9e9604eb7e8248413a7cf853c486109e907ef4d0637e3776e3513279164736f6c63430005100032a265627a7a72315820568afad4fc02efc16d5d4b5efda4ac383116a7e8a2edac83de29f52937068be964736f6c63430005100032",
34
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80637924fedd14610030575b600080fd5b6100726004803603602081101561004657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506100b4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006060604051806020016100c890610182565b6020820181038252601f19601f82011660405250905060003384604051602001808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b815260140192505050604051602081830303815290604052805190602001209050808251602084016000f592505050919050565b614e18806101908339019056fe60806040526012600260006101000a81548160ff021916908360ff1602179055506001600b60006101000a81548160ff0219169083151502179055506715f155637eba0c00600e55670e6ed27d66680000600f5534801561005f57600080fd5b50614da98061006f6000396000f3fe608060405234801561001057600080fd5b506004361061025e5760003560e01c80637ecebe0011610146578063bb6ff386116100c3578063c548e3c511610087578063c548e3c514610c63578063d490e7e014610d91578063d505accf14610daf578063daf8881814610e48578063dd62ed3e14610e92578063fff6cae914610f0a5761025e565b8063bb6ff38614610b64578063bc25cf7714610b92578063bc9bd12a14610bd6578063bd9a548b14610bf4578063c45a015514610c195761025e565b8063a9059cbb1161010a578063a9059cbb14610a22578063ad7a672f14610a88578063afc8276c14610aa6578063b2a02ff114610ac4578063ba9a7a5614610b465761025e565b80637ecebe001461084b5780638c765e94146108a357806395a2251f146108c157806395d89b41146109195780639aac2c531461099c5761025e565b80633644e515116101df5780636a627842116101a35780636a6278421461062e5780636e01be10146106865780636f13cb83146106ec5780636f307dc31461075f57806370a08231146107a95780637c6674b5146108015761025e565b80633644e5151461055b5780633ba0b9a9146105795780634a5d316c146105975780634fd42e17146105a15780635a0f03c6146105cf5761025e565b806323b872dd1161022657806323b872dd1461042b5780632fa5ae1b146104b157806330adf81f146104fb578063313ce56714610519578063356c571f1461053d5761025e565b806306fdde0314610263578063095ea7b3146102e65780630fb60fef1461034c57806318160ddd1461036a57806319f3400d14610388575b600080fd5b61026b610f14565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102ab578082015181840152602081019050610290565b50505050905090810190601f1680156102d85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610332600480360360408110156102fc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fb2565b604051808215151515815260200191505060405180910390f35b610354610fc9565b6040518082815260200191505060405180910390f35b610372610fd5565b6040518082815260200191505060405180910390f35b6104296004803603606081101561039e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156103e557600080fd5b8201836020820111156103f757600080fd5b8035906020019184600183028401116401000000008311171561041957600080fd5b9091929391929390505050610fdb565b005b6104976004803603606081101561044157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611364565b604051808215151515815260200191505060405180910390f35b6104b9611566565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61050361158c565b6040518082815260200191505060405180910390f35b6105216115b3565b604051808260ff1660ff16815260200191505060405180910390f35b6105456115c6565b6040518082815260200191505060405180910390f35b6105636115cc565b6040518082815260200191505060405180910390f35b6105816115d2565b6040518082815260200191505060405180910390f35b61059f61163c565b005b6105cd600480360360208110156105b757600080fd5b8101908080359060200190929190505050611743565b005b610611600480360360208110156105e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611857565b604051808381526020018281526020019250505060405180910390f35b6106706004803603602081101561064457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061188e565b6040518082815260200191505060405180910390f35b6106d26004803603604081101561069c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ba1565b604051808215151515815260200191505060405180910390f35b6107426004803603606081101561070257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611e16565b604051808381526020018281526020019250505060405180910390f35b6107676120b2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107eb600480360360208110156107bf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120d8565b6040518082815260200191505060405180910390f35b6108096120f0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61088d6004803603602081101561086157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612116565b6040518082815260200191505060405180910390f35b6108ab61212e565b6040518082815260200191505060405180910390f35b610903600480360360208110156108d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612134565b6040518082815260200191505060405180910390f35b6109216123e5565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610961578082015181840152602081019050610946565b50505050905090810190601f16801561098e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610a08600480360360608110156109b257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612483565b604051808215151515815260200191505060405180910390f35b610a6e60048036036040811015610a3857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612689565b604051808215151515815260200191505060405180910390f35b610a906126a0565b6040518082815260200191505060405180910390f35b610aae6126a6565b6040518082815260200191505060405180910390f35b610b3060048036036060811015610ada57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506126b2565b6040518082815260200191505060405180910390f35b610b4e612af7565b6040518082815260200191505060405180910390f35b610b9060048036036020811015610b7a57600080fd5b8101908080359060200190929190505050612afd565b005b610bd460048036036020811015610ba857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c11565b005b610bde612dc3565b6040518082815260200191505060405180910390f35b610bfc612dcf565b604051808381526020018281526020019250505060405180910390f35b610c216132ae565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610d8f600480360360a0811015610c7957600080fd5b8101908080359060200190640100000000811115610c9657600080fd5b820183602082011115610ca857600080fd5b80359060200191846001830284011164010000000083111715610cca57600080fd5b909192939192939080359060200190640100000000811115610ceb57600080fd5b820183602082011115610cfd57600080fd5b80359060200191846001830284011164010000000083111715610d1f57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506132d4565b005b610d996135d8565b6040518082815260200191505060405180910390f35b610e46600480360360e0811015610dc557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff16906020019092919080359060200190929190803590602001909291905050506135e4565b005b610e5061362b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610ef460048036036040811015610ea857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613651565b6040518082815260200191505060405180910390f35b610f12613676565b005b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610faa5780601f10610f7f57610100808354040283529160200191610faa565b820191906000526020600020905b815481529060010190602001808311610f8d57829003601f168201915b505050505081565b6000610fbf338484613738565b6001905092915050565b6710ff2af864d4fc0081565b60035481565b600b60009054906101000a900460ff1661105d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f496d7065726d61783a205245454e54455245440000000000000000000000000081525060200191505060405180910390fd5b6000600b60006101000a81548160ff021916908315150217905550600a548311156110f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f496d7065726d61783a20494e53554646494349454e545f43415348000000000081525060200191505060405180910390fd5b6110fa8484613823565b60008282905011156111da578373ffffffffffffffffffffffffffffffffffffffff1663acb86cbb338585856040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156111c157600080fd5b505af11580156111d5573d6000803e3d6000fd5b505050505b6000600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600061126760016112596112306115d2565b61124b670de0b6b3a76400008a613a9190919063ffffffff16565b613b1790919063ffffffff16565b613b6190919063ffffffff16565b9050808210156112c2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180614cbd6024913960400191505060405180910390fd5b6112cc3083613be9565b8573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f3f693fff038bb8a046aa76d9516190ac7444f7d69cf952c4cbdc086fdef2d6fc8785604051808381526020018281526020019250505060405180910390a35050611343613d03565b6001600b60006101000a81548160ff02191690831515021790555050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611550576114cf826040518060400160405280601e81526020017f496d7065726d61783a205452414e534645525f4e4f545f414c4c4f5745440000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1e9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61155b848484613ede565b600190509392505050565b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960001b81565b600260009054906101000a900460ff1681565b600e5481565b60065481565b60008060035490506000600a54905060008214806115f05750600081145b1561160757670de0b6b3a764000092505050611639565b61163482611626670de0b6b3a764000084613a9190919063ffffffff16565b613b1790919063ffffffff16565b925050505b90565b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611700576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496d7065726d61783a20464143544f52595f414c52454144595f53455400000081525060200191505060405180910390fd5b33600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600b60009054906101000a900460ff166117c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f496d7065726d61783a205245454e54455245440000000000000000000000000081525060200191505060405180910390fd5b6000600b60006101000a81548160ff0219169083151502179055506117fb81670e043da617250000670e92596fd6290000613f6a565b80600f819055507f8a9bb9067f9ecb13a322b548e6df3dd1bd10a54698834dac43ed8f0e765bf94d816040518082815260200191505060405180910390a16001600b60006101000a81548160ff02191690831515021790555050565b600080611885837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80611e16565b91509150915091565b6000600b60009054906101000a900460ff16611912576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f496d7065726d61783a205245454e54455245440000000000000000000000000081525060200191505060405180910390fd5b6000600b60006101000a81548160ff0219169083151502179055506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156119ce57600080fd5b505afa1580156119e2573d6000803e3d6000fd5b505050506040513d60208110156119f857600080fd5b810190808051906020019092919050505090506000611a22600a548361406390919063ffffffff16565b9050611a58611a2f6115d2565b611a4a670de0b6b3a764000084613a9190919063ffffffff16565b613b1790919063ffffffff16565b925060006003541415611a8a57611a7a6103e88461406390919063ffffffff16565b9250611a8960006103e86140ad565b5b60008311611b00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f496d7065726d61783a204d494e545f414d4f554e545f5a45524f00000000000081525060200191505060405180910390fd5b611b0a84846140ad565b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2f00e3cdd69a77be7ed215ec7b2a36784dd158f921fca79ac29deffa353fe6ee8386604051808381526020018281526020019250505060405180910390a35050611b81613d03565b6001600b60006101000a81548160ff021916908315150217905550919050565b600080600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611bf8576000915050611e10565b600083820390506000611c35670de0b6b3a7640000611c27611c186115d2565b85613a9190919063ffffffff16565b613b1790919063ffffffff16565b90506000600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634d73e9ba886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cd857600080fd5b505afa158015611cec573d6000803e3d6000fd5b505050506040513d6020811015611d0257600080fd5b810190808051906020019092919050505090506000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634d73e9ba896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611db657600080fd5b505afa158015611dca573d6000803e3d6000fd5b505050506040513d6020811015611de057600080fd5b810190808051906020019092919050505090506000611e008484846141c7565b9150506000811496505050505050505b92915050565b6000807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841415611f1e57600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634d73e9ba866040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611ee057600080fd5b505afa158015611ef4573d6000803e3d6000fd5b505050506040513d6020811015611f0a57600080fd5b810190808051906020019092919050505093505b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83141561202357600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634d73e9ba866040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611fe557600080fd5b505afa158015611ff9573d6000803e3d6000fd5b505050506040513d602081101561200f57600080fd5b810190808051906020019092919050505092505b6000612098670de0b6b3a764000061208a61203c6115d2565b600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a9190919063ffffffff16565b613b1790919063ffffffff16565b90506120a58186866141c7565b9250925050935093915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60046020528060005260406000206000915090505481565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60076020528060005260406000206000915090505481565b600f5481565b6000600b60009054906101000a900460ff166121b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f496d7065726d61783a205245454e54455245440000000000000000000000000081525060200191505060405180910390fd5b6000600b60006101000a81548160ff0219169083151502179055506000600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061224b670de0b6b3a764000061223d61222e6115d2565b84613a9190919063ffffffff16565b613b1790919063ffffffff16565b9150600082116122c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f496d7065726d61783a2052454445454d5f414d4f554e545f5a45524f0000000081525060200191505060405180910390fd5b600a5482111561233b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f496d7065726d61783a20494e53554646494349454e545f43415348000000000081525060200191505060405180910390fd5b6123458383613823565b61234f3082613be9565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f3f693fff038bb8a046aa76d9516190ac7444f7d69cf952c4cbdc086fdef2d6fc8484604051808381526020018281526020019250505060405180910390a3506123c5613d03565b6001600b60006101000a81548160ff021916908315150217905550919050565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561247b5780601f106124505761010080835404028352916020019161247b565b820191906000526020600020905b81548152906001019060200180831161245e57829003601f168201915b505050505081565b600080600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061253757508073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b6125a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f496d7065726d61783a20494e56414c49445f424f52524f5741424c450000000081525060200191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614612604577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612606565b845b905060008273ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614612663577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612665565b855b90506000612674898484611e16565b91505060008114955050505050509392505050565b6000612696338484613ede565b6001905092915050565b600a5481565b670e92596fd629000081565b6000600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061275d5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6127cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f496d7065726d61783a20554e415554484f52495a45440000000000000000000081525060200191505060405180910390fd5b60006127da84611857565b91505060008111612853576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f496d7065726d61783a20494e53554646494349454e545f53484f525446414c4c81525060200191505060405180910390fd5b6000600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156128bd576128b3612dcf565b50809150506128cc565b6128c5612dcf565b9050809150505b6129266128d76115d2565b6129188361290a670de0b6b3a76400006128fc600f548b613a9190919063ffffffff16565b613b1790919063ffffffff16565b613a9190919063ffffffff16565b613b1790919063ffffffff16565b92506129b1836040518060400160405280601e81526020017f496d7065726d61783a204c49515549444154494e475f544f4f5f4d5543480000815250600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1e9092919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a4683600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b6190919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350509392505050565b6103e881565b600b60009054906101000a900460ff16612b7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f496d7065726d61783a205245454e54455245440000000000000000000000000081525060200191505060405180910390fd5b6000600b60006101000a81548160ff021916908315150217905550612bb5816710ff2af864d4fc006715f15565d2c5f000613f6a565b80600e819055507fdff9a61839be6f6ce5ea77311cc351786a39a9f337c507ff35e7b358fd39c043816040518082815260200191505060405180910390a16001600b60006101000a81548160ff02191690831515021790555050565b600b60009054906101000a900460ff16612c93576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f496d7065726d61783a205245454e54455245440000000000000000000000000081525060200191505060405180910390fd5b6000600b60006101000a81548160ff021916908315150217905550612da581612da0600a54600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612d5757600080fd5b505afa158015612d6b573d6000803e3d6000fd5b505050506040513d6020811015612d8157600080fd5b810190808051906020019092919050505061406390919063ffffffff16565b613823565b6001600b60006101000a81548160ff02191690831515021790555050565b670e043da61725000081565b6000806000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663446a37e0600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506040805180830381600087803b158015612e9657600080fd5b505af1158015612eaa573d6000803e3d6000fd5b505050506040513d6040811015612ec057600080fd5b810190808051906020019092919080519060200190929190505050509050600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015612f4957600080fd5b505afa158015612f5d573d6000803e3d6000fd5b505050506040513d6060811015612f7357600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505050915091506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561300757600080fd5b505afa15801561301b573d6000803e3d6000fd5b505050506040513d602081101561303157600080fd5b81019080805190602001909291905050509050600061307f8461305385614331565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661435c90919063ffffffff16565b905060006130e9827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166130db640100000000897bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16613a9190919063ffffffff16565b613b1790919063ffffffff16565b9050600061310d61310864010000000084613a9190919063ffffffff16565b6143bc565b90506000613151600288026dffffffffffffffffffffffffffff16613143670de0b6b3a764000088613a9190919063ffffffff16565b613b1790919063ffffffff16565b90506000613195600288026dffffffffffffffffffffffffffff16613187670de0b6b3a764000089613a9190919063ffffffff16565b613b1790919063ffffffff16565b90506131c16401000000006131b38585613a9190919063ffffffff16565b613b1790919063ffffffff16565b9a506131ed836131df64010000000084613a9190919063ffffffff16565b613b1790919063ffffffff16565b995060648b11613248576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180614ce16021913960400191505060405180910390fd5b60648a116132a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180614ce16021913960400191505060405180910390fd5b5050505050505050509091565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613397576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f496d7065726d61783a20554e415554484f52495a45440000000000000000000081525060200191505060405180910390fd5b61342987878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061441e565b82600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637c6674b56040518163ffffffff1660e01b815260040160206040518083038186803b15801561355457600080fd5b505afa158015613568573d6000803e3d6000fd5b505050506040513d602081101561357e57600080fd5b8101908080519060200190929190505050600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050505050565b6715f15565d2c5f00081565b613617878787878787877f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960001b61452a565b613622878787613738565b50505050505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6005602052816000526040600020602052806000526040600020600091509150505481565b600b60009054906101000a900460ff166136f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f496d7065726d61783a205245454e54455245440000000000000000000000000081525060200191505060405180910390fd5b6000600b60006101000a81548160ff02191690831515021790555061371b613d03565b6001600b60006101000a81548160ff021916908315150217905550565b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b60006060600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166040518060400160405280601981526020017f7472616e7366657228616464726573732c75696e743235362900000000000000815250805190602001208585604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310613972578051825260208201915060208101905060208303925061394f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146139d4576040519150601f19603f3d011682016040523d82523d6000602084013e6139d9565b606091505b5091509150818015613a195750600081511480613a185750808060200190516020811015613a0657600080fd5b81019080805190602001909291905050505b5b613a8b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f496d7065726d61783a205452414e534645525f4641494c45440000000000000081525060200191505060405180910390fd5b50505050565b600080831415613aa45760009050613b11565b6000828402905082848281613ab557fe5b0414613b0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180614d546021913960400191505060405180910390fd5b809150505b92915050565b6000613b5983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614841565b905092915050565b600080828401905083811015613bdf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b613c3b81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461406390919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613c938160035461406390919063ffffffff16565b600381905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015613da257600080fd5b505afa158015613db6573d6000803e3d6000fd5b505050506040513d6020811015613dcc57600080fd5b8101908080519060200190929190505050600a819055507f8a0df8ef054fae2c3d2d19a7b322e864870cc9fd3cb07fb9526309c596244bf4600a546040518082815260200191505060405180910390a1565b6000838311158290613ecb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613e90578082015181840152602081019050613e75565b50505050905090810190601f168015613ebd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b613ee88382611ba1565b613f5a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f496d7065726d61783a20494e53554646494349454e545f4c495155494449545981525060200191505060405180910390fd5b613f65838383614907565b505050565b613f72614ad2565b81831015613fe8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f496d7065726d61783a20494e56414c49445f53455454494e470000000000000081525060200191505060405180910390fd5b8083111561405e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f496d7065726d61783a20494e56414c49445f53455454494e470000000000000081525060200191505060405180910390fd5b505050565b60006140a583836040518060400160405280601f81526020017f536166654d6174683a207375627472616374696f6e20756e646572666c6f7700815250613e1e565b905092915050565b6140c281600354613b6190919063ffffffff16565b60038190555061411a81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b6190919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000806000600e5490506000806141dc612dcf565b91509150600061420f670de0b6b3a7640000614201858b613a9190919063ffffffff16565b613b1790919063ffffffff16565b90506000614240670de0b6b3a7640000614232858b613a9190919063ffffffff16565b613b1790919063ffffffff16565b90508082101561425557808280925081935050505b614282670de0b6b3a76400006142748785613a9190919063ffffffff16565b613b1790919063ffffffff16565b91506142b1856142a3670de0b6b3a764000084613a9190919063ffffffff16565b613b1790919063ffffffff16565b905060006142f6670de0b6b3a76400006142e8600f546142da8688613b6190919063ffffffff16565b613a9190919063ffffffff16565b613b1790919063ffffffff16565b9050808b1061431657808b03600080905097509750505050505050614329565b60008b8203819150975097505050505050505b935093915050565b60006e010000000000000000000000000000826dffffffffffffffffffffffffffff16029050919050565b6000816dffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16816143b357fe5b04905092915050565b6000600382111561440b5781905060006001600284816143d857fe5b040190505b81811015614405578091506002818285816143f457fe5b0401816143fd57fe5b0490506143dd565b50614419565b6000821461441857600190505b5b919050565b8160009080519060200190614434929190614c17565b50806001908051906020019061444b929190614c17565b5060004690506040518080614d02605291396052019050604051809103902083805190602001206040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250805190602001208330604051602001808681526020018581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019550505050505060405160208183030381529060405280519060200120600681905550505050565b428510156145a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496d7065726d61783a204558504952454400000000000000000000000000000081525060200191505060405180910390fd5b6000600654828a8a8a600760008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558b604051602001808781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200196505050505050506040516020818303038152906040528051906020012060405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600060018287878760405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561474f573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156147c357508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b614835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f496d7065726d61783a20494e56414c49445f5349474e4154555245000000000081525060200191505060405180910390fd5b50505050505050505050565b600080831182906148ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156148b2578082015181840152602081019050614897565b50505050905090810190601f1680156148df5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816148f957fe5b049050809150509392505050565b614990816040518060400160405280601b81526020017f496d7065726d61783a205452414e534645525f544f4f5f484947480000000000815250600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613e1e9092919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614a2581600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613b6190919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f851a4406040518163ffffffff1660e01b815260040160206040518083038186803b158015614b3a57600080fd5b505afa158015614b4e573d6000803e3d6000fd5b505050506040513d6020811015614b6457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614c15576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f496d7065726d61783a20554e415554484f52495a45440000000000000000000081525060200191505060405180910390fd5b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10614c5857805160ff1916838001178555614c86565b82800160010185558215614c86579182015b82811115614c85578251825591602001919060010190614c6a565b5b509050614c939190614c97565b5090565b614cb991905b80821115614cb5576000816000905550600101614c9d565b5090565b9056fe496d7065726d61783a20494e53554646494349454e545f52454445454d5f544f4b454e53496d7065726d61783a2050524943455f43414c43554c4154494f4e5f4552524f52454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158207046b2f9e9604eb7e8248413a7cf853c486109e907ef4d0637e3776e3513279164736f6c63430005100032a265627a7a72315820568afad4fc02efc16d5d4b5efda4ac383116a7e8a2edac83de29f52937068be964736f6c63430005100032",
35
- "sourceMap": "231:384:10:-;;;268:24;8:9:-1;5:2;;;30:1;27;20:12;5:2;268:24:10;231:384;;;;;;",
36
- "deployedSourceMap": "231:384:10:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;231:384:10;;;;;;;;;;;;;;;;;;;298:314;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;298:314:10;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;365:18;390:21;414:29;;;;;;;;:::i;:::-;41:4:-1;34:5;30:16;25:3;21:26;14:5;7:41;87:2;83:7;78:2;73:3;69:12;65:26;61:2;54:38;414:29:10;390:53;;448:12;490:10;502:13;473:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;473:43:10;;;463:54;;;;;;448:69;;598:4;587:8;581:15;576:2;566:8;562:17;559:1;551:52;537:66;;531:77;;;;;:::o;231:384::-;;;;;;;;:::o",
37
- "source": "pragma solidity =0.5.16;\r\n\r\nimport \"./Collateral.sol\";\r\nimport \"./interfaces/ICDeployer.sol\";\r\n\r\n/*\r\n * This contract is used by the Factory to deploy Collateral(s)\r\n * The bytecode would be too long to fit in the Factory\r\n */\r\n \r\ncontract CDeployer is ICDeployer {\r\n\tconstructor () public {}\r\n\t\r\n\tfunction deployCollateral(address uniswapV2Pair) external returns (address collateral) {\r\n\t\tbytes memory bytecode = type(Collateral).creationCode;\r\n\t\tbytes32 salt = keccak256(abi.encodePacked(msg.sender, uniswapV2Pair));\r\n\t\tassembly {\r\n\t\t\tcollateral := create2(0, add(bytecode, 32), mload(bytecode), salt)\r\n\t\t}\r\n\t}\r\n}",
38
- "sourcePath": "C:/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/CDeployer.sol",
39
- "ast": {
40
- "absolutePath": "/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/CDeployer.sol",
41
- "exportedSymbols": {
42
- "CDeployer": [
43
- 2476
44
- ]
45
- },
46
- "id": 2477,
47
- "nodeType": "SourceUnit",
48
- "nodes": [
49
- {
50
- "id": 2440,
51
- "literals": [
52
- "solidity",
53
- "=",
54
- "0.5",
55
- ".16"
56
- ],
57
- "nodeType": "PragmaDirective",
58
- "src": "0:24:10"
59
- },
60
- {
61
- "absolutePath": "/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/Collateral.sol",
62
- "file": "./Collateral.sol",
63
- "id": 2441,
64
- "nodeType": "ImportDirective",
65
- "scope": 2477,
66
- "sourceUnit": 3369,
67
- "src": "28:26:10",
68
- "symbolAliases": [],
69
- "unitAlias": ""
70
- },
71
- {
72
- "absolutePath": "/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/interfaces/ICDeployer.sol",
73
- "file": "./interfaces/ICDeployer.sol",
74
- "id": 2442,
75
- "nodeType": "ImportDirective",
76
- "scope": 2477,
77
- "sourceUnit": 5434,
78
- "src": "56:37:10",
79
- "symbolAliases": [],
80
- "unitAlias": ""
81
- },
82
- {
83
- "baseContracts": [
84
- {
85
- "arguments": null,
86
- "baseName": {
87
- "contractScope": null,
88
- "id": 2443,
89
- "name": "ICDeployer",
90
- "nodeType": "UserDefinedTypeName",
91
- "referencedDeclaration": 5433,
92
- "src": "253:10:10",
93
- "typeDescriptions": {
94
- "typeIdentifier": "t_contract$_ICDeployer_$5433",
95
- "typeString": "contract ICDeployer"
96
- }
97
- },
98
- "id": 2444,
99
- "nodeType": "InheritanceSpecifier",
100
- "src": "253:10:10"
101
- }
102
- ],
103
- "contractDependencies": [
104
- 3368,
105
- 5433
106
- ],
107
- "contractKind": "contract",
108
- "documentation": null,
109
- "fullyImplemented": true,
110
- "id": 2476,
111
- "linearizedBaseContracts": [
112
- 2476,
113
- 5433
114
- ],
115
- "name": "CDeployer",
116
- "nodeType": "ContractDefinition",
117
- "nodes": [
118
- {
119
- "body": {
120
- "id": 2447,
121
- "nodeType": "Block",
122
- "src": "290:2:10",
123
- "statements": []
124
- },
125
- "documentation": null,
126
- "id": 2448,
127
- "implemented": true,
128
- "kind": "constructor",
129
- "modifiers": [],
130
- "name": "",
131
- "nodeType": "FunctionDefinition",
132
- "parameters": {
133
- "id": 2445,
134
- "nodeType": "ParameterList",
135
- "parameters": [],
136
- "src": "280:2:10"
137
- },
138
- "returnParameters": {
139
- "id": 2446,
140
- "nodeType": "ParameterList",
141
- "parameters": [],
142
- "src": "290:0:10"
143
- },
144
- "scope": 2476,
145
- "src": "268:24:10",
146
- "stateMutability": "nonpayable",
147
- "superFunction": null,
148
- "visibility": "public"
149
- },
150
- {
151
- "body": {
152
- "id": 2474,
153
- "nodeType": "Block",
154
- "src": "385:227:10",
155
- "statements": [
156
- {
157
- "assignments": [
158
- 2456
159
- ],
160
- "declarations": [
161
- {
162
- "constant": false,
163
- "id": 2456,
164
- "name": "bytecode",
165
- "nodeType": "VariableDeclaration",
166
- "scope": 2474,
167
- "src": "390:21:10",
168
- "stateVariable": false,
169
- "storageLocation": "memory",
170
- "typeDescriptions": {
171
- "typeIdentifier": "t_bytes_memory_ptr",
172
- "typeString": "bytes"
173
- },
174
- "typeName": {
175
- "id": 2455,
176
- "name": "bytes",
177
- "nodeType": "ElementaryTypeName",
178
- "src": "390:5:10",
179
- "typeDescriptions": {
180
- "typeIdentifier": "t_bytes_storage_ptr",
181
- "typeString": "bytes"
182
- }
183
- },
184
- "value": null,
185
- "visibility": "internal"
186
- }
187
- ],
188
- "id": 2461,
189
- "initialValue": {
190
- "argumentTypes": null,
191
- "expression": {
192
- "argumentTypes": null,
193
- "arguments": [
194
- {
195
- "argumentTypes": null,
196
- "id": 2458,
197
- "name": "Collateral",
198
- "nodeType": "Identifier",
199
- "overloadedDeclarations": [],
200
- "referencedDeclaration": 3368,
201
- "src": "419:10:10",
202
- "typeDescriptions": {
203
- "typeIdentifier": "t_type$_t_contract$_Collateral_$3368_$",
204
- "typeString": "type(contract Collateral)"
205
- }
206
- }
207
- ],
208
- "expression": {
209
- "argumentTypes": [
210
- {
211
- "typeIdentifier": "t_type$_t_contract$_Collateral_$3368_$",
212
- "typeString": "type(contract Collateral)"
213
- }
214
- ],
215
- "id": 2457,
216
- "name": "type",
217
- "nodeType": "Identifier",
218
- "overloadedDeclarations": [],
219
- "referencedDeclaration": 9831,
220
- "src": "414:4:10",
221
- "typeDescriptions": {
222
- "typeIdentifier": "t_function_metatype_pure$_t_address_$returns$__$",
223
- "typeString": "function (address) pure"
224
- }
225
- },
226
- "id": 2459,
227
- "isConstant": false,
228
- "isLValue": false,
229
- "isPure": true,
230
- "kind": "functionCall",
231
- "lValueRequested": false,
232
- "names": [],
233
- "nodeType": "FunctionCall",
234
- "src": "414:16:10",
235
- "typeDescriptions": {
236
- "typeIdentifier": "t_magic_meta_type_t_contract$_Collateral_$3368",
237
- "typeString": "type(contract Collateral)"
238
- }
239
- },
240
- "id": 2460,
241
- "isConstant": false,
242
- "isLValue": false,
243
- "isPure": true,
244
- "lValueRequested": false,
245
- "memberName": "creationCode",
246
- "nodeType": "MemberAccess",
247
- "referencedDeclaration": null,
248
- "src": "414:29:10",
249
- "typeDescriptions": {
250
- "typeIdentifier": "t_bytes_memory_ptr",
251
- "typeString": "bytes memory"
252
- }
253
- },
254
- "nodeType": "VariableDeclarationStatement",
255
- "src": "390:53:10"
256
- },
257
- {
258
- "assignments": [
259
- 2463
260
- ],
261
- "declarations": [
262
- {
263
- "constant": false,
264
- "id": 2463,
265
- "name": "salt",
266
- "nodeType": "VariableDeclaration",
267
- "scope": 2474,
268
- "src": "448:12:10",
269
- "stateVariable": false,
270
- "storageLocation": "default",
271
- "typeDescriptions": {
272
- "typeIdentifier": "t_bytes32",
273
- "typeString": "bytes32"
274
- },
275
- "typeName": {
276
- "id": 2462,
277
- "name": "bytes32",
278
- "nodeType": "ElementaryTypeName",
279
- "src": "448:7:10",
280
- "typeDescriptions": {
281
- "typeIdentifier": "t_bytes32",
282
- "typeString": "bytes32"
283
- }
284
- },
285
- "value": null,
286
- "visibility": "internal"
287
- }
288
- ],
289
- "id": 2472,
290
- "initialValue": {
291
- "argumentTypes": null,
292
- "arguments": [
293
- {
294
- "argumentTypes": null,
295
- "arguments": [
296
- {
297
- "argumentTypes": null,
298
- "expression": {
299
- "argumentTypes": null,
300
- "id": 2467,
301
- "name": "msg",
302
- "nodeType": "Identifier",
303
- "overloadedDeclarations": [],
304
- "referencedDeclaration": 9818,
305
- "src": "490:3:10",
306
- "typeDescriptions": {
307
- "typeIdentifier": "t_magic_message",
308
- "typeString": "msg"
309
- }
310
- },
311
- "id": 2468,
312
- "isConstant": false,
313
- "isLValue": false,
314
- "isPure": false,
315
- "lValueRequested": false,
316
- "memberName": "sender",
317
- "nodeType": "MemberAccess",
318
- "referencedDeclaration": null,
319
- "src": "490:10:10",
320
- "typeDescriptions": {
321
- "typeIdentifier": "t_address_payable",
322
- "typeString": "address payable"
323
- }
324
- },
325
- {
326
- "argumentTypes": null,
327
- "id": 2469,
328
- "name": "uniswapV2Pair",
329
- "nodeType": "Identifier",
330
- "overloadedDeclarations": [],
331
- "referencedDeclaration": 2450,
332
- "src": "502:13:10",
333
- "typeDescriptions": {
334
- "typeIdentifier": "t_address",
335
- "typeString": "address"
336
- }
337
- }
338
- ],
339
- "expression": {
340
- "argumentTypes": [
341
- {
342
- "typeIdentifier": "t_address_payable",
343
- "typeString": "address payable"
344
- },
345
- {
346
- "typeIdentifier": "t_address",
347
- "typeString": "address"
348
- }
349
- ],
350
- "expression": {
351
- "argumentTypes": null,
352
- "id": 2465,
353
- "name": "abi",
354
- "nodeType": "Identifier",
355
- "overloadedDeclarations": [],
356
- "referencedDeclaration": 9805,
357
- "src": "473:3:10",
358
- "typeDescriptions": {
359
- "typeIdentifier": "t_magic_abi",
360
- "typeString": "abi"
361
- }
362
- },
363
- "id": 2466,
364
- "isConstant": false,
365
- "isLValue": false,
366
- "isPure": true,
367
- "lValueRequested": false,
368
- "memberName": "encodePacked",
369
- "nodeType": "MemberAccess",
370
- "referencedDeclaration": null,
371
- "src": "473:16:10",
372
- "typeDescriptions": {
373
- "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
374
- "typeString": "function () pure returns (bytes memory)"
375
- }
376
- },
377
- "id": 2470,
378
- "isConstant": false,
379
- "isLValue": false,
380
- "isPure": false,
381
- "kind": "functionCall",
382
- "lValueRequested": false,
383
- "names": [],
384
- "nodeType": "FunctionCall",
385
- "src": "473:43:10",
386
- "typeDescriptions": {
387
- "typeIdentifier": "t_bytes_memory_ptr",
388
- "typeString": "bytes memory"
389
- }
390
- }
391
- ],
392
- "expression": {
393
- "argumentTypes": [
394
- {
395
- "typeIdentifier": "t_bytes_memory_ptr",
396
- "typeString": "bytes memory"
397
- }
398
- ],
399
- "id": 2464,
400
- "name": "keccak256",
401
- "nodeType": "Identifier",
402
- "overloadedDeclarations": [],
403
- "referencedDeclaration": 9812,
404
- "src": "463:9:10",
405
- "typeDescriptions": {
406
- "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
407
- "typeString": "function (bytes memory) pure returns (bytes32)"
408
- }
409
- },
410
- "id": 2471,
411
- "isConstant": false,
412
- "isLValue": false,
413
- "isPure": false,
414
- "kind": "functionCall",
415
- "lValueRequested": false,
416
- "names": [],
417
- "nodeType": "FunctionCall",
418
- "src": "463:54:10",
419
- "typeDescriptions": {
420
- "typeIdentifier": "t_bytes32",
421
- "typeString": "bytes32"
422
- }
423
- },
424
- "nodeType": "VariableDeclarationStatement",
425
- "src": "448:69:10"
426
- },
427
- {
428
- "externalReferences": [
429
- {
430
- "collateral": {
431
- "declaration": 2453,
432
- "isOffset": false,
433
- "isSlot": false,
434
- "src": "537:10:10",
435
- "valueSize": 1
436
- }
437
- },
438
- {
439
- "bytecode": {
440
- "declaration": 2456,
441
- "isOffset": false,
442
- "isSlot": false,
443
- "src": "587:8:10",
444
- "valueSize": 1
445
- }
446
- },
447
- {
448
- "bytecode": {
449
- "declaration": 2456,
450
- "isOffset": false,
451
- "isSlot": false,
452
- "src": "566:8:10",
453
- "valueSize": 1
454
- }
455
- },
456
- {
457
- "salt": {
458
- "declaration": 2463,
459
- "isOffset": false,
460
- "isSlot": false,
461
- "src": "598:4:10",
462
- "valueSize": 1
463
- }
464
- }
465
- ],
466
- "id": 2473,
467
- "nodeType": "InlineAssembly",
468
- "operations": "{\n collateral := create2(0, add(bytecode, 32), mload(bytecode), salt)\n}",
469
- "src": "522:86:10"
470
- }
471
- ]
472
- },
473
- "documentation": null,
474
- "id": 2475,
475
- "implemented": true,
476
- "kind": "function",
477
- "modifiers": [],
478
- "name": "deployCollateral",
479
- "nodeType": "FunctionDefinition",
480
- "parameters": {
481
- "id": 2451,
482
- "nodeType": "ParameterList",
483
- "parameters": [
484
- {
485
- "constant": false,
486
- "id": 2450,
487
- "name": "uniswapV2Pair",
488
- "nodeType": "VariableDeclaration",
489
- "scope": 2475,
490
- "src": "324:21:10",
491
- "stateVariable": false,
492
- "storageLocation": "default",
493
- "typeDescriptions": {
494
- "typeIdentifier": "t_address",
495
- "typeString": "address"
496
- },
497
- "typeName": {
498
- "id": 2449,
499
- "name": "address",
500
- "nodeType": "ElementaryTypeName",
501
- "src": "324:7:10",
502
- "stateMutability": "nonpayable",
503
- "typeDescriptions": {
504
- "typeIdentifier": "t_address",
505
- "typeString": "address"
506
- }
507
- },
508
- "value": null,
509
- "visibility": "internal"
510
- }
511
- ],
512
- "src": "323:23:10"
513
- },
514
- "returnParameters": {
515
- "id": 2454,
516
- "nodeType": "ParameterList",
517
- "parameters": [
518
- {
519
- "constant": false,
520
- "id": 2453,
521
- "name": "collateral",
522
- "nodeType": "VariableDeclaration",
523
- "scope": 2475,
524
- "src": "365:18:10",
525
- "stateVariable": false,
526
- "storageLocation": "default",
527
- "typeDescriptions": {
528
- "typeIdentifier": "t_address",
529
- "typeString": "address"
530
- },
531
- "typeName": {
532
- "id": 2452,
533
- "name": "address",
534
- "nodeType": "ElementaryTypeName",
535
- "src": "365:7:10",
536
- "stateMutability": "nonpayable",
537
- "typeDescriptions": {
538
- "typeIdentifier": "t_address",
539
- "typeString": "address"
540
- }
541
- },
542
- "value": null,
543
- "visibility": "internal"
544
- }
545
- ],
546
- "src": "364:20:10"
547
- },
548
- "scope": 2476,
549
- "src": "298:314:10",
550
- "stateMutability": "nonpayable",
551
- "superFunction": 5432,
552
- "visibility": "external"
553
- }
554
- ],
555
- "scope": 2477,
556
- "src": "231:384:10"
557
- }
558
- ],
559
- "src": "0:615:10"
560
- },
561
- "legacyAST": {
562
- "absolutePath": "/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/CDeployer.sol",
563
- "exportedSymbols": {
564
- "CDeployer": [
565
- 2476
566
- ]
567
- },
568
- "id": 2477,
569
- "nodeType": "SourceUnit",
570
- "nodes": [
571
- {
572
- "id": 2440,
573
- "literals": [
574
- "solidity",
575
- "=",
576
- "0.5",
577
- ".16"
578
- ],
579
- "nodeType": "PragmaDirective",
580
- "src": "0:24:10"
581
- },
582
- {
583
- "absolutePath": "/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/Collateral.sol",
584
- "file": "./Collateral.sol",
585
- "id": 2441,
586
- "nodeType": "ImportDirective",
587
- "scope": 2477,
588
- "sourceUnit": 3369,
589
- "src": "28:26:10",
590
- "symbolAliases": [],
591
- "unitAlias": ""
592
- },
593
- {
594
- "absolutePath": "/C/Users/simor/Desktop/impermax-x-uniswapv2-periphery/test/Contracts/imx-univ2-core/interfaces/ICDeployer.sol",
595
- "file": "./interfaces/ICDeployer.sol",
596
- "id": 2442,
597
- "nodeType": "ImportDirective",
598
- "scope": 2477,
599
- "sourceUnit": 5434,
600
- "src": "56:37:10",
601
- "symbolAliases": [],
602
- "unitAlias": ""
603
- },
604
- {
605
- "baseContracts": [
606
- {
607
- "arguments": null,
608
- "baseName": {
609
- "contractScope": null,
610
- "id": 2443,
611
- "name": "ICDeployer",
612
- "nodeType": "UserDefinedTypeName",
613
- "referencedDeclaration": 5433,
614
- "src": "253:10:10",
615
- "typeDescriptions": {
616
- "typeIdentifier": "t_contract$_ICDeployer_$5433",
617
- "typeString": "contract ICDeployer"
618
- }
619
- },
620
- "id": 2444,
621
- "nodeType": "InheritanceSpecifier",
622
- "src": "253:10:10"
623
- }
624
- ],
625
- "contractDependencies": [
626
- 3368,
627
- 5433
628
- ],
629
- "contractKind": "contract",
630
- "documentation": null,
631
- "fullyImplemented": true,
632
- "id": 2476,
633
- "linearizedBaseContracts": [
634
- 2476,
635
- 5433
636
- ],
637
- "name": "CDeployer",
638
- "nodeType": "ContractDefinition",
639
- "nodes": [
640
- {
641
- "body": {
642
- "id": 2447,
643
- "nodeType": "Block",
644
- "src": "290:2:10",
645
- "statements": []
646
- },
647
- "documentation": null,
648
- "id": 2448,
649
- "implemented": true,
650
- "kind": "constructor",
651
- "modifiers": [],
652
- "name": "",
653
- "nodeType": "FunctionDefinition",
654
- "parameters": {
655
- "id": 2445,
656
- "nodeType": "ParameterList",
657
- "parameters": [],
658
- "src": "280:2:10"
659
- },
660
- "returnParameters": {
661
- "id": 2446,
662
- "nodeType": "ParameterList",
663
- "parameters": [],
664
- "src": "290:0:10"
665
- },
666
- "scope": 2476,
667
- "src": "268:24:10",
668
- "stateMutability": "nonpayable",
669
- "superFunction": null,
670
- "visibility": "public"
671
- },
672
- {
673
- "body": {
674
- "id": 2474,
675
- "nodeType": "Block",
676
- "src": "385:227:10",
677
- "statements": [
678
- {
679
- "assignments": [
680
- 2456
681
- ],
682
- "declarations": [
683
- {
684
- "constant": false,
685
- "id": 2456,
686
- "name": "bytecode",
687
- "nodeType": "VariableDeclaration",
688
- "scope": 2474,
689
- "src": "390:21:10",
690
- "stateVariable": false,
691
- "storageLocation": "memory",
692
- "typeDescriptions": {
693
- "typeIdentifier": "t_bytes_memory_ptr",
694
- "typeString": "bytes"
695
- },
696
- "typeName": {
697
- "id": 2455,
698
- "name": "bytes",
699
- "nodeType": "ElementaryTypeName",
700
- "src": "390:5:10",
701
- "typeDescriptions": {
702
- "typeIdentifier": "t_bytes_storage_ptr",
703
- "typeString": "bytes"
704
- }
705
- },
706
- "value": null,
707
- "visibility": "internal"
708
- }
709
- ],
710
- "id": 2461,
711
- "initialValue": {
712
- "argumentTypes": null,
713
- "expression": {
714
- "argumentTypes": null,
715
- "arguments": [
716
- {
717
- "argumentTypes": null,
718
- "id": 2458,
719
- "name": "Collateral",
720
- "nodeType": "Identifier",
721
- "overloadedDeclarations": [],
722
- "referencedDeclaration": 3368,
723
- "src": "419:10:10",
724
- "typeDescriptions": {
725
- "typeIdentifier": "t_type$_t_contract$_Collateral_$3368_$",
726
- "typeString": "type(contract Collateral)"
727
- }
728
- }
729
- ],
730
- "expression": {
731
- "argumentTypes": [
732
- {
733
- "typeIdentifier": "t_type$_t_contract$_Collateral_$3368_$",
734
- "typeString": "type(contract Collateral)"
735
- }
736
- ],
737
- "id": 2457,
738
- "name": "type",
739
- "nodeType": "Identifier",
740
- "overloadedDeclarations": [],
741
- "referencedDeclaration": 9831,
742
- "src": "414:4:10",
743
- "typeDescriptions": {
744
- "typeIdentifier": "t_function_metatype_pure$_t_address_$returns$__$",
745
- "typeString": "function (address) pure"
746
- }
747
- },
748
- "id": 2459,
749
- "isConstant": false,
750
- "isLValue": false,
751
- "isPure": true,
752
- "kind": "functionCall",
753
- "lValueRequested": false,
754
- "names": [],
755
- "nodeType": "FunctionCall",
756
- "src": "414:16:10",
757
- "typeDescriptions": {
758
- "typeIdentifier": "t_magic_meta_type_t_contract$_Collateral_$3368",
759
- "typeString": "type(contract Collateral)"
760
- }
761
- },
762
- "id": 2460,
763
- "isConstant": false,
764
- "isLValue": false,
765
- "isPure": true,
766
- "lValueRequested": false,
767
- "memberName": "creationCode",
768
- "nodeType": "MemberAccess",
769
- "referencedDeclaration": null,
770
- "src": "414:29:10",
771
- "typeDescriptions": {
772
- "typeIdentifier": "t_bytes_memory_ptr",
773
- "typeString": "bytes memory"
774
- }
775
- },
776
- "nodeType": "VariableDeclarationStatement",
777
- "src": "390:53:10"
778
- },
779
- {
780
- "assignments": [
781
- 2463
782
- ],
783
- "declarations": [
784
- {
785
- "constant": false,
786
- "id": 2463,
787
- "name": "salt",
788
- "nodeType": "VariableDeclaration",
789
- "scope": 2474,
790
- "src": "448:12:10",
791
- "stateVariable": false,
792
- "storageLocation": "default",
793
- "typeDescriptions": {
794
- "typeIdentifier": "t_bytes32",
795
- "typeString": "bytes32"
796
- },
797
- "typeName": {
798
- "id": 2462,
799
- "name": "bytes32",
800
- "nodeType": "ElementaryTypeName",
801
- "src": "448:7:10",
802
- "typeDescriptions": {
803
- "typeIdentifier": "t_bytes32",
804
- "typeString": "bytes32"
805
- }
806
- },
807
- "value": null,
808
- "visibility": "internal"
809
- }
810
- ],
811
- "id": 2472,
812
- "initialValue": {
813
- "argumentTypes": null,
814
- "arguments": [
815
- {
816
- "argumentTypes": null,
817
- "arguments": [
818
- {
819
- "argumentTypes": null,
820
- "expression": {
821
- "argumentTypes": null,
822
- "id": 2467,
823
- "name": "msg",
824
- "nodeType": "Identifier",
825
- "overloadedDeclarations": [],
826
- "referencedDeclaration": 9818,
827
- "src": "490:3:10",
828
- "typeDescriptions": {
829
- "typeIdentifier": "t_magic_message",
830
- "typeString": "msg"
831
- }
832
- },
833
- "id": 2468,
834
- "isConstant": false,
835
- "isLValue": false,
836
- "isPure": false,
837
- "lValueRequested": false,
838
- "memberName": "sender",
839
- "nodeType": "MemberAccess",
840
- "referencedDeclaration": null,
841
- "src": "490:10:10",
842
- "typeDescriptions": {
843
- "typeIdentifier": "t_address_payable",
844
- "typeString": "address payable"
845
- }
846
- },
847
- {
848
- "argumentTypes": null,
849
- "id": 2469,
850
- "name": "uniswapV2Pair",
851
- "nodeType": "Identifier",
852
- "overloadedDeclarations": [],
853
- "referencedDeclaration": 2450,
854
- "src": "502:13:10",
855
- "typeDescriptions": {
856
- "typeIdentifier": "t_address",
857
- "typeString": "address"
858
- }
859
- }
860
- ],
861
- "expression": {
862
- "argumentTypes": [
863
- {
864
- "typeIdentifier": "t_address_payable",
865
- "typeString": "address payable"
866
- },
867
- {
868
- "typeIdentifier": "t_address",
869
- "typeString": "address"
870
- }
871
- ],
872
- "expression": {
873
- "argumentTypes": null,
874
- "id": 2465,
875
- "name": "abi",
876
- "nodeType": "Identifier",
877
- "overloadedDeclarations": [],
878
- "referencedDeclaration": 9805,
879
- "src": "473:3:10",
880
- "typeDescriptions": {
881
- "typeIdentifier": "t_magic_abi",
882
- "typeString": "abi"
883
- }
884
- },
885
- "id": 2466,
886
- "isConstant": false,
887
- "isLValue": false,
888
- "isPure": true,
889
- "lValueRequested": false,
890
- "memberName": "encodePacked",
891
- "nodeType": "MemberAccess",
892
- "referencedDeclaration": null,
893
- "src": "473:16:10",
894
- "typeDescriptions": {
895
- "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
896
- "typeString": "function () pure returns (bytes memory)"
897
- }
898
- },
899
- "id": 2470,
900
- "isConstant": false,
901
- "isLValue": false,
902
- "isPure": false,
903
- "kind": "functionCall",
904
- "lValueRequested": false,
905
- "names": [],
906
- "nodeType": "FunctionCall",
907
- "src": "473:43:10",
908
- "typeDescriptions": {
909
- "typeIdentifier": "t_bytes_memory_ptr",
910
- "typeString": "bytes memory"
911
- }
912
- }
913
- ],
914
- "expression": {
915
- "argumentTypes": [
916
- {
917
- "typeIdentifier": "t_bytes_memory_ptr",
918
- "typeString": "bytes memory"
919
- }
920
- ],
921
- "id": 2464,
922
- "name": "keccak256",
923
- "nodeType": "Identifier",
924
- "overloadedDeclarations": [],
925
- "referencedDeclaration": 9812,
926
- "src": "463:9:10",
927
- "typeDescriptions": {
928
- "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
929
- "typeString": "function (bytes memory) pure returns (bytes32)"
930
- }
931
- },
932
- "id": 2471,
933
- "isConstant": false,
934
- "isLValue": false,
935
- "isPure": false,
936
- "kind": "functionCall",
937
- "lValueRequested": false,
938
- "names": [],
939
- "nodeType": "FunctionCall",
940
- "src": "463:54:10",
941
- "typeDescriptions": {
942
- "typeIdentifier": "t_bytes32",
943
- "typeString": "bytes32"
944
- }
945
- },
946
- "nodeType": "VariableDeclarationStatement",
947
- "src": "448:69:10"
948
- },
949
- {
950
- "externalReferences": [
951
- {
952
- "collateral": {
953
- "declaration": 2453,
954
- "isOffset": false,
955
- "isSlot": false,
956
- "src": "537:10:10",
957
- "valueSize": 1
958
- }
959
- },
960
- {
961
- "bytecode": {
962
- "declaration": 2456,
963
- "isOffset": false,
964
- "isSlot": false,
965
- "src": "587:8:10",
966
- "valueSize": 1
967
- }
968
- },
969
- {
970
- "bytecode": {
971
- "declaration": 2456,
972
- "isOffset": false,
973
- "isSlot": false,
974
- "src": "566:8:10",
975
- "valueSize": 1
976
- }
977
- },
978
- {
979
- "salt": {
980
- "declaration": 2463,
981
- "isOffset": false,
982
- "isSlot": false,
983
- "src": "598:4:10",
984
- "valueSize": 1
985
- }
986
- }
987
- ],
988
- "id": 2473,
989
- "nodeType": "InlineAssembly",
990
- "operations": "{\n collateral := create2(0, add(bytecode, 32), mload(bytecode), salt)\n}",
991
- "src": "522:86:10"
992
- }
993
- ]
994
- },
995
- "documentation": null,
996
- "id": 2475,
997
- "implemented": true,
998
- "kind": "function",
999
- "modifiers": [],
1000
- "name": "deployCollateral",
1001
- "nodeType": "FunctionDefinition",
1002
- "parameters": {
1003
- "id": 2451,
1004
- "nodeType": "ParameterList",
1005
- "parameters": [
1006
- {
1007
- "constant": false,
1008
- "id": 2450,
1009
- "name": "uniswapV2Pair",
1010
- "nodeType": "VariableDeclaration",
1011
- "scope": 2475,
1012
- "src": "324:21:10",
1013
- "stateVariable": false,
1014
- "storageLocation": "default",
1015
- "typeDescriptions": {
1016
- "typeIdentifier": "t_address",
1017
- "typeString": "address"
1018
- },
1019
- "typeName": {
1020
- "id": 2449,
1021
- "name": "address",
1022
- "nodeType": "ElementaryTypeName",
1023
- "src": "324:7:10",
1024
- "stateMutability": "nonpayable",
1025
- "typeDescriptions": {
1026
- "typeIdentifier": "t_address",
1027
- "typeString": "address"
1028
- }
1029
- },
1030
- "value": null,
1031
- "visibility": "internal"
1032
- }
1033
- ],
1034
- "src": "323:23:10"
1035
- },
1036
- "returnParameters": {
1037
- "id": 2454,
1038
- "nodeType": "ParameterList",
1039
- "parameters": [
1040
- {
1041
- "constant": false,
1042
- "id": 2453,
1043
- "name": "collateral",
1044
- "nodeType": "VariableDeclaration",
1045
- "scope": 2475,
1046
- "src": "365:18:10",
1047
- "stateVariable": false,
1048
- "storageLocation": "default",
1049
- "typeDescriptions": {
1050
- "typeIdentifier": "t_address",
1051
- "typeString": "address"
1052
- },
1053
- "typeName": {
1054
- "id": 2452,
1055
- "name": "address",
1056
- "nodeType": "ElementaryTypeName",
1057
- "src": "365:7:10",
1058
- "stateMutability": "nonpayable",
1059
- "typeDescriptions": {
1060
- "typeIdentifier": "t_address",
1061
- "typeString": "address"
1062
- }
1063
- },
1064
- "value": null,
1065
- "visibility": "internal"
1066
- }
1067
- ],
1068
- "src": "364:20:10"
1069
- },
1070
- "scope": 2476,
1071
- "src": "298:314:10",
1072
- "stateMutability": "nonpayable",
1073
- "superFunction": 5432,
1074
- "visibility": "external"
1075
- }
1076
- ],
1077
- "scope": 2477,
1078
- "src": "231:384:10"
1079
- }
1080
- ],
1081
- "src": "0:615:10"
1082
- },
1083
- "compiler": {
1084
- "name": "solc",
1085
- "version": "0.5.16+commit.9c3226ce.Emscripten.clang"
1086
- },
1087
- "networks": {
1088
- "3": {
1089
- "events": {},
1090
- "links": {},
1091
- "address": "0x7F90cf70e904a8C6443E0dA5181C5cD6EaBd6CB1",
1092
- "transactionHash": "0xee0b9a1f091fd32045b330e53dca8c0a9dd60af9254a75d6dabdaa3425e6d6d4"
1093
- }
1094
- },
1095
- "schemaVersion": "3.3.2",
1096
- "updatedAt": "2021-01-09T21:19:45.620Z",
1097
- "networkType": "ethereum",
1098
- "devdoc": {
1099
- "methods": {}
1100
- },
1101
- "userdoc": {
1102
- "methods": {}
1103
- }
1104
- }