@gooddollar/goodprotocol 2.0.7-beta.1 → 2.0.7-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/artifacts/abis/BuyGDClone.min.json +1 -0
  2. package/artifacts/abis/BuyGDCloneFactory.min.json +1 -0
  3. package/artifacts/abis/GDFaucet.min.json +1 -0
  4. package/artifacts/abis/ISwapRouter.min.json +1 -0
  5. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  6. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  7. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  8. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  9. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  10. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  11. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  12. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  13. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  14. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  15. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  16. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  17. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  18. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  19. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  20. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  21. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  22. package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +1 -1
  23. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  24. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +1 -1
  25. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  26. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  27. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  28. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  29. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  30. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  31. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  32. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  33. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  34. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +1 -1
  35. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  36. package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.dbg.json +1 -1
  37. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  38. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  39. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  40. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +1 -1
  41. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +1 -1
  42. package/artifacts/contracts/governance/GoodDollarStaking.sol/IStakingUpgrade.dbg.json +1 -1
  43. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +1 -1
  44. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  45. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  46. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  47. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  48. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +2 -2
  49. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +1 -1
  50. package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.dbg.json +1 -1
  51. package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.json +2 -2
  52. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  53. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +1 -1
  54. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.json +2 -2
  55. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  56. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
  57. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
  58. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
  59. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  60. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
  61. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  62. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +1 -1
  63. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
  64. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.json +2 -2
  65. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
  66. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.json +2 -2
  67. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
  68. package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.dbg.json +1 -1
  69. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
  70. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  71. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +2 -2
  72. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +1 -1
  73. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  74. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +2 -2
  75. package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.dbg.json +1 -1
  76. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  77. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  78. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +1 -1
  79. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +1 -1
  80. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +1 -1
  81. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  82. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  83. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
  84. package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.dbg.json +1 -1
  85. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  86. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +1 -1
  87. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  88. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  89. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  90. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  91. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  92. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  93. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  94. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  95. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  96. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  97. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  98. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  99. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  100. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  101. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
  102. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.json +2 -2
  103. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  104. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +2 -2
  105. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  106. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  107. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  108. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.json +2 -2
  109. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  110. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  111. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  112. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +2 -2
  113. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
  114. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
  115. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  116. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  117. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +2 -2
  118. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  119. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  120. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  121. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  122. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +2 -2
  123. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  124. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +2 -2
  125. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  126. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.json +2 -2
  127. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  128. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +2 -2
  129. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  130. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +2 -2
  131. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  132. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.json +2 -2
  133. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
  134. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
  135. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +1 -1
  136. package/artifacts/contracts/token/ERC677.sol/ERC677.dbg.json +1 -1
  137. package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.dbg.json +1 -1
  138. package/artifacts/contracts/token/FeesFormula.sol/IFeesFormula.dbg.json +1 -1
  139. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.dbg.json +1 -1
  140. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.dbg.json +1 -1
  141. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.dbg.json +1 -1
  142. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.dbg.json +1 -1
  143. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.dbg.json +1 -1
  144. package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +1 -1
  145. package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +1 -1
  146. package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.dbg.json +1 -1
  147. package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.dbg.json +1 -1
  148. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.dbg.json +1 -1
  149. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.dbg.json +1 -1
  150. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.dbg.json +1 -1
  151. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  152. package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.dbg.json +1 -1
  153. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  154. package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.dbg.json +1 -1
  155. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  156. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  157. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.json +2 -2
  158. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +1 -1
  159. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.json +2 -2
  160. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.dbg.json +4 -0
  161. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.json +206 -0
  162. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.dbg.json +4 -0
  163. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.json +80 -0
  164. package/artifacts/contracts/utils/BuyGDClone.sol/ISwapRouter.dbg.json +4 -0
  165. package/artifacts/contracts/utils/BuyGDClone.sol/ISwapRouter.json +205 -0
  166. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  167. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  168. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  169. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  170. package/artifacts/contracts/utils/GDFaucet.sol/GDFaucet.dbg.json +4 -0
  171. package/artifacts/contracts/utils/GDFaucet.sol/GDFaucet.json +125 -0
  172. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
  173. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
  174. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
  175. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
  176. package/artifacts/contracts/utils/IdentityFix.sol/IdentityFix.dbg.json +1 -1
  177. package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
  178. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
  179. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  180. package/artifacts/contracts/utils/OneTimePayments.sol/OneTimePayments.dbg.json +1 -1
  181. package/artifacts/contracts/utils/OneTimePaymentsV2.sol/OneTimePaymentsV2.dbg.json +1 -1
  182. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  183. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  184. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  185. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  186. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  187. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  188. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  189. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  190. package/contracts/invite/InvitesFuseV2.sol +5 -3
  191. package/contracts/invite/InvitesV2.sol +5 -3
  192. package/contracts/reserve/DistributionHelper.sol +12 -9
  193. package/contracts/utils/BuyGDClone.sol +171 -0
  194. package/contracts/utils/GDFaucet.sol +28 -0
  195. package/hardhat.config.ts +10 -1
  196. package/package.json +1 -1
  197. package/releases/deployment.json +9 -4
  198. package/scripts/multichain-deploy/6_testnetFaucet.ts +85 -0
  199. package/scripts/multichain-deploy/helpers.ts +1 -1
  200. package/scripts/upgrades/multichain-temp-fix.ts +126 -0
  201. package/truffle-config.js +8 -0
  202. package/types/BuyGDClone.ts +277 -0
  203. package/types/BuyGDCloneFactory.ts +143 -0
  204. package/types/GDFaucet.ts +221 -0
  205. package/types/ISwapRouter.ts +298 -0
  206. package/types/factories/AaveStakingFactory__factory.ts +1 -1
  207. package/types/factories/BuyAndBridgeHelper__factory.ts +1 -1
  208. package/types/factories/BuyGDCloneFactory__factory.ts +142 -0
  209. package/types/factories/BuyGDClone__factory.ts +265 -0
  210. package/types/factories/CompoundStakingFactory__factory.ts +1 -1
  211. package/types/factories/DistributionHelperTestHelper__factory.ts +1 -1
  212. package/types/factories/DistributionHelperTest__factory.ts +1 -1
  213. package/types/factories/DistributionHelper__factory.ts +1 -1
  214. package/types/factories/DonationsStaking__factory.ts +1 -1
  215. package/types/factories/ExchangeHelper__factory.ts +1 -1
  216. package/types/factories/GDFaucet__factory.ts +188 -0
  217. package/types/factories/GoodAaveStakingV2__factory.ts +1 -1
  218. package/types/factories/GoodAaveStaking__factory.ts +1 -1
  219. package/types/factories/GoodCompoundStakingTest__factory.ts +1 -1
  220. package/types/factories/GoodCompoundStakingV2__factory.ts +1 -1
  221. package/types/factories/GoodCompoundStaking__factory.ts +1 -1
  222. package/types/factories/GoodFundManagerTest__factory.ts +1 -1
  223. package/types/factories/GoodFundManager__factory.ts +1 -1
  224. package/types/factories/GoodReserveCDai__factory.ts +1 -1
  225. package/types/factories/ISwapRouter__factory.ts +217 -0
  226. package/types/factories/InvitesFuseV2__factory.ts +1 -1
  227. package/types/factories/InvitesV2__factory.ts +1 -1
  228. package/types/factories/OverMintTesterRegularStake__factory.ts +1 -1
  229. package/types/factories/StakersDistribution__factory.ts +1 -1
  230. package/types/hardhat.d.ts +36 -0
  231. package/types/index.ts +8 -0
@@ -706,8 +706,8 @@
706
706
  "type": "function"
707
707
  }
708
708
  ],
709
- "bytecode": "0x60a06040523060805234801561001457600080fd5b5060805161254461004c6000396000818161070501528181610745015281816107cd0152818161080d015261088501526125446000f3fe6080604052600436106101315760003560e01c806301ffc9a714610136578063187808201461016b5780631b3c90a8146101b85780631e599ff7146101cd578063248a9ca3146101fb5780632f2ff15d14610229578063346ef41b1461024957806336568abe146102795780633659cfe6146102995780633e6326fc146102b95780634162169f146102d95780634181d43e146102f95780634f1ef2861461031a57806352d1902d1461032d5780635aef7de61461034257806386d97a1a146103625780639010d07c1461038257806391d14854146103a2578063a217fddf146103c2578063a8ba3890146103d7578063c4b1b1a6146103f7578063c4d66de814610418578063ca15c87314610438578063d547741f14610458578063e1758bd814610478578063e26db6fc1461048d575b600080fd5b34801561014257600080fd5b50610156610151366004611e06565b6104a2565b60405190151581526020015b60405180910390f35b34801561017757600080fd5b506101b6610186366004611e45565b61016380546001600160a01b039384166001600160a01b0319918216179091556101648054929093169116179055565b005b3480156101c457600080fd5b506101b66104cd565b3480156101d957600080fd5b50610163546101ee906001600160a01b031681565b6040516101629190611e7e565b34801561020757600080fd5b5061021b610216366004611e92565b6105f4565b604051908152602001610162565b34801561023557600080fd5b506101b6610244366004611eab565b610609565b34801561025557600080fd5b50610269610264366004611e92565b61062a565b6040516101629493929190611f08565b34801561028557600080fd5b506101b6610294366004611eab565b610678565b3480156102a557600080fd5b506101b66102b4366004611f39565b6106fb565b3480156102c557600080fd5b506067546101ee906001600160a01b031681565b3480156102e557600080fd5b506065546101ee906001600160a01b031681565b34801561030557600080fd5b50610164546101ee906001600160a01b031681565b6101b6610328366004611f9c565b6107c3565b34801561033957600080fd5b5061021b610878565b34801561034e57600080fd5b506066546101ee906001600160a01b031681565b34801561036e57600080fd5b506101b661037d36600461205c565b610926565b34801561038e57600080fd5b506101ee61039d3660046120e0565b610b99565b3480156103ae57600080fd5b506101566103bd366004611eab565b610bb9565b3480156103ce57600080fd5b5061021b600081565b3480156103e357600080fd5b506101b66103f2366004611e92565b610be4565b34801561040357600080fd5b50610165546101ee906001600160a01b031681565b34801561042457600080fd5b506101b6610433366004611f39565b610d36565b34801561044457600080fd5b5061021b610453366004611e92565b610e77565b34801561046457600080fd5b506101b6610473366004611eab565b610e8f565b34801561048457600080fd5b506101ee610eab565b34801561049957600080fd5b506101b6610f38565b60006001600160e01b03198216635a05180f60e01b14806104c757506104c782611132565b92915050565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac190606401602060405180830381865afa158015610530573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105549190612102565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de6916004808201926020929091908290030181865afa1580156105ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d29190612102565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b600090815260fe602052604090206001015490565b610612826105f4565b61061b81611167565b6106258383611171565b505050565b610162818154811061063b57600080fd5b60009182526020909120015463ffffffff8082169250600160201b82041690600160401b81046001600160a01b031690600160e01b900460ff1684565b6001600160a01b03811633146106ed5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6106f78282611194565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107435760405162461bcd60e51b81526004016106e49061211f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107756111b7565b6001600160a01b03161461079b5760405162461bcd60e51b81526004016106e490612159565b6107a4816111d3565b604080516000808252602082019092526107c0918391906111db565b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361080b5760405162461bcd60e51b81526004016106e49061211f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661083d6111b7565b6001600160a01b0316146108635760405162461bcd60e51b81526004016106e490612159565b61086c826111d3565b6106f7828260016111db565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109135760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016106e4565b506000805160206124c883398151915290565b600061093181611167565b60005b61016254811015610a8a5782604001516001600160a01b0316610162828154811061096157610961612193565b600091825260209091200154600160401b90046001600160a01b031603610a785782610162828154811061099757610997612193565b60009182526020918290208351910180549284015160408501516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff928316600160201b026001600160401b031990961692909416919091179390931791821683178155606084015190929091839160ff60e01b1916600160401b600160e81b031990911617600160e01b836002811115610a3257610a32611ed0565b02179055509050507fd26d9de175cfca2c3e0cad9d09c85f0ce6c7fa5257382d00dc26dc5fb25cd8df8382604051610a6b9291906121a9565b60405180910390a1505050565b80610a8281612210565b915050610934565b50610162546040517f2e65f65347b2e76218df0b7b6b594a3862c81e85706795e700237093c47a395791610ac0918591906121a9565b60405180910390a1610162805460018101825560009190915282517f29af0939a5988989bfee913a9ad10b9335cb63ebc9fd2b69e5f877d0455ac9199091018054602085015160408601516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff928316600160201b026001600160401b031990941692909516919091179190911792831681178255606085015185939091839160ff60e01b19909116600160401b600160e81b031990911617600160e01b836002811115610b8e57610b8e611ed0565b021790555050505050565b600082815261013060205260408120610bb29083611346565b9392505050565b600091825260fe602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000610bee610eab565b6001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610c199190611e7e565b602060405180830381865afa158015610c36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5a9190612229565b905080600003610c68575050565b6000805b61016254811015610cfe5760006101628281548110610c8d57610c8d612193565b6000918252602090912001805490915063ffffffff1615610ceb57805460009061271090610cc19063ffffffff1687612242565b610ccb9190612261565b9050610cd78185612283565b93508015610ce957610ce98282611352565b505b5080610cf681612210565b915050610c6c565b507f1a1e3e6e1822c78a68db5a0be6136fecf7718cccae9f6b92d2115aa0ffc9213f818385610162604051610a6b9493929190612296565b600054610100900460ff1615808015610d565750600054600160ff909116105b80610d775750610d65306115d2565b158015610d77575060005460ff166001145b610dda5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016106e4565b6000805460ff191660011790558015610dfd576000805461ff0019166101001790555b610e056115e1565b610e0e8261164e565b606654610e26906000906001600160a01b0316611671565b610e2e610f38565b80156106f7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000818152610130602052604081206104c79061167b565b610e98826105f4565b610ea181611167565b6106258383611194565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac190606401602060405180830381865afa158015610f0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f339190612102565b905090565b60675460405163bf40fac160e01b815260206004820152600f60248201526e1094925111d157d0d3d395149050d5608a1b60448201526001600160a01b039091169063bf40fac190606401602060405180830381865afa158015610fa0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc49190612102565b61016380546001600160a01b0319166001600160a01b0392831617905560675460405163bf40fac160e01b815260206004820152601160248201527026aaa62a24a1a420a4a72fa927aaaa22a960791b604482015291169063bf40fac190606401602060405180830381865afa158015611042573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110669190612102565b61016480546001600160a01b0319166001600160a01b0392831617905560675460405163bf40fac160e01b815260206004820152601860248201527726aaa62a24a1a420a4a72fa0a72ca3a7a7a22227a62620a960411b604482015291169063bf40fac190606401602060405180830381865afa1580156110eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110f9190612102565b61016580546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160e01b03198216637965db0b60e01b14806104c757506301ffc9a760e01b6001600160e01b03198316146104c7565b6107c08133611685565b61117b82826116de565b6000828152610130602052604090206106259082611764565b61119e8282611779565b60008281526101306020526040902061062590826117e0565b6000805160206124c8833981519152546001600160a01b031690565b6107c06117f5565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561120e57610625836118b8565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611268575060408051601f3d908101601f1916820190925261126591810190612229565b60015b6112cb5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016106e4565b6000805160206124c8833981519152811461133a5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016106e4565b50610625838383611952565b6000610bb2838361197d565b60008254600160e01b900460ff16600281111561137157611371611ed0565b036114255761137e610eab565b61016354835460408051600160401b90920460601b6001600160601b0319166020830152805180830360140181526034830191829052630200057560e51b9091526001600160a01b0393841693634000aea0936113e2939116918691603801612380565b6020604051808303816000875af1158015611401573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062591906123a7565b60018254600160e01b900460ff16600281111561144457611444611ed0565b0361155a57611451610eab565b6101645460405163095ea7b360e01b81526001600160a01b0391821660048201526024810184905291169063095ea7b3906044016020604051808303816000875af11580156114a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c891906123a7565b50610164546101655483546040516376defaf160e11b81526001600160a01b039283166004820152600160401b82048316602482015260448101859052600160201b90910463ffffffff16606482015291169063edbdf5e290608401600060405180830381600087803b15801561153e57600080fd5b505af1158015611552573d6000803e3d6000fd5b505050505050565b60028254600160e01b900460ff16600281111561157957611579611ed0565b036106f757611586610eab565b8254604051630200057560e51b81526001600160a01b03600160401b90920482166004820152602481018490526060604482015260006064820152911690634000aea0906084016113e2565b6001600160a01b03163b151590565b600054610100900460ff1661164c5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106e4565b565b606780546001600160a01b0319166001600160a01b0383161790556107c06104cd565b6106f78282611171565b60006104c7825490565b61168f8282610bb9565b6106f75761169c816119a7565b6116a78360206119b9565b6040516020016116b89291906123c9565b60408051601f198184030181529082905262461bcd60e51b82526106e491600401612438565b6116e88282610bb9565b6106f757600082815260fe602090815260408083206001600160a01b03851684529091529020805460ff191660011790556117203390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610bb2836001600160a01b038416611b54565b6117838282610bb9565b156106f757600082815260fe602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610bb2836001600160a01b038416611ba3565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de69160048083019260209291908290030181865afa15801561183e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118629190612102565b6001600160a01b03161461164c5760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f6460448201526064016106e4565b6118c1816115d2565b6119235760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016106e4565b6000805160206124c883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61195b83611c96565b6000825111806119685750805b15610625576119778383611cd6565b50505050565b600082600001828154811061199457611994612193565b9060005260206000200154905092915050565b60606104c76001600160a01b03831660145b606060006119c8836002612242565b6119d3906002612283565b6001600160401b038111156119ea576119ea611f56565b6040519080825280601f01601f191660200182016040528015611a14576020820181803683370190505b509050600360fc1b81600081518110611a2f57611a2f612193565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611a5e57611a5e612193565b60200101906001600160f81b031916908160001a9053506000611a82846002612242565b611a8d906001612283565b90505b6001811115611b05576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611ac157611ac1612193565b1a60f81b828281518110611ad757611ad7612193565b60200101906001600160f81b031916908160001a90535060049490941c93611afe8161244b565b9050611a90565b508315610bb25760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106e4565b6000818152600183016020526040812054611b9b575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104c7565b5060006104c7565b60008181526001830160205260408120548015611c8c576000611bc7600183612462565b8554909150600090611bdb90600190612462565b9050818114611c40576000866000018281548110611bfb57611bfb612193565b9060005260206000200154905080876000018481548110611c1e57611c1e612193565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611c5157611c51612475565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506104c7565b60009150506104c7565b611c9f816118b8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060611ce1836115d2565b611d3c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016106e4565b600080846001600160a01b031684604051611d57919061248b565b600060405180830381855af49150503d8060008114611d92576040519150601f19603f3d011682016040523d82523d6000602084013e611d97565b606091505b5091509150611dbf82826040518060600160405280602781526020016124e860279139611dc8565b95945050505050565b60608315611dd7575081610bb2565b610bb28383815115611dec5781518083602001fd5b8060405162461bcd60e51b81526004016106e49190612438565b600060208284031215611e1857600080fd5b81356001600160e01b031981168114610bb257600080fd5b6001600160a01b03811681146107c057600080fd5b60008060408385031215611e5857600080fd5b8235611e6381611e30565b91506020830135611e7381611e30565b809150509250929050565b6001600160a01b0391909116815260200190565b600060208284031215611ea457600080fd5b5035919050565b60008060408385031215611ebe57600080fd5b823591506020830135611e7381611e30565b634e487b7160e01b600052602160045260246000fd5b60038110611f0457634e487b7160e01b600052602160045260246000fd5b9052565b63ffffffff8581168252841660208201526001600160a01b038316604082015260808101611dbf6060830184611ee6565b600060208284031215611f4b57600080fd5b8135610bb281611e30565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611f9457611f94611f56565b604052919050565b60008060408385031215611faf57600080fd5b8235611fba81611e30565b91506020838101356001600160401b0380821115611fd757600080fd5b818601915086601f830112611feb57600080fd5b813581811115611ffd57611ffd611f56565b61200f601f8201601f19168501611f6c565b9150808252878482850101111561202557600080fd5b80848401858401376000848284010152508093505050509250929050565b803563ffffffff8116811461205757600080fd5b919050565b60006080828403121561206e57600080fd5b604051608081016001600160401b038111828210171561209057612090611f56565b60405261209c83612043565b81526120aa60208401612043565b602082015260408301356120bd81611e30565b60408201526060830135600381106120d457600080fd5b60608201529392505050565b600080604083850312156120f357600080fd5b50508035926020909101359150565b60006020828403121561211457600080fd5b8151610bb281611e30565b6020808252602c908201526000805160206124a883398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206124a883398151915260408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b825163ffffffff9081168252602080850151909116908201526040808401516001600160a01b03169082015260608084015160a08301916121ec90840182611ee6565b508260808301529392505050565b634e487b7160e01b600052601160045260246000fd5b600060018201612222576122226121fa565b5060010190565b60006020828403121561223b57600080fd5b5051919050565b600081600019048311821515161561225c5761225c6121fa565b500290565b60008261227e57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156104c7576104c76121fa565b6000608080830187845260208781860152604087818701526060848188015283885480865260a0890191508960005284600020955060005b8181101561231e57865463ffffffff808216855281881c168785015280861c6001600160a01b03168685015261230d85850160e083901c60ff16611ee6565b5060019687019692880192016122ce565b50909c9b505050505050505050505050565b60005b8381101561234b578181015183820152602001612333565b50506000910152565b6000815180845261236c816020860160208601612330565b601f01601f19169290920160200192915050565b60018060a01b0384168152826020820152606060408201526000611dbf6060830184612354565b6000602082840312156123b957600080fd5b81518015158114610bb257600080fd5b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516123fb816017850160208801612330565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161242c816028840160208801612330565b01602801949350505050565b602081526000610bb26020830184612354565b60008161245a5761245a6121fa565b506000190190565b818103818111156104c7576104c76121fa565b634e487b7160e01b600052603160045260246000fd5b6000825161249d818460208701612330565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122009d8ab2701b2eebaf64e70aec8f46809392ee32a27226ec670fc8cd911bf8e4464736f6c63430008100033",
710
- "deployedBytecode": "0x6080604052600436106101315760003560e01c806301ffc9a714610136578063187808201461016b5780631b3c90a8146101b85780631e599ff7146101cd578063248a9ca3146101fb5780632f2ff15d14610229578063346ef41b1461024957806336568abe146102795780633659cfe6146102995780633e6326fc146102b95780634162169f146102d95780634181d43e146102f95780634f1ef2861461031a57806352d1902d1461032d5780635aef7de61461034257806386d97a1a146103625780639010d07c1461038257806391d14854146103a2578063a217fddf146103c2578063a8ba3890146103d7578063c4b1b1a6146103f7578063c4d66de814610418578063ca15c87314610438578063d547741f14610458578063e1758bd814610478578063e26db6fc1461048d575b600080fd5b34801561014257600080fd5b50610156610151366004611e06565b6104a2565b60405190151581526020015b60405180910390f35b34801561017757600080fd5b506101b6610186366004611e45565b61016380546001600160a01b039384166001600160a01b0319918216179091556101648054929093169116179055565b005b3480156101c457600080fd5b506101b66104cd565b3480156101d957600080fd5b50610163546101ee906001600160a01b031681565b6040516101629190611e7e565b34801561020757600080fd5b5061021b610216366004611e92565b6105f4565b604051908152602001610162565b34801561023557600080fd5b506101b6610244366004611eab565b610609565b34801561025557600080fd5b50610269610264366004611e92565b61062a565b6040516101629493929190611f08565b34801561028557600080fd5b506101b6610294366004611eab565b610678565b3480156102a557600080fd5b506101b66102b4366004611f39565b6106fb565b3480156102c557600080fd5b506067546101ee906001600160a01b031681565b3480156102e557600080fd5b506065546101ee906001600160a01b031681565b34801561030557600080fd5b50610164546101ee906001600160a01b031681565b6101b6610328366004611f9c565b6107c3565b34801561033957600080fd5b5061021b610878565b34801561034e57600080fd5b506066546101ee906001600160a01b031681565b34801561036e57600080fd5b506101b661037d36600461205c565b610926565b34801561038e57600080fd5b506101ee61039d3660046120e0565b610b99565b3480156103ae57600080fd5b506101566103bd366004611eab565b610bb9565b3480156103ce57600080fd5b5061021b600081565b3480156103e357600080fd5b506101b66103f2366004611e92565b610be4565b34801561040357600080fd5b50610165546101ee906001600160a01b031681565b34801561042457600080fd5b506101b6610433366004611f39565b610d36565b34801561044457600080fd5b5061021b610453366004611e92565b610e77565b34801561046457600080fd5b506101b6610473366004611eab565b610e8f565b34801561048457600080fd5b506101ee610eab565b34801561049957600080fd5b506101b6610f38565b60006001600160e01b03198216635a05180f60e01b14806104c757506104c782611132565b92915050565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac190606401602060405180830381865afa158015610530573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105549190612102565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de6916004808201926020929091908290030181865afa1580156105ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d29190612102565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b600090815260fe602052604090206001015490565b610612826105f4565b61061b81611167565b6106258383611171565b505050565b610162818154811061063b57600080fd5b60009182526020909120015463ffffffff8082169250600160201b82041690600160401b81046001600160a01b031690600160e01b900460ff1684565b6001600160a01b03811633146106ed5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6106f78282611194565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107435760405162461bcd60e51b81526004016106e49061211f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107756111b7565b6001600160a01b03161461079b5760405162461bcd60e51b81526004016106e490612159565b6107a4816111d3565b604080516000808252602082019092526107c0918391906111db565b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361080b5760405162461bcd60e51b81526004016106e49061211f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661083d6111b7565b6001600160a01b0316146108635760405162461bcd60e51b81526004016106e490612159565b61086c826111d3565b6106f7828260016111db565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109135760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016106e4565b506000805160206124c883398151915290565b600061093181611167565b60005b61016254811015610a8a5782604001516001600160a01b0316610162828154811061096157610961612193565b600091825260209091200154600160401b90046001600160a01b031603610a785782610162828154811061099757610997612193565b60009182526020918290208351910180549284015160408501516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff928316600160201b026001600160401b031990961692909416919091179390931791821683178155606084015190929091839160ff60e01b1916600160401b600160e81b031990911617600160e01b836002811115610a3257610a32611ed0565b02179055509050507fd26d9de175cfca2c3e0cad9d09c85f0ce6c7fa5257382d00dc26dc5fb25cd8df8382604051610a6b9291906121a9565b60405180910390a1505050565b80610a8281612210565b915050610934565b50610162546040517f2e65f65347b2e76218df0b7b6b594a3862c81e85706795e700237093c47a395791610ac0918591906121a9565b60405180910390a1610162805460018101825560009190915282517f29af0939a5988989bfee913a9ad10b9335cb63ebc9fd2b69e5f877d0455ac9199091018054602085015160408601516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff928316600160201b026001600160401b031990941692909516919091179190911792831681178255606085015185939091839160ff60e01b19909116600160401b600160e81b031990911617600160e01b836002811115610b8e57610b8e611ed0565b021790555050505050565b600082815261013060205260408120610bb29083611346565b9392505050565b600091825260fe602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000610bee610eab565b6001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610c199190611e7e565b602060405180830381865afa158015610c36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5a9190612229565b905080600003610c68575050565b6000805b61016254811015610cfe5760006101628281548110610c8d57610c8d612193565b6000918252602090912001805490915063ffffffff1615610ceb57805460009061271090610cc19063ffffffff1687612242565b610ccb9190612261565b9050610cd78185612283565b93508015610ce957610ce98282611352565b505b5080610cf681612210565b915050610c6c565b507f1a1e3e6e1822c78a68db5a0be6136fecf7718cccae9f6b92d2115aa0ffc9213f818385610162604051610a6b9493929190612296565b600054610100900460ff1615808015610d565750600054600160ff909116105b80610d775750610d65306115d2565b158015610d77575060005460ff166001145b610dda5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016106e4565b6000805460ff191660011790558015610dfd576000805461ff0019166101001790555b610e056115e1565b610e0e8261164e565b606654610e26906000906001600160a01b0316611671565b610e2e610f38565b80156106f7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000818152610130602052604081206104c79061167b565b610e98826105f4565b610ea181611167565b6106258383611194565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac190606401602060405180830381865afa158015610f0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f339190612102565b905090565b60675460405163bf40fac160e01b815260206004820152600f60248201526e1094925111d157d0d3d395149050d5608a1b60448201526001600160a01b039091169063bf40fac190606401602060405180830381865afa158015610fa0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc49190612102565b61016380546001600160a01b0319166001600160a01b0392831617905560675460405163bf40fac160e01b815260206004820152601160248201527026aaa62a24a1a420a4a72fa927aaaa22a960791b604482015291169063bf40fac190606401602060405180830381865afa158015611042573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110669190612102565b61016480546001600160a01b0319166001600160a01b0392831617905560675460405163bf40fac160e01b815260206004820152601860248201527726aaa62a24a1a420a4a72fa0a72ca3a7a7a22227a62620a960411b604482015291169063bf40fac190606401602060405180830381865afa1580156110eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110f9190612102565b61016580546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160e01b03198216637965db0b60e01b14806104c757506301ffc9a760e01b6001600160e01b03198316146104c7565b6107c08133611685565b61117b82826116de565b6000828152610130602052604090206106259082611764565b61119e8282611779565b60008281526101306020526040902061062590826117e0565b6000805160206124c8833981519152546001600160a01b031690565b6107c06117f5565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561120e57610625836118b8565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611268575060408051601f3d908101601f1916820190925261126591810190612229565b60015b6112cb5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016106e4565b6000805160206124c8833981519152811461133a5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016106e4565b50610625838383611952565b6000610bb2838361197d565b60008254600160e01b900460ff16600281111561137157611371611ed0565b036114255761137e610eab565b61016354835460408051600160401b90920460601b6001600160601b0319166020830152805180830360140181526034830191829052630200057560e51b9091526001600160a01b0393841693634000aea0936113e2939116918691603801612380565b6020604051808303816000875af1158015611401573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062591906123a7565b60018254600160e01b900460ff16600281111561144457611444611ed0565b0361155a57611451610eab565b6101645460405163095ea7b360e01b81526001600160a01b0391821660048201526024810184905291169063095ea7b3906044016020604051808303816000875af11580156114a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c891906123a7565b50610164546101655483546040516376defaf160e11b81526001600160a01b039283166004820152600160401b82048316602482015260448101859052600160201b90910463ffffffff16606482015291169063edbdf5e290608401600060405180830381600087803b15801561153e57600080fd5b505af1158015611552573d6000803e3d6000fd5b505050505050565b60028254600160e01b900460ff16600281111561157957611579611ed0565b036106f757611586610eab565b8254604051630200057560e51b81526001600160a01b03600160401b90920482166004820152602481018490526060604482015260006064820152911690634000aea0906084016113e2565b6001600160a01b03163b151590565b600054610100900460ff1661164c5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106e4565b565b606780546001600160a01b0319166001600160a01b0383161790556107c06104cd565b6106f78282611171565b60006104c7825490565b61168f8282610bb9565b6106f75761169c816119a7565b6116a78360206119b9565b6040516020016116b89291906123c9565b60408051601f198184030181529082905262461bcd60e51b82526106e491600401612438565b6116e88282610bb9565b6106f757600082815260fe602090815260408083206001600160a01b03851684529091529020805460ff191660011790556117203390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610bb2836001600160a01b038416611b54565b6117838282610bb9565b156106f757600082815260fe602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610bb2836001600160a01b038416611ba3565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de69160048083019260209291908290030181865afa15801561183e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118629190612102565b6001600160a01b03161461164c5760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f6460448201526064016106e4565b6118c1816115d2565b6119235760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016106e4565b6000805160206124c883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61195b83611c96565b6000825111806119685750805b15610625576119778383611cd6565b50505050565b600082600001828154811061199457611994612193565b9060005260206000200154905092915050565b60606104c76001600160a01b03831660145b606060006119c8836002612242565b6119d3906002612283565b6001600160401b038111156119ea576119ea611f56565b6040519080825280601f01601f191660200182016040528015611a14576020820181803683370190505b509050600360fc1b81600081518110611a2f57611a2f612193565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611a5e57611a5e612193565b60200101906001600160f81b031916908160001a9053506000611a82846002612242565b611a8d906001612283565b90505b6001811115611b05576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611ac157611ac1612193565b1a60f81b828281518110611ad757611ad7612193565b60200101906001600160f81b031916908160001a90535060049490941c93611afe8161244b565b9050611a90565b508315610bb25760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106e4565b6000818152600183016020526040812054611b9b575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104c7565b5060006104c7565b60008181526001830160205260408120548015611c8c576000611bc7600183612462565b8554909150600090611bdb90600190612462565b9050818114611c40576000866000018281548110611bfb57611bfb612193565b9060005260206000200154905080876000018481548110611c1e57611c1e612193565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611c5157611c51612475565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506104c7565b60009150506104c7565b611c9f816118b8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060611ce1836115d2565b611d3c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016106e4565b600080846001600160a01b031684604051611d57919061248b565b600060405180830381855af49150503d8060008114611d92576040519150601f19603f3d011682016040523d82523d6000602084013e611d97565b606091505b5091509150611dbf82826040518060600160405280602781526020016124e860279139611dc8565b95945050505050565b60608315611dd7575081610bb2565b610bb28383815115611dec5781518083602001fd5b8060405162461bcd60e51b81526004016106e49190612438565b600060208284031215611e1857600080fd5b81356001600160e01b031981168114610bb257600080fd5b6001600160a01b03811681146107c057600080fd5b60008060408385031215611e5857600080fd5b8235611e6381611e30565b91506020830135611e7381611e30565b809150509250929050565b6001600160a01b0391909116815260200190565b600060208284031215611ea457600080fd5b5035919050565b60008060408385031215611ebe57600080fd5b823591506020830135611e7381611e30565b634e487b7160e01b600052602160045260246000fd5b60038110611f0457634e487b7160e01b600052602160045260246000fd5b9052565b63ffffffff8581168252841660208201526001600160a01b038316604082015260808101611dbf6060830184611ee6565b600060208284031215611f4b57600080fd5b8135610bb281611e30565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611f9457611f94611f56565b604052919050565b60008060408385031215611faf57600080fd5b8235611fba81611e30565b91506020838101356001600160401b0380821115611fd757600080fd5b818601915086601f830112611feb57600080fd5b813581811115611ffd57611ffd611f56565b61200f601f8201601f19168501611f6c565b9150808252878482850101111561202557600080fd5b80848401858401376000848284010152508093505050509250929050565b803563ffffffff8116811461205757600080fd5b919050565b60006080828403121561206e57600080fd5b604051608081016001600160401b038111828210171561209057612090611f56565b60405261209c83612043565b81526120aa60208401612043565b602082015260408301356120bd81611e30565b60408201526060830135600381106120d457600080fd5b60608201529392505050565b600080604083850312156120f357600080fd5b50508035926020909101359150565b60006020828403121561211457600080fd5b8151610bb281611e30565b6020808252602c908201526000805160206124a883398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206124a883398151915260408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b825163ffffffff9081168252602080850151909116908201526040808401516001600160a01b03169082015260608084015160a08301916121ec90840182611ee6565b508260808301529392505050565b634e487b7160e01b600052601160045260246000fd5b600060018201612222576122226121fa565b5060010190565b60006020828403121561223b57600080fd5b5051919050565b600081600019048311821515161561225c5761225c6121fa565b500290565b60008261227e57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156104c7576104c76121fa565b6000608080830187845260208781860152604087818701526060848188015283885480865260a0890191508960005284600020955060005b8181101561231e57865463ffffffff808216855281881c168785015280861c6001600160a01b03168685015261230d85850160e083901c60ff16611ee6565b5060019687019692880192016122ce565b50909c9b505050505050505050505050565b60005b8381101561234b578181015183820152602001612333565b50506000910152565b6000815180845261236c816020860160208601612330565b601f01601f19169290920160200192915050565b60018060a01b0384168152826020820152606060408201526000611dbf6060830184612354565b6000602082840312156123b957600080fd5b81518015158114610bb257600080fd5b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516123fb816017850160208801612330565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161242c816028840160208801612330565b01602801949350505050565b602081526000610bb26020830184612354565b60008161245a5761245a6121fa565b506000190190565b818103818111156104c7576104c76121fa565b634e487b7160e01b600052603160045260246000fd5b6000825161249d818460208701612330565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122009d8ab2701b2eebaf64e70aec8f46809392ee32a27226ec670fc8cd911bf8e4464736f6c63430008100033",
709
+ "bytecode": "0x60a06040523060805234801561001457600080fd5b506080516125c461004c6000396000818161070501528181610745015281816107cd0152818161080d015261088501526125c46000f3fe6080604052600436106101315760003560e01c806301ffc9a714610136578063187808201461016b5780631b3c90a8146101b85780631e599ff7146101cd578063248a9ca3146101fb5780632f2ff15d14610229578063346ef41b1461024957806336568abe146102795780633659cfe6146102995780633e6326fc146102b95780634162169f146102d95780634181d43e146102f95780634f1ef2861461031a57806352d1902d1461032d5780635aef7de61461034257806386d97a1a146103625780639010d07c1461038257806391d14854146103a2578063a217fddf146103c2578063a8ba3890146103d7578063c4b1b1a6146103f7578063c4d66de814610418578063ca15c87314610438578063d547741f14610458578063e1758bd814610478578063e26db6fc1461048d575b600080fd5b34801561014257600080fd5b50610156610151366004611e6d565b6104a2565b60405190151581526020015b60405180910390f35b34801561017757600080fd5b506101b6610186366004611eac565b61016380546001600160a01b039384166001600160a01b0319918216179091556101648054929093169116179055565b005b3480156101c457600080fd5b506101b66104cd565b3480156101d957600080fd5b50610163546101ee906001600160a01b031681565b6040516101629190611ee5565b34801561020757600080fd5b5061021b610216366004611ef9565b6105f4565b604051908152602001610162565b34801561023557600080fd5b506101b6610244366004611f12565b610609565b34801561025557600080fd5b50610269610264366004611ef9565b61062a565b6040516101629493929190611f6f565b34801561028557600080fd5b506101b6610294366004611f12565b610678565b3480156102a557600080fd5b506101b66102b4366004611fa0565b6106fb565b3480156102c557600080fd5b506067546101ee906001600160a01b031681565b3480156102e557600080fd5b506065546101ee906001600160a01b031681565b34801561030557600080fd5b50610164546101ee906001600160a01b031681565b6101b6610328366004612003565b6107c3565b34801561033957600080fd5b5061021b610878565b34801561034e57600080fd5b506066546101ee906001600160a01b031681565b34801561036e57600080fd5b506101b661037d3660046120c3565b610926565b34801561038e57600080fd5b506101ee61039d366004612147565b610b99565b3480156103ae57600080fd5b506101566103bd366004611f12565b610bb9565b3480156103ce57600080fd5b5061021b600081565b3480156103e357600080fd5b506101b66103f2366004611ef9565b610be4565b34801561040357600080fd5b50610165546101ee906001600160a01b031681565b34801561042457600080fd5b506101b6610433366004611fa0565b610d36565b34801561044457600080fd5b5061021b610453366004611ef9565b610e77565b34801561046457600080fd5b506101b6610473366004611f12565b610e8f565b34801561048457600080fd5b506101ee610eab565b34801561049957600080fd5b506101b6610f38565b60006001600160e01b03198216635a05180f60e01b14806104c757506104c782611132565b92915050565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac190606401602060405180830381865afa158015610530573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105549190612169565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de6916004808201926020929091908290030181865afa1580156105ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d29190612169565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b600090815260fe602052604090206001015490565b610612826105f4565b61061b81611167565b6106258383611171565b505050565b610162818154811061063b57600080fd5b60009182526020909120015463ffffffff8082169250600160201b82041690600160401b81046001600160a01b031690600160e01b900460ff1684565b6001600160a01b03811633146106ed5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6106f78282611194565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107435760405162461bcd60e51b81526004016106e490612186565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107756111b7565b6001600160a01b03161461079b5760405162461bcd60e51b81526004016106e4906121c0565b6107a4816111d3565b604080516000808252602082019092526107c0918391906111db565b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361080b5760405162461bcd60e51b81526004016106e490612186565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661083d6111b7565b6001600160a01b0316146108635760405162461bcd60e51b81526004016106e4906121c0565b61086c826111d3565b6106f7828260016111db565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109135760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016106e4565b5060008051602061254883398151915290565b600061093181611167565b60005b61016254811015610a8a5782604001516001600160a01b03166101628281548110610961576109616121fa565b600091825260209091200154600160401b90046001600160a01b031603610a7857826101628281548110610997576109976121fa565b60009182526020918290208351910180549284015160408501516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff928316600160201b026001600160401b031990961692909416919091179390931791821683178155606084015190929091839160ff60e01b1916600160401b600160e81b031990911617600160e01b836003811115610a3257610a32611f37565b02179055509050507fd26d9de175cfca2c3e0cad9d09c85f0ce6c7fa5257382d00dc26dc5fb25cd8df8382604051610a6b929190612210565b60405180910390a1505050565b80610a8281612277565b915050610934565b50610162546040517f2e65f65347b2e76218df0b7b6b594a3862c81e85706795e700237093c47a395791610ac091859190612210565b60405180910390a1610162805460018101825560009190915282517f29af0939a5988989bfee913a9ad10b9335cb63ebc9fd2b69e5f877d0455ac9199091018054602085015160408601516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff928316600160201b026001600160401b031990941692909516919091179190911792831681178255606085015185939091839160ff60e01b19909116600160401b600160e81b031990911617600160e01b836003811115610b8e57610b8e611f37565b021790555050505050565b600082815261013060205260408120610bb29083611346565b9392505050565b600091825260fe602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000610bee610eab565b6001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610c199190611ee5565b602060405180830381865afa158015610c36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5a9190612290565b905080600003610c68575050565b6000805b61016254811015610cfe5760006101628281548110610c8d57610c8d6121fa565b6000918252602090912001805490915063ffffffff1615610ceb57805460009061271090610cc19063ffffffff16876122a9565b610ccb91906122c8565b9050610cd781856122ea565b93508015610ce957610ce98282611352565b505b5080610cf681612277565b915050610c6c565b507f1a1e3e6e1822c78a68db5a0be6136fecf7718cccae9f6b92d2115aa0ffc9213f818385610162604051610a6b94939291906122fd565b600054610100900460ff1615808015610d565750600054600160ff909116105b80610d775750610d6530611639565b158015610d77575060005460ff166001145b610dda5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016106e4565b6000805460ff191660011790558015610dfd576000805461ff0019166101001790555b610e05611648565b610e0e826116b5565b606654610e26906000906001600160a01b03166116d8565b610e2e610f38565b80156106f7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000818152610130602052604081206104c7906116e2565b610e98826105f4565b610ea181611167565b6106258383611194565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac190606401602060405180830381865afa158015610f0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f339190612169565b905090565b60675460405163bf40fac160e01b815260206004820152600f60248201526e1094925111d157d0d3d395149050d5608a1b60448201526001600160a01b039091169063bf40fac190606401602060405180830381865afa158015610fa0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc49190612169565b61016380546001600160a01b0319166001600160a01b0392831617905560675460405163bf40fac160e01b815260206004820152601160248201527026aaa62a24a1a420a4a72fa927aaaa22a960791b604482015291169063bf40fac190606401602060405180830381865afa158015611042573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110669190612169565b61016480546001600160a01b0319166001600160a01b0392831617905560675460405163bf40fac160e01b815260206004820152601860248201527726aaa62a24a1a420a4a72fa0a72ca3a7a7a22227a62620a960411b604482015291169063bf40fac190606401602060405180830381865afa1580156110eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110f9190612169565b61016580546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160e01b03198216637965db0b60e01b14806104c757506301ffc9a760e01b6001600160e01b03198316146104c7565b6107c081336116ec565b61117b8282611745565b60008281526101306020526040902061062590826117cb565b61119e82826117e0565b6000828152610130602052604090206106259082611847565b600080516020612548833981519152546001600160a01b031690565b6107c061185c565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561120e576106258361191f565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611268575060408051601f3d908101601f1916820190925261126591810190612290565b60015b6112cb5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016106e4565b600080516020612548833981519152811461133a5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016106e4565b506106258383836119b9565b6000610bb283836119e4565b60008254600160e01b900460ff16600381111561137157611371611f37565b036114255761137e610eab565b61016354835460408051600160401b90920460601b6001600160601b0319166020830152805180830360140181526034830191829052630200057560e51b9091526001600160a01b0393841693634000aea0936113e29391169186916038016123e7565b6020604051808303816000875af1158015611401573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610625919061240e565b60018254600160e01b900460ff16600381111561144457611444611f37565b0361155a57611451610eab565b6101645460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611485929116908590600401612430565b6020604051808303816000875af11580156114a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c8919061240e565b50610164546101655483546040516376defaf160e11b81526001600160a01b039283166004820152600160401b82048316602482015260448101859052600160201b90910463ffffffff16606482015291169063edbdf5e290608401600060405180830381600087803b15801561153e57600080fd5b505af1158015611552573d6000803e3d6000fd5b505050505050565b60028254600160e01b900460ff16600381111561157957611579611f37565b036115d257611586610eab565b8254604051630200057560e51b81526001600160a01b03600160401b90920482166004820152602481018490526060604482015260006064820152911690634000aea0906084016113e2565b60038254600160e01b900460ff1660038111156115f1576115f1611f37565b036106f7576115fe610eab565b825460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb926113e292600160401b909104909116908590600401612430565b6001600160a01b03163b151590565b600054610100900460ff166116b35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106e4565b565b606780546001600160a01b0319166001600160a01b0383161790556107c06104cd565b6106f78282611171565b60006104c7825490565b6116f68282610bb9565b6106f75761170381611a0e565b61170e836020611a20565b60405160200161171f929190612449565b60408051601f198184030181529082905262461bcd60e51b82526106e4916004016124b8565b61174f8282610bb9565b6106f757600082815260fe602090815260408083206001600160a01b03851684529091529020805460ff191660011790556117873390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610bb2836001600160a01b038416611bbb565b6117ea8282610bb9565b156106f757600082815260fe602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610bb2836001600160a01b038416611c0a565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de69160048083019260209291908290030181865afa1580156118a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c99190612169565b6001600160a01b0316146116b35760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f6460448201526064016106e4565b61192881611639565b61198a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016106e4565b60008051602061254883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6119c283611cfd565b6000825111806119cf5750805b15610625576119de8383611d3d565b50505050565b60008260000182815481106119fb576119fb6121fa565b9060005260206000200154905092915050565b60606104c76001600160a01b03831660145b60606000611a2f8360026122a9565b611a3a9060026122ea565b6001600160401b03811115611a5157611a51611fbd565b6040519080825280601f01601f191660200182016040528015611a7b576020820181803683370190505b509050600360fc1b81600081518110611a9657611a966121fa565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611ac557611ac56121fa565b60200101906001600160f81b031916908160001a9053506000611ae98460026122a9565b611af49060016122ea565b90505b6001811115611b6c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611b2857611b286121fa565b1a60f81b828281518110611b3e57611b3e6121fa565b60200101906001600160f81b031916908160001a90535060049490941c93611b65816124cb565b9050611af7565b508315610bb25760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106e4565b6000818152600183016020526040812054611c02575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104c7565b5060006104c7565b60008181526001830160205260408120548015611cf3576000611c2e6001836124e2565b8554909150600090611c42906001906124e2565b9050818114611ca7576000866000018281548110611c6257611c626121fa565b9060005260206000200154905080876000018481548110611c8557611c856121fa565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611cb857611cb86124f5565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506104c7565b60009150506104c7565b611d068161191f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060611d4883611639565b611da35760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016106e4565b600080846001600160a01b031684604051611dbe919061250b565b600060405180830381855af49150503d8060008114611df9576040519150601f19603f3d011682016040523d82523d6000602084013e611dfe565b606091505b5091509150611e26828260405180606001604052806027815260200161256860279139611e2f565b95945050505050565b60608315611e3e575081610bb2565b610bb28383815115611e535781518083602001fd5b8060405162461bcd60e51b81526004016106e491906124b8565b600060208284031215611e7f57600080fd5b81356001600160e01b031981168114610bb257600080fd5b6001600160a01b03811681146107c057600080fd5b60008060408385031215611ebf57600080fd5b8235611eca81611e97565b91506020830135611eda81611e97565b809150509250929050565b6001600160a01b0391909116815260200190565b600060208284031215611f0b57600080fd5b5035919050565b60008060408385031215611f2557600080fd5b823591506020830135611eda81611e97565b634e487b7160e01b600052602160045260246000fd5b60048110611f6b57634e487b7160e01b600052602160045260246000fd5b9052565b63ffffffff8581168252841660208201526001600160a01b038316604082015260808101611e266060830184611f4d565b600060208284031215611fb257600080fd5b8135610bb281611e97565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611ffb57611ffb611fbd565b604052919050565b6000806040838503121561201657600080fd5b823561202181611e97565b91506020838101356001600160401b038082111561203e57600080fd5b818601915086601f83011261205257600080fd5b81358181111561206457612064611fbd565b612076601f8201601f19168501611fd3565b9150808252878482850101111561208c57600080fd5b80848401858401376000848284010152508093505050509250929050565b803563ffffffff811681146120be57600080fd5b919050565b6000608082840312156120d557600080fd5b604051608081016001600160401b03811182821017156120f7576120f7611fbd565b604052612103836120aa565b8152612111602084016120aa565b6020820152604083013561212481611e97565b604082015260608301356004811061213b57600080fd5b60608201529392505050565b6000806040838503121561215a57600080fd5b50508035926020909101359150565b60006020828403121561217b57600080fd5b8151610bb281611e97565b6020808252602c9082015260008051602061252883398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061252883398151915260408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b825163ffffffff9081168252602080850151909116908201526040808401516001600160a01b03169082015260608084015160a083019161225390840182611f4d565b508260808301529392505050565b634e487b7160e01b600052601160045260246000fd5b60006001820161228957612289612261565b5060010190565b6000602082840312156122a257600080fd5b5051919050565b60008160001904831182151516156122c3576122c3612261565b500290565b6000826122e557634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156104c7576104c7612261565b6000608080830187845260208781860152604087818701526060848188015283885480865260a0890191508960005284600020955060005b8181101561238557865463ffffffff808216855281881c168785015280861c6001600160a01b03168685015261237485850160e083901c60ff16611f4d565b506001968701969288019201612335565b50909c9b505050505050505050505050565b60005b838110156123b257818101518382015260200161239a565b50506000910152565b600081518084526123d3816020860160208601612397565b601f01601f19169290920160200192915050565b60018060a01b0384168152826020820152606060408201526000611e2660608301846123bb565b60006020828403121561242057600080fd5b81518015158114610bb257600080fd5b6001600160a01b03929092168252602082015260400190565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835161247b816017850160208801612397565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516124ac816028840160208801612397565b01602801949350505050565b602081526000610bb260208301846123bb565b6000816124da576124da612261565b506000190190565b818103818111156104c7576104c7612261565b634e487b7160e01b600052603160045260246000fd5b6000825161251d818460208701612397565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201c690565aa3f1a19861d31d15d13d8b29673f831d7b5742b9a4c45cfd5b0103464736f6c63430008100033",
710
+ "deployedBytecode": "0x6080604052600436106101315760003560e01c806301ffc9a714610136578063187808201461016b5780631b3c90a8146101b85780631e599ff7146101cd578063248a9ca3146101fb5780632f2ff15d14610229578063346ef41b1461024957806336568abe146102795780633659cfe6146102995780633e6326fc146102b95780634162169f146102d95780634181d43e146102f95780634f1ef2861461031a57806352d1902d1461032d5780635aef7de61461034257806386d97a1a146103625780639010d07c1461038257806391d14854146103a2578063a217fddf146103c2578063a8ba3890146103d7578063c4b1b1a6146103f7578063c4d66de814610418578063ca15c87314610438578063d547741f14610458578063e1758bd814610478578063e26db6fc1461048d575b600080fd5b34801561014257600080fd5b50610156610151366004611e6d565b6104a2565b60405190151581526020015b60405180910390f35b34801561017757600080fd5b506101b6610186366004611eac565b61016380546001600160a01b039384166001600160a01b0319918216179091556101648054929093169116179055565b005b3480156101c457600080fd5b506101b66104cd565b3480156101d957600080fd5b50610163546101ee906001600160a01b031681565b6040516101629190611ee5565b34801561020757600080fd5b5061021b610216366004611ef9565b6105f4565b604051908152602001610162565b34801561023557600080fd5b506101b6610244366004611f12565b610609565b34801561025557600080fd5b50610269610264366004611ef9565b61062a565b6040516101629493929190611f6f565b34801561028557600080fd5b506101b6610294366004611f12565b610678565b3480156102a557600080fd5b506101b66102b4366004611fa0565b6106fb565b3480156102c557600080fd5b506067546101ee906001600160a01b031681565b3480156102e557600080fd5b506065546101ee906001600160a01b031681565b34801561030557600080fd5b50610164546101ee906001600160a01b031681565b6101b6610328366004612003565b6107c3565b34801561033957600080fd5b5061021b610878565b34801561034e57600080fd5b506066546101ee906001600160a01b031681565b34801561036e57600080fd5b506101b661037d3660046120c3565b610926565b34801561038e57600080fd5b506101ee61039d366004612147565b610b99565b3480156103ae57600080fd5b506101566103bd366004611f12565b610bb9565b3480156103ce57600080fd5b5061021b600081565b3480156103e357600080fd5b506101b66103f2366004611ef9565b610be4565b34801561040357600080fd5b50610165546101ee906001600160a01b031681565b34801561042457600080fd5b506101b6610433366004611fa0565b610d36565b34801561044457600080fd5b5061021b610453366004611ef9565b610e77565b34801561046457600080fd5b506101b6610473366004611f12565b610e8f565b34801561048457600080fd5b506101ee610eab565b34801561049957600080fd5b506101b6610f38565b60006001600160e01b03198216635a05180f60e01b14806104c757506104c782611132565b92915050565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac190606401602060405180830381865afa158015610530573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105549190612169565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de6916004808201926020929091908290030181865afa1580156105ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d29190612169565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b600090815260fe602052604090206001015490565b610612826105f4565b61061b81611167565b6106258383611171565b505050565b610162818154811061063b57600080fd5b60009182526020909120015463ffffffff8082169250600160201b82041690600160401b81046001600160a01b031690600160e01b900460ff1684565b6001600160a01b03811633146106ed5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6106f78282611194565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107435760405162461bcd60e51b81526004016106e490612186565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107756111b7565b6001600160a01b03161461079b5760405162461bcd60e51b81526004016106e4906121c0565b6107a4816111d3565b604080516000808252602082019092526107c0918391906111db565b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361080b5760405162461bcd60e51b81526004016106e490612186565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661083d6111b7565b6001600160a01b0316146108635760405162461bcd60e51b81526004016106e4906121c0565b61086c826111d3565b6106f7828260016111db565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109135760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016106e4565b5060008051602061254883398151915290565b600061093181611167565b60005b61016254811015610a8a5782604001516001600160a01b03166101628281548110610961576109616121fa565b600091825260209091200154600160401b90046001600160a01b031603610a7857826101628281548110610997576109976121fa565b60009182526020918290208351910180549284015160408501516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff928316600160201b026001600160401b031990961692909416919091179390931791821683178155606084015190929091839160ff60e01b1916600160401b600160e81b031990911617600160e01b836003811115610a3257610a32611f37565b02179055509050507fd26d9de175cfca2c3e0cad9d09c85f0ce6c7fa5257382d00dc26dc5fb25cd8df8382604051610a6b929190612210565b60405180910390a1505050565b80610a8281612277565b915050610934565b50610162546040517f2e65f65347b2e76218df0b7b6b594a3862c81e85706795e700237093c47a395791610ac091859190612210565b60405180910390a1610162805460018101825560009190915282517f29af0939a5988989bfee913a9ad10b9335cb63ebc9fd2b69e5f877d0455ac9199091018054602085015160408601516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff928316600160201b026001600160401b031990941692909516919091179190911792831681178255606085015185939091839160ff60e01b19909116600160401b600160e81b031990911617600160e01b836003811115610b8e57610b8e611f37565b021790555050505050565b600082815261013060205260408120610bb29083611346565b9392505050565b600091825260fe602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000610bee610eab565b6001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610c199190611ee5565b602060405180830381865afa158015610c36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5a9190612290565b905080600003610c68575050565b6000805b61016254811015610cfe5760006101628281548110610c8d57610c8d6121fa565b6000918252602090912001805490915063ffffffff1615610ceb57805460009061271090610cc19063ffffffff16876122a9565b610ccb91906122c8565b9050610cd781856122ea565b93508015610ce957610ce98282611352565b505b5080610cf681612277565b915050610c6c565b507f1a1e3e6e1822c78a68db5a0be6136fecf7718cccae9f6b92d2115aa0ffc9213f818385610162604051610a6b94939291906122fd565b600054610100900460ff1615808015610d565750600054600160ff909116105b80610d775750610d6530611639565b158015610d77575060005460ff166001145b610dda5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016106e4565b6000805460ff191660011790558015610dfd576000805461ff0019166101001790555b610e05611648565b610e0e826116b5565b606654610e26906000906001600160a01b03166116d8565b610e2e610f38565b80156106f7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000818152610130602052604081206104c7906116e2565b610e98826105f4565b610ea181611167565b6106258383611194565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac190606401602060405180830381865afa158015610f0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f339190612169565b905090565b60675460405163bf40fac160e01b815260206004820152600f60248201526e1094925111d157d0d3d395149050d5608a1b60448201526001600160a01b039091169063bf40fac190606401602060405180830381865afa158015610fa0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc49190612169565b61016380546001600160a01b0319166001600160a01b0392831617905560675460405163bf40fac160e01b815260206004820152601160248201527026aaa62a24a1a420a4a72fa927aaaa22a960791b604482015291169063bf40fac190606401602060405180830381865afa158015611042573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110669190612169565b61016480546001600160a01b0319166001600160a01b0392831617905560675460405163bf40fac160e01b815260206004820152601860248201527726aaa62a24a1a420a4a72fa0a72ca3a7a7a22227a62620a960411b604482015291169063bf40fac190606401602060405180830381865afa1580156110eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110f9190612169565b61016580546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160e01b03198216637965db0b60e01b14806104c757506301ffc9a760e01b6001600160e01b03198316146104c7565b6107c081336116ec565b61117b8282611745565b60008281526101306020526040902061062590826117cb565b61119e82826117e0565b6000828152610130602052604090206106259082611847565b600080516020612548833981519152546001600160a01b031690565b6107c061185c565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561120e576106258361191f565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611268575060408051601f3d908101601f1916820190925261126591810190612290565b60015b6112cb5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016106e4565b600080516020612548833981519152811461133a5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016106e4565b506106258383836119b9565b6000610bb283836119e4565b60008254600160e01b900460ff16600381111561137157611371611f37565b036114255761137e610eab565b61016354835460408051600160401b90920460601b6001600160601b0319166020830152805180830360140181526034830191829052630200057560e51b9091526001600160a01b0393841693634000aea0936113e29391169186916038016123e7565b6020604051808303816000875af1158015611401573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610625919061240e565b60018254600160e01b900460ff16600381111561144457611444611f37565b0361155a57611451610eab565b6101645460405163095ea7b360e01b81526001600160a01b039283169263095ea7b392611485929116908590600401612430565b6020604051808303816000875af11580156114a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c8919061240e565b50610164546101655483546040516376defaf160e11b81526001600160a01b039283166004820152600160401b82048316602482015260448101859052600160201b90910463ffffffff16606482015291169063edbdf5e290608401600060405180830381600087803b15801561153e57600080fd5b505af1158015611552573d6000803e3d6000fd5b505050505050565b60028254600160e01b900460ff16600381111561157957611579611f37565b036115d257611586610eab565b8254604051630200057560e51b81526001600160a01b03600160401b90920482166004820152602481018490526060604482015260006064820152911690634000aea0906084016113e2565b60038254600160e01b900460ff1660038111156115f1576115f1611f37565b036106f7576115fe610eab565b825460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb926113e292600160401b909104909116908590600401612430565b6001600160a01b03163b151590565b600054610100900460ff166116b35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106e4565b565b606780546001600160a01b0319166001600160a01b0383161790556107c06104cd565b6106f78282611171565b60006104c7825490565b6116f68282610bb9565b6106f75761170381611a0e565b61170e836020611a20565b60405160200161171f929190612449565b60408051601f198184030181529082905262461bcd60e51b82526106e4916004016124b8565b61174f8282610bb9565b6106f757600082815260fe602090815260408083206001600160a01b03851684529091529020805460ff191660011790556117873390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610bb2836001600160a01b038416611bbb565b6117ea8282610bb9565b156106f757600082815260fe602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610bb2836001600160a01b038416611c0a565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de69160048083019260209291908290030181865afa1580156118a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c99190612169565b6001600160a01b0316146116b35760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f6460448201526064016106e4565b61192881611639565b61198a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016106e4565b60008051602061254883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6119c283611cfd565b6000825111806119cf5750805b15610625576119de8383611d3d565b50505050565b60008260000182815481106119fb576119fb6121fa565b9060005260206000200154905092915050565b60606104c76001600160a01b03831660145b60606000611a2f8360026122a9565b611a3a9060026122ea565b6001600160401b03811115611a5157611a51611fbd565b6040519080825280601f01601f191660200182016040528015611a7b576020820181803683370190505b509050600360fc1b81600081518110611a9657611a966121fa565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611ac557611ac56121fa565b60200101906001600160f81b031916908160001a9053506000611ae98460026122a9565b611af49060016122ea565b90505b6001811115611b6c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611b2857611b286121fa565b1a60f81b828281518110611b3e57611b3e6121fa565b60200101906001600160f81b031916908160001a90535060049490941c93611b65816124cb565b9050611af7565b508315610bb25760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106e4565b6000818152600183016020526040812054611c02575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104c7565b5060006104c7565b60008181526001830160205260408120548015611cf3576000611c2e6001836124e2565b8554909150600090611c42906001906124e2565b9050818114611ca7576000866000018281548110611c6257611c626121fa565b9060005260206000200154905080876000018481548110611c8557611c856121fa565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611cb857611cb86124f5565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506104c7565b60009150506104c7565b611d068161191f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060611d4883611639565b611da35760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016106e4565b600080846001600160a01b031684604051611dbe919061250b565b600060405180830381855af49150503d8060008114611df9576040519150601f19603f3d011682016040523d82523d6000602084013e611dfe565b606091505b5091509150611e26828260405180606001604052806027815260200161256860279139611e2f565b95945050505050565b60608315611e3e575081610bb2565b610bb28383815115611e535781518083602001fd5b8060405162461bcd60e51b81526004016106e491906124b8565b600060208284031215611e7f57600080fd5b81356001600160e01b031981168114610bb257600080fd5b6001600160a01b03811681146107c057600080fd5b60008060408385031215611ebf57600080fd5b8235611eca81611e97565b91506020830135611eda81611e97565b809150509250929050565b6001600160a01b0391909116815260200190565b600060208284031215611f0b57600080fd5b5035919050565b60008060408385031215611f2557600080fd5b823591506020830135611eda81611e97565b634e487b7160e01b600052602160045260246000fd5b60048110611f6b57634e487b7160e01b600052602160045260246000fd5b9052565b63ffffffff8581168252841660208201526001600160a01b038316604082015260808101611e266060830184611f4d565b600060208284031215611fb257600080fd5b8135610bb281611e97565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611ffb57611ffb611fbd565b604052919050565b6000806040838503121561201657600080fd5b823561202181611e97565b91506020838101356001600160401b038082111561203e57600080fd5b818601915086601f83011261205257600080fd5b81358181111561206457612064611fbd565b612076601f8201601f19168501611fd3565b9150808252878482850101111561208c57600080fd5b80848401858401376000848284010152508093505050509250929050565b803563ffffffff811681146120be57600080fd5b919050565b6000608082840312156120d557600080fd5b604051608081016001600160401b03811182821017156120f7576120f7611fbd565b604052612103836120aa565b8152612111602084016120aa565b6020820152604083013561212481611e97565b604082015260608301356004811061213b57600080fd5b60608201529392505050565b6000806040838503121561215a57600080fd5b50508035926020909101359150565b60006020828403121561217b57600080fd5b8151610bb281611e97565b6020808252602c9082015260008051602061252883398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061252883398151915260408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b825163ffffffff9081168252602080850151909116908201526040808401516001600160a01b03169082015260608084015160a083019161225390840182611f4d565b508260808301529392505050565b634e487b7160e01b600052601160045260246000fd5b60006001820161228957612289612261565b5060010190565b6000602082840312156122a257600080fd5b5051919050565b60008160001904831182151516156122c3576122c3612261565b500290565b6000826122e557634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156104c7576104c7612261565b6000608080830187845260208781860152604087818701526060848188015283885480865260a0890191508960005284600020955060005b8181101561238557865463ffffffff808216855281881c168785015280861c6001600160a01b03168685015261237485850160e083901c60ff16611f4d565b506001968701969288019201612335565b50909c9b505050505050505050505050565b60005b838110156123b257818101518382015260200161239a565b50506000910152565b600081518084526123d3816020860160208601612397565b601f01601f19169290920160200192915050565b60018060a01b0384168152826020820152606060408201526000611e2660608301846123bb565b60006020828403121561242057600080fd5b81518015158114610bb257600080fd5b6001600160a01b03929092168252602082015260400190565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835161247b816017850160208801612397565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516124ac816028840160208801612397565b01602801949350505050565b602081526000610bb260208301846123bb565b6000816124da576124da612261565b506000190190565b818103818111156104c7576104c7612261565b634e487b7160e01b600052603160045260246000fd5b6000825161251d818460208701612397565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201c690565aa3f1a19861d31d15d13d8b29673f831d7b5742b9a4c45cfd5b0103464736f6c63430008100033",
711
711
  "linkReferences": {},
712
712
  "deployedLinkReferences": {}
713
713
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/14aec2cd44120ed14a5386eb1f2f4abd.json"
3
+ "buildInfo": "../../../build-info/477a426513f742b063a1272cb54d7c4c.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/14aec2cd44120ed14a5386eb1f2f4abd.json"
3
+ "buildInfo": "../../../build-info/477a426513f742b063a1272cb54d7c4c.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/14aec2cd44120ed14a5386eb1f2f4abd.json"
3
+ "buildInfo": "../../../build-info/477a426513f742b063a1272cb54d7c4c.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/14aec2cd44120ed14a5386eb1f2f4abd.json"
3
+ "buildInfo": "../../../build-info/477a426513f742b063a1272cb54d7c4c.json"
4
4
  }