@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
@@ -1188,8 +1188,8 @@
1188
1188
  "type": "receive"
1189
1189
  }
1190
1190
  ],
1191
- "bytecode": "0x60806040526011805460ff60a01b191690553480156200001e57600080fd5b506040516200489438038062004894833981810160405260608110156200004457600080fd5b8151602083018051604051929492938301929190846401000000008211156200006c57600080fd5b9083019060208201858111156200008257600080fd5b82516401000000008111828201881017156200009d57600080fd5b82525081516020918201929091019080838360005b83811015620000cc578181015183820152602001620000b2565b50505050905090810190601f168015620000fa5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011e57600080fd5b9083019060208201858111156200013457600080fd5b82516401000000008111828201881017156200014f57600080fd5b82525081516020918201929091019080838360005b838110156200017e57818101518382015260200162000164565b50505050905090810190601f168015620001ac5780820380516001836020036101000a031916815260200191505b50604052505050828282828083838160039080519060200190620001d292919062000354565b508051620001e890600490602084019062000354565b50506005805460ff19166012179055506001600160a01b038116156200021357620002138162000270565b506001600160a01b03811662000263576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b5050505050505062000400565b600d54600160a01b900460ff1615620002d0576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b600d805460ff60a01b1916600160a01b179055600c54604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600c80546001600160a01b039092166001600160a01b0319928316179055600d80549091169055565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826200038c5760008555620003d7565b82601f10620003a757805160ff1916838001178555620003d7565b82800160010185558215620003d7579182015b82811115620003d7578251825591602001919060010190620003ba565b50620003e5929150620003e9565b5090565b5b80821115620003e55760008155600101620003ea565b61448480620004106000396000f3fe60806040526004361061036f5760003560e01c806395d89b41116101c6578063d0e30db0116100f7578063e64767aa11610095578063f5f3d4f71161006f578063f5f3d4f714610f2b578063f62f8f3a14610f40578063f683776714610f6a578063f6a494af14610f9d5761037e565b8063e64767aa14610e76578063ed475a7914610eb9578063f0e292c914610ef25761037e565b8063d6aa0b77116100d1578063d6aa0b7714610dba578063dd62ed3e14610ded578063deea13e714610e28578063e587497e14610e3d5761037e565b8063d0e30db014610d6a578063d38bfff414610d72578063d582cef414610da55761037e565b8063b302f39311610164578063be0ca7471161013e578063be0ca74714610c99578063c373a08e14610cd4578063caeb942b14610d07578063d06dc3ad14610d315761037e565b8063b302f39314610c25578063b760faf914610c3a578063bbd6fbf814610c605761037e565b80639ca2231a116101a05780639ca2231a14610b4d5780639d6a890f14610b80578063a457c2d714610bb3578063a9059cbb14610bec5761037e565b806395d89b4114610af9578063981b24d014610b0e5780639b3baa0e14610b385761037e565b806349e3c7e5116102a0578063755d10a41161023e57806383035a821161021857806383035a8214610a395780638c2b8ae114610a7257806392bfe6d814610a875780639470b0bd14610ac05761037e565b8063755d10a4146108f95780637de5b8ed1461092c5780637f4fcaa914610a065761037e565b80635d36b1901161027a5780635d36b190146107ee5780635d6d11eb1461080357806360f7ac97146108b157806370a08231146108c65761037e565b806349e3c7e5146106a05780634ee2cd7e146107a05780635aa6e675146107d95761037e565b806323b872dd1161030d57806331d12a16116102e757806331d12a16146105e057806339509351146106135780633e5aa26a1461064c57806343ea370b146106765761037e565b806323b872dd146105485780632e1a7d4d1461058b578063313ce567146105b55761037e565b806313de97f51161034957806313de97f514610493578063142d1018146104bd57806318160ddd146105025780631fec092a146105175761037e565b8063026e402b1461038357806306fdde03146103bc578063095ea7b3146104465761037e565b3661037e5761037c610fd0565b005b600080fd5b34801561038f57600080fd5b5061037c600480360360408110156103a657600080fd5b506001600160a01b038135169060200135611012565b3480156103c857600080fd5b506103d16110ad565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561040b5781810151838201526020016103f3565b50505050905090810190601f1680156104385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561045257600080fd5b5061047f6004803603604081101561046957600080fd5b506001600160a01b0381351690602001356110bc565b604080519115158252519081900360200190f35b34801561049f57600080fd5b5061037c600480360360208110156104b657600080fd5b50356110da565b3480156104c957600080fd5b506104f0600480360360208110156104e057600080fd5b50356001600160a01b03166112de565b60408051918252519081900360200190f35b34801561050e57600080fd5b506104f0611366565b34801561052357600080fd5b5061052c61136c565b604080516001600160a01b039092168252519081900360200190f35b34801561055457600080fd5b5061047f6004803603606081101561056b57600080fd5b506001600160a01b0381358116916020810135909116906040013561137b565b34801561059757600080fd5b5061037c600480360360208110156105ae57600080fd5b5035611403565b3480156105c157600080fd5b506105ca611474565b6040805160ff9092168252519081900360200190f35b3480156105ec57600080fd5b5061037c6004803603602081101561060357600080fd5b50356001600160a01b031661147e565b34801561061f57600080fd5b5061047f6004803603604081101561063657600080fd5b506001600160a01b038135169060200135611667565b34801561065857600080fd5b506104f06004803603602081101561066f57600080fd5b50356116b5565b34801561068257600080fd5b506104f06004803603602081101561069957600080fd5b50356116c0565b3480156106ac57600080fd5b50610750600480360360408110156106c357600080fd5b810190602081018135600160201b8111156106dd57600080fd5b8201836020820111156106ef57600080fd5b803590602001918460208302840111600160201b8311171561071057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550509135925061177b915050565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561078c578181015183820152602001610774565b505050509050019250505060405180910390f35b3480156107ac57600080fd5b506104f0600480360360408110156107c357600080fd5b506001600160a01b0381351690602001356118dd565b3480156107e557600080fd5b5061052c6118e9565b3480156107fa57600080fd5b5061037c6118f8565b34801561080f57600080fd5b506104f06004803603602081101561082657600080fd5b810190602081018135600160201b81111561084057600080fd5b82018360208201111561085257600080fd5b803590602001918460208302840111600160201b8311171561087357600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506119ba945050505050565b3480156108bd57600080fd5b5061052c611a6c565b3480156108d257600080fd5b506104f0600480360360208110156108e957600080fd5b50356001600160a01b0316611a7b565b34801561090557600080fd5b5061037c6004803603602081101561091c57600080fd5b50356001600160a01b0316611a96565b34801561093857600080fd5b5061095f6004803603602081101561094f57600080fd5b50356001600160a01b0316611d47565b604051808060200180602001858152602001848152602001838103835287818151815260200191508051906020019060200280838360005b838110156109af578181015183820152602001610997565b50505050905001838103825286818151815260200191508051906020019060200280838360005b838110156109ee5781810151838201526020016109d6565b50505050905001965050505050505060405180910390f35b348015610a1257600080fd5b5061037c60048036036020811015610a2957600080fd5b50356001600160a01b0316611f0a565b348015610a4557600080fd5b506104f060048036036040811015610a5c57600080fd5b506001600160a01b038135169060200135611f7d565b348015610a7e57600080fd5b5061052c61201f565b348015610a9357600080fd5b506104f060048036036040811015610aaa57600080fd5b506001600160a01b03813516906020013561202e565b348015610acc57600080fd5b5061037c60048036036040811015610ae357600080fd5b506001600160a01b03813516906020013561208c565b348015610b0557600080fd5b506103d161214e565b348015610b1a57600080fd5b506104f060048036036020811015610b3157600080fd5b5035612158565b348015610b4457600080fd5b5061052c612163565b348015610b5957600080fd5b5061037c60048036036020811015610b7057600080fd5b50356001600160a01b0316612172565b348015610b8c57600080fd5b5061037c60048036036020811015610ba357600080fd5b50356001600160a01b03166122e6565b348015610bbf57600080fd5b5061047f60048036036040811015610bd657600080fd5b506001600160a01b0381351690602001356123c0565b348015610bf857600080fd5b5061047f60048036036040811015610c0f57600080fd5b506001600160a01b038135169060200135612428565b348015610c3157600080fd5b5061037c61243c565b61037c60048036036020811015610c5057600080fd5b50356001600160a01b03166124bc565b348015610c6c57600080fd5b5061037c60048036036040811015610c8357600080fd5b506001600160a01b038135169060200135612563565b348015610ca557600080fd5b506104f060048036036040811015610cbc57600080fd5b506001600160a01b03813581169160200135166126d0565b348015610ce057600080fd5b5061037c60048036036020811015610cf757600080fd5b50356001600160a01b0316612747565b348015610d1357600080fd5b506104f060048036036020811015610d2a57600080fd5b50356127ec565b348015610d3d57600080fd5b5061037c60048036036040811015610d5457600080fd5b506001600160a01b0381351690602001356127f7565b61037c610fd0565b348015610d7e57600080fd5b5061037c60048036036020811015610d9557600080fd5b50356001600160a01b0316612818565b348015610db157600080fd5b5061047f6128da565b348015610dc657600080fd5b506104f060048036036020811015610ddd57600080fd5b50356001600160a01b03166128ea565b348015610df957600080fd5b506104f060048036036040811015610e1057600080fd5b506001600160a01b0381358116916020013516612950565b348015610e3457600080fd5b506104f061297b565b348015610e4957600080fd5b506104f060048036036040811015610e6057600080fd5b506001600160a01b038135169060200135612985565b348015610e8257600080fd5b506104f060048036036060811015610e9957600080fd5b506001600160a01b038135811691602081013590911690604001356129f9565b348015610ec557600080fd5b5061095f60048036036040811015610edc57600080fd5b506001600160a01b038135169060200135612aad565b348015610efe57600080fd5b506104f060048036036040811015610f1557600080fd5b506001600160a01b038135169060200135612c79565b348015610f3757600080fd5b506104f0612ce6565b348015610f4c57600080fd5b506104f060048036036020811015610f6357600080fd5b5035612cf0565b348015610f7657600080fd5b506104f060048036036020811015610f8d57600080fd5b50356001600160a01b0316612d5b565b348015610fa957600080fd5b5061037c60048036036020811015610fc057600080fd5b50356001600160a01b0316612db1565b610fda3334612f79565b60408051348152905133917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a2565b61101a613069565b6001600160a01b0316636230001a338461103333611a7b565b856040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b15801561109157600080fd5b505af11580156110a5573d6000803e3d6000fd5b505050505050565b60606110b76130ca565b905090565b60006110d06110c9613160565b8484613164565b5060015b92915050565b600c546001600160a01b03163314806110fd57506011546001600160a01b031633145b61114e576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c7920676f7665726e616e6365206f72206d616e61676572000000000000604482015290519081900360640190fd5b61115781613250565b600e546001600160a01b0316156111ce57600e54604080516313de97f560e01b81526004810184905290516001600160a01b03909216916313de97f59160248082019260009290919082900301818387803b1580156111b557600080fd5b505af11580156111c9573d6000803e3d6000fd5b505050505b600f546001600160a01b0316158015906111f95750600e54600f546001600160a01b03908116911614155b1561126457600f54604080516313de97f560e01b81526004810184905290516001600160a01b03909216916313de97f59160248082019260009290919082900301818387803b15801561124b57600080fd5b505af115801561125f573d6000803e3d6000fd5b505050505b6010546001600160a01b0316156112db57601054604080516313de97f560e01b81526004810184905290516001600160a01b03909216916313de97f59160248082019260009290919082900301818387803b1580156112c257600080fd5b505af11580156112d6573d6000803e3d6000fd5b505050505b50565b60006112e86132d4565b6001600160a01b031663142d1018836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561133457600080fd5b505afa158015611348573d6000803e3d6000fd5b505050506040513d602081101561135e57600080fd5b505192915050565b60025490565b600f546001600160a01b031690565b6000611388848484613335565b6113f884611394613160565b6113f385604051806060016040528060288152602001614309602891396001600160a01b038a166000908152600160205260408120906113d2613160565b6001600160a01b031681526020810191909152604001600020549190613490565b613164565b5060015b9392505050565b61140d3382613527565b60408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a2604051339082156108fc029083906000818181858888f19350505050158015611470573d6000803e3d6000fd5b5050565b60006110b7613623565b600c546001600160a01b031633146114cf576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b6001600160a01b038116156115f857306001600160a01b0316816001600160a01b031663653718836040518163ffffffff1660e01b815260040160206040518083038186803b15801561152157600080fd5b505afa158015611535573d6000803e3d6000fd5b505050506040513d602081101561154b57600080fd5b50516001600160a01b0316146115925760405162461bcd60e51b815260040180806020018281038252602281526020018061442d6022913960400191505060405180910390fd5b806001600160a01b03166313de97f56115a961362c565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156115df57600080fd5b505af11580156115f3573d6000803e3d6000fd5b505050505b600e5460408051600081526001600160a01b03928316602082015291831682820152517fbec98a6c0f609cda6b9f23b95824ba6ac733cb57edd17d344f2f2796844007399181900360600190a1600e80546001600160a01b0319166001600160a01b0392909216919091179055565b60006110d0611674613160565b846113f38560016000611685613160565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490613632565b60006110d482612158565b600b546000906001600160a01b0316331461171a576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600a548210611770576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6110d460098361368c565b60606117856132d4565b6001600160a01b03166349e3c7e584846040518363ffffffff1660e01b81526004018080602001838152602001828103825284818151815260200191508051906020019060200280838360005b838110156117ea5781810151838201526020016117d2565b50505050905001935050505060006040518083038186803b15801561180e57600080fd5b505afa158015611822573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561184b57600080fd5b8101908080516040519392919084600160201b82111561186a57600080fd5b90830190602082018581111561187f57600080fd5b82518660208202830111600160201b8211171561189b57600080fd5b82525081516020918201928201910280838360005b838110156118c85781810151838201526020016118b0565b50505050905001604052505050905092915050565b60006113fc83836136c0565b600c546001600160a01b031681565b600d546001600160a01b03163314611947576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600c54600d54604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600d8054600c80546001600160a01b03199081166001600160a01b03841617909155169055565b60006119c4613069565b6001600160a01b0316630f8b8af733846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015611a32578181015183820152602001611a1a565b505050509050019350505050602060405180830381600087803b158015611a5857600080fd5b505af1158015611348573d6000803e3d6000fd5b600d546001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b600c546001600160a01b03163314611ae7576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b6001600160a01b03811615611cd857306001600160a01b0316816001600160a01b031663653718836040518163ffffffff1660e01b815260040160206040518083038186803b158015611b3957600080fd5b505afa158015611b4d573d6000803e3d6000fd5b505050506040513d6020811015611b6357600080fd5b50516001600160a01b031614611baa5760405162461bcd60e51b815260040180806020018281038252602281526020018061442d6022913960400191505060405180910390fd5b601154600160a01b900460ff161580611c245750806001600160a01b031663aa94d3f26040518163ffffffff1660e01b815260040160206040518083038186803b158015611bf757600080fd5b505afa158015611c0b573d6000803e3d6000fd5b505050506040513d6020811015611c2157600080fd5b50515b611c5f5760405162461bcd60e51b81526004018080602001828103825260298152602001806142e06029913960400191505060405180910390fd5b806001600160a01b03166313de97f5611c7661362c565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611cac57600080fd5b505af1158015611cc0573d6000803e3d6000fd5b50506011805460ff60a01b1916600160a01b17905550505b600f5460408051600181526001600160a01b03928316602082015291831682820152517fbec98a6c0f609cda6b9f23b95824ba6ac733cb57edd17d344f2f2796844007399181900360600190a1600f80546001600160a01b0319166001600160a01b0392909216919091179055565b606080600080611d556132d4565b6001600160a01b0316637de5b8ed866040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060006040518083038186803b158015611da157600080fd5b505afa158015611db5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526080811015611dde57600080fd5b8101908080516040519392919084600160201b821115611dfd57600080fd5b908301906020820185811115611e1257600080fd5b82518660208202830111600160201b82111715611e2e57600080fd5b82525081516020918201928201910280838360005b83811015611e5b578181015183820152602001611e43565b5050505090500160405260200180516040519392919084600160201b821115611e8357600080fd5b908301906020820185811115611e9857600080fd5b82518660208202830111600160201b82111715611eb457600080fd5b82525081516020918201928201910280838360005b83811015611ee1578181015183820152602001611ec9565b505050509190910160409081526020830151920151959b949a5090985093965091945050505050565b600c546001600160a01b03163314611f5b576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6000611f876132d4565b6001600160a01b0316633150392784611fa086866118dd565b856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001828152602001935050505060206040518083038186803b158015611fec57600080fd5b505afa158015612000573d6000803e3d6000fd5b505050506040513d602081101561201657600080fd5b50519392505050565b6010546001600160a01b031690565b60006120386132d4565b6001600160a01b03166392bfe6d884846040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b158015611fec57600080fd5b6120d382336113f38460405180604001604052806014815260200173616c6c6f77616e63652062656c6f77207a65726f60601b8152506120cc8833612950565b9190613490565b6120dd8282613527565b6040805182815290516001600160a01b038416917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a2604051339082156108fc029083906000818181858888f19350505050158015612149573d6000803e3d6000fd5b505050565b60606110b7613718565b60006110d482613779565b600e546001600160a01b031690565b600c546001600160a01b031633146121c3576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b306001600160a01b0316816001600160a01b031663653718836040518163ffffffff1660e01b815260040160206040518083038186803b15801561220657600080fd5b505afa15801561221a573d6000803e3d6000fd5b505050506040513d602081101561223057600080fd5b50516001600160a01b0316146122775760405162461bcd60e51b815260040180806020018281038252603d815260200180614331603d913960400191505060405180910390fd5b60105460408051600281526001600160a01b03928316602082015291831682820152517fbec98a6c0f609cda6b9f23b95824ba6ac733cb57edd17d344f2f2796844007399181900360600190a1601080546001600160a01b0319166001600160a01b0392909216919091179055565b600d54600160a01b900460ff161561233c576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b600d805460ff60a01b1916600160a01b179055600c54604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600c80546001600160a01b039092166001600160a01b0319928316179055600d80549091169055565b60006110d06123cd613160565b846113f38560405180606001604052806025815260200161440860259139600160006123f7613160565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190613490565b60006110d0612435613160565b8484613335565b612444613069565b6001600160a01b03166305109ecf3361245c33611a7b565b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156124a257600080fd5b505af11580156124b6573d6000803e3d6000fd5b50505050565b6001600160a01b038116612517576040805162461bcd60e51b815260206004820152601e60248201527f43616e6e6f74206465706f73697420746f207a65726f20616464726573730000604482015290519081900360640190fd5b6125218134612f79565b6040805134815290516001600160a01b038316917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a250565b600f54600e546001600160a01b039182169116811561260e57816001600160a01b031663c7c62fab338661259733886118dd565b876040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b1580156125f557600080fd5b505af1158015612609573d6000803e3d6000fd5b505050505b816001600160a01b0316816001600160a01b03161415801561263857506001600160a01b03811615155b156124b657806001600160a01b031663c7c62fab338661265833886118dd565b876040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b1580156126b657600080fd5b505af19250505080156126c7575060015b6124b6576124b6565b60006126da6132d4565b6001600160a01b0316639dc6b9f284846126f387611a7b565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001828152602001935050505060206040518083038186803b158015611fec57600080fd5b600c546001600160a01b03163314612798576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b60006110d4826137c8565b6127ff613069565b6001600160a01b031663404d9e82338461103333611a7b565b600c546001600160a01b03163314612869576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600c54604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600c80546001600160a01b039092166001600160a01b0319928316179055600d80549091169055565b601154600160a01b900460ff1681565b60006128f46132d4565b6001600160a01b0316634a03d5568361290c85611a7b565b6040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b15801561133457600080fd5b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60006110b761362c565b600061298f6132d4565b6001600160a01b031663e587497e84846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156129e557600080fd5b505af1158015612000573d6000803e3d6000fd5b6000612a036132d4565b6001600160a01b031663833aca928585612a1d88876118dd565b866040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b0316815260200183815260200182815260200194505050505060206040518083038186803b158015612a7957600080fd5b505afa158015612a8d573d6000803e3d6000fd5b505050506040513d6020811015612aa357600080fd5b5051949350505050565b606080600080612abb6132d4565b6001600160a01b031663ed475a7987876040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060006040518083038186803b158015612b0f57600080fd5b505afa158015612b23573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526080811015612b4c57600080fd5b8101908080516040519392919084600160201b821115612b6b57600080fd5b908301906020820185811115612b8057600080fd5b82518660208202830111600160201b82111715612b9c57600080fd5b82525081516020918201928201910280838360005b83811015612bc9578181015183820152602001612bb1565b5050505090500160405260200180516040519392919084600160201b821115612bf157600080fd5b908301906020820185811115612c0657600080fd5b82518660208202830111600160201b82111715612c2257600080fd5b82525081516020918201928201910280838360005b83811015612c4f578181015183820152602001612c37565b505050509190910160409081526020830151920151959c949b509099509397509195505050505050565b600b546000906001600160a01b03163314612cd3576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600a546113fc90600690859085906138b6565b60006110b7611366565b600b546000906001600160a01b03163314612d4a576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600a546110d49060079084906138fc565b6000612d656132d4565b6001600160a01b031663f6837767836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561133457600080fd5b600c546001600160a01b03163314612e02576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b612e0b816139c2565b600e546001600160a01b031615612e8357600e546040805163f6a494af60e01b81526001600160a01b0384811660048301529151919092169163f6a494af91602480830192600092919082900301818387803b158015612e6a57600080fd5b505af1158015612e7e573d6000803e3d6000fd5b505050505b600f546001600160a01b031615801590612eae5750600e54600f546001600160a01b03908116911614155b15612f1a57600f546040805163f6a494af60e01b81526001600160a01b0384811660048301529151919092169163f6a494af91602480830192600092919082900301818387803b158015612f0157600080fd5b505af1158015612f15573d6000803e3d6000fd5b505050505b6010546001600160a01b0316156112db576010546040805163f6a494af60e01b81526001600160a01b0384811660048301529151919092169163f6a494af91602480830192600092919082900301818387803b1580156112c257600080fd5b6001600160a01b038216612fd4576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b612fe0600083836139e4565b600254612fed9082613632565b6002556001600160a01b0382166000908152602081905260409020546130139082613632565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600f546000906001600160a01b0316806110b7576040805162461bcd60e51b815260206004820152601e60248201527f546f6b656e206d697373696e67207772697465205650436f6e74726163740000604482015290519081900360640190fd5b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156131565780601f1061312b57610100808354040283529160200191613156565b820191906000526020600020905b81548152906001019060200180831161313957829003601f168201915b5050505050905090565b3390565b6001600160a01b0383166131a95760405162461bcd60e51b81526004018080602001828103825260248152602001806143b46024913960400191505060405180910390fd5b6001600160a01b0382166131ee5760405162461bcd60e51b81526004018080602001828103825260228152602001806142436022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600a548110156132915760405162461bcd60e51b815260040180806020018281038252602881526020018061428b6028913960400191505060405180910390fd5b4381106132cf5760405162461bcd60e51b81526004018080602001828103825260218152602001806142226021913960400191505060405180910390fd5b600a55565b600e546000906001600160a01b0316806110b7576040805162461bcd60e51b815260206004820152601d60248201527f546f6b656e206d697373696e672072656164205650436f6e7472616374000000604482015290519081900360640190fd5b6001600160a01b03831661337a5760405162461bcd60e51b815260040180806020018281038252602581526020018061438f6025913960400191505060405180910390fd5b6001600160a01b0382166133bf5760405162461bcd60e51b81526004018080602001828103825260238152602001806141dd6023913960400191505060405180910390fd5b6133ca8383836139e4565b61340781604051806060016040528060268152602001614265602691396001600160a01b0386166000908152602081905260409020549190613490565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546134369082613632565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561351f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156134e45781810151838201526020016134cc565b50505050905090810190601f1680156135115780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b03821661356c5760405162461bcd60e51b815260040180806020018281038252602181526020018061436e6021913960400191505060405180910390fd5b613578826000836139e4565b6135b581604051806060016040528060228152602001614200602291396001600160a01b0385166000908152602081905260409020549190613490565b6001600160a01b0383166000908152602081905260409020556002546135db9082613bc9565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60055460ff1690565b600a5490565b6000828201838110156113fc576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081815260208390526040812054156136b7575060008181526020839052604081205560016110d4565b50600092915050565b600081600a548110156137045760405162461bcd60e51b815260040180806020018281038252602d8152602001806142b3602d913960400191505060405180910390fd5b61371060068585613c26565b949350505050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156131565780601f1061312b57610100808354040283529160200191613156565b600081600a548110156137bd5760405162461bcd60e51b815260040180806020018281038252602d8152602001806142b3602d913960400191505060405180910390fd5b6113fc600784613c51565b600081600a5481101561380c5760405162461bcd60e51b815260040180806020018281038252602d8152602001806142b3602d913960400191505060405180910390fd5b438310613860576040805162461bcd60e51b815260206004820181905260248201527f43616e206f6e6c79206265207573656420666f72207061737420626c6f636b73604482015290519081900360640190fd5b6000806138706009600787613d77565b9150915080156138ae576040805186815290517ffec477a10b4fcdfdf1114eb32b3caf6118b2d76d20e1fcb70007274bb4b616be9181900360200190a15b509392505050565b60006001600160a01b038416156138f1576001600160a01b03841660009081526020869052604090206138ea9084846138fc565b9050613710565b506000949350505050565b60008161390b575060006113fc565b83548061391c5760009150506113fc565b600185015460006139396139308388613632565b60018503613dd5565b9050815b818110801561396f57508588600001826001018154811061395a57fe5b90600052602060002090600202016000015411155b156139a45787600001818154811061398357fe5b6000918252602082206002909102018181556001908101919091550161393d565b828111156139b457600188018190555b919091039695505050505050565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b816001600160a01b0316836001600160a01b03161415613a4b576040805162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015290519081900360640190fd5b6000613a5684611a7b565b90506000613a6384611a7b565b600f549091506001600160a01b03168015613afd576040805163756da1b160e11b81526001600160a01b038881166004830152878116602483015260448201869052606482018590526084820187905291519183169163eadb43629160a48082019260009290919082900301818387803b158015613ae057600080fd5b505af1158015613af4573d6000803e3d6000fd5b50505050613b22565b601154600160a01b900460ff16613b22576011805460ff60a01b1916600160a01b1790555b6010546001600160a01b03168015613bb5576040805163756da1b160e11b81526001600160a01b038981166004830152888116602483015260448201879052606482018690526084820188905291519183169163eadb43629160a48082019260009290919082900301818387803b158015613b9c57600080fd5b505af1158015613bb0573d6000803e3d6000fd5b505050505b613bc0878787613deb565b50505050505050565b600082821115613c20576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b0382166000908152602084905260408120613c488184613c51565b95945050505050565b815460009080613c655760009150506110d4565b4383101580613c975750836000016001820381548110613c8157fe5b9060005260206000209060020201600001548310155b15613cc857836000016001820381548110613cae57fe5b9060005260206000209060020201600101549150506110d4565b60018401548454859082908110613cdb57fe5b906000526020600020906002020160000154841015613d3c578015613d315760405162461bcd60e51b81526004018080602001828103825260308152602001806143d86030913960400191505060405180910390fd5b6000925050506110d4565b6000613d49868387613e2b565b9050856000018181548110613d5a57fe5b906000526020600020906002020160010154935050505092915050565b60008181526020849052604081205481908015613d9d5760001901915060009050613dcd565b6000613da98686613c51565b9050613db6816001613632565b600086815260208990526040902055925060019150505b935093915050565b6000818310613de457816113fc565b5090919050565b6001600160a01b038316613e0857613e038282613eb7565b612149565b6001600160a01b038216613e2057613e038382613f14565b612149838383613fbc565b825460009083908290613e3f906001613bc9565b90505b81811115613eae576000613e6c6002613e666001613e608688613632565b90613632565b90613ff2565b905084878281548110613e7b57fe5b90600052602060002090600202016000015411613e9a57809250613ea8565b613ea5816001613bc9565b91505b50613e42565b50949350505050565b6000613ec782613e6085436118dd565b9050613ed560068483614059565b600a54613ee99060069085906002906138b6565b50613f02613efa83613e6043612158565b600790614077565b600a546124b6906007906002906138fc565b6000613f538260405180604001604052806016815260200175213ab937103a37b7903134b3903337b91037bbb732b960511b8152506120cc86436118dd565b9050613f6160068483614059565b600a54613f759060069085906002906138b6565b50613f02613efa836040518060400160405280601d81526020017f4275726e20746f6f2062696720666f7220746f74616c20737570706c790000008152506120cc43612158565b613fc96006848484614140565b600a54613fdd9060069085906002906138b6565b50600a546124b69060069084906002906138b6565b6000808211614048576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161405157fe5b049392505050565b6001600160a01b03821660009081526020849052604090206124b681835b8154806140bb576040805180820190915243815260208082018481528554600181810188556000888152939093209351600290910290930192835551910155612149565b60008360000160018303815481106140cf57fe5b600091825260209091206002909102018054909150438114156140f857600182018490556112d6565b80431161410157fe5b604080518082019091524381526020808201868152875460018181018a5560008a81529390932093516002909102909301928355519101555050505050565b8061414a576124b6565b6001600160a01b03831615801561416857506001600160a01b038216155b1561416f57fe5b6001600160a01b038316156141a35760006141948261418e87876141cf565b90613bc9565b90506141a1858583614059565b505b6001600160a01b038216156124b65760006141c282613e6087866141cf565b90506112d6858483614059565b60006113fc838343613c2656fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e6365436c65616e757020626c6f636b206d75737420626520696e20746865207061737445524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365436c65616e757020626c6f636b206e756d626572206d757374206e65766572206465637265617365436865636b506f696e7461626c653a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b5650436f6e7472616374206e6f7420636f6e6669677572656420666f72207265706c6163656d656e7445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365476f7665726e616e636520766f746520706f77657220636f6e747261637420646f6573206e6f742062656c6f6e6720746f207468697320746f6b656e2e45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373436865636b506f696e74486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f5650436f6e7472616374206e6f74206f776e6564206279207468697320746f6b656ea2646970667358221220bae033875506a7483ad04085749befa457b36af1ac302c46b909fc80adb863cb64736f6c63430007060033",
1192
- "deployedBytecode": "0x60806040526004361061036f5760003560e01c806395d89b41116101c6578063d0e30db0116100f7578063e64767aa11610095578063f5f3d4f71161006f578063f5f3d4f714610f2b578063f62f8f3a14610f40578063f683776714610f6a578063f6a494af14610f9d5761037e565b8063e64767aa14610e76578063ed475a7914610eb9578063f0e292c914610ef25761037e565b8063d6aa0b77116100d1578063d6aa0b7714610dba578063dd62ed3e14610ded578063deea13e714610e28578063e587497e14610e3d5761037e565b8063d0e30db014610d6a578063d38bfff414610d72578063d582cef414610da55761037e565b8063b302f39311610164578063be0ca7471161013e578063be0ca74714610c99578063c373a08e14610cd4578063caeb942b14610d07578063d06dc3ad14610d315761037e565b8063b302f39314610c25578063b760faf914610c3a578063bbd6fbf814610c605761037e565b80639ca2231a116101a05780639ca2231a14610b4d5780639d6a890f14610b80578063a457c2d714610bb3578063a9059cbb14610bec5761037e565b806395d89b4114610af9578063981b24d014610b0e5780639b3baa0e14610b385761037e565b806349e3c7e5116102a0578063755d10a41161023e57806383035a821161021857806383035a8214610a395780638c2b8ae114610a7257806392bfe6d814610a875780639470b0bd14610ac05761037e565b8063755d10a4146108f95780637de5b8ed1461092c5780637f4fcaa914610a065761037e565b80635d36b1901161027a5780635d36b190146107ee5780635d6d11eb1461080357806360f7ac97146108b157806370a08231146108c65761037e565b806349e3c7e5146106a05780634ee2cd7e146107a05780635aa6e675146107d95761037e565b806323b872dd1161030d57806331d12a16116102e757806331d12a16146105e057806339509351146106135780633e5aa26a1461064c57806343ea370b146106765761037e565b806323b872dd146105485780632e1a7d4d1461058b578063313ce567146105b55761037e565b806313de97f51161034957806313de97f514610493578063142d1018146104bd57806318160ddd146105025780631fec092a146105175761037e565b8063026e402b1461038357806306fdde03146103bc578063095ea7b3146104465761037e565b3661037e5761037c610fd0565b005b600080fd5b34801561038f57600080fd5b5061037c600480360360408110156103a657600080fd5b506001600160a01b038135169060200135611012565b3480156103c857600080fd5b506103d16110ad565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561040b5781810151838201526020016103f3565b50505050905090810190601f1680156104385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561045257600080fd5b5061047f6004803603604081101561046957600080fd5b506001600160a01b0381351690602001356110bc565b604080519115158252519081900360200190f35b34801561049f57600080fd5b5061037c600480360360208110156104b657600080fd5b50356110da565b3480156104c957600080fd5b506104f0600480360360208110156104e057600080fd5b50356001600160a01b03166112de565b60408051918252519081900360200190f35b34801561050e57600080fd5b506104f0611366565b34801561052357600080fd5b5061052c61136c565b604080516001600160a01b039092168252519081900360200190f35b34801561055457600080fd5b5061047f6004803603606081101561056b57600080fd5b506001600160a01b0381358116916020810135909116906040013561137b565b34801561059757600080fd5b5061037c600480360360208110156105ae57600080fd5b5035611403565b3480156105c157600080fd5b506105ca611474565b6040805160ff9092168252519081900360200190f35b3480156105ec57600080fd5b5061037c6004803603602081101561060357600080fd5b50356001600160a01b031661147e565b34801561061f57600080fd5b5061047f6004803603604081101561063657600080fd5b506001600160a01b038135169060200135611667565b34801561065857600080fd5b506104f06004803603602081101561066f57600080fd5b50356116b5565b34801561068257600080fd5b506104f06004803603602081101561069957600080fd5b50356116c0565b3480156106ac57600080fd5b50610750600480360360408110156106c357600080fd5b810190602081018135600160201b8111156106dd57600080fd5b8201836020820111156106ef57600080fd5b803590602001918460208302840111600160201b8311171561071057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550509135925061177b915050565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561078c578181015183820152602001610774565b505050509050019250505060405180910390f35b3480156107ac57600080fd5b506104f0600480360360408110156107c357600080fd5b506001600160a01b0381351690602001356118dd565b3480156107e557600080fd5b5061052c6118e9565b3480156107fa57600080fd5b5061037c6118f8565b34801561080f57600080fd5b506104f06004803603602081101561082657600080fd5b810190602081018135600160201b81111561084057600080fd5b82018360208201111561085257600080fd5b803590602001918460208302840111600160201b8311171561087357600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506119ba945050505050565b3480156108bd57600080fd5b5061052c611a6c565b3480156108d257600080fd5b506104f0600480360360208110156108e957600080fd5b50356001600160a01b0316611a7b565b34801561090557600080fd5b5061037c6004803603602081101561091c57600080fd5b50356001600160a01b0316611a96565b34801561093857600080fd5b5061095f6004803603602081101561094f57600080fd5b50356001600160a01b0316611d47565b604051808060200180602001858152602001848152602001838103835287818151815260200191508051906020019060200280838360005b838110156109af578181015183820152602001610997565b50505050905001838103825286818151815260200191508051906020019060200280838360005b838110156109ee5781810151838201526020016109d6565b50505050905001965050505050505060405180910390f35b348015610a1257600080fd5b5061037c60048036036020811015610a2957600080fd5b50356001600160a01b0316611f0a565b348015610a4557600080fd5b506104f060048036036040811015610a5c57600080fd5b506001600160a01b038135169060200135611f7d565b348015610a7e57600080fd5b5061052c61201f565b348015610a9357600080fd5b506104f060048036036040811015610aaa57600080fd5b506001600160a01b03813516906020013561202e565b348015610acc57600080fd5b5061037c60048036036040811015610ae357600080fd5b506001600160a01b03813516906020013561208c565b348015610b0557600080fd5b506103d161214e565b348015610b1a57600080fd5b506104f060048036036020811015610b3157600080fd5b5035612158565b348015610b4457600080fd5b5061052c612163565b348015610b5957600080fd5b5061037c60048036036020811015610b7057600080fd5b50356001600160a01b0316612172565b348015610b8c57600080fd5b5061037c60048036036020811015610ba357600080fd5b50356001600160a01b03166122e6565b348015610bbf57600080fd5b5061047f60048036036040811015610bd657600080fd5b506001600160a01b0381351690602001356123c0565b348015610bf857600080fd5b5061047f60048036036040811015610c0f57600080fd5b506001600160a01b038135169060200135612428565b348015610c3157600080fd5b5061037c61243c565b61037c60048036036020811015610c5057600080fd5b50356001600160a01b03166124bc565b348015610c6c57600080fd5b5061037c60048036036040811015610c8357600080fd5b506001600160a01b038135169060200135612563565b348015610ca557600080fd5b506104f060048036036040811015610cbc57600080fd5b506001600160a01b03813581169160200135166126d0565b348015610ce057600080fd5b5061037c60048036036020811015610cf757600080fd5b50356001600160a01b0316612747565b348015610d1357600080fd5b506104f060048036036020811015610d2a57600080fd5b50356127ec565b348015610d3d57600080fd5b5061037c60048036036040811015610d5457600080fd5b506001600160a01b0381351690602001356127f7565b61037c610fd0565b348015610d7e57600080fd5b5061037c60048036036020811015610d9557600080fd5b50356001600160a01b0316612818565b348015610db157600080fd5b5061047f6128da565b348015610dc657600080fd5b506104f060048036036020811015610ddd57600080fd5b50356001600160a01b03166128ea565b348015610df957600080fd5b506104f060048036036040811015610e1057600080fd5b506001600160a01b0381358116916020013516612950565b348015610e3457600080fd5b506104f061297b565b348015610e4957600080fd5b506104f060048036036040811015610e6057600080fd5b506001600160a01b038135169060200135612985565b348015610e8257600080fd5b506104f060048036036060811015610e9957600080fd5b506001600160a01b038135811691602081013590911690604001356129f9565b348015610ec557600080fd5b5061095f60048036036040811015610edc57600080fd5b506001600160a01b038135169060200135612aad565b348015610efe57600080fd5b506104f060048036036040811015610f1557600080fd5b506001600160a01b038135169060200135612c79565b348015610f3757600080fd5b506104f0612ce6565b348015610f4c57600080fd5b506104f060048036036020811015610f6357600080fd5b5035612cf0565b348015610f7657600080fd5b506104f060048036036020811015610f8d57600080fd5b50356001600160a01b0316612d5b565b348015610fa957600080fd5b5061037c60048036036020811015610fc057600080fd5b50356001600160a01b0316612db1565b610fda3334612f79565b60408051348152905133917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a2565b61101a613069565b6001600160a01b0316636230001a338461103333611a7b565b856040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b15801561109157600080fd5b505af11580156110a5573d6000803e3d6000fd5b505050505050565b60606110b76130ca565b905090565b60006110d06110c9613160565b8484613164565b5060015b92915050565b600c546001600160a01b03163314806110fd57506011546001600160a01b031633145b61114e576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c7920676f7665726e616e6365206f72206d616e61676572000000000000604482015290519081900360640190fd5b61115781613250565b600e546001600160a01b0316156111ce57600e54604080516313de97f560e01b81526004810184905290516001600160a01b03909216916313de97f59160248082019260009290919082900301818387803b1580156111b557600080fd5b505af11580156111c9573d6000803e3d6000fd5b505050505b600f546001600160a01b0316158015906111f95750600e54600f546001600160a01b03908116911614155b1561126457600f54604080516313de97f560e01b81526004810184905290516001600160a01b03909216916313de97f59160248082019260009290919082900301818387803b15801561124b57600080fd5b505af115801561125f573d6000803e3d6000fd5b505050505b6010546001600160a01b0316156112db57601054604080516313de97f560e01b81526004810184905290516001600160a01b03909216916313de97f59160248082019260009290919082900301818387803b1580156112c257600080fd5b505af11580156112d6573d6000803e3d6000fd5b505050505b50565b60006112e86132d4565b6001600160a01b031663142d1018836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561133457600080fd5b505afa158015611348573d6000803e3d6000fd5b505050506040513d602081101561135e57600080fd5b505192915050565b60025490565b600f546001600160a01b031690565b6000611388848484613335565b6113f884611394613160565b6113f385604051806060016040528060288152602001614309602891396001600160a01b038a166000908152600160205260408120906113d2613160565b6001600160a01b031681526020810191909152604001600020549190613490565b613164565b5060015b9392505050565b61140d3382613527565b60408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a2604051339082156108fc029083906000818181858888f19350505050158015611470573d6000803e3d6000fd5b5050565b60006110b7613623565b600c546001600160a01b031633146114cf576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b6001600160a01b038116156115f857306001600160a01b0316816001600160a01b031663653718836040518163ffffffff1660e01b815260040160206040518083038186803b15801561152157600080fd5b505afa158015611535573d6000803e3d6000fd5b505050506040513d602081101561154b57600080fd5b50516001600160a01b0316146115925760405162461bcd60e51b815260040180806020018281038252602281526020018061442d6022913960400191505060405180910390fd5b806001600160a01b03166313de97f56115a961362c565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156115df57600080fd5b505af11580156115f3573d6000803e3d6000fd5b505050505b600e5460408051600081526001600160a01b03928316602082015291831682820152517fbec98a6c0f609cda6b9f23b95824ba6ac733cb57edd17d344f2f2796844007399181900360600190a1600e80546001600160a01b0319166001600160a01b0392909216919091179055565b60006110d0611674613160565b846113f38560016000611685613160565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490613632565b60006110d482612158565b600b546000906001600160a01b0316331461171a576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600a548210611770576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6110d460098361368c565b60606117856132d4565b6001600160a01b03166349e3c7e584846040518363ffffffff1660e01b81526004018080602001838152602001828103825284818151815260200191508051906020019060200280838360005b838110156117ea5781810151838201526020016117d2565b50505050905001935050505060006040518083038186803b15801561180e57600080fd5b505afa158015611822573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561184b57600080fd5b8101908080516040519392919084600160201b82111561186a57600080fd5b90830190602082018581111561187f57600080fd5b82518660208202830111600160201b8211171561189b57600080fd5b82525081516020918201928201910280838360005b838110156118c85781810151838201526020016118b0565b50505050905001604052505050905092915050565b60006113fc83836136c0565b600c546001600160a01b031681565b600d546001600160a01b03163314611947576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600c54600d54604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600d8054600c80546001600160a01b03199081166001600160a01b03841617909155169055565b60006119c4613069565b6001600160a01b0316630f8b8af733846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015611a32578181015183820152602001611a1a565b505050509050019350505050602060405180830381600087803b158015611a5857600080fd5b505af1158015611348573d6000803e3d6000fd5b600d546001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b600c546001600160a01b03163314611ae7576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b6001600160a01b03811615611cd857306001600160a01b0316816001600160a01b031663653718836040518163ffffffff1660e01b815260040160206040518083038186803b158015611b3957600080fd5b505afa158015611b4d573d6000803e3d6000fd5b505050506040513d6020811015611b6357600080fd5b50516001600160a01b031614611baa5760405162461bcd60e51b815260040180806020018281038252602281526020018061442d6022913960400191505060405180910390fd5b601154600160a01b900460ff161580611c245750806001600160a01b031663aa94d3f26040518163ffffffff1660e01b815260040160206040518083038186803b158015611bf757600080fd5b505afa158015611c0b573d6000803e3d6000fd5b505050506040513d6020811015611c2157600080fd5b50515b611c5f5760405162461bcd60e51b81526004018080602001828103825260298152602001806142e06029913960400191505060405180910390fd5b806001600160a01b03166313de97f5611c7661362c565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611cac57600080fd5b505af1158015611cc0573d6000803e3d6000fd5b50506011805460ff60a01b1916600160a01b17905550505b600f5460408051600181526001600160a01b03928316602082015291831682820152517fbec98a6c0f609cda6b9f23b95824ba6ac733cb57edd17d344f2f2796844007399181900360600190a1600f80546001600160a01b0319166001600160a01b0392909216919091179055565b606080600080611d556132d4565b6001600160a01b0316637de5b8ed866040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060006040518083038186803b158015611da157600080fd5b505afa158015611db5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526080811015611dde57600080fd5b8101908080516040519392919084600160201b821115611dfd57600080fd5b908301906020820185811115611e1257600080fd5b82518660208202830111600160201b82111715611e2e57600080fd5b82525081516020918201928201910280838360005b83811015611e5b578181015183820152602001611e43565b5050505090500160405260200180516040519392919084600160201b821115611e8357600080fd5b908301906020820185811115611e9857600080fd5b82518660208202830111600160201b82111715611eb457600080fd5b82525081516020918201928201910280838360005b83811015611ee1578181015183820152602001611ec9565b505050509190910160409081526020830151920151959b949a5090985093965091945050505050565b600c546001600160a01b03163314611f5b576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6000611f876132d4565b6001600160a01b0316633150392784611fa086866118dd565b856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001828152602001935050505060206040518083038186803b158015611fec57600080fd5b505afa158015612000573d6000803e3d6000fd5b505050506040513d602081101561201657600080fd5b50519392505050565b6010546001600160a01b031690565b60006120386132d4565b6001600160a01b03166392bfe6d884846040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b158015611fec57600080fd5b6120d382336113f38460405180604001604052806014815260200173616c6c6f77616e63652062656c6f77207a65726f60601b8152506120cc8833612950565b9190613490565b6120dd8282613527565b6040805182815290516001600160a01b038416917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a2604051339082156108fc029083906000818181858888f19350505050158015612149573d6000803e3d6000fd5b505050565b60606110b7613718565b60006110d482613779565b600e546001600160a01b031690565b600c546001600160a01b031633146121c3576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b306001600160a01b0316816001600160a01b031663653718836040518163ffffffff1660e01b815260040160206040518083038186803b15801561220657600080fd5b505afa15801561221a573d6000803e3d6000fd5b505050506040513d602081101561223057600080fd5b50516001600160a01b0316146122775760405162461bcd60e51b815260040180806020018281038252603d815260200180614331603d913960400191505060405180910390fd5b60105460408051600281526001600160a01b03928316602082015291831682820152517fbec98a6c0f609cda6b9f23b95824ba6ac733cb57edd17d344f2f2796844007399181900360600190a1601080546001600160a01b0319166001600160a01b0392909216919091179055565b600d54600160a01b900460ff161561233c576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b600d805460ff60a01b1916600160a01b179055600c54604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600c80546001600160a01b039092166001600160a01b0319928316179055600d80549091169055565b60006110d06123cd613160565b846113f38560405180606001604052806025815260200161440860259139600160006123f7613160565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190613490565b60006110d0612435613160565b8484613335565b612444613069565b6001600160a01b03166305109ecf3361245c33611a7b565b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156124a257600080fd5b505af11580156124b6573d6000803e3d6000fd5b50505050565b6001600160a01b038116612517576040805162461bcd60e51b815260206004820152601e60248201527f43616e6e6f74206465706f73697420746f207a65726f20616464726573730000604482015290519081900360640190fd5b6125218134612f79565b6040805134815290516001600160a01b038316917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a250565b600f54600e546001600160a01b039182169116811561260e57816001600160a01b031663c7c62fab338661259733886118dd565b876040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b1580156125f557600080fd5b505af1158015612609573d6000803e3d6000fd5b505050505b816001600160a01b0316816001600160a01b03161415801561263857506001600160a01b03811615155b156124b657806001600160a01b031663c7c62fab338661265833886118dd565b876040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b1580156126b657600080fd5b505af19250505080156126c7575060015b6124b6576124b6565b60006126da6132d4565b6001600160a01b0316639dc6b9f284846126f387611a7b565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001828152602001935050505060206040518083038186803b158015611fec57600080fd5b600c546001600160a01b03163314612798576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b60006110d4826137c8565b6127ff613069565b6001600160a01b031663404d9e82338461103333611a7b565b600c546001600160a01b03163314612869576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600c54604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600c80546001600160a01b039092166001600160a01b0319928316179055600d80549091169055565b601154600160a01b900460ff1681565b60006128f46132d4565b6001600160a01b0316634a03d5568361290c85611a7b565b6040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b15801561133457600080fd5b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60006110b761362c565b600061298f6132d4565b6001600160a01b031663e587497e84846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156129e557600080fd5b505af1158015612000573d6000803e3d6000fd5b6000612a036132d4565b6001600160a01b031663833aca928585612a1d88876118dd565b866040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b0316815260200183815260200182815260200194505050505060206040518083038186803b158015612a7957600080fd5b505afa158015612a8d573d6000803e3d6000fd5b505050506040513d6020811015612aa357600080fd5b5051949350505050565b606080600080612abb6132d4565b6001600160a01b031663ed475a7987876040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060006040518083038186803b158015612b0f57600080fd5b505afa158015612b23573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526080811015612b4c57600080fd5b8101908080516040519392919084600160201b821115612b6b57600080fd5b908301906020820185811115612b8057600080fd5b82518660208202830111600160201b82111715612b9c57600080fd5b82525081516020918201928201910280838360005b83811015612bc9578181015183820152602001612bb1565b5050505090500160405260200180516040519392919084600160201b821115612bf157600080fd5b908301906020820185811115612c0657600080fd5b82518660208202830111600160201b82111715612c2257600080fd5b82525081516020918201928201910280838360005b83811015612c4f578181015183820152602001612c37565b505050509190910160409081526020830151920151959c949b509099509397509195505050505050565b600b546000906001600160a01b03163314612cd3576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600a546113fc90600690859085906138b6565b60006110b7611366565b600b546000906001600160a01b03163314612d4a576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600a546110d49060079084906138fc565b6000612d656132d4565b6001600160a01b031663f6837767836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561133457600080fd5b600c546001600160a01b03163314612e02576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b612e0b816139c2565b600e546001600160a01b031615612e8357600e546040805163f6a494af60e01b81526001600160a01b0384811660048301529151919092169163f6a494af91602480830192600092919082900301818387803b158015612e6a57600080fd5b505af1158015612e7e573d6000803e3d6000fd5b505050505b600f546001600160a01b031615801590612eae5750600e54600f546001600160a01b03908116911614155b15612f1a57600f546040805163f6a494af60e01b81526001600160a01b0384811660048301529151919092169163f6a494af91602480830192600092919082900301818387803b158015612f0157600080fd5b505af1158015612f15573d6000803e3d6000fd5b505050505b6010546001600160a01b0316156112db576010546040805163f6a494af60e01b81526001600160a01b0384811660048301529151919092169163f6a494af91602480830192600092919082900301818387803b1580156112c257600080fd5b6001600160a01b038216612fd4576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b612fe0600083836139e4565b600254612fed9082613632565b6002556001600160a01b0382166000908152602081905260409020546130139082613632565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600f546000906001600160a01b0316806110b7576040805162461bcd60e51b815260206004820152601e60248201527f546f6b656e206d697373696e67207772697465205650436f6e74726163740000604482015290519081900360640190fd5b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156131565780601f1061312b57610100808354040283529160200191613156565b820191906000526020600020905b81548152906001019060200180831161313957829003601f168201915b5050505050905090565b3390565b6001600160a01b0383166131a95760405162461bcd60e51b81526004018080602001828103825260248152602001806143b46024913960400191505060405180910390fd5b6001600160a01b0382166131ee5760405162461bcd60e51b81526004018080602001828103825260228152602001806142436022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600a548110156132915760405162461bcd60e51b815260040180806020018281038252602881526020018061428b6028913960400191505060405180910390fd5b4381106132cf5760405162461bcd60e51b81526004018080602001828103825260218152602001806142226021913960400191505060405180910390fd5b600a55565b600e546000906001600160a01b0316806110b7576040805162461bcd60e51b815260206004820152601d60248201527f546f6b656e206d697373696e672072656164205650436f6e7472616374000000604482015290519081900360640190fd5b6001600160a01b03831661337a5760405162461bcd60e51b815260040180806020018281038252602581526020018061438f6025913960400191505060405180910390fd5b6001600160a01b0382166133bf5760405162461bcd60e51b81526004018080602001828103825260238152602001806141dd6023913960400191505060405180910390fd5b6133ca8383836139e4565b61340781604051806060016040528060268152602001614265602691396001600160a01b0386166000908152602081905260409020549190613490565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546134369082613632565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561351f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156134e45781810151838201526020016134cc565b50505050905090810190601f1680156135115780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b03821661356c5760405162461bcd60e51b815260040180806020018281038252602181526020018061436e6021913960400191505060405180910390fd5b613578826000836139e4565b6135b581604051806060016040528060228152602001614200602291396001600160a01b0385166000908152602081905260409020549190613490565b6001600160a01b0383166000908152602081905260409020556002546135db9082613bc9565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60055460ff1690565b600a5490565b6000828201838110156113fc576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081815260208390526040812054156136b7575060008181526020839052604081205560016110d4565b50600092915050565b600081600a548110156137045760405162461bcd60e51b815260040180806020018281038252602d8152602001806142b3602d913960400191505060405180910390fd5b61371060068585613c26565b949350505050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156131565780601f1061312b57610100808354040283529160200191613156565b600081600a548110156137bd5760405162461bcd60e51b815260040180806020018281038252602d8152602001806142b3602d913960400191505060405180910390fd5b6113fc600784613c51565b600081600a5481101561380c5760405162461bcd60e51b815260040180806020018281038252602d8152602001806142b3602d913960400191505060405180910390fd5b438310613860576040805162461bcd60e51b815260206004820181905260248201527f43616e206f6e6c79206265207573656420666f72207061737420626c6f636b73604482015290519081900360640190fd5b6000806138706009600787613d77565b9150915080156138ae576040805186815290517ffec477a10b4fcdfdf1114eb32b3caf6118b2d76d20e1fcb70007274bb4b616be9181900360200190a15b509392505050565b60006001600160a01b038416156138f1576001600160a01b03841660009081526020869052604090206138ea9084846138fc565b9050613710565b506000949350505050565b60008161390b575060006113fc565b83548061391c5760009150506113fc565b600185015460006139396139308388613632565b60018503613dd5565b9050815b818110801561396f57508588600001826001018154811061395a57fe5b90600052602060002090600202016000015411155b156139a45787600001818154811061398357fe5b6000918252602082206002909102018181556001908101919091550161393d565b828111156139b457600188018190555b919091039695505050505050565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b816001600160a01b0316836001600160a01b03161415613a4b576040805162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015290519081900360640190fd5b6000613a5684611a7b565b90506000613a6384611a7b565b600f549091506001600160a01b03168015613afd576040805163756da1b160e11b81526001600160a01b038881166004830152878116602483015260448201869052606482018590526084820187905291519183169163eadb43629160a48082019260009290919082900301818387803b158015613ae057600080fd5b505af1158015613af4573d6000803e3d6000fd5b50505050613b22565b601154600160a01b900460ff16613b22576011805460ff60a01b1916600160a01b1790555b6010546001600160a01b03168015613bb5576040805163756da1b160e11b81526001600160a01b038981166004830152888116602483015260448201879052606482018690526084820188905291519183169163eadb43629160a48082019260009290919082900301818387803b158015613b9c57600080fd5b505af1158015613bb0573d6000803e3d6000fd5b505050505b613bc0878787613deb565b50505050505050565b600082821115613c20576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b0382166000908152602084905260408120613c488184613c51565b95945050505050565b815460009080613c655760009150506110d4565b4383101580613c975750836000016001820381548110613c8157fe5b9060005260206000209060020201600001548310155b15613cc857836000016001820381548110613cae57fe5b9060005260206000209060020201600101549150506110d4565b60018401548454859082908110613cdb57fe5b906000526020600020906002020160000154841015613d3c578015613d315760405162461bcd60e51b81526004018080602001828103825260308152602001806143d86030913960400191505060405180910390fd5b6000925050506110d4565b6000613d49868387613e2b565b9050856000018181548110613d5a57fe5b906000526020600020906002020160010154935050505092915050565b60008181526020849052604081205481908015613d9d5760001901915060009050613dcd565b6000613da98686613c51565b9050613db6816001613632565b600086815260208990526040902055925060019150505b935093915050565b6000818310613de457816113fc565b5090919050565b6001600160a01b038316613e0857613e038282613eb7565b612149565b6001600160a01b038216613e2057613e038382613f14565b612149838383613fbc565b825460009083908290613e3f906001613bc9565b90505b81811115613eae576000613e6c6002613e666001613e608688613632565b90613632565b90613ff2565b905084878281548110613e7b57fe5b90600052602060002090600202016000015411613e9a57809250613ea8565b613ea5816001613bc9565b91505b50613e42565b50949350505050565b6000613ec782613e6085436118dd565b9050613ed560068483614059565b600a54613ee99060069085906002906138b6565b50613f02613efa83613e6043612158565b600790614077565b600a546124b6906007906002906138fc565b6000613f538260405180604001604052806016815260200175213ab937103a37b7903134b3903337b91037bbb732b960511b8152506120cc86436118dd565b9050613f6160068483614059565b600a54613f759060069085906002906138b6565b50613f02613efa836040518060400160405280601d81526020017f4275726e20746f6f2062696720666f7220746f74616c20737570706c790000008152506120cc43612158565b613fc96006848484614140565b600a54613fdd9060069085906002906138b6565b50600a546124b69060069084906002906138b6565b6000808211614048576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161405157fe5b049392505050565b6001600160a01b03821660009081526020849052604090206124b681835b8154806140bb576040805180820190915243815260208082018481528554600181810188556000888152939093209351600290910290930192835551910155612149565b60008360000160018303815481106140cf57fe5b600091825260209091206002909102018054909150438114156140f857600182018490556112d6565b80431161410157fe5b604080518082019091524381526020808201868152875460018181018a5560008a81529390932093516002909102909301928355519101555050505050565b8061414a576124b6565b6001600160a01b03831615801561416857506001600160a01b038216155b1561416f57fe5b6001600160a01b038316156141a35760006141948261418e87876141cf565b90613bc9565b90506141a1858583614059565b505b6001600160a01b038216156124b65760006141c282613e6087866141cf565b90506112d6858483614059565b60006113fc838343613c2656fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e6365436c65616e757020626c6f636b206d75737420626520696e20746865207061737445524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365436c65616e757020626c6f636b206e756d626572206d757374206e65766572206465637265617365436865636b506f696e7461626c653a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b5650436f6e7472616374206e6f7420636f6e6669677572656420666f72207265706c6163656d656e7445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365476f7665726e616e636520766f746520706f77657220636f6e747261637420646f6573206e6f742062656c6f6e6720746f207468697320746f6b656e2e45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373436865636b506f696e74486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f5650436f6e7472616374206e6f74206f776e6564206279207468697320746f6b656ea2646970667358221220bae033875506a7483ad04085749befa457b36af1ac302c46b909fc80adb863cb64736f6c63430007060033",
1191
+ "bytecode": "0x60806040526011805460ff60a01b191690553480156200001e57600080fd5b506040516200489438038062004894833981810160405260608110156200004457600080fd5b8151602083018051604051929492938301929190846401000000008211156200006c57600080fd5b9083019060208201858111156200008257600080fd5b82516401000000008111828201881017156200009d57600080fd5b82525081516020918201929091019080838360005b83811015620000cc578181015183820152602001620000b2565b50505050905090810190601f168015620000fa5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011e57600080fd5b9083019060208201858111156200013457600080fd5b82516401000000008111828201881017156200014f57600080fd5b82525081516020918201929091019080838360005b838110156200017e57818101518382015260200162000164565b50505050905090810190601f168015620001ac5780820380516001836020036101000a031916815260200191505b50604052505050828282828083838160039080519060200190620001d292919062000354565b508051620001e890600490602084019062000354565b50506005805460ff19166012179055506001600160a01b038116156200021357620002138162000270565b506001600160a01b03811662000263576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b5050505050505062000400565b600d54600160a01b900460ff1615620002d0576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b600d805460ff60a01b1916600160a01b179055600c54604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600c80546001600160a01b039092166001600160a01b0319928316179055600d80549091169055565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826200038c5760008555620003d7565b82601f10620003a757805160ff1916838001178555620003d7565b82800160010185558215620003d7579182015b82811115620003d7578251825591602001919060010190620003ba565b50620003e5929150620003e9565b5090565b5b80821115620003e55760008155600101620003ea565b61448480620004106000396000f3fe60806040526004361061036f5760003560e01c806395d89b41116101c6578063d0e30db0116100f7578063e64767aa11610095578063f5f3d4f71161006f578063f5f3d4f714610f2b578063f62f8f3a14610f40578063f683776714610f6a578063f6a494af14610f9d5761037e565b8063e64767aa14610e76578063ed475a7914610eb9578063f0e292c914610ef25761037e565b8063d6aa0b77116100d1578063d6aa0b7714610dba578063dd62ed3e14610ded578063deea13e714610e28578063e587497e14610e3d5761037e565b8063d0e30db014610d6a578063d38bfff414610d72578063d582cef414610da55761037e565b8063b302f39311610164578063be0ca7471161013e578063be0ca74714610c99578063c373a08e14610cd4578063caeb942b14610d07578063d06dc3ad14610d315761037e565b8063b302f39314610c25578063b760faf914610c3a578063bbd6fbf814610c605761037e565b80639ca2231a116101a05780639ca2231a14610b4d5780639d6a890f14610b80578063a457c2d714610bb3578063a9059cbb14610bec5761037e565b806395d89b4114610af9578063981b24d014610b0e5780639b3baa0e14610b385761037e565b806349e3c7e5116102a0578063755d10a41161023e57806383035a821161021857806383035a8214610a395780638c2b8ae114610a7257806392bfe6d814610a875780639470b0bd14610ac05761037e565b8063755d10a4146108f95780637de5b8ed1461092c5780637f4fcaa914610a065761037e565b80635d36b1901161027a5780635d36b190146107ee5780635d6d11eb1461080357806360f7ac97146108b157806370a08231146108c65761037e565b806349e3c7e5146106a05780634ee2cd7e146107a05780635aa6e675146107d95761037e565b806323b872dd1161030d57806331d12a16116102e757806331d12a16146105e057806339509351146106135780633e5aa26a1461064c57806343ea370b146106765761037e565b806323b872dd146105485780632e1a7d4d1461058b578063313ce567146105b55761037e565b806313de97f51161034957806313de97f514610493578063142d1018146104bd57806318160ddd146105025780631fec092a146105175761037e565b8063026e402b1461038357806306fdde03146103bc578063095ea7b3146104465761037e565b3661037e5761037c610fd0565b005b600080fd5b34801561038f57600080fd5b5061037c600480360360408110156103a657600080fd5b506001600160a01b038135169060200135611012565b3480156103c857600080fd5b506103d16110ad565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561040b5781810151838201526020016103f3565b50505050905090810190601f1680156104385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561045257600080fd5b5061047f6004803603604081101561046957600080fd5b506001600160a01b0381351690602001356110bc565b604080519115158252519081900360200190f35b34801561049f57600080fd5b5061037c600480360360208110156104b657600080fd5b50356110da565b3480156104c957600080fd5b506104f0600480360360208110156104e057600080fd5b50356001600160a01b03166112de565b60408051918252519081900360200190f35b34801561050e57600080fd5b506104f0611366565b34801561052357600080fd5b5061052c61136c565b604080516001600160a01b039092168252519081900360200190f35b34801561055457600080fd5b5061047f6004803603606081101561056b57600080fd5b506001600160a01b0381358116916020810135909116906040013561137b565b34801561059757600080fd5b5061037c600480360360208110156105ae57600080fd5b5035611403565b3480156105c157600080fd5b506105ca611474565b6040805160ff9092168252519081900360200190f35b3480156105ec57600080fd5b5061037c6004803603602081101561060357600080fd5b50356001600160a01b031661147e565b34801561061f57600080fd5b5061047f6004803603604081101561063657600080fd5b506001600160a01b038135169060200135611667565b34801561065857600080fd5b506104f06004803603602081101561066f57600080fd5b50356116b5565b34801561068257600080fd5b506104f06004803603602081101561069957600080fd5b50356116c0565b3480156106ac57600080fd5b50610750600480360360408110156106c357600080fd5b810190602081018135600160201b8111156106dd57600080fd5b8201836020820111156106ef57600080fd5b803590602001918460208302840111600160201b8311171561071057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550509135925061177b915050565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561078c578181015183820152602001610774565b505050509050019250505060405180910390f35b3480156107ac57600080fd5b506104f0600480360360408110156107c357600080fd5b506001600160a01b0381351690602001356118dd565b3480156107e557600080fd5b5061052c6118e9565b3480156107fa57600080fd5b5061037c6118f8565b34801561080f57600080fd5b506104f06004803603602081101561082657600080fd5b810190602081018135600160201b81111561084057600080fd5b82018360208201111561085257600080fd5b803590602001918460208302840111600160201b8311171561087357600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506119ba945050505050565b3480156108bd57600080fd5b5061052c611a6c565b3480156108d257600080fd5b506104f0600480360360208110156108e957600080fd5b50356001600160a01b0316611a7b565b34801561090557600080fd5b5061037c6004803603602081101561091c57600080fd5b50356001600160a01b0316611a96565b34801561093857600080fd5b5061095f6004803603602081101561094f57600080fd5b50356001600160a01b0316611d47565b604051808060200180602001858152602001848152602001838103835287818151815260200191508051906020019060200280838360005b838110156109af578181015183820152602001610997565b50505050905001838103825286818151815260200191508051906020019060200280838360005b838110156109ee5781810151838201526020016109d6565b50505050905001965050505050505060405180910390f35b348015610a1257600080fd5b5061037c60048036036020811015610a2957600080fd5b50356001600160a01b0316611f0a565b348015610a4557600080fd5b506104f060048036036040811015610a5c57600080fd5b506001600160a01b038135169060200135611f7d565b348015610a7e57600080fd5b5061052c61201f565b348015610a9357600080fd5b506104f060048036036040811015610aaa57600080fd5b506001600160a01b03813516906020013561202e565b348015610acc57600080fd5b5061037c60048036036040811015610ae357600080fd5b506001600160a01b03813516906020013561208c565b348015610b0557600080fd5b506103d161214e565b348015610b1a57600080fd5b506104f060048036036020811015610b3157600080fd5b5035612158565b348015610b4457600080fd5b5061052c612163565b348015610b5957600080fd5b5061037c60048036036020811015610b7057600080fd5b50356001600160a01b0316612172565b348015610b8c57600080fd5b5061037c60048036036020811015610ba357600080fd5b50356001600160a01b03166122e6565b348015610bbf57600080fd5b5061047f60048036036040811015610bd657600080fd5b506001600160a01b0381351690602001356123c0565b348015610bf857600080fd5b5061047f60048036036040811015610c0f57600080fd5b506001600160a01b038135169060200135612428565b348015610c3157600080fd5b5061037c61243c565b61037c60048036036020811015610c5057600080fd5b50356001600160a01b03166124bc565b348015610c6c57600080fd5b5061037c60048036036040811015610c8357600080fd5b506001600160a01b038135169060200135612563565b348015610ca557600080fd5b506104f060048036036040811015610cbc57600080fd5b506001600160a01b03813581169160200135166126d0565b348015610ce057600080fd5b5061037c60048036036020811015610cf757600080fd5b50356001600160a01b0316612747565b348015610d1357600080fd5b506104f060048036036020811015610d2a57600080fd5b50356127ec565b348015610d3d57600080fd5b5061037c60048036036040811015610d5457600080fd5b506001600160a01b0381351690602001356127f7565b61037c610fd0565b348015610d7e57600080fd5b5061037c60048036036020811015610d9557600080fd5b50356001600160a01b0316612818565b348015610db157600080fd5b5061047f6128da565b348015610dc657600080fd5b506104f060048036036020811015610ddd57600080fd5b50356001600160a01b03166128ea565b348015610df957600080fd5b506104f060048036036040811015610e1057600080fd5b506001600160a01b0381358116916020013516612950565b348015610e3457600080fd5b506104f061297b565b348015610e4957600080fd5b506104f060048036036040811015610e6057600080fd5b506001600160a01b038135169060200135612985565b348015610e8257600080fd5b506104f060048036036060811015610e9957600080fd5b506001600160a01b038135811691602081013590911690604001356129f9565b348015610ec557600080fd5b5061095f60048036036040811015610edc57600080fd5b506001600160a01b038135169060200135612aad565b348015610efe57600080fd5b506104f060048036036040811015610f1557600080fd5b506001600160a01b038135169060200135612c79565b348015610f3757600080fd5b506104f0612ce6565b348015610f4c57600080fd5b506104f060048036036020811015610f6357600080fd5b5035612cf0565b348015610f7657600080fd5b506104f060048036036020811015610f8d57600080fd5b50356001600160a01b0316612d5b565b348015610fa957600080fd5b5061037c60048036036020811015610fc057600080fd5b50356001600160a01b0316612db1565b610fda3334612f79565b60408051348152905133917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a2565b61101a613069565b6001600160a01b0316636230001a338461103333611a7b565b856040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b15801561109157600080fd5b505af11580156110a5573d6000803e3d6000fd5b505050505050565b60606110b76130ca565b905090565b60006110d06110c9613160565b8484613164565b5060015b92915050565b600c546001600160a01b03163314806110fd57506011546001600160a01b031633145b61114e576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c7920676f7665726e616e6365206f72206d616e61676572000000000000604482015290519081900360640190fd5b61115781613250565b600e546001600160a01b0316156111ce57600e54604080516313de97f560e01b81526004810184905290516001600160a01b03909216916313de97f59160248082019260009290919082900301818387803b1580156111b557600080fd5b505af11580156111c9573d6000803e3d6000fd5b505050505b600f546001600160a01b0316158015906111f95750600e54600f546001600160a01b03908116911614155b1561126457600f54604080516313de97f560e01b81526004810184905290516001600160a01b03909216916313de97f59160248082019260009290919082900301818387803b15801561124b57600080fd5b505af115801561125f573d6000803e3d6000fd5b505050505b6010546001600160a01b0316156112db57601054604080516313de97f560e01b81526004810184905290516001600160a01b03909216916313de97f59160248082019260009290919082900301818387803b1580156112c257600080fd5b505af11580156112d6573d6000803e3d6000fd5b505050505b50565b60006112e86132d4565b6001600160a01b031663142d1018836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561133457600080fd5b505afa158015611348573d6000803e3d6000fd5b505050506040513d602081101561135e57600080fd5b505192915050565b60025490565b600f546001600160a01b031690565b6000611388848484613335565b6113f884611394613160565b6113f385604051806060016040528060288152602001614309602891396001600160a01b038a166000908152600160205260408120906113d2613160565b6001600160a01b031681526020810191909152604001600020549190613490565b613164565b5060015b9392505050565b61140d3382613527565b60408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a2604051339082156108fc029083906000818181858888f19350505050158015611470573d6000803e3d6000fd5b5050565b60006110b7613623565b600c546001600160a01b031633146114cf576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b6001600160a01b038116156115f857306001600160a01b0316816001600160a01b031663653718836040518163ffffffff1660e01b815260040160206040518083038186803b15801561152157600080fd5b505afa158015611535573d6000803e3d6000fd5b505050506040513d602081101561154b57600080fd5b50516001600160a01b0316146115925760405162461bcd60e51b815260040180806020018281038252602281526020018061442d6022913960400191505060405180910390fd5b806001600160a01b03166313de97f56115a961362c565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156115df57600080fd5b505af11580156115f3573d6000803e3d6000fd5b505050505b600e5460408051600081526001600160a01b03928316602082015291831682820152517fbec98a6c0f609cda6b9f23b95824ba6ac733cb57edd17d344f2f2796844007399181900360600190a1600e80546001600160a01b0319166001600160a01b0392909216919091179055565b60006110d0611674613160565b846113f38560016000611685613160565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490613632565b60006110d482612158565b600b546000906001600160a01b0316331461171a576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600a548210611770576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6110d460098361368c565b60606117856132d4565b6001600160a01b03166349e3c7e584846040518363ffffffff1660e01b81526004018080602001838152602001828103825284818151815260200191508051906020019060200280838360005b838110156117ea5781810151838201526020016117d2565b50505050905001935050505060006040518083038186803b15801561180e57600080fd5b505afa158015611822573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561184b57600080fd5b8101908080516040519392919084600160201b82111561186a57600080fd5b90830190602082018581111561187f57600080fd5b82518660208202830111600160201b8211171561189b57600080fd5b82525081516020918201928201910280838360005b838110156118c85781810151838201526020016118b0565b50505050905001604052505050905092915050565b60006113fc83836136c0565b600c546001600160a01b031681565b600d546001600160a01b03163314611947576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600c54600d54604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600d8054600c80546001600160a01b03199081166001600160a01b03841617909155169055565b60006119c4613069565b6001600160a01b0316630f8b8af733846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015611a32578181015183820152602001611a1a565b505050509050019350505050602060405180830381600087803b158015611a5857600080fd5b505af1158015611348573d6000803e3d6000fd5b600d546001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b600c546001600160a01b03163314611ae7576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b6001600160a01b03811615611cd857306001600160a01b0316816001600160a01b031663653718836040518163ffffffff1660e01b815260040160206040518083038186803b158015611b3957600080fd5b505afa158015611b4d573d6000803e3d6000fd5b505050506040513d6020811015611b6357600080fd5b50516001600160a01b031614611baa5760405162461bcd60e51b815260040180806020018281038252602281526020018061442d6022913960400191505060405180910390fd5b601154600160a01b900460ff161580611c245750806001600160a01b031663aa94d3f26040518163ffffffff1660e01b815260040160206040518083038186803b158015611bf757600080fd5b505afa158015611c0b573d6000803e3d6000fd5b505050506040513d6020811015611c2157600080fd5b50515b611c5f5760405162461bcd60e51b81526004018080602001828103825260298152602001806142e06029913960400191505060405180910390fd5b806001600160a01b03166313de97f5611c7661362c565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611cac57600080fd5b505af1158015611cc0573d6000803e3d6000fd5b50506011805460ff60a01b1916600160a01b17905550505b600f5460408051600181526001600160a01b03928316602082015291831682820152517fbec98a6c0f609cda6b9f23b95824ba6ac733cb57edd17d344f2f2796844007399181900360600190a1600f80546001600160a01b0319166001600160a01b0392909216919091179055565b606080600080611d556132d4565b6001600160a01b0316637de5b8ed866040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060006040518083038186803b158015611da157600080fd5b505afa158015611db5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526080811015611dde57600080fd5b8101908080516040519392919084600160201b821115611dfd57600080fd5b908301906020820185811115611e1257600080fd5b82518660208202830111600160201b82111715611e2e57600080fd5b82525081516020918201928201910280838360005b83811015611e5b578181015183820152602001611e43565b5050505090500160405260200180516040519392919084600160201b821115611e8357600080fd5b908301906020820185811115611e9857600080fd5b82518660208202830111600160201b82111715611eb457600080fd5b82525081516020918201928201910280838360005b83811015611ee1578181015183820152602001611ec9565b505050509190910160409081526020830151920151959b949a5090985093965091945050505050565b600c546001600160a01b03163314611f5b576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6000611f876132d4565b6001600160a01b0316633150392784611fa086866118dd565b856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001828152602001935050505060206040518083038186803b158015611fec57600080fd5b505afa158015612000573d6000803e3d6000fd5b505050506040513d602081101561201657600080fd5b50519392505050565b6010546001600160a01b031690565b60006120386132d4565b6001600160a01b03166392bfe6d884846040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b158015611fec57600080fd5b6120d382336113f38460405180604001604052806014815260200173616c6c6f77616e63652062656c6f77207a65726f60601b8152506120cc8833612950565b9190613490565b6120dd8282613527565b6040805182815290516001600160a01b038416917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a2604051339082156108fc029083906000818181858888f19350505050158015612149573d6000803e3d6000fd5b505050565b60606110b7613718565b60006110d482613779565b600e546001600160a01b031690565b600c546001600160a01b031633146121c3576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b306001600160a01b0316816001600160a01b031663653718836040518163ffffffff1660e01b815260040160206040518083038186803b15801561220657600080fd5b505afa15801561221a573d6000803e3d6000fd5b505050506040513d602081101561223057600080fd5b50516001600160a01b0316146122775760405162461bcd60e51b815260040180806020018281038252603d815260200180614331603d913960400191505060405180910390fd5b60105460408051600281526001600160a01b03928316602082015291831682820152517fbec98a6c0f609cda6b9f23b95824ba6ac733cb57edd17d344f2f2796844007399181900360600190a1601080546001600160a01b0319166001600160a01b0392909216919091179055565b600d54600160a01b900460ff161561233c576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b600d805460ff60a01b1916600160a01b179055600c54604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600c80546001600160a01b039092166001600160a01b0319928316179055600d80549091169055565b60006110d06123cd613160565b846113f38560405180606001604052806025815260200161440860259139600160006123f7613160565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190613490565b60006110d0612435613160565b8484613335565b612444613069565b6001600160a01b03166305109ecf3361245c33611a7b565b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156124a257600080fd5b505af11580156124b6573d6000803e3d6000fd5b50505050565b6001600160a01b038116612517576040805162461bcd60e51b815260206004820152601e60248201527f43616e6e6f74206465706f73697420746f207a65726f20616464726573730000604482015290519081900360640190fd5b6125218134612f79565b6040805134815290516001600160a01b038316917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a250565b600f54600e546001600160a01b039182169116811561260e57816001600160a01b031663c7c62fab338661259733886118dd565b876040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b1580156125f557600080fd5b505af1158015612609573d6000803e3d6000fd5b505050505b816001600160a01b0316816001600160a01b03161415801561263857506001600160a01b03811615155b156124b657806001600160a01b031663c7c62fab338661265833886118dd565b876040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b1580156126b657600080fd5b505af19250505080156126c7575060015b6124b6576124b6565b60006126da6132d4565b6001600160a01b0316639dc6b9f284846126f387611a7b565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001828152602001935050505060206040518083038186803b158015611fec57600080fd5b600c546001600160a01b03163314612798576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b60006110d4826137c8565b6127ff613069565b6001600160a01b031663404d9e82338461103333611a7b565b600c546001600160a01b03163314612869576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600c54604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600c80546001600160a01b039092166001600160a01b0319928316179055600d80549091169055565b601154600160a01b900460ff1681565b60006128f46132d4565b6001600160a01b0316634a03d5568361290c85611a7b565b6040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b15801561133457600080fd5b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60006110b761362c565b600061298f6132d4565b6001600160a01b031663e587497e84846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156129e557600080fd5b505af1158015612000573d6000803e3d6000fd5b6000612a036132d4565b6001600160a01b031663833aca928585612a1d88876118dd565b866040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b0316815260200183815260200182815260200194505050505060206040518083038186803b158015612a7957600080fd5b505afa158015612a8d573d6000803e3d6000fd5b505050506040513d6020811015612aa357600080fd5b5051949350505050565b606080600080612abb6132d4565b6001600160a01b031663ed475a7987876040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060006040518083038186803b158015612b0f57600080fd5b505afa158015612b23573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526080811015612b4c57600080fd5b8101908080516040519392919084600160201b821115612b6b57600080fd5b908301906020820185811115612b8057600080fd5b82518660208202830111600160201b82111715612b9c57600080fd5b82525081516020918201928201910280838360005b83811015612bc9578181015183820152602001612bb1565b5050505090500160405260200180516040519392919084600160201b821115612bf157600080fd5b908301906020820185811115612c0657600080fd5b82518660208202830111600160201b82111715612c2257600080fd5b82525081516020918201928201910280838360005b83811015612c4f578181015183820152602001612c37565b505050509190910160409081526020830151920151959c949b509099509397509195505050505050565b600b546000906001600160a01b03163314612cd3576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600a546113fc90600690859085906138b6565b60006110b7611366565b600b546000906001600160a01b03163314612d4a576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600a546110d49060079084906138fc565b6000612d656132d4565b6001600160a01b031663f6837767836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561133457600080fd5b600c546001600160a01b03163314612e02576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b612e0b816139c2565b600e546001600160a01b031615612e8357600e546040805163f6a494af60e01b81526001600160a01b0384811660048301529151919092169163f6a494af91602480830192600092919082900301818387803b158015612e6a57600080fd5b505af1158015612e7e573d6000803e3d6000fd5b505050505b600f546001600160a01b031615801590612eae5750600e54600f546001600160a01b03908116911614155b15612f1a57600f546040805163f6a494af60e01b81526001600160a01b0384811660048301529151919092169163f6a494af91602480830192600092919082900301818387803b158015612f0157600080fd5b505af1158015612f15573d6000803e3d6000fd5b505050505b6010546001600160a01b0316156112db576010546040805163f6a494af60e01b81526001600160a01b0384811660048301529151919092169163f6a494af91602480830192600092919082900301818387803b1580156112c257600080fd5b6001600160a01b038216612fd4576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b612fe0600083836139e4565b600254612fed9082613632565b6002556001600160a01b0382166000908152602081905260409020546130139082613632565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600f546000906001600160a01b0316806110b7576040805162461bcd60e51b815260206004820152601e60248201527f546f6b656e206d697373696e67207772697465205650436f6e74726163740000604482015290519081900360640190fd5b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156131565780601f1061312b57610100808354040283529160200191613156565b820191906000526020600020905b81548152906001019060200180831161313957829003601f168201915b5050505050905090565b3390565b6001600160a01b0383166131a95760405162461bcd60e51b81526004018080602001828103825260248152602001806143b46024913960400191505060405180910390fd5b6001600160a01b0382166131ee5760405162461bcd60e51b81526004018080602001828103825260228152602001806142436022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600a548110156132915760405162461bcd60e51b815260040180806020018281038252602881526020018061428b6028913960400191505060405180910390fd5b4381106132cf5760405162461bcd60e51b81526004018080602001828103825260218152602001806142226021913960400191505060405180910390fd5b600a55565b600e546000906001600160a01b0316806110b7576040805162461bcd60e51b815260206004820152601d60248201527f546f6b656e206d697373696e672072656164205650436f6e7472616374000000604482015290519081900360640190fd5b6001600160a01b03831661337a5760405162461bcd60e51b815260040180806020018281038252602581526020018061438f6025913960400191505060405180910390fd5b6001600160a01b0382166133bf5760405162461bcd60e51b81526004018080602001828103825260238152602001806141dd6023913960400191505060405180910390fd5b6133ca8383836139e4565b61340781604051806060016040528060268152602001614265602691396001600160a01b0386166000908152602081905260409020549190613490565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546134369082613632565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561351f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156134e45781810151838201526020016134cc565b50505050905090810190601f1680156135115780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b03821661356c5760405162461bcd60e51b815260040180806020018281038252602181526020018061436e6021913960400191505060405180910390fd5b613578826000836139e4565b6135b581604051806060016040528060228152602001614200602291396001600160a01b0385166000908152602081905260409020549190613490565b6001600160a01b0383166000908152602081905260409020556002546135db9082613bc9565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60055460ff1690565b600a5490565b6000828201838110156113fc576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081815260208390526040812054156136b7575060008181526020839052604081205560016110d4565b50600092915050565b600081600a548110156137045760405162461bcd60e51b815260040180806020018281038252602d8152602001806142b3602d913960400191505060405180910390fd5b61371060068585613c26565b949350505050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156131565780601f1061312b57610100808354040283529160200191613156565b600081600a548110156137bd5760405162461bcd60e51b815260040180806020018281038252602d8152602001806142b3602d913960400191505060405180910390fd5b6113fc600784613c51565b600081600a5481101561380c5760405162461bcd60e51b815260040180806020018281038252602d8152602001806142b3602d913960400191505060405180910390fd5b438310613860576040805162461bcd60e51b815260206004820181905260248201527f43616e206f6e6c79206265207573656420666f72207061737420626c6f636b73604482015290519081900360640190fd5b6000806138706009600787613d77565b9150915080156138ae576040805186815290517ffec477a10b4fcdfdf1114eb32b3caf6118b2d76d20e1fcb70007274bb4b616be9181900360200190a15b509392505050565b60006001600160a01b038416156138f1576001600160a01b03841660009081526020869052604090206138ea9084846138fc565b9050613710565b506000949350505050565b60008161390b575060006113fc565b83548061391c5760009150506113fc565b600185015460006139396139308388613632565b60018503613dd5565b9050815b818110801561396f57508588600001826001018154811061395a57fe5b90600052602060002090600202016000015411155b156139a45787600001818154811061398357fe5b6000918252602082206002909102018181556001908101919091550161393d565b828111156139b457600188018190555b919091039695505050505050565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b816001600160a01b0316836001600160a01b03161415613a4b576040805162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015290519081900360640190fd5b6000613a5684611a7b565b90506000613a6384611a7b565b600f549091506001600160a01b03168015613afd576040805163756da1b160e11b81526001600160a01b038881166004830152878116602483015260448201869052606482018590526084820187905291519183169163eadb43629160a48082019260009290919082900301818387803b158015613ae057600080fd5b505af1158015613af4573d6000803e3d6000fd5b50505050613b22565b601154600160a01b900460ff16613b22576011805460ff60a01b1916600160a01b1790555b6010546001600160a01b03168015613bb5576040805163756da1b160e11b81526001600160a01b038981166004830152888116602483015260448201879052606482018690526084820188905291519183169163eadb43629160a48082019260009290919082900301818387803b158015613b9c57600080fd5b505af1158015613bb0573d6000803e3d6000fd5b505050505b613bc0878787613deb565b50505050505050565b600082821115613c20576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b0382166000908152602084905260408120613c488184613c51565b95945050505050565b815460009080613c655760009150506110d4565b4383101580613c975750836000016001820381548110613c8157fe5b9060005260206000209060020201600001548310155b15613cc857836000016001820381548110613cae57fe5b9060005260206000209060020201600101549150506110d4565b60018401548454859082908110613cdb57fe5b906000526020600020906002020160000154841015613d3c578015613d315760405162461bcd60e51b81526004018080602001828103825260308152602001806143d86030913960400191505060405180910390fd5b6000925050506110d4565b6000613d49868387613e2b565b9050856000018181548110613d5a57fe5b906000526020600020906002020160010154935050505092915050565b60008181526020849052604081205481908015613d9d5760001901915060009050613dcd565b6000613da98686613c51565b9050613db6816001613632565b600086815260208990526040902055925060019150505b935093915050565b6000818310613de457816113fc565b5090919050565b6001600160a01b038316613e0857613e038282613eb7565b612149565b6001600160a01b038216613e2057613e038382613f14565b612149838383613fbc565b825460009083908290613e3f906001613bc9565b90505b81811115613eae576000613e6c6002613e666001613e608688613632565b90613632565b90613ff2565b905084878281548110613e7b57fe5b90600052602060002090600202016000015411613e9a57809250613ea8565b613ea5816001613bc9565b91505b50613e42565b50949350505050565b6000613ec782613e6085436118dd565b9050613ed560068483614059565b600a54613ee99060069085906002906138b6565b50613f02613efa83613e6043612158565b600790614077565b600a546124b6906007906002906138fc565b6000613f538260405180604001604052806016815260200175213ab937103a37b7903134b3903337b91037bbb732b960511b8152506120cc86436118dd565b9050613f6160068483614059565b600a54613f759060069085906002906138b6565b50613f02613efa836040518060400160405280601d81526020017f4275726e20746f6f2062696720666f7220746f74616c20737570706c790000008152506120cc43612158565b613fc96006848484614140565b600a54613fdd9060069085906002906138b6565b50600a546124b69060069084906002906138b6565b6000808211614048576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161405157fe5b049392505050565b6001600160a01b03821660009081526020849052604090206124b681835b8154806140bb576040805180820190915243815260208082018481528554600181810188556000888152939093209351600290910290930192835551910155612149565b60008360000160018303815481106140cf57fe5b600091825260209091206002909102018054909150438114156140f857600182018490556112d6565b80431161410157fe5b604080518082019091524381526020808201868152875460018181018a5560008a81529390932093516002909102909301928355519101555050505050565b8061414a576124b6565b6001600160a01b03831615801561416857506001600160a01b038216155b1561416f57fe5b6001600160a01b038316156141a35760006141948261418e87876141cf565b90613bc9565b90506141a1858583614059565b505b6001600160a01b038216156124b65760006141c282613e6087866141cf565b90506112d6858483614059565b60006113fc838343613c2656fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e6365436c65616e757020626c6f636b206d75737420626520696e20746865207061737445524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365436c65616e757020626c6f636b206e756d626572206d757374206e65766572206465637265617365436865636b506f696e7461626c653a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b5650436f6e7472616374206e6f7420636f6e6669677572656420666f72207265706c6163656d656e7445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365476f7665726e616e636520766f746520706f77657220636f6e747261637420646f6573206e6f742062656c6f6e6720746f207468697320746f6b656e2e45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373436865636b506f696e74486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f5650436f6e7472616374206e6f74206f776e6564206279207468697320746f6b656ea2646970667358221220297e8b613a6939bfaaf73b0f2a6d2df99ed67248d0afb74deaa77eb93d35966064736f6c63430007060033",
1192
+ "deployedBytecode": "0x60806040526004361061036f5760003560e01c806395d89b41116101c6578063d0e30db0116100f7578063e64767aa11610095578063f5f3d4f71161006f578063f5f3d4f714610f2b578063f62f8f3a14610f40578063f683776714610f6a578063f6a494af14610f9d5761037e565b8063e64767aa14610e76578063ed475a7914610eb9578063f0e292c914610ef25761037e565b8063d6aa0b77116100d1578063d6aa0b7714610dba578063dd62ed3e14610ded578063deea13e714610e28578063e587497e14610e3d5761037e565b8063d0e30db014610d6a578063d38bfff414610d72578063d582cef414610da55761037e565b8063b302f39311610164578063be0ca7471161013e578063be0ca74714610c99578063c373a08e14610cd4578063caeb942b14610d07578063d06dc3ad14610d315761037e565b8063b302f39314610c25578063b760faf914610c3a578063bbd6fbf814610c605761037e565b80639ca2231a116101a05780639ca2231a14610b4d5780639d6a890f14610b80578063a457c2d714610bb3578063a9059cbb14610bec5761037e565b806395d89b4114610af9578063981b24d014610b0e5780639b3baa0e14610b385761037e565b806349e3c7e5116102a0578063755d10a41161023e57806383035a821161021857806383035a8214610a395780638c2b8ae114610a7257806392bfe6d814610a875780639470b0bd14610ac05761037e565b8063755d10a4146108f95780637de5b8ed1461092c5780637f4fcaa914610a065761037e565b80635d36b1901161027a5780635d36b190146107ee5780635d6d11eb1461080357806360f7ac97146108b157806370a08231146108c65761037e565b806349e3c7e5146106a05780634ee2cd7e146107a05780635aa6e675146107d95761037e565b806323b872dd1161030d57806331d12a16116102e757806331d12a16146105e057806339509351146106135780633e5aa26a1461064c57806343ea370b146106765761037e565b806323b872dd146105485780632e1a7d4d1461058b578063313ce567146105b55761037e565b806313de97f51161034957806313de97f514610493578063142d1018146104bd57806318160ddd146105025780631fec092a146105175761037e565b8063026e402b1461038357806306fdde03146103bc578063095ea7b3146104465761037e565b3661037e5761037c610fd0565b005b600080fd5b34801561038f57600080fd5b5061037c600480360360408110156103a657600080fd5b506001600160a01b038135169060200135611012565b3480156103c857600080fd5b506103d16110ad565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561040b5781810151838201526020016103f3565b50505050905090810190601f1680156104385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561045257600080fd5b5061047f6004803603604081101561046957600080fd5b506001600160a01b0381351690602001356110bc565b604080519115158252519081900360200190f35b34801561049f57600080fd5b5061037c600480360360208110156104b657600080fd5b50356110da565b3480156104c957600080fd5b506104f0600480360360208110156104e057600080fd5b50356001600160a01b03166112de565b60408051918252519081900360200190f35b34801561050e57600080fd5b506104f0611366565b34801561052357600080fd5b5061052c61136c565b604080516001600160a01b039092168252519081900360200190f35b34801561055457600080fd5b5061047f6004803603606081101561056b57600080fd5b506001600160a01b0381358116916020810135909116906040013561137b565b34801561059757600080fd5b5061037c600480360360208110156105ae57600080fd5b5035611403565b3480156105c157600080fd5b506105ca611474565b6040805160ff9092168252519081900360200190f35b3480156105ec57600080fd5b5061037c6004803603602081101561060357600080fd5b50356001600160a01b031661147e565b34801561061f57600080fd5b5061047f6004803603604081101561063657600080fd5b506001600160a01b038135169060200135611667565b34801561065857600080fd5b506104f06004803603602081101561066f57600080fd5b50356116b5565b34801561068257600080fd5b506104f06004803603602081101561069957600080fd5b50356116c0565b3480156106ac57600080fd5b50610750600480360360408110156106c357600080fd5b810190602081018135600160201b8111156106dd57600080fd5b8201836020820111156106ef57600080fd5b803590602001918460208302840111600160201b8311171561071057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550509135925061177b915050565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561078c578181015183820152602001610774565b505050509050019250505060405180910390f35b3480156107ac57600080fd5b506104f0600480360360408110156107c357600080fd5b506001600160a01b0381351690602001356118dd565b3480156107e557600080fd5b5061052c6118e9565b3480156107fa57600080fd5b5061037c6118f8565b34801561080f57600080fd5b506104f06004803603602081101561082657600080fd5b810190602081018135600160201b81111561084057600080fd5b82018360208201111561085257600080fd5b803590602001918460208302840111600160201b8311171561087357600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506119ba945050505050565b3480156108bd57600080fd5b5061052c611a6c565b3480156108d257600080fd5b506104f0600480360360208110156108e957600080fd5b50356001600160a01b0316611a7b565b34801561090557600080fd5b5061037c6004803603602081101561091c57600080fd5b50356001600160a01b0316611a96565b34801561093857600080fd5b5061095f6004803603602081101561094f57600080fd5b50356001600160a01b0316611d47565b604051808060200180602001858152602001848152602001838103835287818151815260200191508051906020019060200280838360005b838110156109af578181015183820152602001610997565b50505050905001838103825286818151815260200191508051906020019060200280838360005b838110156109ee5781810151838201526020016109d6565b50505050905001965050505050505060405180910390f35b348015610a1257600080fd5b5061037c60048036036020811015610a2957600080fd5b50356001600160a01b0316611f0a565b348015610a4557600080fd5b506104f060048036036040811015610a5c57600080fd5b506001600160a01b038135169060200135611f7d565b348015610a7e57600080fd5b5061052c61201f565b348015610a9357600080fd5b506104f060048036036040811015610aaa57600080fd5b506001600160a01b03813516906020013561202e565b348015610acc57600080fd5b5061037c60048036036040811015610ae357600080fd5b506001600160a01b03813516906020013561208c565b348015610b0557600080fd5b506103d161214e565b348015610b1a57600080fd5b506104f060048036036020811015610b3157600080fd5b5035612158565b348015610b4457600080fd5b5061052c612163565b348015610b5957600080fd5b5061037c60048036036020811015610b7057600080fd5b50356001600160a01b0316612172565b348015610b8c57600080fd5b5061037c60048036036020811015610ba357600080fd5b50356001600160a01b03166122e6565b348015610bbf57600080fd5b5061047f60048036036040811015610bd657600080fd5b506001600160a01b0381351690602001356123c0565b348015610bf857600080fd5b5061047f60048036036040811015610c0f57600080fd5b506001600160a01b038135169060200135612428565b348015610c3157600080fd5b5061037c61243c565b61037c60048036036020811015610c5057600080fd5b50356001600160a01b03166124bc565b348015610c6c57600080fd5b5061037c60048036036040811015610c8357600080fd5b506001600160a01b038135169060200135612563565b348015610ca557600080fd5b506104f060048036036040811015610cbc57600080fd5b506001600160a01b03813581169160200135166126d0565b348015610ce057600080fd5b5061037c60048036036020811015610cf757600080fd5b50356001600160a01b0316612747565b348015610d1357600080fd5b506104f060048036036020811015610d2a57600080fd5b50356127ec565b348015610d3d57600080fd5b5061037c60048036036040811015610d5457600080fd5b506001600160a01b0381351690602001356127f7565b61037c610fd0565b348015610d7e57600080fd5b5061037c60048036036020811015610d9557600080fd5b50356001600160a01b0316612818565b348015610db157600080fd5b5061047f6128da565b348015610dc657600080fd5b506104f060048036036020811015610ddd57600080fd5b50356001600160a01b03166128ea565b348015610df957600080fd5b506104f060048036036040811015610e1057600080fd5b506001600160a01b0381358116916020013516612950565b348015610e3457600080fd5b506104f061297b565b348015610e4957600080fd5b506104f060048036036040811015610e6057600080fd5b506001600160a01b038135169060200135612985565b348015610e8257600080fd5b506104f060048036036060811015610e9957600080fd5b506001600160a01b038135811691602081013590911690604001356129f9565b348015610ec557600080fd5b5061095f60048036036040811015610edc57600080fd5b506001600160a01b038135169060200135612aad565b348015610efe57600080fd5b506104f060048036036040811015610f1557600080fd5b506001600160a01b038135169060200135612c79565b348015610f3757600080fd5b506104f0612ce6565b348015610f4c57600080fd5b506104f060048036036020811015610f6357600080fd5b5035612cf0565b348015610f7657600080fd5b506104f060048036036020811015610f8d57600080fd5b50356001600160a01b0316612d5b565b348015610fa957600080fd5b5061037c60048036036020811015610fc057600080fd5b50356001600160a01b0316612db1565b610fda3334612f79565b60408051348152905133917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a2565b61101a613069565b6001600160a01b0316636230001a338461103333611a7b565b856040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b15801561109157600080fd5b505af11580156110a5573d6000803e3d6000fd5b505050505050565b60606110b76130ca565b905090565b60006110d06110c9613160565b8484613164565b5060015b92915050565b600c546001600160a01b03163314806110fd57506011546001600160a01b031633145b61114e576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c7920676f7665726e616e6365206f72206d616e61676572000000000000604482015290519081900360640190fd5b61115781613250565b600e546001600160a01b0316156111ce57600e54604080516313de97f560e01b81526004810184905290516001600160a01b03909216916313de97f59160248082019260009290919082900301818387803b1580156111b557600080fd5b505af11580156111c9573d6000803e3d6000fd5b505050505b600f546001600160a01b0316158015906111f95750600e54600f546001600160a01b03908116911614155b1561126457600f54604080516313de97f560e01b81526004810184905290516001600160a01b03909216916313de97f59160248082019260009290919082900301818387803b15801561124b57600080fd5b505af115801561125f573d6000803e3d6000fd5b505050505b6010546001600160a01b0316156112db57601054604080516313de97f560e01b81526004810184905290516001600160a01b03909216916313de97f59160248082019260009290919082900301818387803b1580156112c257600080fd5b505af11580156112d6573d6000803e3d6000fd5b505050505b50565b60006112e86132d4565b6001600160a01b031663142d1018836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561133457600080fd5b505afa158015611348573d6000803e3d6000fd5b505050506040513d602081101561135e57600080fd5b505192915050565b60025490565b600f546001600160a01b031690565b6000611388848484613335565b6113f884611394613160565b6113f385604051806060016040528060288152602001614309602891396001600160a01b038a166000908152600160205260408120906113d2613160565b6001600160a01b031681526020810191909152604001600020549190613490565b613164565b5060015b9392505050565b61140d3382613527565b60408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a2604051339082156108fc029083906000818181858888f19350505050158015611470573d6000803e3d6000fd5b5050565b60006110b7613623565b600c546001600160a01b031633146114cf576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b6001600160a01b038116156115f857306001600160a01b0316816001600160a01b031663653718836040518163ffffffff1660e01b815260040160206040518083038186803b15801561152157600080fd5b505afa158015611535573d6000803e3d6000fd5b505050506040513d602081101561154b57600080fd5b50516001600160a01b0316146115925760405162461bcd60e51b815260040180806020018281038252602281526020018061442d6022913960400191505060405180910390fd5b806001600160a01b03166313de97f56115a961362c565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156115df57600080fd5b505af11580156115f3573d6000803e3d6000fd5b505050505b600e5460408051600081526001600160a01b03928316602082015291831682820152517fbec98a6c0f609cda6b9f23b95824ba6ac733cb57edd17d344f2f2796844007399181900360600190a1600e80546001600160a01b0319166001600160a01b0392909216919091179055565b60006110d0611674613160565b846113f38560016000611685613160565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490613632565b60006110d482612158565b600b546000906001600160a01b0316331461171a576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600a548210611770576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6110d460098361368c565b60606117856132d4565b6001600160a01b03166349e3c7e584846040518363ffffffff1660e01b81526004018080602001838152602001828103825284818151815260200191508051906020019060200280838360005b838110156117ea5781810151838201526020016117d2565b50505050905001935050505060006040518083038186803b15801561180e57600080fd5b505afa158015611822573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561184b57600080fd5b8101908080516040519392919084600160201b82111561186a57600080fd5b90830190602082018581111561187f57600080fd5b82518660208202830111600160201b8211171561189b57600080fd5b82525081516020918201928201910280838360005b838110156118c85781810151838201526020016118b0565b50505050905001604052505050905092915050565b60006113fc83836136c0565b600c546001600160a01b031681565b600d546001600160a01b03163314611947576040805162461bcd60e51b815260206004820152600d60248201526c1b9bdd0818db185a5b585a5b9d609a1b604482015290519081900360640190fd5b600c54600d54604080516001600160a01b03938416815292909116602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600d8054600c80546001600160a01b03199081166001600160a01b03841617909155169055565b60006119c4613069565b6001600160a01b0316630f8b8af733846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015611a32578181015183820152602001611a1a565b505050509050019350505050602060405180830381600087803b158015611a5857600080fd5b505af1158015611348573d6000803e3d6000fd5b600d546001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b600c546001600160a01b03163314611ae7576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b6001600160a01b03811615611cd857306001600160a01b0316816001600160a01b031663653718836040518163ffffffff1660e01b815260040160206040518083038186803b158015611b3957600080fd5b505afa158015611b4d573d6000803e3d6000fd5b505050506040513d6020811015611b6357600080fd5b50516001600160a01b031614611baa5760405162461bcd60e51b815260040180806020018281038252602281526020018061442d6022913960400191505060405180910390fd5b601154600160a01b900460ff161580611c245750806001600160a01b031663aa94d3f26040518163ffffffff1660e01b815260040160206040518083038186803b158015611bf757600080fd5b505afa158015611c0b573d6000803e3d6000fd5b505050506040513d6020811015611c2157600080fd5b50515b611c5f5760405162461bcd60e51b81526004018080602001828103825260298152602001806142e06029913960400191505060405180910390fd5b806001600160a01b03166313de97f5611c7661362c565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611cac57600080fd5b505af1158015611cc0573d6000803e3d6000fd5b50506011805460ff60a01b1916600160a01b17905550505b600f5460408051600181526001600160a01b03928316602082015291831682820152517fbec98a6c0f609cda6b9f23b95824ba6ac733cb57edd17d344f2f2796844007399181900360600190a1600f80546001600160a01b0319166001600160a01b0392909216919091179055565b606080600080611d556132d4565b6001600160a01b0316637de5b8ed866040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060006040518083038186803b158015611da157600080fd5b505afa158015611db5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526080811015611dde57600080fd5b8101908080516040519392919084600160201b821115611dfd57600080fd5b908301906020820185811115611e1257600080fd5b82518660208202830111600160201b82111715611e2e57600080fd5b82525081516020918201928201910280838360005b83811015611e5b578181015183820152602001611e43565b5050505090500160405260200180516040519392919084600160201b821115611e8357600080fd5b908301906020820185811115611e9857600080fd5b82518660208202830111600160201b82111715611eb457600080fd5b82525081516020918201928201910280838360005b83811015611ee1578181015183820152602001611ec9565b505050509190910160409081526020830151920151959b949a5090985093965091945050505050565b600c546001600160a01b03163314611f5b576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6000611f876132d4565b6001600160a01b0316633150392784611fa086866118dd565b856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001828152602001935050505060206040518083038186803b158015611fec57600080fd5b505afa158015612000573d6000803e3d6000fd5b505050506040513d602081101561201657600080fd5b50519392505050565b6010546001600160a01b031690565b60006120386132d4565b6001600160a01b03166392bfe6d884846040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b158015611fec57600080fd5b6120d382336113f38460405180604001604052806014815260200173616c6c6f77616e63652062656c6f77207a65726f60601b8152506120cc8833612950565b9190613490565b6120dd8282613527565b6040805182815290516001600160a01b038416917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a2604051339082156108fc029083906000818181858888f19350505050158015612149573d6000803e3d6000fd5b505050565b60606110b7613718565b60006110d482613779565b600e546001600160a01b031690565b600c546001600160a01b031633146121c3576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b306001600160a01b0316816001600160a01b031663653718836040518163ffffffff1660e01b815260040160206040518083038186803b15801561220657600080fd5b505afa15801561221a573d6000803e3d6000fd5b505050506040513d602081101561223057600080fd5b50516001600160a01b0316146122775760405162461bcd60e51b815260040180806020018281038252603d815260200180614331603d913960400191505060405180910390fd5b60105460408051600281526001600160a01b03928316602082015291831682820152517fbec98a6c0f609cda6b9f23b95824ba6ac733cb57edd17d344f2f2796844007399181900360600190a1601080546001600160a01b0319166001600160a01b0392909216919091179055565b600d54600160a01b900460ff161561233c576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b600d805460ff60a01b1916600160a01b179055600c54604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600c80546001600160a01b039092166001600160a01b0319928316179055600d80549091169055565b60006110d06123cd613160565b846113f38560405180606001604052806025815260200161440860259139600160006123f7613160565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190613490565b60006110d0612435613160565b8484613335565b612444613069565b6001600160a01b03166305109ecf3361245c33611a7b565b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156124a257600080fd5b505af11580156124b6573d6000803e3d6000fd5b50505050565b6001600160a01b038116612517576040805162461bcd60e51b815260206004820152601e60248201527f43616e6e6f74206465706f73697420746f207a65726f20616464726573730000604482015290519081900360640190fd5b6125218134612f79565b6040805134815290516001600160a01b038316917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a250565b600f54600e546001600160a01b039182169116811561260e57816001600160a01b031663c7c62fab338661259733886118dd565b876040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b1580156125f557600080fd5b505af1158015612609573d6000803e3d6000fd5b505050505b816001600160a01b0316816001600160a01b03161415801561263857506001600160a01b03811615155b156124b657806001600160a01b031663c7c62fab338661265833886118dd565b876040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b1580156126b657600080fd5b505af19250505080156126c7575060015b6124b6576124b6565b60006126da6132d4565b6001600160a01b0316639dc6b9f284846126f387611a7b565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001828152602001935050505060206040518083038186803b158015611fec57600080fd5b600c546001600160a01b03163314612798576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b699181900360200190a150565b60006110d4826137c8565b6127ff613069565b6001600160a01b031663404d9e82338461103333611a7b565b600c546001600160a01b03163314612869576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b600c54604080516001600160a01b039283168152918316602083015280517f434a2db650703b36c824e745330d6397cdaa9ee2cc891a4938ae853e1c50b68d9281900390910190a1600c80546001600160a01b039092166001600160a01b0319928316179055600d80549091169055565b601154600160a01b900460ff1681565b60006128f46132d4565b6001600160a01b0316634a03d5568361290c85611a7b565b6040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b15801561133457600080fd5b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60006110b761362c565b600061298f6132d4565b6001600160a01b031663e587497e84846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156129e557600080fd5b505af1158015612000573d6000803e3d6000fd5b6000612a036132d4565b6001600160a01b031663833aca928585612a1d88876118dd565b866040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b0316815260200183815260200182815260200194505050505060206040518083038186803b158015612a7957600080fd5b505afa158015612a8d573d6000803e3d6000fd5b505050506040513d6020811015612aa357600080fd5b5051949350505050565b606080600080612abb6132d4565b6001600160a01b031663ed475a7987876040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060006040518083038186803b158015612b0f57600080fd5b505afa158015612b23573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526080811015612b4c57600080fd5b8101908080516040519392919084600160201b821115612b6b57600080fd5b908301906020820185811115612b8057600080fd5b82518660208202830111600160201b82111715612b9c57600080fd5b82525081516020918201928201910280838360005b83811015612bc9578181015183820152602001612bb1565b5050505090500160405260200180516040519392919084600160201b821115612bf157600080fd5b908301906020820185811115612c0657600080fd5b82518660208202830111600160201b82111715612c2257600080fd5b82525081516020918201928201910280838360005b83811015612c4f578181015183820152602001612c37565b505050509190910160409081526020830151920151959c949b509099509397509195505050505050565b600b546000906001600160a01b03163314612cd3576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600a546113fc90600690859085906138b6565b60006110b7611366565b600b546000906001600160a01b03163314612d4a576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600a546110d49060079084906138fc565b6000612d656132d4565b6001600160a01b031663f6837767836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561133457600080fd5b600c546001600160a01b03163314612e02576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b612e0b816139c2565b600e546001600160a01b031615612e8357600e546040805163f6a494af60e01b81526001600160a01b0384811660048301529151919092169163f6a494af91602480830192600092919082900301818387803b158015612e6a57600080fd5b505af1158015612e7e573d6000803e3d6000fd5b505050505b600f546001600160a01b031615801590612eae5750600e54600f546001600160a01b03908116911614155b15612f1a57600f546040805163f6a494af60e01b81526001600160a01b0384811660048301529151919092169163f6a494af91602480830192600092919082900301818387803b158015612f0157600080fd5b505af1158015612f15573d6000803e3d6000fd5b505050505b6010546001600160a01b0316156112db576010546040805163f6a494af60e01b81526001600160a01b0384811660048301529151919092169163f6a494af91602480830192600092919082900301818387803b1580156112c257600080fd5b6001600160a01b038216612fd4576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b612fe0600083836139e4565b600254612fed9082613632565b6002556001600160a01b0382166000908152602081905260409020546130139082613632565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600f546000906001600160a01b0316806110b7576040805162461bcd60e51b815260206004820152601e60248201527f546f6b656e206d697373696e67207772697465205650436f6e74726163740000604482015290519081900360640190fd5b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156131565780601f1061312b57610100808354040283529160200191613156565b820191906000526020600020905b81548152906001019060200180831161313957829003601f168201915b5050505050905090565b3390565b6001600160a01b0383166131a95760405162461bcd60e51b81526004018080602001828103825260248152602001806143b46024913960400191505060405180910390fd5b6001600160a01b0382166131ee5760405162461bcd60e51b81526004018080602001828103825260228152602001806142436022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600a548110156132915760405162461bcd60e51b815260040180806020018281038252602881526020018061428b6028913960400191505060405180910390fd5b4381106132cf5760405162461bcd60e51b81526004018080602001828103825260218152602001806142226021913960400191505060405180910390fd5b600a55565b600e546000906001600160a01b0316806110b7576040805162461bcd60e51b815260206004820152601d60248201527f546f6b656e206d697373696e672072656164205650436f6e7472616374000000604482015290519081900360640190fd5b6001600160a01b03831661337a5760405162461bcd60e51b815260040180806020018281038252602581526020018061438f6025913960400191505060405180910390fd5b6001600160a01b0382166133bf5760405162461bcd60e51b81526004018080602001828103825260238152602001806141dd6023913960400191505060405180910390fd5b6133ca8383836139e4565b61340781604051806060016040528060268152602001614265602691396001600160a01b0386166000908152602081905260409020549190613490565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546134369082613632565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561351f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156134e45781810151838201526020016134cc565b50505050905090810190601f1680156135115780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b03821661356c5760405162461bcd60e51b815260040180806020018281038252602181526020018061436e6021913960400191505060405180910390fd5b613578826000836139e4565b6135b581604051806060016040528060228152602001614200602291396001600160a01b0385166000908152602081905260409020549190613490565b6001600160a01b0383166000908152602081905260409020556002546135db9082613bc9565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60055460ff1690565b600a5490565b6000828201838110156113fc576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081815260208390526040812054156136b7575060008181526020839052604081205560016110d4565b50600092915050565b600081600a548110156137045760405162461bcd60e51b815260040180806020018281038252602d8152602001806142b3602d913960400191505060405180910390fd5b61371060068585613c26565b949350505050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156131565780601f1061312b57610100808354040283529160200191613156565b600081600a548110156137bd5760405162461bcd60e51b815260040180806020018281038252602d8152602001806142b3602d913960400191505060405180910390fd5b6113fc600784613c51565b600081600a5481101561380c5760405162461bcd60e51b815260040180806020018281038252602d8152602001806142b3602d913960400191505060405180910390fd5b438310613860576040805162461bcd60e51b815260206004820181905260248201527f43616e206f6e6c79206265207573656420666f72207061737420626c6f636b73604482015290519081900360640190fd5b6000806138706009600787613d77565b9150915080156138ae576040805186815290517ffec477a10b4fcdfdf1114eb32b3caf6118b2d76d20e1fcb70007274bb4b616be9181900360200190a15b509392505050565b60006001600160a01b038416156138f1576001600160a01b03841660009081526020869052604090206138ea9084846138fc565b9050613710565b506000949350505050565b60008161390b575060006113fc565b83548061391c5760009150506113fc565b600185015460006139396139308388613632565b60018503613dd5565b9050815b818110801561396f57508588600001826001018154811061395a57fe5b90600052602060002090600202016000015411155b156139a45787600001818154811061398357fe5b6000918252602082206002909102018181556001908101919091550161393d565b828111156139b457600188018190555b919091039695505050505050565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b816001600160a01b0316836001600160a01b03161415613a4b576040805162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015290519081900360640190fd5b6000613a5684611a7b565b90506000613a6384611a7b565b600f549091506001600160a01b03168015613afd576040805163756da1b160e11b81526001600160a01b038881166004830152878116602483015260448201869052606482018590526084820187905291519183169163eadb43629160a48082019260009290919082900301818387803b158015613ae057600080fd5b505af1158015613af4573d6000803e3d6000fd5b50505050613b22565b601154600160a01b900460ff16613b22576011805460ff60a01b1916600160a01b1790555b6010546001600160a01b03168015613bb5576040805163756da1b160e11b81526001600160a01b038981166004830152888116602483015260448201879052606482018690526084820188905291519183169163eadb43629160a48082019260009290919082900301818387803b158015613b9c57600080fd5b505af1158015613bb0573d6000803e3d6000fd5b505050505b613bc0878787613deb565b50505050505050565b600082821115613c20576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b0382166000908152602084905260408120613c488184613c51565b95945050505050565b815460009080613c655760009150506110d4565b4383101580613c975750836000016001820381548110613c8157fe5b9060005260206000209060020201600001548310155b15613cc857836000016001820381548110613cae57fe5b9060005260206000209060020201600101549150506110d4565b60018401548454859082908110613cdb57fe5b906000526020600020906002020160000154841015613d3c578015613d315760405162461bcd60e51b81526004018080602001828103825260308152602001806143d86030913960400191505060405180910390fd5b6000925050506110d4565b6000613d49868387613e2b565b9050856000018181548110613d5a57fe5b906000526020600020906002020160010154935050505092915050565b60008181526020849052604081205481908015613d9d5760001901915060009050613dcd565b6000613da98686613c51565b9050613db6816001613632565b600086815260208990526040902055925060019150505b935093915050565b6000818310613de457816113fc565b5090919050565b6001600160a01b038316613e0857613e038282613eb7565b612149565b6001600160a01b038216613e2057613e038382613f14565b612149838383613fbc565b825460009083908290613e3f906001613bc9565b90505b81811115613eae576000613e6c6002613e666001613e608688613632565b90613632565b90613ff2565b905084878281548110613e7b57fe5b90600052602060002090600202016000015411613e9a57809250613ea8565b613ea5816001613bc9565b91505b50613e42565b50949350505050565b6000613ec782613e6085436118dd565b9050613ed560068483614059565b600a54613ee99060069085906002906138b6565b50613f02613efa83613e6043612158565b600790614077565b600a546124b6906007906002906138fc565b6000613f538260405180604001604052806016815260200175213ab937103a37b7903134b3903337b91037bbb732b960511b8152506120cc86436118dd565b9050613f6160068483614059565b600a54613f759060069085906002906138b6565b50613f02613efa836040518060400160405280601d81526020017f4275726e20746f6f2062696720666f7220746f74616c20737570706c790000008152506120cc43612158565b613fc96006848484614140565b600a54613fdd9060069085906002906138b6565b50600a546124b69060069084906002906138b6565b6000808211614048576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161405157fe5b049392505050565b6001600160a01b03821660009081526020849052604090206124b681835b8154806140bb576040805180820190915243815260208082018481528554600181810188556000888152939093209351600290910290930192835551910155612149565b60008360000160018303815481106140cf57fe5b600091825260209091206002909102018054909150438114156140f857600182018490556112d6565b80431161410157fe5b604080518082019091524381526020808201868152875460018181018a5560008a81529390932093516002909102909301928355519101555050505050565b8061414a576124b6565b6001600160a01b03831615801561416857506001600160a01b038216155b1561416f57fe5b6001600160a01b038316156141a35760006141948261418e87876141cf565b90613bc9565b90506141a1858583614059565b505b6001600160a01b038216156124b65760006141c282613e6087866141cf565b90506112d6858483614059565b60006113fc838343613c2656fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e6365436c65616e757020626c6f636b206d75737420626520696e20746865207061737445524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365436c65616e757020626c6f636b206e756d626572206d757374206e65766572206465637265617365436865636b506f696e7461626c653a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b5650436f6e7472616374206e6f7420636f6e6669677572656420666f72207265706c6163656d656e7445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365476f7665726e616e636520766f746520706f77657220636f6e747261637420646f6573206e6f742062656c6f6e6720746f207468697320746f6b656e2e45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373436865636b506f696e74486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f5650436f6e7472616374206e6f74206f776e6564206279207468697320746f6b656ea2646970667358221220297e8b613a6939bfaaf73b0f2a6d2df99ed67248d0afb74deaa77eb93d35966064736f6c63430007060033",
1193
1193
  "linkReferences": {},
1194
1194
  "deployedLinkReferences": {}
1195
1195
  }
@@ -17,8 +17,8 @@
17
17
  "type": "function"
18
18
  }
19
19
  ],
20
- "bytecode": "0x608b610024600b82828239805160001a607314601757fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c80632829744e146038575b600080fd5b603e6050565b60408051918252519081900360200190f35b60028156fea26469706673582212202380a791b43f19856afea3b2423536019a9656cde7e407a8c30a8104e7b3fe1f64736f6c63430007060033",
21
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361060335760003560e01c80632829744e146038575b600080fd5b603e6050565b60408051918252519081900360200190f35b60028156fea26469706673582212202380a791b43f19856afea3b2423536019a9656cde7e407a8c30a8104e7b3fe1f64736f6c63430007060033",
20
+ "bytecode": "0x608b610024600b82828239805160001a607314601757fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c80632829744e146038575b600080fd5b603e6050565b60408051918252519081900360200190f35b60028156fea26469706673582212201c24fbcdab4a7a6f6d4f599d654ae0cb75d9e53063abaa2530eefa7b1ae2e1de64736f6c63430007060033",
21
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361060335760003560e01c80632829744e146038575b600080fd5b603e6050565b60408051918252519081900360200190f35b60028156fea26469706673582212201c24fbcdab4a7a6f6d4f599d654ae0cb75d9e53063abaa2530eefa7b1ae2e1de64736f6c63430007060033",
22
22
  "linkReferences": {},
23
23
  "deployedLinkReferences": {}
24
24
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "ExplicitDelegation",
4
4
  "sourceName": "contracts/token/lib/ExplicitDelegation.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220159a800e535372a34100d456db9319bb3903a67da29efb64ad0a9ae45f054c2464736f6c63430007060033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220159a800e535372a34100d456db9319bb3903a67da29efb64ad0a9ae45f054c2464736f6c63430007060033",
6
+ "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209f96799e09a17f150121f0fff040d40e2a7b6327cc31be4b3b7e4ea63106410464736f6c63430007060033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209f96799e09a17f150121f0fff040d40e2a7b6327cc31be4b3b7e4ea63106410464736f6c63430007060033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -17,8 +17,8 @@
17
17
  "type": "function"
18
18
  }
19
19
  ],
20
- "bytecode": "0x608c610024600b82828239805160001a607314601757fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063b3249e9e146038575b600080fd5b603e6050565b60408051918252519081900360200190f35b6127108156fea2646970667358221220ec6eb09257f945c585451295e9c197f2bd8dc1ef7cdbe05290d8a09b248528af64736f6c63430007060033",
21
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063b3249e9e146038575b600080fd5b603e6050565b60408051918252519081900360200190f35b6127108156fea2646970667358221220ec6eb09257f945c585451295e9c197f2bd8dc1ef7cdbe05290d8a09b248528af64736f6c63430007060033",
20
+ "bytecode": "0x608c610024600b82828239805160001a607314601757fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063b3249e9e146038575b600080fd5b603e6050565b60408051918252519081900360200190f35b6127108156fea264697066735822122034b352ec7e0a7607f675caf5ae5fdf3abf3713f57a812813d0c9ed8968addd9164736f6c63430007060033",
21
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063b3249e9e146038575b600080fd5b603e6050565b60408051918252519081900360200190f35b6127108156fea264697066735822122034b352ec7e0a7607f675caf5ae5fdf3abf3713f57a812813d0c9ed8968addd9164736f6c63430007060033",
22
22
  "linkReferences": {},
23
23
  "deployedLinkReferences": {}
24
24
  }