@gooddollar/goodprotocol 2.0.3 → 2.0.5-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/artifacts/abis/IIdentity.min.json +1 -1
  2. package/artifacts/abis/IIdentityV2.min.json +1 -1
  3. package/artifacts/abis/IdentityMock.min.json +1 -1
  4. package/artifacts/abis/OneTimePayments.min.json +1 -0
  5. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  6. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  7. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  8. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  9. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  10. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  11. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  12. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  13. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  14. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  15. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  16. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  17. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  18. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  19. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  20. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  21. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  22. package/artifacts/contracts/Interfaces.sol/IIdentity.json +19 -0
  23. package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +1 -1
  24. package/artifacts/contracts/Interfaces.sol/IIdentityV2.json +19 -0
  25. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  26. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +1 -1
  27. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  28. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  29. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  30. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  31. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  32. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  33. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  34. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  35. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  36. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +1 -1
  37. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.json +2 -2
  38. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  39. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.json +2 -2
  40. package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.dbg.json +1 -1
  41. package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.json +2 -2
  42. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  43. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.json +2 -2
  44. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  45. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.json +2 -2
  46. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  47. package/artifacts/contracts/governance/GReputation.sol/GReputation.json +2 -2
  48. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +1 -1
  49. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.json +2 -2
  50. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +1 -1
  51. package/artifacts/contracts/governance/GoodDollarStaking.sol/IStakingUpgrade.dbg.json +1 -1
  52. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +1 -1
  53. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  54. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.json +2 -2
  55. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  56. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  57. package/artifacts/contracts/governance/Reputation.sol/Reputation.json +2 -2
  58. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  59. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +2 -2
  60. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +1 -1
  61. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.json +2 -2
  62. package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.dbg.json +1 -1
  63. package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.json +2 -2
  64. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  65. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.json +2 -2
  66. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +1 -1
  67. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.json +2 -2
  68. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  69. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  70. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  71. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +1 -1
  72. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.json +2 -2
  73. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
  74. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.json +2 -2
  75. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
  76. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.json +2 -2
  77. package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.dbg.json +1 -1
  78. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  79. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +2 -2
  80. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +1 -1
  81. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.json +2 -2
  82. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  83. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +2 -2
  84. package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.dbg.json +1 -1
  85. package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.json +21 -2
  86. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  87. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  88. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +1 -1
  89. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +1 -1
  90. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.json +2 -2
  91. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +1 -1
  92. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  93. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.json +2 -2
  94. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  95. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
  96. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  97. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +1 -1
  98. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  99. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.json +2 -2
  100. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  101. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  102. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.json +2 -2
  103. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  104. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.json +2 -2
  105. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  106. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.json +2 -2
  107. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  108. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.json +2 -2
  109. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  110. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  111. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  112. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  113. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  114. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  115. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  116. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  117. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
  118. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.json +2 -2
  119. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  120. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +2 -2
  121. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  122. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.json +2 -2
  123. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  124. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  125. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.json +2 -2
  126. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  127. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.json +2 -2
  128. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  129. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.json +2 -2
  130. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  131. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +2 -2
  132. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
  133. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.json +2 -2
  134. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
  135. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  136. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  137. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +2 -2
  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/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.json +2 -2
  142. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  143. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +2 -2
  144. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  145. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +2 -2
  146. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  147. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.json +2 -2
  148. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  149. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +2 -2
  150. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  151. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +2 -2
  152. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  153. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.json +2 -2
  154. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
  155. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
  156. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +1 -1
  157. package/artifacts/contracts/token/ERC677.sol/ERC677.dbg.json +1 -1
  158. package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.dbg.json +1 -1
  159. package/artifacts/contracts/token/FeesFormula.sol/IFeesFormula.dbg.json +1 -1
  160. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.dbg.json +1 -1
  161. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.json +2 -2
  162. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.dbg.json +1 -1
  163. package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.dbg.json +1 -1
  164. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.dbg.json +1 -1
  165. package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.dbg.json +1 -1
  166. package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +1 -1
  167. package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.json +2 -2
  168. package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +1 -1
  169. package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.dbg.json +1 -1
  170. package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.dbg.json +1 -1
  171. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  172. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json +2 -2
  173. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  174. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.json +2 -2
  175. package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.dbg.json +1 -1
  176. package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.json +2 -2
  177. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  178. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  179. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.json +2 -2
  180. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +1 -1
  181. package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.json +2 -2
  182. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  183. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.json +2 -2
  184. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  185. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.json +2 -2
  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/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
  189. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.json +2 -2
  190. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
  191. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
  192. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
  193. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.json +2 -2
  194. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
  195. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.json +2 -2
  196. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  197. package/artifacts/contracts/utils/OneTimePayments.sol/OneTimePayments.dbg.json +4 -0
  198. package/artifacts/contracts/utils/OneTimePayments.sol/OneTimePayments.json +270 -0
  199. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  200. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  201. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.json +2 -2
  202. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  203. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.json +2 -2
  204. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  205. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.json +2 -2
  206. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  207. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.json +2 -2
  208. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  209. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  210. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  211. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
  212. package/contracts/Interfaces.sol +2 -0
  213. package/contracts/identity/IdentityV2.sol +10 -1
  214. package/contracts/mocks/IdentityMock.sol +39 -36
  215. package/contracts/utils/OneTimePayments.sol +135 -0
  216. package/package.json +1 -1
  217. package/releases/deployment.json +6 -3
  218. package/scripts/multichain-deploy/2b_otp-deploy.ts +73 -0
  219. package/scripts/upgrades/celo-defi-ubi-deploy.ts +8 -2
  220. package/types/IIdentity.ts +34 -0
  221. package/types/IIdentityV2.ts +34 -0
  222. package/types/IdentityMock.ts +34 -0
  223. package/types/OneTimePayments.ts +396 -0
  224. package/types/factories/AaveStakingFactory__factory.ts +1 -1
  225. package/types/factories/AdminWalletFuse__factory.ts +1 -1
  226. package/types/factories/AdminWallet__factory.ts +1 -1
  227. package/types/factories/BaseShareFieldV2__factory.ts +1 -1
  228. package/types/factories/BaseShareField__factory.ts +1 -1
  229. package/types/factories/BuyAndBridgeHelper__factory.ts +1 -1
  230. package/types/factories/ClaimersDistribution__factory.ts +1 -1
  231. package/types/factories/CompoundStakingFactory__factory.ts +1 -1
  232. package/types/factories/CompoundVotingMachine__factory.ts +1 -1
  233. package/types/factories/DAOContract__factory.ts +1 -1
  234. package/types/factories/DAOUpgradeableContract__factory.ts +1 -1
  235. package/types/factories/DistributionBridgeMock__factory.ts +1 -1
  236. package/types/factories/DistributionHelperTestHelper__factory.ts +1 -1
  237. package/types/factories/DistributionHelperTest__factory.ts +1 -1
  238. package/types/factories/DistributionHelper__factory.ts +1 -1
  239. package/types/factories/DonationsStaking__factory.ts +1 -1
  240. package/types/factories/ExchangeHelper__factory.ts +1 -1
  241. package/types/factories/Faucet__factory.ts +1 -1
  242. package/types/factories/FuseFaucetV2__factory.ts +1 -1
  243. package/types/factories/FuseFaucet__factory.ts +1 -1
  244. package/types/factories/FuseStakingV3__factory.ts +1 -1
  245. package/types/factories/GReputation__factory.ts +1 -1
  246. package/types/factories/GoodAaveStakingV2__factory.ts +1 -1
  247. package/types/factories/GoodAaveStaking__factory.ts +1 -1
  248. package/types/factories/GoodCompoundStakingTest__factory.ts +1 -1
  249. package/types/factories/GoodCompoundStakingV2__factory.ts +1 -1
  250. package/types/factories/GoodCompoundStaking__factory.ts +1 -1
  251. package/types/factories/GoodDollarMintBurnWrapper__factory.ts +1 -1
  252. package/types/factories/GoodDollarStakingMock__factory.ts +1 -1
  253. package/types/factories/GoodDollarStaking__factory.ts +1 -1
  254. package/types/factories/GoodDollar__factory.ts +1 -1
  255. package/types/factories/GoodFundManagerTest__factory.ts +1 -1
  256. package/types/factories/GoodFundManager__factory.ts +1 -1
  257. package/types/factories/GoodMarketMaker__factory.ts +1 -1
  258. package/types/factories/GoodReserveCDai__factory.ts +1 -1
  259. package/types/factories/GovernanceStaking__factory.ts +1 -1
  260. package/types/factories/IIdentityV2__factory.ts +19 -0
  261. package/types/factories/IIdentity__factory.ts +19 -0
  262. package/types/factories/IdentityMock__factory.ts +20 -1
  263. package/types/factories/IdentityV2__factory.ts +1 -1
  264. package/types/factories/InvitesFuseV2__factory.ts +1 -1
  265. package/types/factories/InvitesV1__factory.ts +1 -1
  266. package/types/factories/InvitesV2__factory.ts +1 -1
  267. package/types/factories/MultichainBridgeHelper__factory.ts +1 -1
  268. package/types/factories/MultichainRouterMock__factory.ts +1 -1
  269. package/types/factories/OneTimePayments__factory.ts +323 -0
  270. package/types/factories/OverMintTesterRegularStake__factory.ts +1 -1
  271. package/types/factories/OverMintTester__factory.ts +1 -1
  272. package/types/factories/ProtocolUpgradeFuseRecover__factory.ts +1 -1
  273. package/types/factories/ProtocolUpgradeFuse__factory.ts +1 -1
  274. package/types/factories/ProtocolUpgradeRecover__factory.ts +1 -1
  275. package/types/factories/ProtocolUpgrade__factory.ts +1 -1
  276. package/types/factories/ReputationTestHelper__factory.ts +1 -1
  277. package/types/factories/Reputation__factory.ts +1 -1
  278. package/types/factories/StakersDistribution__factory.ts +1 -1
  279. package/types/factories/SuperGoodDollar__factory.ts +1 -1
  280. package/types/factories/SwapHelperTest__factory.ts +1 -1
  281. package/types/factories/UBIScheme__factory.ts +1 -1
  282. package/types/factories/UniswapV2SwapHelper__factory.ts +1 -1
  283. package/types/factories/UpgradableMock2__factory.ts +1 -1
  284. package/types/factories/UpgradableMock3__factory.ts +1 -1
  285. package/types/factories/UpgradableMock4__factory.ts +1 -1
  286. package/types/factories/UpgradableMock__factory.ts +1 -1
  287. package/types/hardhat.d.ts +9 -0
  288. package/types/index.ts +2 -0
@@ -208,6 +208,25 @@ const _abi = [
208
208
  stateMutability: "view",
209
209
  type: "function",
210
210
  },
211
+ {
212
+ inputs: [
213
+ {
214
+ internalType: "address",
215
+ name: "account",
216
+ type: "address",
217
+ },
218
+ ],
219
+ name: "lastAuthenticated",
220
+ outputs: [
221
+ {
222
+ internalType: "uint256",
223
+ name: "",
224
+ type: "uint256",
225
+ },
226
+ ],
227
+ stateMutability: "view",
228
+ type: "function",
229
+ },
211
230
  {
212
231
  inputs: [],
213
232
  name: "owner",
@@ -276,7 +295,7 @@ const _abi = [
276
295
  ];
277
296
 
278
297
  const _bytecode =
279
- "0x60c060405234801561001057600080fd5b5060405161043038038061043083398101604081905261002f91610044565b336080526001600160a01b031660a052610074565b60006020828403121561005657600080fd5b81516001600160a01b038116811461006d57600080fd5b9392505050565b60805160a051610397610099600039600061011d015260006101b501526103976000f3fe608060405234801561001057600080fd5b50600436106100c55760003560e01c8063086cfca8146100ca578063188efc16146100ca5780631b027099146100dd578063291d9549146100ca5780632b32e46c146100ef5780633af32abf146100ef5780634a7ffcbc1461011857806354f9f7a31461015757806367c759371461019c5780638da5cb5b146101b0578063c375c2ef146100ca578063c6a276c2146100ca578063c73cc4ae146101d7578063e5ecaf59146100ef578063fe575a87146100ef575b600080fd5b6100db6100d8366004610201565b50565b005b6100db6100eb366004610239565b5050565b6101036100fd366004610201565b50600190565b60405190151581526020015b60405180910390f35b61013f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161010f565b61018f610165366004610201565b5060408051808201909152600f81526e1b9bdd081a5b5c1b195b595b9d1959608a1b602082015290565b60405161010f91906102fa565b61013f6101aa366004610348565b50600090565b61013f7f000000000000000000000000000000000000000000000000000000000000000081565b6101036101aa366004610201565b80356001600160a01b03811681146101fc57600080fd5b919050565b60006020828403121561021357600080fd5b61021c826101e5565b9392505050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561024c57600080fd5b610255836101e5565b915060208301356001600160401b038082111561027157600080fd5b818501915085601f83011261028557600080fd5b81358181111561029757610297610223565b604051601f8201601f19908116603f011681019083821181831017156102bf576102bf610223565b816040528281528860208487010111156102d857600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208083528351808285015260005b818110156103275785810183015185820160400152820161030b565b506000604082860101526040601f19601f8301168501019250505092915050565b60006020828403121561035a57600080fd5b503591905056fea26469706673582212200f1a78f1b1e5cf8b25d34ed89aa00fba08fb148d5f3549654cbc2dd202d6c59664736f6c63430008100033";
298
+ "0x60c060405234801561001057600080fd5b5060405161045738038061045783398101604081905261002f91610044565b336080526001600160a01b031660a052610074565b60006020828403121561005657600080fd5b81516001600160a01b038116811461006d57600080fd5b9392505050565b60805160a0516103be6100996000396000610128015260006101c001526103be6000f3fe608060405234801561001057600080fd5b50600436106100d05760003560e01c8063086cfca8146100d5578063188efc16146100d55780631b027099146100e8578063291d9549146100d55780632b32e46c146100fa5780633af32abf146100fa5780634a7ffcbc1461012357806354f9f7a31461016257806367c75937146101a75780638da5cb5b146101bb578063c375c2ef146100d5578063c6a276c2146100d5578063c73cc4ae146101e2578063e1e360ba146101f0578063e5ecaf59146100fa578063fe575a87146100fa575b600080fd5b6100e66100e3366004610228565b50565b005b6100e66100f6366004610260565b5050565b61010e610108366004610228565b50600190565b60405190151581526020015b60405180910390f35b61014a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011a565b61019a610170366004610228565b5060408051808201909152600f81526e1b9bdd081a5b5c1b195b595b9d1959608a1b602082015290565b60405161011a9190610321565b61014a6101b536600461036f565b50600090565b61014a7f000000000000000000000000000000000000000000000000000000000000000081565b61010e6101b5366004610228565b6101fe6101b5366004610228565b60405190815260200161011a565b80356001600160a01b038116811461022357600080fd5b919050565b60006020828403121561023a57600080fd5b6102438261020c565b9392505050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561027357600080fd5b61027c8361020c565b915060208301356001600160401b038082111561029857600080fd5b818501915085601f8301126102ac57600080fd5b8135818111156102be576102be61024a565b604051601f8201601f19908116603f011681019083821181831017156102e6576102e661024a565b816040528281528860208487010111156102ff57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208083528351808285015260005b8181101561034e57858101830151858201604001528201610332565b506000604082860101526040601f19601f8301168501019250505092915050565b60006020828403121561038157600080fd5b503591905056fea2646970667358221220fce79d0884a8231fba00e140a9ecb6f07e3eb77ec3b847d298d7a0b82d6cc33764736f6c63430008100033";
280
299
 
281
300
  type IdentityMockConstructorParams =
282
301
  | [signer?: Signer]
@@ -1080,7 +1080,7 @@ const _abi = [
1080
1080
  ];
1081
1081
 
1082
1082
  const _bytecode =
1083
- "0x60a06040523060805234801561001457600080fd5b50608051613d5361004c60003960008181610e0401528181610e4401528181611298015281816112d801526113500152613d536000f3fe6080604052600436106102445760003560e01c806301ffc9a71461024957806302329a291461027e57806308e0d29d146102a057806310154bad146102c0578063188efc16146102e05780631aaff63c146103005780631b027099146103305780631b3c90a8146103505780632236684414610365578063248a9ca314610379578063291d9549146103995780632b14dda8146103b95780632cec5330146103d95780632d0e9b46146103fb5780632f2ff15d1461042857806331b376e21461044857806336568abe1461045f5780633659cfe61461047f57806337a1a9871461049f5780633af32abf146104bf5780633e6326fc146104df5780634125f0f2146104ff5780634162169f14610520578063485cc955146105405780634f1ef2861461056057806352d1902d1461057357806354f9f7a3146105885780635aef7de6146105a85780635c975abb146105c85780635f539d69146105e1578063613200401461060157806367c759371461063857806391d148541461066f57806393ce7f001461068f578063a061922d146106af578063a217fddf146106cf578063b2a1de22146106e4578063b30f7e7f146106fb578063c375c2ef14610712578063c6a276c214610732578063c73cc4ae14610752578063d326281614610772578063d547741f14610792578063d6cd9473146107b2578063e1758bd8146107c7578063e1e360ba146107dc578063e63ab1e914610813578063e737031a14610835578063f653b81e14610855578063fe575a8714610886578063fff930d4146108a6575b600080fd5b34801561025557600080fd5b50610269610264366004613332565b6108c6565b60405190151581526020015b60405180910390f35b34801561028a57600080fd5b5061029e61029936600461336a565b6108fd565b005b3480156102ac57600080fd5b5061029e6102bb36600461339c565b61092f565b3480156102cc57600080fd5b5061029e6102db36600461339c565b6109ed565b3480156102ec57600080fd5b5061029e6102fb36600461339c565b610a17565b34801561030c57600080fd5b50610322600080516020613c3083398151915281565b604051908152602001610275565b34801561033c57600080fd5b5061029e61034b36600461347c565b610a88565b34801561035c57600080fd5b5061029e610ab8565b34801561037157600080fd5b506001610269565b34801561038557600080fd5b506103226103943660046134cb565b610bdf565b3480156103a557600080fd5b5061029e6103b436600461339c565b610bf4565b3480156103c557600080fd5b5061029e6103d436600461339c565b610c1d565b3480156103e557600080fd5b506103ee610ce2565b6040516102759190613534565b34801561040757600080fd5b5061041b61041636600461339c565b610cfe565b6040516102759190613547565b34801561043457600080fd5b5061029e61044336600461355b565b610d64565b34801561045457600080fd5b506103226101985481565b34801561046b57600080fd5b5061029e61047a36600461355b565b610d80565b34801561048b57600080fd5b5061029e61049a36600461339c565b610dfa565b3480156104ab57600080fd5b5061029e6104ba36600461339c565b610ec2565b3480156104cb57600080fd5b506102696104da36600461339c565b610f56565b3480156104eb57600080fd5b5060675461041b906001600160a01b031681565b34801561050b57600080fd5b5061019c5461041b906001600160a01b031681565b34801561052c57600080fd5b5060655461041b906001600160a01b031681565b34801561054c57600080fd5b5061029e61055b36600461358b565b611066565b61029e61056e36600461347c565b61128e565b34801561057f57600080fd5b50610322611343565b34801561059457600080fd5b506103ee6105a336600461339c565b6113f1565b3480156105b457600080fd5b5060665461041b906001600160a01b031681565b3480156105d457600080fd5b506101305460ff16610269565b3480156105ed57600080fd5b5061029e6105fc36600461339c565b611585565b34801561060d57600080fd5b5061041b61061c36600461339c565b61019b602052600090815260409020546001600160a01b031681565b34801561064457600080fd5b5061041b6106533660046134cb565b61019a602052600090815260409020546001600160a01b031681565b34801561067b57600080fd5b5061026961068a36600461355b565b61164e565b34801561069b57600080fd5b5061029e6106aa3660046135b9565b611679565b3480156106bb57600080fd5b506103226106ca36600461339c565b611888565b3480156106db57600080fd5b50610322600081565b3480156106f057600080fd5b506103226101965481565b34801561070757600080fd5b506103226101975481565b34801561071e57600080fd5b5061029e61072d36600461339c565b6118b5565b34801561073e57600080fd5b5061029e61074d36600461339c565b611a07565b34801561075e57600080fd5b5061026961076d36600461339c565b611b66565b34801561077e57600080fd5b5061029e61078d366004613611565b611c1d565b34801561079e57600080fd5b5061029e6107ad36600461355b565b611cc4565b3480156107be57600080fd5b5061029e611ce0565b3480156107d357600080fd5b5061041b611d18565b3480156107e857600080fd5b506103226107f736600461339c565b6001600160a01b03166000908152610199602052604090205490565b34801561081f57600080fd5b50610322600080516020613c7083398151915281565b34801561084157600080fd5b5061029e610850366004613695565b611da5565b34801561086157600080fd5b5061087561087036600461339c565b611dfa565b6040516102759594939291906136f4565b34801561089257600080fd5b506102696108a136600461339c565b611eb6565b3480156108b257600080fd5b5061029e6108c13660046134cb565b611f29565b60006001600160e01b03198216637965db0b60e01b14806108f757506301ffc9a760e01b6001600160e01b03198316145b92915050565b600080516020613c7083398151915261091581611f3f565b811561092757610923611f49565b5050565b610923611f9e565b600080516020613c3083398151915261094781611f3f565b61094f611fd8565b6001600160a01b0382166000908152610199602052604090206004015460ff166001146109975760405162461bcd60e51b815260040161098e9061372e565b60405180910390fd5b6001600160a01b03821660008181526101996020908152604091829020429081905591519182527fb2a82fce6d8c7a633efe9579f77b4edb96bfdf171a49bfc2ce666dc543a1f500910160405180910390a25050565b600080516020613c30833981519152610a0581611f3f565b610a0d611fd8565b610923824661201f565b600080516020613c30833981519152610a2f81611f3f565b610a37611fd8565b6001600160a01b03821660008181526101996020526040808220600401805460ff191660ff179055517f44d5fe68b00f68950fb9c1ff0a61ef7f747b1a36359a7e3a7f3324db4b8789679190a25050565b600080516020613c30833981519152610aa081611f3f565b610aa8611fd8565b610ab383834661214e565b505050565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac190606401602060405180830381865afa158015610b1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3f9190613757565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de6916004808201926020929091908290030181865afa158015610b99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbd9190613757565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b600090815260fe602052604090206001015490565b600080516020613c30833981519152610c0c81611f3f565b610c14611fd8565b610923826121ef565b6000610c2881611f3f565b6067546001600160a01b031615610c775760405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b604482015260640161098e565b610c80826124c4565b606654610c98906000906001600160a01b03166124e7565b606654610cbd90600080516020613c70833981519152906001600160a01b03166124e7565b60665461092390600080516020613c30833981519152906001600160a01b03166124e7565b604051806080016040528060478152602001613cb06047913981565b6000610d0982610f56565b15610d12575090565b6001600160a01b03808316600090815261019b6020526040902054610d379116610f56565b15610d5c57506001600160a01b03908116600090815261019b60205260409020541690565b506000919050565b610d6d82610bdf565b610d7681611f3f565b610ab383836124ed565b6001600160a01b0381163314610df05760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161098e565b6109238282612573565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610e425760405162461bcd60e51b815260040161098e90613774565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e746125da565b6001600160a01b031614610e9a5760405162461bcd60e51b815260040161098e906137ae565b610ea3816125f6565b60408051600080825260208201909252610ebf918391906125fe565b50565b6001600160a01b03818116600090815261019b602052604090205416331480610ef35750336001600160a01b038216145b610f2e5760405162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b604482015260640161098e565b6001600160a01b0316600090815261019b6020526040902080546001600160a01b0319169055565b6001600160a01b0381166000908152610199602052604081205481906201518090610f8190426137fe565b610f8b9190613811565b9050610198548111158015610fbf57506001600160a01b0383166000908152610199602052604090206004015460ff166001145b15610fcd5750600192915050565b61019c546001600160a01b03161561105d5761019c54604051633af32abf60e01b81526001600160a01b0390911690633af32abf90611010908690600401613547565b602060405180830381865afa925050508015611049575060408051601f3d908101601f1916820190925261104691810190613833565b60015b6110565750600092915050565b9392505050565b50600092915050565b600054610100900460ff16158080156110865750600054600160ff909116105b806110a7575061109530612769565b1580156110a7575060005460ff166001145b61110a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161098e565b6000805460ff19166001179055801561112d576000805461ff0019166101001790555b611135612778565b61113d61279f565b611184604051806040016040528060088152602001674964656e7469747960c01b815250604051806040016040528060058152602001640312e302e360dc1b8152506127d3565b610447610198556066546111a3906000906001600160a01b03166124e7565b6111ae6000846124e7565b6066546111d390600080516020613c70833981519152906001600160a01b03166124e7565b6111eb600080516020613c70833981519152846124e7565b611203600080516020613c30833981519152846124e7565b60665461122890600080516020613c30833981519152906001600160a01b03166124e7565b61019c80546001600160a01b0319166001600160a01b0384161790558015610ab3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112d65760405162461bcd60e51b815260040161098e90613774565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166113086125da565b6001600160a01b03161461132e5760405162461bcd60e51b815260040161098e906137ae565b611337826125f6565b610923828260016125fe565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113de5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840161098e565b50600080516020613c9083398151915290565b6001600160a01b03811660009081526101996020526040902060020180546060919061141c90613850565b80601f016020809104026020016040519081016040528092919081815260200182805461144890613850565b80156114955780601f1061146a57610100808354040283529160200191611495565b820191906000526020600020905b81548152906001019060200180831161147857829003601f168201915b50508351602080860191909120600081815261019a909252604090912054949550936001600160a01b0380881691160392506114d49150505750919050565b61019c546001600160a01b03161561156f5761019c546040516354f9f7a360e01b81526001600160a01b03909116906354f9f7a390611517908690600401613547565b600060405180830381865afa92505050801561155557506040513d6000823e601f3d908101601f19168201604052611552919081019061388a565b60015b611056575050604080516020810190915260008152919050565b5050604080516020810190915260008152919050565b600080516020613c3083398151915261159d81611f3f565b6115a5611fd8565b813b6115f35760405162461bcd60e51b815260206004820152601f60248201527f476976656e2061646472657373206973206e6f74206120636f6e747261637400604482015260640161098e565b6115fd824661201f565b6001600160a01b03821660008181526101996020526040808220600401805460ff19166002179055517f89c66952b48f3e96bf1d8ba1b63189520fd988a6979b8b740bd5c5d8dc53e2059190a25050565b600091825260fe602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61168233610f56565b61169e5760405162461bcd60e51b815260040161098e9061372e565b6000811180156116ae5750438110155b6116ed5760405162461bcd60e51b815260206004820152601060248201526f696e76616c696420646561646c696e6560801b604482015260640161098e565b6116f683610f56565b158015611709575061170783611eb6565b155b6117475760405162461bcd60e51b815260206004820152600f60248201526e1a5b9d985b1a59081858d8dbdd5b9d608a1b604482015260640161098e565b6001600160a01b03838116600090815261019b602052604090205416156117a45760405162461bcd60e51b8152602060048201526011602482015270185b1c9958591e4818dbdb9b9958dd1959607a1b604482015260640161098e565b600061180e604051806080016040528060478152602001613cb0604791398051602091820120604080519283019190915233908201526001600160a01b03861660608201526080810184905260a00160405160208183030381529060405280519060200120612816565b905061181b848285612864565b61185b5760405162461bcd60e51b8152602060048201526011602482015270696e76616c6964207369676e617475726560781b604482015260640161098e565b5050506001600160a01b0316600090815261019b6020526040902080546001600160a01b03191633179055565b6001600160a01b03811660009081526101996020526040902060030154806118b057466108f7565b919050565b600080516020613c308339815191526118cd81611f3f565b6118d5611fd8565b61019c546001600160a01b03161580159061195d575061019c5460405163639e625760e11b81526001600160a01b039091169063c73cc4ae9061191c908590600401613547565b602060405180830381865afa158015611939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061195d9190613833565b156119c65761019c5460405163c375c2ef60e01b81526001600160a01b039091169063c375c2ef90611993908590600401613547565b600060405180830381600087803b1580156119ad57600080fd5b505af11580156119c1573d6000803e3d6000fd5b505050505b6119cf826121ef565b6040516001600160a01b038316907f8d30d41865a0b811b9545d879520d2dde9f4cc49e4241f486ad9752bc904b56590600090a25050565b600080516020613c30833981519152611a1f81611f3f565b611a27611fd8565b61019c546001600160a01b031615801590611aaf575061019c5460405163fe575a8760e01b81526001600160a01b039091169063fe575a8790611a6e908590600401613547565b602060405180830381865afa158015611a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aaf9190613833565b15611b185761019c546040516363513b6160e11b81526001600160a01b039091169063c6a276c290611ae5908590600401613547565b600060405180830381600087803b158015611aff57600080fd5b505af1158015611b13573d6000803e3d6000fd5b505050505b6001600160a01b03821660008181526101996020526040808220600401805460ff19169055517f1747ca720b1a174a464b6513ace29b1d3190b5f632b9f34147017c81425bfde89190a25050565b6001600160a01b0381166000908152610199602052604081206004015460ff16600203611b9557506001919050565b61019c546001600160a01b031615610d5c5761019c5460405163639e625760e11b81526001600160a01b039091169063c73cc4ae90611bd8908590600401613547565b602060405180830381865afa925050508015611c11575060408051601f3d908101601f19168201909252611c0e91810190613833565b60015b6108f757506000919050565b336001600160a01b0384161480611c475750611c47600080516020613c308339815191523361164e565b611c845760405162461bcd60e51b815260206004820152600e60248201526d1b9bdd08185d5d1a1bdc9a5e995960921b604482015260640161098e565b610ab38383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506129a692505050565b611ccd82610bdf565b611cd681611f3f565b610ab38383612573565b611ce8611fd8565b611cf133610f56565b611d0d5760405162461bcd60e51b815260040161098e9061372e565b611d16336121ef565b565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac190606401602060405180830381865afa158015611d7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da09190613757565b905090565b600080516020613c30833981519152611dbd81611f3f565b611dc5611fd8565b611dd085858561214e565b8115611df3576001600160a01b0385166000908152610199602052604090208290555b5050505050565b6101996020526000908152604090208054600182015460028301805492939192611e2390613850565b80601f0160208091040260200160405190810160405280929190818152602001828054611e4f90613850565b8015611e9c5780601f10611e7157610100808354040283529160200191611e9c565b820191906000526020600020905b815481529060010190602001808311611e7f57829003601f168201915b50505050600383015460049093015491929160ff16905085565b6001600160a01b0381166000908152610199602052604081206004015460ff9081169003611ee657506001919050565b61019c546001600160a01b031615610d5c5761019c5460405163fe575a8760e01b81526001600160a01b039091169063fe575a8790611bd8908590600401613547565b611f31611fd8565b611f39612c26565b61019855565b610ebf8133612ce9565b611f51611fd8565b610130805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611f873390565b604051611f949190613547565b60405180910390a1565b611fa6612d42565b610130805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611f87565b6101305460ff1615611d165760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161098e565b6001600160a01b0382166000908152610199602052604090206004015460ff16156120815760405162461bcd60e51b8152602060048201526012602482015271616c7265616479206861732073746174757360701b604482015260640161098e565b6001610196600082825461209591906138f7565b90915550506001600160a01b03821660009081526101996020908152604080832060048101805460ff1916600190811790915542908201819055815560030184905561019b909152902080546001600160a01b03191690556120f7823b151590565b15612116576001610197600082825461211091906138f7565b90915550505b6040516001600160a01b038316907fee1504a83b6d4a361f4c1dc78ab59bfa30d6a3b6612c403e86bb01ef2984295f90600090a25050565b8151602080840191909120600081815261019a9092526040909120546001600160a01b0316156121905760405162461bcd60e51b815260040161098e9061390a565b6001600160a01b0384166000908152610199602052604090206002016121b68482613988565b50600081815261019a6020526040902080546001600160a01b0319166001600160a01b0386161790556121e9848361201f565b50505050565b6001600160a01b0381166000908152610199602052604090206004015460ff166001148061223c57506001600160a01b0381166000908152610199602052604090206004015460ff166002145b156123d8576001610196600082825461225591906137fe565b9091555050803b1515801561226d5750600061019754115b1561228c576001610197600082825461228691906137fe565b90915550505b6001600160a01b03811660009081526101996020526040812060020180546122b390613850565b80601f01602080910402602001604051908101604052809291908181526020018280546122df90613850565b801561232c5780601f106123015761010080835404028352916020019161232c565b820191906000526020600020905b81548152906001019060200180831161230f57829003601f168201915b505083516020808601919091206001600160a01b038816600090815261019990925260408220828155600181018390559596509493509150612373905060028301826132e4565b506000600382018190556004909101805460ff1916905581815261019a602052604080822080546001600160a01b0319169055516001600160a01b038516917f270d9b30cf5b0793bbfd54c9d5b94aeb49462b8148399000265144a8722da6b691a250505b61019c546001600160a01b031615801590612460575061019c54604051633af32abf60e01b81526001600160a01b0390911690633af32abf9061241f908490600401613547565b602060405180830381865afa15801561243c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124609190613833565b15610ebf5761019c5460405163291d954960e01b81526001600160a01b039091169063291d954990612496908490600401613547565b600060405180830381600087803b1580156124b057600080fd5b505af1158015611df3573d6000803e3d6000fd5b606780546001600160a01b0319166001600160a01b038316179055610ebf610ab8565b61092382825b6124f7828261164e565b61092357600082815260fe602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561252f3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61257d828261164e565b1561092357600082815260fe602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600080516020613c90833981519152546001600160a01b031690565b610ebf612c26565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561263157610ab383612d8c565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561268b575060408051601f3d908101601f1916820190925261268891810190613a47565b60015b6126ee5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161098e565b600080516020613c90833981519152811461275d5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161098e565b50610ab3838383612e26565b6001600160a01b03163b151590565b600054610100900460ff16611d165760405162461bcd60e51b815260040161098e90613a60565b600054610100900460ff166127c65760405162461bcd60e51b815260040161098e90613a60565b610130805460ff19169055565b600054610100900460ff166127fa5760405162461bcd60e51b815260040161098e90613a60565b8151602092830120815191909201206101629190915561016355565b60006108f7612823612e4b565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b60008060006128738585612ec8565b9092509050600081600481111561288c5761288c613aab565b1480156128aa5750856001600160a01b0316826001600160a01b0316145b156128ba57600192505050611056565b600080876001600160a01b0316631626ba7e60e01b88886040516024016128e2929190613ac1565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516129209190613ae2565b600060405180830381855afa9150503d806000811461295b576040519150601f19603f3d011682016040523d82523d6000602084013e612960565b606091505b5091509150818015612973575080516020145b801561299a57508051630b135d3f60e11b906129989083016020908101908401613a47565b145b98975050505050505050565b6129af82610f56565b6129cb5760405162461bcd60e51b815260040161098e9061372e565b6000815111612a085760405162461bcd60e51b815260206004820152600960248201526864696420656d70747960b81b604482015260640161098e565b8051602080830191909120600081815261019a9092526040909120546001600160a01b031615612a4a5760405162461bcd60e51b815260040161098e9061390a565b61019c546001600160a01b031615612b7c5761019c546040516367c7593760e01b8152600481018390526000916001600160a01b0316906367c7593790602401602060405180830381865afa925050508015612ac3575060408051601f3d908101601f19168201909252612ac091810190613757565b60015b15612acb5790505b6001600160a01b0381161580612af25750836001600160a01b0316816001600160a01b0316145b80612b2357506001600160a01b0381166000908152610199602052604081206002018054612b1f90613850565b9050115b612b7a5760405162461bcd60e51b815260206004820152602260248201527f44494420616c72656164792072656769737465726564206f6c644964656e7469604482015261747960f01b606482015260840161098e565b505b6001600160a01b038316600090815261019960205260408082209051612ba59160020190613afe565b6040805191829003909120600081815261019a602090815283822080546001600160a01b03191690556001600160a01b0388168252610199905291909120909150600201612bf38482613988565b5050600090815261019a6020526040902080546001600160a01b0319166001600160a01b03939093169290921790915550565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de69160048083019260209291908290030181865afa158015612c6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c939190613757565b6001600160a01b031614611d165760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f64604482015260640161098e565b612cf3828261164e565b61092357612d0081612f0d565b612d0b836020612f1f565b604051602001612d1c929190613b74565b60408051601f198184030181529082905262461bcd60e51b825261098e91600401613534565b6101305460ff16611d165760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161098e565b612d9581612769565b612df75760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161098e565b600080516020613c9083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612e2f836130ba565b600082511180612e3c5750805b15610ab3576121e983836130fa565b6000611da07f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f612e7b6101625490565b610163546040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6000808251604103612efe5760208301516040840151606085015160001a612ef2878285856131ec565b94509450505050612f06565b506000905060025b9250929050565b60606108f76001600160a01b03831660145b60606000612f2e836002613be3565b612f399060026138f7565b6001600160401b03811115612f5057612f506133b9565b6040519080825280601f01601f191660200182016040528015612f7a576020820181803683370190505b509050600360fc1b81600081518110612f9557612f95613c02565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110612fc457612fc4613c02565b60200101906001600160f81b031916908160001a9053506000612fe8846002613be3565b612ff39060016138f7565b90505b600181111561306b576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061302757613027613c02565b1a60f81b82828151811061303d5761303d613c02565b60200101906001600160f81b031916908160001a90535060049490941c9361306481613c18565b9050612ff6565b5083156110565760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161098e565b6130c381612d8c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061310583612769565b6131605760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161098e565b600080846001600160a01b03168460405161317b9190613ae2565b600060405180830381855af49150503d80600081146131b6576040519150601f19603f3d011682016040523d82523d6000602084013e6131bb565b606091505b50915091506131e38282604051806060016040528060278152602001613cf7602791396132a6565b95945050505050565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b03831115613219575060009050600361329d565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561326d573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166132965760006001925092505061329d565b9150600090505b94509492505050565b606083156132b5575081611056565b61105683838151156132ca5781518083602001fd5b8060405162461bcd60e51b815260040161098e9190613534565b5080546132f090613850565b6000825580601f10613300575050565b601f016020900490600052602060002090810190610ebf91905b8082111561332e576000815560010161331a565b5090565b60006020828403121561334457600080fd5b81356001600160e01b03198116811461105657600080fd5b8015158114610ebf57600080fd5b60006020828403121561337c57600080fd5b81356110568161335c565b6001600160a01b0381168114610ebf57600080fd5b6000602082840312156133ae57600080fd5b813561105681613387565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156133f7576133f76133b9565b604052919050565b60006001600160401b03821115613418576134186133b9565b50601f01601f191660200190565b600082601f83011261343757600080fd5b813561344a613445826133ff565b6133cf565b81815284602083860101111561345f57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561348f57600080fd5b823561349a81613387565b915060208301356001600160401b038111156134b557600080fd5b6134c185828601613426565b9150509250929050565b6000602082840312156134dd57600080fd5b5035919050565b60005b838110156134ff5781810151838201526020016134e7565b50506000910152565b600081518084526135208160208601602086016134e4565b601f01601f19169290920160200192915050565b6020815260006110566020830184613508565b6001600160a01b0391909116815260200190565b6000806040838503121561356e57600080fd5b82359150602083013561358081613387565b809150509250929050565b6000806040838503121561359e57600080fd5b82356135a981613387565b9150602083013561358081613387565b6000806000606084860312156135ce57600080fd5b83356135d981613387565b925060208401356001600160401b038111156135f457600080fd5b61360086828701613426565b925050604084013590509250925092565b60008060006040848603121561362657600080fd5b833561363181613387565b925060208401356001600160401b038082111561364d57600080fd5b818601915086601f83011261366157600080fd5b81358181111561367057600080fd5b87602082850101111561368257600080fd5b6020830194508093505050509250925092565b600080600080608085870312156136ab57600080fd5b84356136b681613387565b935060208501356001600160401b038111156136d157600080fd5b6136dd87828801613426565b949794965050505060408301359260600135919050565b85815284602082015260a06040820152600061371360a0830186613508565b905083606083015260ff831660808301529695505050505050565b6020808252600f908201526e1b9bdd081dda1a5d195b1a5cdd1959608a1b604082015260600190565b60006020828403121561376957600080fd5b815161105681613387565b6020808252602c90820152600080516020613c5083398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020613c5083398151915260408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b818103818111156108f7576108f76137e8565b60008261382e57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561384557600080fd5b81516110568161335c565b600181811c9082168061386457607f821691505b60208210810361388457634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561389c57600080fd5b81516001600160401b038111156138b257600080fd5b8201601f810184136138c357600080fd5b80516138d1613445826133ff565b8181528560208385010111156138e657600080fd5b6131e38260208301602086016134e4565b808201808211156108f7576108f76137e8565b60208082526016908201527511125108185b1c9958591e481c9959da5cdd195c995960521b604082015260600190565b601f821115610ab357600081815260208120601f850160051c810160208610156139615750805b601f850160051c820191505b818110156139805782815560010161396d565b505050505050565b81516001600160401b038111156139a1576139a16133b9565b6139b5816139af8454613850565b8461393a565b602080601f8311600181146139ea57600084156139d25750858301515b600019600386901b1c1916600185901b178555613980565b600085815260208120601f198616915b82811015613a19578886015182559484019460019091019084016139fa565b5085821015613a375787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215613a5957600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052602160045260246000fd5b828152604060208201526000613ada6040830184613508565b949350505050565b60008251613af48184602087016134e4565b9190910192915050565b6000808354613b0c81613850565b60018281168015613b245760018114613b3957613b68565b60ff1984168752821515830287019450613b68565b8760005260208060002060005b85811015613b5f5781548a820152908401908201613b46565b50505082870194505b50929695505050505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351613ba68160178501602088016134e4565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613bd78160288401602088016134e4565b01602801949350505050565b6000816000190483118215151615613bfd57613bfd6137e8565b500290565b634e487b7160e01b600052603260045260246000fd5b600081613c2757613c276137e8565b50600019019056fe091941537c453917ef5b0c67f46f29060aca926ebd752fe441d5625e85c3a57646756e6374696f6e206d7573742062652063616c6c6564207468726f756768200b0f1f48172a2124d5545a38711e7e9d2e7a6c0b46b85cf1c1788e7a11ba5bf2360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc436f6e6e6563744964656e7469747928616464726573732077686974656c69737465642c6164647265737320636f6e6e65637465642c75696e7432353620646561646c696e6529416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212207e34401eaf0b2332c276511ed491e7b7706b46a2b6d5ae33dbad053294efa32864736f6c63430008100033";
1083
+ "0x60a06040523060805234801561001457600080fd5b50608051613df161004c60003960008181610ded01528181610e2d01528181611281015281816112c101526113390152613df16000f3fe6080604052600436106102445760003560e01c806301ffc9a71461024957806302329a291461027e57806308e0d29d146102a057806310154bad146102c0578063188efc16146102e05780631aaff63c146103005780631b027099146103305780631b3c90a8146103505780632236684414610365578063248a9ca314610379578063291d9549146103995780632b14dda8146103b95780632cec5330146103d95780632d0e9b46146103fb5780632f2ff15d1461042857806331b376e21461044857806336568abe1461045f5780633659cfe61461047f57806337a1a9871461049f5780633af32abf146104bf5780633e6326fc146104df5780634125f0f2146104ff5780634162169f14610520578063485cc955146105405780634f1ef2861461056057806352d1902d1461057357806354f9f7a3146105885780635aef7de6146105a85780635c975abb146105c85780635f539d69146105e1578063613200401461060157806367c759371461063857806391d148541461066f57806393ce7f001461068f578063a061922d146106af578063a217fddf146106cf578063b2a1de22146106e4578063b30f7e7f146106fb578063c375c2ef14610712578063c6a276c214610732578063c73cc4ae14610752578063d326281614610772578063d547741f14610792578063d6cd9473146107b2578063e1758bd8146107c7578063e1e360ba146107dc578063e63ab1e9146107fc578063e737031a1461081e578063f653b81e1461083e578063fe575a871461086f578063fff930d41461088f575b600080fd5b34801561025557600080fd5b506102696102643660046133d0565b6108af565b60405190151581526020015b60405180910390f35b34801561028a57600080fd5b5061029e610299366004613408565b6108e6565b005b3480156102ac57600080fd5b5061029e6102bb36600461343a565b610918565b3480156102cc57600080fd5b5061029e6102db36600461343a565b6109d6565b3480156102ec57600080fd5b5061029e6102fb36600461343a565b610a00565b34801561030c57600080fd5b50610322600080516020613cce83398151915281565b604051908152602001610275565b34801561033c57600080fd5b5061029e61034b36600461351a565b610a71565b34801561035c57600080fd5b5061029e610aa1565b34801561037157600080fd5b506001610269565b34801561038557600080fd5b50610322610394366004613569565b610bc8565b3480156103a557600080fd5b5061029e6103b436600461343a565b610bdd565b3480156103c557600080fd5b5061029e6103d436600461343a565b610c06565b3480156103e557600080fd5b506103ee610ccb565b60405161027591906135d2565b34801561040757600080fd5b5061041b61041636600461343a565b610ce7565b60405161027591906135e5565b34801561043457600080fd5b5061029e6104433660046135f9565b610d4d565b34801561045457600080fd5b506103226101985481565b34801561046b57600080fd5b5061029e61047a3660046135f9565b610d69565b34801561048b57600080fd5b5061029e61049a36600461343a565b610de3565b3480156104ab57600080fd5b5061029e6104ba36600461343a565b610eab565b3480156104cb57600080fd5b506102696104da36600461343a565b610f3f565b3480156104eb57600080fd5b5060675461041b906001600160a01b031681565b34801561050b57600080fd5b5061019c5461041b906001600160a01b031681565b34801561052c57600080fd5b5060655461041b906001600160a01b031681565b34801561054c57600080fd5b5061029e61055b366004613629565b61104f565b61029e61056e36600461351a565b611277565b34801561057f57600080fd5b5061032261132c565b34801561059457600080fd5b506103ee6105a336600461343a565b6113da565b3480156105b457600080fd5b5060665461041b906001600160a01b031681565b3480156105d457600080fd5b506101305460ff16610269565b3480156105ed57600080fd5b5061029e6105fc36600461343a565b61156e565b34801561060d57600080fd5b5061041b61061c36600461343a565b61019b602052600090815260409020546001600160a01b031681565b34801561064457600080fd5b5061041b610653366004613569565b61019a602052600090815260409020546001600160a01b031681565b34801561067b57600080fd5b5061026961068a3660046135f9565b611637565b34801561069b57600080fd5b5061029e6106aa366004613657565b611662565b3480156106bb57600080fd5b506103226106ca36600461343a565b611871565b3480156106db57600080fd5b50610322600081565b3480156106f057600080fd5b506103226101965481565b34801561070757600080fd5b506103226101975481565b34801561071e57600080fd5b5061029e61072d36600461343a565b61189e565b34801561073e57600080fd5b5061029e61074d36600461343a565b6119f0565b34801561075e57600080fd5b5061026961076d36600461343a565b611b4f565b34801561077e57600080fd5b5061029e61078d3660046136af565b611c06565b34801561079e57600080fd5b5061029e6107ad3660046135f9565b611cad565b3480156107be57600080fd5b5061029e611cc9565b3480156107d357600080fd5b5061041b611d01565b3480156107e857600080fd5b506103226107f736600461343a565b611d8e565b34801561080857600080fd5b50610322600080516020613d0e83398151915281565b34801561082a57600080fd5b5061029e610839366004613733565b611e43565b34801561084a57600080fd5b5061085e61085936600461343a565b611e98565b604051610275959493929190613792565b34801561087b57600080fd5b5061026961088a36600461343a565b611f54565b34801561089b57600080fd5b5061029e6108aa366004613569565b611fc7565b60006001600160e01b03198216637965db0b60e01b14806108e057506301ffc9a760e01b6001600160e01b03198316145b92915050565b600080516020613d0e8339815191526108fe81611fdd565b81156109105761090c611fe7565b5050565b61090c61203c565b600080516020613cce83398151915261093081611fdd565b610938612076565b6001600160a01b0382166000908152610199602052604090206004015460ff166001146109805760405162461bcd60e51b8152600401610977906137cc565b60405180910390fd5b6001600160a01b03821660008181526101996020908152604091829020429081905591519182527fb2a82fce6d8c7a633efe9579f77b4edb96bfdf171a49bfc2ce666dc543a1f500910160405180910390a25050565b600080516020613cce8339815191526109ee81611fdd565b6109f6612076565b61090c82466120bd565b600080516020613cce833981519152610a1881611fdd565b610a20612076565b6001600160a01b03821660008181526101996020526040808220600401805460ff191660ff179055517f44d5fe68b00f68950fb9c1ff0a61ef7f747b1a36359a7e3a7f3324db4b8789679190a25050565b600080516020613cce833981519152610a8981611fdd565b610a91612076565b610a9c8383466121ec565b505050565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac190606401602060405180830381865afa158015610b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2891906137f5565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de6916004808201926020929091908290030181865afa158015610b82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba691906137f5565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b600090815260fe602052604090206001015490565b600080516020613cce833981519152610bf581611fdd565b610bfd612076565b61090c8261228d565b6000610c1181611fdd565b6067546001600160a01b031615610c605760405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606401610977565b610c6982612562565b606654610c81906000906001600160a01b0316612585565b606654610ca690600080516020613d0e833981519152906001600160a01b0316612585565b60665461090c90600080516020613cce833981519152906001600160a01b0316612585565b604051806080016040528060478152602001613d4e6047913981565b6000610cf282610f3f565b15610cfb575090565b6001600160a01b03808316600090815261019b6020526040902054610d209116610f3f565b15610d4557506001600160a01b03908116600090815261019b60205260409020541690565b506000919050565b610d5682610bc8565b610d5f81611fdd565b610a9c838361258b565b6001600160a01b0381163314610dd95760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610977565b61090c8282612611565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610e2b5760405162461bcd60e51b815260040161097790613812565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e5d612678565b6001600160a01b031614610e835760405162461bcd60e51b81526004016109779061384c565b610e8c81612694565b60408051600080825260208201909252610ea89183919061269c565b50565b6001600160a01b03818116600090815261019b602052604090205416331480610edc5750336001600160a01b038216145b610f175760405162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b6044820152606401610977565b6001600160a01b0316600090815261019b6020526040902080546001600160a01b0319169055565b6001600160a01b0381166000908152610199602052604081205481906201518090610f6a904261389c565b610f7491906138af565b9050610198548111158015610fa857506001600160a01b0383166000908152610199602052604090206004015460ff166001145b15610fb65750600192915050565b61019c546001600160a01b0316156110465761019c54604051633af32abf60e01b81526001600160a01b0390911690633af32abf90610ff99086906004016135e5565b602060405180830381865afa925050508015611032575060408051601f3d908101601f1916820190925261102f918101906138d1565b60015b61103f5750600092915050565b9392505050565b50600092915050565b600054610100900460ff161580801561106f5750600054600160ff909116105b80611090575061107e30612807565b158015611090575060005460ff166001145b6110f35760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610977565b6000805460ff191660011790558015611116576000805461ff0019166101001790555b61111e612816565b61112661283d565b61116d604051806040016040528060088152602001674964656e7469747960c01b815250604051806040016040528060058152602001640312e302e360dc1b815250612871565b6104476101985560665461118c906000906001600160a01b0316612585565b611197600084612585565b6066546111bc90600080516020613d0e833981519152906001600160a01b0316612585565b6111d4600080516020613d0e83398151915284612585565b6111ec600080516020613cce83398151915284612585565b60665461121190600080516020613cce833981519152906001600160a01b0316612585565b61019c80546001600160a01b0319166001600160a01b0384161790558015610a9c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112bf5760405162461bcd60e51b815260040161097790613812565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166112f1612678565b6001600160a01b0316146113175760405162461bcd60e51b81526004016109779061384c565b61132082612694565b61090c8282600161269c565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113c75760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610977565b50600080516020613d2e83398151915290565b6001600160a01b038116600090815261019960205260409020600201805460609190611405906138ee565b80601f0160208091040260200160405190810160405280929190818152602001828054611431906138ee565b801561147e5780601f106114535761010080835404028352916020019161147e565b820191906000526020600020905b81548152906001019060200180831161146157829003601f168201915b50508351602080860191909120600081815261019a909252604090912054949550936001600160a01b0380881691160392506114bd9150505750919050565b61019c546001600160a01b0316156115585761019c546040516354f9f7a360e01b81526001600160a01b03909116906354f9f7a3906115009086906004016135e5565b600060405180830381865afa92505050801561153e57506040513d6000823e601f3d908101601f1916820160405261153b9190810190613928565b60015b61103f575050604080516020810190915260008152919050565b5050604080516020810190915260008152919050565b600080516020613cce83398151915261158681611fdd565b61158e612076565b813b6115dc5760405162461bcd60e51b815260206004820152601f60248201527f476976656e2061646472657373206973206e6f74206120636f6e7472616374006044820152606401610977565b6115e682466120bd565b6001600160a01b03821660008181526101996020526040808220600401805460ff19166002179055517f89c66952b48f3e96bf1d8ba1b63189520fd988a6979b8b740bd5c5d8dc53e2059190a25050565b600091825260fe602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61166b33610f3f565b6116875760405162461bcd60e51b8152600401610977906137cc565b6000811180156116975750438110155b6116d65760405162461bcd60e51b815260206004820152601060248201526f696e76616c696420646561646c696e6560801b6044820152606401610977565b6116df83610f3f565b1580156116f257506116f083611f54565b155b6117305760405162461bcd60e51b815260206004820152600f60248201526e1a5b9d985b1a59081858d8dbdd5b9d608a1b6044820152606401610977565b6001600160a01b03838116600090815261019b6020526040902054161561178d5760405162461bcd60e51b8152602060048201526011602482015270185b1c9958591e4818dbdb9b9958dd1959607a1b6044820152606401610977565b60006117f7604051806080016040528060478152602001613d4e604791398051602091820120604080519283019190915233908201526001600160a01b03861660608201526080810184905260a001604051602081830303815290604052805190602001206128b4565b9050611804848285612902565b6118445760405162461bcd60e51b8152602060048201526011602482015270696e76616c6964207369676e617475726560781b6044820152606401610977565b5050506001600160a01b0316600090815261019b6020526040902080546001600160a01b03191633179055565b6001600160a01b038116600090815261019960205260409020600301548061189957466108e0565b919050565b600080516020613cce8339815191526118b681611fdd565b6118be612076565b61019c546001600160a01b031615801590611946575061019c5460405163639e625760e11b81526001600160a01b039091169063c73cc4ae906119059085906004016135e5565b602060405180830381865afa158015611922573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194691906138d1565b156119af5761019c5460405163c375c2ef60e01b81526001600160a01b039091169063c375c2ef9061197c9085906004016135e5565b600060405180830381600087803b15801561199657600080fd5b505af11580156119aa573d6000803e3d6000fd5b505050505b6119b88261228d565b6040516001600160a01b038316907f8d30d41865a0b811b9545d879520d2dde9f4cc49e4241f486ad9752bc904b56590600090a25050565b600080516020613cce833981519152611a0881611fdd565b611a10612076565b61019c546001600160a01b031615801590611a98575061019c5460405163fe575a8760e01b81526001600160a01b039091169063fe575a8790611a579085906004016135e5565b602060405180830381865afa158015611a74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9891906138d1565b15611b015761019c546040516363513b6160e11b81526001600160a01b039091169063c6a276c290611ace9085906004016135e5565b600060405180830381600087803b158015611ae857600080fd5b505af1158015611afc573d6000803e3d6000fd5b505050505b6001600160a01b03821660008181526101996020526040808220600401805460ff19169055517f1747ca720b1a174a464b6513ace29b1d3190b5f632b9f34147017c81425bfde89190a25050565b6001600160a01b0381166000908152610199602052604081206004015460ff16600203611b7e57506001919050565b61019c546001600160a01b031615610d455761019c5460405163639e625760e11b81526001600160a01b039091169063c73cc4ae90611bc19085906004016135e5565b602060405180830381865afa925050508015611bfa575060408051601f3d908101601f19168201909252611bf7918101906138d1565b60015b6108e057506000919050565b336001600160a01b0384161480611c305750611c30600080516020613cce83398151915233611637565b611c6d5760405162461bcd60e51b815260206004820152600e60248201526d1b9bdd08185d5d1a1bdc9a5e995960921b6044820152606401610977565b610a9c8383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612a4492505050565b611cb682610bc8565b611cbf81611fdd565b610a9c8383612611565b611cd1612076565b611cda33610f3f565b611cf65760405162461bcd60e51b8152600401610977906137cc565b611cff3361228d565b565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac190606401602060405180830381865afa158015611d65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d8991906137f5565b905090565b6001600160a01b0381166000908152610199602052604081205415611dca57506001600160a01b03166000908152610199602052604090205490565b61019c546001600160a01b031615610d455761019c546040516370f1b05d60e11b81526001600160a01b039091169063e1e360ba90611e0d9085906004016135e5565b602060405180830381865afa925050508015611bfa575060408051601f3d908101601f19168201909252611bf791810190613995565b600080516020613cce833981519152611e5b81611fdd565b611e63612076565b611e6e8585856121ec565b8115611e91576001600160a01b0385166000908152610199602052604090208290555b5050505050565b6101996020526000908152604090208054600182015460028301805492939192611ec1906138ee565b80601f0160208091040260200160405190810160405280929190818152602001828054611eed906138ee565b8015611f3a5780601f10611f0f57610100808354040283529160200191611f3a565b820191906000526020600020905b815481529060010190602001808311611f1d57829003601f168201915b50505050600383015460049093015491929160ff16905085565b6001600160a01b0381166000908152610199602052604081206004015460ff9081169003611f8457506001919050565b61019c546001600160a01b031615610d455761019c5460405163fe575a8760e01b81526001600160a01b039091169063fe575a8790611bc19085906004016135e5565b611fcf612076565b611fd7612cc4565b61019855565b610ea88133612d87565b611fef612076565b610130805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586120253390565b60405161203291906135e5565b60405180910390a1565b612044612de0565b610130805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33612025565b6101305460ff1615611cff5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610977565b6001600160a01b0382166000908152610199602052604090206004015460ff161561211f5760405162461bcd60e51b8152602060048201526012602482015271616c7265616479206861732073746174757360701b6044820152606401610977565b6001610196600082825461213391906139ae565b90915550506001600160a01b03821660009081526101996020908152604080832060048101805460ff1916600190811790915542908201819055815560030184905561019b909152902080546001600160a01b0319169055612195823b151590565b156121b457600161019760008282546121ae91906139ae565b90915550505b6040516001600160a01b038316907fee1504a83b6d4a361f4c1dc78ab59bfa30d6a3b6612c403e86bb01ef2984295f90600090a25050565b8151602080840191909120600081815261019a9092526040909120546001600160a01b03161561222e5760405162461bcd60e51b8152600401610977906139c1565b6001600160a01b0384166000908152610199602052604090206002016122548482613a3f565b50600081815261019a6020526040902080546001600160a01b0319166001600160a01b03861617905561228784836120bd565b50505050565b6001600160a01b0381166000908152610199602052604090206004015460ff16600114806122da57506001600160a01b0381166000908152610199602052604090206004015460ff166002145b1561247657600161019660008282546122f3919061389c565b9091555050803b1515801561230b5750600061019754115b1561232a5760016101976000828254612324919061389c565b90915550505b6001600160a01b0381166000908152610199602052604081206002018054612351906138ee565b80601f016020809104026020016040519081016040528092919081815260200182805461237d906138ee565b80156123ca5780601f1061239f576101008083540402835291602001916123ca565b820191906000526020600020905b8154815290600101906020018083116123ad57829003601f168201915b505083516020808601919091206001600160a01b03881660009081526101999092526040822082815560018101839055959650949350915061241190506002830182613382565b506000600382018190556004909101805460ff1916905581815261019a602052604080822080546001600160a01b0319169055516001600160a01b038516917f270d9b30cf5b0793bbfd54c9d5b94aeb49462b8148399000265144a8722da6b691a250505b61019c546001600160a01b0316158015906124fe575061019c54604051633af32abf60e01b81526001600160a01b0390911690633af32abf906124bd9084906004016135e5565b602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe91906138d1565b15610ea85761019c5460405163291d954960e01b81526001600160a01b039091169063291d9549906125349084906004016135e5565b600060405180830381600087803b15801561254e57600080fd5b505af1158015611e91573d6000803e3d6000fd5b606780546001600160a01b0319166001600160a01b038316179055610ea8610aa1565b61090c82825b6125958282611637565b61090c57600082815260fe602090815260408083206001600160a01b03851684529091529020805460ff191660011790556125cd3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61261b8282611637565b1561090c57600082815260fe602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600080516020613d2e833981519152546001600160a01b031690565b610ea8612cc4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156126cf57610a9c83612e2a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612729575060408051601f3d908101601f1916820190925261272691810190613995565b60015b61278c5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610977565b600080516020613d2e83398151915281146127fb5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610977565b50610a9c838383612ec4565b6001600160a01b03163b151590565b600054610100900460ff16611cff5760405162461bcd60e51b815260040161097790613afe565b600054610100900460ff166128645760405162461bcd60e51b815260040161097790613afe565b610130805460ff19169055565b600054610100900460ff166128985760405162461bcd60e51b815260040161097790613afe565b8151602092830120815191909201206101629190915561016355565b60006108e06128c1612ee9565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b60008060006129118585612f66565b9092509050600081600481111561292a5761292a613b49565b1480156129485750856001600160a01b0316826001600160a01b0316145b156129585760019250505061103f565b600080876001600160a01b0316631626ba7e60e01b8888604051602401612980929190613b5f565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516129be9190613b80565b600060405180830381855afa9150503d80600081146129f9576040519150601f19603f3d011682016040523d82523d6000602084013e6129fe565b606091505b5091509150818015612a11575080516020145b8015612a3857508051630b135d3f60e11b90612a369083016020908101908401613995565b145b98975050505050505050565b612a4d82610f3f565b612a695760405162461bcd60e51b8152600401610977906137cc565b6000815111612aa65760405162461bcd60e51b815260206004820152600960248201526864696420656d70747960b81b6044820152606401610977565b8051602080830191909120600081815261019a9092526040909120546001600160a01b031615612ae85760405162461bcd60e51b8152600401610977906139c1565b61019c546001600160a01b031615612c1a5761019c546040516367c7593760e01b8152600481018390526000916001600160a01b0316906367c7593790602401602060405180830381865afa925050508015612b61575060408051601f3d908101601f19168201909252612b5e918101906137f5565b60015b15612b695790505b6001600160a01b0381161580612b905750836001600160a01b0316816001600160a01b0316145b80612bc157506001600160a01b0381166000908152610199602052604081206002018054612bbd906138ee565b9050115b612c185760405162461bcd60e51b815260206004820152602260248201527f44494420616c72656164792072656769737465726564206f6c644964656e7469604482015261747960f01b6064820152608401610977565b505b6001600160a01b038316600090815261019960205260408082209051612c439160020190613b9c565b6040805191829003909120600081815261019a602090815283822080546001600160a01b03191690556001600160a01b0388168252610199905291909120909150600201612c918482613a3f565b5050600090815261019a6020526040902080546001600160a01b0319166001600160a01b03939093169290921790915550565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de69160048083019260209291908290030181865afa158015612d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d3191906137f5565b6001600160a01b031614611cff5760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610977565b612d918282611637565b61090c57612d9e81612fab565b612da9836020612fbd565b604051602001612dba929190613c12565b60408051601f198184030181529082905262461bcd60e51b8252610977916004016135d2565b6101305460ff16611cff5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610977565b612e3381612807565b612e955760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610977565b600080516020613d2e83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612ecd83613158565b600082511180612eda5750805b15610a9c576122878383613198565b6000611d897f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f612f196101625490565b610163546040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6000808251604103612f9c5760208301516040840151606085015160001a612f908782858561328a565b94509450505050612fa4565b506000905060025b9250929050565b60606108e06001600160a01b03831660145b60606000612fcc836002613c81565b612fd79060026139ae565b6001600160401b03811115612fee57612fee613457565b6040519080825280601f01601f191660200182016040528015613018576020820181803683370190505b509050600360fc1b8160008151811061303357613033613ca0565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061306257613062613ca0565b60200101906001600160f81b031916908160001a9053506000613086846002613c81565b6130919060016139ae565b90505b6001811115613109576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106130c5576130c5613ca0565b1a60f81b8282815181106130db576130db613ca0565b60200101906001600160f81b031916908160001a90535060049490941c9361310281613cb6565b9050613094565b50831561103f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610977565b61316181612e2a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606131a383612807565b6131fe5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610977565b600080846001600160a01b0316846040516132199190613b80565b600060405180830381855af49150503d8060008114613254576040519150601f19603f3d011682016040523d82523d6000602084013e613259565b606091505b50915091506132818282604051806060016040528060278152602001613d9560279139613344565b95945050505050565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b038311156132b7575060009050600361333b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561330b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166133345760006001925092505061333b565b9150600090505b94509492505050565b6060831561335357508161103f565b61103f83838151156133685781518083602001fd5b8060405162461bcd60e51b815260040161097791906135d2565b50805461338e906138ee565b6000825580601f1061339e575050565b601f016020900490600052602060002090810190610ea891905b808211156133cc57600081556001016133b8565b5090565b6000602082840312156133e257600080fd5b81356001600160e01b03198116811461103f57600080fd5b8015158114610ea857600080fd5b60006020828403121561341a57600080fd5b813561103f816133fa565b6001600160a01b0381168114610ea857600080fd5b60006020828403121561344c57600080fd5b813561103f81613425565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561349557613495613457565b604052919050565b60006001600160401b038211156134b6576134b6613457565b50601f01601f191660200190565b600082601f8301126134d557600080fd5b81356134e86134e38261349d565b61346d565b8181528460208386010111156134fd57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561352d57600080fd5b823561353881613425565b915060208301356001600160401b0381111561355357600080fd5b61355f858286016134c4565b9150509250929050565b60006020828403121561357b57600080fd5b5035919050565b60005b8381101561359d578181015183820152602001613585565b50506000910152565b600081518084526135be816020860160208601613582565b601f01601f19169290920160200192915050565b60208152600061103f60208301846135a6565b6001600160a01b0391909116815260200190565b6000806040838503121561360c57600080fd5b82359150602083013561361e81613425565b809150509250929050565b6000806040838503121561363c57600080fd5b823561364781613425565b9150602083013561361e81613425565b60008060006060848603121561366c57600080fd5b833561367781613425565b925060208401356001600160401b0381111561369257600080fd5b61369e868287016134c4565b925050604084013590509250925092565b6000806000604084860312156136c457600080fd5b83356136cf81613425565b925060208401356001600160401b03808211156136eb57600080fd5b818601915086601f8301126136ff57600080fd5b81358181111561370e57600080fd5b87602082850101111561372057600080fd5b6020830194508093505050509250925092565b6000806000806080858703121561374957600080fd5b843561375481613425565b935060208501356001600160401b0381111561376f57600080fd5b61377b878288016134c4565b949794965050505060408301359260600135919050565b85815284602082015260a0604082015260006137b160a08301866135a6565b905083606083015260ff831660808301529695505050505050565b6020808252600f908201526e1b9bdd081dda1a5d195b1a5cdd1959608a1b604082015260600190565b60006020828403121561380757600080fd5b815161103f81613425565b6020808252602c90820152600080516020613cee83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020613cee83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b818103818111156108e0576108e0613886565b6000826138cc57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156138e357600080fd5b815161103f816133fa565b600181811c9082168061390257607f821691505b60208210810361392257634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561393a57600080fd5b81516001600160401b0381111561395057600080fd5b8201601f8101841361396157600080fd5b805161396f6134e38261349d565b81815285602083850101111561398457600080fd5b613281826020830160208601613582565b6000602082840312156139a757600080fd5b5051919050565b808201808211156108e0576108e0613886565b60208082526016908201527511125108185b1c9958591e481c9959da5cdd195c995960521b604082015260600190565b601f821115610a9c57600081815260208120601f850160051c81016020861015613a185750805b601f850160051c820191505b81811015613a3757828155600101613a24565b505050505050565b81516001600160401b03811115613a5857613a58613457565b613a6c81613a6684546138ee565b846139f1565b602080601f831160018114613aa15760008415613a895750858301515b600019600386901b1c1916600185901b178555613a37565b600085815260208120601f198616915b82811015613ad057888601518255948401946001909101908401613ab1565b5085821015613aee5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052602160045260246000fd5b828152604060208201526000613b7860408301846135a6565b949350505050565b60008251613b92818460208701613582565b9190910192915050565b6000808354613baa816138ee565b60018281168015613bc25760018114613bd757613c06565b60ff1984168752821515830287019450613c06565b8760005260208060002060005b85811015613bfd5781548a820152908401908201613be4565b50505082870194505b50929695505050505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351613c44816017850160208801613582565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613c75816028840160208801613582565b01602801949350505050565b6000816000190483118215151615613c9b57613c9b613886565b500290565b634e487b7160e01b600052603260045260246000fd5b600081613cc557613cc5613886565b50600019019056fe091941537c453917ef5b0c67f46f29060aca926ebd752fe441d5625e85c3a57646756e6374696f6e206d7573742062652063616c6c6564207468726f756768200b0f1f48172a2124d5545a38711e7e9d2e7a6c0b46b85cf1c1788e7a11ba5bf2360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc436f6e6e6563744964656e7469747928616464726573732077686974656c69737465642c6164647265737320636f6e6e65637465642c75696e7432353620646561646c696e6529416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e354bea718bdd8a714bd3daf778351e8700a606445557d93f4db2df5a96c648c64736f6c63430008100033";
1084
1084
 
1085
1085
  type IdentityV2ConstructorParams =
1086
1086
  | [signer?: Signer]
@@ -504,7 +504,7 @@ const _abi = [
504
504
  ];
505
505
 
506
506
  const _bytecode =
507
- "0x608060405234801561001057600080fd5b50611add806100206000396000f3fe608060405234801561001057600080fd5b506004361061011d5760003560e01c806302fb0c5e14610122578063119e5bf31461014b57806321132aad1461016b5780632c159a1a1461018057806341155d5e1461019357806354fd4d50146101b45780635aef7de6146101d95780635b419a65146101ec5780636d619ef8146101ff5780638da5cb5b14610212578063a1df6fd314610225578063a87430ba14610232578063acec338a146102de578063af6346b0146102f1578063b2596a67146102f9578063b6567cd514610343578063b9fb2d1814610356578063ba6f568014610369578063cf756fdf14610392578063d80528ae146103a5578063e951a3aa146103b7578063e9881a5e146103d7578063efbe1c1c146103ea575b600080fd5b60075461013690600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b60075461015e906001600160a01b031681565b60405161014291906116cd565b61017e6101793660046116f2565b6103f2565b005b60065461015e906001600160a01b031681565b6101a66101a136600461172b565b61044d565b604051908152602001610142565b6040805180820182526003815262322e3160e81b60208201529051610142919061176c565b60035461015e906001600160a01b031681565b61017e6101fa36600461179f565b61051a565b61013661020d36600461172b565b6107df565b60055461015e906001600160a01b031681565b6010546101369060ff1681565b61029361024036600461172b565b6002602081905260009182526040909120805460018201549282015460058301546006840154600785015460088601546009909601546001600160a01b03909516969560ff909416949293919290919088565b604080516001600160a01b0390991689526020890197909752941515958701959095526060860192909252608085015260a084015260c083019190915260e082015261010001610142565b61017e6102ec3660046116f2565b6109c9565b61017e610a26565b6103286103073660046117c1565b60046020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610142565b6101a661035136600461172b565b610ba1565b61017e6103643660046117da565b610c33565b61015e6103773660046117c1565b6001602052600090815260409020546001600160a01b031681565b61017e6103a036600461180c565b610c92565b600854600954600a5461032892919083565b6103ca6103c536600461172b565b610e2e565b604051610142919061185d565b6103ca6103e536600461172b565b611019565b61017e611092565b6005546001600160a01b031633148061041557506003546001600160a01b031633145b61043a5760405162461bcd60e51b8152600401610431906118aa565b60405180910390fd5b6010805460ff1916911515919091179055565b6001600160a01b0381166000908152600260209081526040808320600401805482518185028101850190935280835284938301828280156104b757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610499575b505050505090506000805b8251811015610512576104ed8382815181106104e0576104e06118f6565b60200260200101516107df565b1561050057816104fc81611922565b9250505b8061050a81611922565b9150506104c2565b509392505050565b600754600160a01b900460ff166105435760405162461bcd60e51b81526004016104319061193b565b6000828152600160205260409020546001600160a01b0316158061057d57506000828152600160205260409020546001600160a01b031633145b8061059057506001600160a01b03821633145b6105d95760405162461bcd60e51b815260206004820152601a602482015279696e7669746520636f646520616c726561647920696e2075736560301b6044820152606401610431565b8082036105f85760405162461bcd60e51b81526004016104319061195f565b336000908152600260209081526040808320848452600192839052922054908201546001600160a01b0390911690158061064d575081546001600160a01b031615801561064d57506001600160a01b03811615155b61068f5760405162461bcd60e51b81526020600482015260136024820152721d5cd95c88185b1c9958591e481a9bda5b9959606a1b6044820152606401610431565b60018201546000036106d05760018083018590554260068401819055600984015560008581526020919091526040902080546001600160a01b031916331790555b6001600160a01b0381161561078857336001600160a01b038216036107075760405162461bcd60e51b81526004016104319061195f565b81546001600160a01b0382166001600160a01b0319918216811784556000908152600260209081526040822060038101805460018181018355918552838520018054861633908117909155600490920180548083018255908552928420909201805490941617909255600a8054909190610782908490611984565b90915550505b610791336107df565b156107a3576107a1336001611225565b505b60405133906001600160a01b038316907fd8c638d8979e2ba5dba1f0d66246ee4b1c54b838f0e0a2b601365345eb23b05190600090a350505050565b6001600160a01b0380821660009081526002602081815260408084205490941680845284842060050154845260049091529282200154601054919291839060ff16151560011480156108315750600082115b801561087c57506001600160a01b03808416600090815260026020526040808220600601549288168252902060090154620151809161086f91611997565b61087991906119aa565b82105b90506001600160a01b038316158015906108b357506001600160a01b0385166000908152600260208190526040909120015460ff16155b801561092b5750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf906108ea9088906004016116cd565b602060405180830381865afa158015610907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b91906119cc565b80156109a35750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf906109629086906004016116cd565b602060405180830381865afa15801561097f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a391906119cc565b80156109b65750466109b486611605565b145b80156109c0575080155b95945050505050565b6005546001600160a01b03163314806109ec57506003546001600160a01b031633145b610a085760405162461bcd60e51b8152600401610431906118aa565b60078054911515600160a01b0260ff60a01b19909216919091179055565b600754600160a01b900460ff16610a4f5760405162461bcd60e51b81526004016104319061193b565b33600090815260026020526040812060040180549091908190610a74906001906119e9565b90505b60008112610b1f576202d2a85a10610b1f576000838281548110610a9d57610a9d6118f6565b6000918252602090912001546001600160a01b03169050610abd816107df565b15610b0c57610acd816000611225565b610ad79084611984565b925083805480610ae957610ae9611a10565b600082815260209020810160001990810180546001600160a01b03191690550190555b5080610b1781611a26565b915050610a77565b508015610b9d5760075460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb90610b589033908590600401611a43565b6020604051808303816000875af1158015610b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9b91906119cc565b505b5050565b600754600090600160a01b900460ff16610bcd5760405162461bcd60e51b81526004016104319061193b565b610bd6826107df565b610c225760405162461bcd60e51b815260206004820181905260248201527f75736572206e6f7420656c6c6967626c6520666f7220626f756e7479207965746044820152606401610431565b610c2d826001611225565b92915050565b6005546001600160a01b0316331480610c5657506003546001600160a01b031633145b610c725760405162461bcd60e51b8152600401610431906118aa565b600093845260046020526040909320918255600282019290925560010155565b600054610100900460ff1615808015610cb25750600054600160ff909116105b80610ccc5750303b158015610ccc575060005460ff166001145b610d2f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610431565b6000805460ff191660011790558015610d52576000805461ff0019166101001790555b600680546001600160a01b038681166001600160a01b0319928316179092556003805488841690831617905560058054339216919091179055600780546000805260046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ed8590559185166001600160a81b031990921691909117600160a01b1790556010805460ff191690558015610e27576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6001600160a01b0381166000908152600260209081526040808320600401805482518185028101850190935280835260609493830182828015610e9a57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610e7c575b5050505050905060008060005b8351811015610f145760026000858381518110610ec657610ec66118f6565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff16610f025781610efe81611922565b9250505b80610f0c81611922565b915050610ea7565b506000816001600160401b03811115610f2f57610f2f611a5c565b604051908082528060200260200182016040528015610f58578160200160208202803683370190505b50905060005b845181101561100f5760026000868381518110610f7d57610f7d6118f6565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff16610ffd57848181518110610fbd57610fbd6118f6565b6020026020010151828581518110610fd757610fd76118f6565b6001600160a01b039092166020928302919091019091015283610ff981611922565b9450505b8061100781611922565b915050610f5e565b5095945050505050565b6001600160a01b03811660009081526002602090815260409182902060030180548351818402810184019094528084526060939283018282801561108657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611068575b50505050509050919050565b6005546001600160a01b03163314806110b557506003546001600160a01b031633145b6110d15760405162461bcd60e51b8152600401610431906118aa565b600754600160a01b900460ff166110fa5760405162461bcd60e51b81526004016104319061193b565b6007546040516370a0823160e01b81526000916001600160a01b0316906370a082319061112b9030906004016116cd565b602060405180830381865afa158015611148573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116c9190611a72565b60075460035460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb926111a49216908590600401611a43565b6020604051808303816000875af11580156111c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e791906119cc565b5060405133904780156108fc02916000818181858888f19350505050158015611214573d6000803e3d6000fd5b50506007805460ff60a01b19169055565b6001600160a01b038281166000908152600260208181526040808420805460099091015495168085528185206005908101548652600484528286208351608081018552815481526001820154958101959095529485015484840152825160a081019384905295969195919487949390926060850192909160038501919082845b8154815260200190600101908083116112a557505050505081525050905060008082604001511180156112f257506001600160a01b03841660009081526002602052604090206006015483115b801561133557506001600160a01b03841660009081526002602052604090206006015462015180906113249085611997565b61132e91906119aa565b8260400151105b6001600160a01b038089166000908152600260208190526040808320909101805460ff19166001908117909155928816825281206007018054939450919261137e908490611984565b90915550506020808301516001600160a01b03861660009081526002909252604082206008018054919290916113b5908490611984565b909155505060088054600191906000906113d0908490611984565b90915550506020820151600980546000906113ec908490611984565b9091555050815160009015801590611420575082516001600160a01b03861660009081526002602052604090206007015410155b801561142a575081155b15611483576001600160a01b038516600090815260026020526040812060050180546001929061145b908490611984565b9091555050506001600160a01b03841660009081526002602052604090204260069091015560015b861561150457600754602084015160405163a9059cbb60e01b81526001600160a01b039092169163a9059cbb916114bf91899190600401611a43565b6020604051808303816000875af11580156114de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150291906119cc565b505b60075460208401516001600160a01b039091169063a9059cbb908a9061152c906002906119aa565b6040518363ffffffff1660e01b8152600401611549929190611a43565b6020604051808303816000875af1158015611568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158c91906119cc565b506020838101516001600160a01b0387811660008181526002855260409081902060050154815194855294840194909452841515838501529251908b1692917f6081787cd1bd02ab1576c52f03e8710d792d460e7881c3155d77d23893f3768b919081900360600190a350506020015195945050505050565b600654604051600091829182916001600160a01b03169061162a9086906024016116cd565b60408051601f198184030181529181526020820180516001600160e01b031663a061922d60e01b1790525161165f9190611a8b565b600060405180830381855afa9150503d806000811461169a576040519150601f19603f3d011682016040523d82523d6000602084013e61169f565b606091505b5090925090508115156000036116b957465b949350505050565b808060200190518101906116b19190611a72565b6001600160a01b0391909116815260200190565b80151581146116ef57600080fd5b50565b60006020828403121561170457600080fd5b813561170f816116e1565b9392505050565b6001600160a01b03811681146116ef57600080fd5b60006020828403121561173d57600080fd5b813561170f81611716565b60005b8381101561176357818101518382015260200161174b565b50506000910152565b602081526000825180602084015261178b816040850160208701611748565b601f01601f19169190910160400192915050565b600080604083850312156117b257600080fd5b50508035926020909101359150565b6000602082840312156117d357600080fd5b5035919050565b600080600080608085870312156117f057600080fd5b5050823594602084013594506040840135936060013592509050565b6000806000806080858703121561182257600080fd5b843561182d81611716565b9350602085013561183d81611716565b9250604085013561184d81611716565b9396929550929360600135925050565b6020808252825182820181905260009190848201906040850190845b8181101561189e5783516001600160a01b031683529284019291840191600101611879565b50909695505050505050565b6020808252602c908201527f4f6e6c79206f776e6572206f72206176617461722063616e20706572666f726d60408201526b103a3434b99030b1ba34b7b760a11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016119345761193461190c565b5060010190565b6020808252600a90820152696e6f742061637469766560b01b604082015260600190565b6020808252600b908201526a73656c6620696e7669746560a81b604082015260600190565b80820180821115610c2d57610c2d61190c565b81810381811115610c2d57610c2d61190c565b6000826119c757634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156119de57600080fd5b815161170f816116e1565b8181036000831280158383131683831282161715611a0957611a0961190c565b5092915050565b634e487b7160e01b600052603160045260246000fd5b6000600160ff1b8201611a3b57611a3b61190c565b506000190190565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052604160045260246000fd5b600060208284031215611a8457600080fd5b5051919050565b60008251611a9d818460208701611748565b919091019291505056fea2646970667358221220c3c4362b5dd54a39464d4ecf2220c9e06af70503fd18818dd92a2b22965a2be364736f6c63430008100033";
507
+ "0x608060405234801561001057600080fd5b50611add806100206000396000f3fe608060405234801561001057600080fd5b506004361061011d5760003560e01c806302fb0c5e14610122578063119e5bf31461014b57806321132aad1461016b5780632c159a1a1461018057806341155d5e1461019357806354fd4d50146101b45780635aef7de6146101d95780635b419a65146101ec5780636d619ef8146101ff5780638da5cb5b14610212578063a1df6fd314610225578063a87430ba14610232578063acec338a146102de578063af6346b0146102f1578063b2596a67146102f9578063b6567cd514610343578063b9fb2d1814610356578063ba6f568014610369578063cf756fdf14610392578063d80528ae146103a5578063e951a3aa146103b7578063e9881a5e146103d7578063efbe1c1c146103ea575b600080fd5b60075461013690600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b60075461015e906001600160a01b031681565b60405161014291906116cd565b61017e6101793660046116f2565b6103f2565b005b60065461015e906001600160a01b031681565b6101a66101a136600461172b565b61044d565b604051908152602001610142565b6040805180820182526003815262322e3160e81b60208201529051610142919061176c565b60035461015e906001600160a01b031681565b61017e6101fa36600461179f565b61051a565b61013661020d36600461172b565b6107df565b60055461015e906001600160a01b031681565b6010546101369060ff1681565b61029361024036600461172b565b6002602081905260009182526040909120805460018201549282015460058301546006840154600785015460088601546009909601546001600160a01b03909516969560ff909416949293919290919088565b604080516001600160a01b0390991689526020890197909752941515958701959095526060860192909252608085015260a084015260c083019190915260e082015261010001610142565b61017e6102ec3660046116f2565b6109c9565b61017e610a26565b6103286103073660046117c1565b60046020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610142565b6101a661035136600461172b565b610ba1565b61017e6103643660046117da565b610c33565b61015e6103773660046117c1565b6001602052600090815260409020546001600160a01b031681565b61017e6103a036600461180c565b610c92565b600854600954600a5461032892919083565b6103ca6103c536600461172b565b610e2e565b604051610142919061185d565b6103ca6103e536600461172b565b611019565b61017e611092565b6005546001600160a01b031633148061041557506003546001600160a01b031633145b61043a5760405162461bcd60e51b8152600401610431906118aa565b60405180910390fd5b6010805460ff1916911515919091179055565b6001600160a01b0381166000908152600260209081526040808320600401805482518185028101850190935280835284938301828280156104b757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610499575b505050505090506000805b8251811015610512576104ed8382815181106104e0576104e06118f6565b60200260200101516107df565b1561050057816104fc81611922565b9250505b8061050a81611922565b9150506104c2565b509392505050565b600754600160a01b900460ff166105435760405162461bcd60e51b81526004016104319061193b565b6000828152600160205260409020546001600160a01b0316158061057d57506000828152600160205260409020546001600160a01b031633145b8061059057506001600160a01b03821633145b6105d95760405162461bcd60e51b815260206004820152601a602482015279696e7669746520636f646520616c726561647920696e2075736560301b6044820152606401610431565b8082036105f85760405162461bcd60e51b81526004016104319061195f565b336000908152600260209081526040808320848452600192839052922054908201546001600160a01b0390911690158061064d575081546001600160a01b031615801561064d57506001600160a01b03811615155b61068f5760405162461bcd60e51b81526020600482015260136024820152721d5cd95c88185b1c9958591e481a9bda5b9959606a1b6044820152606401610431565b60018201546000036106d05760018083018590554260068401819055600984015560008581526020919091526040902080546001600160a01b031916331790555b6001600160a01b0381161561078857336001600160a01b038216036107075760405162461bcd60e51b81526004016104319061195f565b81546001600160a01b0382166001600160a01b0319918216811784556000908152600260209081526040822060038101805460018181018355918552838520018054861633908117909155600490920180548083018255908552928420909201805490941617909255600a8054909190610782908490611984565b90915550505b610791336107df565b156107a3576107a1336001611225565b505b60405133906001600160a01b038316907fd8c638d8979e2ba5dba1f0d66246ee4b1c54b838f0e0a2b601365345eb23b05190600090a350505050565b6001600160a01b0380821660009081526002602081815260408084205490941680845284842060050154845260049091529282200154601054919291839060ff16151560011480156108315750600082115b801561087c57506001600160a01b03808416600090815260026020526040808220600601549288168252902060090154620151809161086f91611997565b61087991906119aa565b82105b90506001600160a01b038316158015906108b357506001600160a01b0385166000908152600260208190526040909120015460ff16155b801561092b5750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf906108ea9088906004016116cd565b602060405180830381865afa158015610907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b91906119cc565b80156109a35750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf906109629086906004016116cd565b602060405180830381865afa15801561097f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a391906119cc565b80156109b65750466109b486611605565b145b80156109c0575080155b95945050505050565b6005546001600160a01b03163314806109ec57506003546001600160a01b031633145b610a085760405162461bcd60e51b8152600401610431906118aa565b60078054911515600160a01b0260ff60a01b19909216919091179055565b600754600160a01b900460ff16610a4f5760405162461bcd60e51b81526004016104319061193b565b33600090815260026020526040812060040180549091908190610a74906001906119e9565b90505b60008112610b1f576202d2a85a10610b1f576000838281548110610a9d57610a9d6118f6565b6000918252602090912001546001600160a01b03169050610abd816107df565b15610b0c57610acd816000611225565b610ad79084611984565b925083805480610ae957610ae9611a10565b600082815260209020810160001990810180546001600160a01b03191690550190555b5080610b1781611a26565b915050610a77565b508015610b9d5760075460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb90610b589033908590600401611a43565b6020604051808303816000875af1158015610b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9b91906119cc565b505b5050565b600754600090600160a01b900460ff16610bcd5760405162461bcd60e51b81526004016104319061193b565b610bd6826107df565b610c225760405162461bcd60e51b815260206004820181905260248201527f75736572206e6f7420656c6c6967626c6520666f7220626f756e7479207965746044820152606401610431565b610c2d826001611225565b92915050565b6005546001600160a01b0316331480610c5657506003546001600160a01b031633145b610c725760405162461bcd60e51b8152600401610431906118aa565b600093845260046020526040909320918255600282019290925560010155565b600054610100900460ff1615808015610cb25750600054600160ff909116105b80610ccc5750303b158015610ccc575060005460ff166001145b610d2f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610431565b6000805460ff191660011790558015610d52576000805461ff0019166101001790555b600680546001600160a01b038681166001600160a01b0319928316179092556003805488841690831617905560058054339216919091179055600780546000805260046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ed8590559185166001600160a81b031990921691909117600160a01b1790556010805460ff191690558015610e27576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6001600160a01b0381166000908152600260209081526040808320600401805482518185028101850190935280835260609493830182828015610e9a57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610e7c575b5050505050905060008060005b8351811015610f145760026000858381518110610ec657610ec66118f6565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff16610f025781610efe81611922565b9250505b80610f0c81611922565b915050610ea7565b506000816001600160401b03811115610f2f57610f2f611a5c565b604051908082528060200260200182016040528015610f58578160200160208202803683370190505b50905060005b845181101561100f5760026000868381518110610f7d57610f7d6118f6565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff16610ffd57848181518110610fbd57610fbd6118f6565b6020026020010151828581518110610fd757610fd76118f6565b6001600160a01b039092166020928302919091019091015283610ff981611922565b9450505b8061100781611922565b915050610f5e565b5095945050505050565b6001600160a01b03811660009081526002602090815260409182902060030180548351818402810184019094528084526060939283018282801561108657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611068575b50505050509050919050565b6005546001600160a01b03163314806110b557506003546001600160a01b031633145b6110d15760405162461bcd60e51b8152600401610431906118aa565b600754600160a01b900460ff166110fa5760405162461bcd60e51b81526004016104319061193b565b6007546040516370a0823160e01b81526000916001600160a01b0316906370a082319061112b9030906004016116cd565b602060405180830381865afa158015611148573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116c9190611a72565b60075460035460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb926111a49216908590600401611a43565b6020604051808303816000875af11580156111c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e791906119cc565b5060405133904780156108fc02916000818181858888f19350505050158015611214573d6000803e3d6000fd5b50506007805460ff60a01b19169055565b6001600160a01b038281166000908152600260208181526040808420805460099091015495168085528185206005908101548652600484528286208351608081018552815481526001820154958101959095529485015484840152825160a081019384905295969195919487949390926060850192909160038501919082845b8154815260200190600101908083116112a557505050505081525050905060008082604001511180156112f257506001600160a01b03841660009081526002602052604090206006015483115b801561133557506001600160a01b03841660009081526002602052604090206006015462015180906113249085611997565b61132e91906119aa565b8260400151105b6001600160a01b038089166000908152600260208190526040808320909101805460ff19166001908117909155928816825281206007018054939450919261137e908490611984565b90915550506020808301516001600160a01b03861660009081526002909252604082206008018054919290916113b5908490611984565b909155505060088054600191906000906113d0908490611984565b90915550506020820151600980546000906113ec908490611984565b9091555050815160009015801590611420575082516001600160a01b03861660009081526002602052604090206007015410155b801561142a575081155b15611483576001600160a01b038516600090815260026020526040812060050180546001929061145b908490611984565b9091555050506001600160a01b03841660009081526002602052604090204260069091015560015b861561150457600754602084015160405163a9059cbb60e01b81526001600160a01b039092169163a9059cbb916114bf91899190600401611a43565b6020604051808303816000875af11580156114de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150291906119cc565b505b60075460208401516001600160a01b039091169063a9059cbb908a9061152c906002906119aa565b6040518363ffffffff1660e01b8152600401611549929190611a43565b6020604051808303816000875af1158015611568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158c91906119cc565b506020838101516001600160a01b0387811660008181526002855260409081902060050154815194855294840194909452841515838501529251908b1692917f6081787cd1bd02ab1576c52f03e8710d792d460e7881c3155d77d23893f3768b919081900360600190a350506020015195945050505050565b600654604051600091829182916001600160a01b03169061162a9086906024016116cd565b60408051601f198184030181529181526020820180516001600160e01b031663a061922d60e01b1790525161165f9190611a8b565b600060405180830381855afa9150503d806000811461169a576040519150601f19603f3d011682016040523d82523d6000602084013e61169f565b606091505b5090925090508115156000036116b957465b949350505050565b808060200190518101906116b19190611a72565b6001600160a01b0391909116815260200190565b80151581146116ef57600080fd5b50565b60006020828403121561170457600080fd5b813561170f816116e1565b9392505050565b6001600160a01b03811681146116ef57600080fd5b60006020828403121561173d57600080fd5b813561170f81611716565b60005b8381101561176357818101518382015260200161174b565b50506000910152565b602081526000825180602084015261178b816040850160208701611748565b601f01601f19169190910160400192915050565b600080604083850312156117b257600080fd5b50508035926020909101359150565b6000602082840312156117d357600080fd5b5035919050565b600080600080608085870312156117f057600080fd5b5050823594602084013594506040840135936060013592509050565b6000806000806080858703121561182257600080fd5b843561182d81611716565b9350602085013561183d81611716565b9250604085013561184d81611716565b9396929550929360600135925050565b6020808252825182820181905260009190848201906040850190845b8181101561189e5783516001600160a01b031683529284019291840191600101611879565b50909695505050505050565b6020808252602c908201527f4f6e6c79206f776e6572206f72206176617461722063616e20706572666f726d60408201526b103a3434b99030b1ba34b7b760a11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016119345761193461190c565b5060010190565b6020808252600a90820152696e6f742061637469766560b01b604082015260600190565b6020808252600b908201526a73656c6620696e7669746560a81b604082015260600190565b80820180821115610c2d57610c2d61190c565b81810381811115610c2d57610c2d61190c565b6000826119c757634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156119de57600080fd5b815161170f816116e1565b8181036000831280158383131683831282161715611a0957611a0961190c565b5092915050565b634e487b7160e01b600052603160045260246000fd5b6000600160ff1b8201611a3b57611a3b61190c565b506000190190565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052604160045260246000fd5b600060208284031215611a8457600080fd5b5051919050565b60008251611a9d818460208701611748565b919091019291505056fea26469706673582212203de74ab67d308f148163ca5255d397d1258ddf21f69e4d76bac7da5e47be85b564736f6c63430008100033";
508
508
 
509
509
  type InvitesFuseV2ConstructorParams =
510
510
  | [signer?: Signer]
@@ -504,7 +504,7 @@ const _abi = [
504
504
  ];
505
505
 
506
506
  const _bytecode =
507
- "0x608060405234801561001057600080fd5b50611994806100206000396000f3fe608060405234801561001057600080fd5b506004361061011d5760003560e01c806302fb0c5e14610122578063119e5bf31461014b57806321132aad1461016b5780632c159a1a1461018057806341155d5e1461019357806354fd4d50146101b45780635aef7de6146101db5780635b419a65146101ee5780636d619ef8146102015780638da5cb5b14610214578063a1df6fd314610227578063a87430ba14610234578063acec338a146102e0578063af6346b0146102f3578063b2596a67146102fb578063b6567cd514610345578063b9fb2d1814610358578063ba6f56801461036b578063cf756fdf14610394578063d80528ae146103a7578063e951a3aa146103b9578063e9881a5e146103d9578063efbe1c1c146103ec575b600080fd5b60075461013690600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b60075461015e906001600160a01b031681565b60405161014291906115d5565b61017e6101793660046115fa565b6103f4565b005b60065461015e906001600160a01b031681565b6101a66101a136600461162c565b61044f565b604051908152602001610142565b60408051808201825260058152640312e352e360dc1b602082015290516101429190611649565b60035461015e906001600160a01b031681565b61017e6101fc366004611697565b61051c565b61013661020f36600461162c565b61076c565b60055461015e906001600160a01b031681565b6010546101369060ff1681565b61029561024236600461162c565b6002602081905260009182526040909120805460018201549282015460058301546006840154600785015460088601546009909601546001600160a01b03909516969560ff909416949293919290919088565b604080516001600160a01b0390991689526020890197909752941515958701959095526060860192909252608085015260a084015260c083019190915260e082015261010001610142565b61017e6102ee3660046115fa565b610975565b61017e6109d2565b61032a6103093660046116b9565b60046020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610142565b6101a661035336600461162c565b610b4d565b61017e6103663660046116d2565b610bdf565b61015e6103793660046116b9565b6001602052600090815260409020546001600160a01b031681565b61017e6103a2366004611704565b610c3e565b600854600954600a5461032a92919083565b6103cc6103c736600461162c565b610dd8565b6040516101429190611755565b6103cc6103e736600461162c565b610fc3565b61017e61103c565b6005546001600160a01b031633148061041757506003546001600160a01b031633145b61043c5760405162461bcd60e51b8152600401610433906117a2565b60405180910390fd5b6010805460ff1916911515919091179055565b6001600160a01b0381166000908152600260209081526040808320600401805482518185028101850190935280835284938301828280156104b957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161049b575b505050505090506000805b8251811015610514576104ef8382815181106104e2576104e26117ee565b602002602001015161076c565b1561050257816104fe8161181a565b9250505b8061050c8161181a565b9150506104c4565b509392505050565b600754600160a01b900460ff166105455760405162461bcd60e51b815260040161043390611833565b6000828152600160205260409020546001600160a01b0316158061057f57506000828152600160205260409020546001600160a01b031633145b6105c85760405162461bcd60e51b815260206004820152601a602482015279696e7669746520636f646520616c726561647920696e2075736560301b6044820152606401610433565b336000908152600260209081526040808320848452600192839052922054908201546001600160a01b0390911690158061061d575081546001600160a01b031615801561061d57506001600160a01b03811615155b61065f5760405162461bcd60e51b81526020600482015260136024820152721d5cd95c88185b1c9958591e481a9bda5b9959606a1b6044820152606401610433565b60018201546000036106a05760018083018590554260068401819055600984015560008581526020919091526040902080546001600160a01b031916331790555b6001600160a01b038116156107305781546001600160a01b0382166001600160a01b0319918216811784556000908152600260209081526040822060038101805460018181018355918552838520018054861633908117909155600490920180548083018255908552928420909201805490941617909255600a805490919061072a908490611857565b90915550505b60405133906001600160a01b038316907fd8c638d8979e2ba5dba1f0d66246ee4b1c54b838f0e0a2b601365345eb23b05190600090a350505050565b6001600160a01b0380821660009081526002602081815260408084205490941680845284842060050154845260049091529282200154601054919291839060ff16151560011480156107be5750600082115b80156107f057506001600160a01b03808416600090815260026020526040808220600601549288168252902060090154115b801561083b57506001600160a01b03808416600090815260026020526040808220600601549288168252902060090154610838916201518091610832916111dc565b906111ef565b82105b90506001600160a01b0383161580159061087257506001600160a01b0385166000908152600260208190526040909120015460ff16155b80156108ea5750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf906108a99088906004016115d5565b602060405180830381865afa1580156108c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ea919061186a565b80156109625750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf906109219086906004016115d5565b602060405180830381865afa15801561093e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610962919061186a565b801561096c575080155b95945050505050565b6005546001600160a01b031633148061099857506003546001600160a01b031633145b6109b45760405162461bcd60e51b8152600401610433906117a2565b60078054911515600160a01b0260ff60a01b19909216919091179055565b600754600160a01b900460ff166109fb5760405162461bcd60e51b815260040161043390611833565b33600090815260026020526040812060040180549091908190610a2090600190611887565b90505b60008112610acb57620186a05a10610acb576000838281548110610a4957610a496117ee565b6000918252602090912001546001600160a01b03169050610a698161076c565b15610ab857610a798160006111fb565b610a839084611857565b925083805480610a9557610a956118ae565b600082815260209020810160001990810180546001600160a01b03191690550190555b5080610ac3816118c4565b915050610a23565b508015610b495760075460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb90610b0490339085906004016118e1565b6020604051808303816000875af1158015610b23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b47919061186a565b505b5050565b600754600090600160a01b900460ff16610b795760405162461bcd60e51b815260040161043390611833565b610b828261076c565b610bce5760405162461bcd60e51b815260206004820181905260248201527f75736572206e6f7420656c6c6967626c6520666f7220626f756e7479207965746044820152606401610433565b610bd98260016111fb565b92915050565b6005546001600160a01b0316331480610c0257506003546001600160a01b031633145b610c1e5760405162461bcd60e51b8152600401610433906117a2565b600093845260046020526040909320918255600282019290925560010155565b600054610100900460ff1615808015610c5e5750600054600160ff909116105b80610c785750303b158015610c78575060005460ff166001145b610cdb5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610433565b6000805460ff191660011790558015610cfe576000805461ff0019166101001790555b60058054336001600160a01b0319918216179091556006805482166001600160a01b0387811691909117909155600780546000805260046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ed869055600160a01b6001600160a81b031990911687841617179055600380549092169087161790556010805460ff191690558015610dd1576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6001600160a01b0381166000908152600260209081526040808320600401805482518185028101850190935280835260609493830182828015610e4457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610e26575b5050505050905060008060005b8351811015610ebe5760026000858381518110610e7057610e706117ee565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff16610eac5781610ea88161181a565b9250505b80610eb68161181a565b915050610e51565b506000816001600160401b03811115610ed957610ed96118fa565b604051908082528060200260200182016040528015610f02578160200160208202803683370190505b50905060005b8451811015610fb95760026000868381518110610f2757610f276117ee565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff16610fa757848181518110610f6757610f676117ee565b6020026020010151828581518110610f8157610f816117ee565b6001600160a01b039092166020928302919091019091015283610fa38161181a565b9450505b80610fb18161181a565b915050610f08565b5095945050505050565b6001600160a01b03811660009081526002602090815260409182902060030180548351818402810184019094528084526060939283018282801561103057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611012575b50505050509050919050565b6005546001600160a01b031633148061105f57506003546001600160a01b031633145b61107b5760405162461bcd60e51b8152600401610433906117a2565b600754600160a01b900460ff166110a45760405162461bcd60e51b815260040161043390611833565b6007546040516370a0823160e01b81526000916001600160a01b0316906370a08231906110d59030906004016115d5565b602060405180830381865afa1580156110f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111169190611910565b60075460035460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb9261114e92169085906004016118e1565b6020604051808303816000875af115801561116d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611191919061186a565b506003546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156111cb573d6000803e3d6000fd5b50506007805460ff60a01b19169055565b60006111e88284611929565b9392505050565b60006111e8828461193c565b6001600160a01b038281166000908152600260208181526040808420805460099091015495168085528185206005908101548652600484528286208351608081018552815481526001820154958101959095529485015484840152825160a081019384905295969195919487949390926060850192909160038501919082845b81548152602001906001019080831161127b57505050505081525050905060008082604001511180156112c857506001600160a01b03841660009081526002602052604090206006015483115b801561130657506001600160a01b0384166000908152600260205260409020600601546112ff9062015180906108329086906111dc565b8260400151105b6001600160a01b038089166000908152600260208190526040808320909101805460ff19166001908117909155928816825281206007018054939450919261134f908490611857565b90915550506020808301516001600160a01b0386166000908152600290925260408220600801805491929091611386908490611857565b909155505060088054600191906000906113a1908490611857565b90915550506020820151600980546000906113bd908490611857565b90915550508151600090158015906113f1575082516001600160a01b03861660009081526002602052604090206007015410155b80156113fb575081155b15611454576001600160a01b038516600090815260026020526040812060050180546001929061142c908490611857565b9091555050506001600160a01b03841660009081526002602052604090204260069091015560015b86156114d557600754602084015160405163a9059cbb60e01b81526001600160a01b039092169163a9059cbb91611490918991906004016118e1565b6020604051808303816000875af11580156114af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d3919061186a565b505b60075460208401516001600160a01b039091169063a9059cbb908a906114fc9060026111ef565b6040518363ffffffff1660e01b81526004016115199291906118e1565b6020604051808303816000875af1158015611538573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155c919061186a565b506020838101516001600160a01b0387811660008181526002855260409081902060050154815194855294840194909452841515838501529251908b1692917f6081787cd1bd02ab1576c52f03e8710d792d460e7881c3155d77d23893f3768b919081900360600190a350506020015195945050505050565b6001600160a01b0391909116815260200190565b80151581146115f757600080fd5b50565b60006020828403121561160c57600080fd5b81356111e8816115e9565b6001600160a01b03811681146115f757600080fd5b60006020828403121561163e57600080fd5b81356111e881611617565b600060208083528351808285015260005b818110156116765785810183015185820160400152820161165a565b506000604082860101526040601f19601f8301168501019250505092915050565b600080604083850312156116aa57600080fd5b50508035926020909101359150565b6000602082840312156116cb57600080fd5b5035919050565b600080600080608085870312156116e857600080fd5b5050823594602084013594506040840135936060013592509050565b6000806000806080858703121561171a57600080fd5b843561172581611617565b9350602085013561173581611617565b9250604085013561174581611617565b9396929550929360600135925050565b6020808252825182820181905260009190848201906040850190845b818110156117965783516001600160a01b031683529284019291840191600101611771565b50909695505050505050565b6020808252602c908201527f4f6e6c79206f776e6572206f72206176617461722063616e20706572666f726d60408201526b103a3434b99030b1ba34b7b760a11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161182c5761182c611804565b5060010190565b6020808252600a90820152696e6f742061637469766560b01b604082015260600190565b80820180821115610bd957610bd9611804565b60006020828403121561187c57600080fd5b81516111e8816115e9565b81810360008312801583831316838312821617156118a7576118a7611804565b5092915050565b634e487b7160e01b600052603160045260246000fd5b6000600160ff1b82016118d9576118d9611804565b506000190190565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561192257600080fd5b5051919050565b81810381811115610bd957610bd9611804565b60008261195957634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220da381200c63bf5b9083b20dafd87d13d8debc55ca9255f6ba24f784e0c7fe4d764736f6c63430008100033";
507
+ "0x608060405234801561001057600080fd5b50611994806100206000396000f3fe608060405234801561001057600080fd5b506004361061011d5760003560e01c806302fb0c5e14610122578063119e5bf31461014b57806321132aad1461016b5780632c159a1a1461018057806341155d5e1461019357806354fd4d50146101b45780635aef7de6146101db5780635b419a65146101ee5780636d619ef8146102015780638da5cb5b14610214578063a1df6fd314610227578063a87430ba14610234578063acec338a146102e0578063af6346b0146102f3578063b2596a67146102fb578063b6567cd514610345578063b9fb2d1814610358578063ba6f56801461036b578063cf756fdf14610394578063d80528ae146103a7578063e951a3aa146103b9578063e9881a5e146103d9578063efbe1c1c146103ec575b600080fd5b60075461013690600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b60075461015e906001600160a01b031681565b60405161014291906115d5565b61017e6101793660046115fa565b6103f4565b005b60065461015e906001600160a01b031681565b6101a66101a136600461162c565b61044f565b604051908152602001610142565b60408051808201825260058152640312e352e360dc1b602082015290516101429190611649565b60035461015e906001600160a01b031681565b61017e6101fc366004611697565b61051c565b61013661020f36600461162c565b61076c565b60055461015e906001600160a01b031681565b6010546101369060ff1681565b61029561024236600461162c565b6002602081905260009182526040909120805460018201549282015460058301546006840154600785015460088601546009909601546001600160a01b03909516969560ff909416949293919290919088565b604080516001600160a01b0390991689526020890197909752941515958701959095526060860192909252608085015260a084015260c083019190915260e082015261010001610142565b61017e6102ee3660046115fa565b610975565b61017e6109d2565b61032a6103093660046116b9565b60046020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610142565b6101a661035336600461162c565b610b4d565b61017e6103663660046116d2565b610bdf565b61015e6103793660046116b9565b6001602052600090815260409020546001600160a01b031681565b61017e6103a2366004611704565b610c3e565b600854600954600a5461032a92919083565b6103cc6103c736600461162c565b610dd8565b6040516101429190611755565b6103cc6103e736600461162c565b610fc3565b61017e61103c565b6005546001600160a01b031633148061041757506003546001600160a01b031633145b61043c5760405162461bcd60e51b8152600401610433906117a2565b60405180910390fd5b6010805460ff1916911515919091179055565b6001600160a01b0381166000908152600260209081526040808320600401805482518185028101850190935280835284938301828280156104b957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161049b575b505050505090506000805b8251811015610514576104ef8382815181106104e2576104e26117ee565b602002602001015161076c565b1561050257816104fe8161181a565b9250505b8061050c8161181a565b9150506104c4565b509392505050565b600754600160a01b900460ff166105455760405162461bcd60e51b815260040161043390611833565b6000828152600160205260409020546001600160a01b0316158061057f57506000828152600160205260409020546001600160a01b031633145b6105c85760405162461bcd60e51b815260206004820152601a602482015279696e7669746520636f646520616c726561647920696e2075736560301b6044820152606401610433565b336000908152600260209081526040808320848452600192839052922054908201546001600160a01b0390911690158061061d575081546001600160a01b031615801561061d57506001600160a01b03811615155b61065f5760405162461bcd60e51b81526020600482015260136024820152721d5cd95c88185b1c9958591e481a9bda5b9959606a1b6044820152606401610433565b60018201546000036106a05760018083018590554260068401819055600984015560008581526020919091526040902080546001600160a01b031916331790555b6001600160a01b038116156107305781546001600160a01b0382166001600160a01b0319918216811784556000908152600260209081526040822060038101805460018181018355918552838520018054861633908117909155600490920180548083018255908552928420909201805490941617909255600a805490919061072a908490611857565b90915550505b60405133906001600160a01b038316907fd8c638d8979e2ba5dba1f0d66246ee4b1c54b838f0e0a2b601365345eb23b05190600090a350505050565b6001600160a01b0380821660009081526002602081815260408084205490941680845284842060050154845260049091529282200154601054919291839060ff16151560011480156107be5750600082115b80156107f057506001600160a01b03808416600090815260026020526040808220600601549288168252902060090154115b801561083b57506001600160a01b03808416600090815260026020526040808220600601549288168252902060090154610838916201518091610832916111dc565b906111ef565b82105b90506001600160a01b0383161580159061087257506001600160a01b0385166000908152600260208190526040909120015460ff16155b80156108ea5750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf906108a99088906004016115d5565b602060405180830381865afa1580156108c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ea919061186a565b80156109625750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf906109219086906004016115d5565b602060405180830381865afa15801561093e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610962919061186a565b801561096c575080155b95945050505050565b6005546001600160a01b031633148061099857506003546001600160a01b031633145b6109b45760405162461bcd60e51b8152600401610433906117a2565b60078054911515600160a01b0260ff60a01b19909216919091179055565b600754600160a01b900460ff166109fb5760405162461bcd60e51b815260040161043390611833565b33600090815260026020526040812060040180549091908190610a2090600190611887565b90505b60008112610acb57620186a05a10610acb576000838281548110610a4957610a496117ee565b6000918252602090912001546001600160a01b03169050610a698161076c565b15610ab857610a798160006111fb565b610a839084611857565b925083805480610a9557610a956118ae565b600082815260209020810160001990810180546001600160a01b03191690550190555b5080610ac3816118c4565b915050610a23565b508015610b495760075460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb90610b0490339085906004016118e1565b6020604051808303816000875af1158015610b23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b47919061186a565b505b5050565b600754600090600160a01b900460ff16610b795760405162461bcd60e51b815260040161043390611833565b610b828261076c565b610bce5760405162461bcd60e51b815260206004820181905260248201527f75736572206e6f7420656c6c6967626c6520666f7220626f756e7479207965746044820152606401610433565b610bd98260016111fb565b92915050565b6005546001600160a01b0316331480610c0257506003546001600160a01b031633145b610c1e5760405162461bcd60e51b8152600401610433906117a2565b600093845260046020526040909320918255600282019290925560010155565b600054610100900460ff1615808015610c5e5750600054600160ff909116105b80610c785750303b158015610c78575060005460ff166001145b610cdb5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610433565b6000805460ff191660011790558015610cfe576000805461ff0019166101001790555b60058054336001600160a01b0319918216179091556006805482166001600160a01b0387811691909117909155600780546000805260046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ed869055600160a01b6001600160a81b031990911687841617179055600380549092169087161790556010805460ff191690558015610dd1576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6001600160a01b0381166000908152600260209081526040808320600401805482518185028101850190935280835260609493830182828015610e4457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610e26575b5050505050905060008060005b8351811015610ebe5760026000858381518110610e7057610e706117ee565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff16610eac5781610ea88161181a565b9250505b80610eb68161181a565b915050610e51565b506000816001600160401b03811115610ed957610ed96118fa565b604051908082528060200260200182016040528015610f02578160200160208202803683370190505b50905060005b8451811015610fb95760026000868381518110610f2757610f276117ee565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff16610fa757848181518110610f6757610f676117ee565b6020026020010151828581518110610f8157610f816117ee565b6001600160a01b039092166020928302919091019091015283610fa38161181a565b9450505b80610fb18161181a565b915050610f08565b5095945050505050565b6001600160a01b03811660009081526002602090815260409182902060030180548351818402810184019094528084526060939283018282801561103057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611012575b50505050509050919050565b6005546001600160a01b031633148061105f57506003546001600160a01b031633145b61107b5760405162461bcd60e51b8152600401610433906117a2565b600754600160a01b900460ff166110a45760405162461bcd60e51b815260040161043390611833565b6007546040516370a0823160e01b81526000916001600160a01b0316906370a08231906110d59030906004016115d5565b602060405180830381865afa1580156110f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111169190611910565b60075460035460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb9261114e92169085906004016118e1565b6020604051808303816000875af115801561116d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611191919061186a565b506003546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156111cb573d6000803e3d6000fd5b50506007805460ff60a01b19169055565b60006111e88284611929565b9392505050565b60006111e8828461193c565b6001600160a01b038281166000908152600260208181526040808420805460099091015495168085528185206005908101548652600484528286208351608081018552815481526001820154958101959095529485015484840152825160a081019384905295969195919487949390926060850192909160038501919082845b81548152602001906001019080831161127b57505050505081525050905060008082604001511180156112c857506001600160a01b03841660009081526002602052604090206006015483115b801561130657506001600160a01b0384166000908152600260205260409020600601546112ff9062015180906108329086906111dc565b8260400151105b6001600160a01b038089166000908152600260208190526040808320909101805460ff19166001908117909155928816825281206007018054939450919261134f908490611857565b90915550506020808301516001600160a01b0386166000908152600290925260408220600801805491929091611386908490611857565b909155505060088054600191906000906113a1908490611857565b90915550506020820151600980546000906113bd908490611857565b90915550508151600090158015906113f1575082516001600160a01b03861660009081526002602052604090206007015410155b80156113fb575081155b15611454576001600160a01b038516600090815260026020526040812060050180546001929061142c908490611857565b9091555050506001600160a01b03841660009081526002602052604090204260069091015560015b86156114d557600754602084015160405163a9059cbb60e01b81526001600160a01b039092169163a9059cbb91611490918991906004016118e1565b6020604051808303816000875af11580156114af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d3919061186a565b505b60075460208401516001600160a01b039091169063a9059cbb908a906114fc9060026111ef565b6040518363ffffffff1660e01b81526004016115199291906118e1565b6020604051808303816000875af1158015611538573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155c919061186a565b506020838101516001600160a01b0387811660008181526002855260409081902060050154815194855294840194909452841515838501529251908b1692917f6081787cd1bd02ab1576c52f03e8710d792d460e7881c3155d77d23893f3768b919081900360600190a350506020015195945050505050565b6001600160a01b0391909116815260200190565b80151581146115f757600080fd5b50565b60006020828403121561160c57600080fd5b81356111e8816115e9565b6001600160a01b03811681146115f757600080fd5b60006020828403121561163e57600080fd5b81356111e881611617565b600060208083528351808285015260005b818110156116765785810183015185820160400152820161165a565b506000604082860101526040601f19601f8301168501019250505092915050565b600080604083850312156116aa57600080fd5b50508035926020909101359150565b6000602082840312156116cb57600080fd5b5035919050565b600080600080608085870312156116e857600080fd5b5050823594602084013594506040840135936060013592509050565b6000806000806080858703121561171a57600080fd5b843561172581611617565b9350602085013561173581611617565b9250604085013561174581611617565b9396929550929360600135925050565b6020808252825182820181905260009190848201906040850190845b818110156117965783516001600160a01b031683529284019291840191600101611771565b50909695505050505050565b6020808252602c908201527f4f6e6c79206f776e6572206f72206176617461722063616e20706572666f726d60408201526b103a3434b99030b1ba34b7b760a11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161182c5761182c611804565b5060010190565b6020808252600a90820152696e6f742061637469766560b01b604082015260600190565b80820180821115610bd957610bd9611804565b60006020828403121561187c57600080fd5b81516111e8816115e9565b81810360008312801583831316838312821617156118a7576118a7611804565b5092915050565b634e487b7160e01b600052603160045260246000fd5b6000600160ff1b82016118d9576118d9611804565b506000190190565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561192257600080fd5b5051919050565b81810381811115610bd957610bd9611804565b60008261195957634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212205dec13d6d4f77ee26959fe00bd6caa6ebf1cd1e7785860a3956baad71bd3439e64736f6c63430008100033";
508
508
 
509
509
  type InvitesV1ConstructorParams =
510
510
  | [signer?: Signer]
@@ -634,7 +634,7 @@ const _abi = [
634
634
  ];
635
635
 
636
636
  const _bytecode =
637
- "0x60a06040523060805234801561001457600080fd5b5060805161279661004c6000396000818161078e015281816107ce015281816109af015281816109ef0152610a6b01526127966000f3fe60806040526004361061015d5760003560e01c806302fb0c5e14610162578063119e5bf3146101985780631b3c90a8146101c557806321132aad146101dc5780633659cfe6146101fc57806336afc6fa1461021c5780633e6326fc1461023157806341155d5e146102515780634162169f1461027f5780634f1ef2861461029f57806352d1902d146102b257806354fd4d50146102c75780635aef7de6146102f95780635b419a65146103195780636d619ef8146103395780638da5cb5b14610359578063a1df6fd314610379578063a87430ba14610393578063acec338a1461044a578063af6346b01461046a578063b2596a671461047f578063b6567cd5146104d6578063b9fb2d18146104f6578063ba6f568014610516578063c350a1b51461054c578063d80528ae1461056c578063e1758bd81461058b578063e951a3aa146105a0578063e9881a5e146105cd578063efbe1c1c146105ed575b600080fd5b34801561016e57600080fd5b50609e5461018390600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b3480156101a457600080fd5b50609e546101b8906001600160a01b031681565b60405161018f91906121c0565b3480156101d157600080fd5b506101da610602565b005b3480156101e857600080fd5b506101da6101f73660046121e2565b610729565b34801561020857600080fd5b506101da610217366004612214565b610784565b34801561022857600080fd5b506101b861084c565b34801561023d57600080fd5b506067546101b8906001600160a01b031681565b34801561025d57600080fd5b5061027161026c366004612214565b6108d8565b60405190815260200161018f565b34801561028b57600080fd5b506065546101b8906001600160a01b031681565b6101da6102ad366004612247565b6109a5565b3480156102be57600080fd5b50610271610a5e565b3480156102d357600080fd5b506040805180820182526003815262322e3160e81b6020820152905161018f919061232e565b34801561030557600080fd5b506066546101b8906001600160a01b031681565b34801561032557600080fd5b506101da610334366004612361565b610b0c565b34801561034557600080fd5b50610183610354366004612214565b610dd0565b34801561036557600080fd5b50609d546101b8906001600160a01b031681565b34801561038557600080fd5b5060a7546101839060ff1681565b34801561039f57600080fd5b506103ff6103ae366004612214565b609b60205260009081526040902080546001820154600283015460058401546006850154600786015460088701546009909701546001600160a01b0390961696949560ff9094169492939192909188565b604080516001600160a01b0390991689526020890197909752941515958701959095526060860192909252608085015260a084015260c083019190915260e08201526101000161018f565b34801561045657600080fd5b506101da6104653660046121e2565b610fc1565b34801561047657600080fd5b506101da61101e565b34801561048b57600080fd5b506104bb61049a366004612383565b609c6020526000908152604090208054600182015460029092015490919083565b6040805193845260208401929092529082015260600161018f565b3480156104e257600080fd5b506102716104f1366004612214565b611198565b34801561050257600080fd5b506101da61051136600461239c565b61122a565b34801561052257600080fd5b506101b8610531366004612383565b609a602052600090815260409020546001600160a01b031681565b34801561055857600080fd5b506101da6105673660046123ce565b611289565b34801561057857600080fd5b50609f5460a05460a1546104bb92919083565b34801561059757600080fd5b506101b86113a7565b3480156105ac57600080fd5b506105c06105bb366004612214565b6113d6565b60405161018f9190612410565b3480156105d957600080fd5b506105c06105e8366004612214565b6115c1565b3480156105f957600080fd5b506101da61163a565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac190606401602060405180830381865afa158015610665573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610689919061245d565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de6916004808201926020929091908290030181865afa1580156106e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610707919061245d565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b609d546001600160a01b031633148061074c57506066546001600160a01b031633145b6107715760405162461bcd60e51b81526004016107689061247a565b60405180910390fd5b60a7805460ff1916911515919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107cc5760405162461bcd60e51b8152600401610768906124c6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107fe6117cd565b6001600160a01b0316146108245760405162461bcd60e51b815260040161076890612500565b61082d816117e9565b6040805160008082526020820190925261084991839190611828565b50565b60675460405163bf40fac160e01b81526020600482015260086024820152674944454e5449545960c01b60448201526000916001600160a01b03169063bf40fac1906064015b602060405180830381865afa1580156108af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d3919061245d565b905090565b6001600160a01b0381166000908152609b602090815260408083206004018054825181850281018501909352808352849383018282801561094257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610924575b505050505090506000805b825181101561099d5761097883828151811061096b5761096b61253a565b6020026020010151610dd0565b1561098b578161098781612566565b9250505b8061099581612566565b91505061094d565b509392505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109ed5760405162461bcd60e51b8152600401610768906124c6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610a1f6117cd565b6001600160a01b031614610a455760405162461bcd60e51b815260040161076890612500565b610a4e826117e9565b610a5a82826001611828565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610af95760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610768565b5060008051602061271a83398151915290565b609e54600160a01b900460ff16610b355760405162461bcd60e51b81526004016107689061257f565b6000828152609a60205260409020546001600160a01b03161580610b6f57506000828152609a60205260409020546001600160a01b031633145b80610b8257506001600160a01b03821633145b610bcb5760405162461bcd60e51b815260206004820152601a602482015279696e7669746520636f646520616c726561647920696e2075736560301b6044820152606401610768565b808203610bea5760405162461bcd60e51b8152600401610768906125a3565b336000908152609b60209081526040808320848452609a9092529091205460018201546001600160a01b03909116901580610c40575081546001600160a01b0316158015610c4057506001600160a01b03811615155b610c825760405162461bcd60e51b81526020600482015260136024820152721d5cd95c88185b1c9958591e481a9bda5b9959606a1b6044820152606401610768565b6001820154600003610cc15760018201849055426006830181905560098301556000848152609a6020526040902080546001600160a01b031916331790555b6001600160a01b03811615610d7957336001600160a01b03821603610cf85760405162461bcd60e51b8152600401610768906125a3565b81546001600160a01b0382166001600160a01b0319918216811784556000908152609b6020908152604082206003810180546001818101835591855283852001805486163390811790915560049092018054808301825590855292842090920180549094161790925560a18054909190610d739084906125c8565b90915550505b610d8233610dd0565b15610d9457610d92336001611993565b505b60405133906001600160a01b038316907fd8c638d8979e2ba5dba1f0d66246ee4b1c54b838f0e0a2b601365345eb23b05190600090a350505050565b6001600160a01b038082166000908152609b6020908152604080832054909316808352838320600501548352609c9091529181206002015460a754919291839060ff1615156001148015610e245750600082115b8015610e6f57506001600160a01b038084166000908152609b60205260408082206006015492881682529020600901546201518091610e62916125db565b610e6c91906125ee565b82105b90506001600160a01b03831615801590610ea557506001600160a01b0385166000908152609b602052604090206002015460ff16155b8015610f205750610eb461084c565b6001600160a01b0316633af32abf866040518263ffffffff1660e01b8152600401610edf91906121c0565b602060405180830381865afa158015610efc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f209190612610565b8015610f9b5750610f2f61084c565b6001600160a01b0316633af32abf846040518263ffffffff1660e01b8152600401610f5a91906121c0565b602060405180830381865afa158015610f77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9b9190612610565b8015610fae575046610fac86611d72565b145b8015610fb8575080155b95945050505050565b609d546001600160a01b0316331480610fe457506066546001600160a01b031633145b6110005760405162461bcd60e51b81526004016107689061247a565b609e8054911515600160a01b0260ff60a01b19909216919091179055565b609e54600160a01b900460ff166110475760405162461bcd60e51b81526004016107689061257f565b336000908152609b602052604081206004018054909190819061106c9060019061262d565b90505b60008112611117576202d2a85a106111175760008382815481106110955761109561253a565b6000918252602090912001546001600160a01b031690506110b581610dd0565b15611104576110c5816000611993565b6110cf90846125c8565b9250838054806110e1576110e1612654565b600082815260209020810160001990810180546001600160a01b03191690550190555b508061110f8161266a565b91505061106f565b508015610a5a57609e5460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906111509033908590600401612687565b6020604051808303816000875af115801561116f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111939190612610565b505050565b609e54600090600160a01b900460ff166111c45760405162461bcd60e51b81526004016107689061257f565b6111cd82610dd0565b6112195760405162461bcd60e51b815260206004820181905260248201527f75736572206e6f7420656c6c6967626c6520666f7220626f756e7479207965746044820152606401610768565b611224826001611993565b92915050565b609d546001600160a01b031633148061124d57506066546001600160a01b031633145b6112695760405162461bcd60e51b81526004016107689061247a565b6000938452609c6020526040909320918255600282019290925560010155565b600054610100900460ff16158080156112a95750600054600160ff909116105b806112ca57506112b830611e3c565b1580156112ca575060005460ff166001145b61132d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610768565b6000805460ff191660011790558015611350576000805461ff0019166101001790555b61135b848484611e4b565b80156113a1576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac190610892906004016126a0565b6001600160a01b0381166000908152609b6020908152604080832060040180548251818502810185019093528083526060949383018282801561144257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611424575b5050505050905060008060005b83518110156114bc57609b600085838151811061146e5761146e61253a565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff166114aa57816114a681612566565b9250505b806114b481612566565b91505061144f565b506000816001600160401b038111156114d7576114d7612231565b604051908082528060200260200182016040528015611500578160200160208202803683370190505b50905060005b84518110156115b757609b60008683815181106115255761152561253a565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff166115a5578481815181106115655761156561253a565b602002602001015182858151811061157f5761157f61253a565b6001600160a01b0390921660209283029190910190910152836115a181612566565b9450505b806115af81612566565b915050611506565b5095945050505050565b6001600160a01b0381166000908152609b602090815260409182902060030180548351818402810184019094528084526060939283018282801561162e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611610575b50505050509050919050565b609d546001600160a01b031633148061165d57506066546001600160a01b031633145b6116795760405162461bcd60e51b81526004016107689061247a565b609e54600160a01b900460ff166116a25760405162461bcd60e51b81526004016107689061257f565b609e546040516370a0823160e01b81526000916001600160a01b0316906370a08231906116d39030906004016121c0565b602060405180830381865afa1580156116f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171491906126c4565b609e5460665460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb9261174c9216908590600401612687565b6020604051808303816000875af115801561176b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178f9190612610565b5060405133904780156108fc02916000818181858888f193505050501580156117bc573d6000803e3d6000fd5b5050609e805460ff60a01b19169055565b60008051602061271a833981519152546001600160a01b031690565b609d546001600160a01b031633148061180c57506066546001600160a01b031633145b6108495760405162461bcd60e51b81526004016107689061247a565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561185b5761119383611f70565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156118b5575060408051601f3d908101601f191682019092526118b2918101906126c4565b60015b6119185760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610768565b60008051602061271a83398151915281146119875760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610768565b5061119383838361200a565b6001600160a01b038281166000908152609b60209081526040808320805460099091015494168084528184206005908101548552609c8452828520835160808101855281548152600182015495810195909552600281015485850152835160a081019485905295969295929487949093919260608501929160038501919082845b815481526020019060010190808311611a145750505050508152505090506000808260400151118015611a6157506001600160a01b0384166000908152609b602052604090206006015483115b8015611aa457506001600160a01b0384166000908152609b60205260409020600601546201518090611a9390856125db565b611a9d91906125ee565b8260400151105b6001600160a01b038089166000908152609b6020526040808220600201805460ff191660019081179091559288168252812060070180549394509192611aeb9084906125c8565b90915550506020808301516001600160a01b0386166000908152609b90925260408220600801805491929091611b229084906125c8565b9091555050609f805460019190600090611b3d9084906125c8565b9091555050602082015160a08054600090611b599084906125c8565b9091555050815160009015801590611b8d575082516001600160a01b0386166000908152609b602052604090206007015410155b8015611b97575081155b15611bf0576001600160a01b0385166000908152609b60205260408120600501805460019290611bc89084906125c8565b9091555050506001600160a01b0384166000908152609b602052604090204260069091015560015b8615611c7157609e54602084015160405163a9059cbb60e01b81526001600160a01b039092169163a9059cbb91611c2c91899190600401612687565b6020604051808303816000875af1158015611c4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c6f9190612610565b505b609e5460208401516001600160a01b039091169063a9059cbb908a90611c99906002906125ee565b6040518363ffffffff1660e01b8152600401611cb6929190612687565b6020604051808303816000875af1158015611cd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf99190612610565b506020838101516001600160a01b038781166000818152609b855260409081902060050154815194855294840194909452841515838501529251908b1692917f6081787cd1bd02ab1576c52f03e8710d792d460e7881c3155d77d23893f3768b919081900360600190a350506020015195945050505050565b6000806000611d7f61084c565b6001600160a01b031684604051602401611d9991906121c0565b60408051601f198184030181529181526020820180516001600160e01b031663a061922d60e01b17905251611dce91906126dd565b600060405180830381855afa9150503d8060008114611e09576040519150601f19603f3d011682016040523d82523d6000602084013e611e0e565b606091505b509092509050811515600003611e2857465b949350505050565b80806020019051810190611e2091906126c4565b6001600160a01b03163b151590565b611e548361202f565b609d80546001600160a01b038084166001600160a01b031990921691909117909155609e805460ff60a01b1916600160a01b17905560008052609c6020527f21d5695aeb71770b4b420e85352fe1a012fa06ae92de02f7ee513765e0afa02483905560675460405163bf40fac160e01b81527f21d5695aeb71770b4b420e85352fe1a012fa06ae92de02f7ee513765e0afa02392919091169063bf40fac190611eff906004016126a0565b602060405180830381865afa158015611f1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f40919061245d565b609e80546001600160a01b0319166001600160a01b0392909216919091179055505060a7805460ff191690555050565b611f7981611e3c565b611fdb5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610768565b60008051602061271a83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61201383612052565b6000825111806120205750805b15611193576113a18383612092565b606780546001600160a01b0319166001600160a01b038316179055610849610602565b61205b81611f70565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061209d83611e3c565b6120f85760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610768565b600080846001600160a01b03168460405161211391906126dd565b600060405180830381855af49150503d806000811461214e576040519150601f19603f3d011682016040523d82523d6000602084013e612153565b606091505b5091509150610fb8828260405180606001604052806027815260200161273a602791396060831561218557508161218f565b61218f8383612196565b9392505050565b8151156121a65781518083602001fd5b8060405162461bcd60e51b8152600401610768919061232e565b6001600160a01b0391909116815260200190565b801515811461084957600080fd5b6000602082840312156121f457600080fd5b813561218f816121d4565b6001600160a01b038116811461084957600080fd5b60006020828403121561222657600080fd5b813561218f816121ff565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561225a57600080fd5b8235612265816121ff565b915060208301356001600160401b038082111561228157600080fd5b818501915085601f83011261229557600080fd5b8135818111156122a7576122a7612231565b604051601f8201601f19908116603f011681019083821181831017156122cf576122cf612231565b816040528281528860208487010111156122e857600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b8381101561232557818101518382015260200161230d565b50506000910152565b602081526000825180602084015261234d81604085016020870161230a565b601f01601f19169190910160400192915050565b6000806040838503121561237457600080fd5b50508035926020909101359150565b60006020828403121561239557600080fd5b5035919050565b600080600080608085870312156123b257600080fd5b5050823594602084013594506040840135936060013592509050565b6000806000606084860312156123e357600080fd5b83356123ee816121ff565b9250602084013591506040840135612405816121ff565b809150509250925092565b6020808252825182820181905260009190848201906040850190845b818110156124515783516001600160a01b03168352928401929184019160010161242c565b50909695505050505050565b60006020828403121561246f57600080fd5b815161218f816121ff565b6020808252602c908201527f4f6e6c79206f776e6572206f72206176617461722063616e20706572666f726d60408201526b103a3434b99030b1ba34b7b760a11b606082015260800190565b6020808252602c908201526000805160206126fa83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206126fa83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161257857612578612550565b5060010190565b6020808252600a90820152696e6f742061637469766560b01b604082015260600190565b6020808252600b908201526a73656c6620696e7669746560a81b604082015260600190565b8082018082111561122457611224612550565b8181038181111561122457611224612550565b60008261260b57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561262257600080fd5b815161218f816121d4565b818103600083128015838313168383128216171561264d5761264d612550565b5092915050565b634e487b7160e01b600052603160045260246000fd5b6000600160ff1b820161267f5761267f612550565b506000190190565b6001600160a01b03929092168252602082015260400190565b6020808252600a908201526923a7a7a22227a62620a960b11b604082015260600190565b6000602082840312156126d657600080fd5b5051919050565b600082516126ef81846020870161230a565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205b08db354993b69044722e4c8c7c0a5c06013518f9c7322421ce242b708730c864736f6c63430008100033";
637
+ "0x60a06040523060805234801561001457600080fd5b5060805161279661004c6000396000818161078e015281816107ce015281816109af015281816109ef0152610a6b01526127966000f3fe60806040526004361061015d5760003560e01c806302fb0c5e14610162578063119e5bf3146101985780631b3c90a8146101c557806321132aad146101dc5780633659cfe6146101fc57806336afc6fa1461021c5780633e6326fc1461023157806341155d5e146102515780634162169f1461027f5780634f1ef2861461029f57806352d1902d146102b257806354fd4d50146102c75780635aef7de6146102f95780635b419a65146103195780636d619ef8146103395780638da5cb5b14610359578063a1df6fd314610379578063a87430ba14610393578063acec338a1461044a578063af6346b01461046a578063b2596a671461047f578063b6567cd5146104d6578063b9fb2d18146104f6578063ba6f568014610516578063c350a1b51461054c578063d80528ae1461056c578063e1758bd81461058b578063e951a3aa146105a0578063e9881a5e146105cd578063efbe1c1c146105ed575b600080fd5b34801561016e57600080fd5b50609e5461018390600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b3480156101a457600080fd5b50609e546101b8906001600160a01b031681565b60405161018f91906121c0565b3480156101d157600080fd5b506101da610602565b005b3480156101e857600080fd5b506101da6101f73660046121e2565b610729565b34801561020857600080fd5b506101da610217366004612214565b610784565b34801561022857600080fd5b506101b861084c565b34801561023d57600080fd5b506067546101b8906001600160a01b031681565b34801561025d57600080fd5b5061027161026c366004612214565b6108d8565b60405190815260200161018f565b34801561028b57600080fd5b506065546101b8906001600160a01b031681565b6101da6102ad366004612247565b6109a5565b3480156102be57600080fd5b50610271610a5e565b3480156102d357600080fd5b506040805180820182526003815262322e3160e81b6020820152905161018f919061232e565b34801561030557600080fd5b506066546101b8906001600160a01b031681565b34801561032557600080fd5b506101da610334366004612361565b610b0c565b34801561034557600080fd5b50610183610354366004612214565b610dd0565b34801561036557600080fd5b50609d546101b8906001600160a01b031681565b34801561038557600080fd5b5060a7546101839060ff1681565b34801561039f57600080fd5b506103ff6103ae366004612214565b609b60205260009081526040902080546001820154600283015460058401546006850154600786015460088701546009909701546001600160a01b0390961696949560ff9094169492939192909188565b604080516001600160a01b0390991689526020890197909752941515958701959095526060860192909252608085015260a084015260c083019190915260e08201526101000161018f565b34801561045657600080fd5b506101da6104653660046121e2565b610fc1565b34801561047657600080fd5b506101da61101e565b34801561048b57600080fd5b506104bb61049a366004612383565b609c6020526000908152604090208054600182015460029092015490919083565b6040805193845260208401929092529082015260600161018f565b3480156104e257600080fd5b506102716104f1366004612214565b611198565b34801561050257600080fd5b506101da61051136600461239c565b61122a565b34801561052257600080fd5b506101b8610531366004612383565b609a602052600090815260409020546001600160a01b031681565b34801561055857600080fd5b506101da6105673660046123ce565b611289565b34801561057857600080fd5b50609f5460a05460a1546104bb92919083565b34801561059757600080fd5b506101b86113a7565b3480156105ac57600080fd5b506105c06105bb366004612214565b6113d6565b60405161018f9190612410565b3480156105d957600080fd5b506105c06105e8366004612214565b6115c1565b3480156105f957600080fd5b506101da61163a565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac190606401602060405180830381865afa158015610665573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610689919061245d565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de6916004808201926020929091908290030181865afa1580156106e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610707919061245d565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b609d546001600160a01b031633148061074c57506066546001600160a01b031633145b6107715760405162461bcd60e51b81526004016107689061247a565b60405180910390fd5b60a7805460ff1916911515919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107cc5760405162461bcd60e51b8152600401610768906124c6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107fe6117cd565b6001600160a01b0316146108245760405162461bcd60e51b815260040161076890612500565b61082d816117e9565b6040805160008082526020820190925261084991839190611828565b50565b60675460405163bf40fac160e01b81526020600482015260086024820152674944454e5449545960c01b60448201526000916001600160a01b03169063bf40fac1906064015b602060405180830381865afa1580156108af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d3919061245d565b905090565b6001600160a01b0381166000908152609b602090815260408083206004018054825181850281018501909352808352849383018282801561094257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610924575b505050505090506000805b825181101561099d5761097883828151811061096b5761096b61253a565b6020026020010151610dd0565b1561098b578161098781612566565b9250505b8061099581612566565b91505061094d565b509392505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109ed5760405162461bcd60e51b8152600401610768906124c6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610a1f6117cd565b6001600160a01b031614610a455760405162461bcd60e51b815260040161076890612500565b610a4e826117e9565b610a5a82826001611828565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610af95760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610768565b5060008051602061271a83398151915290565b609e54600160a01b900460ff16610b355760405162461bcd60e51b81526004016107689061257f565b6000828152609a60205260409020546001600160a01b03161580610b6f57506000828152609a60205260409020546001600160a01b031633145b80610b8257506001600160a01b03821633145b610bcb5760405162461bcd60e51b815260206004820152601a602482015279696e7669746520636f646520616c726561647920696e2075736560301b6044820152606401610768565b808203610bea5760405162461bcd60e51b8152600401610768906125a3565b336000908152609b60209081526040808320848452609a9092529091205460018201546001600160a01b03909116901580610c40575081546001600160a01b0316158015610c4057506001600160a01b03811615155b610c825760405162461bcd60e51b81526020600482015260136024820152721d5cd95c88185b1c9958591e481a9bda5b9959606a1b6044820152606401610768565b6001820154600003610cc15760018201849055426006830181905560098301556000848152609a6020526040902080546001600160a01b031916331790555b6001600160a01b03811615610d7957336001600160a01b03821603610cf85760405162461bcd60e51b8152600401610768906125a3565b81546001600160a01b0382166001600160a01b0319918216811784556000908152609b6020908152604082206003810180546001818101835591855283852001805486163390811790915560049092018054808301825590855292842090920180549094161790925560a18054909190610d739084906125c8565b90915550505b610d8233610dd0565b15610d9457610d92336001611993565b505b60405133906001600160a01b038316907fd8c638d8979e2ba5dba1f0d66246ee4b1c54b838f0e0a2b601365345eb23b05190600090a350505050565b6001600160a01b038082166000908152609b6020908152604080832054909316808352838320600501548352609c9091529181206002015460a754919291839060ff1615156001148015610e245750600082115b8015610e6f57506001600160a01b038084166000908152609b60205260408082206006015492881682529020600901546201518091610e62916125db565b610e6c91906125ee565b82105b90506001600160a01b03831615801590610ea557506001600160a01b0385166000908152609b602052604090206002015460ff16155b8015610f205750610eb461084c565b6001600160a01b0316633af32abf866040518263ffffffff1660e01b8152600401610edf91906121c0565b602060405180830381865afa158015610efc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f209190612610565b8015610f9b5750610f2f61084c565b6001600160a01b0316633af32abf846040518263ffffffff1660e01b8152600401610f5a91906121c0565b602060405180830381865afa158015610f77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9b9190612610565b8015610fae575046610fac86611d72565b145b8015610fb8575080155b95945050505050565b609d546001600160a01b0316331480610fe457506066546001600160a01b031633145b6110005760405162461bcd60e51b81526004016107689061247a565b609e8054911515600160a01b0260ff60a01b19909216919091179055565b609e54600160a01b900460ff166110475760405162461bcd60e51b81526004016107689061257f565b336000908152609b602052604081206004018054909190819061106c9060019061262d565b90505b60008112611117576202d2a85a106111175760008382815481106110955761109561253a565b6000918252602090912001546001600160a01b031690506110b581610dd0565b15611104576110c5816000611993565b6110cf90846125c8565b9250838054806110e1576110e1612654565b600082815260209020810160001990810180546001600160a01b03191690550190555b508061110f8161266a565b91505061106f565b508015610a5a57609e5460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906111509033908590600401612687565b6020604051808303816000875af115801561116f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111939190612610565b505050565b609e54600090600160a01b900460ff166111c45760405162461bcd60e51b81526004016107689061257f565b6111cd82610dd0565b6112195760405162461bcd60e51b815260206004820181905260248201527f75736572206e6f7420656c6c6967626c6520666f7220626f756e7479207965746044820152606401610768565b611224826001611993565b92915050565b609d546001600160a01b031633148061124d57506066546001600160a01b031633145b6112695760405162461bcd60e51b81526004016107689061247a565b6000938452609c6020526040909320918255600282019290925560010155565b600054610100900460ff16158080156112a95750600054600160ff909116105b806112ca57506112b830611e3c565b1580156112ca575060005460ff166001145b61132d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610768565b6000805460ff191660011790558015611350576000805461ff0019166101001790555b61135b848484611e4b565b80156113a1576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b60675460405163bf40fac160e01b81526000916001600160a01b03169063bf40fac190610892906004016126a0565b6001600160a01b0381166000908152609b6020908152604080832060040180548251818502810185019093528083526060949383018282801561144257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611424575b5050505050905060008060005b83518110156114bc57609b600085838151811061146e5761146e61253a565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff166114aa57816114a681612566565b9250505b806114b481612566565b91505061144f565b506000816001600160401b038111156114d7576114d7612231565b604051908082528060200260200182016040528015611500578160200160208202803683370190505b50905060005b84518110156115b757609b60008683815181106115255761152561253a565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff166115a5578481815181106115655761156561253a565b602002602001015182858151811061157f5761157f61253a565b6001600160a01b0390921660209283029190910190910152836115a181612566565b9450505b806115af81612566565b915050611506565b5095945050505050565b6001600160a01b0381166000908152609b602090815260409182902060030180548351818402810184019094528084526060939283018282801561162e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611610575b50505050509050919050565b609d546001600160a01b031633148061165d57506066546001600160a01b031633145b6116795760405162461bcd60e51b81526004016107689061247a565b609e54600160a01b900460ff166116a25760405162461bcd60e51b81526004016107689061257f565b609e546040516370a0823160e01b81526000916001600160a01b0316906370a08231906116d39030906004016121c0565b602060405180830381865afa1580156116f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171491906126c4565b609e5460665460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb9261174c9216908590600401612687565b6020604051808303816000875af115801561176b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178f9190612610565b5060405133904780156108fc02916000818181858888f193505050501580156117bc573d6000803e3d6000fd5b5050609e805460ff60a01b19169055565b60008051602061271a833981519152546001600160a01b031690565b609d546001600160a01b031633148061180c57506066546001600160a01b031633145b6108495760405162461bcd60e51b81526004016107689061247a565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561185b5761119383611f70565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156118b5575060408051601f3d908101601f191682019092526118b2918101906126c4565b60015b6119185760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610768565b60008051602061271a83398151915281146119875760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610768565b5061119383838361200a565b6001600160a01b038281166000908152609b60209081526040808320805460099091015494168084528184206005908101548552609c8452828520835160808101855281548152600182015495810195909552600281015485850152835160a081019485905295969295929487949093919260608501929160038501919082845b815481526020019060010190808311611a145750505050508152505090506000808260400151118015611a6157506001600160a01b0384166000908152609b602052604090206006015483115b8015611aa457506001600160a01b0384166000908152609b60205260409020600601546201518090611a9390856125db565b611a9d91906125ee565b8260400151105b6001600160a01b038089166000908152609b6020526040808220600201805460ff191660019081179091559288168252812060070180549394509192611aeb9084906125c8565b90915550506020808301516001600160a01b0386166000908152609b90925260408220600801805491929091611b229084906125c8565b9091555050609f805460019190600090611b3d9084906125c8565b9091555050602082015160a08054600090611b599084906125c8565b9091555050815160009015801590611b8d575082516001600160a01b0386166000908152609b602052604090206007015410155b8015611b97575081155b15611bf0576001600160a01b0385166000908152609b60205260408120600501805460019290611bc89084906125c8565b9091555050506001600160a01b0384166000908152609b602052604090204260069091015560015b8615611c7157609e54602084015160405163a9059cbb60e01b81526001600160a01b039092169163a9059cbb91611c2c91899190600401612687565b6020604051808303816000875af1158015611c4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c6f9190612610565b505b609e5460208401516001600160a01b039091169063a9059cbb908a90611c99906002906125ee565b6040518363ffffffff1660e01b8152600401611cb6929190612687565b6020604051808303816000875af1158015611cd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf99190612610565b506020838101516001600160a01b038781166000818152609b855260409081902060050154815194855294840194909452841515838501529251908b1692917f6081787cd1bd02ab1576c52f03e8710d792d460e7881c3155d77d23893f3768b919081900360600190a350506020015195945050505050565b6000806000611d7f61084c565b6001600160a01b031684604051602401611d9991906121c0565b60408051601f198184030181529181526020820180516001600160e01b031663a061922d60e01b17905251611dce91906126dd565b600060405180830381855afa9150503d8060008114611e09576040519150601f19603f3d011682016040523d82523d6000602084013e611e0e565b606091505b509092509050811515600003611e2857465b949350505050565b80806020019051810190611e2091906126c4565b6001600160a01b03163b151590565b611e548361202f565b609d80546001600160a01b038084166001600160a01b031990921691909117909155609e805460ff60a01b1916600160a01b17905560008052609c6020527f21d5695aeb71770b4b420e85352fe1a012fa06ae92de02f7ee513765e0afa02483905560675460405163bf40fac160e01b81527f21d5695aeb71770b4b420e85352fe1a012fa06ae92de02f7ee513765e0afa02392919091169063bf40fac190611eff906004016126a0565b602060405180830381865afa158015611f1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f40919061245d565b609e80546001600160a01b0319166001600160a01b0392909216919091179055505060a7805460ff191690555050565b611f7981611e3c565b611fdb5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610768565b60008051602061271a83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61201383612052565b6000825111806120205750805b15611193576113a18383612092565b606780546001600160a01b0319166001600160a01b038316179055610849610602565b61205b81611f70565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061209d83611e3c565b6120f85760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610768565b600080846001600160a01b03168460405161211391906126dd565b600060405180830381855af49150503d806000811461214e576040519150601f19603f3d011682016040523d82523d6000602084013e612153565b606091505b5091509150610fb8828260405180606001604052806027815260200161273a602791396060831561218557508161218f565b61218f8383612196565b9392505050565b8151156121a65781518083602001fd5b8060405162461bcd60e51b8152600401610768919061232e565b6001600160a01b0391909116815260200190565b801515811461084957600080fd5b6000602082840312156121f457600080fd5b813561218f816121d4565b6001600160a01b038116811461084957600080fd5b60006020828403121561222657600080fd5b813561218f816121ff565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561225a57600080fd5b8235612265816121ff565b915060208301356001600160401b038082111561228157600080fd5b818501915085601f83011261229557600080fd5b8135818111156122a7576122a7612231565b604051601f8201601f19908116603f011681019083821181831017156122cf576122cf612231565b816040528281528860208487010111156122e857600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b8381101561232557818101518382015260200161230d565b50506000910152565b602081526000825180602084015261234d81604085016020870161230a565b601f01601f19169190910160400192915050565b6000806040838503121561237457600080fd5b50508035926020909101359150565b60006020828403121561239557600080fd5b5035919050565b600080600080608085870312156123b257600080fd5b5050823594602084013594506040840135936060013592509050565b6000806000606084860312156123e357600080fd5b83356123ee816121ff565b9250602084013591506040840135612405816121ff565b809150509250925092565b6020808252825182820181905260009190848201906040850190845b818110156124515783516001600160a01b03168352928401929184019160010161242c565b50909695505050505050565b60006020828403121561246f57600080fd5b815161218f816121ff565b6020808252602c908201527f4f6e6c79206f776e6572206f72206176617461722063616e20706572666f726d60408201526b103a3434b99030b1ba34b7b760a11b606082015260800190565b6020808252602c908201526000805160206126fa83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206126fa83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161257857612578612550565b5060010190565b6020808252600a90820152696e6f742061637469766560b01b604082015260600190565b6020808252600b908201526a73656c6620696e7669746560a81b604082015260600190565b8082018082111561122457611224612550565b8181038181111561122457611224612550565b60008261260b57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561262257600080fd5b815161218f816121d4565b818103600083128015838313168383128216171561264d5761264d612550565b5092915050565b634e487b7160e01b600052603160045260246000fd5b6000600160ff1b820161267f5761267f612550565b506000190190565b6001600160a01b03929092168252602082015260400190565b6020808252600a908201526923a7a7a22227a62620a960b11b604082015260600190565b6000602082840312156126d657600080fd5b5051919050565b600082516126ef81846020870161230a565b919091019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e8d470e7643ec4d2ed9ca23397799da69987eeb16d285d2eb1badd9a8568225464736f6c63430008100033";
638
638
 
639
639
  type InvitesV2ConstructorParams =
640
640
  | [signer?: Signer]
@@ -81,7 +81,7 @@ const _abi = [
81
81
  ];
82
82
 
83
83
  const _bytecode =
84
- "0x608060405234801561001057600080fd5b506103d1806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063119e5bf3146100515780634181d43e14610089578063a4c0ed36146100a4578063c4b1b1a6146100c7575b600080fd5b61006c7367c5870b4a41d4ebef24d2456547a03f1f3e094b81565b6040516001600160a01b0390911681526020015b60405180910390f35b61006c73765277eebeca2e31912c9946eae1021199b39c6181565b6100b76100b23660046102be565b6100e2565b6040519015158152602001610080565b61006c73d17652350cfd2a37ba2f947c910987a3b1a1c60d81565b6000337367c5870b4a41d4ebef24d2456547a03f1f3e094b1461010457600080fd5b60008061011384860186610346565b915091508060000361015a5760405162461bcd60e51b815260206004820152600c60248201526b1e995c9bc818da185a5b925960a21b604482015260640160405180910390fd5b6001600160a01b03821661016e5786610170565b815b60405163095ea7b360e01b815273765277eebeca2e31912c9946eae1021199b39c616004820152602481018890529092507367c5870b4a41d4ebef24d2456547a03f1f3e094b9063095ea7b3906044016020604051808303816000875af11580156101df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102039190610372565b506040516376defaf160e11b815273d17652350cfd2a37ba2f947c910987a3b1a1c60d60048201526001600160a01b0383166024820152604481018790526064810182905273765277eebeca2e31912c9946eae1021199b39c619063edbdf5e290608401600060405180830381600087803b15801561028157600080fd5b505af1158015610295573d6000803e3d6000fd5b5060019a9950505050505050505050565b6001600160a01b03811681146102bb57600080fd5b50565b600080600080606085870312156102d457600080fd5b84356102df816102a6565b93506020850135925060408501356001600160401b038082111561030257600080fd5b818701915087601f83011261031657600080fd5b81358181111561032557600080fd5b88602082850101111561033757600080fd5b95989497505060200194505050565b6000806040838503121561035957600080fd5b8235610364816102a6565b946020939093013593505050565b60006020828403121561038457600080fd5b8151801515811461039457600080fd5b939250505056fea264697066735822122068e06804d45ccdfebd7684a69ee4a74f376094d9dc2d5742934d6d37aa37c89264736f6c63430008100033";
84
+ "0x608060405234801561001057600080fd5b506103d1806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063119e5bf3146100515780634181d43e14610089578063a4c0ed36146100a4578063c4b1b1a6146100c7575b600080fd5b61006c7367c5870b4a41d4ebef24d2456547a03f1f3e094b81565b6040516001600160a01b0390911681526020015b60405180910390f35b61006c73765277eebeca2e31912c9946eae1021199b39c6181565b6100b76100b23660046102be565b6100e2565b6040519015158152602001610080565b61006c73d17652350cfd2a37ba2f947c910987a3b1a1c60d81565b6000337367c5870b4a41d4ebef24d2456547a03f1f3e094b1461010457600080fd5b60008061011384860186610346565b915091508060000361015a5760405162461bcd60e51b815260206004820152600c60248201526b1e995c9bc818da185a5b925960a21b604482015260640160405180910390fd5b6001600160a01b03821661016e5786610170565b815b60405163095ea7b360e01b815273765277eebeca2e31912c9946eae1021199b39c616004820152602481018890529092507367c5870b4a41d4ebef24d2456547a03f1f3e094b9063095ea7b3906044016020604051808303816000875af11580156101df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102039190610372565b506040516376defaf160e11b815273d17652350cfd2a37ba2f947c910987a3b1a1c60d60048201526001600160a01b0383166024820152604481018790526064810182905273765277eebeca2e31912c9946eae1021199b39c619063edbdf5e290608401600060405180830381600087803b15801561028157600080fd5b505af1158015610295573d6000803e3d6000fd5b5060019a9950505050505050505050565b6001600160a01b03811681146102bb57600080fd5b50565b600080600080606085870312156102d457600080fd5b84356102df816102a6565b93506020850135925060408501356001600160401b038082111561030257600080fd5b818701915087601f83011261031657600080fd5b81358181111561032557600080fd5b88602082850101111561033757600080fd5b95989497505060200194505050565b6000806040838503121561035957600080fd5b8235610364816102a6565b946020939093013593505050565b60006020828403121561038457600080fd5b8151801515811461039457600080fd5b939250505056fea264697066735822122037bbe17447f865c8186303478b6de95c58ad0245b8ba457ab6e9e74f3d08afd664736f6c63430008100033";
85
85
 
86
86
  type MultichainBridgeHelperConstructorParams =
87
87
  | [signer?: Signer]
@@ -83,7 +83,7 @@ const _abi = [
83
83
  ];
84
84
 
85
85
  const _bytecode =
86
- "0x608060405234801561001057600080fd5b5060405161026338038061026383398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b6101d0806100936000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063241dc2df14610030575b600080fd5b61004361003e36600461012f565b610045565b005b600054604051632770a7eb60e21b8152336004820152602481018490526001600160a01b0390911690639dc29fac906044016020604051808303816000875af1158015610096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ba9190610171565b50604080516001600160a01b03808716825285166020820152908101839052606081018290527f857a3ce86031baf6d4db20edf174ef241ceb4b4e633b4bbc832e8bf26935e9079060800160405180910390a150505050565b80356001600160a01b038116811461012a57600080fd5b919050565b6000806000806080858703121561014557600080fd5b61014e85610113565b935061015c60208601610113565b93969395505050506040820135916060013590565b60006020828403121561018357600080fd5b8151801515811461019357600080fd5b939250505056fea264697066735822122034a263c5294faf6338ff9868b9bb95032f1ddbfb29f68cbc495a298dcac3c74464736f6c63430008100033";
86
+ "0x608060405234801561001057600080fd5b5060405161026338038061026383398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b6101d0806100936000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063241dc2df14610030575b600080fd5b61004361003e36600461012f565b610045565b005b600054604051632770a7eb60e21b8152336004820152602481018490526001600160a01b0390911690639dc29fac906044016020604051808303816000875af1158015610096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ba9190610171565b50604080516001600160a01b03808716825285166020820152908101839052606081018290527f857a3ce86031baf6d4db20edf174ef241ceb4b4e633b4bbc832e8bf26935e9079060800160405180910390a150505050565b80356001600160a01b038116811461012a57600080fd5b919050565b6000806000806080858703121561014557600080fd5b61014e85610113565b935061015c60208601610113565b93969395505050506040820135916060013590565b60006020828403121561018357600080fd5b8151801515811461019357600080fd5b939250505056fea2646970667358221220ab5c2ec0639b1e62a86b55eb3364c5867028fa228506f8ad7042cfb32eeac41564736f6c63430008100033";
87
87
 
88
88
  type MultichainRouterMockConstructorParams =
89
89
  | [signer?: Signer]