@gooddollar/goodprotocol 2.1.1 → 2.1.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 (752) hide show
  1. package/artifacts/abis/AdminWallet.min.json +1 -1
  2. package/artifacts/abis/AdminWalletFuse.min.json +1 -1
  3. package/artifacts/abis/Faucet.min.json +1 -1
  4. package/artifacts/abis/FuseFaucetV2.min.json +1 -1
  5. package/artifacts/abis/GenericDistributionHelper.min.json +1 -0
  6. package/artifacts/abis/GenericDistributionHelperTest.min.json +1 -0
  7. package/artifacts/abis/GenericDistributionHelperTestHelper.min.json +1 -0
  8. package/artifacts/abis/INonfungiblePositionManager.min.json +1 -0
  9. package/artifacts/abis/IUniswapV3Pool.min.json +1 -0
  10. package/artifacts/abis/UBISchemeV2.min.json +1 -1
  11. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  12. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  13. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  14. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  15. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  16. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  17. package/artifacts/contracts/IUniswapV3.sol/INonfungiblePositionManager.dbg.json +4 -0
  18. package/artifacts/contracts/IUniswapV3.sol/INonfungiblePositionManager.json +102 -0
  19. package/artifacts/contracts/IUniswapV3.sol/IUniswapV3Pool.dbg.json +4 -0
  20. package/artifacts/contracts/IUniswapV3.sol/IUniswapV3Pool.json +106 -0
  21. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  22. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  23. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  24. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  25. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  26. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  27. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  28. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  29. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  30. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  31. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  32. package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +1 -1
  33. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  34. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +1 -1
  35. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  36. package/artifacts/contracts/Interfaces.sol/IQuoterV2.dbg.json +1 -1
  37. package/artifacts/contracts/Interfaces.sol/ISwapRouter.dbg.json +1 -1
  38. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  39. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  40. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  41. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  42. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  43. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  44. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  45. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  46. package/artifacts/contracts/MentoInterfaces.sol/IBancorExchangeProvider.dbg.json +1 -1
  47. package/artifacts/contracts/MentoInterfaces.sol/IBroker.dbg.json +1 -1
  48. package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExchangeProvider.dbg.json +1 -1
  49. package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExpansionController.dbg.json +1 -1
  50. package/artifacts/contracts/MentoInterfaces.sol/IMentoReserve.dbg.json +1 -1
  51. package/artifacts/contracts/MentoInterfaces.sol/ITradingLimits.dbg.json +1 -1
  52. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +1 -1
  53. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.json +34 -2
  54. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  55. package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.dbg.json +1 -1
  56. package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.json +34 -2
  57. package/artifacts/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet.dbg.json +1 -1
  58. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  59. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  60. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  61. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +1 -1
  62. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +1 -1
  63. package/artifacts/contracts/governance/GoodDollarStaking.sol/IStakingUpgrade.dbg.json +1 -1
  64. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +1 -1
  65. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  66. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  67. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  68. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  69. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +1 -1
  70. package/artifacts/contracts/identity/IdentityV3.sol/IdentityV3.dbg.json +1 -1
  71. package/artifacts/contracts/identity/IdentityV3.sol/IdentityV3.json +2 -2
  72. package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.dbg.json +1 -1
  73. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  74. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +1 -1
  75. package/artifacts/contracts/invite/OneTimeReward.sol/OneTimeReward.dbg.json +1 -1
  76. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  77. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
  78. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
  79. package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTest.dbg.json +1 -1
  80. package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTestHelper.dbg.json +1 -1
  81. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
  82. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  83. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
  84. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  85. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +1 -1
  86. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
  87. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
  88. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
  89. package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.dbg.json +1 -1
  90. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
  91. package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTest.dbg.json +4 -0
  92. package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTest.json +931 -0
  93. package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTestHelper.dbg.json +4 -0
  94. package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTestHelper.json +957 -0
  95. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  96. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +1 -1
  97. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  98. package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.dbg.json +1 -1
  99. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  100. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  101. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +1 -1
  102. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +1 -1
  103. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +1 -1
  104. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  105. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  106. package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.dbg.json +1 -1
  107. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  108. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +1 -1
  109. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  110. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  111. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  112. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  113. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  114. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  115. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  116. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  117. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  118. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  119. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  120. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  121. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  122. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  123. package/artifacts/contracts/reserve/CeloDistributionHelper.sol/CeloDistributionHelper.dbg.json +1 -1
  124. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
  125. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  126. package/artifacts/contracts/reserve/GenericDistributionHelper.sol/GenericDistributionHelper.dbg.json +4 -0
  127. package/artifacts/contracts/reserve/GenericDistributionHelper.sol/GenericDistributionHelper.json +931 -0
  128. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  129. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  130. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  131. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  132. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  133. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  134. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
  135. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
  136. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  137. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  138. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  139. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  140. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  141. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  142. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  143. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  144. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  145. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  146. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  147. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
  148. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
  149. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +1 -1
  150. package/artifacts/contracts/token/ERC677.sol/ERC677.dbg.json +1 -1
  151. package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.dbg.json +1 -1
  152. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.dbg.json +1 -1
  153. package/artifacts/contracts/token/GoodDollar2.sol/GoodDollar2.dbg.json +1 -1
  154. package/artifacts/contracts/token/IFeesFormula.sol/IFeesFormula.dbg.json +1 -1
  155. package/artifacts/contracts/token/MultichainFeeFormula.sol/MultichainFeeFormula.dbg.json +1 -1
  156. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.dbg.json +1 -1
  157. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.dbg.json +1 -1
  158. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.dbg.json +1 -1
  159. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.dbg.json +1 -1
  160. package/artifacts/contracts/token/superfluid/ISuperToken.sol/ISuperToken.dbg.json +1 -1
  161. package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +1 -1
  162. package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +1 -1
  163. package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.dbg.json +1 -1
  164. package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.dbg.json +1 -1
  165. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.dbg.json +1 -1
  166. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.dbg.json +1 -1
  167. package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.dbg.json +1 -1
  168. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  169. package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.dbg.json +1 -1
  170. package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.json +7 -2
  171. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  172. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.json +36 -2
  173. package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.dbg.json +1 -1
  174. package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.json +36 -2
  175. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  176. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  177. package/artifacts/contracts/utils/BulkWhitelist.sol/BulkWhitelist.dbg.json +1 -1
  178. package/artifacts/contracts/utils/BulkWhitelist.sol/BulkWhitelist.json +2 -2
  179. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +1 -1
  180. package/artifacts/contracts/utils/BuyFromReserveHelper.sol/BuyFromReserveHelper.dbg.json +1 -1
  181. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.dbg.json +1 -1
  182. package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.dbg.json +1 -1
  183. package/artifacts/contracts/utils/BuyGDClone.sol/DonateGDClone.dbg.json +1 -1
  184. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  185. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  186. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  187. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  188. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/EternalStorage.dbg.json +1 -1
  189. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/FuseOldBridgeKill.dbg.json +1 -1
  190. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/IUpgradeabilityOwnerStorage.dbg.json +1 -1
  191. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Initializable.dbg.json +1 -1
  192. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Ownable.dbg.json +1 -1
  193. package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Upgradeable.dbg.json +1 -1
  194. package/artifacts/contracts/utils/GDFaucet.sol/GDFaucet.dbg.json +1 -1
  195. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
  196. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
  197. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
  198. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
  199. package/artifacts/contracts/utils/IdentityFix.sol/IdentityFix.dbg.json +1 -1
  200. package/artifacts/contracts/utils/LastauthReduction.sol/LastauthReduction.dbg.json +1 -1
  201. package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
  202. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
  203. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  204. package/artifacts/contracts/utils/OneTimePayments.sol/OneTimePayments.dbg.json +1 -1
  205. package/artifacts/contracts/utils/OneTimePaymentsV2.sol/OneTimePaymentsV2.dbg.json +1 -1
  206. package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/MentoExchange.dbg.json +1 -1
  207. package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.dbg.json +1 -1
  208. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  209. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  210. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  211. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  212. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  213. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  214. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.json +2 -2
  215. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  216. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.json +2 -2
  217. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  218. package/artifacts/contracts/utils/ReserveRestore.sol/ReserveRestore.dbg.json +1 -1
  219. package/contracts/identity/IdentityV3.sol +2 -0
  220. package/contracts/reserve/GenericDistributionHelper.sol +16 -2
  221. package/contracts/utils/AdminWallet.sol +27 -0
  222. package/contracts/utils/AdminWalletFuse.sol +27 -0
  223. package/dist/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.json +1099 -0
  224. package/dist/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.json +2627 -0
  225. package/dist/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.json +32 -0
  226. package/dist/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.json +82 -0
  227. package/dist/test-sdk/deploySuperGoodDollar.d.ts +6 -0
  228. package/dist/test-sdk/deploySuperGoodDollar.js +46 -0
  229. package/dist/test-sdk/index.d.ts +1 -0
  230. package/dist/test-sdk/index.js +13 -0
  231. package/hardhat.config.ts +6 -12
  232. package/package.json +1 -1
  233. package/releases/deployment.json +3 -1
  234. package/scripts/bulkWhitelist.ts +31 -0
  235. package/scripts/multichain-deploy/helpers.ts +6 -1
  236. package/scripts/proposals/gip-25-xdc-upgrade-ubi.ts +303 -4
  237. package/types/{ERC1967Upgrade.ts → @openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.ts} +23 -21
  238. package/types/@openzeppelin/contracts/proxy/ERC1967/index.ts +1 -0
  239. package/types/@uniswap/index.ts +2 -0
  240. package/types/@uniswap/v2-periphery/contracts/index.ts +5 -0
  241. package/types/@uniswap/v2-periphery/contracts/interfaces/IWETH.ts +159 -0
  242. package/types/@uniswap/v2-periphery/contracts/interfaces/index.ts +4 -0
  243. package/types/@uniswap/v2-periphery/index.ts +5 -0
  244. package/types/contracts/IQuoter.sol/IQuoterV2.ts +297 -0
  245. package/types/contracts/IQuoter.sol/index.ts +4 -0
  246. package/types/contracts/IUniswapV3.sol/INonfungiblePositionManager.ts +151 -0
  247. package/types/contracts/IUniswapV3.sol/IUniswapV3Factory.ts +155 -0
  248. package/types/contracts/IUniswapV3.sol/IUniswapV3Pool.ts +192 -0
  249. package/types/contracts/IUniswapV3.sol/index.ts +5 -0
  250. package/types/{IHasRouter.ts → contracts/Interfaces.sol/AToken.ts} +22 -24
  251. package/types/{IAaveIncentivesController.ts → contracts/Interfaces.sol/IAaveIncentivesControllerV3.ts} +48 -47
  252. package/types/{ILendingPool.ts → contracts/Interfaces.sol/ILendingPoolV3.ts} +89 -76
  253. package/types/{Faucet.ts → contracts/fuseFaucet/Faucet copy.sol/DebugFaucet.ts } +354 -82
  254. package/types/contracts/fuseFaucet/Faucet copy.sol/index.ts +4 -0
  255. package/types/contracts/fuseFaucet/Faucet.ts +43 -0
  256. package/types/contracts/fuseFaucet/FuseFaucetV2.ts +43 -0
  257. package/types/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributor.ts +648 -0
  258. package/types/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributorUpgradeable.ts +843 -0
  259. package/types/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/index.ts +4 -0
  260. package/types/contracts/index.ts +2 -0
  261. package/types/{DistributionHelper.ts → contracts/mocks/CeloDistributionHelperTest.sol/DistributionHelperTestHelper.ts} +345 -351
  262. package/types/{DistributionHelperTestHelper.ts → contracts/mocks/GenericDistributionHelperTest.sol/CeloDistributionHelperTestHelper.ts} +426 -389
  263. package/types/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTest.ts +1305 -0
  264. package/types/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTestHelper.ts +1357 -0
  265. package/types/contracts/mocks/GenericDistributionHelperTest.sol/index.ts +5 -0
  266. package/types/contracts/mocks/index.ts +2 -0
  267. package/types/{DistributionHelperTest.ts → contracts/reserve/GenericDistributionHelper copy.sol/GenericDistributionHelper.ts } +349 -361
  268. package/types/contracts/reserve/GenericDistributionHelper copy.sol/index.ts +4 -0
  269. package/types/contracts/reserve/GenericDistributionHelper.ts +1304 -0
  270. package/types/{GoodReserveCDai.ts → contracts/reserve/GoodReserveADai.ts} +343 -197
  271. package/types/contracts/reserve/index.ts +1 -0
  272. package/types/{GoodAaveStakingV2.ts → contracts/staking/aave/GoodAave3StakingV2.sol/GoodAaveStakingV2.ts} +177 -100
  273. package/types/contracts/staking/aave/GoodAave3StakingV2.sol/index.ts +4 -0
  274. package/types/{GoodDollar.ts → contracts/token/GoodDollar18.ts} +278 -140
  275. package/types/contracts/ubi/UBISchemeV2.ts +14 -3
  276. package/types/contracts/utils/AdminWallet.ts +45 -0
  277. package/types/contracts/utils/AdminWalletFuse.ts +45 -0
  278. package/types/{BuyGDClone.ts → contracts/utils/BuyGDClone.sol/BuyGDCloneV2.ts} +133 -52
  279. package/types/contracts/utils/BuyGDClone.sol/index.ts +0 -2
  280. package/types/contracts/utils/FuseOldBridgeKill.sol/BasicAMBErc677ToErc677.ts +108 -0
  281. package/types/{IBeacon.ts → contracts/utils/ProtocolUpgradeV4Mento.sol/MentoExchange.ts} +22 -30
  282. package/types/contracts/utils/ProtocolUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.ts +161 -0
  283. package/types/contracts/utils/ProtocolUpgradeV4Mento.sol/index.ts +5 -0
  284. package/types/{BatUSDMockOracle.ts → contracts/utils/ReserveRestore.sol/MentoExchange.ts} +22 -30
  285. package/types/contracts/utils/ReserveRestore.sol/ReserveRestore.ts +112 -0
  286. package/types/contracts/utils/ReserveRestore.sol/index.ts +5 -0
  287. package/types/{IERC1822Proxiable.ts → contracts/utils/UpdateReserveRatioAfterXDC.sol/MentoExchange.ts} +22 -30
  288. package/types/contracts/utils/UpdateReserveRatioAfterXDC.sol/UpdateReserveRatioAfterXDC.ts +117 -0
  289. package/types/contracts/utils/UpdateReserveRatioAfterXDC.sol/index.ts +5 -0
  290. package/types/contracts/utils/UpdateReserveSettingsForXdc.sol/MentoExchange.ts +81 -0
  291. package/types/contracts/utils/UpdateReserveSettingsForXdc.sol/UpdateReserveRatioAfterXDC.ts +122 -0
  292. package/types/contracts/utils/UpdateReserveSettingsForXdc.sol/index.ts +5 -0
  293. package/types/contracts/utils/index.ts +2 -0
  294. package/types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.ts +146 -0
  295. package/types/factories/@openzeppelin/contracts/proxy/ERC1967/index.ts +1 -0
  296. package/types/factories/@uniswap/index.ts +1 -0
  297. package/types/factories/@uniswap/v2-periphery/contracts/index.ts +4 -0
  298. package/types/factories/{IRouter__factory.ts → @uniswap/v2-periphery/contracts/interfaces/IWETH__factory.ts} +24 -28
  299. package/types/factories/@uniswap/v2-periphery/contracts/interfaces/index.ts +4 -0
  300. package/types/factories/@uniswap/v2-periphery/index.ts +4 -0
  301. package/types/factories/contracts/IQuoter.sol/IQuoterV2__factory.ts +226 -0
  302. package/types/factories/contracts/IQuoter.sol/index.ts +4 -0
  303. package/types/factories/contracts/IUniswapV3.sol/INonfungiblePositionManager__factory.ts +121 -0
  304. package/types/factories/contracts/IUniswapV3.sol/IUniswapV3Factory__factory.ts +84 -0
  305. package/types/factories/contracts/IUniswapV3.sol/IUniswapV3Pool__factory.ts +121 -0
  306. package/types/factories/contracts/IUniswapV3.sol/index.ts +5 -0
  307. package/types/factories/contracts/Interfaces.sol/AToken__factory.ts +36 -0
  308. package/types/factories/{IAaveIncentivesController__factory.ts → contracts/Interfaces.sol/IAaveIncentivesControllerV3__factory.ts} +27 -22
  309. package/types/factories/{ILendingPool__factory.ts → contracts/Interfaces.sol/ILendingPoolV3__factory.ts} +32 -14
  310. package/types/factories/contracts/fuseFaucet/Faucet copy.sol/DebugFaucet__factory.ts +945 -0
  311. package/types/factories/contracts/fuseFaucet/Faucet copy.sol/index.ts +4 -0
  312. package/types/factories/contracts/fuseFaucet/Faucet__factory.ts +33 -1
  313. package/types/factories/contracts/fuseFaucet/FuseFaucetV2__factory.ts +33 -1
  314. package/types/factories/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributorUpgradeable__factory.ts +572 -0
  315. package/types/factories/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/EthDistributor__factory.ts +482 -0
  316. package/types/factories/contracts/fuseFaucet/SuperfluidBaseFacuet.sol/index.ts +4 -0
  317. package/types/factories/contracts/identity/IdentityV3__factory.ts +1 -1
  318. package/types/factories/contracts/index.ts +1 -0
  319. package/types/factories/contracts/mocks/CeloDistributionHelperTest.sol/DistributionHelperTestHelper__factory.ts +929 -0
  320. package/types/factories/contracts/mocks/GenericDistributionHelperTest.sol/CeloDistributionHelperTestHelper__factory.ts +1017 -0
  321. package/types/factories/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTestHelper__factory.ts +1021 -0
  322. package/types/factories/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTest__factory.ts +989 -0
  323. package/types/factories/contracts/mocks/GenericDistributionHelperTest.sol/index.ts +5 -0
  324. package/types/factories/contracts/mocks/index.ts +1 -0
  325. package/types/factories/contracts/reserve/GenericDistributionHelper copy.sol/GenericDistributionHelper__factory.ts +935 -0
  326. package/types/factories/contracts/reserve/GenericDistributionHelper copy.sol/index.ts +4 -0
  327. package/types/factories/contracts/reserve/GenericDistributionHelper__factory.ts +987 -0
  328. package/types/factories/contracts/reserve/GoodReserveADai__factory.ts +1502 -0
  329. package/types/factories/contracts/reserve/index.ts +1 -0
  330. package/types/factories/contracts/staking/aave/GoodAave3StakingV2.sol/GoodAaveStakingV2__factory.ts +1240 -0
  331. package/types/factories/contracts/staking/aave/GoodAave3StakingV2.sol/index.ts +4 -0
  332. package/types/factories/{GoodDollar__factory.ts → contracts/token/GoodDollar18__factory.ts} +26 -23
  333. package/types/factories/contracts/ubi/UBISchemeV2__factory.ts +6 -1
  334. package/types/factories/contracts/utils/AdminWalletFuse__factory.ts +35 -1
  335. package/types/factories/contracts/utils/AdminWallet__factory.ts +35 -1
  336. package/types/factories/contracts/utils/BulkWhitelist__factory.ts +1 -1
  337. package/types/factories/contracts/utils/BuyGDClone.sol/BuyGDCloneV2__factory.ts +415 -0
  338. package/types/factories/contracts/utils/BuyGDClone.sol/index.ts +0 -2
  339. package/types/factories/contracts/utils/FuseOldBridgeKill.sol/BasicAMBErc677ToErc677__factory.ts +86 -0
  340. package/types/factories/contracts/utils/ProtocolUpgradeV4Mento.sol/MentoExchange__factory.ts +39 -0
  341. package/types/factories/contracts/utils/ProtocolUpgradeV4Mento.sol/ProtocolUpgradeV4Mento__factory.ts +152 -0
  342. package/types/factories/contracts/utils/ProtocolUpgradeV4Mento.sol/index.ts +5 -0
  343. package/types/factories/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy__factory.ts +1 -1
  344. package/types/factories/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967__factory.ts +1 -1
  345. package/types/factories/{IBeaconUpgradeable__factory.ts → contracts/utils/ReserveRestore.sol/MentoExchange__factory.ts} +11 -11
  346. package/types/factories/contracts/utils/ReserveRestore.sol/ReserveRestore__factory.ts +95 -0
  347. package/types/factories/contracts/utils/ReserveRestore.sol/index.ts +5 -0
  348. package/types/factories/contracts/utils/UpdateReserveRatioAfterXDC.sol/MentoExchange__factory.ts +39 -0
  349. package/types/factories/contracts/utils/UpdateReserveRatioAfterXDC.sol/UpdateReserveRatioAfterXDC__factory.ts +110 -0
  350. package/types/factories/contracts/utils/UpdateReserveRatioAfterXDC.sol/index.ts +5 -0
  351. package/types/factories/contracts/utils/UpdateReserveSettingsForXdc.sol/MentoExchange__factory.ts +39 -0
  352. package/types/factories/contracts/utils/UpdateReserveSettingsForXdc.sol/UpdateReserveRatioAfterXDC__factory.ts +115 -0
  353. package/types/factories/contracts/utils/UpdateReserveSettingsForXdc.sol/index.ts +5 -0
  354. package/types/factories/contracts/utils/index.ts +1 -0
  355. package/types/hardhat.d.ts +81 -18
  356. package/types/index.ts +16 -2
  357. package/types/AaveMock.ts +0 -1031
  358. package/types/AaveStakingFactory.ts +0 -290
  359. package/types/AaveUSDMockOracle.ts +0 -89
  360. package/types/AccessControl.ts +0 -361
  361. package/types/AccessControlEnumerableUpgradeable.ts +0 -444
  362. package/types/AccessControlUpgradeable.ts +0 -371
  363. package/types/AdminWallet.ts +0 -1234
  364. package/types/AdminWalletFuse.ts +0 -1340
  365. package/types/AggregatorV3Interface.ts +0 -192
  366. package/types/Avatar.ts +0 -121
  367. package/types/BancorFormula.ts +0 -974
  368. package/types/BaseShareField.ts +0 -442
  369. package/types/BaseShareFieldV2.ts +0 -361
  370. package/types/BuyAndBridgeHelper.ts +0 -279
  371. package/types/BuyGDCloneFactory.ts +0 -180
  372. package/types/CBATMock.ts +0 -1203
  373. package/types/CDAILowWorthMock.ts +0 -1169
  374. package/types/CDAIMock.ts +0 -1219
  375. package/types/CDAINonMintableMock.ts +0 -1169
  376. package/types/CDecimalsMock.ts +0 -1203
  377. package/types/CERC20.ts +0 -552
  378. package/types/CSDTMock.ts +0 -1203
  379. package/types/CUSDCMock.ts +0 -1203
  380. package/types/ClaimersDistribution.ts +0 -634
  381. package/types/CompUSDMockOracle.ts +0 -89
  382. package/types/CompoundStakingFactory.ts +0 -261
  383. package/types/CompoundVotingMachine.ts +0 -1718
  384. package/types/ContextUpgradeable.ts +0 -77
  385. package/types/ContributionCalc.ts +0 -164
  386. package/types/Controller.ts +0 -547
  387. package/types/DAIMock.ts +0 -1092
  388. package/types/DAOContract.ts +0 -162
  389. package/types/DAOUpgradeableContract.ts +0 -299
  390. package/types/DaiEthPriceMockOracle.ts +0 -89
  391. package/types/DecimalsMock.ts +0 -1031
  392. package/types/DistributionBridgeMock.ts +0 -384
  393. package/types/DonationsStaking.ts +0 -805
  394. package/types/EIP712Upgradeable.ts +0 -77
  395. package/types/ERC165.ts +0 -104
  396. package/types/ERC165Upgradeable.ts +0 -115
  397. package/types/ERC1967Proxy.ts +0 -147
  398. package/types/ERC1967UpgradeUpgradeable.ts +0 -116
  399. package/types/ERC20.ts +0 -417
  400. package/types/ERC20BurnableUpgradeable.ts +0 -488
  401. package/types/ERC20PausableUpgradeable.ts +0 -458
  402. package/types/ERC20Permit.ts +0 -186
  403. package/types/ERC20PermitUpgradeable.ts +0 -531
  404. package/types/ERC20PresetMinterPauserUpgradeable.ts +0 -1136
  405. package/types/ERC20Upgradeable.ts +0 -426
  406. package/types/ERC20WithTokenInfo.ts +0 -339
  407. package/types/ERC677.ts +0 -131
  408. package/types/ERC677Receiver.ts +0 -115
  409. package/types/EthUSDMockOracle.ts +0 -138
  410. package/types/EventsEmitter.ts +0 -88
  411. package/types/ExchangeHelper.ts +0 -550
  412. package/types/FeesFormulaMock.ts +0 -130
  413. package/types/FuseFaucet.ts +0 -507
  414. package/types/FuseFaucetV2.ts +0 -846
  415. package/types/FuseStakingV3.ts +0 -1212
  416. package/types/GDFaucet.ts +0 -221
  417. package/types/GReputation.ts +0 -2119
  418. package/types/GasPriceMockOracle.ts +0 -118
  419. package/types/GlobalConstraintInterface.ts +0 -134
  420. package/types/GoodAaveStaking.ts +0 -1761
  421. package/types/GoodCompoundStaking.ts +0 -1847
  422. package/types/GoodCompoundStakingTest.ts +0 -1957
  423. package/types/GoodCompoundStakingV2.ts +0 -1645
  424. package/types/GoodDollarMintBurnWrapper.ts +0 -1792
  425. package/types/GoodDollarStaking.ts +0 -1947
  426. package/types/GoodDollarStakingMock.ts +0 -1986
  427. package/types/GoodFundManager.ts +0 -1126
  428. package/types/GoodFundManagerTest.ts +0 -1165
  429. package/types/GoodMarketMaker.ts +0 -1002
  430. package/types/GovernanceStaking.ts +0 -1295
  431. package/types/IAccessControl.ts +0 -306
  432. package/types/IAccessControlEnumerableUpgradeable.ts +0 -380
  433. package/types/IAccessControlUpgradeable.ts +0 -307
  434. package/types/IAdminWallet.ts +0 -171
  435. package/types/IBeaconUpgradeable.ts +0 -89
  436. package/types/IConsensus.ts +0 -225
  437. package/types/IDonationStaking.ts +0 -98
  438. package/types/IERC1271Upgradeable.ts +0 -109
  439. package/types/IERC165.ts +0 -104
  440. package/types/IERC165Upgradeable.ts +0 -104
  441. package/types/IERC1820Registry.ts +0 -398
  442. package/types/IERC1822ProxiableUpgradeable.ts +0 -90
  443. package/types/IERC20.ts +0 -300
  444. package/types/IERC20Metadata.ts +0 -339
  445. package/types/IERC20MetadataUpgradeable.ts +0 -340
  446. package/types/IERC20Permit.ts +0 -175
  447. package/types/IERC20PermitUpgradeable.ts +0 -176
  448. package/types/IERC20Upgradeable.ts +0 -300
  449. package/types/IERC2917.ts +0 -661
  450. package/types/IERC777.ts +0 -586
  451. package/types/IERC777Recipient.ts +0 -130
  452. package/types/IERC777Sender.ts +0 -130
  453. package/types/IFeesFormula.ts +0 -111
  454. package/types/IFirstClaimPool.ts +0 -136
  455. package/types/IGoodDollar.ts +0 -876
  456. package/types/IGoodDollarCustom.ts +0 -618
  457. package/types/IGoodDollarStakingTest.ts +0 -160
  458. package/types/IGoodStaking.ts +0 -264
  459. package/types/IGovernanceStaking.ts +0 -98
  460. package/types/IIdentity.ts +0 -508
  461. package/types/IIdentityV2.ts +0 -591
  462. package/types/ILayerZeroFeeEstimator.ts +0 -136
  463. package/types/IMessagePassingBridge.ts +0 -774
  464. package/types/IMultichainRouter.ts +0 -166
  465. package/types/INameService.ts +0 -86
  466. package/types/IRouter.ts +0 -143
  467. package/types/IStakingUpgrade.ts +0 -110
  468. package/types/IStaticOracle.ts +0 -677
  469. package/types/ISuperAgreement.ts +0 -151
  470. package/types/ISuperApp.ts +0 -410
  471. package/types/ISuperGoodDollar.ts +0 -3029
  472. package/types/ISuperToken.ts +0 -2326
  473. package/types/ISuperTokenFactory.ts +0 -415
  474. package/types/ISuperfluid.ts +0 -1565
  475. package/types/ISuperfluidGovernance.ts +0 -455
  476. package/types/ISuperfluidToken.ts +0 -951
  477. package/types/ISwapRouter.ts +0 -298
  478. package/types/IUBIScheme.ts +0 -121
  479. package/types/IUniswapV3Factory.ts +0 -333
  480. package/types/IWrapper.ts +0 -143
  481. package/types/IdentityFix.ts +0 -141
  482. package/types/IdentityMock.ts +0 -527
  483. package/types/IdentityV2.ts +0 -1782
  484. package/types/IncentiveControllerMock.ts +0 -207
  485. package/types/Initializable.ts +0 -77
  486. package/types/IntVoteInterface.ts +0 -468
  487. package/types/InvitesFuseV2.ts +0 -840
  488. package/types/InvitesV1.ts +0 -806
  489. package/types/InvitesV2.ts +0 -1016
  490. package/types/LendingPoolMock.ts +0 -1259
  491. package/types/MultiBaseGovernanceShareField.ts +0 -411
  492. package/types/Multicall.ts +0 -298
  493. package/types/MultichainBridgeHelper.ts +0 -170
  494. package/types/MultichainFeeFormula.ts +0 -130
  495. package/types/MultichainRouterMock.ts +0 -141
  496. package/types/NameService.ts +0 -386
  497. package/types/OldMarketMaker.ts +0 -113
  498. package/types/OneTimePayments.ts +0 -396
  499. package/types/OneTimePaymentsV2.ts +0 -456
  500. package/types/OverMintTester.ts +0 -176
  501. package/types/OverMintTesterRegularStake.ts +0 -177
  502. package/types/OwnableUpgradeable.ts +0 -175
  503. package/types/Pausable.ts +0 -103
  504. package/types/PausableControl.ts +0 -125
  505. package/types/PausableUpgradeable.ts +0 -112
  506. package/types/PayableMock.ts +0 -92
  507. package/types/PegSwap.ts +0 -112
  508. package/types/ProtocolUpgrade.ts +0 -272
  509. package/types/ProtocolUpgradeFuse.ts +0 -166
  510. package/types/ProtocolUpgradeFuseRecover.ts +0 -167
  511. package/types/ProtocolUpgradeRecover.ts +0 -264
  512. package/types/Proxy.ts +0 -66
  513. package/types/ProxyAdmin.ts +0 -254
  514. package/types/ProxyFactory1967.ts +0 -284
  515. package/types/ReentrancyGuardUpgradeable.ts +0 -78
  516. package/types/Reputation.ts +0 -964
  517. package/types/ReputationInterface.ts +0 -261
  518. package/types/ReputationTestHelper.ts +0 -175
  519. package/types/Reserve.ts +0 -112
  520. package/types/RewardsMinter.ts +0 -107
  521. package/types/SchemeRegistrar.ts +0 -164
  522. package/types/SelfApprove.ts +0 -115
  523. package/types/SimpleStaking.ts +0 -1523
  524. package/types/SimpleStakingV2.ts +0 -1427
  525. package/types/SixteenDecimalsTokenMock.ts +0 -1032
  526. package/types/StakersDistribution.ts +0 -949
  527. package/types/Staking.ts +0 -158
  528. package/types/StakingMockFixedAPY.ts +0 -995
  529. package/types/StakingRewardsFixedAPY.ts +0 -428
  530. package/types/SuperGoodDollar.ts +0 -3662
  531. package/types/SuperToken.ts +0 -2434
  532. package/types/SuperfluidToken.ts +0 -951
  533. package/types/SwapHelperTest.ts +0 -120
  534. package/types/TokenInfo.ts +0 -109
  535. package/types/TwentyDecimalsTokenMock.ts +0 -1032
  536. package/types/UBIScheme.ts +0 -1461
  537. package/types/UBISchemeV2.ts +0 -1192
  538. package/types/USDCMock.ts +0 -1031
  539. package/types/UUPSProxiable.ts +0 -183
  540. package/types/UUPSProxy.ts +0 -105
  541. package/types/UUPSUpgradeable.ts +0 -207
  542. package/types/Uniswap.ts +0 -423
  543. package/types/UniswapFactory.ts +0 -106
  544. package/types/UniswapPair.ts +0 -187
  545. package/types/UniswapV2SwapHelper.ts +0 -124
  546. package/types/UpgradableMock.ts +0 -349
  547. package/types/UpgradableMock2.ts +0 -311
  548. package/types/UpgradableMock3.ts +0 -336
  549. package/types/UpgradableMock4.ts +0 -336
  550. package/types/factories/AaveMock__factory.ts +0 -740
  551. package/types/factories/AaveStakingFactory__factory.ts +0 -262
  552. package/types/factories/AaveUSDMockOracle__factory.ts +0 -75
  553. package/types/factories/AccessControlEnumerableUpgradeable__factory.ts +0 -292
  554. package/types/factories/AccessControlUpgradeable__factory.ts +0 -247
  555. package/types/factories/AccessControl__factory.ts +0 -227
  556. package/types/factories/AdminWalletFuse__factory.ts +0 -933
  557. package/types/factories/AdminWallet__factory.ts +0 -865
  558. package/types/factories/AggregatorV3Interface__factory.ts +0 -121
  559. package/types/factories/Avatar__factory.ts +0 -59
  560. package/types/factories/BancorFormula__factory.ts +0 -674
  561. package/types/factories/BaseShareFieldV2__factory.ts +0 -251
  562. package/types/factories/BaseShareField__factory.ts +0 -307
  563. package/types/factories/BatUSDMockOracle__factory.ts +0 -75
  564. package/types/factories/BuyAndBridgeHelper__factory.ts +0 -237
  565. package/types/factories/BuyGDCloneFactory__factory.ts +0 -196
  566. package/types/factories/BuyGDClone__factory.ts +0 -343
  567. package/types/factories/CBATMock__factory.ts +0 -844
  568. package/types/factories/CDAILowWorthMock__factory.ts +0 -834
  569. package/types/factories/CDAIMock__factory.ts +0 -857
  570. package/types/factories/CDAINonMintableMock__factory.ts +0 -834
  571. package/types/factories/CDecimalsMock__factory.ts +0 -844
  572. package/types/factories/CERC20__factory.ts +0 -381
  573. package/types/factories/CSDTMock__factory.ts +0 -844
  574. package/types/factories/CUSDCMock__factory.ts +0 -844
  575. package/types/factories/ClaimersDistribution__factory.ts +0 -430
  576. package/types/factories/CompUSDMockOracle__factory.ts +0 -75
  577. package/types/factories/CompoundStakingFactory__factory.ts +0 -249
  578. package/types/factories/CompoundVotingMachine__factory.ts +0 -1208
  579. package/types/factories/ContextUpgradeable__factory.ts +0 -39
  580. package/types/factories/ContributionCalc__factory.ts +0 -83
  581. package/types/factories/Controller__factory.ts +0 -359
  582. package/types/factories/DAIMock__factory.ts +0 -783
  583. package/types/factories/DAOContract__factory.ts +0 -118
  584. package/types/factories/DAOUpgradeableContract__factory.ts +0 -227
  585. package/types/factories/DaiEthPriceMockOracle__factory.ts +0 -79
  586. package/types/factories/DecimalsMock__factory.ts +0 -755
  587. package/types/factories/DistributionBridgeMock__factory.ts +0 -312
  588. package/types/factories/DistributionHelperTestHelper__factory.ts +0 -1008
  589. package/types/factories/DistributionHelperTest__factory.ts +0 -975
  590. package/types/factories/DistributionHelper__factory.ts +0 -971
  591. package/types/factories/DonationsStaking__factory.ts +0 -580
  592. package/types/factories/EIP712Upgradeable__factory.ts +0 -39
  593. package/types/factories/ERC165Upgradeable__factory.ts +0 -58
  594. package/types/factories/ERC165__factory.ts +0 -39
  595. package/types/factories/ERC1967Proxy__factory.ts +0 -130
  596. package/types/factories/ERC1967UpgradeUpgradeable__factory.ts +0 -88
  597. package/types/factories/ERC1967Upgrade__factory.ts +0 -71
  598. package/types/factories/ERC20BurnableUpgradeable__factory.ts +0 -344
  599. package/types/factories/ERC20PausableUpgradeable__factory.ts +0 -352
  600. package/types/factories/ERC20PermitUpgradeable__factory.ts +0 -388
  601. package/types/factories/ERC20Permit__factory.ts +0 -111
  602. package/types/factories/ERC20PresetMinterPauserUpgradeable__factory.ts +0 -827
  603. package/types/factories/ERC20Upgradeable__factory.ts +0 -345
  604. package/types/factories/ERC20WithTokenInfo__factory.ts +0 -248
  605. package/types/factories/ERC20__factory.ts +0 -285
  606. package/types/factories/ERC677Receiver__factory.ts +0 -55
  607. package/types/factories/ERC677__factory.ts +0 -75
  608. package/types/factories/EthUSDMockOracle__factory.ts +0 -108
  609. package/types/factories/EventsEmitter__factory.ts +0 -84
  610. package/types/factories/ExchangeHelper__factory.ts +0 -427
  611. package/types/factories/Faucet__factory.ts +0 -826
  612. package/types/factories/FeesFormulaMock__factory.ts +0 -132
  613. package/types/factories/FuseFaucetV2__factory.ts +0 -592
  614. package/types/factories/FuseFaucet__factory.ts +0 -386
  615. package/types/factories/FuseStakingV3__factory.ts +0 -806
  616. package/types/factories/GDFaucet__factory.ts +0 -188
  617. package/types/factories/GReputation__factory.ts +0 -1490
  618. package/types/factories/GasPriceMockOracle__factory.ts +0 -88
  619. package/types/factories/GlobalConstraintInterface__factory.ts +0 -72
  620. package/types/factories/GoodAaveStakingV2__factory.ts +0 -1240
  621. package/types/factories/GoodAaveStaking__factory.ts +0 -1276
  622. package/types/factories/GoodCompoundStakingTest__factory.ts +0 -1470
  623. package/types/factories/GoodCompoundStakingV2__factory.ts +0 -1182
  624. package/types/factories/GoodCompoundStaking__factory.ts +0 -1316
  625. package/types/factories/GoodDollarMintBurnWrapper__factory.ts +0 -1330
  626. package/types/factories/GoodDollarStakingMock__factory.ts +0 -1497
  627. package/types/factories/GoodDollarStaking__factory.ts +0 -1469
  628. package/types/factories/GoodFundManagerTest__factory.ts +0 -801
  629. package/types/factories/GoodFundManager__factory.ts +0 -759
  630. package/types/factories/GoodMarketMaker__factory.ts +0 -687
  631. package/types/factories/GoodReserveCDai__factory.ts +0 -1489
  632. package/types/factories/GovernanceStaking__factory.ts +0 -948
  633. package/types/factories/IAccessControlEnumerableUpgradeable__factory.ts +0 -247
  634. package/types/factories/IAccessControlUpgradeable__factory.ts +0 -202
  635. package/types/factories/IAccessControl__factory.ts +0 -198
  636. package/types/factories/IAdminWallet__factory.ts +0 -75
  637. package/types/factories/IBeacon__factory.ts +0 -36
  638. package/types/factories/IConsensus__factory.ts +0 -116
  639. package/types/factories/IDonationStaking__factory.ts +0 -33
  640. package/types/factories/IERC1271Upgradeable__factory.ts +0 -50
  641. package/types/factories/IERC165Upgradeable__factory.ts +0 -45
  642. package/types/factories/IERC165__factory.ts +0 -42
  643. package/types/factories/IERC1820Registry__factory.ts +0 -239
  644. package/types/factories/IERC1822ProxiableUpgradeable__factory.ts +0 -43
  645. package/types/factories/IERC1822Proxiable__factory.ts +0 -39
  646. package/types/factories/IERC20MetadataUpgradeable__factory.ts +0 -252
  647. package/types/factories/IERC20Metadata__factory.ts +0 -248
  648. package/types/factories/IERC20PermitUpgradeable__factory.ts +0 -105
  649. package/types/factories/IERC20Permit__factory.ts +0 -98
  650. package/types/factories/IERC20Upgradeable__factory.ts +0 -209
  651. package/types/factories/IERC20__factory.ts +0 -203
  652. package/types/factories/IERC2917__factory.ts +0 -493
  653. package/types/factories/IERC777Recipient__factory.ts +0 -64
  654. package/types/factories/IERC777Sender__factory.ts +0 -61
  655. package/types/factories/IERC777__factory.ts +0 -414
  656. package/types/factories/IFeesFormula__factory.ts +0 -57
  657. package/types/factories/IFirstClaimPool__factory.ts +0 -65
  658. package/types/factories/IGoodDollarCustom__factory.ts +0 -370
  659. package/types/factories/IGoodDollarStakingTest__factory.ts +0 -68
  660. package/types/factories/IGoodDollar__factory.ts +0 -595
  661. package/types/factories/IGoodStaking__factory.ts +0 -175
  662. package/types/factories/IGovernanceStaking__factory.ts +0 -39
  663. package/types/factories/IHasRouter__factory.ts +0 -36
  664. package/types/factories/IIdentityV2__factory.ts +0 -331
  665. package/types/factories/IIdentity__factory.ts +0 -284
  666. package/types/factories/ILayerZeroFeeEstimator__factory.ts +0 -79
  667. package/types/factories/IMessagePassingBridge__factory.ts +0 -446
  668. package/types/factories/IMultichainRouter__factory.ts +0 -82
  669. package/types/factories/INameService__factory.ts +0 -42
  670. package/types/factories/IStakingUpgrade__factory.ts +0 -50
  671. package/types/factories/IStaticOracle__factory.ts +0 -407
  672. package/types/factories/ISuperAgreement__factory.ts +0 -78
  673. package/types/factories/ISuperApp__factory.ts +0 -272
  674. package/types/factories/ISuperGoodDollar__factory.ts +0 -2147
  675. package/types/factories/ISuperTokenFactory__factory.ts +0 -271
  676. package/types/factories/ISuperToken__factory.ts +0 -1682
  677. package/types/factories/ISuperfluidGovernance__factory.ts +0 -264
  678. package/types/factories/ISuperfluidToken__factory.ts +0 -697
  679. package/types/factories/ISuperfluid__factory.ts +0 -1143
  680. package/types/factories/ISwapRouter__factory.ts +0 -217
  681. package/types/factories/IUBIScheme__factory.ts +0 -68
  682. package/types/factories/IUniswapV3Factory__factory.ts +0 -222
  683. package/types/factories/IWrapper__factory.ts +0 -71
  684. package/types/factories/IdentityFix__factory.ts +0 -110
  685. package/types/factories/IdentityMock__factory.ts +0 -346
  686. package/types/factories/IdentityV2__factory.ts +0 -1147
  687. package/types/factories/IncentiveControllerMock__factory.ts +0 -166
  688. package/types/factories/Initializable__factory.ts +0 -36
  689. package/types/factories/IntVoteInterface__factory.ts +0 -349
  690. package/types/factories/InvitesFuseV2__factory.ts +0 -571
  691. package/types/factories/InvitesV1__factory.ts +0 -553
  692. package/types/factories/InvitesV2__factory.ts +0 -688
  693. package/types/factories/LendingPoolMock__factory.ts +0 -927
  694. package/types/factories/MultiBaseGovernanceShareField__factory.ts +0 -240
  695. package/types/factories/Multicall__factory.ts +0 -215
  696. package/types/factories/MultichainBridgeHelper__factory.ts +0 -134
  697. package/types/factories/MultichainFeeFormula__factory.ts +0 -113
  698. package/types/factories/MultichainRouterMock__factory.ts +0 -141
  699. package/types/factories/NameService__factory.ts +0 -290
  700. package/types/factories/OldMarketMaker__factory.ts +0 -62
  701. package/types/factories/OneTimePaymentsV2__factory.ts +0 -369
  702. package/types/factories/OneTimePayments__factory.ts +0 -323
  703. package/types/factories/OverMintTesterRegularStake__factory.ts +0 -156
  704. package/types/factories/OverMintTester__factory.ts +0 -152
  705. package/types/factories/OwnableUpgradeable__factory.ts +0 -91
  706. package/types/factories/PausableControl__factory.ts +0 -84
  707. package/types/factories/PausableUpgradeable__factory.ts +0 -78
  708. package/types/factories/Pausable__factory.ts +0 -62
  709. package/types/factories/PayableMock__factory.ts +0 -66
  710. package/types/factories/PegSwap__factory.ts +0 -46
  711. package/types/factories/ProtocolUpgradeFuseRecover__factory.ts +0 -146
  712. package/types/factories/ProtocolUpgradeFuse__factory.ts +0 -142
  713. package/types/factories/ProtocolUpgradeRecover__factory.ts +0 -184
  714. package/types/factories/ProtocolUpgrade__factory.ts +0 -207
  715. package/types/factories/ProxyAdmin__factory.ts +0 -128
  716. package/types/factories/ProxyFactory1967__factory.ts +0 -223
  717. package/types/factories/Proxy__factory.ts +0 -28
  718. package/types/factories/ReentrancyGuardUpgradeable__factory.ts +0 -43
  719. package/types/factories/ReputationInterface__factory.ts +0 -168
  720. package/types/factories/ReputationTestHelper__factory.ts +0 -141
  721. package/types/factories/Reputation__factory.ts +0 -693
  722. package/types/factories/Reserve__factory.ts +0 -52
  723. package/types/factories/RewardsMinter__factory.ts +0 -47
  724. package/types/factories/SchemeRegistrar__factory.ts +0 -114
  725. package/types/factories/SelfApprove__factory.ts +0 -46
  726. package/types/factories/SimpleStakingV2__factory.ts +0 -999
  727. package/types/factories/SimpleStaking__factory.ts +0 -1058
  728. package/types/factories/SixteenDecimalsTokenMock__factory.ts +0 -747
  729. package/types/factories/StakersDistribution__factory.ts +0 -617
  730. package/types/factories/StakingMockFixedAPY__factory.ts +0 -745
  731. package/types/factories/StakingRewardsFixedAPY__factory.ts +0 -287
  732. package/types/factories/Staking__factory.ts +0 -74
  733. package/types/factories/SuperGoodDollar__factory.ts +0 -2680
  734. package/types/factories/SuperToken__factory.ts +0 -1809
  735. package/types/factories/SuperfluidToken__factory.ts +0 -697
  736. package/types/factories/SwapHelperTest__factory.ts +0 -96
  737. package/types/factories/TokenInfo__factory.ts +0 -62
  738. package/types/factories/TwentyDecimalsTokenMock__factory.ts +0 -747
  739. package/types/factories/UBISchemeV2__factory.ts +0 -837
  740. package/types/factories/UBIScheme__factory.ts +0 -1034
  741. package/types/factories/USDCMock__factory.ts +0 -740
  742. package/types/factories/UUPSProxiable__factory.ts +0 -101
  743. package/types/factories/UUPSProxy__factory.ts +0 -80
  744. package/types/factories/UUPSUpgradeable__factory.ts +0 -128
  745. package/types/factories/UniswapFactory__factory.ts +0 -50
  746. package/types/factories/UniswapPair__factory.ts +0 -117
  747. package/types/factories/UniswapV2SwapHelper__factory.ts +0 -101
  748. package/types/factories/Uniswap__factory.ts +0 -272
  749. package/types/factories/UpgradableMock2__factory.ts +0 -236
  750. package/types/factories/UpgradableMock3__factory.ts +0 -249
  751. package/types/factories/UpgradableMock4__factory.ts +0 -249
  752. package/types/factories/UpgradableMock__factory.ts +0 -262
@@ -337,6 +337,40 @@
337
337
  "stateMutability": "nonpayable",
338
338
  "type": "function"
339
339
  },
340
+ {
341
+ "inputs": [
342
+ {
343
+ "internalType": "address[]",
344
+ "name": "_contracts",
345
+ "type": "address[]"
346
+ },
347
+ {
348
+ "internalType": "bytes[]",
349
+ "name": "_datas",
350
+ "type": "bytes[]"
351
+ },
352
+ {
353
+ "internalType": "uint256[]",
354
+ "name": "_values",
355
+ "type": "uint256[]"
356
+ }
357
+ ],
358
+ "name": "genericCallBatch",
359
+ "outputs": [
360
+ {
361
+ "internalType": "bool",
362
+ "name": "success",
363
+ "type": "bool"
364
+ },
365
+ {
366
+ "internalType": "bytes",
367
+ "name": "returnValue",
368
+ "type": "bytes"
369
+ }
370
+ ],
371
+ "stateMutability": "nonpayable",
372
+ "type": "function"
373
+ },
340
374
  {
341
375
  "inputs": [],
342
376
  "name": "getIdentity",
@@ -790,8 +824,8 @@
790
824
  "type": "receive"
791
825
  }
792
826
  ],
793
- "bytecode": "0x60a06040523060805234801561001457600080fd5b506080516127bc61004c600039600081816108d40152818161091401528181610e3001528181610e700152610ee801526127bc6000f3fe60806040526004361061018d5760003560e01c806301ffc9a714610199578063133d93a1146101ce578063248a9ca3146101fe57806324d7806c1461021e5780632beeaca41461023e5780632bf16458146102605780632f2ff15d1461028e57806336568abe146102ae5780633659cfe6146102ce57806336afc6fa146102ee5780633771dcf814610310578063377e11e0146103305780633e6326fc146103505780634f1ef2861461037157806352d1902d146103845780635b61e2c1146103995780635fc944e9146103d257806378c8cda7146103f25780637b76ac91146104125780637e2c13551461043a5780637fad46f21461045a57806391d148541461047a578063971d902c1461049a5780639c54df64146104ba578063a217fddf146104da578063bf64e66c146104ef578063c48924961461051d578063d547741f14610533578063db62683814610553578063e6ea393914610573578063eb91e65114610589578063f3da9f05146105a9578063f9f92be4146105bf578063fe173b97146105df57600080fd5b3661019457005b600080fd5b3480156101a557600080fd5b506101b96101b4366004611ebe565b6105f5565b60405190151581526020015b60405180910390f35b3480156101da57600080fd5b506101f060008051602061270083398151915281565b6040519081526020016101c5565b34801561020a57600080fd5b506101f0610219366004611ee8565b61062c565b34801561022a57600080fd5b506101b9610239366004611f16565b610641565b34801561024a57600080fd5b5061025e610259366004611fe8565b61065b565b005b34801561026c57600080fd5b5061028061027b366004612037565b610725565b6040516101c59291906120df565b34801561029a57600080fd5b5061025e6102a9366004612102565b61082f565b3480156102ba57600080fd5b5061025e6102c9366004612102565b610850565b3480156102da57600080fd5b5061025e6102e9366004611f16565b6108ca565b3480156102fa57600080fd5b50610303610992565b6040516101c59190612132565b34801561031c57600080fd5b5061025e61032b366004611f16565b610a1e565b34801561033c57600080fd5b5061025e61034b366004612169565b610d6e565b34801561035c57600080fd5b5061010054610303906001600160a01b031681565b61025e61037f366004611fe8565b610e26565b34801561039057600080fd5b506101f0610edb565b3480156103a557600080fd5b50610102546103ba906001600160401b031681565b6040516001600160401b0390911681526020016101c5565b3480156103de57600080fd5b5061025e6103ed366004612207565b610f89565b3480156103fe57600080fd5b5061025e61040d366004611f16565b6110b0565b34801561041e57600080fd5b50610102546103ba90600160401b90046001600160401b031681565b34801561044657600080fd5b5061025e610455366004612229565b611149565b34801561046657600080fd5b5061025e6104753660046122ca565b611182565b34801561048657600080fd5b506101b9610495366004612102565b61130e565b3480156104a657600080fd5b5061025e6104b5366004612333565b611339565b3480156104c657600080fd5b5061025e6104d5366004612392565b6113fa565b3480156104e657600080fd5b506101f0600081565b3480156104fb57600080fd5b506101f061050a366004611f16565b6101046020526000908152604090205481565b34801561052957600080fd5b506101f060fd5481565b34801561053f57600080fd5b5061025e61054e366004612102565b61152d565b34801561055f57600080fd5b5061025e61056e366004611ee8565b611549565b34801561057f57600080fd5b506101f060fc5481565b34801561059557600080fd5b5061025e6105a4366004611f16565b611567565b3480156105b557600080fd5b506101f060fe5481565b3480156105cb57600080fd5b5061025e6105da366004611f16565b6115bf565b3480156105eb57600080fd5b506101f060ff5481565b60006001600160e01b03198216637965db0b60e01b148061062657506301ffc9a760e01b6001600160e01b03198316145b92915050565b600090815260c9602052604090206001015490565b60006106266000805160206127008339815191528361130e565b61066433610641565b6106895760405162461bcd60e51b8152600401610680906123c6565b60405180910390fd5b610691610992565b6001600160a01b0316631b02709983836040518363ffffffff1660e01b81526004016106be9291906123f3565b600060405180830381600087803b1580156106d857600080fd5b505af11580156106ec573d6000803e3d6000fd5b50505050600260fd546106ff919061242d565b333111801590610713575061071333610641565b156107215761072133611617565b5050565b6000606061073233610641565b61074e5760405162461bcd60e51b8152600401610680906123c6565b846001600160a01b03168385604051610767919061244f565b60006040518083038185875af1925050503d80600081146107a4576040519150601f19603f3d011682016040523d82523d6000602084013e6107a9565b606091505b5060405191935091506001600160a01b038616907f534b52c783549f909f9e743120524d0b7154058e4a54cdc895c2c0b587a1c7e0906107ee9087908790879061246b565b60405180910390a2600260fd54610805919061242d565b333111801590610819575061081933610641565b156108275761082733611617565b935093915050565b6108388261062c565b61084181611721565b61084b838361172b565b505050565b6001600160a01b03811633146108c05760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610680565b61072182826117b1565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109125760405162461bcd60e51b815260040161068090612495565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610944611818565b6001600160a01b03161461096a5760405162461bcd60e51b8152600401610680906124cf565b61097381611834565b6040805160008082526020820190925261098f9183919061185b565b50565b6101005460405163bf40fac160e01b81526020600482015260086024820152674944454e5449545960c01b60448201526000916001600160a01b03169063bf40fac190606401602060405180830381865afa1580156109f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a199190612509565b905090565b610a2733610641565b610a435760405162461bcd60e51b8152600401610680906123c6565b6101005460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac190606401602060405180830381865afa158015610aa8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acc9190612509565b90506000816001600160a01b03166370a08231846040518263ffffffff1660e01b8152600401610afc9190612132565b602060405180830381865afa158015610b19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3d9190612526565b9050610b47610992565b6001600160a01b0316633af32abf846040518263ffffffff1660e01b8152600401610b729190612132565b602060405180830381865afa158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb3919061253f565b80610bd757506001600160a01b038316600090815261010460205260409020548114155b610c1a5760405162461bcd60e51b8152602060048201526014602482015273155cd95c881a185cc81b9bdd081d5cd9590811c960621b6044820152606401610680565b60fe546101016000610c2a6119c6565b81526020019081526020016000206000856001600160a01b03166001600160a01b031681526020019081526020016000205410610cc25760405162461bcd60e51b815260206004820152603060248201527f557365722077616c6c657420686173206265656e20746f7070656420746f6f2060448201526f6d616e792074696d657320746f64617960801b6064820152608401610680565b600460fc54610cd1919061242d565b836001600160a01b03163110610d165760405162461bcd60e51b815260206004820152600a60248201526968617342616c616e636560b01b6044820152606401610680565b6001600160a01b038316600090815261010460205260409020819055610d3b83611617565b5050600260fd54610d4c919061242d565b333111801590610d605750610d6033610641565b1561098f5761098f33611617565b610d7960003361130e565b610d955760405162461bcd60e51b815260040161068090612561565b60005b8151811015610de457610dd2600080516020612700833981519152838381518110610dc557610dc5612584565b602002602001015161152d565b80610ddc8161259a565b915050610d98565b5080604051610df391906125b3565b604051908190038120907fd5e6894641b5030a67e637ab2e12da64d8aec689f8bd1328de2b04d6a439c81090600090a250565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610e6e5760405162461bcd60e51b815260040161068090612495565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ea0611818565b6001600160a01b031614610ec65760405162461bcd60e51b8152600401610680906124cf565b610ecf82611834565b6107218282600161185b565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f765760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610680565b5060008051602061274083398151915290565b60fb548210610fd05760405162461bcd60e51b815260206004820152601360248201527241646d696e206c69737420697320656d70747960681b6044820152606401610680565b815b60fb5481108015610fe257508181105b156110a05761101760fb8281548110610ffd57610ffd612584565b6000918252602090912001546001600160a01b0316610641565b80156110595750600260fd5461102d919061242d565b60fb828154811061104057611040612584565b6000918252602090912001546001600160a01b03163111155b1561108e5761108e60fb828154811061107457611074612584565b6000918252602090912001546001600160a01b0316611617565b806110988161259a565b915050610fd2565b50600260fd546106ff919061242d565b6110b933610641565b6110d55760405162461bcd60e51b8152600401610680906123c6565b6110dd610992565b6001600160a01b031663291d9549826040518263ffffffff1660e01b81526004016111089190612132565b600060405180830381600087803b15801561112257600080fd5b505af1158015611136573d6000803e3d6000fd5b50505050600260fd54610d4c919061242d565b61115460003361130e565b6111705760405162461bcd60e51b815260040161068090612561565b61117c848484846119d5565b50505050565b600054610100900460ff16158080156111a25750600054600160ff909116105b806111c357506111b1306119fc565b1580156111c3575060005460ff166001145b6112265760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610680565b6000805460ff191660011790558015611249576000805461ff0019166101001790555b611251611a0b565b61125c600084611a78565b611267600033611a78565b61127a620927c0628954406003856119d5565b61010080546001600160a01b0319166001600160a01b0386161790558451156112a6576112a6856113fa565b336001600160a01b038416146112c1576112c160003361152d565b8015611307576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61134233610641565b61135e5760405162461bcd60e51b8152600401610680906123c6565b611366610992565b6001600160a01b031663e737031a858585856040518563ffffffff1660e01b815260040161139794939291906125f2565b600060405180830381600087803b1580156113b157600080fd5b505af11580156113c5573d6000803e3d6000fd5b50505050600260fd546113d8919061242d565b3331118015906113ec57506113ec33610641565b1561117c5761117c33611617565b61140560003361130e565b6114215760405162461bcd60e51b815260040161068090612561565b60005b81518110156114eb5761144f82828151811061144257611442612584565b6020026020010151610641565b15156000036114d95761148960008051602061270083398151915283838151811061147c5761147c612584565b602002602001015161082f565b60fb82828151811061149d5761149d612584565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790555b806114e38161259a565b915050611424565b50806040516114fa91906125b3565b604051908190038120907f45486b220020cc2482ad1a5e0ae4d5f0b5372cea1b48173f6273c616a504726990600090a250565b6115368261062c565b61153f81611721565b61084b83836117b1565b611558816103ed816032612629565b600260fd54610d4c919061242d565b61157033610641565b61158c5760405162461bcd60e51b8152600401610680906123c6565b611594610992565b6001600160a01b031663c6a276c2826040518263ffffffff1660e01b81526004016111089190612132565b6115c833610641565b6115e45760405162461bcd60e51b8152600401610680906123c6565b6115ec610992565b6001600160a01b031663188efc16826040518263ffffffff1660e01b81526004016111089190612132565b600161010160006116266119c6565b81526020019081526020016000206000836001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116669190612629565b909155506000905061167782610641565b6116835760fc54611687565b60fd545b9050600061169f6001600160a01b038416318361263c565b6040519091506001600160a01b0384169082156108fc029083906000818181858888f193505050501580156116d8573d6000803e3d6000fd5b50826001600160a01b03167ff60e56b8021f6ac77bd50d4acdbed9ad9e85107144d43090774a9ebe5ffed9858260405161171491815260200190565b60405180910390a2505050565b61098f8133611a82565b611735828261130e565b61072157600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561176d3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6117bb828261130e565b1561072157600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600080516020612740833981519152546001600160a01b031690565b61183f60003361130e565b61098f5760405162461bcd60e51b815260040161068090612561565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561188e5761084b83611adb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156118e8575060408051601f3d908101601f191682019092526118e591810190612526565b60015b61194b5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610680565b60008051602061274083398151915281146119ba5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610680565b5061084b838383611b75565b6000610a19620151804261242d565b60ff8190556119e4818561264f565b60fc556119f1818461264f565b60fd555060fe555050565b6001600160a01b03163b151590565b600054610100900460ff16611a765760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610680565b565b610721828261172b565b611a8c828261130e565b61072157611a9981611b9a565b611aa4836020611bac565b604051602001611ab5929190612666565b60408051601f198184030181529082905262461bcd60e51b8252610680916004016126d5565b611ae4816119fc565b611b465760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610680565b60008051602061274083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611b7e83611d4e565b600082511180611b8b5750805b1561084b5761117c8383611d8e565b60606106266001600160a01b03831660145b60606000611bbb83600261264f565b611bc6906002612629565b6001600160401b03811115611bdd57611bdd611f33565b6040519080825280601f01601f191660200182016040528015611c07576020820181803683370190505b509050600360fc1b81600081518110611c2257611c22612584565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611c5157611c51612584565b60200101906001600160f81b031916908160001a9053506000611c7584600261264f565b611c80906001612629565b90505b6001811115611cf8576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611cb457611cb4612584565b1a60f81b828281518110611cca57611cca612584565b60200101906001600160f81b031916908160001a90535060049490941c93611cf1816126e8565b9050611c83565b508315611d475760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610680565b9392505050565b611d5781611adb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060611d99836119fc565b611df45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610680565b600080846001600160a01b031684604051611e0f919061244f565b600060405180830381855af49150503d8060008114611e4a576040519150601f19603f3d011682016040523d82523d6000602084013e611e4f565b606091505b5091509150611e77828260405180606001604052806027815260200161276060279139611e80565b95945050505050565b60608315611e8f575081611d47565b611d478383815115611ea45781518083602001fd5b8060405162461bcd60e51b815260040161068091906126d5565b600060208284031215611ed057600080fd5b81356001600160e01b031981168114611d4757600080fd5b600060208284031215611efa57600080fd5b5035919050565b6001600160a01b038116811461098f57600080fd5b600060208284031215611f2857600080fd5b8135611d4781611f01565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611f7157611f71611f33565b604052919050565b600082601f830112611f8a57600080fd5b81356001600160401b03811115611fa357611fa3611f33565b611fb6601f8201601f1916602001611f49565b818152846020838601011115611fcb57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215611ffb57600080fd5b823561200681611f01565b915060208301356001600160401b0381111561202157600080fd5b61202d85828601611f79565b9150509250929050565b60008060006060848603121561204c57600080fd5b833561205781611f01565b925060208401356001600160401b0381111561207257600080fd5b61207e86828701611f79565b925050604084013590509250925092565b60005b838110156120aa578181015183820152602001612092565b50506000910152565b600081518084526120cb81602086016020860161208f565b601f01601f19169290920160200192915050565b82151581526040602082015260006120fa60408301846120b3565b949350505050565b6000806040838503121561211557600080fd5b82359150602083013561212781611f01565b809150509250929050565b6001600160a01b0391909116815260200190565b60006001600160401b0382111561215f5761215f611f33565b5060051b60200190565b6000602080838503121561217c57600080fd5b82356001600160401b0381111561219257600080fd5b8301601f810185136121a357600080fd5b80356121b66121b182612146565b611f49565b81815260059190911b820183019083810190878311156121d557600080fd5b928401925b828410156121fc5783356121ed81611f01565b825292840192908401906121da565b979650505050505050565b6000806040838503121561221a57600080fd5b50508035926020909101359150565b6000806000806080858703121561223f57600080fd5b5050823594602084013594506040840135936060013592509050565b600082601f83011261226c57600080fd5b8135602061227c6121b183612146565b82815260059290921b8401810191818101908684111561229b57600080fd5b8286015b848110156122bf5780356122b281611f01565b835291830191830161229f565b509695505050505050565b600080600080608085870312156122e057600080fd5b84356001600160401b038111156122f657600080fd5b6123028782880161225b565b945050602085013561231381611f01565b9250604085013561232381611f01565b9396929550929360600135925050565b6000806000806080858703121561234957600080fd5b843561235481611f01565b935060208501356001600160401b0381111561236f57600080fd5b61237b87828801611f79565b949794965050505060408301359260600135919050565b6000602082840312156123a457600080fd5b81356001600160401b038111156123ba57600080fd5b6120fa8482850161225b565b60208082526013908201527221b0b63632b91034b9903737ba1030b236b4b760691b604082015260600190565b6001600160a01b03831681526040602082018190526000906120fa908301846120b3565b634e487b7160e01b600052601160045260246000fd5b60008261244a57634e487b7160e01b600052601260045260246000fd5b500490565b6000825161246181846020870161208f565b9190910192915050565b60608152600061247e60608301866120b3565b602083019490945250901515604090910152919050565b6020808252602c9082015260008051602061272083398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061272083398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561251b57600080fd5b8151611d4781611f01565b60006020828403121561253857600080fd5b5051919050565b60006020828403121561255157600080fd5b81518015158114611d4757600080fd5b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016125ac576125ac612417565b5060010190565b815160009082906020808601845b838110156125e65781516001600160a01b0316855293820193908201906001016125c1565b50929695505050505050565b6001600160a01b0385168152608060208201819052600090612616908301866120b3565b6040830194909452506060015292915050565b8082018082111561062657610626612417565b8181038181111561062657610626612417565b808202811582820484141761062657610626612417565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835161269881601785016020880161208f565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516126c981602884016020880161208f565b01602801949350505050565b602081526000611d4760208301846120b3565b6000816126f7576126f7612417565b50600019019056febf18f3bdda8a65fc5ec294c2c787f805aceec15eed9fe17fdb6588866be113dc46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122000685955045654b6a7acd367a2ed2d5afb1dfb50e31c7e3fb13c8729d01d68fd64736f6c63430008130033",
794
- "deployedBytecode": "0x60806040526004361061018d5760003560e01c806301ffc9a714610199578063133d93a1146101ce578063248a9ca3146101fe57806324d7806c1461021e5780632beeaca41461023e5780632bf16458146102605780632f2ff15d1461028e57806336568abe146102ae5780633659cfe6146102ce57806336afc6fa146102ee5780633771dcf814610310578063377e11e0146103305780633e6326fc146103505780634f1ef2861461037157806352d1902d146103845780635b61e2c1146103995780635fc944e9146103d257806378c8cda7146103f25780637b76ac91146104125780637e2c13551461043a5780637fad46f21461045a57806391d148541461047a578063971d902c1461049a5780639c54df64146104ba578063a217fddf146104da578063bf64e66c146104ef578063c48924961461051d578063d547741f14610533578063db62683814610553578063e6ea393914610573578063eb91e65114610589578063f3da9f05146105a9578063f9f92be4146105bf578063fe173b97146105df57600080fd5b3661019457005b600080fd5b3480156101a557600080fd5b506101b96101b4366004611ebe565b6105f5565b60405190151581526020015b60405180910390f35b3480156101da57600080fd5b506101f060008051602061270083398151915281565b6040519081526020016101c5565b34801561020a57600080fd5b506101f0610219366004611ee8565b61062c565b34801561022a57600080fd5b506101b9610239366004611f16565b610641565b34801561024a57600080fd5b5061025e610259366004611fe8565b61065b565b005b34801561026c57600080fd5b5061028061027b366004612037565b610725565b6040516101c59291906120df565b34801561029a57600080fd5b5061025e6102a9366004612102565b61082f565b3480156102ba57600080fd5b5061025e6102c9366004612102565b610850565b3480156102da57600080fd5b5061025e6102e9366004611f16565b6108ca565b3480156102fa57600080fd5b50610303610992565b6040516101c59190612132565b34801561031c57600080fd5b5061025e61032b366004611f16565b610a1e565b34801561033c57600080fd5b5061025e61034b366004612169565b610d6e565b34801561035c57600080fd5b5061010054610303906001600160a01b031681565b61025e61037f366004611fe8565b610e26565b34801561039057600080fd5b506101f0610edb565b3480156103a557600080fd5b50610102546103ba906001600160401b031681565b6040516001600160401b0390911681526020016101c5565b3480156103de57600080fd5b5061025e6103ed366004612207565b610f89565b3480156103fe57600080fd5b5061025e61040d366004611f16565b6110b0565b34801561041e57600080fd5b50610102546103ba90600160401b90046001600160401b031681565b34801561044657600080fd5b5061025e610455366004612229565b611149565b34801561046657600080fd5b5061025e6104753660046122ca565b611182565b34801561048657600080fd5b506101b9610495366004612102565b61130e565b3480156104a657600080fd5b5061025e6104b5366004612333565b611339565b3480156104c657600080fd5b5061025e6104d5366004612392565b6113fa565b3480156104e657600080fd5b506101f0600081565b3480156104fb57600080fd5b506101f061050a366004611f16565b6101046020526000908152604090205481565b34801561052957600080fd5b506101f060fd5481565b34801561053f57600080fd5b5061025e61054e366004612102565b61152d565b34801561055f57600080fd5b5061025e61056e366004611ee8565b611549565b34801561057f57600080fd5b506101f060fc5481565b34801561059557600080fd5b5061025e6105a4366004611f16565b611567565b3480156105b557600080fd5b506101f060fe5481565b3480156105cb57600080fd5b5061025e6105da366004611f16565b6115bf565b3480156105eb57600080fd5b506101f060ff5481565b60006001600160e01b03198216637965db0b60e01b148061062657506301ffc9a760e01b6001600160e01b03198316145b92915050565b600090815260c9602052604090206001015490565b60006106266000805160206127008339815191528361130e565b61066433610641565b6106895760405162461bcd60e51b8152600401610680906123c6565b60405180910390fd5b610691610992565b6001600160a01b0316631b02709983836040518363ffffffff1660e01b81526004016106be9291906123f3565b600060405180830381600087803b1580156106d857600080fd5b505af11580156106ec573d6000803e3d6000fd5b50505050600260fd546106ff919061242d565b333111801590610713575061071333610641565b156107215761072133611617565b5050565b6000606061073233610641565b61074e5760405162461bcd60e51b8152600401610680906123c6565b846001600160a01b03168385604051610767919061244f565b60006040518083038185875af1925050503d80600081146107a4576040519150601f19603f3d011682016040523d82523d6000602084013e6107a9565b606091505b5060405191935091506001600160a01b038616907f534b52c783549f909f9e743120524d0b7154058e4a54cdc895c2c0b587a1c7e0906107ee9087908790879061246b565b60405180910390a2600260fd54610805919061242d565b333111801590610819575061081933610641565b156108275761082733611617565b935093915050565b6108388261062c565b61084181611721565b61084b838361172b565b505050565b6001600160a01b03811633146108c05760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610680565b61072182826117b1565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109125760405162461bcd60e51b815260040161068090612495565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610944611818565b6001600160a01b03161461096a5760405162461bcd60e51b8152600401610680906124cf565b61097381611834565b6040805160008082526020820190925261098f9183919061185b565b50565b6101005460405163bf40fac160e01b81526020600482015260086024820152674944454e5449545960c01b60448201526000916001600160a01b03169063bf40fac190606401602060405180830381865afa1580156109f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a199190612509565b905090565b610a2733610641565b610a435760405162461bcd60e51b8152600401610680906123c6565b6101005460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac190606401602060405180830381865afa158015610aa8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acc9190612509565b90506000816001600160a01b03166370a08231846040518263ffffffff1660e01b8152600401610afc9190612132565b602060405180830381865afa158015610b19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3d9190612526565b9050610b47610992565b6001600160a01b0316633af32abf846040518263ffffffff1660e01b8152600401610b729190612132565b602060405180830381865afa158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb3919061253f565b80610bd757506001600160a01b038316600090815261010460205260409020548114155b610c1a5760405162461bcd60e51b8152602060048201526014602482015273155cd95c881a185cc81b9bdd081d5cd9590811c960621b6044820152606401610680565b60fe546101016000610c2a6119c6565b81526020019081526020016000206000856001600160a01b03166001600160a01b031681526020019081526020016000205410610cc25760405162461bcd60e51b815260206004820152603060248201527f557365722077616c6c657420686173206265656e20746f7070656420746f6f2060448201526f6d616e792074696d657320746f64617960801b6064820152608401610680565b600460fc54610cd1919061242d565b836001600160a01b03163110610d165760405162461bcd60e51b815260206004820152600a60248201526968617342616c616e636560b01b6044820152606401610680565b6001600160a01b038316600090815261010460205260409020819055610d3b83611617565b5050600260fd54610d4c919061242d565b333111801590610d605750610d6033610641565b1561098f5761098f33611617565b610d7960003361130e565b610d955760405162461bcd60e51b815260040161068090612561565b60005b8151811015610de457610dd2600080516020612700833981519152838381518110610dc557610dc5612584565b602002602001015161152d565b80610ddc8161259a565b915050610d98565b5080604051610df391906125b3565b604051908190038120907fd5e6894641b5030a67e637ab2e12da64d8aec689f8bd1328de2b04d6a439c81090600090a250565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610e6e5760405162461bcd60e51b815260040161068090612495565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ea0611818565b6001600160a01b031614610ec65760405162461bcd60e51b8152600401610680906124cf565b610ecf82611834565b6107218282600161185b565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f765760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610680565b5060008051602061274083398151915290565b60fb548210610fd05760405162461bcd60e51b815260206004820152601360248201527241646d696e206c69737420697320656d70747960681b6044820152606401610680565b815b60fb5481108015610fe257508181105b156110a05761101760fb8281548110610ffd57610ffd612584565b6000918252602090912001546001600160a01b0316610641565b80156110595750600260fd5461102d919061242d565b60fb828154811061104057611040612584565b6000918252602090912001546001600160a01b03163111155b1561108e5761108e60fb828154811061107457611074612584565b6000918252602090912001546001600160a01b0316611617565b806110988161259a565b915050610fd2565b50600260fd546106ff919061242d565b6110b933610641565b6110d55760405162461bcd60e51b8152600401610680906123c6565b6110dd610992565b6001600160a01b031663291d9549826040518263ffffffff1660e01b81526004016111089190612132565b600060405180830381600087803b15801561112257600080fd5b505af1158015611136573d6000803e3d6000fd5b50505050600260fd54610d4c919061242d565b61115460003361130e565b6111705760405162461bcd60e51b815260040161068090612561565b61117c848484846119d5565b50505050565b600054610100900460ff16158080156111a25750600054600160ff909116105b806111c357506111b1306119fc565b1580156111c3575060005460ff166001145b6112265760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610680565b6000805460ff191660011790558015611249576000805461ff0019166101001790555b611251611a0b565b61125c600084611a78565b611267600033611a78565b61127a620927c0628954406003856119d5565b61010080546001600160a01b0319166001600160a01b0386161790558451156112a6576112a6856113fa565b336001600160a01b038416146112c1576112c160003361152d565b8015611307576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61134233610641565b61135e5760405162461bcd60e51b8152600401610680906123c6565b611366610992565b6001600160a01b031663e737031a858585856040518563ffffffff1660e01b815260040161139794939291906125f2565b600060405180830381600087803b1580156113b157600080fd5b505af11580156113c5573d6000803e3d6000fd5b50505050600260fd546113d8919061242d565b3331118015906113ec57506113ec33610641565b1561117c5761117c33611617565b61140560003361130e565b6114215760405162461bcd60e51b815260040161068090612561565b60005b81518110156114eb5761144f82828151811061144257611442612584565b6020026020010151610641565b15156000036114d95761148960008051602061270083398151915283838151811061147c5761147c612584565b602002602001015161082f565b60fb82828151811061149d5761149d612584565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790555b806114e38161259a565b915050611424565b50806040516114fa91906125b3565b604051908190038120907f45486b220020cc2482ad1a5e0ae4d5f0b5372cea1b48173f6273c616a504726990600090a250565b6115368261062c565b61153f81611721565b61084b83836117b1565b611558816103ed816032612629565b600260fd54610d4c919061242d565b61157033610641565b61158c5760405162461bcd60e51b8152600401610680906123c6565b611594610992565b6001600160a01b031663c6a276c2826040518263ffffffff1660e01b81526004016111089190612132565b6115c833610641565b6115e45760405162461bcd60e51b8152600401610680906123c6565b6115ec610992565b6001600160a01b031663188efc16826040518263ffffffff1660e01b81526004016111089190612132565b600161010160006116266119c6565b81526020019081526020016000206000836001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116669190612629565b909155506000905061167782610641565b6116835760fc54611687565b60fd545b9050600061169f6001600160a01b038416318361263c565b6040519091506001600160a01b0384169082156108fc029083906000818181858888f193505050501580156116d8573d6000803e3d6000fd5b50826001600160a01b03167ff60e56b8021f6ac77bd50d4acdbed9ad9e85107144d43090774a9ebe5ffed9858260405161171491815260200190565b60405180910390a2505050565b61098f8133611a82565b611735828261130e565b61072157600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561176d3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6117bb828261130e565b1561072157600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600080516020612740833981519152546001600160a01b031690565b61183f60003361130e565b61098f5760405162461bcd60e51b815260040161068090612561565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561188e5761084b83611adb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156118e8575060408051601f3d908101601f191682019092526118e591810190612526565b60015b61194b5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610680565b60008051602061274083398151915281146119ba5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610680565b5061084b838383611b75565b6000610a19620151804261242d565b60ff8190556119e4818561264f565b60fc556119f1818461264f565b60fd555060fe555050565b6001600160a01b03163b151590565b600054610100900460ff16611a765760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610680565b565b610721828261172b565b611a8c828261130e565b61072157611a9981611b9a565b611aa4836020611bac565b604051602001611ab5929190612666565b60408051601f198184030181529082905262461bcd60e51b8252610680916004016126d5565b611ae4816119fc565b611b465760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610680565b60008051602061274083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611b7e83611d4e565b600082511180611b8b5750805b1561084b5761117c8383611d8e565b60606106266001600160a01b03831660145b60606000611bbb83600261264f565b611bc6906002612629565b6001600160401b03811115611bdd57611bdd611f33565b6040519080825280601f01601f191660200182016040528015611c07576020820181803683370190505b509050600360fc1b81600081518110611c2257611c22612584565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611c5157611c51612584565b60200101906001600160f81b031916908160001a9053506000611c7584600261264f565b611c80906001612629565b90505b6001811115611cf8576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611cb457611cb4612584565b1a60f81b828281518110611cca57611cca612584565b60200101906001600160f81b031916908160001a90535060049490941c93611cf1816126e8565b9050611c83565b508315611d475760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610680565b9392505050565b611d5781611adb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060611d99836119fc565b611df45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610680565b600080846001600160a01b031684604051611e0f919061244f565b600060405180830381855af49150503d8060008114611e4a576040519150601f19603f3d011682016040523d82523d6000602084013e611e4f565b606091505b5091509150611e77828260405180606001604052806027815260200161276060279139611e80565b95945050505050565b60608315611e8f575081611d47565b611d478383815115611ea45781518083602001fd5b8060405162461bcd60e51b815260040161068091906126d5565b600060208284031215611ed057600080fd5b81356001600160e01b031981168114611d4757600080fd5b600060208284031215611efa57600080fd5b5035919050565b6001600160a01b038116811461098f57600080fd5b600060208284031215611f2857600080fd5b8135611d4781611f01565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611f7157611f71611f33565b604052919050565b600082601f830112611f8a57600080fd5b81356001600160401b03811115611fa357611fa3611f33565b611fb6601f8201601f1916602001611f49565b818152846020838601011115611fcb57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215611ffb57600080fd5b823561200681611f01565b915060208301356001600160401b0381111561202157600080fd5b61202d85828601611f79565b9150509250929050565b60008060006060848603121561204c57600080fd5b833561205781611f01565b925060208401356001600160401b0381111561207257600080fd5b61207e86828701611f79565b925050604084013590509250925092565b60005b838110156120aa578181015183820152602001612092565b50506000910152565b600081518084526120cb81602086016020860161208f565b601f01601f19169290920160200192915050565b82151581526040602082015260006120fa60408301846120b3565b949350505050565b6000806040838503121561211557600080fd5b82359150602083013561212781611f01565b809150509250929050565b6001600160a01b0391909116815260200190565b60006001600160401b0382111561215f5761215f611f33565b5060051b60200190565b6000602080838503121561217c57600080fd5b82356001600160401b0381111561219257600080fd5b8301601f810185136121a357600080fd5b80356121b66121b182612146565b611f49565b81815260059190911b820183019083810190878311156121d557600080fd5b928401925b828410156121fc5783356121ed81611f01565b825292840192908401906121da565b979650505050505050565b6000806040838503121561221a57600080fd5b50508035926020909101359150565b6000806000806080858703121561223f57600080fd5b5050823594602084013594506040840135936060013592509050565b600082601f83011261226c57600080fd5b8135602061227c6121b183612146565b82815260059290921b8401810191818101908684111561229b57600080fd5b8286015b848110156122bf5780356122b281611f01565b835291830191830161229f565b509695505050505050565b600080600080608085870312156122e057600080fd5b84356001600160401b038111156122f657600080fd5b6123028782880161225b565b945050602085013561231381611f01565b9250604085013561232381611f01565b9396929550929360600135925050565b6000806000806080858703121561234957600080fd5b843561235481611f01565b935060208501356001600160401b0381111561236f57600080fd5b61237b87828801611f79565b949794965050505060408301359260600135919050565b6000602082840312156123a457600080fd5b81356001600160401b038111156123ba57600080fd5b6120fa8482850161225b565b60208082526013908201527221b0b63632b91034b9903737ba1030b236b4b760691b604082015260600190565b6001600160a01b03831681526040602082018190526000906120fa908301846120b3565b634e487b7160e01b600052601160045260246000fd5b60008261244a57634e487b7160e01b600052601260045260246000fd5b500490565b6000825161246181846020870161208f565b9190910192915050565b60608152600061247e60608301866120b3565b602083019490945250901515604090910152919050565b6020808252602c9082015260008051602061272083398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061272083398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561251b57600080fd5b8151611d4781611f01565b60006020828403121561253857600080fd5b5051919050565b60006020828403121561255157600080fd5b81518015158114611d4757600080fd5b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016125ac576125ac612417565b5060010190565b815160009082906020808601845b838110156125e65781516001600160a01b0316855293820193908201906001016125c1565b50929695505050505050565b6001600160a01b0385168152608060208201819052600090612616908301866120b3565b6040830194909452506060015292915050565b8082018082111561062657610626612417565b8181038181111561062657610626612417565b808202811582820484141761062657610626612417565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835161269881601785016020880161208f565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516126c981602884016020880161208f565b01602801949350505050565b602081526000611d4760208301846120b3565b6000816126f7576126f7612417565b50600019019056febf18f3bdda8a65fc5ec294c2c787f805aceec15eed9fe17fdb6588866be113dc46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122000685955045654b6a7acd367a2ed2d5afb1dfb50e31c7e3fb13c8729d01d68fd64736f6c63430008130033",
827
+ "bytecode": "0x60a06040523060805234801561001457600080fd5b50608051612ac861004c600039600081816108ed0152818161092d01528181610e4901528181610e890152610f010152612ac86000f3fe6080604052600436106101985760003560e01c806301ffc9a7146101a4578063133d93a1146101d9578063248a9ca31461020957806324d7806c146102295780632beeaca4146102495780632bf164581461026b5780632f2ff15d1461029957806336568abe146102b95780633659cfe6146102d957806336afc6fa146102f95780633771dcf81461031b578063377e11e01461033b5780633e6326fc1461035b5780634f1ef2861461037c57806352d1902d1461038f5780635b61e2c1146103a45780635fc944e9146103dd57806378c8cda7146103fd5780637b76ac911461041d5780637e2c1355146104455780637fad46f21461046557806391d1485414610485578063971d902c146104a55780639c54df64146104c5578063a217fddf146104e5578063b712a2c1146104fa578063bf64e66c1461051a578063c489249614610548578063d547741f1461055e578063db6268381461057e578063e6ea39391461059e578063eb91e651146105b4578063f3da9f05146105d4578063f9f92be4146105ea578063fe173b971461060a57600080fd5b3661019f57005b600080fd5b3480156101b057600080fd5b506101c46101bf36600461205a565b610620565b60405190151581526020015b60405180910390f35b3480156101e557600080fd5b506101fb6000805160206129ec83398151915281565b6040519081526020016101d0565b34801561021557600080fd5b506101fb610224366004612084565b610657565b34801561023557600080fd5b506101c46102443660046120b2565b61066c565b34801561025557600080fd5b50610269610264366004612184565b610686565b005b34801561027757600080fd5b5061028b6102863660046121d3565b610750565b6040516101d092919061227b565b3480156102a557600080fd5b506102696102b436600461229e565b610848565b3480156102c557600080fd5b506102696102d436600461229e565b610869565b3480156102e557600080fd5b506102696102f43660046120b2565b6108e3565b34801561030557600080fd5b5061030e6109ab565b6040516101d091906122ce565b34801561032757600080fd5b506102696103363660046120b2565b610a37565b34801561034757600080fd5b50610269610356366004612379565b610d87565b34801561036757600080fd5b506101005461030e906001600160a01b031681565b61026961038a366004612184565b610e3f565b34801561039b57600080fd5b506101fb610ef4565b3480156103b057600080fd5b50610102546103c5906001600160401b031681565b6040516001600160401b0390911681526020016101d0565b3480156103e957600080fd5b506102696103f83660046123ad565b610fa2565b34801561040957600080fd5b506102696104183660046120b2565b6110c9565b34801561042957600080fd5b50610102546103c590600160401b90046001600160401b031681565b34801561045157600080fd5b506102696104603660046123cf565b611162565b34801561047157600080fd5b50610269610480366004612465565b61119b565b34801561049157600080fd5b506101c46104a036600461229e565b611327565b3480156104b157600080fd5b506102696104c03660046124ce565b611352565b3480156104d157600080fd5b506102696104e036600461252d565b611413565b3480156104f157600080fd5b506101fb600081565b34801561050657600080fd5b5061028b6105153660046125bc565b611546565b34801561052657600080fd5b506101fb6105353660046120b2565b6101046020526000908152604090205481565b34801561055457600080fd5b506101fb60fd5481565b34801561056a57600080fd5b5061026961057936600461229e565b6116c9565b34801561058a57600080fd5b50610269610599366004612084565b6116e5565b3480156105aa57600080fd5b506101fb60fc5481565b3480156105c057600080fd5b506102696105cf3660046120b2565b611703565b3480156105e057600080fd5b506101fb60fe5481565b3480156105f657600080fd5b506102696106053660046120b2565b61175b565b34801561061657600080fd5b506101fb60ff5481565b60006001600160e01b03198216637965db0b60e01b148061065157506301ffc9a760e01b6001600160e01b03198316145b92915050565b600090815260c9602052604090206001015490565b60006106516000805160206129ec83398151915283611327565b61068f3361066c565b6106b45760405162461bcd60e51b81526004016106ab906126b2565b60405180910390fd5b6106bc6109ab565b6001600160a01b0316631b02709983836040518363ffffffff1660e01b81526004016106e99291906126df565b600060405180830381600087803b15801561070357600080fd5b505af1158015610717573d6000803e3d6000fd5b50505050600260fd5461072a9190612719565b33311180159061073e575061073e3361066c565b1561074c5761074c336117b3565b5050565b6000606061075d3361066c565b6107795760405162461bcd60e51b81526004016106ab906126b2565b846001600160a01b03168385604051610792919061273b565b60006040518083038185875af1925050503d80600081146107cf576040519150601f19603f3d011682016040523d82523d6000602084013e6107d4565b606091505b5060405191935091506001600160a01b03861690600080516020612a0c8339815191529061080790879087908790612757565b60405180910390a2600260fd5461081e9190612719565b33311180159061083257506108323361066c565b1561084057610840336117b3565b935093915050565b61085182610657565b61085a816118bd565b61086483836118c7565b505050565b6001600160a01b03811633146108d95760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016106ab565b61074c828261194d565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361092b5760405162461bcd60e51b81526004016106ab90612781565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661095d6119b4565b6001600160a01b0316146109835760405162461bcd60e51b81526004016106ab906127bb565b61098c816119d0565b604080516000808252602082019092526109a8918391906119f7565b50565b6101005460405163bf40fac160e01b81526020600482015260086024820152674944454e5449545960c01b60448201526000916001600160a01b03169063bf40fac190606401602060405180830381865afa158015610a0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3291906127f5565b905090565b610a403361066c565b610a5c5760405162461bcd60e51b81526004016106ab906126b2565b6101005460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac190606401602060405180830381865afa158015610ac1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae591906127f5565b90506000816001600160a01b03166370a08231846040518263ffffffff1660e01b8152600401610b1591906122ce565b602060405180830381865afa158015610b32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b569190612812565b9050610b606109ab565b6001600160a01b0316633af32abf846040518263ffffffff1660e01b8152600401610b8b91906122ce565b602060405180830381865afa158015610ba8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcc919061282b565b80610bf057506001600160a01b038316600090815261010460205260409020548114155b610c335760405162461bcd60e51b8152602060048201526014602482015273155cd95c881a185cc81b9bdd081d5cd9590811c960621b60448201526064016106ab565b60fe546101016000610c43611b62565b81526020019081526020016000206000856001600160a01b03166001600160a01b031681526020019081526020016000205410610cdb5760405162461bcd60e51b815260206004820152603060248201527f557365722077616c6c657420686173206265656e20746f7070656420746f6f2060448201526f6d616e792074696d657320746f64617960801b60648201526084016106ab565b600460fc54610cea9190612719565b836001600160a01b03163110610d2f5760405162461bcd60e51b815260206004820152600a60248201526968617342616c616e636560b01b60448201526064016106ab565b6001600160a01b038316600090815261010460205260409020819055610d54836117b3565b5050600260fd54610d659190612719565b333111801590610d795750610d793361066c565b156109a8576109a8336117b3565b610d92600033611327565b610dae5760405162461bcd60e51b81526004016106ab9061284d565b60005b8151811015610dfd57610deb6000805160206129ec833981519152838381518110610dde57610dde612870565b60200260200101516116c9565b80610df581612886565b915050610db1565b5080604051610e0c919061289f565b604051908190038120907fd5e6894641b5030a67e637ab2e12da64d8aec689f8bd1328de2b04d6a439c81090600090a250565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610e875760405162461bcd60e51b81526004016106ab90612781565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610eb96119b4565b6001600160a01b031614610edf5760405162461bcd60e51b81526004016106ab906127bb565b610ee8826119d0565b61074c828260016119f7565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f8f5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016106ab565b50600080516020612a4c83398151915290565b60fb548210610fe95760405162461bcd60e51b815260206004820152601360248201527241646d696e206c69737420697320656d70747960681b60448201526064016106ab565b815b60fb5481108015610ffb57508181105b156110b95761103060fb828154811061101657611016612870565b6000918252602090912001546001600160a01b031661066c565b80156110725750600260fd546110469190612719565b60fb828154811061105957611059612870565b6000918252602090912001546001600160a01b03163111155b156110a7576110a760fb828154811061108d5761108d612870565b6000918252602090912001546001600160a01b03166117b3565b806110b181612886565b915050610feb565b50600260fd5461072a9190612719565b6110d23361066c565b6110ee5760405162461bcd60e51b81526004016106ab906126b2565b6110f66109ab565b6001600160a01b031663291d9549826040518263ffffffff1660e01b815260040161112191906122ce565b600060405180830381600087803b15801561113b57600080fd5b505af115801561114f573d6000803e3d6000fd5b50505050600260fd54610d659190612719565b61116d600033611327565b6111895760405162461bcd60e51b81526004016106ab9061284d565b61119584848484611b71565b50505050565b600054610100900460ff16158080156111bb5750600054600160ff909116105b806111dc57506111ca30611b98565b1580156111dc575060005460ff166001145b61123f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016106ab565b6000805460ff191660011790558015611262576000805461ff0019166101001790555b61126a611ba7565b611275600084611c14565b611280600033611c14565b611293620927c062895440600385611b71565b61010080546001600160a01b0319166001600160a01b0386161790558451156112bf576112bf85611413565b336001600160a01b038416146112da576112da6000336116c9565b8015611320576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61135b3361066c565b6113775760405162461bcd60e51b81526004016106ab906126b2565b61137f6109ab565b6001600160a01b031663e737031a858585856040518563ffffffff1660e01b81526004016113b094939291906128de565b600060405180830381600087803b1580156113ca57600080fd5b505af11580156113de573d6000803e3d6000fd5b50505050600260fd546113f19190612719565b33311180159061140557506114053361066c565b1561119557611195336117b3565b61141e600033611327565b61143a5760405162461bcd60e51b81526004016106ab9061284d565b60005b81518110156115045761146882828151811061145b5761145b612870565b602002602001015161066c565b15156000036114f2576114a26000805160206129ec83398151915283838151811061149557611495612870565b6020026020010151610848565b60fb8282815181106114b6576114b6612870565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790555b806114fc81612886565b91505061143d565b5080604051611513919061289f565b604051908190038120907f45486b220020cc2482ad1a5e0ae4d5f0b5372cea1b48173f6273c616a504726990600090a250565b600060606115533361066c565b61156f5760405162461bcd60e51b81526004016106ab906126b2565b60005b85518110156116b95785818151811061158d5761158d612870565b60200260200101516001600160a01b03168482815181106115b0576115b0612870565b60200260200101518683815181106115ca576115ca612870565b60200260200101516040516115df919061273b565b60006040518083038185875af1925050503d806000811461161c576040519150601f19603f3d011682016040523d82523d6000602084013e611621565b606091505b508751919450925086908290811061163b5761163b612870565b60200260200101516001600160a01b0316600080516020612a0c83398151915286838151811061166d5761166d612870565b602002602001015186848151811061168757611687612870565b60200260200101518660405161169f93929190612757565b60405180910390a2806116b181612886565b915050611572565b50600260fd5461081e9190612719565b6116d282610657565b6116db816118bd565b610864838361194d565b6116f4816103f8816032612915565b600260fd54610d659190612719565b61170c3361066c565b6117285760405162461bcd60e51b81526004016106ab906126b2565b6117306109ab565b6001600160a01b031663c6a276c2826040518263ffffffff1660e01b815260040161112191906122ce565b6117643361066c565b6117805760405162461bcd60e51b81526004016106ab906126b2565b6117886109ab565b6001600160a01b031663188efc16826040518263ffffffff1660e01b815260040161112191906122ce565b600161010160006117c2611b62565b81526020019081526020016000206000836001600160a01b03166001600160a01b0316815260200190815260200160002060008282546118029190612915565b90915550600090506118138261066c565b61181f5760fc54611823565b60fd545b9050600061183b6001600160a01b0384163183612928565b6040519091506001600160a01b0384169082156108fc029083906000818181858888f19350505050158015611874573d6000803e3d6000fd5b50826001600160a01b03167ff60e56b8021f6ac77bd50d4acdbed9ad9e85107144d43090774a9ebe5ffed985826040516118b091815260200190565b60405180910390a2505050565b6109a88133611c1e565b6118d18282611327565b61074c57600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff191660011790556119093390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6119578282611327565b1561074c57600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600080516020612a4c833981519152546001600160a01b031690565b6119db600033611327565b6109a85760405162461bcd60e51b81526004016106ab9061284d565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611a2a5761086483611c77565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611a84575060408051601f3d908101601f19168201909252611a8191810190612812565b60015b611ae75760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016106ab565b600080516020612a4c8339815191528114611b565760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016106ab565b50610864838383611d11565b6000610a326201518042612719565b60ff819055611b80818561293b565b60fc55611b8d818461293b565b60fd555060fe555050565b6001600160a01b03163b151590565b600054610100900460ff16611c125760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106ab565b565b61074c82826118c7565b611c288282611327565b61074c57611c3581611d36565b611c40836020611d48565b604051602001611c51929190612952565b60408051601f198184030181529082905262461bcd60e51b82526106ab916004016129c1565b611c8081611b98565b611ce25760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016106ab565b600080516020612a4c83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611d1a83611eea565b600082511180611d275750805b15610864576111958383611f2a565b60606106516001600160a01b03831660145b60606000611d5783600261293b565b611d62906002612915565b6001600160401b03811115611d7957611d796120cf565b6040519080825280601f01601f191660200182016040528015611da3576020820181803683370190505b509050600360fc1b81600081518110611dbe57611dbe612870565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611ded57611ded612870565b60200101906001600160f81b031916908160001a9053506000611e1184600261293b565b611e1c906001612915565b90505b6001811115611e94576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611e5057611e50612870565b1a60f81b828281518110611e6657611e66612870565b60200101906001600160f81b031916908160001a90535060049490941c93611e8d816129d4565b9050611e1f565b508315611ee35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106ab565b9392505050565b611ef381611c77565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060611f3583611b98565b611f905760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016106ab565b600080846001600160a01b031684604051611fab919061273b565b600060405180830381855af49150503d8060008114611fe6576040519150601f19603f3d011682016040523d82523d6000602084013e611feb565b606091505b50915091506120138282604051806060016040528060278152602001612a6c6027913961201c565b95945050505050565b6060831561202b575081611ee3565b611ee383838151156120405781518083602001fd5b8060405162461bcd60e51b81526004016106ab91906129c1565b60006020828403121561206c57600080fd5b81356001600160e01b031981168114611ee357600080fd5b60006020828403121561209657600080fd5b5035919050565b6001600160a01b03811681146109a857600080fd5b6000602082840312156120c457600080fd5b8135611ee38161209d565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561210d5761210d6120cf565b604052919050565b600082601f83011261212657600080fd5b81356001600160401b0381111561213f5761213f6120cf565b612152601f8201601f19166020016120e5565b81815284602083860101111561216757600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561219757600080fd5b82356121a28161209d565b915060208301356001600160401b038111156121bd57600080fd5b6121c985828601612115565b9150509250929050565b6000806000606084860312156121e857600080fd5b83356121f38161209d565b925060208401356001600160401b0381111561220e57600080fd5b61221a86828701612115565b925050604084013590509250925092565b60005b8381101561224657818101518382015260200161222e565b50506000910152565b6000815180845261226781602086016020860161222b565b601f01601f19169290920160200192915050565b8215158152604060208201526000612296604083018461224f565b949350505050565b600080604083850312156122b157600080fd5b8235915060208301356122c38161209d565b809150509250929050565b6001600160a01b0391909116815260200190565b60006001600160401b038211156122fb576122fb6120cf565b5060051b60200190565b600082601f83011261231657600080fd5b8135602061232b612326836122e2565b6120e5565b82815260059290921b8401810191818101908684111561234a57600080fd5b8286015b8481101561236e5780356123618161209d565b835291830191830161234e565b509695505050505050565b60006020828403121561238b57600080fd5b81356001600160401b038111156123a157600080fd5b61229684828501612305565b600080604083850312156123c057600080fd5b50508035926020909101359150565b600080600080608085870312156123e557600080fd5b5050823594602084013594506040840135936060013592509050565b600082601f83011261241257600080fd5b81356020612422612326836122e2565b82815260059290921b8401810191818101908684111561244157600080fd5b8286015b8481101561236e5780356124588161209d565b8352918301918301612445565b6000806000806080858703121561247b57600080fd5b84356001600160401b0381111561249157600080fd5b61249d87828801612401565b94505060208501356124ae8161209d565b925060408501356124be8161209d565b9396929550929360600135925050565b600080600080608085870312156124e457600080fd5b84356124ef8161209d565b935060208501356001600160401b0381111561250a57600080fd5b61251687828801612115565b949794965050505060408301359260600135919050565b60006020828403121561253f57600080fd5b81356001600160401b0381111561255557600080fd5b61229684828501612401565b600082601f83011261257257600080fd5b81356020612582612326836122e2565b82815260059290921b840181019181810190868411156125a157600080fd5b8286015b8481101561236e57803583529183019183016125a5565b6000806000606084860312156125d157600080fd5b83356001600160401b03808211156125e857600080fd5b6125f487838801612305565b945060209150818601358181111561260b57600080fd5b8601601f8101881361261c57600080fd5b803561262a612326826122e2565b81815260059190911b8201840190848101908a83111561264957600080fd5b8584015b83811015612681578035868111156126655760008081fd5b6126738d8983890101612115565b84525091860191860161264d565b509650505050604086013591508082111561269b57600080fd5b506126a886828701612561565b9150509250925092565b60208082526013908201527221b0b63632b91034b9903737ba1030b236b4b760691b604082015260600190565b6001600160a01b03831681526040602082018190526000906122969083018461224f565b634e487b7160e01b600052601160045260246000fd5b60008261273657634e487b7160e01b600052601260045260246000fd5b500490565b6000825161274d81846020870161222b565b9190910192915050565b60608152600061276a606083018661224f565b602083019490945250901515604090910152919050565b6020808252602c90820152600080516020612a2c83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020612a2c83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561280757600080fd5b8151611ee38161209d565b60006020828403121561282457600080fd5b5051919050565b60006020828403121561283d57600080fd5b81518015158114611ee357600080fd5b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161289857612898612703565b5060010190565b815160009082906020808601845b838110156128d25781516001600160a01b0316855293820193908201906001016128ad565b50929695505050505050565b6001600160a01b03851681526080602082018190526000906129029083018661224f565b6040830194909452506060015292915050565b8082018082111561065157610651612703565b8181038181111561065157610651612703565b808202811582820484141761065157610651612703565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835161298481601785016020880161222b565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516129b581602884016020880161222b565b01602801949350505050565b602081526000611ee3602083018461224f565b6000816129e3576129e3612703565b50600019019056febf18f3bdda8a65fc5ec294c2c787f805aceec15eed9fe17fdb6588866be113dc534b52c783549f909f9e743120524d0b7154058e4a54cdc895c2c0b587a1c7e046756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220851f3c1f261569d08c7752de50f2dac005878ab483fb546ccb8fd65b546bb48864736f6c63430008130033",
828
+ "deployedBytecode": "0x6080604052600436106101985760003560e01c806301ffc9a7146101a4578063133d93a1146101d9578063248a9ca31461020957806324d7806c146102295780632beeaca4146102495780632bf164581461026b5780632f2ff15d1461029957806336568abe146102b95780633659cfe6146102d957806336afc6fa146102f95780633771dcf81461031b578063377e11e01461033b5780633e6326fc1461035b5780634f1ef2861461037c57806352d1902d1461038f5780635b61e2c1146103a45780635fc944e9146103dd57806378c8cda7146103fd5780637b76ac911461041d5780637e2c1355146104455780637fad46f21461046557806391d1485414610485578063971d902c146104a55780639c54df64146104c5578063a217fddf146104e5578063b712a2c1146104fa578063bf64e66c1461051a578063c489249614610548578063d547741f1461055e578063db6268381461057e578063e6ea39391461059e578063eb91e651146105b4578063f3da9f05146105d4578063f9f92be4146105ea578063fe173b971461060a57600080fd5b3661019f57005b600080fd5b3480156101b057600080fd5b506101c46101bf36600461205a565b610620565b60405190151581526020015b60405180910390f35b3480156101e557600080fd5b506101fb6000805160206129ec83398151915281565b6040519081526020016101d0565b34801561021557600080fd5b506101fb610224366004612084565b610657565b34801561023557600080fd5b506101c46102443660046120b2565b61066c565b34801561025557600080fd5b50610269610264366004612184565b610686565b005b34801561027757600080fd5b5061028b6102863660046121d3565b610750565b6040516101d092919061227b565b3480156102a557600080fd5b506102696102b436600461229e565b610848565b3480156102c557600080fd5b506102696102d436600461229e565b610869565b3480156102e557600080fd5b506102696102f43660046120b2565b6108e3565b34801561030557600080fd5b5061030e6109ab565b6040516101d091906122ce565b34801561032757600080fd5b506102696103363660046120b2565b610a37565b34801561034757600080fd5b50610269610356366004612379565b610d87565b34801561036757600080fd5b506101005461030e906001600160a01b031681565b61026961038a366004612184565b610e3f565b34801561039b57600080fd5b506101fb610ef4565b3480156103b057600080fd5b50610102546103c5906001600160401b031681565b6040516001600160401b0390911681526020016101d0565b3480156103e957600080fd5b506102696103f83660046123ad565b610fa2565b34801561040957600080fd5b506102696104183660046120b2565b6110c9565b34801561042957600080fd5b50610102546103c590600160401b90046001600160401b031681565b34801561045157600080fd5b506102696104603660046123cf565b611162565b34801561047157600080fd5b50610269610480366004612465565b61119b565b34801561049157600080fd5b506101c46104a036600461229e565b611327565b3480156104b157600080fd5b506102696104c03660046124ce565b611352565b3480156104d157600080fd5b506102696104e036600461252d565b611413565b3480156104f157600080fd5b506101fb600081565b34801561050657600080fd5b5061028b6105153660046125bc565b611546565b34801561052657600080fd5b506101fb6105353660046120b2565b6101046020526000908152604090205481565b34801561055457600080fd5b506101fb60fd5481565b34801561056a57600080fd5b5061026961057936600461229e565b6116c9565b34801561058a57600080fd5b50610269610599366004612084565b6116e5565b3480156105aa57600080fd5b506101fb60fc5481565b3480156105c057600080fd5b506102696105cf3660046120b2565b611703565b3480156105e057600080fd5b506101fb60fe5481565b3480156105f657600080fd5b506102696106053660046120b2565b61175b565b34801561061657600080fd5b506101fb60ff5481565b60006001600160e01b03198216637965db0b60e01b148061065157506301ffc9a760e01b6001600160e01b03198316145b92915050565b600090815260c9602052604090206001015490565b60006106516000805160206129ec83398151915283611327565b61068f3361066c565b6106b45760405162461bcd60e51b81526004016106ab906126b2565b60405180910390fd5b6106bc6109ab565b6001600160a01b0316631b02709983836040518363ffffffff1660e01b81526004016106e99291906126df565b600060405180830381600087803b15801561070357600080fd5b505af1158015610717573d6000803e3d6000fd5b50505050600260fd5461072a9190612719565b33311180159061073e575061073e3361066c565b1561074c5761074c336117b3565b5050565b6000606061075d3361066c565b6107795760405162461bcd60e51b81526004016106ab906126b2565b846001600160a01b03168385604051610792919061273b565b60006040518083038185875af1925050503d80600081146107cf576040519150601f19603f3d011682016040523d82523d6000602084013e6107d4565b606091505b5060405191935091506001600160a01b03861690600080516020612a0c8339815191529061080790879087908790612757565b60405180910390a2600260fd5461081e9190612719565b33311180159061083257506108323361066c565b1561084057610840336117b3565b935093915050565b61085182610657565b61085a816118bd565b61086483836118c7565b505050565b6001600160a01b03811633146108d95760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016106ab565b61074c828261194d565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361092b5760405162461bcd60e51b81526004016106ab90612781565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661095d6119b4565b6001600160a01b0316146109835760405162461bcd60e51b81526004016106ab906127bb565b61098c816119d0565b604080516000808252602082019092526109a8918391906119f7565b50565b6101005460405163bf40fac160e01b81526020600482015260086024820152674944454e5449545960c01b60448201526000916001600160a01b03169063bf40fac190606401602060405180830381865afa158015610a0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3291906127f5565b905090565b610a403361066c565b610a5c5760405162461bcd60e51b81526004016106ab906126b2565b6101005460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac190606401602060405180830381865afa158015610ac1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae591906127f5565b90506000816001600160a01b03166370a08231846040518263ffffffff1660e01b8152600401610b1591906122ce565b602060405180830381865afa158015610b32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b569190612812565b9050610b606109ab565b6001600160a01b0316633af32abf846040518263ffffffff1660e01b8152600401610b8b91906122ce565b602060405180830381865afa158015610ba8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcc919061282b565b80610bf057506001600160a01b038316600090815261010460205260409020548114155b610c335760405162461bcd60e51b8152602060048201526014602482015273155cd95c881a185cc81b9bdd081d5cd9590811c960621b60448201526064016106ab565b60fe546101016000610c43611b62565b81526020019081526020016000206000856001600160a01b03166001600160a01b031681526020019081526020016000205410610cdb5760405162461bcd60e51b815260206004820152603060248201527f557365722077616c6c657420686173206265656e20746f7070656420746f6f2060448201526f6d616e792074696d657320746f64617960801b60648201526084016106ab565b600460fc54610cea9190612719565b836001600160a01b03163110610d2f5760405162461bcd60e51b815260206004820152600a60248201526968617342616c616e636560b01b60448201526064016106ab565b6001600160a01b038316600090815261010460205260409020819055610d54836117b3565b5050600260fd54610d659190612719565b333111801590610d795750610d793361066c565b156109a8576109a8336117b3565b610d92600033611327565b610dae5760405162461bcd60e51b81526004016106ab9061284d565b60005b8151811015610dfd57610deb6000805160206129ec833981519152838381518110610dde57610dde612870565b60200260200101516116c9565b80610df581612886565b915050610db1565b5080604051610e0c919061289f565b604051908190038120907fd5e6894641b5030a67e637ab2e12da64d8aec689f8bd1328de2b04d6a439c81090600090a250565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610e875760405162461bcd60e51b81526004016106ab90612781565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610eb96119b4565b6001600160a01b031614610edf5760405162461bcd60e51b81526004016106ab906127bb565b610ee8826119d0565b61074c828260016119f7565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f8f5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016106ab565b50600080516020612a4c83398151915290565b60fb548210610fe95760405162461bcd60e51b815260206004820152601360248201527241646d696e206c69737420697320656d70747960681b60448201526064016106ab565b815b60fb5481108015610ffb57508181105b156110b95761103060fb828154811061101657611016612870565b6000918252602090912001546001600160a01b031661066c565b80156110725750600260fd546110469190612719565b60fb828154811061105957611059612870565b6000918252602090912001546001600160a01b03163111155b156110a7576110a760fb828154811061108d5761108d612870565b6000918252602090912001546001600160a01b03166117b3565b806110b181612886565b915050610feb565b50600260fd5461072a9190612719565b6110d23361066c565b6110ee5760405162461bcd60e51b81526004016106ab906126b2565b6110f66109ab565b6001600160a01b031663291d9549826040518263ffffffff1660e01b815260040161112191906122ce565b600060405180830381600087803b15801561113b57600080fd5b505af115801561114f573d6000803e3d6000fd5b50505050600260fd54610d659190612719565b61116d600033611327565b6111895760405162461bcd60e51b81526004016106ab9061284d565b61119584848484611b71565b50505050565b600054610100900460ff16158080156111bb5750600054600160ff909116105b806111dc57506111ca30611b98565b1580156111dc575060005460ff166001145b61123f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016106ab565b6000805460ff191660011790558015611262576000805461ff0019166101001790555b61126a611ba7565b611275600084611c14565b611280600033611c14565b611293620927c062895440600385611b71565b61010080546001600160a01b0319166001600160a01b0386161790558451156112bf576112bf85611413565b336001600160a01b038416146112da576112da6000336116c9565b8015611320576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61135b3361066c565b6113775760405162461bcd60e51b81526004016106ab906126b2565b61137f6109ab565b6001600160a01b031663e737031a858585856040518563ffffffff1660e01b81526004016113b094939291906128de565b600060405180830381600087803b1580156113ca57600080fd5b505af11580156113de573d6000803e3d6000fd5b50505050600260fd546113f19190612719565b33311180159061140557506114053361066c565b1561119557611195336117b3565b61141e600033611327565b61143a5760405162461bcd60e51b81526004016106ab9061284d565b60005b81518110156115045761146882828151811061145b5761145b612870565b602002602001015161066c565b15156000036114f2576114a26000805160206129ec83398151915283838151811061149557611495612870565b6020026020010151610848565b60fb8282815181106114b6576114b6612870565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790555b806114fc81612886565b91505061143d565b5080604051611513919061289f565b604051908190038120907f45486b220020cc2482ad1a5e0ae4d5f0b5372cea1b48173f6273c616a504726990600090a250565b600060606115533361066c565b61156f5760405162461bcd60e51b81526004016106ab906126b2565b60005b85518110156116b95785818151811061158d5761158d612870565b60200260200101516001600160a01b03168482815181106115b0576115b0612870565b60200260200101518683815181106115ca576115ca612870565b60200260200101516040516115df919061273b565b60006040518083038185875af1925050503d806000811461161c576040519150601f19603f3d011682016040523d82523d6000602084013e611621565b606091505b508751919450925086908290811061163b5761163b612870565b60200260200101516001600160a01b0316600080516020612a0c83398151915286838151811061166d5761166d612870565b602002602001015186848151811061168757611687612870565b60200260200101518660405161169f93929190612757565b60405180910390a2806116b181612886565b915050611572565b50600260fd5461081e9190612719565b6116d282610657565b6116db816118bd565b610864838361194d565b6116f4816103f8816032612915565b600260fd54610d659190612719565b61170c3361066c565b6117285760405162461bcd60e51b81526004016106ab906126b2565b6117306109ab565b6001600160a01b031663c6a276c2826040518263ffffffff1660e01b815260040161112191906122ce565b6117643361066c565b6117805760405162461bcd60e51b81526004016106ab906126b2565b6117886109ab565b6001600160a01b031663188efc16826040518263ffffffff1660e01b815260040161112191906122ce565b600161010160006117c2611b62565b81526020019081526020016000206000836001600160a01b03166001600160a01b0316815260200190815260200160002060008282546118029190612915565b90915550600090506118138261066c565b61181f5760fc54611823565b60fd545b9050600061183b6001600160a01b0384163183612928565b6040519091506001600160a01b0384169082156108fc029083906000818181858888f19350505050158015611874573d6000803e3d6000fd5b50826001600160a01b03167ff60e56b8021f6ac77bd50d4acdbed9ad9e85107144d43090774a9ebe5ffed985826040516118b091815260200190565b60405180910390a2505050565b6109a88133611c1e565b6118d18282611327565b61074c57600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff191660011790556119093390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6119578282611327565b1561074c57600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600080516020612a4c833981519152546001600160a01b031690565b6119db600033611327565b6109a85760405162461bcd60e51b81526004016106ab9061284d565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611a2a5761086483611c77565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611a84575060408051601f3d908101601f19168201909252611a8191810190612812565b60015b611ae75760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016106ab565b600080516020612a4c8339815191528114611b565760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016106ab565b50610864838383611d11565b6000610a326201518042612719565b60ff819055611b80818561293b565b60fc55611b8d818461293b565b60fd555060fe555050565b6001600160a01b03163b151590565b600054610100900460ff16611c125760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106ab565b565b61074c82826118c7565b611c288282611327565b61074c57611c3581611d36565b611c40836020611d48565b604051602001611c51929190612952565b60408051601f198184030181529082905262461bcd60e51b82526106ab916004016129c1565b611c8081611b98565b611ce25760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016106ab565b600080516020612a4c83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611d1a83611eea565b600082511180611d275750805b15610864576111958383611f2a565b60606106516001600160a01b03831660145b60606000611d5783600261293b565b611d62906002612915565b6001600160401b03811115611d7957611d796120cf565b6040519080825280601f01601f191660200182016040528015611da3576020820181803683370190505b509050600360fc1b81600081518110611dbe57611dbe612870565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611ded57611ded612870565b60200101906001600160f81b031916908160001a9053506000611e1184600261293b565b611e1c906001612915565b90505b6001811115611e94576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611e5057611e50612870565b1a60f81b828281518110611e6657611e66612870565b60200101906001600160f81b031916908160001a90535060049490941c93611e8d816129d4565b9050611e1f565b508315611ee35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106ab565b9392505050565b611ef381611c77565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060611f3583611b98565b611f905760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016106ab565b600080846001600160a01b031684604051611fab919061273b565b600060405180830381855af49150503d8060008114611fe6576040519150601f19603f3d011682016040523d82523d6000602084013e611feb565b606091505b50915091506120138282604051806060016040528060278152602001612a6c6027913961201c565b95945050505050565b6060831561202b575081611ee3565b611ee383838151156120405781518083602001fd5b8060405162461bcd60e51b81526004016106ab91906129c1565b60006020828403121561206c57600080fd5b81356001600160e01b031981168114611ee357600080fd5b60006020828403121561209657600080fd5b5035919050565b6001600160a01b03811681146109a857600080fd5b6000602082840312156120c457600080fd5b8135611ee38161209d565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561210d5761210d6120cf565b604052919050565b600082601f83011261212657600080fd5b81356001600160401b0381111561213f5761213f6120cf565b612152601f8201601f19166020016120e5565b81815284602083860101111561216757600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561219757600080fd5b82356121a28161209d565b915060208301356001600160401b038111156121bd57600080fd5b6121c985828601612115565b9150509250929050565b6000806000606084860312156121e857600080fd5b83356121f38161209d565b925060208401356001600160401b0381111561220e57600080fd5b61221a86828701612115565b925050604084013590509250925092565b60005b8381101561224657818101518382015260200161222e565b50506000910152565b6000815180845261226781602086016020860161222b565b601f01601f19169290920160200192915050565b8215158152604060208201526000612296604083018461224f565b949350505050565b600080604083850312156122b157600080fd5b8235915060208301356122c38161209d565b809150509250929050565b6001600160a01b0391909116815260200190565b60006001600160401b038211156122fb576122fb6120cf565b5060051b60200190565b600082601f83011261231657600080fd5b8135602061232b612326836122e2565b6120e5565b82815260059290921b8401810191818101908684111561234a57600080fd5b8286015b8481101561236e5780356123618161209d565b835291830191830161234e565b509695505050505050565b60006020828403121561238b57600080fd5b81356001600160401b038111156123a157600080fd5b61229684828501612305565b600080604083850312156123c057600080fd5b50508035926020909101359150565b600080600080608085870312156123e557600080fd5b5050823594602084013594506040840135936060013592509050565b600082601f83011261241257600080fd5b81356020612422612326836122e2565b82815260059290921b8401810191818101908684111561244157600080fd5b8286015b8481101561236e5780356124588161209d565b8352918301918301612445565b6000806000806080858703121561247b57600080fd5b84356001600160401b0381111561249157600080fd5b61249d87828801612401565b94505060208501356124ae8161209d565b925060408501356124be8161209d565b9396929550929360600135925050565b600080600080608085870312156124e457600080fd5b84356124ef8161209d565b935060208501356001600160401b0381111561250a57600080fd5b61251687828801612115565b949794965050505060408301359260600135919050565b60006020828403121561253f57600080fd5b81356001600160401b0381111561255557600080fd5b61229684828501612401565b600082601f83011261257257600080fd5b81356020612582612326836122e2565b82815260059290921b840181019181810190868411156125a157600080fd5b8286015b8481101561236e57803583529183019183016125a5565b6000806000606084860312156125d157600080fd5b83356001600160401b03808211156125e857600080fd5b6125f487838801612305565b945060209150818601358181111561260b57600080fd5b8601601f8101881361261c57600080fd5b803561262a612326826122e2565b81815260059190911b8201840190848101908a83111561264957600080fd5b8584015b83811015612681578035868111156126655760008081fd5b6126738d8983890101612115565b84525091860191860161264d565b509650505050604086013591508082111561269b57600080fd5b506126a886828701612561565b9150509250925092565b60208082526013908201527221b0b63632b91034b9903737ba1030b236b4b760691b604082015260600190565b6001600160a01b03831681526040602082018190526000906122969083018461224f565b634e487b7160e01b600052601160045260246000fd5b60008261273657634e487b7160e01b600052601260045260246000fd5b500490565b6000825161274d81846020870161222b565b9190910192915050565b60608152600061276a606083018661224f565b602083019490945250901515604090910152919050565b6020808252602c90820152600080516020612a2c83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020612a2c83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561280757600080fd5b8151611ee38161209d565b60006020828403121561282457600080fd5b5051919050565b60006020828403121561283d57600080fd5b81518015158114611ee357600080fd5b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161289857612898612703565b5060010190565b815160009082906020808601845b838110156128d25781516001600160a01b0316855293820193908201906001016128ad565b50929695505050505050565b6001600160a01b03851681526080602082018190526000906129029083018661224f565b6040830194909452506060015292915050565b8082018082111561065157610651612703565b8181038181111561065157610651612703565b808202811582820484141761065157610651612703565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835161298481601785016020880161222b565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516129b581602884016020880161222b565b01602801949350505050565b602081526000611ee3602083018461224f565b6000816129e3576129e3612703565b50600019019056febf18f3bdda8a65fc5ec294c2c787f805aceec15eed9fe17fdb6588866be113dc534b52c783549f909f9e743120524d0b7154058e4a54cdc895c2c0b587a1c7e046756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220851f3c1f261569d08c7752de50f2dac005878ab483fb546ccb8fd65b546bb48864736f6c63430008130033",
795
829
  "linkReferences": {},
796
830
  "deployedLinkReferences": {}
797
831
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/02befb12373b2a68315b0e289f939087.json"
3
+ "buildInfo": "../../../build-info/7b76f92b8e29b6c5fb67461892b4047c.json"
4
4
  }
@@ -369,6 +369,40 @@
369
369
  "stateMutability": "nonpayable",
370
370
  "type": "function"
371
371
  },
372
+ {
373
+ "inputs": [
374
+ {
375
+ "internalType": "address[]",
376
+ "name": "_contracts",
377
+ "type": "address[]"
378
+ },
379
+ {
380
+ "internalType": "bytes[]",
381
+ "name": "_datas",
382
+ "type": "bytes[]"
383
+ },
384
+ {
385
+ "internalType": "uint256[]",
386
+ "name": "_values",
387
+ "type": "uint256[]"
388
+ }
389
+ ],
390
+ "name": "genericCallBatch",
391
+ "outputs": [
392
+ {
393
+ "internalType": "bool",
394
+ "name": "success",
395
+ "type": "bool"
396
+ },
397
+ {
398
+ "internalType": "bytes",
399
+ "name": "returnValue",
400
+ "type": "bytes"
401
+ }
402
+ ],
403
+ "stateMutability": "nonpayable",
404
+ "type": "function"
405
+ },
372
406
  {
373
407
  "inputs": [],
374
408
  "name": "getIdentity",
@@ -875,8 +909,8 @@
875
909
  "type": "receive"
876
910
  }
877
911
  ],
878
- "bytecode": "0x60a06040523060805234801561001457600080fd5b50608051612a5c61004c600039600081816109d601528181610a1601528181610e8e01528181610ece0152610f460152612a5c6000f3fe6080604052600436106101cf5760003560e01c806301ffc9a7146101db578063133d93a114610210578063248a9ca31461024057806324d7806c146102605780632beeaca4146102805780632bf16458146102a25780632f2ff15d146102d057806336568abe146102f05780633659cfe61461031057806336afc6fa146103305780633771dcf814610352578063377e11e0146103725780633e6326fc146103925780634f1ef286146103b357806352d1902d146103c657806354fd4d50146103db5780635b61e2c1146104155780635fc944e91461044e578063715018a61461046e57806378c8cda7146104835780637b76ac91146104a35780637e2c1355146104cb5780637fad46f2146104eb5780638da5cb5b1461050b57806391d1485414610520578063971d902c146105405780639c54df6414610560578063a217fddf14610580578063a5e598fc14610595578063bf64e66c146105b6578063c4892496146105e4578063d547741f146105fb578063d55ec6971461061b578063db62683814610630578063e6ea393914610650578063eb91e65114610667578063f2fde38b14610687578063f3da9f05146106a7578063f9f92be4146106be578063fe173b97146106de57600080fd5b366101d657005b600080fd5b3480156101e757600080fd5b506101fb6101f6366004612112565b6106f5565b60405190151581526020015b60405180910390f35b34801561021c57600080fd5b506102326000805160206129a083398151915281565b604051908152602001610207565b34801561024c57600080fd5b5061023261025b36600461213c565b61072c565b34801561026c57600080fd5b506101fb61027b36600461216a565b610741565b34801561028c57600080fd5b506102a061029b36600461223c565b61075b565b005b3480156102ae57600080fd5b506102c26102bd36600461228b565b610826565b604051610207929190612333565b3480156102dc57600080fd5b506102a06102eb366004612356565b610931565b3480156102fc57600080fd5b506102a061030b366004612356565b610952565b34801561031c57600080fd5b506102a061032b36600461216a565b6109cc565b34801561033c57600080fd5b50610345610a94565b6040516102079190612386565b34801561035e57600080fd5b506102a061036d36600461216a565b610b20565b34801561037e57600080fd5b506102a061038d3660046123bd565b610deb565b34801561039e57600080fd5b5061013254610345906001600160a01b031681565b6102a06103c136600461223c565b610e84565b3480156103d257600080fd5b50610232610f39565b3480156103e757600080fd5b506101345461040090600160801b900463ffffffff1681565b60405163ffffffff9091168152602001610207565b34801561042157600080fd5b5061013454610436906001600160401b031681565b6040516001600160401b039091168152602001610207565b34801561045a57600080fd5b506102a061046936600461245b565b610fe7565b34801561047a57600080fd5b506102a0611115565b34801561048f57600080fd5b506102a061049e36600461216a565b611129565b3480156104af57600080fd5b506101345461043690600160401b90046001600160401b031681565b3480156104d757600080fd5b506102a06104e636600461247d565b6111c3565b3480156104f757600080fd5b506102a061050636600461251e565b6111dd565b34801561051757600080fd5b506103456113dc565b34801561052c57600080fd5b506101fb61053b366004612356565b6113eb565b34801561054c57600080fd5b506102a061055b366004612587565b611416565b34801561056c57600080fd5b506102a061057b3660046125e6565b6114d8565b34801561058c57600080fd5b50610232600081565b3480156105a157600080fd5b5061013554610345906001600160a01b031681565b3480156105c257600080fd5b506102326105d136600461216a565b6101366020526000908152604090205481565b3480156105f057600080fd5b5061023261012f5481565b34801561060757600080fd5b506102a0610616366004612356565b6115ed565b34801561062757600080fd5b506102a0611609565b34801561063c57600080fd5b506102a061064b36600461213c565b6116a4565b34801561065c57600080fd5b5061023261012e5481565b34801561067357600080fd5b506102a061068236600461216a565b6116c3565b34801561069357600080fd5b506102a06106a236600461216a565b61171b565b3480156106b357600080fd5b506102326101305481565b3480156106ca57600080fd5b506102a06106d936600461216a565b611791565b3480156106ea57600080fd5b506102326101315481565b60006001600160e01b03198216637965db0b60e01b148061072657506301ffc9a760e01b6001600160e01b03198316145b92915050565b600090815260fb602052604090206001015490565b60006107266000805160206129a0833981519152836113eb565b61076433610741565b6107895760405162461bcd60e51b81526004016107809061261a565b60405180910390fd5b610791610a94565b6001600160a01b0316631b02709983836040518363ffffffff1660e01b81526004016107be929190612647565b600060405180830381600087803b1580156107d857600080fd5b505af11580156107ec573d6000803e3d6000fd5b50505050600261012f546108009190612681565b333111801590610814575061081433610741565b1561082257610822336117e9565b5050565b6000606061083333610741565b61084f5760405162461bcd60e51b81526004016107809061261a565b846001600160a01b0316838560405161086891906126a3565b60006040518083038185875af1925050503d80600081146108a5576040519150601f19603f3d011682016040523d82523d6000602084013e6108aa565b606091505b5060405191935091506001600160a01b038616907f534b52c783549f909f9e743120524d0b7154058e4a54cdc895c2c0b587a1c7e0906108ef908790879087906126bf565b60405180910390a2600261012f546109079190612681565b33311180159061091b575061091b33610741565b1561092957610929336117e9565b935093915050565b61093a8261072c565b610943816118f5565b61094d83836118ff565b505050565b6001600160a01b03811633146109c25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610780565b6108228282611985565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a145760405162461bcd60e51b8152600401610780906126e9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610a466119ec565b6001600160a01b031614610a6c5760405162461bcd60e51b815260040161078090612723565b610a7581611a08565b60408051600080825260208201909252610a9191839190611a10565b50565b6101325460405163bf40fac160e01b81526020600482015260086024820152674944454e5449545960c01b60448201526000916001600160a01b03169063bf40fac190606401602060405180830381865afa158015610af7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1b919061275d565b905090565b610b2933610741565b610b455760405162461bcd60e51b81526004016107809061261a565b610135546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610b77908590600401612386565b602060405180830381865afa158015610b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb8919061277a565b9050610bc2610a94565b6001600160a01b0316633af32abf836040518263ffffffff1660e01b8152600401610bed9190612386565b602060405180830381865afa158015610c0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2e9190612793565b80610c5257506001600160a01b038216600090815261013660205260409020548114155b610c955760405162461bcd60e51b8152602060048201526014602482015273155cd95c881a185cc81b9bdd081d5cd9590811c960621b6044820152606401610780565b610130546101336000610ca6611b7b565b81526020019081526020016000206000846001600160a01b03166001600160a01b031681526020019081526020016000205410610d3e5760405162461bcd60e51b815260206004820152603060248201527f557365722077616c6c657420686173206265656e20746f7070656420746f6f2060448201526f6d616e792074696d657320746f64617960801b6064820152608401610780565b600461012e54610d4e9190612681565b826001600160a01b03163110610d935760405162461bcd60e51b815260206004820152600a60248201526968617342616c616e636560b01b6044820152606401610780565b6001600160a01b038216600090815261013660205260409020819055610db8826117e9565b50600261012f54610dc99190612681565b333111801590610ddd5750610ddd33610741565b15610a9157610a91336117e9565b610df3611b8a565b60005b8151811015610e4257610e306000805160206129a0833981519152838381518110610e2357610e236127b5565b60200260200101516115ed565b80610e3a816127cb565b915050610df6565b5080604051610e5191906127e4565b604051908190038120907fd5e6894641b5030a67e637ab2e12da64d8aec689f8bd1328de2b04d6a439c81090600090a250565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610ecc5760405162461bcd60e51b8152600401610780906126e9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610efe6119ec565b6001600160a01b031614610f245760405162461bcd60e51b815260040161078090612723565b610f2d82611a08565b61082282826001611a10565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fd45760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610780565b506000805160206129e083398151915290565b61012d54821061102f5760405162461bcd60e51b815260206004820152601360248201527241646d696e206c69737420697320656d70747960681b6044820152606401610780565b815b61012d548110801561104257508181105b156111045761107861012d828154811061105e5761105e6127b5565b6000918252602090912001546001600160a01b0316610741565b80156110bc5750600261012f5461108f9190612681565b61012d82815481106110a3576110a36127b5565b6000918252602090912001546001600160a01b03163111155b156110f2576110f261012d82815481106110d8576110d86127b5565b6000918252602090912001546001600160a01b03166117e9565b806110fc816127cb565b915050611031565b50600261012f546108009190612681565b61111d611b8a565b6111276000611be9565b565b61113233610741565b61114e5760405162461bcd60e51b81526004016107809061261a565b611156610a94565b6001600160a01b031663291d9549826040518263ffffffff1660e01b81526004016111819190612386565b600060405180830381600087803b15801561119b57600080fd5b505af11580156111af573d6000803e3d6000fd5b50505050600261012f54610dc99190612681565b6111cb611b8a565b6111d784848484611c3b565b50505050565b600054610100900460ff16158080156111fd5750600054600160ff909116105b8061121e575061120c30611c66565b15801561121e575060005460ff166001145b6112815760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610780565b6000805460ff1916600117905580156112a4576000805461ff0019166101001790555b6112ac611c75565b6112b4611c9c565b6112bf600084611ccc565b6112d2620927c062895440600385611c3b565b61013280546001600160a01b0319166001600160a01b0386161790558451156112fe576112fe856114d8565b6101325460405163bf40fac160e01b81526001600160a01b039091169063bf40fac19061132d90600401612823565b602060405180830381865afa15801561134a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136e919061275d565b61013580546001600160a01b0319166001600160a01b039290921691909117905580156113d5576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6097546001600160a01b031690565b600091825260fb602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61141f33610741565b61143b5760405162461bcd60e51b81526004016107809061261a565b611443610a94565b6001600160a01b031663e737031a858585856040518563ffffffff1660e01b81526004016114749493929190612847565b600060405180830381600087803b15801561148e57600080fd5b505af11580156114a2573d6000803e3d6000fd5b50505050600261012f546114b69190612681565b3331118015906114ca57506114ca33610741565b156111d7576111d7336117e9565b6114e0611b8a565b60005b81518110156115ab5761150e828281518110611501576115016127b5565b6020026020010151610741565b1515600003611599576115486000805160206129a083398151915283838151811061153b5761153b6127b5565b6020026020010151610931565b61012d82828151811061155d5761155d6127b5565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790555b806115a3816127cb565b9150506114e3565b50806040516115ba91906127e4565b604051908190038120907f45486b220020cc2482ad1a5e0ae4d5f0b5372cea1b48173f6273c616a504726990600090a250565b6115f68261072c565b6115ff816118f5565b61094d8383611985565b611611611b8a565b6101325460405163bf40fac160e01b81526001600160a01b039091169063bf40fac19061164090600401612823565b602060405180830381865afa15801561165d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611681919061275d565b61013580546001600160a01b0319166001600160a01b0392909216919091179055565b6116b38161046981603261287e565b600261012f54610dc99190612681565b6116cc33610741565b6116e85760405162461bcd60e51b81526004016107809061261a565b6116f0610a94565b6001600160a01b031663c6a276c2826040518263ffffffff1660e01b81526004016111819190612386565b611723611b8a565b6001600160a01b0381166117885760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610780565b610a9181611be9565b61179a33610741565b6117b65760405162461bcd60e51b81526004016107809061261a565b6117be610a94565b6001600160a01b031663188efc16826040518263ffffffff1660e01b81526004016111819190612386565b600161013360006117f8611b7b565b81526020019081526020016000206000836001600160a01b03166001600160a01b031681526020019081526020016000206000828254611838919061287e565b909155506000905061184982610741565b6118565761012e5461185b565b61012f545b905060006118736001600160a01b0384163183612891565b6040519091506001600160a01b0384169082156108fc029083906000818181858888f193505050501580156118ac573d6000803e3d6000fd5b50826001600160a01b03167ff60e56b8021f6ac77bd50d4acdbed9ad9e85107144d43090774a9ebe5ffed985826040516118e891815260200190565b60405180910390a2505050565b610a918133611cd6565b61190982826113eb565b61082257600082815260fb602090815260408083206001600160a01b03851684529091529020805460ff191660011790556119413390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61198f82826113eb565b1561082257600082815260fb602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000805160206129e0833981519152546001600160a01b031690565b610a91611b8a565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611a435761094d83611d2f565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611a9d575060408051601f3d908101601f19168201909252611a9a9181019061277a565b60015b611b005760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610780565b6000805160206129e08339815191528114611b6f5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610780565b5061094d838383611dc9565b6000610b1b6201518042612681565b33611b936113dc565b6001600160a01b0316146111275760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610780565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610131819055611c4b81856128a4565b61012e55611c5981846128a4565b61012f5550610130555050565b6001600160a01b03163b151590565b600054610100900460ff166111275760405162461bcd60e51b8152600401610780906128bb565b600054610100900460ff16611cc35760405162461bcd60e51b8152600401610780906128bb565b61112733611be9565b61082282826118ff565b611ce082826113eb565b61082257611ced81611dee565b611cf8836020611e00565b604051602001611d09929190612906565b60408051601f198184030181529082905262461bcd60e51b825261078091600401612975565b611d3881611c66565b611d9a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610780565b6000805160206129e083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611dd283611fa2565b600082511180611ddf5750805b1561094d576111d78383611fe2565b60606107266001600160a01b03831660145b60606000611e0f8360026128a4565b611e1a90600261287e565b6001600160401b03811115611e3157611e31612187565b6040519080825280601f01601f191660200182016040528015611e5b576020820181803683370190505b509050600360fc1b81600081518110611e7657611e766127b5565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611ea557611ea56127b5565b60200101906001600160f81b031916908160001a9053506000611ec98460026128a4565b611ed490600161287e565b90505b6001811115611f4c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611f0857611f086127b5565b1a60f81b828281518110611f1e57611f1e6127b5565b60200101906001600160f81b031916908160001a90535060049490941c93611f4581612988565b9050611ed7565b508315611f9b5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610780565b9392505050565b611fab81611d2f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060611fed83611c66565b6120485760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610780565b600080846001600160a01b03168460405161206391906126a3565b600060405180830381855af49150503d806000811461209e576040519150601f19603f3d011682016040523d82523d6000602084013e6120a3565b606091505b50915091506120cb8282604051806060016040528060278152602001612a00602791396120d4565b95945050505050565b606083156120e3575081611f9b565b611f9b83838151156120f85781518083602001fd5b8060405162461bcd60e51b81526004016107809190612975565b60006020828403121561212457600080fd5b81356001600160e01b031981168114611f9b57600080fd5b60006020828403121561214e57600080fd5b5035919050565b6001600160a01b0381168114610a9157600080fd5b60006020828403121561217c57600080fd5b8135611f9b81612155565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156121c5576121c5612187565b604052919050565b600082601f8301126121de57600080fd5b81356001600160401b038111156121f7576121f7612187565b61220a601f8201601f191660200161219d565b81815284602083860101111561221f57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561224f57600080fd5b823561225a81612155565b915060208301356001600160401b0381111561227557600080fd5b612281858286016121cd565b9150509250929050565b6000806000606084860312156122a057600080fd5b83356122ab81612155565b925060208401356001600160401b038111156122c657600080fd5b6122d2868287016121cd565b925050604084013590509250925092565b60005b838110156122fe5781810151838201526020016122e6565b50506000910152565b6000815180845261231f8160208601602086016122e3565b601f01601f19169290920160200192915050565b821515815260406020820152600061234e6040830184612307565b949350505050565b6000806040838503121561236957600080fd5b82359150602083013561237b81612155565b809150509250929050565b6001600160a01b0391909116815260200190565b60006001600160401b038211156123b3576123b3612187565b5060051b60200190565b600060208083850312156123d057600080fd5b82356001600160401b038111156123e657600080fd5b8301601f810185136123f757600080fd5b803561240a6124058261239a565b61219d565b81815260059190911b8201830190838101908783111561242957600080fd5b928401925b8284101561245057833561244181612155565b8252928401929084019061242e565b979650505050505050565b6000806040838503121561246e57600080fd5b50508035926020909101359150565b6000806000806080858703121561249357600080fd5b5050823594602084013594506040840135936060013592509050565b600082601f8301126124c057600080fd5b813560206124d06124058361239a565b82815260059290921b840181019181810190868411156124ef57600080fd5b8286015b8481101561251357803561250681612155565b83529183019183016124f3565b509695505050505050565b6000806000806080858703121561253457600080fd5b84356001600160401b0381111561254a57600080fd5b612556878288016124af565b945050602085013561256781612155565b9250604085013561257781612155565b9396929550929360600135925050565b6000806000806080858703121561259d57600080fd5b84356125a881612155565b935060208501356001600160401b038111156125c357600080fd5b6125cf878288016121cd565b949794965050505060408301359260600135919050565b6000602082840312156125f857600080fd5b81356001600160401b0381111561260e57600080fd5b61234e848285016124af565b60208082526013908201527221b0b63632b91034b9903737ba1030b236b4b760691b604082015260600190565b6001600160a01b038316815260406020820181905260009061234e90830184612307565b634e487b7160e01b600052601160045260246000fd5b60008261269e57634e487b7160e01b600052601260045260246000fd5b500490565b600082516126b58184602087016122e3565b9190910192915050565b6060815260006126d26060830186612307565b602083019490945250901515604090910152919050565b6020808252602c908201526000805160206129c083398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206129c083398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561276f57600080fd5b8151611f9b81612155565b60006020828403121561278c57600080fd5b5051919050565b6000602082840312156127a557600080fd5b81518015158114611f9b57600080fd5b634e487b7160e01b600052603260045260246000fd5b6000600182016127dd576127dd61266b565b5060010190565b815160009082906020808601845b838110156128175781516001600160a01b0316855293820193908201906001016127f2565b50929695505050505050565b6020808252600a908201526923a7a7a22227a62620a960b11b604082015260600190565b6001600160a01b038516815260806020820181905260009061286b90830186612307565b6040830194909452506060015292915050565b808201808211156107265761072661266b565b818103818111156107265761072661266b565b80820281158282048414176107265761072661266b565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516129388160178501602088016122e3565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516129698160288401602088016122e3565b01602801949350505050565b602081526000611f9b6020830184612307565b6000816129975761299761266b565b50600019019056febf18f3bdda8a65fc5ec294c2c787f805aceec15eed9fe17fdb6588866be113dc46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212207147faf512e22571a8bd0750b597898f43f71d9a398dfa82e8b470a18bd3d36364736f6c63430008130033",
879
- "deployedBytecode": "0x6080604052600436106101cf5760003560e01c806301ffc9a7146101db578063133d93a114610210578063248a9ca31461024057806324d7806c146102605780632beeaca4146102805780632bf16458146102a25780632f2ff15d146102d057806336568abe146102f05780633659cfe61461031057806336afc6fa146103305780633771dcf814610352578063377e11e0146103725780633e6326fc146103925780634f1ef286146103b357806352d1902d146103c657806354fd4d50146103db5780635b61e2c1146104155780635fc944e91461044e578063715018a61461046e57806378c8cda7146104835780637b76ac91146104a35780637e2c1355146104cb5780637fad46f2146104eb5780638da5cb5b1461050b57806391d1485414610520578063971d902c146105405780639c54df6414610560578063a217fddf14610580578063a5e598fc14610595578063bf64e66c146105b6578063c4892496146105e4578063d547741f146105fb578063d55ec6971461061b578063db62683814610630578063e6ea393914610650578063eb91e65114610667578063f2fde38b14610687578063f3da9f05146106a7578063f9f92be4146106be578063fe173b97146106de57600080fd5b366101d657005b600080fd5b3480156101e757600080fd5b506101fb6101f6366004612112565b6106f5565b60405190151581526020015b60405180910390f35b34801561021c57600080fd5b506102326000805160206129a083398151915281565b604051908152602001610207565b34801561024c57600080fd5b5061023261025b36600461213c565b61072c565b34801561026c57600080fd5b506101fb61027b36600461216a565b610741565b34801561028c57600080fd5b506102a061029b36600461223c565b61075b565b005b3480156102ae57600080fd5b506102c26102bd36600461228b565b610826565b604051610207929190612333565b3480156102dc57600080fd5b506102a06102eb366004612356565b610931565b3480156102fc57600080fd5b506102a061030b366004612356565b610952565b34801561031c57600080fd5b506102a061032b36600461216a565b6109cc565b34801561033c57600080fd5b50610345610a94565b6040516102079190612386565b34801561035e57600080fd5b506102a061036d36600461216a565b610b20565b34801561037e57600080fd5b506102a061038d3660046123bd565b610deb565b34801561039e57600080fd5b5061013254610345906001600160a01b031681565b6102a06103c136600461223c565b610e84565b3480156103d257600080fd5b50610232610f39565b3480156103e757600080fd5b506101345461040090600160801b900463ffffffff1681565b60405163ffffffff9091168152602001610207565b34801561042157600080fd5b5061013454610436906001600160401b031681565b6040516001600160401b039091168152602001610207565b34801561045a57600080fd5b506102a061046936600461245b565b610fe7565b34801561047a57600080fd5b506102a0611115565b34801561048f57600080fd5b506102a061049e36600461216a565b611129565b3480156104af57600080fd5b506101345461043690600160401b90046001600160401b031681565b3480156104d757600080fd5b506102a06104e636600461247d565b6111c3565b3480156104f757600080fd5b506102a061050636600461251e565b6111dd565b34801561051757600080fd5b506103456113dc565b34801561052c57600080fd5b506101fb61053b366004612356565b6113eb565b34801561054c57600080fd5b506102a061055b366004612587565b611416565b34801561056c57600080fd5b506102a061057b3660046125e6565b6114d8565b34801561058c57600080fd5b50610232600081565b3480156105a157600080fd5b5061013554610345906001600160a01b031681565b3480156105c257600080fd5b506102326105d136600461216a565b6101366020526000908152604090205481565b3480156105f057600080fd5b5061023261012f5481565b34801561060757600080fd5b506102a0610616366004612356565b6115ed565b34801561062757600080fd5b506102a0611609565b34801561063c57600080fd5b506102a061064b36600461213c565b6116a4565b34801561065c57600080fd5b5061023261012e5481565b34801561067357600080fd5b506102a061068236600461216a565b6116c3565b34801561069357600080fd5b506102a06106a236600461216a565b61171b565b3480156106b357600080fd5b506102326101305481565b3480156106ca57600080fd5b506102a06106d936600461216a565b611791565b3480156106ea57600080fd5b506102326101315481565b60006001600160e01b03198216637965db0b60e01b148061072657506301ffc9a760e01b6001600160e01b03198316145b92915050565b600090815260fb602052604090206001015490565b60006107266000805160206129a0833981519152836113eb565b61076433610741565b6107895760405162461bcd60e51b81526004016107809061261a565b60405180910390fd5b610791610a94565b6001600160a01b0316631b02709983836040518363ffffffff1660e01b81526004016107be929190612647565b600060405180830381600087803b1580156107d857600080fd5b505af11580156107ec573d6000803e3d6000fd5b50505050600261012f546108009190612681565b333111801590610814575061081433610741565b1561082257610822336117e9565b5050565b6000606061083333610741565b61084f5760405162461bcd60e51b81526004016107809061261a565b846001600160a01b0316838560405161086891906126a3565b60006040518083038185875af1925050503d80600081146108a5576040519150601f19603f3d011682016040523d82523d6000602084013e6108aa565b606091505b5060405191935091506001600160a01b038616907f534b52c783549f909f9e743120524d0b7154058e4a54cdc895c2c0b587a1c7e0906108ef908790879087906126bf565b60405180910390a2600261012f546109079190612681565b33311180159061091b575061091b33610741565b1561092957610929336117e9565b935093915050565b61093a8261072c565b610943816118f5565b61094d83836118ff565b505050565b6001600160a01b03811633146109c25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610780565b6108228282611985565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a145760405162461bcd60e51b8152600401610780906126e9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610a466119ec565b6001600160a01b031614610a6c5760405162461bcd60e51b815260040161078090612723565b610a7581611a08565b60408051600080825260208201909252610a9191839190611a10565b50565b6101325460405163bf40fac160e01b81526020600482015260086024820152674944454e5449545960c01b60448201526000916001600160a01b03169063bf40fac190606401602060405180830381865afa158015610af7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1b919061275d565b905090565b610b2933610741565b610b455760405162461bcd60e51b81526004016107809061261a565b610135546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610b77908590600401612386565b602060405180830381865afa158015610b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb8919061277a565b9050610bc2610a94565b6001600160a01b0316633af32abf836040518263ffffffff1660e01b8152600401610bed9190612386565b602060405180830381865afa158015610c0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2e9190612793565b80610c5257506001600160a01b038216600090815261013660205260409020548114155b610c955760405162461bcd60e51b8152602060048201526014602482015273155cd95c881a185cc81b9bdd081d5cd9590811c960621b6044820152606401610780565b610130546101336000610ca6611b7b565b81526020019081526020016000206000846001600160a01b03166001600160a01b031681526020019081526020016000205410610d3e5760405162461bcd60e51b815260206004820152603060248201527f557365722077616c6c657420686173206265656e20746f7070656420746f6f2060448201526f6d616e792074696d657320746f64617960801b6064820152608401610780565b600461012e54610d4e9190612681565b826001600160a01b03163110610d935760405162461bcd60e51b815260206004820152600a60248201526968617342616c616e636560b01b6044820152606401610780565b6001600160a01b038216600090815261013660205260409020819055610db8826117e9565b50600261012f54610dc99190612681565b333111801590610ddd5750610ddd33610741565b15610a9157610a91336117e9565b610df3611b8a565b60005b8151811015610e4257610e306000805160206129a0833981519152838381518110610e2357610e236127b5565b60200260200101516115ed565b80610e3a816127cb565b915050610df6565b5080604051610e5191906127e4565b604051908190038120907fd5e6894641b5030a67e637ab2e12da64d8aec689f8bd1328de2b04d6a439c81090600090a250565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610ecc5760405162461bcd60e51b8152600401610780906126e9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610efe6119ec565b6001600160a01b031614610f245760405162461bcd60e51b815260040161078090612723565b610f2d82611a08565b61082282826001611a10565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fd45760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610780565b506000805160206129e083398151915290565b61012d54821061102f5760405162461bcd60e51b815260206004820152601360248201527241646d696e206c69737420697320656d70747960681b6044820152606401610780565b815b61012d548110801561104257508181105b156111045761107861012d828154811061105e5761105e6127b5565b6000918252602090912001546001600160a01b0316610741565b80156110bc5750600261012f5461108f9190612681565b61012d82815481106110a3576110a36127b5565b6000918252602090912001546001600160a01b03163111155b156110f2576110f261012d82815481106110d8576110d86127b5565b6000918252602090912001546001600160a01b03166117e9565b806110fc816127cb565b915050611031565b50600261012f546108009190612681565b61111d611b8a565b6111276000611be9565b565b61113233610741565b61114e5760405162461bcd60e51b81526004016107809061261a565b611156610a94565b6001600160a01b031663291d9549826040518263ffffffff1660e01b81526004016111819190612386565b600060405180830381600087803b15801561119b57600080fd5b505af11580156111af573d6000803e3d6000fd5b50505050600261012f54610dc99190612681565b6111cb611b8a565b6111d784848484611c3b565b50505050565b600054610100900460ff16158080156111fd5750600054600160ff909116105b8061121e575061120c30611c66565b15801561121e575060005460ff166001145b6112815760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610780565b6000805460ff1916600117905580156112a4576000805461ff0019166101001790555b6112ac611c75565b6112b4611c9c565b6112bf600084611ccc565b6112d2620927c062895440600385611c3b565b61013280546001600160a01b0319166001600160a01b0386161790558451156112fe576112fe856114d8565b6101325460405163bf40fac160e01b81526001600160a01b039091169063bf40fac19061132d90600401612823565b602060405180830381865afa15801561134a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136e919061275d565b61013580546001600160a01b0319166001600160a01b039290921691909117905580156113d5576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6097546001600160a01b031690565b600091825260fb602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61141f33610741565b61143b5760405162461bcd60e51b81526004016107809061261a565b611443610a94565b6001600160a01b031663e737031a858585856040518563ffffffff1660e01b81526004016114749493929190612847565b600060405180830381600087803b15801561148e57600080fd5b505af11580156114a2573d6000803e3d6000fd5b50505050600261012f546114b69190612681565b3331118015906114ca57506114ca33610741565b156111d7576111d7336117e9565b6114e0611b8a565b60005b81518110156115ab5761150e828281518110611501576115016127b5565b6020026020010151610741565b1515600003611599576115486000805160206129a083398151915283838151811061153b5761153b6127b5565b6020026020010151610931565b61012d82828151811061155d5761155d6127b5565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790555b806115a3816127cb565b9150506114e3565b50806040516115ba91906127e4565b604051908190038120907f45486b220020cc2482ad1a5e0ae4d5f0b5372cea1b48173f6273c616a504726990600090a250565b6115f68261072c565b6115ff816118f5565b61094d8383611985565b611611611b8a565b6101325460405163bf40fac160e01b81526001600160a01b039091169063bf40fac19061164090600401612823565b602060405180830381865afa15801561165d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611681919061275d565b61013580546001600160a01b0319166001600160a01b0392909216919091179055565b6116b38161046981603261287e565b600261012f54610dc99190612681565b6116cc33610741565b6116e85760405162461bcd60e51b81526004016107809061261a565b6116f0610a94565b6001600160a01b031663c6a276c2826040518263ffffffff1660e01b81526004016111819190612386565b611723611b8a565b6001600160a01b0381166117885760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610780565b610a9181611be9565b61179a33610741565b6117b65760405162461bcd60e51b81526004016107809061261a565b6117be610a94565b6001600160a01b031663188efc16826040518263ffffffff1660e01b81526004016111819190612386565b600161013360006117f8611b7b565b81526020019081526020016000206000836001600160a01b03166001600160a01b031681526020019081526020016000206000828254611838919061287e565b909155506000905061184982610741565b6118565761012e5461185b565b61012f545b905060006118736001600160a01b0384163183612891565b6040519091506001600160a01b0384169082156108fc029083906000818181858888f193505050501580156118ac573d6000803e3d6000fd5b50826001600160a01b03167ff60e56b8021f6ac77bd50d4acdbed9ad9e85107144d43090774a9ebe5ffed985826040516118e891815260200190565b60405180910390a2505050565b610a918133611cd6565b61190982826113eb565b61082257600082815260fb602090815260408083206001600160a01b03851684529091529020805460ff191660011790556119413390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61198f82826113eb565b1561082257600082815260fb602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000805160206129e0833981519152546001600160a01b031690565b610a91611b8a565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611a435761094d83611d2f565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611a9d575060408051601f3d908101601f19168201909252611a9a9181019061277a565b60015b611b005760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610780565b6000805160206129e08339815191528114611b6f5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610780565b5061094d838383611dc9565b6000610b1b6201518042612681565b33611b936113dc565b6001600160a01b0316146111275760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610780565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610131819055611c4b81856128a4565b61012e55611c5981846128a4565b61012f5550610130555050565b6001600160a01b03163b151590565b600054610100900460ff166111275760405162461bcd60e51b8152600401610780906128bb565b600054610100900460ff16611cc35760405162461bcd60e51b8152600401610780906128bb565b61112733611be9565b61082282826118ff565b611ce082826113eb565b61082257611ced81611dee565b611cf8836020611e00565b604051602001611d09929190612906565b60408051601f198184030181529082905262461bcd60e51b825261078091600401612975565b611d3881611c66565b611d9a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610780565b6000805160206129e083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611dd283611fa2565b600082511180611ddf5750805b1561094d576111d78383611fe2565b60606107266001600160a01b03831660145b60606000611e0f8360026128a4565b611e1a90600261287e565b6001600160401b03811115611e3157611e31612187565b6040519080825280601f01601f191660200182016040528015611e5b576020820181803683370190505b509050600360fc1b81600081518110611e7657611e766127b5565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611ea557611ea56127b5565b60200101906001600160f81b031916908160001a9053506000611ec98460026128a4565b611ed490600161287e565b90505b6001811115611f4c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611f0857611f086127b5565b1a60f81b828281518110611f1e57611f1e6127b5565b60200101906001600160f81b031916908160001a90535060049490941c93611f4581612988565b9050611ed7565b508315611f9b5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610780565b9392505050565b611fab81611d2f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060611fed83611c66565b6120485760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610780565b600080846001600160a01b03168460405161206391906126a3565b600060405180830381855af49150503d806000811461209e576040519150601f19603f3d011682016040523d82523d6000602084013e6120a3565b606091505b50915091506120cb8282604051806060016040528060278152602001612a00602791396120d4565b95945050505050565b606083156120e3575081611f9b565b611f9b83838151156120f85781518083602001fd5b8060405162461bcd60e51b81526004016107809190612975565b60006020828403121561212457600080fd5b81356001600160e01b031981168114611f9b57600080fd5b60006020828403121561214e57600080fd5b5035919050565b6001600160a01b0381168114610a9157600080fd5b60006020828403121561217c57600080fd5b8135611f9b81612155565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156121c5576121c5612187565b604052919050565b600082601f8301126121de57600080fd5b81356001600160401b038111156121f7576121f7612187565b61220a601f8201601f191660200161219d565b81815284602083860101111561221f57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561224f57600080fd5b823561225a81612155565b915060208301356001600160401b0381111561227557600080fd5b612281858286016121cd565b9150509250929050565b6000806000606084860312156122a057600080fd5b83356122ab81612155565b925060208401356001600160401b038111156122c657600080fd5b6122d2868287016121cd565b925050604084013590509250925092565b60005b838110156122fe5781810151838201526020016122e6565b50506000910152565b6000815180845261231f8160208601602086016122e3565b601f01601f19169290920160200192915050565b821515815260406020820152600061234e6040830184612307565b949350505050565b6000806040838503121561236957600080fd5b82359150602083013561237b81612155565b809150509250929050565b6001600160a01b0391909116815260200190565b60006001600160401b038211156123b3576123b3612187565b5060051b60200190565b600060208083850312156123d057600080fd5b82356001600160401b038111156123e657600080fd5b8301601f810185136123f757600080fd5b803561240a6124058261239a565b61219d565b81815260059190911b8201830190838101908783111561242957600080fd5b928401925b8284101561245057833561244181612155565b8252928401929084019061242e565b979650505050505050565b6000806040838503121561246e57600080fd5b50508035926020909101359150565b6000806000806080858703121561249357600080fd5b5050823594602084013594506040840135936060013592509050565b600082601f8301126124c057600080fd5b813560206124d06124058361239a565b82815260059290921b840181019181810190868411156124ef57600080fd5b8286015b8481101561251357803561250681612155565b83529183019183016124f3565b509695505050505050565b6000806000806080858703121561253457600080fd5b84356001600160401b0381111561254a57600080fd5b612556878288016124af565b945050602085013561256781612155565b9250604085013561257781612155565b9396929550929360600135925050565b6000806000806080858703121561259d57600080fd5b84356125a881612155565b935060208501356001600160401b038111156125c357600080fd5b6125cf878288016121cd565b949794965050505060408301359260600135919050565b6000602082840312156125f857600080fd5b81356001600160401b0381111561260e57600080fd5b61234e848285016124af565b60208082526013908201527221b0b63632b91034b9903737ba1030b236b4b760691b604082015260600190565b6001600160a01b038316815260406020820181905260009061234e90830184612307565b634e487b7160e01b600052601160045260246000fd5b60008261269e57634e487b7160e01b600052601260045260246000fd5b500490565b600082516126b58184602087016122e3565b9190910192915050565b6060815260006126d26060830186612307565b602083019490945250901515604090910152919050565b6020808252602c908201526000805160206129c083398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206129c083398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561276f57600080fd5b8151611f9b81612155565b60006020828403121561278c57600080fd5b5051919050565b6000602082840312156127a557600080fd5b81518015158114611f9b57600080fd5b634e487b7160e01b600052603260045260246000fd5b6000600182016127dd576127dd61266b565b5060010190565b815160009082906020808601845b838110156128175781516001600160a01b0316855293820193908201906001016127f2565b50929695505050505050565b6020808252600a908201526923a7a7a22227a62620a960b11b604082015260600190565b6001600160a01b038516815260806020820181905260009061286b90830186612307565b6040830194909452506060015292915050565b808201808211156107265761072661266b565b818103818111156107265761072661266b565b80820281158282048414176107265761072661266b565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516129388160178501602088016122e3565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516129698160288401602088016122e3565b01602801949350505050565b602081526000611f9b6020830184612307565b6000816129975761299761266b565b50600019019056febf18f3bdda8a65fc5ec294c2c787f805aceec15eed9fe17fdb6588866be113dc46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212207147faf512e22571a8bd0750b597898f43f71d9a398dfa82e8b470a18bd3d36364736f6c63430008130033",
912
+ "bytecode": "0x60a06040523060805234801561001457600080fd5b50608051612d6961004c600039600081816109ef01528181610a2f01528181610ea701528181610ee70152610f5f0152612d696000f3fe6080604052600436106101da5760003560e01c806301ffc9a7146101e6578063133d93a11461021b578063248a9ca31461024b57806324d7806c1461026b5780632beeaca41461028b5780632bf16458146102ad5780632f2ff15d146102db57806336568abe146102fb5780633659cfe61461031b57806336afc6fa1461033b5780633771dcf81461035d578063377e11e01461037d5780633e6326fc1461039d5780634f1ef286146103be57806352d1902d146103d157806354fd4d50146103e65780635b61e2c1146104205780635fc944e914610459578063715018a61461047957806378c8cda71461048e5780637b76ac91146104ae5780637e2c1355146104d65780637fad46f2146104f65780638da5cb5b1461051657806391d148541461052b578063971d902c1461054b5780639c54df641461056b578063a217fddf1461058b578063a5e598fc146105a0578063b712a2c1146105c1578063bf64e66c146105e1578063c48924961461060f578063d547741f14610626578063d55ec69714610646578063db6268381461065b578063e6ea39391461067b578063eb91e65114610692578063f2fde38b146106b2578063f3da9f05146106d2578063f9f92be4146106e9578063fe173b971461070957600080fd5b366101e157005b600080fd5b3480156101f257600080fd5b506102066102013660046122af565b610720565b60405190151581526020015b60405180910390f35b34801561022757600080fd5b5061023d600080516020612c8d83398151915281565b604051908152602001610212565b34801561025757600080fd5b5061023d6102663660046122d9565b610757565b34801561027757600080fd5b50610206610286366004612307565b61076c565b34801561029757600080fd5b506102ab6102a63660046123d9565b610786565b005b3480156102b957600080fd5b506102cd6102c8366004612428565b610851565b6040516102129291906124d0565b3480156102e757600080fd5b506102ab6102f63660046124f3565b61094a565b34801561030757600080fd5b506102ab6103163660046124f3565b61096b565b34801561032757600080fd5b506102ab610336366004612307565b6109e5565b34801561034757600080fd5b50610350610aad565b6040516102129190612523565b34801561036957600080fd5b506102ab610378366004612307565b610b39565b34801561038957600080fd5b506102ab6103983660046125ce565b610e04565b3480156103a957600080fd5b5061013254610350906001600160a01b031681565b6102ab6103cc3660046123d9565b610e9d565b3480156103dd57600080fd5b5061023d610f52565b3480156103f257600080fd5b506101345461040b90600160801b900463ffffffff1681565b60405163ffffffff9091168152602001610212565b34801561042c57600080fd5b5061013454610441906001600160401b031681565b6040516001600160401b039091168152602001610212565b34801561046557600080fd5b506102ab610474366004612602565b611000565b34801561048557600080fd5b506102ab61112e565b34801561049a57600080fd5b506102ab6104a9366004612307565b611142565b3480156104ba57600080fd5b506101345461044190600160401b90046001600160401b031681565b3480156104e257600080fd5b506102ab6104f1366004612624565b6111dc565b34801561050257600080fd5b506102ab6105113660046126ba565b6111f6565b34801561052257600080fd5b506103506113f5565b34801561053757600080fd5b506102066105463660046124f3565b611404565b34801561055757600080fd5b506102ab610566366004612723565b61142f565b34801561057757600080fd5b506102ab610586366004612782565b6114f1565b34801561059757600080fd5b5061023d600081565b3480156105ac57600080fd5b5061013554610350906001600160a01b031681565b3480156105cd57600080fd5b506102cd6105dc366004612811565b611606565b3480156105ed57600080fd5b5061023d6105fc366004612307565b6101366020526000908152604090205481565b34801561061b57600080fd5b5061023d61012f5481565b34801561063257600080fd5b506102ab6106413660046124f3565b61178a565b34801561065257600080fd5b506102ab6117a6565b34801561066757600080fd5b506102ab6106763660046122d9565b611841565b34801561068757600080fd5b5061023d61012e5481565b34801561069e57600080fd5b506102ab6106ad366004612307565b611860565b3480156106be57600080fd5b506102ab6106cd366004612307565b6118b8565b3480156106de57600080fd5b5061023d6101305481565b3480156106f557600080fd5b506102ab610704366004612307565b61192e565b34801561071557600080fd5b5061023d6101315481565b60006001600160e01b03198216637965db0b60e01b148061075157506301ffc9a760e01b6001600160e01b03198316145b92915050565b600090815260fb602052604090206001015490565b6000610751600080516020612c8d83398151915283611404565b61078f3361076c565b6107b45760405162461bcd60e51b81526004016107ab90612907565b60405180910390fd5b6107bc610aad565b6001600160a01b0316631b02709983836040518363ffffffff1660e01b81526004016107e9929190612934565b600060405180830381600087803b15801561080357600080fd5b505af1158015610817573d6000803e3d6000fd5b50505050600261012f5461082b919061296e565b33311180159061083f575061083f3361076c565b1561084d5761084d33611986565b5050565b6000606061085e3361076c565b61087a5760405162461bcd60e51b81526004016107ab90612907565b846001600160a01b031683856040516108939190612990565b60006040518083038185875af1925050503d80600081146108d0576040519150601f19603f3d011682016040523d82523d6000602084013e6108d5565b606091505b5060405191935091506001600160a01b03861690600080516020612cad83398151915290610908908790879087906129ac565b60405180910390a2600261012f54610920919061296e565b33311180159061093457506109343361076c565b156109425761094233611986565b935093915050565b61095382610757565b61095c81611a92565b6109668383611a9c565b505050565b6001600160a01b03811633146109db5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016107ab565b61084d8282611b22565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a2d5760405162461bcd60e51b81526004016107ab906129d6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610a5f611b89565b6001600160a01b031614610a855760405162461bcd60e51b81526004016107ab90612a10565b610a8e81611ba5565b60408051600080825260208201909252610aaa91839190611bad565b50565b6101325460405163bf40fac160e01b81526020600482015260086024820152674944454e5449545960c01b60448201526000916001600160a01b03169063bf40fac190606401602060405180830381865afa158015610b10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b349190612a4a565b905090565b610b423361076c565b610b5e5760405162461bcd60e51b81526004016107ab90612907565b610135546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610b90908590600401612523565b602060405180830381865afa158015610bad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd19190612a67565b9050610bdb610aad565b6001600160a01b0316633af32abf836040518263ffffffff1660e01b8152600401610c069190612523565b602060405180830381865afa158015610c23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c479190612a80565b80610c6b57506001600160a01b038216600090815261013660205260409020548114155b610cae5760405162461bcd60e51b8152602060048201526014602482015273155cd95c881a185cc81b9bdd081d5cd9590811c960621b60448201526064016107ab565b610130546101336000610cbf611d18565b81526020019081526020016000206000846001600160a01b03166001600160a01b031681526020019081526020016000205410610d575760405162461bcd60e51b815260206004820152603060248201527f557365722077616c6c657420686173206265656e20746f7070656420746f6f2060448201526f6d616e792074696d657320746f64617960801b60648201526084016107ab565b600461012e54610d67919061296e565b826001600160a01b03163110610dac5760405162461bcd60e51b815260206004820152600a60248201526968617342616c616e636560b01b60448201526064016107ab565b6001600160a01b038216600090815261013660205260409020819055610dd182611986565b50600261012f54610de2919061296e565b333111801590610df65750610df63361076c565b15610aaa57610aaa33611986565b610e0c611d27565b60005b8151811015610e5b57610e49600080516020612c8d833981519152838381518110610e3c57610e3c612aa2565b602002602001015161178a565b80610e5381612ab8565b915050610e0f565b5080604051610e6a9190612ad1565b604051908190038120907fd5e6894641b5030a67e637ab2e12da64d8aec689f8bd1328de2b04d6a439c81090600090a250565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610ee55760405162461bcd60e51b81526004016107ab906129d6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f17611b89565b6001600160a01b031614610f3d5760405162461bcd60e51b81526004016107ab90612a10565b610f4682611ba5565b61084d82826001611bad565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fed5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016107ab565b50600080516020612ced83398151915290565b61012d5482106110485760405162461bcd60e51b815260206004820152601360248201527241646d696e206c69737420697320656d70747960681b60448201526064016107ab565b815b61012d548110801561105b57508181105b1561111d5761109161012d828154811061107757611077612aa2565b6000918252602090912001546001600160a01b031661076c565b80156110d55750600261012f546110a8919061296e565b61012d82815481106110bc576110bc612aa2565b6000918252602090912001546001600160a01b03163111155b1561110b5761110b61012d82815481106110f1576110f1612aa2565b6000918252602090912001546001600160a01b0316611986565b8061111581612ab8565b91505061104a565b50600261012f5461082b919061296e565b611136611d27565b6111406000611d86565b565b61114b3361076c565b6111675760405162461bcd60e51b81526004016107ab90612907565b61116f610aad565b6001600160a01b031663291d9549826040518263ffffffff1660e01b815260040161119a9190612523565b600060405180830381600087803b1580156111b457600080fd5b505af11580156111c8573d6000803e3d6000fd5b50505050600261012f54610de2919061296e565b6111e4611d27565b6111f084848484611dd8565b50505050565b600054610100900460ff16158080156112165750600054600160ff909116105b80611237575061122530611e03565b158015611237575060005460ff166001145b61129a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016107ab565b6000805460ff1916600117905580156112bd576000805461ff0019166101001790555b6112c5611e12565b6112cd611e39565b6112d8600084611e69565b6112eb620927c062895440600385611dd8565b61013280546001600160a01b0319166001600160a01b03861617905584511561131757611317856114f1565b6101325460405163bf40fac160e01b81526001600160a01b039091169063bf40fac19061134690600401612b10565b602060405180830381865afa158015611363573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113879190612a4a565b61013580546001600160a01b0319166001600160a01b039290921691909117905580156113ee576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6097546001600160a01b031690565b600091825260fb602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6114383361076c565b6114545760405162461bcd60e51b81526004016107ab90612907565b61145c610aad565b6001600160a01b031663e737031a858585856040518563ffffffff1660e01b815260040161148d9493929190612b34565b600060405180830381600087803b1580156114a757600080fd5b505af11580156114bb573d6000803e3d6000fd5b50505050600261012f546114cf919061296e565b3331118015906114e357506114e33361076c565b156111f0576111f033611986565b6114f9611d27565b60005b81518110156115c45761152782828151811061151a5761151a612aa2565b602002602001015161076c565b15156000036115b257611561600080516020612c8d83398151915283838151811061155457611554612aa2565b602002602001015161094a565b61012d82828151811061157657611576612aa2565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790555b806115bc81612ab8565b9150506114fc565b50806040516115d39190612ad1565b604051908190038120907f45486b220020cc2482ad1a5e0ae4d5f0b5372cea1b48173f6273c616a504726990600090a250565b600060606116133361076c565b61162f5760405162461bcd60e51b81526004016107ab90612907565b60005b85518110156117795785818151811061164d5761164d612aa2565b60200260200101516001600160a01b031684828151811061167057611670612aa2565b602002602001015186838151811061168a5761168a612aa2565b602002602001015160405161169f9190612990565b60006040518083038185875af1925050503d80600081146116dc576040519150601f19603f3d011682016040523d82523d6000602084013e6116e1565b606091505b50875191945092508690829081106116fb576116fb612aa2565b60200260200101516001600160a01b0316600080516020612cad83398151915286838151811061172d5761172d612aa2565b602002602001015186848151811061174757611747612aa2565b60200260200101518660405161175f939291906129ac565b60405180910390a28061177181612ab8565b915050611632565b50600261012f54610920919061296e565b61179382610757565b61179c81611a92565b6109668383611b22565b6117ae611d27565b6101325460405163bf40fac160e01b81526001600160a01b039091169063bf40fac1906117dd90600401612b10565b602060405180830381865afa1580156117fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181e9190612a4a565b61013580546001600160a01b0319166001600160a01b0392909216919091179055565b61185081610474816032612b6b565b600261012f54610de2919061296e565b6118693361076c565b6118855760405162461bcd60e51b81526004016107ab90612907565b61188d610aad565b6001600160a01b031663c6a276c2826040518263ffffffff1660e01b815260040161119a9190612523565b6118c0611d27565b6001600160a01b0381166119255760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107ab565b610aaa81611d86565b6119373361076c565b6119535760405162461bcd60e51b81526004016107ab90612907565b61195b610aad565b6001600160a01b031663188efc16826040518263ffffffff1660e01b815260040161119a9190612523565b60016101336000611995611d18565b81526020019081526020016000206000836001600160a01b03166001600160a01b0316815260200190815260200160002060008282546119d59190612b6b565b90915550600090506119e68261076c565b6119f35761012e546119f8565b61012f545b90506000611a106001600160a01b0384163183612b7e565b6040519091506001600160a01b0384169082156108fc029083906000818181858888f19350505050158015611a49573d6000803e3d6000fd5b50826001600160a01b03167ff60e56b8021f6ac77bd50d4acdbed9ad9e85107144d43090774a9ebe5ffed98582604051611a8591815260200190565b60405180910390a2505050565b610aaa8133611e73565b611aa68282611404565b61084d57600082815260fb602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611ade3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b611b2c8282611404565b1561084d57600082815260fb602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600080516020612ced833981519152546001600160a01b031690565b610aaa611d27565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611be05761096683611ecc565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611c3a575060408051601f3d908101601f19168201909252611c3791810190612a67565b60015b611c9d5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016107ab565b600080516020612ced8339815191528114611d0c5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016107ab565b50610966838383611f66565b6000610b34620151804261296e565b33611d306113f5565b6001600160a01b0316146111405760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107ab565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610131819055611de88185612b91565b61012e55611df68184612b91565b61012f5550610130555050565b6001600160a01b03163b151590565b600054610100900460ff166111405760405162461bcd60e51b81526004016107ab90612ba8565b600054610100900460ff16611e605760405162461bcd60e51b81526004016107ab90612ba8565b61114033611d86565b61084d8282611a9c565b611e7d8282611404565b61084d57611e8a81611f8b565b611e95836020611f9d565b604051602001611ea6929190612bf3565b60408051601f198184030181529082905262461bcd60e51b82526107ab91600401612c62565b611ed581611e03565b611f375760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016107ab565b600080516020612ced83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611f6f8361213f565b600082511180611f7c5750805b15610966576111f0838361217f565b60606107516001600160a01b03831660145b60606000611fac836002612b91565b611fb7906002612b6b565b6001600160401b03811115611fce57611fce612324565b6040519080825280601f01601f191660200182016040528015611ff8576020820181803683370190505b509050600360fc1b8160008151811061201357612013612aa2565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061204257612042612aa2565b60200101906001600160f81b031916908160001a9053506000612066846002612b91565b612071906001612b6b565b90505b60018111156120e9576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106120a5576120a5612aa2565b1a60f81b8282815181106120bb576120bb612aa2565b60200101906001600160f81b031916908160001a90535060049490941c936120e281612c75565b9050612074565b5083156121385760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107ab565b9392505050565b61214881611ecc565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061218a83611e03565b6121e55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016107ab565b600080846001600160a01b0316846040516122009190612990565b600060405180830381855af49150503d806000811461223b576040519150601f19603f3d011682016040523d82523d6000602084013e612240565b606091505b50915091506122688282604051806060016040528060278152602001612d0d60279139612271565b95945050505050565b60608315612280575081612138565b61213883838151156122955781518083602001fd5b8060405162461bcd60e51b81526004016107ab9190612c62565b6000602082840312156122c157600080fd5b81356001600160e01b03198116811461213857600080fd5b6000602082840312156122eb57600080fd5b5035919050565b6001600160a01b0381168114610aaa57600080fd5b60006020828403121561231957600080fd5b8135612138816122f2565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561236257612362612324565b604052919050565b600082601f83011261237b57600080fd5b81356001600160401b0381111561239457612394612324565b6123a7601f8201601f191660200161233a565b8181528460208386010111156123bc57600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156123ec57600080fd5b82356123f7816122f2565b915060208301356001600160401b0381111561241257600080fd5b61241e8582860161236a565b9150509250929050565b60008060006060848603121561243d57600080fd5b8335612448816122f2565b925060208401356001600160401b0381111561246357600080fd5b61246f8682870161236a565b925050604084013590509250925092565b60005b8381101561249b578181015183820152602001612483565b50506000910152565b600081518084526124bc816020860160208601612480565b601f01601f19169290920160200192915050565b82151581526040602082015260006124eb60408301846124a4565b949350505050565b6000806040838503121561250657600080fd5b823591506020830135612518816122f2565b809150509250929050565b6001600160a01b0391909116815260200190565b60006001600160401b0382111561255057612550612324565b5060051b60200190565b600082601f83011261256b57600080fd5b8135602061258061257b83612537565b61233a565b82815260059290921b8401810191818101908684111561259f57600080fd5b8286015b848110156125c35780356125b6816122f2565b83529183019183016125a3565b509695505050505050565b6000602082840312156125e057600080fd5b81356001600160401b038111156125f657600080fd5b6124eb8482850161255a565b6000806040838503121561261557600080fd5b50508035926020909101359150565b6000806000806080858703121561263a57600080fd5b5050823594602084013594506040840135936060013592509050565b600082601f83011261266757600080fd5b8135602061267761257b83612537565b82815260059290921b8401810191818101908684111561269657600080fd5b8286015b848110156125c35780356126ad816122f2565b835291830191830161269a565b600080600080608085870312156126d057600080fd5b84356001600160401b038111156126e657600080fd5b6126f287828801612656565b9450506020850135612703816122f2565b92506040850135612713816122f2565b9396929550929360600135925050565b6000806000806080858703121561273957600080fd5b8435612744816122f2565b935060208501356001600160401b0381111561275f57600080fd5b61276b8782880161236a565b949794965050505060408301359260600135919050565b60006020828403121561279457600080fd5b81356001600160401b038111156127aa57600080fd5b6124eb84828501612656565b600082601f8301126127c757600080fd5b813560206127d761257b83612537565b82815260059290921b840181019181810190868411156127f657600080fd5b8286015b848110156125c357803583529183019183016127fa565b60008060006060848603121561282657600080fd5b83356001600160401b038082111561283d57600080fd5b6128498783880161255a565b945060209150818601358181111561286057600080fd5b8601601f8101881361287157600080fd5b803561287f61257b82612537565b81815260059190911b8201840190848101908a83111561289e57600080fd5b8584015b838110156128d6578035868111156128ba5760008081fd5b6128c88d898389010161236a565b8452509186019186016128a2565b50965050505060408601359150808211156128f057600080fd5b506128fd868287016127b6565b9150509250925092565b60208082526013908201527221b0b63632b91034b9903737ba1030b236b4b760691b604082015260600190565b6001600160a01b03831681526040602082018190526000906124eb908301846124a4565b634e487b7160e01b600052601160045260246000fd5b60008261298b57634e487b7160e01b600052601260045260246000fd5b500490565b600082516129a2818460208701612480565b9190910192915050565b6060815260006129bf60608301866124a4565b602083019490945250901515604090910152919050565b6020808252602c90820152600080516020612ccd83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020612ccd83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215612a5c57600080fd5b8151612138816122f2565b600060208284031215612a7957600080fd5b5051919050565b600060208284031215612a9257600080fd5b8151801515811461213857600080fd5b634e487b7160e01b600052603260045260246000fd5b600060018201612aca57612aca612958565b5060010190565b815160009082906020808601845b83811015612b045781516001600160a01b031685529382019390820190600101612adf565b50929695505050505050565b6020808252600a908201526923a7a7a22227a62620a960b11b604082015260600190565b6001600160a01b0385168152608060208201819052600090612b58908301866124a4565b6040830194909452506060015292915050565b8082018082111561075157610751612958565b8181038181111561075157610751612958565b808202811582820484141761075157610751612958565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351612c25816017850160208801612480565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612c56816028840160208801612480565b01602801949350505050565b60208152600061213860208301846124a4565b600081612c8457612c84612958565b50600019019056febf18f3bdda8a65fc5ec294c2c787f805aceec15eed9fe17fdb6588866be113dc534b52c783549f909f9e743120524d0b7154058e4a54cdc895c2c0b587a1c7e046756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220257f2aea7f77d24ca430047166bd58cc4bb745f3077c8f4a8d04e8b18c09225964736f6c63430008130033",
913
+ "deployedBytecode": "0x6080604052600436106101da5760003560e01c806301ffc9a7146101e6578063133d93a11461021b578063248a9ca31461024b57806324d7806c1461026b5780632beeaca41461028b5780632bf16458146102ad5780632f2ff15d146102db57806336568abe146102fb5780633659cfe61461031b57806336afc6fa1461033b5780633771dcf81461035d578063377e11e01461037d5780633e6326fc1461039d5780634f1ef286146103be57806352d1902d146103d157806354fd4d50146103e65780635b61e2c1146104205780635fc944e914610459578063715018a61461047957806378c8cda71461048e5780637b76ac91146104ae5780637e2c1355146104d65780637fad46f2146104f65780638da5cb5b1461051657806391d148541461052b578063971d902c1461054b5780639c54df641461056b578063a217fddf1461058b578063a5e598fc146105a0578063b712a2c1146105c1578063bf64e66c146105e1578063c48924961461060f578063d547741f14610626578063d55ec69714610646578063db6268381461065b578063e6ea39391461067b578063eb91e65114610692578063f2fde38b146106b2578063f3da9f05146106d2578063f9f92be4146106e9578063fe173b971461070957600080fd5b366101e157005b600080fd5b3480156101f257600080fd5b506102066102013660046122af565b610720565b60405190151581526020015b60405180910390f35b34801561022757600080fd5b5061023d600080516020612c8d83398151915281565b604051908152602001610212565b34801561025757600080fd5b5061023d6102663660046122d9565b610757565b34801561027757600080fd5b50610206610286366004612307565b61076c565b34801561029757600080fd5b506102ab6102a63660046123d9565b610786565b005b3480156102b957600080fd5b506102cd6102c8366004612428565b610851565b6040516102129291906124d0565b3480156102e757600080fd5b506102ab6102f63660046124f3565b61094a565b34801561030757600080fd5b506102ab6103163660046124f3565b61096b565b34801561032757600080fd5b506102ab610336366004612307565b6109e5565b34801561034757600080fd5b50610350610aad565b6040516102129190612523565b34801561036957600080fd5b506102ab610378366004612307565b610b39565b34801561038957600080fd5b506102ab6103983660046125ce565b610e04565b3480156103a957600080fd5b5061013254610350906001600160a01b031681565b6102ab6103cc3660046123d9565b610e9d565b3480156103dd57600080fd5b5061023d610f52565b3480156103f257600080fd5b506101345461040b90600160801b900463ffffffff1681565b60405163ffffffff9091168152602001610212565b34801561042c57600080fd5b5061013454610441906001600160401b031681565b6040516001600160401b039091168152602001610212565b34801561046557600080fd5b506102ab610474366004612602565b611000565b34801561048557600080fd5b506102ab61112e565b34801561049a57600080fd5b506102ab6104a9366004612307565b611142565b3480156104ba57600080fd5b506101345461044190600160401b90046001600160401b031681565b3480156104e257600080fd5b506102ab6104f1366004612624565b6111dc565b34801561050257600080fd5b506102ab6105113660046126ba565b6111f6565b34801561052257600080fd5b506103506113f5565b34801561053757600080fd5b506102066105463660046124f3565b611404565b34801561055757600080fd5b506102ab610566366004612723565b61142f565b34801561057757600080fd5b506102ab610586366004612782565b6114f1565b34801561059757600080fd5b5061023d600081565b3480156105ac57600080fd5b5061013554610350906001600160a01b031681565b3480156105cd57600080fd5b506102cd6105dc366004612811565b611606565b3480156105ed57600080fd5b5061023d6105fc366004612307565b6101366020526000908152604090205481565b34801561061b57600080fd5b5061023d61012f5481565b34801561063257600080fd5b506102ab6106413660046124f3565b61178a565b34801561065257600080fd5b506102ab6117a6565b34801561066757600080fd5b506102ab6106763660046122d9565b611841565b34801561068757600080fd5b5061023d61012e5481565b34801561069e57600080fd5b506102ab6106ad366004612307565b611860565b3480156106be57600080fd5b506102ab6106cd366004612307565b6118b8565b3480156106de57600080fd5b5061023d6101305481565b3480156106f557600080fd5b506102ab610704366004612307565b61192e565b34801561071557600080fd5b5061023d6101315481565b60006001600160e01b03198216637965db0b60e01b148061075157506301ffc9a760e01b6001600160e01b03198316145b92915050565b600090815260fb602052604090206001015490565b6000610751600080516020612c8d83398151915283611404565b61078f3361076c565b6107b45760405162461bcd60e51b81526004016107ab90612907565b60405180910390fd5b6107bc610aad565b6001600160a01b0316631b02709983836040518363ffffffff1660e01b81526004016107e9929190612934565b600060405180830381600087803b15801561080357600080fd5b505af1158015610817573d6000803e3d6000fd5b50505050600261012f5461082b919061296e565b33311180159061083f575061083f3361076c565b1561084d5761084d33611986565b5050565b6000606061085e3361076c565b61087a5760405162461bcd60e51b81526004016107ab90612907565b846001600160a01b031683856040516108939190612990565b60006040518083038185875af1925050503d80600081146108d0576040519150601f19603f3d011682016040523d82523d6000602084013e6108d5565b606091505b5060405191935091506001600160a01b03861690600080516020612cad83398151915290610908908790879087906129ac565b60405180910390a2600261012f54610920919061296e565b33311180159061093457506109343361076c565b156109425761094233611986565b935093915050565b61095382610757565b61095c81611a92565b6109668383611a9c565b505050565b6001600160a01b03811633146109db5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016107ab565b61084d8282611b22565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a2d5760405162461bcd60e51b81526004016107ab906129d6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610a5f611b89565b6001600160a01b031614610a855760405162461bcd60e51b81526004016107ab90612a10565b610a8e81611ba5565b60408051600080825260208201909252610aaa91839190611bad565b50565b6101325460405163bf40fac160e01b81526020600482015260086024820152674944454e5449545960c01b60448201526000916001600160a01b03169063bf40fac190606401602060405180830381865afa158015610b10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b349190612a4a565b905090565b610b423361076c565b610b5e5760405162461bcd60e51b81526004016107ab90612907565b610135546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610b90908590600401612523565b602060405180830381865afa158015610bad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd19190612a67565b9050610bdb610aad565b6001600160a01b0316633af32abf836040518263ffffffff1660e01b8152600401610c069190612523565b602060405180830381865afa158015610c23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c479190612a80565b80610c6b57506001600160a01b038216600090815261013660205260409020548114155b610cae5760405162461bcd60e51b8152602060048201526014602482015273155cd95c881a185cc81b9bdd081d5cd9590811c960621b60448201526064016107ab565b610130546101336000610cbf611d18565b81526020019081526020016000206000846001600160a01b03166001600160a01b031681526020019081526020016000205410610d575760405162461bcd60e51b815260206004820152603060248201527f557365722077616c6c657420686173206265656e20746f7070656420746f6f2060448201526f6d616e792074696d657320746f64617960801b60648201526084016107ab565b600461012e54610d67919061296e565b826001600160a01b03163110610dac5760405162461bcd60e51b815260206004820152600a60248201526968617342616c616e636560b01b60448201526064016107ab565b6001600160a01b038216600090815261013660205260409020819055610dd182611986565b50600261012f54610de2919061296e565b333111801590610df65750610df63361076c565b15610aaa57610aaa33611986565b610e0c611d27565b60005b8151811015610e5b57610e49600080516020612c8d833981519152838381518110610e3c57610e3c612aa2565b602002602001015161178a565b80610e5381612ab8565b915050610e0f565b5080604051610e6a9190612ad1565b604051908190038120907fd5e6894641b5030a67e637ab2e12da64d8aec689f8bd1328de2b04d6a439c81090600090a250565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610ee55760405162461bcd60e51b81526004016107ab906129d6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f17611b89565b6001600160a01b031614610f3d5760405162461bcd60e51b81526004016107ab90612a10565b610f4682611ba5565b61084d82826001611bad565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fed5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60648201526084016107ab565b50600080516020612ced83398151915290565b61012d5482106110485760405162461bcd60e51b815260206004820152601360248201527241646d696e206c69737420697320656d70747960681b60448201526064016107ab565b815b61012d548110801561105b57508181105b1561111d5761109161012d828154811061107757611077612aa2565b6000918252602090912001546001600160a01b031661076c565b80156110d55750600261012f546110a8919061296e565b61012d82815481106110bc576110bc612aa2565b6000918252602090912001546001600160a01b03163111155b1561110b5761110b61012d82815481106110f1576110f1612aa2565b6000918252602090912001546001600160a01b0316611986565b8061111581612ab8565b91505061104a565b50600261012f5461082b919061296e565b611136611d27565b6111406000611d86565b565b61114b3361076c565b6111675760405162461bcd60e51b81526004016107ab90612907565b61116f610aad565b6001600160a01b031663291d9549826040518263ffffffff1660e01b815260040161119a9190612523565b600060405180830381600087803b1580156111b457600080fd5b505af11580156111c8573d6000803e3d6000fd5b50505050600261012f54610de2919061296e565b6111e4611d27565b6111f084848484611dd8565b50505050565b600054610100900460ff16158080156112165750600054600160ff909116105b80611237575061122530611e03565b158015611237575060005460ff166001145b61129a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016107ab565b6000805460ff1916600117905580156112bd576000805461ff0019166101001790555b6112c5611e12565b6112cd611e39565b6112d8600084611e69565b6112eb620927c062895440600385611dd8565b61013280546001600160a01b0319166001600160a01b03861617905584511561131757611317856114f1565b6101325460405163bf40fac160e01b81526001600160a01b039091169063bf40fac19061134690600401612b10565b602060405180830381865afa158015611363573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113879190612a4a565b61013580546001600160a01b0319166001600160a01b039290921691909117905580156113ee576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6097546001600160a01b031690565b600091825260fb602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6114383361076c565b6114545760405162461bcd60e51b81526004016107ab90612907565b61145c610aad565b6001600160a01b031663e737031a858585856040518563ffffffff1660e01b815260040161148d9493929190612b34565b600060405180830381600087803b1580156114a757600080fd5b505af11580156114bb573d6000803e3d6000fd5b50505050600261012f546114cf919061296e565b3331118015906114e357506114e33361076c565b156111f0576111f033611986565b6114f9611d27565b60005b81518110156115c45761152782828151811061151a5761151a612aa2565b602002602001015161076c565b15156000036115b257611561600080516020612c8d83398151915283838151811061155457611554612aa2565b602002602001015161094a565b61012d82828151811061157657611576612aa2565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790555b806115bc81612ab8565b9150506114fc565b50806040516115d39190612ad1565b604051908190038120907f45486b220020cc2482ad1a5e0ae4d5f0b5372cea1b48173f6273c616a504726990600090a250565b600060606116133361076c565b61162f5760405162461bcd60e51b81526004016107ab90612907565b60005b85518110156117795785818151811061164d5761164d612aa2565b60200260200101516001600160a01b031684828151811061167057611670612aa2565b602002602001015186838151811061168a5761168a612aa2565b602002602001015160405161169f9190612990565b60006040518083038185875af1925050503d80600081146116dc576040519150601f19603f3d011682016040523d82523d6000602084013e6116e1565b606091505b50875191945092508690829081106116fb576116fb612aa2565b60200260200101516001600160a01b0316600080516020612cad83398151915286838151811061172d5761172d612aa2565b602002602001015186848151811061174757611747612aa2565b60200260200101518660405161175f939291906129ac565b60405180910390a28061177181612ab8565b915050611632565b50600261012f54610920919061296e565b61179382610757565b61179c81611a92565b6109668383611b22565b6117ae611d27565b6101325460405163bf40fac160e01b81526001600160a01b039091169063bf40fac1906117dd90600401612b10565b602060405180830381865afa1580156117fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181e9190612a4a565b61013580546001600160a01b0319166001600160a01b0392909216919091179055565b61185081610474816032612b6b565b600261012f54610de2919061296e565b6118693361076c565b6118855760405162461bcd60e51b81526004016107ab90612907565b61188d610aad565b6001600160a01b031663c6a276c2826040518263ffffffff1660e01b815260040161119a9190612523565b6118c0611d27565b6001600160a01b0381166119255760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107ab565b610aaa81611d86565b6119373361076c565b6119535760405162461bcd60e51b81526004016107ab90612907565b61195b610aad565b6001600160a01b031663188efc16826040518263ffffffff1660e01b815260040161119a9190612523565b60016101336000611995611d18565b81526020019081526020016000206000836001600160a01b03166001600160a01b0316815260200190815260200160002060008282546119d59190612b6b565b90915550600090506119e68261076c565b6119f35761012e546119f8565b61012f545b90506000611a106001600160a01b0384163183612b7e565b6040519091506001600160a01b0384169082156108fc029083906000818181858888f19350505050158015611a49573d6000803e3d6000fd5b50826001600160a01b03167ff60e56b8021f6ac77bd50d4acdbed9ad9e85107144d43090774a9ebe5ffed98582604051611a8591815260200190565b60405180910390a2505050565b610aaa8133611e73565b611aa68282611404565b61084d57600082815260fb602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611ade3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b611b2c8282611404565b1561084d57600082815260fb602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600080516020612ced833981519152546001600160a01b031690565b610aaa611d27565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611be05761096683611ecc565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611c3a575060408051601f3d908101601f19168201909252611c3791810190612a67565b60015b611c9d5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016107ab565b600080516020612ced8339815191528114611d0c5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016107ab565b50610966838383611f66565b6000610b34620151804261296e565b33611d306113f5565b6001600160a01b0316146111405760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107ab565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610131819055611de88185612b91565b61012e55611df68184612b91565b61012f5550610130555050565b6001600160a01b03163b151590565b600054610100900460ff166111405760405162461bcd60e51b81526004016107ab90612ba8565b600054610100900460ff16611e605760405162461bcd60e51b81526004016107ab90612ba8565b61114033611d86565b61084d8282611a9c565b611e7d8282611404565b61084d57611e8a81611f8b565b611e95836020611f9d565b604051602001611ea6929190612bf3565b60408051601f198184030181529082905262461bcd60e51b82526107ab91600401612c62565b611ed581611e03565b611f375760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016107ab565b600080516020612ced83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611f6f8361213f565b600082511180611f7c5750805b15610966576111f0838361217f565b60606107516001600160a01b03831660145b60606000611fac836002612b91565b611fb7906002612b6b565b6001600160401b03811115611fce57611fce612324565b6040519080825280601f01601f191660200182016040528015611ff8576020820181803683370190505b509050600360fc1b8160008151811061201357612013612aa2565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061204257612042612aa2565b60200101906001600160f81b031916908160001a9053506000612066846002612b91565b612071906001612b6b565b90505b60018111156120e9576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106120a5576120a5612aa2565b1a60f81b8282815181106120bb576120bb612aa2565b60200101906001600160f81b031916908160001a90535060049490941c936120e281612c75565b9050612074565b5083156121385760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107ab565b9392505050565b61214881611ecc565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061218a83611e03565b6121e55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016107ab565b600080846001600160a01b0316846040516122009190612990565b600060405180830381855af49150503d806000811461223b576040519150601f19603f3d011682016040523d82523d6000602084013e612240565b606091505b50915091506122688282604051806060016040528060278152602001612d0d60279139612271565b95945050505050565b60608315612280575081612138565b61213883838151156122955781518083602001fd5b8060405162461bcd60e51b81526004016107ab9190612c62565b6000602082840312156122c157600080fd5b81356001600160e01b03198116811461213857600080fd5b6000602082840312156122eb57600080fd5b5035919050565b6001600160a01b0381168114610aaa57600080fd5b60006020828403121561231957600080fd5b8135612138816122f2565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561236257612362612324565b604052919050565b600082601f83011261237b57600080fd5b81356001600160401b0381111561239457612394612324565b6123a7601f8201601f191660200161233a565b8181528460208386010111156123bc57600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156123ec57600080fd5b82356123f7816122f2565b915060208301356001600160401b0381111561241257600080fd5b61241e8582860161236a565b9150509250929050565b60008060006060848603121561243d57600080fd5b8335612448816122f2565b925060208401356001600160401b0381111561246357600080fd5b61246f8682870161236a565b925050604084013590509250925092565b60005b8381101561249b578181015183820152602001612483565b50506000910152565b600081518084526124bc816020860160208601612480565b601f01601f19169290920160200192915050565b82151581526040602082015260006124eb60408301846124a4565b949350505050565b6000806040838503121561250657600080fd5b823591506020830135612518816122f2565b809150509250929050565b6001600160a01b0391909116815260200190565b60006001600160401b0382111561255057612550612324565b5060051b60200190565b600082601f83011261256b57600080fd5b8135602061258061257b83612537565b61233a565b82815260059290921b8401810191818101908684111561259f57600080fd5b8286015b848110156125c35780356125b6816122f2565b83529183019183016125a3565b509695505050505050565b6000602082840312156125e057600080fd5b81356001600160401b038111156125f657600080fd5b6124eb8482850161255a565b6000806040838503121561261557600080fd5b50508035926020909101359150565b6000806000806080858703121561263a57600080fd5b5050823594602084013594506040840135936060013592509050565b600082601f83011261266757600080fd5b8135602061267761257b83612537565b82815260059290921b8401810191818101908684111561269657600080fd5b8286015b848110156125c35780356126ad816122f2565b835291830191830161269a565b600080600080608085870312156126d057600080fd5b84356001600160401b038111156126e657600080fd5b6126f287828801612656565b9450506020850135612703816122f2565b92506040850135612713816122f2565b9396929550929360600135925050565b6000806000806080858703121561273957600080fd5b8435612744816122f2565b935060208501356001600160401b0381111561275f57600080fd5b61276b8782880161236a565b949794965050505060408301359260600135919050565b60006020828403121561279457600080fd5b81356001600160401b038111156127aa57600080fd5b6124eb84828501612656565b600082601f8301126127c757600080fd5b813560206127d761257b83612537565b82815260059290921b840181019181810190868411156127f657600080fd5b8286015b848110156125c357803583529183019183016127fa565b60008060006060848603121561282657600080fd5b83356001600160401b038082111561283d57600080fd5b6128498783880161255a565b945060209150818601358181111561286057600080fd5b8601601f8101881361287157600080fd5b803561287f61257b82612537565b81815260059190911b8201840190848101908a83111561289e57600080fd5b8584015b838110156128d6578035868111156128ba5760008081fd5b6128c88d898389010161236a565b8452509186019186016128a2565b50965050505060408601359150808211156128f057600080fd5b506128fd868287016127b6565b9150509250925092565b60208082526013908201527221b0b63632b91034b9903737ba1030b236b4b760691b604082015260600190565b6001600160a01b03831681526040602082018190526000906124eb908301846124a4565b634e487b7160e01b600052601160045260246000fd5b60008261298b57634e487b7160e01b600052601260045260246000fd5b500490565b600082516129a2818460208701612480565b9190910192915050565b6060815260006129bf60608301866124a4565b602083019490945250901515604090910152919050565b6020808252602c90820152600080516020612ccd83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020612ccd83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215612a5c57600080fd5b8151612138816122f2565b600060208284031215612a7957600080fd5b5051919050565b600060208284031215612a9257600080fd5b8151801515811461213857600080fd5b634e487b7160e01b600052603260045260246000fd5b600060018201612aca57612aca612958565b5060010190565b815160009082906020808601845b83811015612b045781516001600160a01b031685529382019390820190600101612adf565b50929695505050505050565b6020808252600a908201526923a7a7a22227a62620a960b11b604082015260600190565b6001600160a01b0385168152608060208201819052600090612b58908301866124a4565b6040830194909452506060015292915050565b8082018082111561075157610751612958565b8181038181111561075157610751612958565b808202811582820484141761075157610751612958565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351612c25816017850160208801612480565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612c56816028840160208801612480565b01602801949350505050565b60208152600061213860208301846124a4565b600081612c8457612c84612958565b50600019019056febf18f3bdda8a65fc5ec294c2c787f805aceec15eed9fe17fdb6588866be113dc534b52c783549f909f9e743120524d0b7154058e4a54cdc895c2c0b587a1c7e046756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220257f2aea7f77d24ca430047166bd58cc4bb745f3077c8f4a8d04e8b18c09225964736f6c63430008130033",
880
914
  "linkReferences": {},
881
915
  "deployedLinkReferences": {}
882
916
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/02befb12373b2a68315b0e289f939087.json"
3
+ "buildInfo": "../../../build-info/6d05e6f5ec21eda88e1c735d5d16784b.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/02befb12373b2a68315b0e289f939087.json"
3
+ "buildInfo": "../../../build-info/6d05e6f5ec21eda88e1c735d5d16784b.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/02befb12373b2a68315b0e289f939087.json"
3
+ "buildInfo": "../../../build-info/3f01892c63928bf6c8e9bb9cd263916d.json"
4
4
  }
@@ -60,8 +60,8 @@
60
60
  "type": "receive"
61
61
  }
62
62
  ],
63
- "bytecode": "0x608060405234801561001057600080fd5b5060405161085838038061085883398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b6107c5806100936000396000f3fe60806040526004361061002d5760003560e01c80638732281614610039578063c36b34081461005b57600080fd5b3661003457005b600080fd5b34801561004557600080fd5b50610059610054366004610482565b61007b565b005b34801561006757600080fd5b50610059610076366004610519565b6101e4565b600054604051630935e01b60e21b81526001600160a01b03909116906324d7806c906100ab903390600401610686565b602060405180830381865afa1580156100c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ec919061069a565b6101115760405162461bcd60e51b8152600401610108906106c3565b60405180910390fd5b60005b81518110156101af5760005482516001600160a01b03909116906378c8cda790849084908110610146576101466106e6565b60200260200101516040518263ffffffff1660e01b815260040161016a9190610686565b600060405180830381600087803b15801561018457600080fd5b505af1158015610198573d6000803e3d6000fd5b5050505080806101a7906106fc565b915050610114565b506040514790339082156108fc029083906000818181858888f193505050501580156101df573d6000803e3d6000fd5b505050565b600054604051630935e01b60e21b81526001600160a01b03909116906324d7806c90610214903390600401610686565b602060405180830381865afa158015610231573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610255919061069a565b6102715760405162461bcd60e51b8152600401610108906106c3565b60005b84518110156103605760005485516001600160a01b039091169063971d902c908790849081106102a6576102a66106e6565b60200260200101518684815181106102c0576102c06106e6565b60200260200101518685815181106102da576102da6106e6565b60200260200101518686815181106102f4576102f46106e6565b60200260200101516040518563ffffffff1660e01b815260040161031b9493929190610723565b600060405180830381600087803b15801561033557600080fd5b505af1158015610349573d6000803e3d6000fd5b505050508080610358906106fc565b915050610274565b506040514790339082156108fc029083906000818181858888f19350505050158015610390573d6000803e3d6000fd5b505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156103d6576103d6610398565b604052919050565b60006001600160401b038211156103f7576103f7610398565b5060051b60200190565b600082601f83011261041257600080fd5b81356020610427610422836103de565b6103ae565b82815260059290921b8401810191818101908684111561044657600080fd5b8286015b848110156104775780356001600160a01b038116811461046a5760008081fd5b835291830191830161044a565b509695505050505050565b60006020828403121561049457600080fd5b81356001600160401b038111156104aa57600080fd5b6104b684828501610401565b949350505050565b600082601f8301126104cf57600080fd5b813560206104df610422836103de565b82815260059290921b840181019181810190868411156104fe57600080fd5b8286015b848110156104775780358352918301918301610502565b6000806000806080858703121561052f57600080fd5b84356001600160401b038082111561054657600080fd5b61055288838901610401565b955060209150818701358181111561056957600080fd5b8701601f8101891361057a57600080fd5b8035610588610422826103de565b81815260059190911b8201840190848101908b8311156105a757600080fd5b8584015b83811015610631578035868111156105c257600080fd5b8501603f81018e136105d357600080fd5b87810135878111156105e7576105e7610398565b6105f9601f8201601f19168a016103ae565b8181528f604083850101111561060f5760008081fd5b81604084018b83013760009181018a01919091528452509186019186016105ab565b509750505050604087013591508082111561064b57600080fd5b610657888389016104be565b9350606087013591508082111561066d57600080fd5b5061067a878288016104be565b91505092959194509250565b6001600160a01b0391909116815260200190565b6000602082840312156106ac57600080fd5b815180151581146106bc57600080fd5b9392505050565b6020808252600990820152683737ba1030b236b4b760b91b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161071c57634e487b7160e01b600052601160045260246000fd5b5060010190565b60018060a01b038516815260006020608081840152855180608085015260005b8181101561075f5787810183015185820160a001528201610743565b50600060a0828601015260a0601f19601f830116850101925050508360408301528260608301529594505050505056fea2646970667358221220f8a118186be782c0ff73f98e34d57f4264e116b6f69b10f45f9612de490992ac64736f6c63430008130033",
64
- "deployedBytecode": "0x60806040526004361061002d5760003560e01c80638732281614610039578063c36b34081461005b57600080fd5b3661003457005b600080fd5b34801561004557600080fd5b50610059610054366004610482565b61007b565b005b34801561006757600080fd5b50610059610076366004610519565b6101e4565b600054604051630935e01b60e21b81526001600160a01b03909116906324d7806c906100ab903390600401610686565b602060405180830381865afa1580156100c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ec919061069a565b6101115760405162461bcd60e51b8152600401610108906106c3565b60405180910390fd5b60005b81518110156101af5760005482516001600160a01b03909116906378c8cda790849084908110610146576101466106e6565b60200260200101516040518263ffffffff1660e01b815260040161016a9190610686565b600060405180830381600087803b15801561018457600080fd5b505af1158015610198573d6000803e3d6000fd5b5050505080806101a7906106fc565b915050610114565b506040514790339082156108fc029083906000818181858888f193505050501580156101df573d6000803e3d6000fd5b505050565b600054604051630935e01b60e21b81526001600160a01b03909116906324d7806c90610214903390600401610686565b602060405180830381865afa158015610231573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610255919061069a565b6102715760405162461bcd60e51b8152600401610108906106c3565b60005b84518110156103605760005485516001600160a01b039091169063971d902c908790849081106102a6576102a66106e6565b60200260200101518684815181106102c0576102c06106e6565b60200260200101518685815181106102da576102da6106e6565b60200260200101518686815181106102f4576102f46106e6565b60200260200101516040518563ffffffff1660e01b815260040161031b9493929190610723565b600060405180830381600087803b15801561033557600080fd5b505af1158015610349573d6000803e3d6000fd5b505050508080610358906106fc565b915050610274565b506040514790339082156108fc029083906000818181858888f19350505050158015610390573d6000803e3d6000fd5b505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156103d6576103d6610398565b604052919050565b60006001600160401b038211156103f7576103f7610398565b5060051b60200190565b600082601f83011261041257600080fd5b81356020610427610422836103de565b6103ae565b82815260059290921b8401810191818101908684111561044657600080fd5b8286015b848110156104775780356001600160a01b038116811461046a5760008081fd5b835291830191830161044a565b509695505050505050565b60006020828403121561049457600080fd5b81356001600160401b038111156104aa57600080fd5b6104b684828501610401565b949350505050565b600082601f8301126104cf57600080fd5b813560206104df610422836103de565b82815260059290921b840181019181810190868411156104fe57600080fd5b8286015b848110156104775780358352918301918301610502565b6000806000806080858703121561052f57600080fd5b84356001600160401b038082111561054657600080fd5b61055288838901610401565b955060209150818701358181111561056957600080fd5b8701601f8101891361057a57600080fd5b8035610588610422826103de565b81815260059190911b8201840190848101908b8311156105a757600080fd5b8584015b83811015610631578035868111156105c257600080fd5b8501603f81018e136105d357600080fd5b87810135878111156105e7576105e7610398565b6105f9601f8201601f19168a016103ae565b8181528f604083850101111561060f5760008081fd5b81604084018b83013760009181018a01919091528452509186019186016105ab565b509750505050604087013591508082111561064b57600080fd5b610657888389016104be565b9350606087013591508082111561066d57600080fd5b5061067a878288016104be565b91505092959194509250565b6001600160a01b0391909116815260200190565b6000602082840312156106ac57600080fd5b815180151581146106bc57600080fd5b9392505050565b6020808252600990820152683737ba1030b236b4b760b91b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161071c57634e487b7160e01b600052601160045260246000fd5b5060010190565b60018060a01b038516815260006020608081840152855180608085015260005b8181101561075f5787810183015185820160a001528201610743565b50600060a0828601015260a0601f19601f830116850101925050508360408301528260608301529594505050505056fea2646970667358221220f8a118186be782c0ff73f98e34d57f4264e116b6f69b10f45f9612de490992ac64736f6c63430008130033",
63
+ "bytecode": "0x608060405234801561001057600080fd5b5060405161085838038061085883398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b6107c5806100936000396000f3fe60806040526004361061002d5760003560e01c80638732281614610039578063c36b34081461005b57600080fd5b3661003457005b600080fd5b34801561004557600080fd5b50610059610054366004610482565b61007b565b005b34801561006757600080fd5b50610059610076366004610519565b6101e4565b600054604051630935e01b60e21b81526001600160a01b03909116906324d7806c906100ab903390600401610686565b602060405180830381865afa1580156100c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ec919061069a565b6101115760405162461bcd60e51b8152600401610108906106c3565b60405180910390fd5b60005b81518110156101af5760005482516001600160a01b03909116906378c8cda790849084908110610146576101466106e6565b60200260200101516040518263ffffffff1660e01b815260040161016a9190610686565b600060405180830381600087803b15801561018457600080fd5b505af1158015610198573d6000803e3d6000fd5b5050505080806101a7906106fc565b915050610114565b506040514790339082156108fc029083906000818181858888f193505050501580156101df573d6000803e3d6000fd5b505050565b600054604051630935e01b60e21b81526001600160a01b03909116906324d7806c90610214903390600401610686565b602060405180830381865afa158015610231573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610255919061069a565b6102715760405162461bcd60e51b8152600401610108906106c3565b60005b84518110156103605760005485516001600160a01b039091169063971d902c908790849081106102a6576102a66106e6565b60200260200101518684815181106102c0576102c06106e6565b60200260200101518685815181106102da576102da6106e6565b60200260200101518686815181106102f4576102f46106e6565b60200260200101516040518563ffffffff1660e01b815260040161031b9493929190610723565b600060405180830381600087803b15801561033557600080fd5b505af1158015610349573d6000803e3d6000fd5b505050508080610358906106fc565b915050610274565b506040514790339082156108fc029083906000818181858888f19350505050158015610390573d6000803e3d6000fd5b505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156103d6576103d6610398565b604052919050565b60006001600160401b038211156103f7576103f7610398565b5060051b60200190565b600082601f83011261041257600080fd5b81356020610427610422836103de565b6103ae565b82815260059290921b8401810191818101908684111561044657600080fd5b8286015b848110156104775780356001600160a01b038116811461046a5760008081fd5b835291830191830161044a565b509695505050505050565b60006020828403121561049457600080fd5b81356001600160401b038111156104aa57600080fd5b6104b684828501610401565b949350505050565b600082601f8301126104cf57600080fd5b813560206104df610422836103de565b82815260059290921b840181019181810190868411156104fe57600080fd5b8286015b848110156104775780358352918301918301610502565b6000806000806080858703121561052f57600080fd5b84356001600160401b038082111561054657600080fd5b61055288838901610401565b955060209150818701358181111561056957600080fd5b8701601f8101891361057a57600080fd5b8035610588610422826103de565b81815260059190911b8201840190848101908b8311156105a757600080fd5b8584015b83811015610631578035868111156105c257600080fd5b8501603f81018e136105d357600080fd5b87810135878111156105e7576105e7610398565b6105f9601f8201601f19168a016103ae565b8181528f604083850101111561060f5760008081fd5b81604084018b83013760009181018a01919091528452509186019186016105ab565b509750505050604087013591508082111561064b57600080fd5b610657888389016104be565b9350606087013591508082111561066d57600080fd5b5061067a878288016104be565b91505092959194509250565b6001600160a01b0391909116815260200190565b6000602082840312156106ac57600080fd5b815180151581146106bc57600080fd5b9392505050565b6020808252600990820152683737ba1030b236b4b760b91b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161071c57634e487b7160e01b600052601160045260246000fd5b5060010190565b60018060a01b038516815260006020608081840152855180608085015260005b8181101561075f5787810183015185820160a001528201610743565b50600060a0828601015260a0601f19601f830116850101925050508360408301528260608301529594505050505056fea2646970667358221220e68333ae3e5edb95ae0204fba3aa88a1b2c2d001fa8cc63f9fca1973790f576564736f6c63430008130033",
64
+ "deployedBytecode": "0x60806040526004361061002d5760003560e01c80638732281614610039578063c36b34081461005b57600080fd5b3661003457005b600080fd5b34801561004557600080fd5b50610059610054366004610482565b61007b565b005b34801561006757600080fd5b50610059610076366004610519565b6101e4565b600054604051630935e01b60e21b81526001600160a01b03909116906324d7806c906100ab903390600401610686565b602060405180830381865afa1580156100c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ec919061069a565b6101115760405162461bcd60e51b8152600401610108906106c3565b60405180910390fd5b60005b81518110156101af5760005482516001600160a01b03909116906378c8cda790849084908110610146576101466106e6565b60200260200101516040518263ffffffff1660e01b815260040161016a9190610686565b600060405180830381600087803b15801561018457600080fd5b505af1158015610198573d6000803e3d6000fd5b5050505080806101a7906106fc565b915050610114565b506040514790339082156108fc029083906000818181858888f193505050501580156101df573d6000803e3d6000fd5b505050565b600054604051630935e01b60e21b81526001600160a01b03909116906324d7806c90610214903390600401610686565b602060405180830381865afa158015610231573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610255919061069a565b6102715760405162461bcd60e51b8152600401610108906106c3565b60005b84518110156103605760005485516001600160a01b039091169063971d902c908790849081106102a6576102a66106e6565b60200260200101518684815181106102c0576102c06106e6565b60200260200101518685815181106102da576102da6106e6565b60200260200101518686815181106102f4576102f46106e6565b60200260200101516040518563ffffffff1660e01b815260040161031b9493929190610723565b600060405180830381600087803b15801561033557600080fd5b505af1158015610349573d6000803e3d6000fd5b505050508080610358906106fc565b915050610274565b506040514790339082156108fc029083906000818181858888f19350505050158015610390573d6000803e3d6000fd5b505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156103d6576103d6610398565b604052919050565b60006001600160401b038211156103f7576103f7610398565b5060051b60200190565b600082601f83011261041257600080fd5b81356020610427610422836103de565b6103ae565b82815260059290921b8401810191818101908684111561044657600080fd5b8286015b848110156104775780356001600160a01b038116811461046a5760008081fd5b835291830191830161044a565b509695505050505050565b60006020828403121561049457600080fd5b81356001600160401b038111156104aa57600080fd5b6104b684828501610401565b949350505050565b600082601f8301126104cf57600080fd5b813560206104df610422836103de565b82815260059290921b840181019181810190868411156104fe57600080fd5b8286015b848110156104775780358352918301918301610502565b6000806000806080858703121561052f57600080fd5b84356001600160401b038082111561054657600080fd5b61055288838901610401565b955060209150818701358181111561056957600080fd5b8701601f8101891361057a57600080fd5b8035610588610422826103de565b81815260059190911b8201840190848101908b8311156105a757600080fd5b8584015b83811015610631578035868111156105c257600080fd5b8501603f81018e136105d357600080fd5b87810135878111156105e7576105e7610398565b6105f9601f8201601f19168a016103ae565b8181528f604083850101111561060f5760008081fd5b81604084018b83013760009181018a01919091528452509186019186016105ab565b509750505050604087013591508082111561064b57600080fd5b610657888389016104be565b9350606087013591508082111561066d57600080fd5b5061067a878288016104be565b91505092959194509250565b6001600160a01b0391909116815260200190565b6000602082840312156106ac57600080fd5b815180151581146106bc57600080fd5b9392505050565b6020808252600990820152683737ba1030b236b4b760b91b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161071c57634e487b7160e01b600052601160045260246000fd5b5060010190565b60018060a01b038516815260006020608081840152855180608085015260005b8181101561075f5787810183015185820160a001528201610743565b50600060a0828601015260a0601f19601f830116850101925050508360408301528260608301529594505050505056fea2646970667358221220e68333ae3e5edb95ae0204fba3aa88a1b2c2d001fa8cc63f9fca1973790f576564736f6c63430008130033",
65
65
  "linkReferences": {},
66
66
  "deployedLinkReferences": {}
67
67
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/02befb12373b2a68315b0e289f939087.json"
3
+ "buildInfo": "../../../build-info/6d05e6f5ec21eda88e1c735d5d16784b.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/02befb12373b2a68315b0e289f939087.json"
3
+ "buildInfo": "../../../build-info/a89381722d656d980745c94594507cd7.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/02befb12373b2a68315b0e289f939087.json"
3
+ "buildInfo": "../../../build-info/e71f733be6e6b54e1260202e8d7796e2.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/02befb12373b2a68315b0e289f939087.json"
3
+ "buildInfo": "../../../build-info/e71f733be6e6b54e1260202e8d7796e2.json"
4
4
  }