@flarenetwork/flare-periphery-contract-artifacts 0.0.3 → 0.0.4

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 (210) hide show
  1. package/dist/coston/abis.coston.d.ts.map +1 -1
  2. package/dist/coston/abis.coston.js +14 -4
  3. package/dist/coston/abis.coston.js.map +1 -1
  4. package/dist/coston/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  5. package/dist/coston/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  6. package/dist/coston/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  7. package/dist/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  8. package/dist/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  9. package/dist/coston/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  10. package/dist/coston/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  11. package/dist/coston/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  12. package/dist/coston/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  13. package/dist/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +3 -3
  14. package/dist/coston/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  15. package/dist/coston/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  16. package/dist/coston/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +2 -2
  17. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  18. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  19. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +40 -2
  20. package/dist/coston/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +2 -2
  21. package/dist/coston/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +2 -2
  22. package/dist/coston/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  23. package/dist/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  24. package/dist/coston/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +2 -2
  25. package/dist/coston/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +2 -2
  26. package/dist/coston/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +2 -2
  27. package/dist/coston/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +2 -2
  28. package/dist/coston/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +2 -2
  29. package/dist/coston/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +172 -37
  30. package/dist/coston/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +2 -2
  31. package/dist/coston/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +2 -2
  32. package/dist/coston/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  33. package/dist/coston/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  34. package/dist/coston/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  35. package/dist/coston/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +2 -2
  36. package/dist/coston/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +2 -2
  37. package/dist/coston/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +2 -2
  38. package/dist/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +523 -138
  39. package/dist/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +322 -0
  40. package/dist/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  41. package/dist/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +2 -2
  42. package/dist/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +2 -2
  43. package/dist/coston/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +2 -2
  44. package/dist/coston/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +276 -41
  45. package/dist/coston/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +72 -0
  46. package/dist/coston/deploys/contractAddresses.d.ts +5 -0
  47. package/dist/coston/deploys/contractAddresses.d.ts.map +1 -1
  48. package/dist/coston/deploys/contractAddresses.js +8 -3
  49. package/dist/coston/deploys/contractAddresses.js.map +1 -1
  50. package/dist/coston/deploys/coston.json +28 -3
  51. package/dist/coston2/abis.coston2.d.ts.map +1 -1
  52. package/dist/coston2/abis.coston2.js +2 -0
  53. package/dist/coston2/abis.coston2.js.map +1 -1
  54. package/dist/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  55. package/dist/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  56. package/dist/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  57. package/dist/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  58. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  59. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  60. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +2 -2
  61. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  62. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  63. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +40 -2
  64. package/dist/coston2/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +2 -2
  65. package/dist/coston2/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +2 -2
  66. package/dist/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  67. package/dist/coston2/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  68. package/dist/coston2/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +2 -2
  69. package/dist/coston2/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +2 -2
  70. package/dist/coston2/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +2 -2
  71. package/dist/coston2/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +2 -2
  72. package/dist/coston2/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +2 -2
  73. package/dist/coston2/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +2 -2
  74. package/dist/coston2/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +2 -2
  75. package/dist/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +2 -2
  76. package/dist/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  77. package/dist/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  78. package/dist/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  79. package/dist/coston2/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +2 -2
  80. package/dist/coston2/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +2 -2
  81. package/dist/coston2/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +2 -2
  82. package/dist/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
  83. package/dist/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  84. package/dist/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
  85. package/dist/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  86. package/dist/coston2/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +2 -2
  87. package/dist/coston2/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +2 -2
  88. package/dist/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
  89. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +2 -2
  90. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +2 -2
  91. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +2 -2
  92. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +2 -2
  93. package/dist/coston2/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +2 -2
  94. package/dist/coston2/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +2 -2
  95. package/dist/coston2/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +2 -2
  96. package/dist/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +126 -3
  97. package/dist/coston2/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +72 -0
  98. package/dist/coston2/deploys/contractAddresses.d.ts +1 -0
  99. package/dist/coston2/deploys/contractAddresses.d.ts.map +1 -1
  100. package/dist/coston2/deploys/contractAddresses.js +2 -1
  101. package/dist/coston2/deploys/contractAddresses.js.map +1 -1
  102. package/dist/coston2/deploys/coston2.json +6 -1
  103. package/dist/flare/abis.flare.d.ts.map +1 -1
  104. package/dist/flare/abis.flare.js +2 -0
  105. package/dist/flare/abis.flare.js.map +1 -1
  106. package/dist/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  107. package/dist/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  108. package/dist/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  109. package/dist/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
  110. package/dist/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  111. package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  112. package/dist/flare/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +2 -2
  113. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  114. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  115. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +40 -2
  116. package/dist/flare/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +2 -2
  117. package/dist/flare/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +2 -2
  118. package/dist/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  119. package/dist/flare/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  120. package/dist/flare/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +2 -2
  121. package/dist/flare/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +2 -2
  122. package/dist/flare/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +2 -2
  123. package/dist/flare/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +2 -2
  124. package/dist/flare/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +2 -2
  125. package/dist/flare/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +2 -2
  126. package/dist/flare/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +2 -2
  127. package/dist/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +2 -2
  128. package/dist/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  129. package/dist/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  130. package/dist/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  131. package/dist/flare/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +2 -2
  132. package/dist/flare/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +2 -2
  133. package/dist/flare/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +2 -2
  134. package/dist/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
  135. package/dist/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  136. package/dist/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
  137. package/dist/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  138. package/dist/flare/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +2 -2
  139. package/dist/flare/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +2 -2
  140. package/dist/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
  141. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +2 -2
  142. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +2 -2
  143. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +2 -2
  144. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +2 -2
  145. package/dist/flare/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +2 -2
  146. package/dist/flare/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +2 -2
  147. package/dist/flare/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +2 -2
  148. package/dist/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +126 -3
  149. package/dist/flare/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +72 -0
  150. package/dist/flare/deploys/contractAddresses.d.ts +2 -0
  151. package/dist/flare/deploys/contractAddresses.d.ts.map +1 -1
  152. package/dist/flare/deploys/contractAddresses.js +3 -1
  153. package/dist/flare/deploys/contractAddresses.js.map +1 -1
  154. package/dist/flare/deploys/flare.json +11 -1
  155. package/dist/package.json +1 -1
  156. package/dist/songbird/abis.songbird.d.ts.map +1 -1
  157. package/dist/songbird/abis.songbird.js +14 -4
  158. package/dist/songbird/abis.songbird.js.map +1 -1
  159. package/dist/songbird/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  160. package/dist/songbird/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  161. package/dist/songbird/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  162. package/dist/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  163. package/dist/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  164. package/dist/songbird/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  165. package/dist/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  166. package/dist/songbird/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  167. package/dist/songbird/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  168. package/dist/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +3 -3
  169. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  170. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  171. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +2 -2
  172. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  173. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  174. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +40 -2
  175. package/dist/songbird/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +2 -2
  176. package/dist/songbird/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +2 -2
  177. package/dist/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  178. package/dist/songbird/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  179. package/dist/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +2 -2
  180. package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +2 -2
  181. package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +2 -2
  182. package/dist/songbird/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +2 -2
  183. package/dist/songbird/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +2 -2
  184. package/dist/songbird/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +172 -37
  185. package/dist/songbird/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +2 -2
  186. package/dist/songbird/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +2 -2
  187. package/dist/songbird/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  188. package/dist/songbird/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  189. package/dist/songbird/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  190. package/dist/songbird/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +2 -2
  191. package/dist/songbird/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +2 -2
  192. package/dist/songbird/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +2 -2
  193. package/dist/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +523 -138
  194. package/dist/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +322 -0
  195. package/dist/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  196. package/dist/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +2 -2
  197. package/dist/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +2 -2
  198. package/dist/songbird/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +2 -2
  199. package/dist/songbird/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +276 -41
  200. package/dist/songbird/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +72 -0
  201. package/dist/songbird/deploys/contractAddresses.d.ts +5 -0
  202. package/dist/songbird/deploys/contractAddresses.d.ts.map +1 -1
  203. package/dist/songbird/deploys/contractAddresses.js +8 -3
  204. package/dist/songbird/deploys/contractAddresses.js.map +1 -1
  205. package/dist/songbird/deploys/songbird.json +28 -3
  206. package/package.json +1 -1
  207. package/dist/coston/artifacts/contracts/tokenPools/implementation/Distribution.sol/Distribution.json +0 -414
  208. package/dist/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManagerV2.sol/IIFtsoRewardManagerV2.json +0 -949
  209. package/dist/songbird/artifacts/contracts/tokenPools/implementation/Distribution.sol/Distribution.json +0 -414
  210. package/dist/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManagerV2.sol/IIFtsoRewardManagerV2.json +0 -949
@@ -41,6 +41,32 @@
41
41
  "name": "FeePercentageChanged",
42
42
  "type": "event"
43
43
  },
44
+ {
45
+ "anonymous": false,
46
+ "inputs": [
47
+ {
48
+ "indexed": false,
49
+ "internalType": "address",
50
+ "name": "ftsoRewardManager",
51
+ "type": "address"
52
+ }
53
+ ],
54
+ "name": "FtsoRewardManagerActivated",
55
+ "type": "event"
56
+ },
57
+ {
58
+ "anonymous": false,
59
+ "inputs": [
60
+ {
61
+ "indexed": false,
62
+ "internalType": "address",
63
+ "name": "ftsoRewardManager",
64
+ "type": "address"
65
+ }
66
+ ],
67
+ "name": "FtsoRewardManagerDeactivated",
68
+ "type": "event"
69
+ },
44
70
  {
45
71
  "anonymous": false,
46
72
  "inputs": [
@@ -91,6 +117,19 @@
91
117
  "name": "RewardClaimed",
92
118
  "type": "event"
93
119
  },
120
+ {
121
+ "anonymous": false,
122
+ "inputs": [
123
+ {
124
+ "indexed": false,
125
+ "internalType": "uint256",
126
+ "name": "rewardEpochId",
127
+ "type": "uint256"
128
+ }
129
+ ],
130
+ "name": "RewardClaimsEnabled",
131
+ "type": "event"
132
+ },
94
133
  {
95
134
  "anonymous": false,
96
135
  "inputs": [
@@ -104,6 +143,19 @@
104
143
  "name": "RewardClaimsExpired",
105
144
  "type": "event"
106
145
  },
146
+ {
147
+ "anonymous": false,
148
+ "inputs": [
149
+ {
150
+ "indexed": false,
151
+ "internalType": "uint256",
152
+ "name": "amountBurnedWei",
153
+ "type": "uint256"
154
+ }
155
+ ],
156
+ "name": "RewardsBurned",
157
+ "type": "event"
158
+ },
107
159
  {
108
160
  "anonymous": false,
109
161
  "inputs": [
@@ -135,6 +187,48 @@
135
187
  "name": "RewardsDistributed",
136
188
  "type": "event"
137
189
  },
190
+ {
191
+ "anonymous": false,
192
+ "inputs": [
193
+ {
194
+ "indexed": false,
195
+ "internalType": "uint256",
196
+ "name": "epochId",
197
+ "type": "uint256"
198
+ },
199
+ {
200
+ "indexed": false,
201
+ "internalType": "uint256",
202
+ "name": "reward",
203
+ "type": "uint256"
204
+ }
205
+ ],
206
+ "name": "UnearnedRewardsAccrued",
207
+ "type": "event"
208
+ },
209
+ {
210
+ "inputs": [
211
+ {
212
+ "internalType": "uint256",
213
+ "name": "epochId",
214
+ "type": "uint256"
215
+ },
216
+ {
217
+ "internalType": "uint256",
218
+ "name": "priceEpochDurationSeconds",
219
+ "type": "uint256"
220
+ },
221
+ {
222
+ "internalType": "uint256",
223
+ "name": "priceEpochEndTime",
224
+ "type": "uint256"
225
+ }
226
+ ],
227
+ "name": "accrueUnearnedRewards",
228
+ "outputs": [],
229
+ "stateMutability": "nonpayable",
230
+ "type": "function"
231
+ },
138
232
  {
139
233
  "inputs": [],
140
234
  "name": "activate",
@@ -155,6 +249,97 @@
155
249
  "stateMutability": "view",
156
250
  "type": "function"
157
251
  },
252
+ {
253
+ "inputs": [
254
+ {
255
+ "internalType": "address[]",
256
+ "name": "_rewardOwners",
257
+ "type": "address[]"
258
+ },
259
+ {
260
+ "internalType": "uint256",
261
+ "name": "_rewardEpoch",
262
+ "type": "uint256"
263
+ }
264
+ ],
265
+ "name": "autoClaim",
266
+ "outputs": [],
267
+ "stateMutability": "nonpayable",
268
+ "type": "function"
269
+ },
270
+ {
271
+ "inputs": [
272
+ {
273
+ "internalType": "address",
274
+ "name": "_rewardOwner",
275
+ "type": "address"
276
+ },
277
+ {
278
+ "internalType": "address payable",
279
+ "name": "_recipient",
280
+ "type": "address"
281
+ },
282
+ {
283
+ "internalType": "uint256",
284
+ "name": "_rewardEpoch",
285
+ "type": "uint256"
286
+ },
287
+ {
288
+ "internalType": "bool",
289
+ "name": "_wrap",
290
+ "type": "bool"
291
+ }
292
+ ],
293
+ "name": "claim",
294
+ "outputs": [
295
+ {
296
+ "internalType": "uint256",
297
+ "name": "_rewardAmount",
298
+ "type": "uint256"
299
+ }
300
+ ],
301
+ "stateMutability": "nonpayable",
302
+ "type": "function"
303
+ },
304
+ {
305
+ "inputs": [
306
+ {
307
+ "internalType": "address",
308
+ "name": "_rewardOwner",
309
+ "type": "address"
310
+ },
311
+ {
312
+ "internalType": "address payable",
313
+ "name": "_recipient",
314
+ "type": "address"
315
+ },
316
+ {
317
+ "internalType": "uint256[]",
318
+ "name": "_rewardEpochs",
319
+ "type": "uint256[]"
320
+ },
321
+ {
322
+ "internalType": "address[]",
323
+ "name": "_dataProviders",
324
+ "type": "address[]"
325
+ },
326
+ {
327
+ "internalType": "bool",
328
+ "name": "_wrap",
329
+ "type": "bool"
330
+ }
331
+ ],
332
+ "name": "claimFromDataProviders",
333
+ "outputs": [
334
+ {
335
+ "internalType": "uint256",
336
+ "name": "_rewardAmount",
337
+ "type": "uint256"
338
+ }
339
+ ],
340
+ "stateMutability": "nonpayable",
341
+ "type": "function"
342
+ },
158
343
  {
159
344
  "inputs": [
160
345
  {
@@ -281,6 +466,26 @@
281
466
  "stateMutability": "nonpayable",
282
467
  "type": "function"
283
468
  },
469
+ {
470
+ "inputs": [],
471
+ "name": "enableClaims",
472
+ "outputs": [],
473
+ "stateMutability": "nonpayable",
474
+ "type": "function"
475
+ },
476
+ {
477
+ "inputs": [],
478
+ "name": "firstClaimableRewardEpoch",
479
+ "outputs": [
480
+ {
481
+ "internalType": "uint256",
482
+ "name": "",
483
+ "type": "uint256"
484
+ }
485
+ ],
486
+ "stateMutability": "view",
487
+ "type": "function"
488
+ },
284
489
  {
285
490
  "inputs": [
286
491
  {
@@ -315,6 +520,19 @@
315
520
  "stateMutability": "view",
316
521
  "type": "function"
317
522
  },
523
+ {
524
+ "inputs": [],
525
+ "name": "getCurrentRewardEpoch",
526
+ "outputs": [
527
+ {
528
+ "internalType": "uint256",
529
+ "name": "",
530
+ "type": "uint256"
531
+ }
532
+ ],
533
+ "stateMutability": "view",
534
+ "type": "function"
535
+ },
318
536
  {
319
537
  "inputs": [
320
538
  {
@@ -334,6 +552,59 @@
334
552
  "stateMutability": "view",
335
553
  "type": "function"
336
554
  },
555
+ {
556
+ "inputs": [
557
+ {
558
+ "internalType": "address",
559
+ "name": "_dataProvider",
560
+ "type": "address"
561
+ },
562
+ {
563
+ "internalType": "uint256",
564
+ "name": "_rewardEpoch",
565
+ "type": "uint256"
566
+ }
567
+ ],
568
+ "name": "getDataProviderFeePercentage",
569
+ "outputs": [
570
+ {
571
+ "internalType": "uint256",
572
+ "name": "_feePercentageBIPS",
573
+ "type": "uint256"
574
+ }
575
+ ],
576
+ "stateMutability": "view",
577
+ "type": "function"
578
+ },
579
+ {
580
+ "inputs": [
581
+ {
582
+ "internalType": "uint256",
583
+ "name": "_rewardEpoch",
584
+ "type": "uint256"
585
+ },
586
+ {
587
+ "internalType": "address",
588
+ "name": "_dataProvider",
589
+ "type": "address"
590
+ }
591
+ ],
592
+ "name": "getDataProviderPerformanceInfo",
593
+ "outputs": [
594
+ {
595
+ "internalType": "uint256",
596
+ "name": "_rewardAmount",
597
+ "type": "uint256"
598
+ },
599
+ {
600
+ "internalType": "uint256",
601
+ "name": "_votePowerIgnoringRevocation",
602
+ "type": "uint256"
603
+ }
604
+ ],
605
+ "stateMutability": "view",
606
+ "type": "function"
607
+ },
337
608
  {
338
609
  "inputs": [
339
610
  {
@@ -437,6 +708,19 @@
437
708
  "stateMutability": "nonpayable",
438
709
  "type": "function"
439
710
  },
711
+ {
712
+ "inputs": [],
713
+ "name": "getInitialRewardEpoch",
714
+ "outputs": [
715
+ {
716
+ "internalType": "uint256",
717
+ "name": "",
718
+ "type": "uint256"
719
+ }
720
+ ],
721
+ "stateMutability": "view",
722
+ "type": "function"
723
+ },
440
724
  {
441
725
  "inputs": [],
442
726
  "name": "getRewardEpochToExpireNext",
@@ -450,6 +734,25 @@
450
734
  "stateMutability": "view",
451
735
  "type": "function"
452
736
  },
737
+ {
738
+ "inputs": [
739
+ {
740
+ "internalType": "uint256",
741
+ "name": "_rewardEpoch",
742
+ "type": "uint256"
743
+ }
744
+ ],
745
+ "name": "getRewardEpochVotePowerBlock",
746
+ "outputs": [
747
+ {
748
+ "internalType": "uint256",
749
+ "name": "",
750
+ "type": "uint256"
751
+ }
752
+ ],
753
+ "stateMutability": "view",
754
+ "type": "function"
755
+ },
453
756
  {
454
757
  "inputs": [
455
758
  {
@@ -580,6 +883,25 @@
580
883
  "stateMutability": "view",
581
884
  "type": "function"
582
885
  },
886
+ {
887
+ "inputs": [
888
+ {
889
+ "internalType": "address",
890
+ "name": "_rewardOwner",
891
+ "type": "address"
892
+ }
893
+ ],
894
+ "name": "nextClaimableRewardEpoch",
895
+ "outputs": [
896
+ {
897
+ "internalType": "uint256",
898
+ "name": "",
899
+ "type": "uint256"
900
+ }
901
+ ],
902
+ "stateMutability": "view",
903
+ "type": "function"
904
+ },
583
905
  {
584
906
  "inputs": [],
585
907
  "name": "receiveInflation",
@@ -433,8 +433,8 @@
433
433
  "type": "function"
434
434
  }
435
435
  ],
436
- "bytecode": "0x60a06040526002805460ff60a01b191690553480156200001e57600080fd5b50604051620025e6380380620025e6833981016040819052620000419162000189565b81806001600160a01b038116156200005e576200005e81620000c6565b506001600160a01b038116620000ae576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b5060601b6001600160601b03191660805250620001e0565b600054600160a01b900460ff161562000126576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b600080604083850312156200019c578182fd5b8251620001a981620001c7565b6020840151909250620001bc81620001c7565b809150509250929050565b6001600160a01b0381168114620001dd57600080fd5b50565b60805160601c6123d46200021260003980610c6d5280610dca5280610f705280611008528061109b52506123d46000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80639d6a890f116100ad578063c28de2cd11610071578063c28de2cd14610236578063d55ec6971461024b578063e17f212e14610253578063e9ce52a31461025b578063f5a983831461026e5761012c565b80639d6a890f146101ed578063a9c0d0a514610200578063aea36b5314610208578063b26226021461021b578063b4dba0f31461022e5761012c565b806362354e03116100f457806362354e031461019457806363516abc1461019c57806367fc4029146101b1578063747502c2146101c457806374e6310e146101cc5761012c565b806318931c3514610131578063375624c51461014f57806346471129146101645780635aa6e6751461016c5780635ff2707914610181575b600080fd5b610139610276565b6040516101469190611fea565b60405180910390f35b61016261015d366004611c07565b6102d8565b005b61013961039e565b6101746103fe565b6040516101469190611fc3565b61016261018f366004611e0e565b6104a0565b6101746107fc565b6101a4610814565b60405161014691906120fd565b6101626101bf366004611e0e565b61086b565b610174610953565b6101df6101da366004611e0e565b610962565b604051610146929190612318565b6101626101fb366004611bc8565b610a08565b610174610ac1565b610162610216366004611bc8565b610ad0565b610162610229366004611e71565b610b2d565b610174610c6b565b61023e610c8f565b6040516101469190612135565b610162610c9f565b61023e61158f565b610162610269366004611cf2565b61159f565b610162611644565b606060068054806020026020016040519081016040528092919081815260200182805480156102ce57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102b0575b5050505050905090565b600054600160b01b900460ff16806102fa5750600054600160a81b900460ff16155b1561038d5761030761170b565b82518451146103315760405162461bcd60e51b815260040161032890612291565b60405180910390fd5b835161034490600390602087019061194e565b5082516103589060049060208601906119b3565b50600580546001600160a01b0319166001600160a01b038416179055805161038790600690602084019061194e565b50610398565b610398600036611742565b50505050565b606060038054806020026020016040519081016040528092919081815260200182805480156102ce576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102b0575050505050905090565b60008054600160a81b900460ff16610421576000546001600160a01b031661049b565b73183faff6997c98a812a3b98748fc80241d08f3126001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b15801561046e57600080fd5b505afa158015610482573d6000803e3d6000fd5b505050506040513d602081101561049857600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905173183faff6997c98a812a3b98748fc80241d08f3129163debfda30916024808301926020929190829003018186803b1580156104f157600080fd5b505afa158015610505573d6000803e3d6000fd5b505050506040513d602081101561051b57600080fd5b505161055e576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b03198116600090815260016020526040902080546105ca576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015610620576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106ba5780601f1061068f576101008083540402835291602001916106ba565b820191906000526020600020905b81548152906001019060200180831161069d57829003601f168201915b5050506001600160e01b03198616600090815260016020819052604082208281559495509092506106ee91508301826119ee565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106107365780518252601f199092019160209182019101610717565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610798576040519150601f19603f3d011682016040523d82523d6000602084013e61079d565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1610398816118d2565b73183faff6997c98a812a3b98748fc80241d08f31281565b606060048054806020026020016040519081016040528092919081815260200182805480156102ce57602002820191906000526020600020905b81548152602001906001019080831161084e575050505050905090565b6108736118ef565b6001600160e01b031981166000908152600160205260409020546108de576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b0319811660009081526001602081905260408220828155919061094e908301826119ee565b505050565b6005546001600160a01b031690565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156109fe5780601f106109d3576101008083540402835291602001916109fe565b820191906000526020600020905b8154815290600101906020018083116109e157829003601f168201915b5050505050905082565b600054600160a01b900460ff1615610a5e576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b6002546001600160a01b031681565b600054600160b01b900460ff1680610af25750600054600160a81b900460ff16155b15610b1f57610aff61170b565b600280546001600160a01b0319166001600160a01b038316179055610b2a565b610b2a600036611742565b50565b600054600160b01b900460ff1680610b4f5750600054600160a81b900460ff16155b15610c5557610b5c61170b565b600254604051630110ceef60e21b81526000916001600160a01b0316906304433bbc90610b8b906004016122c8565b60206040518083038186803b158015610ba357600080fd5b505afa158015610bb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdb9190611beb565b604051631322679360e01b81529091506001600160a01b03821690631322679390610c1d906000908e908e908e908e908e908e908e908e908e906004016121c9565b600060405180830381600087803b158015610c3757600080fd5b505af1158015610c4b573d6000803e3d6000fd5b5050505050610c60565b610c60600036611742565b505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600254600160a01b900460ff1681565b610ca76118ef565b600254600160a01b900460ff1615610cd15760405162461bcd60e51b815260040161032890612226565b600254604051630110ceef60e21b81526000916001600160a01b0316906304433bbc90610d00906004016122c8565b60206040518083038186803b158015610d1857600080fd5b505afa158015610d2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d509190611beb565b90506000816001600160a01b0316631cb513f76040518163ffffffff1660e01b8152600401604080518083038186803b158015610d8c57600080fd5b505afa158015610da0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc49190611e4e565b509050807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a578f55b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e2157600080fd5b505afa158015610e35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e599190611e36565b14610e765760405162461bcd60e51b815260040161032890612250565b600254604051630110ceef60e21b81526000916001600160a01b0316906304433bbc90610ea5906004016122ed565b60206040518083038186803b158015610ebd57600080fd5b505afa158015610ed1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef59190611beb565b90506000816001600160a01b0316633e7ff8576040518163ffffffff1660e01b815260040160206040518083038186803b158015610f3257600080fd5b505afa158015610f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6a9190611e36565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e7c830d46040518163ffffffff1660e01b815260040160206040518083038186803b158015610fc757600080fd5b505afa158015610fdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fff9190611e36565b600101905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166385f3c9c96040518163ffffffff1660e01b815260040160206040518083038186803b15801561105f57600080fd5b505afa158015611073573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110979190611e36565b82027f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a578f55b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110f257600080fd5b505afa158015611106573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112a9190611e36565b604051630e080a9760e41b8152910191506001600160a01b0387169063e080a9709061115e90869086908690600401612331565b600060405180830381600087803b15801561117857600080fd5b505af115801561118c573d6000803e3d6000fd5b50505050856001600160a01b0316630f15f4c06040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156111cb57600080fd5b505af11580156111df573d6000803e3d6000fd5b5050604051633ac7f8ed60e11b81526001600160a01b038916925063758ff1da91506112169060039060019060009060040161204a565b600060405180830381600087803b15801561123057600080fd5b505af1158015611244573d6000803e3d6000fd5b505060408051600180825281830190925260009350915060208083019080368337019050509050868160008151811061127957fe5b6001600160a01b03928316602091820292909201015260025460405162d8714b60e51b8152911690631b0e2960906112b5908490600401611fd7565b600060405180830381600087803b1580156112cf57600080fd5b505af11580156112e3573d6000803e3d6000fd5b5050604051638de306b160e01b81526001600160a01b038a169250638de306b1915061131490600390600401612037565b600060405180830381600087803b15801561132e57600080fd5b505af1158015611342573d6000803e3d6000fd5b505060405163d429cfe560e01b81526001600160a01b038a16925063d429cfe5915061137390600390600401612037565b600060405180830381600087803b15801561138d57600080fd5b505af11580156113a1573d6000803e3d6000fd5b505060405163882376c360e01b81526001600160a01b038a16925063882376c391506113d790600090600390600490810161216c565b600060405180830381600087803b1580156113f157600080fd5b505af1158015611405573d6000803e3d6000fd5b50506005546001600160a01b031615915061148490505760055460405163549d37a160e11b81526001600160a01b038981169263a93a6f42926114519290911690600690600401612140565b600060405180830381600087803b15801561146b57600080fd5b505af115801561147f573d6000803e3d6000fd5b505050505b61149060036000611a32565b61149c60046000611a32565b600580546001600160a01b03191690556114b860066000611a32565b866001600160a01b031663f5a983836040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156114f357600080fd5b505af1158015611507573d6000803e3d6000fd5b50505050600260009054906101000a90046001600160a01b03166001600160a01b031663f5a983836040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561155b57600080fd5b505af115801561156f573d6000803e3d6000fd5b50506002805460ff60a01b1916600160a01b179055505050505050505050565b600054600160a81b900460ff1681565b600054600160b01b900460ff16806115c15750600054600160a81b900460ff16155b15611639576115ce61170b565b600254604051634c99edd360e11b81526001600160a01b0390911690639933dba69061160290869086908690600401612074565b600060405180830381600087803b15801561161c57600080fd5b505af1158015611630573d6000803e3d6000fd5b5050505061094e565b61094e600036611742565b61164c6118ef565b600054600160a81b900460ff16156116ab576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805173183faff6997c98a812a3b98748fc80241d08f312815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b600054600160b01b900460ff16156117385733301461172657fe5b6000805460ff60b01b19169055611740565b6117406118ef565b565b61174a6118ef565b600082359050600073183faff6997c98a812a3b98748fc80241d08f3126001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561179f57600080fd5b505afa1580156117b3573d6000803e3d6000fd5b505050506040513d60208110156117c957600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b0319861681526001602081815260409092208451815584830151805191945061184d93928501920190611a50565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b3d604051818101604052816000823e82156118eb578181f35b8181fd5b6118f76103fe565b6001600160a01b0316336001600160a01b031614611740576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b8280548282559060005260206000209081019282156119a3579160200282015b828111156119a357825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061196e565b506119af929150611acb565b5090565b8280548282559060005260206000209081019282156119a3579160200282015b828111156119a35782518255916020019190600101906119d3565b50805460018160011615610100020316600290046000825580601f10611a145750610b2a565b601f016020900490600052602060002090810190610b2a9190611acb565b5080546000825590600052602060002090810190610b2a9190611acb565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611a8657600085556119a3565b82601f10611a9f57805160ff19168380011785556119a3565b828001600101855582156119a357918201828111156119a35782518255916020019190600101906119d3565b5b808211156119af5760008155600101611acc565b600082601f830112611af0578081fd5b81356020611b05611b008361236b565b612347565b8281528181019085830183850287018401881015611b21578586fd5b855b85811015611b48578135611b3681612389565b84529284019290840190600101611b23565b5090979650505050505050565b600082601f830112611b65578081fd5b81356020611b75611b008361236b565b8281528181019085830183850287018401881015611b91578586fd5b855b85811015611b48578135611ba681612389565b84529284019290840190600101611b93565b8035611bc381612389565b919050565b600060208284031215611bd9578081fd5b8135611be481612389565b9392505050565b600060208284031215611bfc578081fd5b8151611be481612389565b60008060008060808587031215611c1c578283fd5b843567ffffffffffffffff80821115611c33578485fd5b611c3f88838901611b55565b9550602091508187013581811115611c55578586fd5b8701601f81018913611c65578586fd5b8035611c73611b008261236b565b81815284810190838601868402850187018d1015611c8f57898afd5b8994505b83851015611cb1578035835260019490940193918601918601611c93565b509750611cc49250505060408801611bb8565b93506060870135915080821115611cd9578283fd5b50611ce687828801611b55565b91505092959194509250565b600080600060608486031215611d06578081fd5b833567ffffffffffffffff80821115611d1d578283fd5b818601915086601f830112611d30578283fd5b81356020611d40611b008361236b565b82815281810190858301875b85811015611dbe57813588018d603f820112611d6657898afd5b8581013588811115611d7457fe5b611d86601f8201601f19168801612347565b8181528f6040838501011115611d9a578b8cfd5b81604084018983013790810187018b90528552509284019290840190600101611d4c565b50909850505087013592505080821115611dd6578283fd5b611de287838801611ae0565b93506040860135915080821115611df7578283fd5b50611e0486828701611ae0565b9150509250925092565b600060208284031215611e1f578081fd5b81356001600160e01b031981168114611be4578182fd5b600060208284031215611e47578081fd5b5051919050565b60008060408385031215611e60578182fd5b505080516020909101519092909150565b60008060008060008060008060006101208a8c031215611e8f578687fd5b8935985060208a0135975060408a0135965060608a0135955060808a0135945060a08a0135935060c08a0135925060e08a013591506101008a013567ffffffffffffffff811115611ede578182fd5b611eea8c828d01611ae0565b9150509295985092959850929598565b6000815180845260208085019450808401835b83811015611f325781516001600160a01b031687529582019590820190600101611f0d565b509495945050505050565b6000815480845260208085019450838352808320835b83811015611f325781546001600160a01b031687529582019560019182019101611f53565b60008151808452815b81811015611f9d57602081850181015186830182015201611f81565b81811115611fae5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b600060208252611be46020830184611efa565b6020808252825182820181905260009190848201906040850190845b8181101561202b5783516001600160a01b031683529284019291840191600101612006565b50909695505050505050565b600060208252611be46020830184611f3d565b60006060825261205d6060830186611f3d565b931515602083015250901515604090910152919050565b60006060820160608352808651808352608085019150602092506080838202860101838901855b838110156120c957607f198884030185526120b7838351611f78565b9486019492509085019060010161209b565b5050858103848701526120dc8189611efa565b935050505082810360408401526120f38185611efa565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561202b57835183529284019291840191600101612119565b901515815260200190565b6001600160a01b038316815260406020820181905260009061216490830184611f3d565b949350505050565b600084825260206060818401526121866060840186611f3d565b8381036040850152845480825285845282842091830190845b818110156121bb5783548352600193840193928501920161219f565b509098975050505050505050565b60006101408c83528b60208401528a60408401528960608401528860808401528760a08401528660c08401528560e0840152846101008401528061012084015261221581840185611efa565b9d9c50505050505050505050505050565b60208082526010908201526f185b1c9958591e481d5c19dc9859195960821b604082015260600190565b60208082526021908201527f7265776172642065706f636820737461727420646f6573206e6f74206d6174636040820152600d60fb1b606082015260800190565b6020808252601a908201527f6172726179206c656e6774687320646f206e6f74206d61746368000000000000604082015260600190565b6020808252600b908201526a233a39b7a6b0b730b3b2b960a91b604082015260600190565b602080825260119082015270233a39b7a932bbb0b93226b0b730b3b2b960791b604082015260600190565b6000838252604060208301526121646040830184611f78565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561236357fe5b604052919050565b600067ffffffffffffffff82111561237f57fe5b5060209081020190565b6001600160a01b0381168114610b2a57600080fdfea2646970667358221220e86137db21d43760c50415ac08200608594e1d1cc88d7b7e60b0b5734871ee9364736f6c63430007060033",
437
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c80639d6a890f116100ad578063c28de2cd11610071578063c28de2cd14610236578063d55ec6971461024b578063e17f212e14610253578063e9ce52a31461025b578063f5a983831461026e5761012c565b80639d6a890f146101ed578063a9c0d0a514610200578063aea36b5314610208578063b26226021461021b578063b4dba0f31461022e5761012c565b806362354e03116100f457806362354e031461019457806363516abc1461019c57806367fc4029146101b1578063747502c2146101c457806374e6310e146101cc5761012c565b806318931c3514610131578063375624c51461014f57806346471129146101645780635aa6e6751461016c5780635ff2707914610181575b600080fd5b610139610276565b6040516101469190611fea565b60405180910390f35b61016261015d366004611c07565b6102d8565b005b61013961039e565b6101746103fe565b6040516101469190611fc3565b61016261018f366004611e0e565b6104a0565b6101746107fc565b6101a4610814565b60405161014691906120fd565b6101626101bf366004611e0e565b61086b565b610174610953565b6101df6101da366004611e0e565b610962565b604051610146929190612318565b6101626101fb366004611bc8565b610a08565b610174610ac1565b610162610216366004611bc8565b610ad0565b610162610229366004611e71565b610b2d565b610174610c6b565b61023e610c8f565b6040516101469190612135565b610162610c9f565b61023e61158f565b610162610269366004611cf2565b61159f565b610162611644565b606060068054806020026020016040519081016040528092919081815260200182805480156102ce57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102b0575b5050505050905090565b600054600160b01b900460ff16806102fa5750600054600160a81b900460ff16155b1561038d5761030761170b565b82518451146103315760405162461bcd60e51b815260040161032890612291565b60405180910390fd5b835161034490600390602087019061194e565b5082516103589060049060208601906119b3565b50600580546001600160a01b0319166001600160a01b038416179055805161038790600690602084019061194e565b50610398565b610398600036611742565b50505050565b606060038054806020026020016040519081016040528092919081815260200182805480156102ce576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102b0575050505050905090565b60008054600160a81b900460ff16610421576000546001600160a01b031661049b565b73183faff6997c98a812a3b98748fc80241d08f3126001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b15801561046e57600080fd5b505afa158015610482573d6000803e3d6000fd5b505050506040513d602081101561049857600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905173183faff6997c98a812a3b98748fc80241d08f3129163debfda30916024808301926020929190829003018186803b1580156104f157600080fd5b505afa158015610505573d6000803e3d6000fd5b505050506040513d602081101561051b57600080fd5b505161055e576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b03198116600090815260016020526040902080546105ca576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015610620576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106ba5780601f1061068f576101008083540402835291602001916106ba565b820191906000526020600020905b81548152906001019060200180831161069d57829003601f168201915b5050506001600160e01b03198616600090815260016020819052604082208281559495509092506106ee91508301826119ee565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106107365780518252601f199092019160209182019101610717565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610798576040519150601f19603f3d011682016040523d82523d6000602084013e61079d565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1610398816118d2565b73183faff6997c98a812a3b98748fc80241d08f31281565b606060048054806020026020016040519081016040528092919081815260200182805480156102ce57602002820191906000526020600020905b81548152602001906001019080831161084e575050505050905090565b6108736118ef565b6001600160e01b031981166000908152600160205260409020546108de576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b0319811660009081526001602081905260408220828155919061094e908301826119ee565b505050565b6005546001600160a01b031690565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156109fe5780601f106109d3576101008083540402835291602001916109fe565b820191906000526020600020905b8154815290600101906020018083116109e157829003601f168201915b5050505050905082565b600054600160a01b900460ff1615610a5e576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b6002546001600160a01b031681565b600054600160b01b900460ff1680610af25750600054600160a81b900460ff16155b15610b1f57610aff61170b565b600280546001600160a01b0319166001600160a01b038316179055610b2a565b610b2a600036611742565b50565b600054600160b01b900460ff1680610b4f5750600054600160a81b900460ff16155b15610c5557610b5c61170b565b600254604051630110ceef60e21b81526000916001600160a01b0316906304433bbc90610b8b906004016122c8565b60206040518083038186803b158015610ba357600080fd5b505afa158015610bb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdb9190611beb565b604051631322679360e01b81529091506001600160a01b03821690631322679390610c1d906000908e908e908e908e908e908e908e908e908e906004016121c9565b600060405180830381600087803b158015610c3757600080fd5b505af1158015610c4b573d6000803e3d6000fd5b5050505050610c60565b610c60600036611742565b505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600254600160a01b900460ff1681565b610ca76118ef565b600254600160a01b900460ff1615610cd15760405162461bcd60e51b815260040161032890612226565b600254604051630110ceef60e21b81526000916001600160a01b0316906304433bbc90610d00906004016122c8565b60206040518083038186803b158015610d1857600080fd5b505afa158015610d2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d509190611beb565b90506000816001600160a01b0316631cb513f76040518163ffffffff1660e01b8152600401604080518083038186803b158015610d8c57600080fd5b505afa158015610da0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc49190611e4e565b509050807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a578f55b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e2157600080fd5b505afa158015610e35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e599190611e36565b14610e765760405162461bcd60e51b815260040161032890612250565b600254604051630110ceef60e21b81526000916001600160a01b0316906304433bbc90610ea5906004016122ed565b60206040518083038186803b158015610ebd57600080fd5b505afa158015610ed1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef59190611beb565b90506000816001600160a01b0316633e7ff8576040518163ffffffff1660e01b815260040160206040518083038186803b158015610f3257600080fd5b505afa158015610f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6a9190611e36565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e7c830d46040518163ffffffff1660e01b815260040160206040518083038186803b158015610fc757600080fd5b505afa158015610fdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fff9190611e36565b600101905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166385f3c9c96040518163ffffffff1660e01b815260040160206040518083038186803b15801561105f57600080fd5b505afa158015611073573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110979190611e36565b82027f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a578f55b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110f257600080fd5b505afa158015611106573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112a9190611e36565b604051630e080a9760e41b8152910191506001600160a01b0387169063e080a9709061115e90869086908690600401612331565b600060405180830381600087803b15801561117857600080fd5b505af115801561118c573d6000803e3d6000fd5b50505050856001600160a01b0316630f15f4c06040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156111cb57600080fd5b505af11580156111df573d6000803e3d6000fd5b5050604051633ac7f8ed60e11b81526001600160a01b038916925063758ff1da91506112169060039060019060009060040161204a565b600060405180830381600087803b15801561123057600080fd5b505af1158015611244573d6000803e3d6000fd5b505060408051600180825281830190925260009350915060208083019080368337019050509050868160008151811061127957fe5b6001600160a01b03928316602091820292909201015260025460405162d8714b60e51b8152911690631b0e2960906112b5908490600401611fd7565b600060405180830381600087803b1580156112cf57600080fd5b505af11580156112e3573d6000803e3d6000fd5b5050604051638de306b160e01b81526001600160a01b038a169250638de306b1915061131490600390600401612037565b600060405180830381600087803b15801561132e57600080fd5b505af1158015611342573d6000803e3d6000fd5b505060405163d429cfe560e01b81526001600160a01b038a16925063d429cfe5915061137390600390600401612037565b600060405180830381600087803b15801561138d57600080fd5b505af11580156113a1573d6000803e3d6000fd5b505060405163882376c360e01b81526001600160a01b038a16925063882376c391506113d790600090600390600490810161216c565b600060405180830381600087803b1580156113f157600080fd5b505af1158015611405573d6000803e3d6000fd5b50506005546001600160a01b031615915061148490505760055460405163549d37a160e11b81526001600160a01b038981169263a93a6f42926114519290911690600690600401612140565b600060405180830381600087803b15801561146b57600080fd5b505af115801561147f573d6000803e3d6000fd5b505050505b61149060036000611a32565b61149c60046000611a32565b600580546001600160a01b03191690556114b860066000611a32565b866001600160a01b031663f5a983836040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156114f357600080fd5b505af1158015611507573d6000803e3d6000fd5b50505050600260009054906101000a90046001600160a01b03166001600160a01b031663f5a983836040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561155b57600080fd5b505af115801561156f573d6000803e3d6000fd5b50506002805460ff60a01b1916600160a01b179055505050505050505050565b600054600160a81b900460ff1681565b600054600160b01b900460ff16806115c15750600054600160a81b900460ff16155b15611639576115ce61170b565b600254604051634c99edd360e11b81526001600160a01b0390911690639933dba69061160290869086908690600401612074565b600060405180830381600087803b15801561161c57600080fd5b505af1158015611630573d6000803e3d6000fd5b5050505061094e565b61094e600036611742565b61164c6118ef565b600054600160a81b900460ff16156116ab576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805173183faff6997c98a812a3b98748fc80241d08f312815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b600054600160b01b900460ff16156117385733301461172657fe5b6000805460ff60b01b19169055611740565b6117406118ef565b565b61174a6118ef565b600082359050600073183faff6997c98a812a3b98748fc80241d08f3126001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561179f57600080fd5b505afa1580156117b3573d6000803e3d6000fd5b505050506040513d60208110156117c957600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b0319861681526001602081815260409092208451815584830151805191945061184d93928501920190611a50565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b3d604051818101604052816000823e82156118eb578181f35b8181fd5b6118f76103fe565b6001600160a01b0316336001600160a01b031614611740576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b8280548282559060005260206000209081019282156119a3579160200282015b828111156119a357825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061196e565b506119af929150611acb565b5090565b8280548282559060005260206000209081019282156119a3579160200282015b828111156119a35782518255916020019190600101906119d3565b50805460018160011615610100020316600290046000825580601f10611a145750610b2a565b601f016020900490600052602060002090810190610b2a9190611acb565b5080546000825590600052602060002090810190610b2a9190611acb565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611a8657600085556119a3565b82601f10611a9f57805160ff19168380011785556119a3565b828001600101855582156119a357918201828111156119a35782518255916020019190600101906119d3565b5b808211156119af5760008155600101611acc565b600082601f830112611af0578081fd5b81356020611b05611b008361236b565b612347565b8281528181019085830183850287018401881015611b21578586fd5b855b85811015611b48578135611b3681612389565b84529284019290840190600101611b23565b5090979650505050505050565b600082601f830112611b65578081fd5b81356020611b75611b008361236b565b8281528181019085830183850287018401881015611b91578586fd5b855b85811015611b48578135611ba681612389565b84529284019290840190600101611b93565b8035611bc381612389565b919050565b600060208284031215611bd9578081fd5b8135611be481612389565b9392505050565b600060208284031215611bfc578081fd5b8151611be481612389565b60008060008060808587031215611c1c578283fd5b843567ffffffffffffffff80821115611c33578485fd5b611c3f88838901611b55565b9550602091508187013581811115611c55578586fd5b8701601f81018913611c65578586fd5b8035611c73611b008261236b565b81815284810190838601868402850187018d1015611c8f57898afd5b8994505b83851015611cb1578035835260019490940193918601918601611c93565b509750611cc49250505060408801611bb8565b93506060870135915080821115611cd9578283fd5b50611ce687828801611b55565b91505092959194509250565b600080600060608486031215611d06578081fd5b833567ffffffffffffffff80821115611d1d578283fd5b818601915086601f830112611d30578283fd5b81356020611d40611b008361236b565b82815281810190858301875b85811015611dbe57813588018d603f820112611d6657898afd5b8581013588811115611d7457fe5b611d86601f8201601f19168801612347565b8181528f6040838501011115611d9a578b8cfd5b81604084018983013790810187018b90528552509284019290840190600101611d4c565b50909850505087013592505080821115611dd6578283fd5b611de287838801611ae0565b93506040860135915080821115611df7578283fd5b50611e0486828701611ae0565b9150509250925092565b600060208284031215611e1f578081fd5b81356001600160e01b031981168114611be4578182fd5b600060208284031215611e47578081fd5b5051919050565b60008060408385031215611e60578182fd5b505080516020909101519092909150565b60008060008060008060008060006101208a8c031215611e8f578687fd5b8935985060208a0135975060408a0135965060608a0135955060808a0135945060a08a0135935060c08a0135925060e08a013591506101008a013567ffffffffffffffff811115611ede578182fd5b611eea8c828d01611ae0565b9150509295985092959850929598565b6000815180845260208085019450808401835b83811015611f325781516001600160a01b031687529582019590820190600101611f0d565b509495945050505050565b6000815480845260208085019450838352808320835b83811015611f325781546001600160a01b031687529582019560019182019101611f53565b60008151808452815b81811015611f9d57602081850181015186830182015201611f81565b81811115611fae5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b600060208252611be46020830184611efa565b6020808252825182820181905260009190848201906040850190845b8181101561202b5783516001600160a01b031683529284019291840191600101612006565b50909695505050505050565b600060208252611be46020830184611f3d565b60006060825261205d6060830186611f3d565b931515602083015250901515604090910152919050565b60006060820160608352808651808352608085019150602092506080838202860101838901855b838110156120c957607f198884030185526120b7838351611f78565b9486019492509085019060010161209b565b5050858103848701526120dc8189611efa565b935050505082810360408401526120f38185611efa565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561202b57835183529284019291840191600101612119565b901515815260200190565b6001600160a01b038316815260406020820181905260009061216490830184611f3d565b949350505050565b600084825260206060818401526121866060840186611f3d565b8381036040850152845480825285845282842091830190845b818110156121bb5783548352600193840193928501920161219f565b509098975050505050505050565b60006101408c83528b60208401528a60408401528960608401528860808401528760a08401528660c08401528560e0840152846101008401528061012084015261221581840185611efa565b9d9c50505050505050505050505050565b60208082526010908201526f185b1c9958591e481d5c19dc9859195960821b604082015260600190565b60208082526021908201527f7265776172642065706f636820737461727420646f6573206e6f74206d6174636040820152600d60fb1b606082015260800190565b6020808252601a908201527f6172726179206c656e6774687320646f206e6f74206d61746368000000000000604082015260600190565b6020808252600b908201526a233a39b7a6b0b730b3b2b960a91b604082015260600190565b602080825260119082015270233a39b7a932bbb0b93226b0b730b3b2b960791b604082015260600190565b6000838252604060208301526121646040830184611f78565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561236357fe5b604052919050565b600067ffffffffffffffff82111561237f57fe5b5060209081020190565b6001600160a01b0381168114610b2a57600080fdfea2646970667358221220e86137db21d43760c50415ac08200608594e1d1cc88d7b7e60b0b5734871ee9364736f6c63430007060033",
436
+ "bytecode": "0x60a06040526002805460ff60a01b191690553480156200001e57600080fd5b50604051620025e6380380620025e6833981016040819052620000419162000189565b81806001600160a01b038116156200005e576200005e81620000c6565b506001600160a01b038116620000ae576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b5060601b6001600160601b03191660805250620001e0565b600054600160a01b900460ff161562000126576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b600080604083850312156200019c578182fd5b8251620001a981620001c7565b6020840151909250620001bc81620001c7565b809150509250929050565b6001600160a01b0381168114620001dd57600080fd5b50565b60805160601c6123d46200021260003980610c6d5280610dca5280610f705280611008528061109b52506123d46000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80639d6a890f116100ad578063c28de2cd11610071578063c28de2cd14610236578063d55ec6971461024b578063e17f212e14610253578063e9ce52a31461025b578063f5a983831461026e5761012c565b80639d6a890f146101ed578063a9c0d0a514610200578063aea36b5314610208578063b26226021461021b578063b4dba0f31461022e5761012c565b806362354e03116100f457806362354e031461019457806363516abc1461019c57806367fc4029146101b1578063747502c2146101c457806374e6310e146101cc5761012c565b806318931c3514610131578063375624c51461014f57806346471129146101645780635aa6e6751461016c5780635ff2707914610181575b600080fd5b610139610276565b6040516101469190611fea565b60405180910390f35b61016261015d366004611c07565b6102d8565b005b61013961039e565b6101746103fe565b6040516101469190611fc3565b61016261018f366004611e0e565b6104a0565b6101746107fc565b6101a4610814565b60405161014691906120fd565b6101626101bf366004611e0e565b61086b565b610174610953565b6101df6101da366004611e0e565b610962565b604051610146929190612318565b6101626101fb366004611bc8565b610a08565b610174610ac1565b610162610216366004611bc8565b610ad0565b610162610229366004611e71565b610b2d565b610174610c6b565b61023e610c8f565b6040516101469190612135565b610162610c9f565b61023e61158f565b610162610269366004611cf2565b61159f565b610162611644565b606060068054806020026020016040519081016040528092919081815260200182805480156102ce57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102b0575b5050505050905090565b600054600160b01b900460ff16806102fa5750600054600160a81b900460ff16155b1561038d5761030761170b565b82518451146103315760405162461bcd60e51b815260040161032890612291565b60405180910390fd5b835161034490600390602087019061194e565b5082516103589060049060208601906119b3565b50600580546001600160a01b0319166001600160a01b038416179055805161038790600690602084019061194e565b50610398565b610398600036611742565b50505050565b606060038054806020026020016040519081016040528092919081815260200182805480156102ce576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102b0575050505050905090565b60008054600160a81b900460ff16610421576000546001600160a01b031661049b565b73183faff6997c98a812a3b98748fc80241d08f3126001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b15801561046e57600080fd5b505afa158015610482573d6000803e3d6000fd5b505050506040513d602081101561049857600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905173183faff6997c98a812a3b98748fc80241d08f3129163debfda30916024808301926020929190829003018186803b1580156104f157600080fd5b505afa158015610505573d6000803e3d6000fd5b505050506040513d602081101561051b57600080fd5b505161055e576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b03198116600090815260016020526040902080546105ca576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015610620576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106ba5780601f1061068f576101008083540402835291602001916106ba565b820191906000526020600020905b81548152906001019060200180831161069d57829003601f168201915b5050506001600160e01b03198616600090815260016020819052604082208281559495509092506106ee91508301826119ee565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106107365780518252601f199092019160209182019101610717565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610798576040519150601f19603f3d011682016040523d82523d6000602084013e61079d565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1610398816118d2565b73183faff6997c98a812a3b98748fc80241d08f31281565b606060048054806020026020016040519081016040528092919081815260200182805480156102ce57602002820191906000526020600020905b81548152602001906001019080831161084e575050505050905090565b6108736118ef565b6001600160e01b031981166000908152600160205260409020546108de576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b0319811660009081526001602081905260408220828155919061094e908301826119ee565b505050565b6005546001600160a01b031690565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156109fe5780601f106109d3576101008083540402835291602001916109fe565b820191906000526020600020905b8154815290600101906020018083116109e157829003601f168201915b5050505050905082565b600054600160a01b900460ff1615610a5e576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b6002546001600160a01b031681565b600054600160b01b900460ff1680610af25750600054600160a81b900460ff16155b15610b1f57610aff61170b565b600280546001600160a01b0319166001600160a01b038316179055610b2a565b610b2a600036611742565b50565b600054600160b01b900460ff1680610b4f5750600054600160a81b900460ff16155b15610c5557610b5c61170b565b600254604051630110ceef60e21b81526000916001600160a01b0316906304433bbc90610b8b906004016122c8565b60206040518083038186803b158015610ba357600080fd5b505afa158015610bb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdb9190611beb565b604051631322679360e01b81529091506001600160a01b03821690631322679390610c1d906000908e908e908e908e908e908e908e908e908e906004016121c9565b600060405180830381600087803b158015610c3757600080fd5b505af1158015610c4b573d6000803e3d6000fd5b5050505050610c60565b610c60600036611742565b505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600254600160a01b900460ff1681565b610ca76118ef565b600254600160a01b900460ff1615610cd15760405162461bcd60e51b815260040161032890612226565b600254604051630110ceef60e21b81526000916001600160a01b0316906304433bbc90610d00906004016122c8565b60206040518083038186803b158015610d1857600080fd5b505afa158015610d2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d509190611beb565b90506000816001600160a01b0316631cb513f76040518163ffffffff1660e01b8152600401604080518083038186803b158015610d8c57600080fd5b505afa158015610da0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc49190611e4e565b509050807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a578f55b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e2157600080fd5b505afa158015610e35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e599190611e36565b14610e765760405162461bcd60e51b815260040161032890612250565b600254604051630110ceef60e21b81526000916001600160a01b0316906304433bbc90610ea5906004016122ed565b60206040518083038186803b158015610ebd57600080fd5b505afa158015610ed1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef59190611beb565b90506000816001600160a01b0316633e7ff8576040518163ffffffff1660e01b815260040160206040518083038186803b158015610f3257600080fd5b505afa158015610f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6a9190611e36565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e7c830d46040518163ffffffff1660e01b815260040160206040518083038186803b158015610fc757600080fd5b505afa158015610fdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fff9190611e36565b600101905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166385f3c9c96040518163ffffffff1660e01b815260040160206040518083038186803b15801561105f57600080fd5b505afa158015611073573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110979190611e36565b82027f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a578f55b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110f257600080fd5b505afa158015611106573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112a9190611e36565b604051630e080a9760e41b8152910191506001600160a01b0387169063e080a9709061115e90869086908690600401612331565b600060405180830381600087803b15801561117857600080fd5b505af115801561118c573d6000803e3d6000fd5b50505050856001600160a01b0316630f15f4c06040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156111cb57600080fd5b505af11580156111df573d6000803e3d6000fd5b5050604051633ac7f8ed60e11b81526001600160a01b038916925063758ff1da91506112169060039060019060009060040161204a565b600060405180830381600087803b15801561123057600080fd5b505af1158015611244573d6000803e3d6000fd5b505060408051600180825281830190925260009350915060208083019080368337019050509050868160008151811061127957fe5b6001600160a01b03928316602091820292909201015260025460405162d8714b60e51b8152911690631b0e2960906112b5908490600401611fd7565b600060405180830381600087803b1580156112cf57600080fd5b505af11580156112e3573d6000803e3d6000fd5b5050604051638de306b160e01b81526001600160a01b038a169250638de306b1915061131490600390600401612037565b600060405180830381600087803b15801561132e57600080fd5b505af1158015611342573d6000803e3d6000fd5b505060405163d429cfe560e01b81526001600160a01b038a16925063d429cfe5915061137390600390600401612037565b600060405180830381600087803b15801561138d57600080fd5b505af11580156113a1573d6000803e3d6000fd5b505060405163882376c360e01b81526001600160a01b038a16925063882376c391506113d790600090600390600490810161216c565b600060405180830381600087803b1580156113f157600080fd5b505af1158015611405573d6000803e3d6000fd5b50506005546001600160a01b031615915061148490505760055460405163549d37a160e11b81526001600160a01b038981169263a93a6f42926114519290911690600690600401612140565b600060405180830381600087803b15801561146b57600080fd5b505af115801561147f573d6000803e3d6000fd5b505050505b61149060036000611a32565b61149c60046000611a32565b600580546001600160a01b03191690556114b860066000611a32565b866001600160a01b031663f5a983836040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156114f357600080fd5b505af1158015611507573d6000803e3d6000fd5b50505050600260009054906101000a90046001600160a01b03166001600160a01b031663f5a983836040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561155b57600080fd5b505af115801561156f573d6000803e3d6000fd5b50506002805460ff60a01b1916600160a01b179055505050505050505050565b600054600160a81b900460ff1681565b600054600160b01b900460ff16806115c15750600054600160a81b900460ff16155b15611639576115ce61170b565b600254604051634c99edd360e11b81526001600160a01b0390911690639933dba69061160290869086908690600401612074565b600060405180830381600087803b15801561161c57600080fd5b505af1158015611630573d6000803e3d6000fd5b5050505061094e565b61094e600036611742565b61164c6118ef565b600054600160a81b900460ff16156116ab576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805173183faff6997c98a812a3b98748fc80241d08f312815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b600054600160b01b900460ff16156117385733301461172657fe5b6000805460ff60b01b19169055611740565b6117406118ef565b565b61174a6118ef565b600082359050600073183faff6997c98a812a3b98748fc80241d08f3126001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561179f57600080fd5b505afa1580156117b3573d6000803e3d6000fd5b505050506040513d60208110156117c957600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b0319861681526001602081815260409092208451815584830151805191945061184d93928501920190611a50565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b3d604051818101604052816000823e82156118eb578181f35b8181fd5b6118f76103fe565b6001600160a01b0316336001600160a01b031614611740576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b8280548282559060005260206000209081019282156119a3579160200282015b828111156119a357825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061196e565b506119af929150611acb565b5090565b8280548282559060005260206000209081019282156119a3579160200282015b828111156119a35782518255916020019190600101906119d3565b50805460018160011615610100020316600290046000825580601f10611a145750610b2a565b601f016020900490600052602060002090810190610b2a9190611acb565b5080546000825590600052602060002090810190610b2a9190611acb565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611a8657600085556119a3565b82601f10611a9f57805160ff19168380011785556119a3565b828001600101855582156119a357918201828111156119a35782518255916020019190600101906119d3565b5b808211156119af5760008155600101611acc565b600082601f830112611af0578081fd5b81356020611b05611b008361236b565b612347565b8281528181019085830183850287018401881015611b21578586fd5b855b85811015611b48578135611b3681612389565b84529284019290840190600101611b23565b5090979650505050505050565b600082601f830112611b65578081fd5b81356020611b75611b008361236b565b8281528181019085830183850287018401881015611b91578586fd5b855b85811015611b48578135611ba681612389565b84529284019290840190600101611b93565b8035611bc381612389565b919050565b600060208284031215611bd9578081fd5b8135611be481612389565b9392505050565b600060208284031215611bfc578081fd5b8151611be481612389565b60008060008060808587031215611c1c578283fd5b843567ffffffffffffffff80821115611c33578485fd5b611c3f88838901611b55565b9550602091508187013581811115611c55578586fd5b8701601f81018913611c65578586fd5b8035611c73611b008261236b565b81815284810190838601868402850187018d1015611c8f57898afd5b8994505b83851015611cb1578035835260019490940193918601918601611c93565b509750611cc49250505060408801611bb8565b93506060870135915080821115611cd9578283fd5b50611ce687828801611b55565b91505092959194509250565b600080600060608486031215611d06578081fd5b833567ffffffffffffffff80821115611d1d578283fd5b818601915086601f830112611d30578283fd5b81356020611d40611b008361236b565b82815281810190858301875b85811015611dbe57813588018d603f820112611d6657898afd5b8581013588811115611d7457fe5b611d86601f8201601f19168801612347565b8181528f6040838501011115611d9a578b8cfd5b81604084018983013790810187018b90528552509284019290840190600101611d4c565b50909850505087013592505080821115611dd6578283fd5b611de287838801611ae0565b93506040860135915080821115611df7578283fd5b50611e0486828701611ae0565b9150509250925092565b600060208284031215611e1f578081fd5b81356001600160e01b031981168114611be4578182fd5b600060208284031215611e47578081fd5b5051919050565b60008060408385031215611e60578182fd5b505080516020909101519092909150565b60008060008060008060008060006101208a8c031215611e8f578687fd5b8935985060208a0135975060408a0135965060608a0135955060808a0135945060a08a0135935060c08a0135925060e08a013591506101008a013567ffffffffffffffff811115611ede578182fd5b611eea8c828d01611ae0565b9150509295985092959850929598565b6000815180845260208085019450808401835b83811015611f325781516001600160a01b031687529582019590820190600101611f0d565b509495945050505050565b6000815480845260208085019450838352808320835b83811015611f325781546001600160a01b031687529582019560019182019101611f53565b60008151808452815b81811015611f9d57602081850181015186830182015201611f81565b81811115611fae5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b600060208252611be46020830184611efa565b6020808252825182820181905260009190848201906040850190845b8181101561202b5783516001600160a01b031683529284019291840191600101612006565b50909695505050505050565b600060208252611be46020830184611f3d565b60006060825261205d6060830186611f3d565b931515602083015250901515604090910152919050565b60006060820160608352808651808352608085019150602092506080838202860101838901855b838110156120c957607f198884030185526120b7838351611f78565b9486019492509085019060010161209b565b5050858103848701526120dc8189611efa565b935050505082810360408401526120f38185611efa565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561202b57835183529284019291840191600101612119565b901515815260200190565b6001600160a01b038316815260406020820181905260009061216490830184611f3d565b949350505050565b600084825260206060818401526121866060840186611f3d565b8381036040850152845480825285845282842091830190845b818110156121bb5783548352600193840193928501920161219f565b509098975050505050505050565b60006101408c83528b60208401528a60408401528960608401528860808401528760a08401528660c08401528560e0840152846101008401528061012084015261221581840185611efa565b9d9c50505050505050505050505050565b60208082526010908201526f185b1c9958591e481d5c19dc9859195960821b604082015260600190565b60208082526021908201527f7265776172642065706f636820737461727420646f6573206e6f74206d6174636040820152600d60fb1b606082015260800190565b6020808252601a908201527f6172726179206c656e6774687320646f206e6f74206d61746368000000000000604082015260600190565b6020808252600b908201526a233a39b7a6b0b730b3b2b960a91b604082015260600190565b602080825260119082015270233a39b7a932bbb0b93226b0b730b3b2b960791b604082015260600190565b6000838252604060208301526121646040830184611f78565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561236357fe5b604052919050565b600067ffffffffffffffff82111561237f57fe5b5060209081020190565b6001600160a01b0381168114610b2a57600080fdfea2646970667358221220fd42cd760d46a1dab440e72be9d4320cb71b87c5501f609d63d7e086d240560f64736f6c63430007060033",
437
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c80639d6a890f116100ad578063c28de2cd11610071578063c28de2cd14610236578063d55ec6971461024b578063e17f212e14610253578063e9ce52a31461025b578063f5a983831461026e5761012c565b80639d6a890f146101ed578063a9c0d0a514610200578063aea36b5314610208578063b26226021461021b578063b4dba0f31461022e5761012c565b806362354e03116100f457806362354e031461019457806363516abc1461019c57806367fc4029146101b1578063747502c2146101c457806374e6310e146101cc5761012c565b806318931c3514610131578063375624c51461014f57806346471129146101645780635aa6e6751461016c5780635ff2707914610181575b600080fd5b610139610276565b6040516101469190611fea565b60405180910390f35b61016261015d366004611c07565b6102d8565b005b61013961039e565b6101746103fe565b6040516101469190611fc3565b61016261018f366004611e0e565b6104a0565b6101746107fc565b6101a4610814565b60405161014691906120fd565b6101626101bf366004611e0e565b61086b565b610174610953565b6101df6101da366004611e0e565b610962565b604051610146929190612318565b6101626101fb366004611bc8565b610a08565b610174610ac1565b610162610216366004611bc8565b610ad0565b610162610229366004611e71565b610b2d565b610174610c6b565b61023e610c8f565b6040516101469190612135565b610162610c9f565b61023e61158f565b610162610269366004611cf2565b61159f565b610162611644565b606060068054806020026020016040519081016040528092919081815260200182805480156102ce57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102b0575b5050505050905090565b600054600160b01b900460ff16806102fa5750600054600160a81b900460ff16155b1561038d5761030761170b565b82518451146103315760405162461bcd60e51b815260040161032890612291565b60405180910390fd5b835161034490600390602087019061194e565b5082516103589060049060208601906119b3565b50600580546001600160a01b0319166001600160a01b038416179055805161038790600690602084019061194e565b50610398565b610398600036611742565b50505050565b606060038054806020026020016040519081016040528092919081815260200182805480156102ce576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102b0575050505050905090565b60008054600160a81b900460ff16610421576000546001600160a01b031661049b565b73183faff6997c98a812a3b98748fc80241d08f3126001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b15801561046e57600080fd5b505afa158015610482573d6000803e3d6000fd5b505050506040513d602081101561049857600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905173183faff6997c98a812a3b98748fc80241d08f3129163debfda30916024808301926020929190829003018186803b1580156104f157600080fd5b505afa158015610505573d6000803e3d6000fd5b505050506040513d602081101561051b57600080fd5b505161055e576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b03198116600090815260016020526040902080546105ca576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015610620576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106ba5780601f1061068f576101008083540402835291602001916106ba565b820191906000526020600020905b81548152906001019060200180831161069d57829003601f168201915b5050506001600160e01b03198616600090815260016020819052604082208281559495509092506106ee91508301826119ee565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106107365780518252601f199092019160209182019101610717565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610798576040519150601f19603f3d011682016040523d82523d6000602084013e61079d565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1610398816118d2565b73183faff6997c98a812a3b98748fc80241d08f31281565b606060048054806020026020016040519081016040528092919081815260200182805480156102ce57602002820191906000526020600020905b81548152602001906001019080831161084e575050505050905090565b6108736118ef565b6001600160e01b031981166000908152600160205260409020546108de576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b0319811660009081526001602081905260408220828155919061094e908301826119ee565b505050565b6005546001600160a01b031690565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156109fe5780601f106109d3576101008083540402835291602001916109fe565b820191906000526020600020905b8154815290600101906020018083116109e157829003601f168201915b5050505050905082565b600054600160a01b900460ff1615610a5e576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b6002546001600160a01b031681565b600054600160b01b900460ff1680610af25750600054600160a81b900460ff16155b15610b1f57610aff61170b565b600280546001600160a01b0319166001600160a01b038316179055610b2a565b610b2a600036611742565b50565b600054600160b01b900460ff1680610b4f5750600054600160a81b900460ff16155b15610c5557610b5c61170b565b600254604051630110ceef60e21b81526000916001600160a01b0316906304433bbc90610b8b906004016122c8565b60206040518083038186803b158015610ba357600080fd5b505afa158015610bb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdb9190611beb565b604051631322679360e01b81529091506001600160a01b03821690631322679390610c1d906000908e908e908e908e908e908e908e908e908e906004016121c9565b600060405180830381600087803b158015610c3757600080fd5b505af1158015610c4b573d6000803e3d6000fd5b5050505050610c60565b610c60600036611742565b505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600254600160a01b900460ff1681565b610ca76118ef565b600254600160a01b900460ff1615610cd15760405162461bcd60e51b815260040161032890612226565b600254604051630110ceef60e21b81526000916001600160a01b0316906304433bbc90610d00906004016122c8565b60206040518083038186803b158015610d1857600080fd5b505afa158015610d2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d509190611beb565b90506000816001600160a01b0316631cb513f76040518163ffffffff1660e01b8152600401604080518083038186803b158015610d8c57600080fd5b505afa158015610da0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc49190611e4e565b509050807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a578f55b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e2157600080fd5b505afa158015610e35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e599190611e36565b14610e765760405162461bcd60e51b815260040161032890612250565b600254604051630110ceef60e21b81526000916001600160a01b0316906304433bbc90610ea5906004016122ed565b60206040518083038186803b158015610ebd57600080fd5b505afa158015610ed1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef59190611beb565b90506000816001600160a01b0316633e7ff8576040518163ffffffff1660e01b815260040160206040518083038186803b158015610f3257600080fd5b505afa158015610f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6a9190611e36565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e7c830d46040518163ffffffff1660e01b815260040160206040518083038186803b158015610fc757600080fd5b505afa158015610fdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fff9190611e36565b600101905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166385f3c9c96040518163ffffffff1660e01b815260040160206040518083038186803b15801561105f57600080fd5b505afa158015611073573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110979190611e36565b82027f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a578f55b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110f257600080fd5b505afa158015611106573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112a9190611e36565b604051630e080a9760e41b8152910191506001600160a01b0387169063e080a9709061115e90869086908690600401612331565b600060405180830381600087803b15801561117857600080fd5b505af115801561118c573d6000803e3d6000fd5b50505050856001600160a01b0316630f15f4c06040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156111cb57600080fd5b505af11580156111df573d6000803e3d6000fd5b5050604051633ac7f8ed60e11b81526001600160a01b038916925063758ff1da91506112169060039060019060009060040161204a565b600060405180830381600087803b15801561123057600080fd5b505af1158015611244573d6000803e3d6000fd5b505060408051600180825281830190925260009350915060208083019080368337019050509050868160008151811061127957fe5b6001600160a01b03928316602091820292909201015260025460405162d8714b60e51b8152911690631b0e2960906112b5908490600401611fd7565b600060405180830381600087803b1580156112cf57600080fd5b505af11580156112e3573d6000803e3d6000fd5b5050604051638de306b160e01b81526001600160a01b038a169250638de306b1915061131490600390600401612037565b600060405180830381600087803b15801561132e57600080fd5b505af1158015611342573d6000803e3d6000fd5b505060405163d429cfe560e01b81526001600160a01b038a16925063d429cfe5915061137390600390600401612037565b600060405180830381600087803b15801561138d57600080fd5b505af11580156113a1573d6000803e3d6000fd5b505060405163882376c360e01b81526001600160a01b038a16925063882376c391506113d790600090600390600490810161216c565b600060405180830381600087803b1580156113f157600080fd5b505af1158015611405573d6000803e3d6000fd5b50506005546001600160a01b031615915061148490505760055460405163549d37a160e11b81526001600160a01b038981169263a93a6f42926114519290911690600690600401612140565b600060405180830381600087803b15801561146b57600080fd5b505af115801561147f573d6000803e3d6000fd5b505050505b61149060036000611a32565b61149c60046000611a32565b600580546001600160a01b03191690556114b860066000611a32565b866001600160a01b031663f5a983836040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156114f357600080fd5b505af1158015611507573d6000803e3d6000fd5b50505050600260009054906101000a90046001600160a01b03166001600160a01b031663f5a983836040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561155b57600080fd5b505af115801561156f573d6000803e3d6000fd5b50506002805460ff60a01b1916600160a01b179055505050505050505050565b600054600160a81b900460ff1681565b600054600160b01b900460ff16806115c15750600054600160a81b900460ff16155b15611639576115ce61170b565b600254604051634c99edd360e11b81526001600160a01b0390911690639933dba69061160290869086908690600401612074565b600060405180830381600087803b15801561161c57600080fd5b505af1158015611630573d6000803e3d6000fd5b5050505061094e565b61094e600036611742565b61164c6118ef565b600054600160a81b900460ff16156116ab576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805173183faff6997c98a812a3b98748fc80241d08f312815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b600054600160b01b900460ff16156117385733301461172657fe5b6000805460ff60b01b19169055611740565b6117406118ef565b565b61174a6118ef565b600082359050600073183faff6997c98a812a3b98748fc80241d08f3126001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561179f57600080fd5b505afa1580156117b3573d6000803e3d6000fd5b505050506040513d60208110156117c957600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b0319861681526001602081815260409092208451815584830151805191945061184d93928501920190611a50565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b3d604051818101604052816000823e82156118eb578181f35b8181fd5b6118f76103fe565b6001600160a01b0316336001600160a01b031614611740576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b8280548282559060005260206000209081019282156119a3579160200282015b828111156119a357825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061196e565b506119af929150611acb565b5090565b8280548282559060005260206000209081019282156119a3579160200282015b828111156119a35782518255916020019190600101906119d3565b50805460018160011615610100020316600290046000825580601f10611a145750610b2a565b601f016020900490600052602060002090810190610b2a9190611acb565b5080546000825590600052602060002090810190610b2a9190611acb565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611a8657600085556119a3565b82601f10611a9f57805160ff19168380011785556119a3565b828001600101855582156119a357918201828111156119a35782518255916020019190600101906119d3565b5b808211156119af5760008155600101611acc565b600082601f830112611af0578081fd5b81356020611b05611b008361236b565b612347565b8281528181019085830183850287018401881015611b21578586fd5b855b85811015611b48578135611b3681612389565b84529284019290840190600101611b23565b5090979650505050505050565b600082601f830112611b65578081fd5b81356020611b75611b008361236b565b8281528181019085830183850287018401881015611b91578586fd5b855b85811015611b48578135611ba681612389565b84529284019290840190600101611b93565b8035611bc381612389565b919050565b600060208284031215611bd9578081fd5b8135611be481612389565b9392505050565b600060208284031215611bfc578081fd5b8151611be481612389565b60008060008060808587031215611c1c578283fd5b843567ffffffffffffffff80821115611c33578485fd5b611c3f88838901611b55565b9550602091508187013581811115611c55578586fd5b8701601f81018913611c65578586fd5b8035611c73611b008261236b565b81815284810190838601868402850187018d1015611c8f57898afd5b8994505b83851015611cb1578035835260019490940193918601918601611c93565b509750611cc49250505060408801611bb8565b93506060870135915080821115611cd9578283fd5b50611ce687828801611b55565b91505092959194509250565b600080600060608486031215611d06578081fd5b833567ffffffffffffffff80821115611d1d578283fd5b818601915086601f830112611d30578283fd5b81356020611d40611b008361236b565b82815281810190858301875b85811015611dbe57813588018d603f820112611d6657898afd5b8581013588811115611d7457fe5b611d86601f8201601f19168801612347565b8181528f6040838501011115611d9a578b8cfd5b81604084018983013790810187018b90528552509284019290840190600101611d4c565b50909850505087013592505080821115611dd6578283fd5b611de287838801611ae0565b93506040860135915080821115611df7578283fd5b50611e0486828701611ae0565b9150509250925092565b600060208284031215611e1f578081fd5b81356001600160e01b031981168114611be4578182fd5b600060208284031215611e47578081fd5b5051919050565b60008060408385031215611e60578182fd5b505080516020909101519092909150565b60008060008060008060008060006101208a8c031215611e8f578687fd5b8935985060208a0135975060408a0135965060608a0135955060808a0135945060a08a0135935060c08a0135925060e08a013591506101008a013567ffffffffffffffff811115611ede578182fd5b611eea8c828d01611ae0565b9150509295985092959850929598565b6000815180845260208085019450808401835b83811015611f325781516001600160a01b031687529582019590820190600101611f0d565b509495945050505050565b6000815480845260208085019450838352808320835b83811015611f325781546001600160a01b031687529582019560019182019101611f53565b60008151808452815b81811015611f9d57602081850181015186830182015201611f81565b81811115611fae5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b600060208252611be46020830184611efa565b6020808252825182820181905260009190848201906040850190845b8181101561202b5783516001600160a01b031683529284019291840191600101612006565b50909695505050505050565b600060208252611be46020830184611f3d565b60006060825261205d6060830186611f3d565b931515602083015250901515604090910152919050565b60006060820160608352808651808352608085019150602092506080838202860101838901855b838110156120c957607f198884030185526120b7838351611f78565b9486019492509085019060010161209b565b5050858103848701526120dc8189611efa565b935050505082810360408401526120f38185611efa565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561202b57835183529284019291840191600101612119565b901515815260200190565b6001600160a01b038316815260406020820181905260009061216490830184611f3d565b949350505050565b600084825260206060818401526121866060840186611f3d565b8381036040850152845480825285845282842091830190845b818110156121bb5783548352600193840193928501920161219f565b509098975050505050505050565b60006101408c83528b60208401528a60408401528960608401528860808401528760a08401528660c08401528560e0840152846101008401528061012084015261221581840185611efa565b9d9c50505050505050505050505050565b60208082526010908201526f185b1c9958591e481d5c19dc9859195960821b604082015260600190565b60208082526021908201527f7265776172642065706f636820737461727420646f6573206e6f74206d6174636040820152600d60fb1b606082015260800190565b6020808252601a908201527f6172726179206c656e6774687320646f206e6f74206d61746368000000000000604082015260600190565b6020808252600b908201526a233a39b7a6b0b730b3b2b960a91b604082015260600190565b602080825260119082015270233a39b7a932bbb0b93226b0b730b3b2b960791b604082015260600190565b6000838252604060208301526121646040830184611f78565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561236357fe5b604052919050565b600067ffffffffffffffff82111561237f57fe5b5060209081020190565b6001600160a01b0381168114610b2a57600080fdfea2646970667358221220fd42cd760d46a1dab440e72be9d4320cb71b87c5501f609d63d7e086d240560f64736f6c63430007060033",
438
438
  "linkReferences": {},
439
439
  "deployedLinkReferences": {}
440
440
  }
@@ -137,8 +137,8 @@
137
137
  "type": "function"
138
138
  }
139
139
  ],
140
- "bytecode": "0x60a060405234801561001057600080fd5b506040516106b83803806106b88339818101604052604081101561003357600080fd5b50805160209091015181806001600160a01b03811615610056576100568161010b565b506001600160a01b0381166100a5576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b506001600160a01b0381166100f5576040805162461bcd60e51b8152602060048201526011602482015270666c617265206461656d6f6e207a65726f60781b604482015290519081900360640190fd5b60601b6001600160601b031916608052506101ee565b600154600160a01b900460ff161561016a576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b60805160601c6104ad61020b600039806102ee52506104ad6000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80639d6a890f1161005b5780639d6a890f146100b8578063a1077532146100de578063c373a08e146100e6578063d38bfff41461010c5761007d565b80635aa6e675146100825780635d36b190146100a657806360f7ac97146100b0575b600080fd5b61008a610132565b604080516001600160a01b039092168252519081900360200190f35b6100ae610141565b005b61008a610203565b6100ae600480360360208110156100ce57600080fd5b50356001600160a01b0316610212565b61008a6102ec565b6100ae600480360360208110156100fc57600080fd5b50356001600160a01b0316610310565b6100ae6004803603602081101561012257600080fd5b50356001600160a01b03166103b5565b6000546001600160a01b031681565b6001546001600160a01b03163314610190576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600054600154604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001546001600160a01b031681565b600154600160a01b900460ff1615610268576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b03163314610361576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b6000546001600160a01b03163314610406576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b031992831617905560018054909116905556fea2646970667358221220eb1e16bcc9c14c6bdfbf20c9e2f05d634f4856e34da83f7bbf6f67c71ee7681064736f6c63430007060033",
141
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80639d6a890f1161005b5780639d6a890f146100b8578063a1077532146100de578063c373a08e146100e6578063d38bfff41461010c5761007d565b80635aa6e675146100825780635d36b190146100a657806360f7ac97146100b0575b600080fd5b61008a610132565b604080516001600160a01b039092168252519081900360200190f35b6100ae610141565b005b61008a610203565b6100ae600480360360208110156100ce57600080fd5b50356001600160a01b0316610212565b61008a6102ec565b6100ae600480360360208110156100fc57600080fd5b50356001600160a01b0316610310565b6100ae6004803603602081101561012257600080fd5b50356001600160a01b03166103b5565b6000546001600160a01b031681565b6001546001600160a01b03163314610190576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600054600154604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001546001600160a01b031681565b600154600160a01b900460ff1615610268576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b03163314610361576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b6000546001600160a01b03163314610406576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b031992831617905560018054909116905556fea2646970667358221220eb1e16bcc9c14c6bdfbf20c9e2f05d634f4856e34da83f7bbf6f67c71ee7681064736f6c63430007060033",
140
+ "bytecode": "0x60a060405234801561001057600080fd5b506040516106b83803806106b88339818101604052604081101561003357600080fd5b50805160209091015181806001600160a01b03811615610056576100568161010b565b506001600160a01b0381166100a5576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b506001600160a01b0381166100f5576040805162461bcd60e51b8152602060048201526011602482015270666c617265206461656d6f6e207a65726f60781b604482015290519081900360640190fd5b60601b6001600160601b031916608052506101ee565b600154600160a01b900460ff161561016a576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b60805160601c6104ad61020b600039806102ee52506104ad6000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80639d6a890f1161005b5780639d6a890f146100b8578063a1077532146100de578063c373a08e146100e6578063d38bfff41461010c5761007d565b80635aa6e675146100825780635d36b190146100a657806360f7ac97146100b0575b600080fd5b61008a610132565b604080516001600160a01b039092168252519081900360200190f35b6100ae610141565b005b61008a610203565b6100ae600480360360208110156100ce57600080fd5b50356001600160a01b0316610212565b61008a6102ec565b6100ae600480360360208110156100fc57600080fd5b50356001600160a01b0316610310565b6100ae6004803603602081101561012257600080fd5b50356001600160a01b03166103b5565b6000546001600160a01b031681565b6001546001600160a01b03163314610190576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600054600154604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001546001600160a01b031681565b600154600160a01b900460ff1615610268576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b03163314610361576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b6000546001600160a01b03163314610406576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b031992831617905560018054909116905556fea2646970667358221220c3c9af262ff478895904dd8c7d60835ccbb09281197dc3438b5c8b56dab7a8ee64736f6c63430007060033",
141
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80639d6a890f1161005b5780639d6a890f146100b8578063a1077532146100de578063c373a08e146100e6578063d38bfff41461010c5761007d565b80635aa6e675146100825780635d36b190146100a657806360f7ac97146100b0575b600080fd5b61008a610132565b604080516001600160a01b039092168252519081900360200190f35b6100ae610141565b005b61008a610203565b6100ae600480360360208110156100ce57600080fd5b50356001600160a01b0316610212565b61008a6102ec565b6100ae600480360360208110156100fc57600080fd5b50356001600160a01b0316610310565b6100ae6004803603602081101561012257600080fd5b50356001600160a01b03166103b5565b6000546001600160a01b031681565b6001546001600160a01b03163314610190576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600054600154604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001546001600160a01b031681565b600154600160a01b900460ff1615610268576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b03163314610361576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b6000546001600160a01b03163314610406576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600054604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600080546001600160a01b039092166001600160a01b031992831617905560018054909116905556fea2646970667358221220c3c9af262ff478895904dd8c7d60835ccbb09281197dc3438b5c8b56dab7a8ee64736f6c63430007060033",
142
142
  "linkReferences": {},
143
143
  "deployedLinkReferences": {}
144
144
  }