@flarenetwork/flare-periphery-contract-artifacts 0.1.0 → 0.1.2
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.
- package/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/coston/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +57 -0
- package/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +6 -19
- package/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +0 -13
- package/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
- package/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
- package/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
- package/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
- package/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
- package/coston2/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
- package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
- package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
- package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
- package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +2 -2
- package/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
- package/coston2/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/coston2/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +121 -0
- package/coston2/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +512 -0
- package/coston2/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +1299 -0
- package/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +579 -0
- package/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +168 -0
- package/coston2/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +72 -0
- package/coston2/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +24 -0
- package/coston2/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +128 -0
- package/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +20 -2
- package/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
- package/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
- package/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
- package/coston2/artifacts/contracts/token/{lib → interface}/IICombinedNatBalance.sol/IICombinedNatBalance.json +33 -1
- package/coston2/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +14 -1
- package/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
- package/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
- package/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
- package/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
- package/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
- package/coston2/artifacts/contracts/userInterfaces/IAddressBinder.sol/IAddressBinder.json +121 -0
- package/coston2/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +1 -1
- package/coston2/artifacts/contracts/userInterfaces/IPChainStakeMirror.sol/IPChainStakeMirror.json +575 -0
- package/coston2/artifacts/contracts/userInterfaces/IPChainStakeMirrorMultiSigVoting.sol/IPChainStakeMirrorMultiSigVoting.json +311 -0
- package/coston2/artifacts/contracts/userInterfaces/IPChainStakeMirrorVerifier.sol/IPChainStakeMirrorVerifier.json +10 -0
- package/coston2/artifacts/contracts/userInterfaces/IPChainVotePower.sol/IPChainVotePower.json +309 -0
- package/coston2/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +10 -0
- package/coston2/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
- package/coston2/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
- package/coston2/deploys/contracts.json +23 -3
- package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.d.ts +68 -0
- package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.d.ts.map +1 -0
- package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.js +164 -0
- package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.js.map +1 -0
- package/dist/coston/StateConnector/libs/ts/AttestationResponse.d.ts +33 -0
- package/dist/coston/StateConnector/libs/ts/AttestationResponse.d.ts.map +1 -0
- package/dist/coston/StateConnector/libs/ts/AttestationResponse.js +30 -0
- package/dist/coston/StateConnector/libs/ts/AttestationResponse.js.map +1 -0
- package/dist/coston/StateConnector/libs/ts/MerkleTree.d.ts +103 -0
- package/dist/coston/StateConnector/libs/ts/MerkleTree.d.ts.map +1 -0
- package/dist/coston/StateConnector/libs/ts/MerkleTree.js +212 -0
- package/dist/coston/StateConnector/libs/ts/MerkleTree.js.map +1 -0
- package/dist/coston/StateConnector/libs/ts/config-types.d.ts +143 -0
- package/dist/coston/StateConnector/libs/ts/config-types.d.ts.map +1 -0
- package/dist/coston/StateConnector/libs/ts/config-types.js +3 -0
- package/dist/coston/StateConnector/libs/ts/config-types.js.map +1 -0
- package/dist/coston/StateConnector/libs/ts/interfaces.d.ts +32 -0
- package/dist/coston/StateConnector/libs/ts/interfaces.d.ts.map +1 -0
- package/dist/coston/StateConnector/libs/ts/interfaces.js +3 -0
- package/dist/coston/StateConnector/libs/ts/interfaces.js.map +1 -0
- package/dist/coston/StateConnector/libs/ts/random.d.ts +9 -0
- package/dist/coston/StateConnector/libs/ts/random.d.ts.map +1 -0
- package/dist/coston/StateConnector/libs/ts/random.js +70 -0
- package/dist/coston/StateConnector/libs/ts/random.js.map +1 -0
- package/dist/coston/StateConnector/libs/ts/utils.d.ts +73 -0
- package/dist/coston/StateConnector/libs/ts/utils.d.ts.map +1 -0
- package/dist/coston/StateConnector/libs/ts/utils.js +282 -0
- package/dist/coston/StateConnector/libs/ts/utils.js.map +1 -0
- package/dist/coston/StateConnector/typescript/AddressValidity.d.ts +91 -0
- package/dist/coston/StateConnector/typescript/AddressValidity.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/AddressValidity.js +9 -0
- package/dist/coston/StateConnector/typescript/AddressValidity.js.map +1 -0
- package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.d.ts +107 -0
- package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.js +9 -0
- package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.js.map +1 -0
- package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.d.ts +103 -0
- package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.js +9 -0
- package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.js.map +1 -0
- package/dist/coston/StateConnector/typescript/EVMTransaction.d.ts +160 -0
- package/dist/coston/StateConnector/typescript/EVMTransaction.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/EVMTransaction.js +9 -0
- package/dist/coston/StateConnector/typescript/EVMTransaction.js.map +1 -0
- package/dist/coston/StateConnector/typescript/Payment.d.ts +139 -0
- package/dist/coston/StateConnector/typescript/Payment.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/Payment.js +9 -0
- package/dist/coston/StateConnector/typescript/Payment.js.map +1 -0
- package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.d.ts +115 -0
- package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.js +9 -0
- package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.js.map +1 -0
- package/dist/coston/StateConnector/typescript/TypeTemplate.d.ts +146 -0
- package/dist/coston/StateConnector/typescript/TypeTemplate.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/TypeTemplate.js +9 -0
- package/dist/coston/StateConnector/typescript/TypeTemplate.js.map +1 -0
- package/dist/coston/StateConnector/typescript/data-sources/data-sources.d.ts +29 -0
- package/dist/coston/StateConnector/typescript/data-sources/data-sources.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/data-sources/data-sources.js +33 -0
- package/dist/coston/StateConnector/typescript/data-sources/data-sources.js.map +1 -0
- package/dist/coston/StateConnector/typescript/index.d.ts +9 -0
- package/dist/coston/StateConnector/typescript/index.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/index.js +25 -0
- package/dist/coston/StateConnector/typescript/index.js.map +1 -0
- package/dist/coston/abis.d.ts.map +1 -1
- package/dist/coston/abis.js +2 -0
- package/dist/coston/abis.js.map +1 -1
- package/dist/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/dist/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/dist/coston/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +57 -0
- package/dist/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +6 -19
- package/dist/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +0 -13
- package/dist/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/dist/coston/deploys/mapper.js.map +1 -1
- package/dist/coston2/abis.d.ts.map +1 -1
- package/dist/coston2/abis.js +20 -2
- package/dist/coston2/abis.js.map +1 -1
- package/dist/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
- package/dist/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +2 -2
- package/dist/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
- package/dist/coston2/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/dist/coston2/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +121 -0
- package/dist/coston2/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +512 -0
- package/dist/coston2/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +1299 -0
- package/dist/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +579 -0
- package/dist/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +168 -0
- package/dist/coston2/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +72 -0
- package/dist/coston2/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +24 -0
- package/dist/coston2/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +128 -0
- package/dist/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +20 -2
- package/dist/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
- package/dist/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
- package/dist/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
- package/dist/coston2/artifacts/contracts/token/{lib → interface}/IICombinedNatBalance.sol/IICombinedNatBalance.json +33 -1
- package/dist/coston2/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +14 -1
- package/dist/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
- package/dist/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
- package/dist/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
- package/dist/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
- package/dist/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
- package/dist/coston2/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +10 -0
- package/dist/coston2/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
- package/dist/coston2/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/dist/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
- package/dist/coston2/deploys/addresses.d.ts +4 -0
- package/dist/coston2/deploys/addresses.d.ts.map +1 -1
- package/dist/coston2/deploys/addresses.js +6 -2
- package/dist/coston2/deploys/addresses.js.map +1 -1
- package/dist/coston2/deploys/contracts.json +23 -3
- package/dist/coston2/deploys/mapper.js.map +1 -1
- package/dist/flare/abis.d.ts.map +1 -1
- package/dist/flare/abis.js +20 -2
- package/dist/flare/abis.js.map +1 -1
- package/dist/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
- package/dist/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +2 -2
- package/dist/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
- package/dist/flare/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/dist/flare/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +121 -0
- package/dist/flare/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +512 -0
- package/dist/flare/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +1299 -0
- package/dist/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +579 -0
- package/dist/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +168 -0
- package/dist/flare/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +72 -0
- package/dist/flare/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +24 -0
- package/dist/flare/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +128 -0
- package/dist/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +20 -2
- package/dist/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
- package/dist/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
- package/dist/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
- package/dist/flare/artifacts/contracts/token/{lib → interface}/IICombinedNatBalance.sol/IICombinedNatBalance.json +33 -1
- package/dist/flare/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +14 -1
- package/dist/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
- package/dist/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
- package/dist/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
- package/dist/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
- package/dist/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
- package/dist/flare/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +10 -0
- package/dist/flare/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
- package/dist/flare/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/dist/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
- package/dist/flare/deploys/addresses.d.ts +4 -0
- package/dist/flare/deploys/addresses.d.ts.map +1 -1
- package/dist/flare/deploys/addresses.js +6 -2
- package/dist/flare/deploys/addresses.js.map +1 -1
- package/dist/flare/deploys/contracts.json +23 -3
- package/dist/flare/deploys/mapper.js.map +1 -1
- package/dist/songbird/abis.d.ts.map +1 -1
- package/dist/songbird/abis.js +20 -14
- package/dist/songbird/abis.js.map +1 -1
- package/dist/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
- package/dist/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/dist/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
- package/dist/songbird/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/dist/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +273 -298
- package/dist/songbird/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
- package/dist/songbird/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +73 -0
- package/dist/songbird/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +290 -51
- package/dist/songbird/artifacts/contracts/inflation/interface/{IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json → IIInflationAllocation.sol/IIInflationAllocation.json} +15 -2
- package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +26 -0
- package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +57 -0
- package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +142 -0
- package/dist/songbird/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +18 -0
- package/dist/songbird/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +6 -12
- package/dist/songbird/artifacts/contracts/inflation/lib/{RewardServices.sol/RewardServices.json → InflationRewardServices.sol/InflationRewardServices.json} +25 -6
- package/dist/songbird/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +10 -0
- package/dist/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
- package/dist/songbird/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +127 -0
- package/dist/songbird/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +10 -0
- package/dist/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +13 -0
- package/dist/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/dist/songbird/deploys/addresses.js +3 -3
- package/dist/songbird/deploys/contracts.json +3 -3
- package/dist/songbird/deploys/mapper.js.map +1 -1
- package/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
- package/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
- package/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
- package/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
- package/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
- package/flare/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
- package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
- package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
- package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
- package/flare/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +2 -2
- package/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
- package/flare/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/flare/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +121 -0
- package/flare/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +512 -0
- package/flare/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +1299 -0
- package/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +579 -0
- package/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +168 -0
- package/flare/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +72 -0
- package/flare/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +24 -0
- package/flare/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +128 -0
- package/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +20 -2
- package/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
- package/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
- package/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
- package/flare/artifacts/contracts/token/{lib → interface}/IICombinedNatBalance.sol/IICombinedNatBalance.json +33 -1
- package/flare/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +14 -1
- package/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
- package/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
- package/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
- package/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
- package/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
- package/flare/artifacts/contracts/userInterfaces/IAddressBinder.sol/IAddressBinder.json +121 -0
- package/flare/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +1 -1
- package/flare/artifacts/contracts/userInterfaces/IPChainStakeMirror.sol/IPChainStakeMirror.json +575 -0
- package/flare/artifacts/contracts/userInterfaces/IPChainStakeMirrorMultiSigVoting.sol/IPChainStakeMirrorMultiSigVoting.json +311 -0
- package/flare/artifacts/contracts/userInterfaces/IPChainStakeMirrorVerifier.sol/IPChainStakeMirrorVerifier.json +10 -0
- package/flare/artifacts/contracts/userInterfaces/IPChainVotePower.sol/IPChainVotePower.json +309 -0
- package/flare/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +10 -0
- package/flare/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
- package/flare/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
- package/flare/deploys/contracts.json +23 -3
- package/package.json +3 -2
- package/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
- package/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
- package/songbird/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +273 -298
- package/songbird/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
- package/songbird/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +73 -0
- package/songbird/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +290 -51
- package/songbird/artifacts/contracts/inflation/interface/{IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json → IIInflationAllocation.sol/IIInflationAllocation.json} +15 -2
- package/songbird/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +26 -0
- package/songbird/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +57 -0
- package/songbird/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +142 -0
- package/songbird/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +18 -0
- package/songbird/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +6 -12
- package/songbird/artifacts/contracts/inflation/lib/{RewardServices.sol/RewardServices.json → InflationRewardServices.sol/InflationRewardServices.json} +25 -6
- package/songbird/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +10 -0
- package/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
- package/songbird/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +127 -0
- package/songbird/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +10 -0
- package/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +13 -0
- package/songbird/artifacts/contracts/userInterfaces/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
- package/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/songbird/deploys/contracts.json +3 -3
- package/dist/songbird/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +0 -351
- package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +0 -24
- package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +0 -10
- package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +0 -10
- package/dist/songbird/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +0 -30
- package/songbird/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +0 -351
- package/songbird/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +0 -24
- package/songbird/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +0 -10
- package/songbird/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +0 -10
- package/songbird/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +0 -30
|
@@ -919,19 +919,6 @@
|
|
|
919
919
|
"stateMutability": "view",
|
|
920
920
|
"type": "function"
|
|
921
921
|
},
|
|
922
|
-
{
|
|
923
|
-
"inputs": [],
|
|
924
|
-
"name": "getExpectedBalance",
|
|
925
|
-
"outputs": [
|
|
926
|
-
{
|
|
927
|
-
"internalType": "uint256",
|
|
928
|
-
"name": "",
|
|
929
|
-
"type": "uint256"
|
|
930
|
-
}
|
|
931
|
-
],
|
|
932
|
-
"stateMutability": "view",
|
|
933
|
-
"type": "function"
|
|
934
|
-
},
|
|
935
922
|
{
|
|
936
923
|
"inputs": [],
|
|
937
924
|
"name": "getInflationAddress",
|
|
@@ -1392,18 +1379,18 @@
|
|
|
1392
1379
|
"type": "function"
|
|
1393
1380
|
}
|
|
1394
1381
|
],
|
|
1395
|
-
"bytecode": "0x60a06040523480156200001157600080fd5b5060405162005bbf38038062005bbf833981810160405260a08110156200003757600080fd5b508051602082015160408301516060840151608090940151929391929091908385806001600160a01b0381161562000074576200007481620000fd565b506001600160a01b038116620000c4576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b506001600255620000d581620001c0565b5060609290921b6001600160601b031916608052600f556010555050600019600455620001e4565b600054600160a01b900460ff16156200015d576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b60805160601c6159ae62000211600039806114e85280611714528061325c528061329d52506159ae6000f3fe60806040526004361061036b5760003560e01c806385b4c538116101c6578063cfbcd25f116100f7578063e7c830d411610095578063ed39d3f81161006f578063ed39d3f814611383578063f2edab5a14611398578063f5a98383146113c2578063f5f5ba72146113d75761036b565b8063e7c830d414611320578063ea28edad14611335578063eb82dd7f1461134a5761036b565b8063d6c1dbee116100d1578063d6c1dbee14611185578063e17f212e146111af578063e2739563146111c4578063e416b7e1146111ee5761036b565b8063cfbcd25f1461104d578063d20bb54214611080578063d418634a1461115b5761036b565b8063af04cd3b11610164578063b2c121921161013e578063b2c1219214610f55578063b482403414610fa0578063b4a2043d14610fb5578063c4db9619146110385761036b565b8063af04cd3b14610d85578063b00c0b7614610d9a578063b2af870a14610eca5761036b565b80639d6a890f116101a05780639d6a890f14610ac05780639edbf00714610af3578063a4472c1014610b08578063a9b79e1714610c285761036b565b806385b4c538146109b05780638dc305fa14610a0c578063961c00ed14610a875761036b565b80633e7ff857116102a057806367dcac531161023e57806374e6310e1161021857806374e6310e146108595780637b6b2c0a1461090c57806382a2b9051461092157806384e10a90146109545761036b565b806367dcac53146107bc57806367fc4029146107f257806369b91b59146108265761036b565b80635aa6e6751161027a5780635aa6e675146107255780635ff270791461073a57806362354e031461076e578063657d9695146107835761036b565b80633e7ff857146106e657806351b42b00146106fb5780635267a15d146107105761036b565b806316e693281161030d57806321bb25af116102e757806321bb25af146104a75780632dafdbbf1461058d5780633123b7d8146105c057806333b7971e146105d55761036b565b806316e693281461044157806316fe49c71461047d5780631de56098146104925761036b565b80630cb72344116103495780630cb72344146103d15780630f15f4c01461040257806311a7aaaa1461041757806312f97ac01461042c5761036b565b806302fb0c5e146103705780630441218e1461039957806306201f1d146103c7575b600080fd5b34801561037c57600080fd5b50610385611461565b604080519115158252519081900360200190f35b3480156103a557600080fd5b506103ae61146a565b6040805192835260208301919091528051918290030190f35b6103cf61147e565b005b3480156103dd57600080fd5b506103e66114e6565b604080516001600160a01b039092168252519081900360200190f35b34801561040e57600080fd5b506103cf61150a565b34801561042357600080fd5b506103e66115d3565b34801561043857600080fd5b506103e66115e2565b34801561044d57600080fd5b5061046b6004803603602081101561046457600080fd5b50356115f1565b60408051918252519081900360200190f35b34801561048957600080fd5b5061046b6116cf565b34801561049e57600080fd5b506103cf6116d5565b3480156104b357600080fd5b5061046b600480360360a08110156104ca57600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b8111156104fd57600080fd5b82018360208201111561050f57600080fd5b803590602001918460208302840111600160201b8311171561053057600080fd5b919390929091602081019035600160201b81111561054d57600080fd5b82018360208201111561055f57600080fd5b803590602001918460208302840111600160201b8311171561058057600080fd5b919350915035151561183b565b34801561059957600080fd5b506105a26118c7565b60408051938452602084019290925282820152519081900360600190f35b3480156105cc57600080fd5b5061046b6118f2565b3480156105e157600080fd5b50610608600480360360208110156105f857600080fd5b50356001600160a01b0316611901565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015610650578181015183820152602001610638565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561068f578181015183820152602001610677565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156106ce5781810151838201526020016106b6565b50505050905001965050505050505060405180910390f35b3480156106f257600080fd5b5061046b611b55565b34801561070757600080fd5b506103cf611b5b565b34801561071c57600080fd5b506103e6611ba2565b34801561073157600080fd5b506103e6611bc7565b34801561074657600080fd5b506103cf6004803603602081101561075d57600080fd5b50356001600160e01b031916611c68565b34801561077a57600080fd5b506103e6611fca565b34801561078f57600080fd5b506103ae600480360360408110156107a657600080fd5b50803590602001356001600160a01b0316611fe2565b3480156107c857600080fd5b506103cf600480360360608110156107df57600080fd5b508035906020810135906040013561201e565b3480156107fe57600080fd5b506103cf6004803603602081101561081557600080fd5b50356001600160e01b031916612086565b34801561083257600080fd5b5061046b6004803603602081101561084957600080fd5b50356001600160a01b031661216e565b34801561086557600080fd5b5061088d6004803603602081101561087c57600080fd5b50356001600160e01b031916612187565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156108d05781810151838201526020016108b8565b50505050905090810190601f1680156108fd5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561091857600080fd5b5061046b61222d565b34801561092d57600080fd5b506103cf6004803603602081101561094457600080fd5b50356001600160a01b0316612233565b34801561096057600080fd5b50610969612326565b60408051998a5260208a0198909852888801969096526060880194909452608087019290925260a086015260c085015260e084015261010083015251908190036101200190f35b3480156109bc57600080fd5b506109f1600480360360608110156109d357600080fd5b508035906001600160a01b036020820135811691604001351661234c565b60408051921515835260208301919091528051918290030190f35b348015610a1857600080fd5b506103cf60048036036040811015610a2f57600080fd5b810190602081018135600160201b811115610a4957600080fd5b820183602082011115610a5b57600080fd5b803590602001918460208302840111600160201b83111715610a7c57600080fd5b9193509150356123a0565b348015610a9357600080fd5b5061046b60048036036040811015610aaa57600080fd5b506001600160a01b03813516906020013561274e565b348015610acc57600080fd5b506103cf60048036036020811015610ae357600080fd5b50356001600160a01b03166127d0565b348015610aff57600080fd5b506103e6612889565b348015610b1457600080fd5b50610b4160048036036040811015610b2b57600080fd5b506001600160a01b038135169060200135612898565b604051808060200180602001806020018515158152602001848103845288818151815260200191508051906020019060200280838360005b83811015610b91578181015183820152602001610b79565b50505050905001848103835287818151815260200191508051906020019060200280838360005b83811015610bd0578181015183820152602001610bb8565b50505050905001848103825286818151815260200191508051906020019060200280838360005b83811015610c0f578181015183820152602001610bf7565b5050505090500197505050505050505060405180910390f35b348015610c3457600080fd5b506103cf6004803603610120811015610c4c57600080fd5b810190602081018135600160201b811115610c6657600080fd5b820183602082011115610c7857600080fd5b803590602001918460208302840111600160201b83111715610c9957600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610ce857600080fd5b820183602082011115610cfa57600080fd5b803590602001918460208302840111600160201b83111715610d1b57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550508235935050506020810135906001600160a01b036040820135169060608101359060808101359060a08101359060c00135612902565b348015610d9157600080fd5b5061046b612d51565b348015610da657600080fd5b506103cf60048036036040811015610dbd57600080fd5b810190602081018135600160201b811115610dd757600080fd5b820183602082011115610de957600080fd5b803590602001918460208302840111600160201b83111715610e0a57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610e5957600080fd5b820183602082011115610e6b57600080fd5b803590602001918460208302840111600160201b83111715610e8c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612d5b945050505050565b348015610ed657600080fd5b5061046b60048036036040811015610eed57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115610f1757600080fd5b820183602082011115610f2957600080fd5b803590602001918460208302840111600160201b83111715610f4a57600080fd5b509092509050612e06565b348015610f6157600080fd5b5061046b60048036036080811015610f7857600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515612ebc565b348015610fac57600080fd5b5061046b612f42565b348015610fc157600080fd5b50610fe860048036036020811015610fd857600080fd5b50356001600160a01b0316612f48565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561102457818101518382015260200161100c565b505050509050019250505060405180910390f35b34801561104457600080fd5b506103e66130ef565b34801561105957600080fd5b5061046b6004803603602081101561107057600080fd5b50356001600160a01b03166130fe565b34801561108c57600080fd5b5061046b600480360360608110156110a357600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156110cd57600080fd5b8201836020820111156110df57600080fd5b803590602001918460208302840111600160201b8311171561110057600080fd5b919390929091602081019035600160201b81111561111d57600080fd5b82018360208201111561112f57600080fd5b803590602001918460208302840111600160201b8311171561115057600080fd5b509092509050613115565b34801561116757600080fd5b506103ae6004803603602081101561117e57600080fd5b5035613190565b34801561119157600080fd5b506103cf600480360360208110156111a857600080fd5b50356131af565b3480156111bb57600080fd5b50610385613385565b3480156111d057600080fd5b506103cf600480360360208110156111e757600080fd5b5035613395565b3480156111fa57600080fd5b5061127e6004803603606081101561121157600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561124057600080fd5b82018360208201111561125257600080fd5b803590602001918460208302840111600160201b8311171561127357600080fd5b5090925090506133ec565b6040518080602001806020018415158152602001838103835286818151815260200191508051906020019060200280838360005b838110156112ca5781810151838201526020016112b2565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156113095781810151838201526020016112f1565b505050509050019550505050505060405180910390f35b34801561132c57600080fd5b5061046b613452565b34801561134157600080fd5b506103cf61345c565b34801561135657600080fd5b506103ae6004803603604081101561136d57600080fd5b50803590602001356001600160a01b03166134ef565b34801561138f57600080fd5b506103e661352b565b3480156113a457600080fd5b5061046b600480360360208110156113bb57600080fd5b503561353a565b3480156113ce57600080fd5b506103cf613545565b3480156113e357600080fd5b506113ec61360c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561142657818101518382015260200161140e565b50505050905090810190601f1680156114535780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60035460ff1681565b600080611475613637565b90939092509050565b6114866136a7565b61148e6136f7565b601b5560185461149e903461375e565b6018556114a96137b8565b6040805134815290517f95c4e29cc99bc027cfc3cd719d6fd973d5f0317061885fbb322b9b17d8d35d379181900360200190a16114e4613898565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b6115126138e4565b601e546001600160a01b0316158015906115365750601c546001600160a01b031615155b801561154c5750601f546001600160a01b031615155b611591576040805162461bcd60e51b81526020600482015260116024820152701859191c995cdcd95cc81b9bdd081cd95d607a1b604482015290519081900360640190fd5b6003805460ff191660011790556040805130815290517f2d9c100169d5e24ef79d07ec273fcbbd5ce996a849ef0223f37c49f6418df84d9181900360200190a1565b601c546001600160a01b031681565b6020546001600160a01b031681565b60008073__$b9040dea2fd9c47e6b7e0e916053de4d6b$__63e937a562600f85611619613943565b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561165b57600080fd5b505af415801561166f573d6000803e3d6000fd5b505050506040513d602081101561168557600080fd5b50516040805185815260208101839052815192935033927fd89f05622c2dcb0b4fcaa19e62fc2a2b0923955685fb7b0c641467f764244abc929181900390910190a290505b919050565b600f5490565b600054600160b01b900460ff16806116f75750600054600160a81b900460ff16155b1561183057611704613988565b60035460ff1615801561173f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031615155b801561174b5750600654155b80156117575750600554155b61179c576040805162461bcd60e51b81526020600482015260116024820152706e6f7420696e697469616c20737461746560781b604482015290519081900360640190fd5b6117af60016117a9613943565b9061375e565b600655601c5460408051633e7ff85760e01b815290516001600160a01b0390921691633e7ff85791600480820192602092909190829003018186803b1580156117f757600080fd5b505afa15801561180b573d6000803e3d6000fd5b505050506040513d602081101561182157600080fd5b505160055560006004556114e4565b6114e46000366139bd565b6000611845613b4d565b60028054141561188a576040805162461bcd60e51b815260206004820152601f6024820152600080516020615911833981519152604482015290519081900360640190fd5b60028055878761189a8282613ba4565b6118a98a8a8a8a8a8a8a613c31565b600160025592506118bc91506138989050565b979650505050505050565b6000806000806017546118e760165460135461375e90919063ffffffff16565b925092509250909192565b60006118fc613dee565b905090565b6060808073__$b9040dea2fd9c47e6b7e0e916053de4d6b$__6325459925600f8661192a613943565b6040518463ffffffff1660e01b815260040180848152602001836001600160a01b03168152602001828152602001935050505060006040518083038186803b15801561197557600080fd5b505af4158015611989573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260608110156119b257600080fd5b8101908080516040519392919084600160201b8211156119d157600080fd5b9083019060208201858111156119e657600080fd5b82518660208202830111600160201b82111715611a0257600080fd5b82525081516020918201928201910280838360005b83811015611a2f578181015183820152602001611a17565b5050505090500160405260200180516040519392919084600160201b821115611a5757600080fd5b908301906020820185811115611a6c57600080fd5b82518660208202830111600160201b82111715611a8857600080fd5b82525081516020918201928201910280838360005b83811015611ab5578181015183820152602001611a9d565b5050505090500160405260200180516040519392919084600160201b821115611add57600080fd5b908301906020820185811115611af257600080fd5b82518660208202830111600160201b82111715611b0e57600080fd5b82525081516020918201928201910280838360005b83811015611b3b578181015183820152602001611b23565b505050509050016040525050509250925092509193909250565b60055490565b611b636138e4565b6003805460ff191690556040805130815290517fa391f4e911c33688045cc1f43dc17c05924f79ad72a8cf5a58cf00c3acc9090e9181900360200190a1565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff16611bea576000546001600160a01b03166118fc565b73183faff6997c98a812a3b98748fc80241d08f3126001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b158015611c3757600080fd5b505afa158015611c4b573d6000803e3d6000fd5b505050506040513d6020811015611c6157600080fd5b5051905090565b60408051630debfda360e41b8152336004820152905173183faff6997c98a812a3b98748fc80241d08f3129163debfda30916024808301926020929190829003018186803b158015611cb957600080fd5b505afa158015611ccd573d6000803e3d6000fd5b505050506040513d6020811015611ce357600080fd5b5051611d26576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054611d92576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015611de8576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611e825780601f10611e5757610100808354040283529160200191611e82565b820191906000526020600020905b815481529060010190602001808311611e6557829003601f168201915b5050506001600160e01b0319861660009081526001602081905260408220828155949550909250611eb691508301826157f0565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b60208310611efe5780518252601f199092019160209182019101611edf565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611f60576040519150601f19603f3d011682016040523d82523d6000602084013e611f65565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1611fc481613dff565b50505050565b73183faff6997c98a812a3b98748fc80241d08f31281565b60009182526007602090815260408084206001600160a01b0390931684529190529020546001600160801b0380821692600160801b9092041690565b612026613e1c565b60006120328383613e6f565b601554909150612042908261375e565b601555604080518581526020810183905281517f754fa5a3ace0438b80ec651f7d61e44f761a808ebd17d7ce70da619399611a08929181900390910190a150505050565b61208e6138e4565b6001600160e01b031981166000908152600160205260409020546120f9576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b03198116600090815260016020819052604082208281559190612169908301826157f0565b505050565b60006121818261217c613e8c565b613eac565b92915050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156122235780601f106121f857610100808354040283529160200191612223565b820191906000526020600020905b81548152906001019060200180831161220657829003601f168201915b5050505050905082565b60045481565b600054600160b01b900460ff16806122555750600054600160a81b900460ff16155b1561231857612262613988565b6020546001600160a01b0316156122ae576040805162461bcd60e51b815260206004820152600b60248201526a185b1c9958591e481cd95d60aa1b604482015290519081900360640190fd5b6001600160a01b0381166122f8576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b602080546001600160a01b0319166001600160a01b038316179055612323565b6123236000366139bd565b50565b601254601354601454601554601654601754601854601954601a54909192939495969798565b60008061235a858585613ecf565b6000958652600a602090815260408088206001600160a01b039788168952825280882095909616875293909352505091205490916101009091046001600160801b031690565b6123a8613b4d565b6002805414156123ed576040805162461bcd60e51b815260206004820152601f6024820152600080516020615911833981519152604482015290519081900360640190fd5b600280556123f96136f7565b5060005b828110156124315761242984848381811061241457fe5b905060200201356001600160a01b0316613f11565b6001016123fd565b50600061243c613943565b90506124488282613f5d565b612489576040805162461bcd60e51b815260206004820152600d60248201526c6e6f7420636c61696d61626c6560981b604482015290519081900360640190fd5b601d546040805163712441d960e11b81523360048201818152602483019384526044830188905260009485946001600160a01b039091169363e24883b293928b928b92606401846020850280828437600081840152601f19601f82011690508083019250505094505050505060006040518083038186803b15801561250d57600080fd5b505afa158015612521573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561254a57600080fd5b8101908080516040519392919084600160201b82111561256957600080fd5b90830190602082018581111561257e57600080fd5b82518660208202830111600160201b8211171561259a57600080fd5b82525081516020918201928201910280838360005b838110156125c75781810151838201526020016125af565b50505050919091016040525060200151929450919250600091506125eb9050613e8c565b905060005b8681101561272657600088888381811061260657fe5b905060200201356001600160a01b03169050600085838151811061262657fe5b60200260200101519050600061263e83838b88613f7f565b9050816001600160a01b0316836001600160a01b0316146126675761266582838b88613f7f565b015b60408051808201909152601881527f636c61696d656420616d6f756e7420746f6f20736d616c6c000000000000000060208201526126a89082908890614023565b9050801561271b57601f546040805163b760faf960e01b81526001600160a01b0385811660048301529151919092169163b760faf991849160248082019260009290919082900301818588803b15801561270157600080fd5b505af1158015612715573d6000803e3d6000fd5b50505050505b5050506001016125f0565b5061273c3361273584896140ba565b6000614113565b50506001600255506121699050613898565b600081612759613dee565b111580156127755750600f54612771906117a9613943565b8211155b6127bd576040805162461bcd60e51b81526020600482015260146024820152730d2dcecc2d8d2c840e4caeec2e4c840cae0dec6d60631b604482015290519081900360640190fd5b6127c9600f848461422e565b9392505050565b600054600160a01b900460ff1615612826576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b601f546001600160a01b031681565b60608060606000806128a8613943565b90506128b48682613f5d565b915081806128ce575080861480156128ce57506004548610155b156128f85760006128e1888860006142c1565b805160408201516060909201519097509095509350505b5092959194509250565b61290a613e1c565b86158015906129195750885115155b61291f57fe5b6000838152600c6020526040812082905561293a8584613e6f565b905060008a5167ffffffffffffffff8111801561295657600080fd5b50604051908082528060200260200182016040528015612980578160200160208202803683370190505b509050818160008151811061299157fe5b602002602001018181525050888a6000815181106129ab57fe5b60209081029190910101528a51600019015b60008c82815181106129cb57fe5b60200260200101519050612a258c83815181106129e457fe5b60200260200101518d6000815181106129f957fe5b602002602001015185600081518110612a0e57fe5b60200260200101516148849092919063ffffffff16565b838381518110612a3157fe5b60209081029190910181019190915260008881526007825260408082206001600160a01b0385168352909252208351612a7d90859085908110612a7057fe5b6020026020010151614984565b81546001600160801b031981166001600160801b039182169290920116178155601f5460408051631257fcdb60e31b81526001600160a01b038581166004830152602482018a9052915160009392909216916392bfe6d891604480820192602092909190829003018186803b158015612af557600080fd5b505afa158015612b09573d6000803e3d6000fd5b505050506040513d6020811015612b1f57600080fd5b50519050612b37612b32826127106140ba565b614984565b82546001600160801b03918216600160801b0291161782558451859085908110612b5d57fe5b60209081029190910181015160008b81526009835260408082206001600160a01b03881680845290855281832080549094019093558c82526008845280822092825291909252902054612bd05760008981526008602090815260408083206001600160a01b038716845290915290208190555b83612bdd57505050612c4f565b848481518110612be957fe5b602002602001015185600081518110612bfe57fe5b6020026020010181815103915081815250508d8481518110612c1c57fe5b60200260200101518e600081518110612c3157fe5b602090810291909101018051919091039052505050600019016129bd565b6000868152600d60205260409020805484019055601254612c70908461375e565b601281905550876001600160a01b03167f8b2bc56c62594afde5b520e83e1ca19ebd071798db21382e328014f47b31ce578a8e85604051808481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015612cee578181015183820152602001612cd6565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015612d2d578181015183820152602001612d15565b505050509050019550505050505060405180910390a2505050505050505050505050565b60006118fc6149c8565b612d63611ba2565b6001600160a01b0316336001600160a01b031614612dbf576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b612df8612df383836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b8152506149e7565b614b0b565b612e028282614b2f565b5050565b6000612e10613b4d565b600280541415612e55576040805162461bcd60e51b815260206004820152601f6024820152600080516020615911833981519152604482015290519081900360640190fd5b600280556000805b83811015612e9d57848482818110612e7157fe5b90506020020135821015612e9557848482818110612e8b57fe5b9050602002013591505b600101612e5d565b50612eab3386836000614c7a565b600160025591506127c99050613898565b6000612ec6613b4d565b600280541415612f0b576040805162461bcd60e51b815260206004820152601f6024820152600080516020615911833981519152604482015290519081900360640190fd5b600280558484612f1b8282613ba4565b612f2787878787614c7a565b60016002559250612f3a91506138989050565b949350505050565b60105490565b6060600080612f55613637565b909250905060018282030160008167ffffffffffffffff81118015612f7957600080fd5b50604051908082528060200260200182016040528015612fa3578160200160208202803683370190505b5090506000805b83811015613050576000612fc28983890160016142c1565b905060005b8160600151518110156130465781606001518181518110612fe457fe5b6020026020010151158015613010575060008260400151828151811061300657fe5b6020026020010151115b1561303e57600185848151811061302357fe5b91151560209283029190910190910152600190930192613046565b600101612fc7565b5050600101612faa565b508067ffffffffffffffff8111801561306857600080fd5b50604051908082528060200260200182016040528015613092578160200160208202803683370190505b5095506000805b848110156130e3578381815181106130ad57fe5b6020026020010151156130db578087018883815181106130c957fe5b60209081029190910101526001909101905b600101613099565b50505050505050919050565b601d546001600160a01b031681565b60006121818261310c613943565b600f919061422e565b600061311f613b4d565b600280541415613164576040805162461bcd60e51b815260206004820152601f6024820152600080516020615911833981519152604482015290519081900360640190fd5b600280556131783387878787876000613c31565b60016002559050613187613898565b95945050505050565b6000908152600d6020908152604080832054600e909252909120549091565b601c546001600160a01b03163314806131d257506020546001600160a01b031633145b613213576040805162461bcd60e51b815260206004820152600d60248201526c6f6e6c79206d616e616765727360981b604482015290519081900360640190fd5b806005541461325a576040805162461bcd60e51b815260206004820152600e60248201526d1ddc9bdb99c8195c1bd8da081a5960921b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031615801590613296575060065460320181105b1561331a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d6c1dbee826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561330157600080fd5b505af1158015613315573d6000803e3d6000fd5b505050505b6000818152600e6020908152604080832054600d9092529091205460145491900390613346908261375e565b6014556040805183815290517f5d05c64f281304391697cf987812e1a736413a062a9bdf39af4102209eb6fa589181900360200190a150600101600555565b600054600160a81b900460ff1681565b61339d6136a7565b601a8190556017546133af908261375e565b601755426019556040805182815290517f187f32a0f765499f15b3bb52ed0aebf6015059f230f2ace7e701e60a476695959181900360200190a150565b6060806000806133fa613943565b90506134068782613f5d565b915081806134205750808714801561342057506004548710155b15613447576000613435898989896000614cf7565b90508060400151945080606001519350505b509450945094915050565b60006118fc613943565b6134646138e4565b600019600454146134ae576040805162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e48195b98589b1959608a1b604482015290519081900360640190fd5b6134b6613943565b600481905560408051918252517f1cfb844c44f9325fc9ad6cc6191a4a24b0415137fe300b6c9071523a253f7a089181900360200190a1565b60008281526009602090815260408083206001600160a01b03909416808452938252808320549483526008825280832093835292905220549091565b601e546001600160a01b031690565b6000612181826150d3565b61354d6138e4565b600054600160a81b900460ff16156135ac576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805173183faff6997c98a812a3b98748fc80241d08f312815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b604080518082019091526011815270233a39b7a932bbb0b93226b0b730b3b2b960791b602082015290565b600554600080613645613943565b90506000811161369c576040805162461bcd60e51b815260206004820152601f60248201527f6e6f2065706f6368207769746820636c61696d61626c65207265776172647300604482015290519081900360640190fd5b600181039150509091565b601e546001600160a01b031633146114e4576040805162461bcd60e51b815260206004820152600e60248201526d696e666c6174696f6e206f6e6c7960901b604482015290519081900360640190fd5b601b54600090613707903461375e565b905047818111156137505761dead6108fc6137228385615165565b6040518115909202916000818181858888f1935050505015801561374a573d6000803e3d6000fd5b5061375a565b8181101561375a57fe5b5090565b6000828201838110156127c9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006137dd6016546137d760145460155461375e90919063ffffffff16565b90615165565b905080156123235760006137f44760146064614884565b905060008183111561380757508061380a565b50815b80156121695760165461381d908261375e565b601655601b5461382d9082615165565b601b5560405161dead9082156108fc029083906000818181858888f1935050505015801561385f573d6000803e3d6000fd5b506040805182815290517f44d5cd18c37b86a3423952287006d9550ab3cff404d6e899d5499d9ef87100b59181900360200190a1505050565b6138a06149c8565b47146114e4576040805162461bcd60e51b815260206004820152600e60248201526d6f7574206f662062616c616e636560901b604482015290519081900360640190fd5b6138ec611bc7565b6001600160a01b0316336001600160a01b0316146114e4576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b601c54604080516339f20c3560e21b815290516000926001600160a01b03169163e7c830d4916004808301926020929190829003018186803b158015611c3757600080fd5b600054600160b01b900460ff16156139b5573330146139a357fe5b6000805460ff60b01b191690556114e4565b6114e46138e4565b6139c56138e4565b600082359050600073183faff6997c98a812a3b98748fc80241d08f3126001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b158015613a1a57600080fd5b505afa158015613a2e573d6000803e3d6000fd5b505050506040513d6020811015613a4457600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450613ac893928501920190615834565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b60035460ff166114e4576040805162461bcd60e51b815260206004820152601a60248201527f726577617264206d616e61676572206465616374697661746564000000000000604482015290519081900360640190fd5b336001600160a01b0383161415613bba57612e02565b601d546040805163ce2caa5760e01b81523360048201526001600160a01b03858116602483015284811660448301529151919092169163ce2caa57916064808301926000929190829003018186803b158015613c1557600080fd5b505afa158015613c29573d6000803e3d6000fd5b505050505050565b6000613c3c87613f11565b613c446136f7565b506002601f546040805163f683776760e01b81526001600160a01b038c811660048301529151919092169163f6837767916024808301926020929190829003018186803b158015613c9457600080fd5b505afa158015613ca8573d6000803e3d6000fd5b505050506040513d6020811015613cbe57600080fd5b505114613d12576040805162461bcd60e51b815260206004820152601860248201527f6578706c696369742064656c65676174696f6e206f6e6c790000000000000000604482015290519081900360640190fd5b6000613d1c613943565b905060005b86811015613dd657613d45888883818110613d3857fe5b9050602002013583613f5d565b613d4e57613dce565b6000613d708b8a8a85818110613d6057fe5b9050602002013589896001614cf7565b90506000613d948c8c8c8c87818110613d8557fe5b905060200201358560016151c2565b905080600e60008c8c87818110613da757fe5b60209081029290920135835250810191909152604001600020805490910190559390930192505b600101613d21565b50613de2888385614113565b50979650505050505050565b60065460009061218190600161543a565b3d604051818101604052816000823e8215613e18578181f35b8181fd5b601c546001600160a01b031633146114e4576040805162461bcd60e51b81526020600482015260116024820152706674736f206d616e61676572206f6e6c7960781b604482015290519081900360640190fd5b60006127c9613e7e8385615460565b613e866154df565b906154fe565b60006118fc600454613ea7613e9f613dee565b600554615565565b615565565b6001600160a01b0382166000908152600b60205260408120546127c99083615565565b6000838152600a602090815260408083206001600160a01b038087168552908352818420908516845290915281205460ff1680612f3a5750612f3a848361557c565b6001600160a01b038116612323576040805162461bcd60e51b815260206004820152600e60248201526d726563697069656e74207a65726f60901b604482015290519081900360640190fd5b60006004548310158015613f7357506005548310155b80156127c95750501190565b600080613f8c8684613eac565b90505b838111613fd9576000613fa4878360016142c1565b90506000613fb68888858560006151c2565b6000848152600e6020526040902080548201905593909301925050600101613f8f565b506001600160a01b0385166000908152600b6020526040902054600184011115612f3a576001600160a01b0385166000908152600b60205260409020600184019055949350505050565b600081848411156140b25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561407757818101518382015260200161405f565b50505050905090810190601f1680156140a45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000826140c957506000612181565b828202828482816140d657fe5b04146127c95760405162461bcd60e51b81526004018080602001828103825260218152602001806159586021913960400191505060405180910390fd5b811561422557801561418e57601f546040805163b760faf960e01b81526001600160a01b0386811660048301529151919092169163b760faf991859160248082019260009290919082900301818588803b15801561417057600080fd5b505af1158015614184573d6000803e3d6000fd5b5050505050614225565b6040516000906001600160a01b0385169084908381818185875af1925050503d80600081146141d9576040519150601f19603f3d011682016040523d82523d6000602084013e6141de565b606091505b5050905080614223576040805162461bcd60e51b815260206004820152600c60248201526b18db185a5b4819985a5b195960a21b604482015290519081900360640190fd5b505b505047601b5550565b6001600160a01b0382166000908152600284016020526040812080545b80156142b25781546000199091019082908290811061426657fe5b6000918252602090912001546201000090046001600160f01b031684106142ad5781818154811061429357fe5b60009182526020909120015461ffff1692506127c9915050565b61424b565b50505060018301549392505050565b6142c96158bc565b60006142d4846150d3565b90506000806142e16158e4565b6142eb878961557c565b156142f957505050506127c9565b60008781526009602090815260408083206001600160a01b038c168452909152902054151580614327575085155b1561435957614337888886615598565b915061434487898461570e565b6001600160801b031660208201819052151592505b601f546040805163ed475a7960e01b81526001600160a01b038b811660048301526024820188905291516060938493169163ed475a79916044808301926000929190829003018186803b1580156143af57600080fd5b505afa1580156143c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260808110156143ec57600080fd5b8101908080516040519392919084600160201b82111561440b57600080fd5b90830190602082018581111561442057600080fd5b82518660208202830111600160201b8211171561443c57600080fd5b82525081516020918201928201910280838360005b83811015614469578181015183820152602001614451565b5050505090500160405260200180516040519392919084600160201b82111561449157600080fd5b9083019060208201858111156144a657600080fd5b82518660208202830111600160201b821117156144c257600080fd5b82525081516020918201928201910280838360005b838110156144ef5781810151838201526020016144d7565b5050505091909101604052505083519395509193508791506145149050576000614517565b60015b60ff160167ffffffffffffffff8111801561453157600080fd5b5060405190808252806020026020018201604052801561455b578160200160208202803683370190505b508088525167ffffffffffffffff8111801561457657600080fd5b506040519080825280602002602001820160405280156145a0578160200160208202803683370190505b50602088015286515167ffffffffffffffff811180156145bf57600080fd5b506040519080825280602002602001820160405280156145e9578160200160208202803683370190505b50604088015286515167ffffffffffffffff8111801561460857600080fd5b50604051908082528060200260200182016040528015614632578160200160208202803683370190505b50606088015284156146ba5789876000015160008151811061465057fe5b60200260200101906001600160a01b031690816001600160a01b03168152505083876020015160008151811061468257fe5b60200260200101818152505082602001516001600160801b031687604001516000815181106146ad57fe5b6020026020010181815250505b81511561487757601f546040805163277166bf60e11b81526001600160a01b038d81166004830152602482018a905291516000939290921691634ee2cd7e91604480820192602092909190829003018186803b15801561471957600080fd5b505afa15801561472d573d6000803e3d6000fd5b505050506040513d602081101561474357600080fd5b5051905060005b83518110156148745760008188614762576000614765565b60015b60ff1601905084828151811061477757fe5b60200260200101518a60000151828151811061478f57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506147f68583815181106147be57fe5b60200260200101516147f08685815181106147d557fe5b6020026020010151612710876148849092919063ffffffff16565b8e6157ab565b8a60200151828151811061480657fe5b6020026020010181815250506148478c86848151811061482257fe5b60200260200101518c60200151848151811061483a57fe5b602002602001015161570e565b6001600160801b03168a60400151828151811061486057fe5b60209081029190910101525060010161474a565b50505b5050505050509392505050565b60008082116148cd576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b836148da575060006127c9565b838302838582816148e757fe5b041415614900578281816148f757fe5b049150506127c9565b600083868161490b57fe5b049050600084878161491957fe5b069050600085878161492757fe5b049050600086888161493557fe5b06905061497761494988613e8686856140ba565b6117a961495686866140ba565b6117a961496389876140ba565b6117a98d6149718c8b6140ba565b906140ba565b9998505050505050505050565b6000600160801b821061375a5760405162461bcd60e51b81526004018080602001828103825260278152602001806159316027913960400191505060405180910390fd5b60006118fc6016546137d760135460185461516590919063ffffffff16565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015614a2b578181015183820152602001614a13565b50505050905090810190601f168015614a585780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b8651811015614ac057868181518110614a8e57fe5b6020026020010151831415614ab857858181518110614aa957fe5b60200260200101519150614ac0565b600101614a79565b506001600160a01b038116613187576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b614b5b82826040518060400160405280600981526020016824b7333630ba34b7b760b91b8152506149e7565b601e60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614baf82826040518060400160405280600b81526020016a233a39b7a6b0b730b3b2b960a91b8152506149e7565b601c60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614bfc82826040518060400160405280600481526020016315d3985d60e21b8152506149e7565b601f60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614c5682826040518060400160405280601181526020017021b630b4b6a9b2ba3ab826b0b730b3b2b960791b8152506149e7565b601d80546001600160a01b0319166001600160a01b03929092169190911790555050565b6000614c8584613f11565b614c8d6136f7565b506000614c98613943565b9050808410158015614caa5750600081115b15614cb6576001810393505b614cc08482613f5d565b614cce576000915050612f3a565b614ce1868686614cdc613e8c565b613f7f565b9150614cee858385614113565b50949350505050565b614cff6158bc565b6000614d0a866150d3565b6040805160208088028281018201909352878252929350869290918891849182918501908490808284376000920191909152505050908452508067ffffffffffffffff81118015614d5a57600080fd5b50604051908082528060200260200182016040528015614d84578160200160208202803683370190505b5060208401528067ffffffffffffffff81118015614da157600080fd5b50604051908082528060200260200182016040528015614dcb578160200160208202803683370190505b5060408401528067ffffffffffffffff81118015614de857600080fd5b50604051908082528060200260200182016040528015614e12578160200160208202803683370190505b50606084015260005b818110156150c757614e4988888884818110614e3357fe5b905060200201356001600160a01b03168b613ecf565b84606001518281518110614e5957fe5b60200260200101901515908115158152505083606001518181518110614e7b57fe5b602002602001015115614f105784614f0b576000888152600a6020526040812090888884818110614ea857fe5b602090810292909201356001600160a01b039081168452838301949094525060409182016000908120938d16815292905290819020549085015180516101009092046001600160801b03169183908110614efe57fe5b6020026020010181815250505b6150bf565b886001600160a01b0316878783818110614f2657fe5b905060200201356001600160a01b03166001600160a01b03161415614f7157614f50898985615598565b84602001518281518110614f6057fe5b602002602001018181525050615069565b601f546000906001600160a01b031663e64767aa8b8a8a86818110614f9257fe5b905060200201356001600160a01b0316876040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001828152602001935050505060206040518083038186803b158015614ff757600080fd5b505afa15801561500b573d6000803e3d6000fd5b505050506040513d602081101561502157600080fd5b5051905061504b88888481811061503457fe5b905060200201356001600160a01b0316828b6157ab565b8560200151838151811061505b57fe5b602002602001018181525050505b6150998888888481811061507957fe5b905060200201356001600160a01b03168660200151848151811061483a57fe5b6001600160801b0316846040015182815181106150b257fe5b6020026020010181815250505b600101614e1b565b50505095945050505050565b6000818152600c6020526040902054806116ca57601c5460408051637976d5ad60e11b81526004810185905290516001600160a01b039092169163f2edab5a91602480820192602092909190829003018186803b15801561513357600080fd5b505afa158015615147573d6000803e3d6000fd5b505050506040513d602081101561515d57600080fd5b505192915050565b6000828211156151bc576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080805b84515181101561542f57846060015181815181106151e157fe5b6020026020010151156151f357615427565b60008560000151828151811061520557fe5b60209081029190910181015160008981526007835260408082206001600160a01b0384168352845281209289015180519294509091615249919086908110612a7057fe5b90506001600160801b0381161561527a5781546001600160801b03600160801b808304821684900382160291161782555b600061528f89604001518681518110612a7057fe5b90506001600160801b038116156152d25782546001600160801b031981166001600160801b03918216839003821617845560138054918316918201905595909501945b87156153bc576000600a60008c81526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002060008e6001600160a01b03166001600160a01b0316815260200190815260200160002090508060000160009054906101000a900460ff161561538b576040805162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e4818db185a5b5959608a1b604482015290519081900360640190fd5b8054600160ff199091161770ffffffffffffffffffffffffffffffff0019166101006001600160801b038416021790555b8a6001600160a01b03168c6001600160a01b0316856001600160a01b03167f6ec685171a9028d19dc155a48e7824e3c68b03bc8995410e006abe3cbbeb3e2d8d8560405180838152602001826001600160801b031681526020019250505060405180910390a4505050505b6001016151c7565b509695505050505050565b6000808383111561545057506000905080615459565b50600190508183035b9250929050565b60008061547b6201517f60195461375e90919063ffffffff16565b9050808411156154c6576040805162461bcd60e51b81526020600482015260116024820152706166746572206461696c79206379636c6560781b604482015290519081900360640190fd5b6154d483613e868387615165565b600101949350505050565b60006118fc6015546137d760125460175461516590919063ffffffff16565b6000808211615554576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161555d57fe5b049392505050565b60008183101561557557816127c9565b5090919050565b6001600160a01b03166000908152600b60205260409020541190565b601f5460408051634181ad4160e11b81526001600160a01b038681166004830152602482018590529151600093849316916383035a82916044808301926020929190829003018186803b1580156155ee57600080fd5b505afa158015615602573d6000803e3d6000fd5b505050506040513d602081101561561857600080fd5b5051601f5460408051631257fcdb60e31b81526001600160a01b03898116600483015260248201889052915193945060009391909216916392bfe6d8916044808301926020929190829003018186803b15801561567457600080fd5b505afa158015615688573d6000803e3d6000fd5b505050506040513d602081101561569e57600080fd5b50519050818114156156bf576156b6816127106140ba565b925050506127c9565b8181116156c857fe5b600082156156de576156dc836127106140ba565b015b60006156ec600f898961422e565b9050801561542f57615700848403826140ba565b909101979650505050505050565b60008161571d575060006127c9565b60008481526007602090815260408083206001600160a01b0387168452909152902080546001600160801b03168061575a576000925050506127c9565b8154600160801b90046001600160801b03168481141561577e575091506127c99050565b806001600160801b0316851061579057fe5b6118bc612b326001600160801b038481169088908516614884565b6000826157ba575060006127c9565b6000806157c9600f878661422e565b9050612710811015614cee576157e4856127108390036140ba565b90910195945050505050565b50805460018160011615610100020316600290046000825580601f106158165750612323565b601f01602090049060005260206000209081019061232391906158fb565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261586a57600085556158b0565b82601f1061588357805160ff19168380011785556158b0565b828001600101855582156158b0579182015b828111156158b0578251825591602001919060010190615895565b5061375a9291506158fb565b6040518060800160405280606081526020016060815260200160608152602001606081525090565b604080518082019091526000808252602082015290565b5b8082111561375a57600081556001016158fc56fe5265656e7472616e637947756172643a207265656e7472616e742063616c6c0053616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220e6846d284998271d9c4a1cada2adcc5eaf9b0a911f532ad0c14ad03f1b6eea9e64736f6c63430007060033",
|
|
1396
|
-
"deployedBytecode": "0x60806040526004361061036b5760003560e01c806385b4c538116101c6578063cfbcd25f116100f7578063e7c830d411610095578063ed39d3f81161006f578063ed39d3f814611383578063f2edab5a14611398578063f5a98383146113c2578063f5f5ba72146113d75761036b565b8063e7c830d414611320578063ea28edad14611335578063eb82dd7f1461134a5761036b565b8063d6c1dbee116100d1578063d6c1dbee14611185578063e17f212e146111af578063e2739563146111c4578063e416b7e1146111ee5761036b565b8063cfbcd25f1461104d578063d20bb54214611080578063d418634a1461115b5761036b565b8063af04cd3b11610164578063b2c121921161013e578063b2c1219214610f55578063b482403414610fa0578063b4a2043d14610fb5578063c4db9619146110385761036b565b8063af04cd3b14610d85578063b00c0b7614610d9a578063b2af870a14610eca5761036b565b80639d6a890f116101a05780639d6a890f14610ac05780639edbf00714610af3578063a4472c1014610b08578063a9b79e1714610c285761036b565b806385b4c538146109b05780638dc305fa14610a0c578063961c00ed14610a875761036b565b80633e7ff857116102a057806367dcac531161023e57806374e6310e1161021857806374e6310e146108595780637b6b2c0a1461090c57806382a2b9051461092157806384e10a90146109545761036b565b806367dcac53146107bc57806367fc4029146107f257806369b91b59146108265761036b565b80635aa6e6751161027a5780635aa6e675146107255780635ff270791461073a57806362354e031461076e578063657d9695146107835761036b565b80633e7ff857146106e657806351b42b00146106fb5780635267a15d146107105761036b565b806316e693281161030d57806321bb25af116102e757806321bb25af146104a75780632dafdbbf1461058d5780633123b7d8146105c057806333b7971e146105d55761036b565b806316e693281461044157806316fe49c71461047d5780631de56098146104925761036b565b80630cb72344116103495780630cb72344146103d15780630f15f4c01461040257806311a7aaaa1461041757806312f97ac01461042c5761036b565b806302fb0c5e146103705780630441218e1461039957806306201f1d146103c7575b600080fd5b34801561037c57600080fd5b50610385611461565b604080519115158252519081900360200190f35b3480156103a557600080fd5b506103ae61146a565b6040805192835260208301919091528051918290030190f35b6103cf61147e565b005b3480156103dd57600080fd5b506103e66114e6565b604080516001600160a01b039092168252519081900360200190f35b34801561040e57600080fd5b506103cf61150a565b34801561042357600080fd5b506103e66115d3565b34801561043857600080fd5b506103e66115e2565b34801561044d57600080fd5b5061046b6004803603602081101561046457600080fd5b50356115f1565b60408051918252519081900360200190f35b34801561048957600080fd5b5061046b6116cf565b34801561049e57600080fd5b506103cf6116d5565b3480156104b357600080fd5b5061046b600480360360a08110156104ca57600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b8111156104fd57600080fd5b82018360208201111561050f57600080fd5b803590602001918460208302840111600160201b8311171561053057600080fd5b919390929091602081019035600160201b81111561054d57600080fd5b82018360208201111561055f57600080fd5b803590602001918460208302840111600160201b8311171561058057600080fd5b919350915035151561183b565b34801561059957600080fd5b506105a26118c7565b60408051938452602084019290925282820152519081900360600190f35b3480156105cc57600080fd5b5061046b6118f2565b3480156105e157600080fd5b50610608600480360360208110156105f857600080fd5b50356001600160a01b0316611901565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015610650578181015183820152602001610638565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561068f578181015183820152602001610677565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156106ce5781810151838201526020016106b6565b50505050905001965050505050505060405180910390f35b3480156106f257600080fd5b5061046b611b55565b34801561070757600080fd5b506103cf611b5b565b34801561071c57600080fd5b506103e6611ba2565b34801561073157600080fd5b506103e6611bc7565b34801561074657600080fd5b506103cf6004803603602081101561075d57600080fd5b50356001600160e01b031916611c68565b34801561077a57600080fd5b506103e6611fca565b34801561078f57600080fd5b506103ae600480360360408110156107a657600080fd5b50803590602001356001600160a01b0316611fe2565b3480156107c857600080fd5b506103cf600480360360608110156107df57600080fd5b508035906020810135906040013561201e565b3480156107fe57600080fd5b506103cf6004803603602081101561081557600080fd5b50356001600160e01b031916612086565b34801561083257600080fd5b5061046b6004803603602081101561084957600080fd5b50356001600160a01b031661216e565b34801561086557600080fd5b5061088d6004803603602081101561087c57600080fd5b50356001600160e01b031916612187565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156108d05781810151838201526020016108b8565b50505050905090810190601f1680156108fd5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561091857600080fd5b5061046b61222d565b34801561092d57600080fd5b506103cf6004803603602081101561094457600080fd5b50356001600160a01b0316612233565b34801561096057600080fd5b50610969612326565b60408051998a5260208a0198909852888801969096526060880194909452608087019290925260a086015260c085015260e084015261010083015251908190036101200190f35b3480156109bc57600080fd5b506109f1600480360360608110156109d357600080fd5b508035906001600160a01b036020820135811691604001351661234c565b60408051921515835260208301919091528051918290030190f35b348015610a1857600080fd5b506103cf60048036036040811015610a2f57600080fd5b810190602081018135600160201b811115610a4957600080fd5b820183602082011115610a5b57600080fd5b803590602001918460208302840111600160201b83111715610a7c57600080fd5b9193509150356123a0565b348015610a9357600080fd5b5061046b60048036036040811015610aaa57600080fd5b506001600160a01b03813516906020013561274e565b348015610acc57600080fd5b506103cf60048036036020811015610ae357600080fd5b50356001600160a01b03166127d0565b348015610aff57600080fd5b506103e6612889565b348015610b1457600080fd5b50610b4160048036036040811015610b2b57600080fd5b506001600160a01b038135169060200135612898565b604051808060200180602001806020018515158152602001848103845288818151815260200191508051906020019060200280838360005b83811015610b91578181015183820152602001610b79565b50505050905001848103835287818151815260200191508051906020019060200280838360005b83811015610bd0578181015183820152602001610bb8565b50505050905001848103825286818151815260200191508051906020019060200280838360005b83811015610c0f578181015183820152602001610bf7565b5050505090500197505050505050505060405180910390f35b348015610c3457600080fd5b506103cf6004803603610120811015610c4c57600080fd5b810190602081018135600160201b811115610c6657600080fd5b820183602082011115610c7857600080fd5b803590602001918460208302840111600160201b83111715610c9957600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610ce857600080fd5b820183602082011115610cfa57600080fd5b803590602001918460208302840111600160201b83111715610d1b57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550508235935050506020810135906001600160a01b036040820135169060608101359060808101359060a08101359060c00135612902565b348015610d9157600080fd5b5061046b612d51565b348015610da657600080fd5b506103cf60048036036040811015610dbd57600080fd5b810190602081018135600160201b811115610dd757600080fd5b820183602082011115610de957600080fd5b803590602001918460208302840111600160201b83111715610e0a57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610e5957600080fd5b820183602082011115610e6b57600080fd5b803590602001918460208302840111600160201b83111715610e8c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612d5b945050505050565b348015610ed657600080fd5b5061046b60048036036040811015610eed57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115610f1757600080fd5b820183602082011115610f2957600080fd5b803590602001918460208302840111600160201b83111715610f4a57600080fd5b509092509050612e06565b348015610f6157600080fd5b5061046b60048036036080811015610f7857600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515612ebc565b348015610fac57600080fd5b5061046b612f42565b348015610fc157600080fd5b50610fe860048036036020811015610fd857600080fd5b50356001600160a01b0316612f48565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561102457818101518382015260200161100c565b505050509050019250505060405180910390f35b34801561104457600080fd5b506103e66130ef565b34801561105957600080fd5b5061046b6004803603602081101561107057600080fd5b50356001600160a01b03166130fe565b34801561108c57600080fd5b5061046b600480360360608110156110a357600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156110cd57600080fd5b8201836020820111156110df57600080fd5b803590602001918460208302840111600160201b8311171561110057600080fd5b919390929091602081019035600160201b81111561111d57600080fd5b82018360208201111561112f57600080fd5b803590602001918460208302840111600160201b8311171561115057600080fd5b509092509050613115565b34801561116757600080fd5b506103ae6004803603602081101561117e57600080fd5b5035613190565b34801561119157600080fd5b506103cf600480360360208110156111a857600080fd5b50356131af565b3480156111bb57600080fd5b50610385613385565b3480156111d057600080fd5b506103cf600480360360208110156111e757600080fd5b5035613395565b3480156111fa57600080fd5b5061127e6004803603606081101561121157600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561124057600080fd5b82018360208201111561125257600080fd5b803590602001918460208302840111600160201b8311171561127357600080fd5b5090925090506133ec565b6040518080602001806020018415158152602001838103835286818151815260200191508051906020019060200280838360005b838110156112ca5781810151838201526020016112b2565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156113095781810151838201526020016112f1565b505050509050019550505050505060405180910390f35b34801561132c57600080fd5b5061046b613452565b34801561134157600080fd5b506103cf61345c565b34801561135657600080fd5b506103ae6004803603604081101561136d57600080fd5b50803590602001356001600160a01b03166134ef565b34801561138f57600080fd5b506103e661352b565b3480156113a457600080fd5b5061046b600480360360208110156113bb57600080fd5b503561353a565b3480156113ce57600080fd5b506103cf613545565b3480156113e357600080fd5b506113ec61360c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561142657818101518382015260200161140e565b50505050905090810190601f1680156114535780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60035460ff1681565b600080611475613637565b90939092509050565b6114866136a7565b61148e6136f7565b601b5560185461149e903461375e565b6018556114a96137b8565b6040805134815290517f95c4e29cc99bc027cfc3cd719d6fd973d5f0317061885fbb322b9b17d8d35d379181900360200190a16114e4613898565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b6115126138e4565b601e546001600160a01b0316158015906115365750601c546001600160a01b031615155b801561154c5750601f546001600160a01b031615155b611591576040805162461bcd60e51b81526020600482015260116024820152701859191c995cdcd95cc81b9bdd081cd95d607a1b604482015290519081900360640190fd5b6003805460ff191660011790556040805130815290517f2d9c100169d5e24ef79d07ec273fcbbd5ce996a849ef0223f37c49f6418df84d9181900360200190a1565b601c546001600160a01b031681565b6020546001600160a01b031681565b60008073__$b9040dea2fd9c47e6b7e0e916053de4d6b$__63e937a562600f85611619613943565b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561165b57600080fd5b505af415801561166f573d6000803e3d6000fd5b505050506040513d602081101561168557600080fd5b50516040805185815260208101839052815192935033927fd89f05622c2dcb0b4fcaa19e62fc2a2b0923955685fb7b0c641467f764244abc929181900390910190a290505b919050565b600f5490565b600054600160b01b900460ff16806116f75750600054600160a81b900460ff16155b1561183057611704613988565b60035460ff1615801561173f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031615155b801561174b5750600654155b80156117575750600554155b61179c576040805162461bcd60e51b81526020600482015260116024820152706e6f7420696e697469616c20737461746560781b604482015290519081900360640190fd5b6117af60016117a9613943565b9061375e565b600655601c5460408051633e7ff85760e01b815290516001600160a01b0390921691633e7ff85791600480820192602092909190829003018186803b1580156117f757600080fd5b505afa15801561180b573d6000803e3d6000fd5b505050506040513d602081101561182157600080fd5b505160055560006004556114e4565b6114e46000366139bd565b6000611845613b4d565b60028054141561188a576040805162461bcd60e51b815260206004820152601f6024820152600080516020615911833981519152604482015290519081900360640190fd5b60028055878761189a8282613ba4565b6118a98a8a8a8a8a8a8a613c31565b600160025592506118bc91506138989050565b979650505050505050565b6000806000806017546118e760165460135461375e90919063ffffffff16565b925092509250909192565b60006118fc613dee565b905090565b6060808073__$b9040dea2fd9c47e6b7e0e916053de4d6b$__6325459925600f8661192a613943565b6040518463ffffffff1660e01b815260040180848152602001836001600160a01b03168152602001828152602001935050505060006040518083038186803b15801561197557600080fd5b505af4158015611989573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260608110156119b257600080fd5b8101908080516040519392919084600160201b8211156119d157600080fd5b9083019060208201858111156119e657600080fd5b82518660208202830111600160201b82111715611a0257600080fd5b82525081516020918201928201910280838360005b83811015611a2f578181015183820152602001611a17565b5050505090500160405260200180516040519392919084600160201b821115611a5757600080fd5b908301906020820185811115611a6c57600080fd5b82518660208202830111600160201b82111715611a8857600080fd5b82525081516020918201928201910280838360005b83811015611ab5578181015183820152602001611a9d565b5050505090500160405260200180516040519392919084600160201b821115611add57600080fd5b908301906020820185811115611af257600080fd5b82518660208202830111600160201b82111715611b0e57600080fd5b82525081516020918201928201910280838360005b83811015611b3b578181015183820152602001611b23565b505050509050016040525050509250925092509193909250565b60055490565b611b636138e4565b6003805460ff191690556040805130815290517fa391f4e911c33688045cc1f43dc17c05924f79ad72a8cf5a58cf00c3acc9090e9181900360200190a1565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff16611bea576000546001600160a01b03166118fc565b73183faff6997c98a812a3b98748fc80241d08f3126001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b158015611c3757600080fd5b505afa158015611c4b573d6000803e3d6000fd5b505050506040513d6020811015611c6157600080fd5b5051905090565b60408051630debfda360e41b8152336004820152905173183faff6997c98a812a3b98748fc80241d08f3129163debfda30916024808301926020929190829003018186803b158015611cb957600080fd5b505afa158015611ccd573d6000803e3d6000fd5b505050506040513d6020811015611ce357600080fd5b5051611d26576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054611d92576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015611de8576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611e825780601f10611e5757610100808354040283529160200191611e82565b820191906000526020600020905b815481529060010190602001808311611e6557829003601f168201915b5050506001600160e01b0319861660009081526001602081905260408220828155949550909250611eb691508301826157f0565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b60208310611efe5780518252601f199092019160209182019101611edf565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611f60576040519150601f19603f3d011682016040523d82523d6000602084013e611f65565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1611fc481613dff565b50505050565b73183faff6997c98a812a3b98748fc80241d08f31281565b60009182526007602090815260408084206001600160a01b0390931684529190529020546001600160801b0380821692600160801b9092041690565b612026613e1c565b60006120328383613e6f565b601554909150612042908261375e565b601555604080518581526020810183905281517f754fa5a3ace0438b80ec651f7d61e44f761a808ebd17d7ce70da619399611a08929181900390910190a150505050565b61208e6138e4565b6001600160e01b031981166000908152600160205260409020546120f9576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b03198116600090815260016020819052604082208281559190612169908301826157f0565b505050565b60006121818261217c613e8c565b613eac565b92915050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156122235780601f106121f857610100808354040283529160200191612223565b820191906000526020600020905b81548152906001019060200180831161220657829003601f168201915b5050505050905082565b60045481565b600054600160b01b900460ff16806122555750600054600160a81b900460ff16155b1561231857612262613988565b6020546001600160a01b0316156122ae576040805162461bcd60e51b815260206004820152600b60248201526a185b1c9958591e481cd95d60aa1b604482015290519081900360640190fd5b6001600160a01b0381166122f8576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b602080546001600160a01b0319166001600160a01b038316179055612323565b6123236000366139bd565b50565b601254601354601454601554601654601754601854601954601a54909192939495969798565b60008061235a858585613ecf565b6000958652600a602090815260408088206001600160a01b039788168952825280882095909616875293909352505091205490916101009091046001600160801b031690565b6123a8613b4d565b6002805414156123ed576040805162461bcd60e51b815260206004820152601f6024820152600080516020615911833981519152604482015290519081900360640190fd5b600280556123f96136f7565b5060005b828110156124315761242984848381811061241457fe5b905060200201356001600160a01b0316613f11565b6001016123fd565b50600061243c613943565b90506124488282613f5d565b612489576040805162461bcd60e51b815260206004820152600d60248201526c6e6f7420636c61696d61626c6560981b604482015290519081900360640190fd5b601d546040805163712441d960e11b81523360048201818152602483019384526044830188905260009485946001600160a01b039091169363e24883b293928b928b92606401846020850280828437600081840152601f19601f82011690508083019250505094505050505060006040518083038186803b15801561250d57600080fd5b505afa158015612521573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561254a57600080fd5b8101908080516040519392919084600160201b82111561256957600080fd5b90830190602082018581111561257e57600080fd5b82518660208202830111600160201b8211171561259a57600080fd5b82525081516020918201928201910280838360005b838110156125c75781810151838201526020016125af565b50505050919091016040525060200151929450919250600091506125eb9050613e8c565b905060005b8681101561272657600088888381811061260657fe5b905060200201356001600160a01b03169050600085838151811061262657fe5b60200260200101519050600061263e83838b88613f7f565b9050816001600160a01b0316836001600160a01b0316146126675761266582838b88613f7f565b015b60408051808201909152601881527f636c61696d656420616d6f756e7420746f6f20736d616c6c000000000000000060208201526126a89082908890614023565b9050801561271b57601f546040805163b760faf960e01b81526001600160a01b0385811660048301529151919092169163b760faf991849160248082019260009290919082900301818588803b15801561270157600080fd5b505af1158015612715573d6000803e3d6000fd5b50505050505b5050506001016125f0565b5061273c3361273584896140ba565b6000614113565b50506001600255506121699050613898565b600081612759613dee565b111580156127755750600f54612771906117a9613943565b8211155b6127bd576040805162461bcd60e51b81526020600482015260146024820152730d2dcecc2d8d2c840e4caeec2e4c840cae0dec6d60631b604482015290519081900360640190fd5b6127c9600f848461422e565b9392505050565b600054600160a01b900460ff1615612826576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b601f546001600160a01b031681565b60608060606000806128a8613943565b90506128b48682613f5d565b915081806128ce575080861480156128ce57506004548610155b156128f85760006128e1888860006142c1565b805160408201516060909201519097509095509350505b5092959194509250565b61290a613e1c565b86158015906129195750885115155b61291f57fe5b6000838152600c6020526040812082905561293a8584613e6f565b905060008a5167ffffffffffffffff8111801561295657600080fd5b50604051908082528060200260200182016040528015612980578160200160208202803683370190505b509050818160008151811061299157fe5b602002602001018181525050888a6000815181106129ab57fe5b60209081029190910101528a51600019015b60008c82815181106129cb57fe5b60200260200101519050612a258c83815181106129e457fe5b60200260200101518d6000815181106129f957fe5b602002602001015185600081518110612a0e57fe5b60200260200101516148849092919063ffffffff16565b838381518110612a3157fe5b60209081029190910181019190915260008881526007825260408082206001600160a01b0385168352909252208351612a7d90859085908110612a7057fe5b6020026020010151614984565b81546001600160801b031981166001600160801b039182169290920116178155601f5460408051631257fcdb60e31b81526001600160a01b038581166004830152602482018a9052915160009392909216916392bfe6d891604480820192602092909190829003018186803b158015612af557600080fd5b505afa158015612b09573d6000803e3d6000fd5b505050506040513d6020811015612b1f57600080fd5b50519050612b37612b32826127106140ba565b614984565b82546001600160801b03918216600160801b0291161782558451859085908110612b5d57fe5b60209081029190910181015160008b81526009835260408082206001600160a01b03881680845290855281832080549094019093558c82526008845280822092825291909252902054612bd05760008981526008602090815260408083206001600160a01b038716845290915290208190555b83612bdd57505050612c4f565b848481518110612be957fe5b602002602001015185600081518110612bfe57fe5b6020026020010181815103915081815250508d8481518110612c1c57fe5b60200260200101518e600081518110612c3157fe5b602090810291909101018051919091039052505050600019016129bd565b6000868152600d60205260409020805484019055601254612c70908461375e565b601281905550876001600160a01b03167f8b2bc56c62594afde5b520e83e1ca19ebd071798db21382e328014f47b31ce578a8e85604051808481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015612cee578181015183820152602001612cd6565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015612d2d578181015183820152602001612d15565b505050509050019550505050505060405180910390a2505050505050505050505050565b60006118fc6149c8565b612d63611ba2565b6001600160a01b0316336001600160a01b031614612dbf576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b612df8612df383836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b8152506149e7565b614b0b565b612e028282614b2f565b5050565b6000612e10613b4d565b600280541415612e55576040805162461bcd60e51b815260206004820152601f6024820152600080516020615911833981519152604482015290519081900360640190fd5b600280556000805b83811015612e9d57848482818110612e7157fe5b90506020020135821015612e9557848482818110612e8b57fe5b9050602002013591505b600101612e5d565b50612eab3386836000614c7a565b600160025591506127c99050613898565b6000612ec6613b4d565b600280541415612f0b576040805162461bcd60e51b815260206004820152601f6024820152600080516020615911833981519152604482015290519081900360640190fd5b600280558484612f1b8282613ba4565b612f2787878787614c7a565b60016002559250612f3a91506138989050565b949350505050565b60105490565b6060600080612f55613637565b909250905060018282030160008167ffffffffffffffff81118015612f7957600080fd5b50604051908082528060200260200182016040528015612fa3578160200160208202803683370190505b5090506000805b83811015613050576000612fc28983890160016142c1565b905060005b8160600151518110156130465781606001518181518110612fe457fe5b6020026020010151158015613010575060008260400151828151811061300657fe5b6020026020010151115b1561303e57600185848151811061302357fe5b91151560209283029190910190910152600190930192613046565b600101612fc7565b5050600101612faa565b508067ffffffffffffffff8111801561306857600080fd5b50604051908082528060200260200182016040528015613092578160200160208202803683370190505b5095506000805b848110156130e3578381815181106130ad57fe5b6020026020010151156130db578087018883815181106130c957fe5b60209081029190910101526001909101905b600101613099565b50505050505050919050565b601d546001600160a01b031681565b60006121818261310c613943565b600f919061422e565b600061311f613b4d565b600280541415613164576040805162461bcd60e51b815260206004820152601f6024820152600080516020615911833981519152604482015290519081900360640190fd5b600280556131783387878787876000613c31565b60016002559050613187613898565b95945050505050565b6000908152600d6020908152604080832054600e909252909120549091565b601c546001600160a01b03163314806131d257506020546001600160a01b031633145b613213576040805162461bcd60e51b815260206004820152600d60248201526c6f6e6c79206d616e616765727360981b604482015290519081900360640190fd5b806005541461325a576040805162461bcd60e51b815260206004820152600e60248201526d1ddc9bdb99c8195c1bd8da081a5960921b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031615801590613296575060065460320181105b1561331a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d6c1dbee826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561330157600080fd5b505af1158015613315573d6000803e3d6000fd5b505050505b6000818152600e6020908152604080832054600d9092529091205460145491900390613346908261375e565b6014556040805183815290517f5d05c64f281304391697cf987812e1a736413a062a9bdf39af4102209eb6fa589181900360200190a150600101600555565b600054600160a81b900460ff1681565b61339d6136a7565b601a8190556017546133af908261375e565b601755426019556040805182815290517f187f32a0f765499f15b3bb52ed0aebf6015059f230f2ace7e701e60a476695959181900360200190a150565b6060806000806133fa613943565b90506134068782613f5d565b915081806134205750808714801561342057506004548710155b15613447576000613435898989896000614cf7565b90508060400151945080606001519350505b509450945094915050565b60006118fc613943565b6134646138e4565b600019600454146134ae576040805162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e48195b98589b1959608a1b604482015290519081900360640190fd5b6134b6613943565b600481905560408051918252517f1cfb844c44f9325fc9ad6cc6191a4a24b0415137fe300b6c9071523a253f7a089181900360200190a1565b60008281526009602090815260408083206001600160a01b03909416808452938252808320549483526008825280832093835292905220549091565b601e546001600160a01b031690565b6000612181826150d3565b61354d6138e4565b600054600160a81b900460ff16156135ac576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805173183faff6997c98a812a3b98748fc80241d08f312815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b604080518082019091526011815270233a39b7a932bbb0b93226b0b730b3b2b960791b602082015290565b600554600080613645613943565b90506000811161369c576040805162461bcd60e51b815260206004820152601f60248201527f6e6f2065706f6368207769746820636c61696d61626c65207265776172647300604482015290519081900360640190fd5b600181039150509091565b601e546001600160a01b031633146114e4576040805162461bcd60e51b815260206004820152600e60248201526d696e666c6174696f6e206f6e6c7960901b604482015290519081900360640190fd5b601b54600090613707903461375e565b905047818111156137505761dead6108fc6137228385615165565b6040518115909202916000818181858888f1935050505015801561374a573d6000803e3d6000fd5b5061375a565b8181101561375a57fe5b5090565b6000828201838110156127c9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006137dd6016546137d760145460155461375e90919063ffffffff16565b90615165565b905080156123235760006137f44760146064614884565b905060008183111561380757508061380a565b50815b80156121695760165461381d908261375e565b601655601b5461382d9082615165565b601b5560405161dead9082156108fc029083906000818181858888f1935050505015801561385f573d6000803e3d6000fd5b506040805182815290517f44d5cd18c37b86a3423952287006d9550ab3cff404d6e899d5499d9ef87100b59181900360200190a1505050565b6138a06149c8565b47146114e4576040805162461bcd60e51b815260206004820152600e60248201526d6f7574206f662062616c616e636560901b604482015290519081900360640190fd5b6138ec611bc7565b6001600160a01b0316336001600160a01b0316146114e4576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b601c54604080516339f20c3560e21b815290516000926001600160a01b03169163e7c830d4916004808301926020929190829003018186803b158015611c3757600080fd5b600054600160b01b900460ff16156139b5573330146139a357fe5b6000805460ff60b01b191690556114e4565b6114e46138e4565b6139c56138e4565b600082359050600073183faff6997c98a812a3b98748fc80241d08f3126001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b158015613a1a57600080fd5b505afa158015613a2e573d6000803e3d6000fd5b505050506040513d6020811015613a4457600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450613ac893928501920190615834565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b60035460ff166114e4576040805162461bcd60e51b815260206004820152601a60248201527f726577617264206d616e61676572206465616374697661746564000000000000604482015290519081900360640190fd5b336001600160a01b0383161415613bba57612e02565b601d546040805163ce2caa5760e01b81523360048201526001600160a01b03858116602483015284811660448301529151919092169163ce2caa57916064808301926000929190829003018186803b158015613c1557600080fd5b505afa158015613c29573d6000803e3d6000fd5b505050505050565b6000613c3c87613f11565b613c446136f7565b506002601f546040805163f683776760e01b81526001600160a01b038c811660048301529151919092169163f6837767916024808301926020929190829003018186803b158015613c9457600080fd5b505afa158015613ca8573d6000803e3d6000fd5b505050506040513d6020811015613cbe57600080fd5b505114613d12576040805162461bcd60e51b815260206004820152601860248201527f6578706c696369742064656c65676174696f6e206f6e6c790000000000000000604482015290519081900360640190fd5b6000613d1c613943565b905060005b86811015613dd657613d45888883818110613d3857fe5b9050602002013583613f5d565b613d4e57613dce565b6000613d708b8a8a85818110613d6057fe5b9050602002013589896001614cf7565b90506000613d948c8c8c8c87818110613d8557fe5b905060200201358560016151c2565b905080600e60008c8c87818110613da757fe5b60209081029290920135835250810191909152604001600020805490910190559390930192505b600101613d21565b50613de2888385614113565b50979650505050505050565b60065460009061218190600161543a565b3d604051818101604052816000823e8215613e18578181f35b8181fd5b601c546001600160a01b031633146114e4576040805162461bcd60e51b81526020600482015260116024820152706674736f206d616e61676572206f6e6c7960781b604482015290519081900360640190fd5b60006127c9613e7e8385615460565b613e866154df565b906154fe565b60006118fc600454613ea7613e9f613dee565b600554615565565b615565565b6001600160a01b0382166000908152600b60205260408120546127c99083615565565b6000838152600a602090815260408083206001600160a01b038087168552908352818420908516845290915281205460ff1680612f3a5750612f3a848361557c565b6001600160a01b038116612323576040805162461bcd60e51b815260206004820152600e60248201526d726563697069656e74207a65726f60901b604482015290519081900360640190fd5b60006004548310158015613f7357506005548310155b80156127c95750501190565b600080613f8c8684613eac565b90505b838111613fd9576000613fa4878360016142c1565b90506000613fb68888858560006151c2565b6000848152600e6020526040902080548201905593909301925050600101613f8f565b506001600160a01b0385166000908152600b6020526040902054600184011115612f3a576001600160a01b0385166000908152600b60205260409020600184019055949350505050565b600081848411156140b25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561407757818101518382015260200161405f565b50505050905090810190601f1680156140a45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000826140c957506000612181565b828202828482816140d657fe5b04146127c95760405162461bcd60e51b81526004018080602001828103825260218152602001806159586021913960400191505060405180910390fd5b811561422557801561418e57601f546040805163b760faf960e01b81526001600160a01b0386811660048301529151919092169163b760faf991859160248082019260009290919082900301818588803b15801561417057600080fd5b505af1158015614184573d6000803e3d6000fd5b5050505050614225565b6040516000906001600160a01b0385169084908381818185875af1925050503d80600081146141d9576040519150601f19603f3d011682016040523d82523d6000602084013e6141de565b606091505b5050905080614223576040805162461bcd60e51b815260206004820152600c60248201526b18db185a5b4819985a5b195960a21b604482015290519081900360640190fd5b505b505047601b5550565b6001600160a01b0382166000908152600284016020526040812080545b80156142b25781546000199091019082908290811061426657fe5b6000918252602090912001546201000090046001600160f01b031684106142ad5781818154811061429357fe5b60009182526020909120015461ffff1692506127c9915050565b61424b565b50505060018301549392505050565b6142c96158bc565b60006142d4846150d3565b90506000806142e16158e4565b6142eb878961557c565b156142f957505050506127c9565b60008781526009602090815260408083206001600160a01b038c168452909152902054151580614327575085155b1561435957614337888886615598565b915061434487898461570e565b6001600160801b031660208201819052151592505b601f546040805163ed475a7960e01b81526001600160a01b038b811660048301526024820188905291516060938493169163ed475a79916044808301926000929190829003018186803b1580156143af57600080fd5b505afa1580156143c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260808110156143ec57600080fd5b8101908080516040519392919084600160201b82111561440b57600080fd5b90830190602082018581111561442057600080fd5b82518660208202830111600160201b8211171561443c57600080fd5b82525081516020918201928201910280838360005b83811015614469578181015183820152602001614451565b5050505090500160405260200180516040519392919084600160201b82111561449157600080fd5b9083019060208201858111156144a657600080fd5b82518660208202830111600160201b821117156144c257600080fd5b82525081516020918201928201910280838360005b838110156144ef5781810151838201526020016144d7565b5050505091909101604052505083519395509193508791506145149050576000614517565b60015b60ff160167ffffffffffffffff8111801561453157600080fd5b5060405190808252806020026020018201604052801561455b578160200160208202803683370190505b508088525167ffffffffffffffff8111801561457657600080fd5b506040519080825280602002602001820160405280156145a0578160200160208202803683370190505b50602088015286515167ffffffffffffffff811180156145bf57600080fd5b506040519080825280602002602001820160405280156145e9578160200160208202803683370190505b50604088015286515167ffffffffffffffff8111801561460857600080fd5b50604051908082528060200260200182016040528015614632578160200160208202803683370190505b50606088015284156146ba5789876000015160008151811061465057fe5b60200260200101906001600160a01b031690816001600160a01b03168152505083876020015160008151811061468257fe5b60200260200101818152505082602001516001600160801b031687604001516000815181106146ad57fe5b6020026020010181815250505b81511561487757601f546040805163277166bf60e11b81526001600160a01b038d81166004830152602482018a905291516000939290921691634ee2cd7e91604480820192602092909190829003018186803b15801561471957600080fd5b505afa15801561472d573d6000803e3d6000fd5b505050506040513d602081101561474357600080fd5b5051905060005b83518110156148745760008188614762576000614765565b60015b60ff1601905084828151811061477757fe5b60200260200101518a60000151828151811061478f57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506147f68583815181106147be57fe5b60200260200101516147f08685815181106147d557fe5b6020026020010151612710876148849092919063ffffffff16565b8e6157ab565b8a60200151828151811061480657fe5b6020026020010181815250506148478c86848151811061482257fe5b60200260200101518c60200151848151811061483a57fe5b602002602001015161570e565b6001600160801b03168a60400151828151811061486057fe5b60209081029190910101525060010161474a565b50505b5050505050509392505050565b60008082116148cd576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b836148da575060006127c9565b838302838582816148e757fe5b041415614900578281816148f757fe5b049150506127c9565b600083868161490b57fe5b049050600084878161491957fe5b069050600085878161492757fe5b049050600086888161493557fe5b06905061497761494988613e8686856140ba565b6117a961495686866140ba565b6117a961496389876140ba565b6117a98d6149718c8b6140ba565b906140ba565b9998505050505050505050565b6000600160801b821061375a5760405162461bcd60e51b81526004018080602001828103825260278152602001806159316027913960400191505060405180910390fd5b60006118fc6016546137d760135460185461516590919063ffffffff16565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015614a2b578181015183820152602001614a13565b50505050905090810190601f168015614a585780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b8651811015614ac057868181518110614a8e57fe5b6020026020010151831415614ab857858181518110614aa957fe5b60200260200101519150614ac0565b600101614a79565b506001600160a01b038116613187576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b614b5b82826040518060400160405280600981526020016824b7333630ba34b7b760b91b8152506149e7565b601e60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614baf82826040518060400160405280600b81526020016a233a39b7a6b0b730b3b2b960a91b8152506149e7565b601c60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614bfc82826040518060400160405280600481526020016315d3985d60e21b8152506149e7565b601f60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614c5682826040518060400160405280601181526020017021b630b4b6a9b2ba3ab826b0b730b3b2b960791b8152506149e7565b601d80546001600160a01b0319166001600160a01b03929092169190911790555050565b6000614c8584613f11565b614c8d6136f7565b506000614c98613943565b9050808410158015614caa5750600081115b15614cb6576001810393505b614cc08482613f5d565b614cce576000915050612f3a565b614ce1868686614cdc613e8c565b613f7f565b9150614cee858385614113565b50949350505050565b614cff6158bc565b6000614d0a866150d3565b6040805160208088028281018201909352878252929350869290918891849182918501908490808284376000920191909152505050908452508067ffffffffffffffff81118015614d5a57600080fd5b50604051908082528060200260200182016040528015614d84578160200160208202803683370190505b5060208401528067ffffffffffffffff81118015614da157600080fd5b50604051908082528060200260200182016040528015614dcb578160200160208202803683370190505b5060408401528067ffffffffffffffff81118015614de857600080fd5b50604051908082528060200260200182016040528015614e12578160200160208202803683370190505b50606084015260005b818110156150c757614e4988888884818110614e3357fe5b905060200201356001600160a01b03168b613ecf565b84606001518281518110614e5957fe5b60200260200101901515908115158152505083606001518181518110614e7b57fe5b602002602001015115614f105784614f0b576000888152600a6020526040812090888884818110614ea857fe5b602090810292909201356001600160a01b039081168452838301949094525060409182016000908120938d16815292905290819020549085015180516101009092046001600160801b03169183908110614efe57fe5b6020026020010181815250505b6150bf565b886001600160a01b0316878783818110614f2657fe5b905060200201356001600160a01b03166001600160a01b03161415614f7157614f50898985615598565b84602001518281518110614f6057fe5b602002602001018181525050615069565b601f546000906001600160a01b031663e64767aa8b8a8a86818110614f9257fe5b905060200201356001600160a01b0316876040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001828152602001935050505060206040518083038186803b158015614ff757600080fd5b505afa15801561500b573d6000803e3d6000fd5b505050506040513d602081101561502157600080fd5b5051905061504b88888481811061503457fe5b905060200201356001600160a01b0316828b6157ab565b8560200151838151811061505b57fe5b602002602001018181525050505b6150998888888481811061507957fe5b905060200201356001600160a01b03168660200151848151811061483a57fe5b6001600160801b0316846040015182815181106150b257fe5b6020026020010181815250505b600101614e1b565b50505095945050505050565b6000818152600c6020526040902054806116ca57601c5460408051637976d5ad60e11b81526004810185905290516001600160a01b039092169163f2edab5a91602480820192602092909190829003018186803b15801561513357600080fd5b505afa158015615147573d6000803e3d6000fd5b505050506040513d602081101561515d57600080fd5b505192915050565b6000828211156151bc576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080805b84515181101561542f57846060015181815181106151e157fe5b6020026020010151156151f357615427565b60008560000151828151811061520557fe5b60209081029190910181015160008981526007835260408082206001600160a01b0384168352845281209289015180519294509091615249919086908110612a7057fe5b90506001600160801b0381161561527a5781546001600160801b03600160801b808304821684900382160291161782555b600061528f89604001518681518110612a7057fe5b90506001600160801b038116156152d25782546001600160801b031981166001600160801b03918216839003821617845560138054918316918201905595909501945b87156153bc576000600a60008c81526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002060008e6001600160a01b03166001600160a01b0316815260200190815260200160002090508060000160009054906101000a900460ff161561538b576040805162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e4818db185a5b5959608a1b604482015290519081900360640190fd5b8054600160ff199091161770ffffffffffffffffffffffffffffffff0019166101006001600160801b038416021790555b8a6001600160a01b03168c6001600160a01b0316856001600160a01b03167f6ec685171a9028d19dc155a48e7824e3c68b03bc8995410e006abe3cbbeb3e2d8d8560405180838152602001826001600160801b031681526020019250505060405180910390a4505050505b6001016151c7565b509695505050505050565b6000808383111561545057506000905080615459565b50600190508183035b9250929050565b60008061547b6201517f60195461375e90919063ffffffff16565b9050808411156154c6576040805162461bcd60e51b81526020600482015260116024820152706166746572206461696c79206379636c6560781b604482015290519081900360640190fd5b6154d483613e868387615165565b600101949350505050565b60006118fc6015546137d760125460175461516590919063ffffffff16565b6000808211615554576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161555d57fe5b049392505050565b60008183101561557557816127c9565b5090919050565b6001600160a01b03166000908152600b60205260409020541190565b601f5460408051634181ad4160e11b81526001600160a01b038681166004830152602482018590529151600093849316916383035a82916044808301926020929190829003018186803b1580156155ee57600080fd5b505afa158015615602573d6000803e3d6000fd5b505050506040513d602081101561561857600080fd5b5051601f5460408051631257fcdb60e31b81526001600160a01b03898116600483015260248201889052915193945060009391909216916392bfe6d8916044808301926020929190829003018186803b15801561567457600080fd5b505afa158015615688573d6000803e3d6000fd5b505050506040513d602081101561569e57600080fd5b50519050818114156156bf576156b6816127106140ba565b925050506127c9565b8181116156c857fe5b600082156156de576156dc836127106140ba565b015b60006156ec600f898961422e565b9050801561542f57615700848403826140ba565b909101979650505050505050565b60008161571d575060006127c9565b60008481526007602090815260408083206001600160a01b0387168452909152902080546001600160801b03168061575a576000925050506127c9565b8154600160801b90046001600160801b03168481141561577e575091506127c99050565b806001600160801b0316851061579057fe5b6118bc612b326001600160801b038481169088908516614884565b6000826157ba575060006127c9565b6000806157c9600f878661422e565b9050612710811015614cee576157e4856127108390036140ba565b90910195945050505050565b50805460018160011615610100020316600290046000825580601f106158165750612323565b601f01602090049060005260206000209081019061232391906158fb565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261586a57600085556158b0565b82601f1061588357805160ff19168380011785556158b0565b828001600101855582156158b0579182015b828111156158b0578251825591602001919060010190615895565b5061375a9291506158fb565b6040518060800160405280606081526020016060815260200160608152602001606081525090565b604080518082019091526000808252602082015290565b5b8082111561375a57600081556001016158fc56fe5265656e7472616e637947756172643a207265656e7472616e742063616c6c0053616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220e6846d284998271d9c4a1cada2adcc5eaf9b0a911f532ad0c14ad03f1b6eea9e64736f6c63430007060033",
|
|
1382
|
+
"bytecode": "0x60a06040523480156200001157600080fd5b5060405162005b8538038062005b85833981810160405260a08110156200003757600080fd5b508051602082015160408301516060840151608090940151929391929091908385806001600160a01b0381161562000074576200007481620000fd565b506001600160a01b038116620000c4576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b506001600255620000d581620001c0565b5060609290921b6001600160601b031916608052600f556010555050600019600455620001e4565b600054600160a01b900460ff16156200015d576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b60805160601c61597462000211600039806114b852806116e45280613222528061326352506159746000f3fe6080604052600436106103505760003560e01c806384e10a90116101c6578063cfbcd25f116100f7578063e7c830d411610095578063ed39d3f81161006f578063ed39d3f814611353578063f2edab5a14611368578063f5a9838314611392578063f5f5ba72146113a757610350565b8063e7c830d4146112f0578063ea28edad14611305578063eb82dd7f1461131a57610350565b8063d6c1dbee116100d1578063d6c1dbee14611155578063e17f212e1461117f578063e273956314611194578063e416b7e1146111be57610350565b8063cfbcd25f1461101d578063d20bb54214611050578063d418634a1461112b57610350565b8063a9b79e1711610164578063b2c121921161013e578063b2c1219214610f25578063b482403414610f70578063b4a2043d14610f85578063c4db96191461100857610350565b8063a9b79e1714610c0d578063b00c0b7614610d6a578063b2af870a14610e9a57610350565b8063961c00ed116101a0578063961c00ed14610a6c5780639d6a890f14610aa55780639edbf00714610ad8578063a4472c1014610aed57610350565b806384e10a901461093957806385b4c538146109955780638dc305fa146109f157610350565b806333b7971e116102a0578063657d96951161023e57806369b91b591161021857806369b91b591461080b57806374e6310e1461083e5780637b6b2c0a146108f157806382a2b9051461090657610350565b8063657d96951461076857806367dcac53146107a157806367fc4029146107d757610350565b80635267a15d1161027a5780635267a15d146106f55780635aa6e6751461070a5780635ff270791461071f57806362354e031461075357610350565b806333b7971e146105ba5780633e7ff857146106cb57806351b42b00146106e057610350565b806312f97ac01161030d5780631de56098116102e75780631de560981461047757806321bb25af1461048c5780632dafdbbf146105725780633123b7d8146105a557610350565b806312f97ac01461041157806316e693281461042657806316fe49c71461046257610350565b806302fb0c5e146103555780630441218e1461037e57806306201f1d146103ac5780630cb72344146103b65780630f15f4c0146103e757806311a7aaaa146103fc575b600080fd5b34801561036157600080fd5b5061036a611431565b604080519115158252519081900360200190f35b34801561038a57600080fd5b5061039361143a565b6040805192835260208301919091528051918290030190f35b6103b461144e565b005b3480156103c257600080fd5b506103cb6114b6565b604080516001600160a01b039092168252519081900360200190f35b3480156103f357600080fd5b506103b46114da565b34801561040857600080fd5b506103cb6115a3565b34801561041d57600080fd5b506103cb6115b2565b34801561043257600080fd5b506104506004803603602081101561044957600080fd5b50356115c1565b60408051918252519081900360200190f35b34801561046e57600080fd5b5061045061169f565b34801561048357600080fd5b506103b46116a5565b34801561049857600080fd5b50610450600480360360a08110156104af57600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b8111156104e257600080fd5b8201836020820111156104f457600080fd5b803590602001918460208302840111600160201b8311171561051557600080fd5b919390929091602081019035600160201b81111561053257600080fd5b82018360208201111561054457600080fd5b803590602001918460208302840111600160201b8311171561056557600080fd5b919350915035151561180b565b34801561057e57600080fd5b50610587611897565b60408051938452602084019290925282820152519081900360600190f35b3480156105b157600080fd5b506104506118c2565b3480156105c657600080fd5b506105ed600480360360208110156105dd57600080fd5b50356001600160a01b03166118d1565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561063557818101518382015260200161061d565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561067457818101518382015260200161065c565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156106b357818101518382015260200161069b565b50505050905001965050505050505060405180910390f35b3480156106d757600080fd5b50610450611b25565b3480156106ec57600080fd5b506103b4611b2b565b34801561070157600080fd5b506103cb611b72565b34801561071657600080fd5b506103cb611b97565b34801561072b57600080fd5b506103b46004803603602081101561074257600080fd5b50356001600160e01b031916611c38565b34801561075f57600080fd5b506103cb611f9a565b34801561077457600080fd5b506103936004803603604081101561078b57600080fd5b50803590602001356001600160a01b0316611fb2565b3480156107ad57600080fd5b506103b4600480360360608110156107c457600080fd5b5080359060208101359060400135611fee565b3480156107e357600080fd5b506103b4600480360360208110156107fa57600080fd5b50356001600160e01b031916612056565b34801561081757600080fd5b506104506004803603602081101561082e57600080fd5b50356001600160a01b031661213e565b34801561084a57600080fd5b506108726004803603602081101561086157600080fd5b50356001600160e01b031916612157565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156108b557818101518382015260200161089d565b50505050905090810190601f1680156108e25780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b3480156108fd57600080fd5b506104506121fd565b34801561091257600080fd5b506103b46004803603602081101561092957600080fd5b50356001600160a01b0316612203565b34801561094557600080fd5b5061094e6122f6565b60408051998a5260208a0198909852888801969096526060880194909452608087019290925260a086015260c085015260e084015261010083015251908190036101200190f35b3480156109a157600080fd5b506109d6600480360360608110156109b857600080fd5b508035906001600160a01b036020820135811691604001351661231c565b60408051921515835260208301919091528051918290030190f35b3480156109fd57600080fd5b506103b460048036036040811015610a1457600080fd5b810190602081018135600160201b811115610a2e57600080fd5b820183602082011115610a4057600080fd5b803590602001918460208302840111600160201b83111715610a6157600080fd5b919350915035612370565b348015610a7857600080fd5b5061045060048036036040811015610a8f57600080fd5b506001600160a01b03813516906020013561271e565b348015610ab157600080fd5b506103b460048036036020811015610ac857600080fd5b50356001600160a01b03166127a0565b348015610ae457600080fd5b506103cb612859565b348015610af957600080fd5b50610b2660048036036040811015610b1057600080fd5b506001600160a01b038135169060200135612868565b604051808060200180602001806020018515158152602001848103845288818151815260200191508051906020019060200280838360005b83811015610b76578181015183820152602001610b5e565b50505050905001848103835287818151815260200191508051906020019060200280838360005b83811015610bb5578181015183820152602001610b9d565b50505050905001848103825286818151815260200191508051906020019060200280838360005b83811015610bf4578181015183820152602001610bdc565b5050505090500197505050505050505060405180910390f35b348015610c1957600080fd5b506103b46004803603610120811015610c3157600080fd5b810190602081018135600160201b811115610c4b57600080fd5b820183602082011115610c5d57600080fd5b803590602001918460208302840111600160201b83111715610c7e57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610ccd57600080fd5b820183602082011115610cdf57600080fd5b803590602001918460208302840111600160201b83111715610d0057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550508235935050506020810135906001600160a01b036040820135169060608101359060808101359060a08101359060c001356128d2565b348015610d7657600080fd5b506103b460048036036040811015610d8d57600080fd5b810190602081018135600160201b811115610da757600080fd5b820183602082011115610db957600080fd5b803590602001918460208302840111600160201b83111715610dda57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610e2957600080fd5b820183602082011115610e3b57600080fd5b803590602001918460208302840111600160201b83111715610e5c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612d21945050505050565b348015610ea657600080fd5b5061045060048036036040811015610ebd57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115610ee757600080fd5b820183602082011115610ef957600080fd5b803590602001918460208302840111600160201b83111715610f1a57600080fd5b509092509050612dcc565b348015610f3157600080fd5b5061045060048036036080811015610f4857600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515612e82565b348015610f7c57600080fd5b50610450612f08565b348015610f9157600080fd5b50610fb860048036036020811015610fa857600080fd5b50356001600160a01b0316612f0e565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610ff4578181015183820152602001610fdc565b505050509050019250505060405180910390f35b34801561101457600080fd5b506103cb6130b5565b34801561102957600080fd5b506104506004803603602081101561104057600080fd5b50356001600160a01b03166130c4565b34801561105c57600080fd5b506104506004803603606081101561107357600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561109d57600080fd5b8201836020820111156110af57600080fd5b803590602001918460208302840111600160201b831117156110d057600080fd5b919390929091602081019035600160201b8111156110ed57600080fd5b8201836020820111156110ff57600080fd5b803590602001918460208302840111600160201b8311171561112057600080fd5b5090925090506130db565b34801561113757600080fd5b506103936004803603602081101561114e57600080fd5b5035613156565b34801561116157600080fd5b506103b46004803603602081101561117857600080fd5b5035613175565b34801561118b57600080fd5b5061036a61334b565b3480156111a057600080fd5b506103b4600480360360208110156111b757600080fd5b503561335b565b3480156111ca57600080fd5b5061124e600480360360608110156111e157600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561121057600080fd5b82018360208201111561122257600080fd5b803590602001918460208302840111600160201b8311171561124357600080fd5b5090925090506133b2565b6040518080602001806020018415158152602001838103835286818151815260200191508051906020019060200280838360005b8381101561129a578181015183820152602001611282565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156112d95781810151838201526020016112c1565b505050509050019550505050505060405180910390f35b3480156112fc57600080fd5b50610450613418565b34801561131157600080fd5b506103b4613422565b34801561132657600080fd5b506103936004803603604081101561133d57600080fd5b50803590602001356001600160a01b03166134b5565b34801561135f57600080fd5b506103cb6134f1565b34801561137457600080fd5b506104506004803603602081101561138b57600080fd5b5035613500565b34801561139e57600080fd5b506103b461350b565b3480156113b357600080fd5b506113bc6135d2565b6040805160208082528351818301528351919283929083019185019080838360005b838110156113f65781810151838201526020016113de565b50505050905090810190601f1680156114235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60035460ff1681565b6000806114456135fd565b90939092509050565b61145661366d565b61145e6136bd565b601b5560185461146e9034613724565b60185561147961377e565b6040805134815290517f95c4e29cc99bc027cfc3cd719d6fd973d5f0317061885fbb322b9b17d8d35d379181900360200190a16114b461385e565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b6114e26138aa565b601e546001600160a01b0316158015906115065750601c546001600160a01b031615155b801561151c5750601f546001600160a01b031615155b611561576040805162461bcd60e51b81526020600482015260116024820152701859191c995cdcd95cc81b9bdd081cd95d607a1b604482015290519081900360640190fd5b6003805460ff191660011790556040805130815290517f2d9c100169d5e24ef79d07ec273fcbbd5ce996a849ef0223f37c49f6418df84d9181900360200190a1565b601c546001600160a01b031681565b6020546001600160a01b031681565b60008073__$b9040dea2fd9c47e6b7e0e916053de4d6b$__63e937a562600f856115e9613909565b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561162b57600080fd5b505af415801561163f573d6000803e3d6000fd5b505050506040513d602081101561165557600080fd5b50516040805185815260208101839052815192935033927fd89f05622c2dcb0b4fcaa19e62fc2a2b0923955685fb7b0c641467f764244abc929181900390910190a290505b919050565b600f5490565b600054600160b01b900460ff16806116c75750600054600160a81b900460ff16155b15611800576116d461394e565b60035460ff1615801561170f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031615155b801561171b5750600654155b80156117275750600554155b61176c576040805162461bcd60e51b81526020600482015260116024820152706e6f7420696e697469616c20737461746560781b604482015290519081900360640190fd5b61177f6001611779613909565b90613724565b600655601c5460408051633e7ff85760e01b815290516001600160a01b0390921691633e7ff85791600480820192602092909190829003018186803b1580156117c757600080fd5b505afa1580156117db573d6000803e3d6000fd5b505050506040513d60208110156117f157600080fd5b505160055560006004556114b4565b6114b4600036613983565b6000611815613b13565b60028054141561185a576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b60028055878761186a8282613b6a565b6118798a8a8a8a8a8a8a613bf7565b6001600255925061188c915061385e9050565b979650505050505050565b6000806000806017546118b760165460135461372490919063ffffffff16565b925092509250909192565b60006118cc613db4565b905090565b6060808073__$b9040dea2fd9c47e6b7e0e916053de4d6b$__6325459925600f866118fa613909565b6040518463ffffffff1660e01b815260040180848152602001836001600160a01b03168152602001828152602001935050505060006040518083038186803b15801561194557600080fd5b505af4158015611959573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052606081101561198257600080fd5b8101908080516040519392919084600160201b8211156119a157600080fd5b9083019060208201858111156119b657600080fd5b82518660208202830111600160201b821117156119d257600080fd5b82525081516020918201928201910280838360005b838110156119ff5781810151838201526020016119e7565b5050505090500160405260200180516040519392919084600160201b821115611a2757600080fd5b908301906020820185811115611a3c57600080fd5b82518660208202830111600160201b82111715611a5857600080fd5b82525081516020918201928201910280838360005b83811015611a85578181015183820152602001611a6d565b5050505090500160405260200180516040519392919084600160201b821115611aad57600080fd5b908301906020820185811115611ac257600080fd5b82518660208202830111600160201b82111715611ade57600080fd5b82525081516020918201928201910280838360005b83811015611b0b578181015183820152602001611af3565b505050509050016040525050509250925092509193909250565b60055490565b611b336138aa565b6003805460ff191690556040805130815290517fa391f4e911c33688045cc1f43dc17c05924f79ad72a8cf5a58cf00c3acc9090e9181900360200190a1565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff16611bba576000546001600160a01b03166118cc565b73183faff6997c98a812a3b98748fc80241d08f3126001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0757600080fd5b505afa158015611c1b573d6000803e3d6000fd5b505050506040513d6020811015611c3157600080fd5b5051905090565b60408051630debfda360e41b8152336004820152905173183faff6997c98a812a3b98748fc80241d08f3129163debfda30916024808301926020929190829003018186803b158015611c8957600080fd5b505afa158015611c9d573d6000803e3d6000fd5b505050506040513d6020811015611cb357600080fd5b5051611cf6576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054611d62576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015611db8576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611e525780601f10611e2757610100808354040283529160200191611e52565b820191906000526020600020905b815481529060010190602001808311611e3557829003601f168201915b5050506001600160e01b0319861660009081526001602081905260408220828155949550909250611e8691508301826157b6565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b60208310611ece5780518252601f199092019160209182019101611eaf565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611f30576040519150601f19603f3d011682016040523d82523d6000602084013e611f35565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1611f9481613dc5565b50505050565b73183faff6997c98a812a3b98748fc80241d08f31281565b60009182526007602090815260408084206001600160a01b0390931684529190529020546001600160801b0380821692600160801b9092041690565b611ff6613de2565b60006120028383613e35565b6015549091506120129082613724565b601555604080518581526020810183905281517f754fa5a3ace0438b80ec651f7d61e44f761a808ebd17d7ce70da619399611a08929181900390910190a150505050565b61205e6138aa565b6001600160e01b031981166000908152600160205260409020546120c9576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b03198116600090815260016020819052604082208281559190612139908301826157b6565b505050565b60006121518261214c613e52565b613e72565b92915050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156121f35780601f106121c8576101008083540402835291602001916121f3565b820191906000526020600020905b8154815290600101906020018083116121d657829003601f168201915b5050505050905082565b60045481565b600054600160b01b900460ff16806122255750600054600160a81b900460ff16155b156122e85761223261394e565b6020546001600160a01b03161561227e576040805162461bcd60e51b815260206004820152600b60248201526a185b1c9958591e481cd95d60aa1b604482015290519081900360640190fd5b6001600160a01b0381166122c8576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b602080546001600160a01b0319166001600160a01b0383161790556122f3565b6122f3600036613983565b50565b601254601354601454601554601654601754601854601954601a54909192939495969798565b60008061232a858585613e95565b6000958652600a602090815260408088206001600160a01b039788168952825280882095909616875293909352505091205490916101009091046001600160801b031690565b612378613b13565b6002805414156123bd576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b600280556123c96136bd565b5060005b82811015612401576123f98484838181106123e457fe5b905060200201356001600160a01b0316613ed7565b6001016123cd565b50600061240c613909565b90506124188282613f23565b612459576040805162461bcd60e51b815260206004820152600d60248201526c6e6f7420636c61696d61626c6560981b604482015290519081900360640190fd5b601d546040805163712441d960e11b81523360048201818152602483019384526044830188905260009485946001600160a01b039091169363e24883b293928b928b92606401846020850280828437600081840152601f19601f82011690508083019250505094505050505060006040518083038186803b1580156124dd57600080fd5b505afa1580156124f1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561251a57600080fd5b8101908080516040519392919084600160201b82111561253957600080fd5b90830190602082018581111561254e57600080fd5b82518660208202830111600160201b8211171561256a57600080fd5b82525081516020918201928201910280838360005b8381101561259757818101518382015260200161257f565b50505050919091016040525060200151929450919250600091506125bb9050613e52565b905060005b868110156126f65760008888838181106125d657fe5b905060200201356001600160a01b0316905060008583815181106125f657fe5b60200260200101519050600061260e83838b88613f45565b9050816001600160a01b0316836001600160a01b0316146126375761263582838b88613f45565b015b60408051808201909152601881527f636c61696d656420616d6f756e7420746f6f20736d616c6c000000000000000060208201526126789082908890613fe9565b905080156126eb57601f546040805163b760faf960e01b81526001600160a01b0385811660048301529151919092169163b760faf991849160248082019260009290919082900301818588803b1580156126d157600080fd5b505af11580156126e5573d6000803e3d6000fd5b50505050505b5050506001016125c0565b5061270c336127058489614080565b60006140d9565b5050600160025550612139905061385e565b600081612729613db4565b111580156127455750600f5461274190611779613909565b8211155b61278d576040805162461bcd60e51b81526020600482015260146024820152730d2dcecc2d8d2c840e4caeec2e4c840cae0dec6d60631b604482015290519081900360640190fd5b612799600f84846141f4565b9392505050565b600054600160a01b900460ff16156127f6576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b601f546001600160a01b031681565b6060806060600080612878613909565b90506128848682613f23565b9150818061289e5750808614801561289e57506004548610155b156128c85760006128b188886000614287565b805160408201516060909201519097509095509350505b5092959194509250565b6128da613de2565b86158015906128e95750885115155b6128ef57fe5b6000838152600c6020526040812082905561290a8584613e35565b905060008a5167ffffffffffffffff8111801561292657600080fd5b50604051908082528060200260200182016040528015612950578160200160208202803683370190505b509050818160008151811061296157fe5b602002602001018181525050888a60008151811061297b57fe5b60209081029190910101528a51600019015b60008c828151811061299b57fe5b602002602001015190506129f58c83815181106129b457fe5b60200260200101518d6000815181106129c957fe5b6020026020010151856000815181106129de57fe5b602002602001015161484a9092919063ffffffff16565b838381518110612a0157fe5b60209081029190910181019190915260008881526007825260408082206001600160a01b0385168352909252208351612a4d90859085908110612a4057fe5b602002602001015161494a565b81546001600160801b031981166001600160801b039182169290920116178155601f5460408051631257fcdb60e31b81526001600160a01b038581166004830152602482018a9052915160009392909216916392bfe6d891604480820192602092909190829003018186803b158015612ac557600080fd5b505afa158015612ad9573d6000803e3d6000fd5b505050506040513d6020811015612aef57600080fd5b50519050612b07612b0282612710614080565b61494a565b82546001600160801b03918216600160801b0291161782558451859085908110612b2d57fe5b60209081029190910181015160008b81526009835260408082206001600160a01b03881680845290855281832080549094019093558c82526008845280822092825291909252902054612ba05760008981526008602090815260408083206001600160a01b038716845290915290208190555b83612bad57505050612c1f565b848481518110612bb957fe5b602002602001015185600081518110612bce57fe5b6020026020010181815103915081815250508d8481518110612bec57fe5b60200260200101518e600081518110612c0157fe5b6020908102919091010180519190910390525050506000190161298d565b6000868152600d60205260409020805484019055601254612c409084613724565b601281905550876001600160a01b03167f8b2bc56c62594afde5b520e83e1ca19ebd071798db21382e328014f47b31ce578a8e85604051808481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015612cbe578181015183820152602001612ca6565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015612cfd578181015183820152602001612ce5565b505050509050019550505050505060405180910390a2505050505050505050505050565b612d29611b72565b6001600160a01b0316336001600160a01b031614612d85576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b612dbe612db983836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b81525061498e565b614ab2565b612dc88282614ad6565b5050565b6000612dd6613b13565b600280541415612e1b576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b600280556000805b83811015612e6357848482818110612e3757fe5b90506020020135821015612e5b57848482818110612e5157fe5b9050602002013591505b600101612e23565b50612e713386836000614c21565b60016002559150612799905061385e565b6000612e8c613b13565b600280541415612ed1576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b600280558484612ee18282613b6a565b612eed87878787614c21565b60016002559250612f00915061385e9050565b949350505050565b60105490565b6060600080612f1b6135fd565b909250905060018282030160008167ffffffffffffffff81118015612f3f57600080fd5b50604051908082528060200260200182016040528015612f69578160200160208202803683370190505b5090506000805b83811015613016576000612f88898389016001614287565b905060005b81606001515181101561300c5781606001518181518110612faa57fe5b6020026020010151158015612fd65750600082604001518281518110612fcc57fe5b6020026020010151115b15613004576001858481518110612fe957fe5b9115156020928302919091019091015260019093019261300c565b600101612f8d565b5050600101612f70565b508067ffffffffffffffff8111801561302e57600080fd5b50604051908082528060200260200182016040528015613058578160200160208202803683370190505b5095506000805b848110156130a95783818151811061307357fe5b6020026020010151156130a15780870188838151811061308f57fe5b60209081029190910101526001909101905b60010161305f565b50505050505050919050565b601d546001600160a01b031681565b6000612151826130d2613909565b600f91906141f4565b60006130e5613b13565b60028054141561312a576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b6002805561313e3387878787876000613bf7565b6001600255905061314d61385e565b95945050505050565b6000908152600d6020908152604080832054600e909252909120549091565b601c546001600160a01b031633148061319857506020546001600160a01b031633145b6131d9576040805162461bcd60e51b815260206004820152600d60248201526c6f6e6c79206d616e616765727360981b604482015290519081900360640190fd5b8060055414613220576040805162461bcd60e51b815260206004820152600e60248201526d1ddc9bdb99c8195c1bd8da081a5960921b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161580159061325c575060065460320181105b156132e0577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d6c1dbee826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156132c757600080fd5b505af11580156132db573d6000803e3d6000fd5b505050505b6000818152600e6020908152604080832054600d909252909120546014549190039061330c9082613724565b6014556040805183815290517f5d05c64f281304391697cf987812e1a736413a062a9bdf39af4102209eb6fa589181900360200190a150600101600555565b600054600160a81b900460ff1681565b61336361366d565b601a8190556017546133759082613724565b601755426019556040805182815290517f187f32a0f765499f15b3bb52ed0aebf6015059f230f2ace7e701e60a476695959181900360200190a150565b6060806000806133c0613909565b90506133cc8782613f23565b915081806133e6575080871480156133e657506004548710155b1561340d5760006133fb898989896000614c9e565b90508060400151945080606001519350505b509450945094915050565b60006118cc613909565b61342a6138aa565b60001960045414613474576040805162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e48195b98589b1959608a1b604482015290519081900360640190fd5b61347c613909565b600481905560408051918252517f1cfb844c44f9325fc9ad6cc6191a4a24b0415137fe300b6c9071523a253f7a089181900360200190a1565b60008281526009602090815260408083206001600160a01b03909416808452938252808320549483526008825280832093835292905220549091565b601e546001600160a01b031690565b60006121518261507a565b6135136138aa565b600054600160a81b900460ff1615613572576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805173183faff6997c98a812a3b98748fc80241d08f312815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b604080518082019091526011815270233a39b7a932bbb0b93226b0b730b3b2b960791b602082015290565b60055460008061360b613909565b905060008111613662576040805162461bcd60e51b815260206004820152601f60248201527f6e6f2065706f6368207769746820636c61696d61626c65207265776172647300604482015290519081900360640190fd5b600181039150509091565b601e546001600160a01b031633146114b4576040805162461bcd60e51b815260206004820152600e60248201526d696e666c6174696f6e206f6e6c7960901b604482015290519081900360640190fd5b601b546000906136cd9034613724565b905047818111156137165761dead6108fc6136e8838561510c565b6040518115909202916000818181858888f19350505050158015613710573d6000803e3d6000fd5b50613720565b8181101561372057fe5b5090565b600082820183811015612799576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006137a360165461379d60145460155461372490919063ffffffff16565b9061510c565b905080156122f35760006137ba476014606461484a565b90506000818311156137cd5750806137d0565b50815b8015612139576016546137e39082613724565b601655601b546137f3908261510c565b601b5560405161dead9082156108fc029083906000818181858888f19350505050158015613825573d6000803e3d6000fd5b506040805182815290517f44d5cd18c37b86a3423952287006d9550ab3cff404d6e899d5499d9ef87100b59181900360200190a1505050565b613866615169565b47146114b4576040805162461bcd60e51b815260206004820152600e60248201526d6f7574206f662062616c616e636560901b604482015290519081900360640190fd5b6138b2611b97565b6001600160a01b0316336001600160a01b0316146114b4576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b601c54604080516339f20c3560e21b815290516000926001600160a01b03169163e7c830d4916004808301926020929190829003018186803b158015611c0757600080fd5b600054600160b01b900460ff161561397b5733301461396957fe5b6000805460ff60b01b191690556114b4565b6114b46138aa565b61398b6138aa565b600082359050600073183faff6997c98a812a3b98748fc80241d08f3126001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156139e057600080fd5b505afa1580156139f4573d6000803e3d6000fd5b505050506040513d6020811015613a0a57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450613a8e939285019201906157fa565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b60035460ff166114b4576040805162461bcd60e51b815260206004820152601a60248201527f726577617264206d616e61676572206465616374697661746564000000000000604482015290519081900360640190fd5b336001600160a01b0383161415613b8057612dc8565b601d546040805163ce2caa5760e01b81523360048201526001600160a01b03858116602483015284811660448301529151919092169163ce2caa57916064808301926000929190829003018186803b158015613bdb57600080fd5b505afa158015613bef573d6000803e3d6000fd5b505050505050565b6000613c0287613ed7565b613c0a6136bd565b506002601f546040805163f683776760e01b81526001600160a01b038c811660048301529151919092169163f6837767916024808301926020929190829003018186803b158015613c5a57600080fd5b505afa158015613c6e573d6000803e3d6000fd5b505050506040513d6020811015613c8457600080fd5b505114613cd8576040805162461bcd60e51b815260206004820152601860248201527f6578706c696369742064656c65676174696f6e206f6e6c790000000000000000604482015290519081900360640190fd5b6000613ce2613909565b905060005b86811015613d9c57613d0b888883818110613cfe57fe5b9050602002013583613f23565b613d1457613d94565b6000613d368b8a8a85818110613d2657fe5b9050602002013589896001614c9e565b90506000613d5a8c8c8c8c87818110613d4b57fe5b90506020020135856001615188565b905080600e60008c8c87818110613d6d57fe5b60209081029290920135835250810191909152604001600020805490910190559390930192505b600101613ce7565b50613da88883856140d9565b50979650505050505050565b600654600090612151906001615400565b3d604051818101604052816000823e8215613dde578181f35b8181fd5b601c546001600160a01b031633146114b4576040805162461bcd60e51b81526020600482015260116024820152706674736f206d616e61676572206f6e6c7960781b604482015290519081900360640190fd5b6000612799613e448385615426565b613e4c6154a5565b906154c4565b60006118cc600454613e6d613e65613db4565b60055461552b565b61552b565b6001600160a01b0382166000908152600b6020526040812054612799908361552b565b6000838152600a602090815260408083206001600160a01b038087168552908352818420908516845290915281205460ff1680612f005750612f008483615542565b6001600160a01b0381166122f3576040805162461bcd60e51b815260206004820152600e60248201526d726563697069656e74207a65726f60901b604482015290519081900360640190fd5b60006004548310158015613f3957506005548310155b80156127995750501190565b600080613f528684613e72565b90505b838111613f9f576000613f6a87836001614287565b90506000613f7c888885856000615188565b6000848152600e6020526040902080548201905593909301925050600101613f55565b506001600160a01b0385166000908152600b6020526040902054600184011115612f00576001600160a01b0385166000908152600b60205260409020600184019055949350505050565b600081848411156140785760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561403d578181015183820152602001614025565b50505050905090810190601f16801561406a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008261408f57506000612151565b8282028284828161409c57fe5b04146127995760405162461bcd60e51b815260040180806020018281038252602181526020018061591e6021913960400191505060405180910390fd5b81156141eb57801561415457601f546040805163b760faf960e01b81526001600160a01b0386811660048301529151919092169163b760faf991859160248082019260009290919082900301818588803b15801561413657600080fd5b505af115801561414a573d6000803e3d6000fd5b50505050506141eb565b6040516000906001600160a01b0385169084908381818185875af1925050503d806000811461419f576040519150601f19603f3d011682016040523d82523d6000602084013e6141a4565b606091505b50509050806141e9576040805162461bcd60e51b815260206004820152600c60248201526b18db185a5b4819985a5b195960a21b604482015290519081900360640190fd5b505b505047601b5550565b6001600160a01b0382166000908152600284016020526040812080545b80156142785781546000199091019082908290811061422c57fe5b6000918252602090912001546201000090046001600160f01b031684106142735781818154811061425957fe5b60009182526020909120015461ffff169250612799915050565b614211565b50505060018301549392505050565b61428f615882565b600061429a8461507a565b90506000806142a76158aa565b6142b18789615542565b156142bf5750505050612799565b60008781526009602090815260408083206001600160a01b038c1684529091529020541515806142ed575085155b1561431f576142fd88888661555e565b915061430a8789846156d4565b6001600160801b031660208201819052151592505b601f546040805163ed475a7960e01b81526001600160a01b038b811660048301526024820188905291516060938493169163ed475a79916044808301926000929190829003018186803b15801561437557600080fd5b505afa158015614389573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260808110156143b257600080fd5b8101908080516040519392919084600160201b8211156143d157600080fd5b9083019060208201858111156143e657600080fd5b82518660208202830111600160201b8211171561440257600080fd5b82525081516020918201928201910280838360005b8381101561442f578181015183820152602001614417565b5050505090500160405260200180516040519392919084600160201b82111561445757600080fd5b90830190602082018581111561446c57600080fd5b82518660208202830111600160201b8211171561448857600080fd5b82525081516020918201928201910280838360005b838110156144b557818101518382015260200161449d565b5050505091909101604052505083519395509193508791506144da90505760006144dd565b60015b60ff160167ffffffffffffffff811180156144f757600080fd5b50604051908082528060200260200182016040528015614521578160200160208202803683370190505b508088525167ffffffffffffffff8111801561453c57600080fd5b50604051908082528060200260200182016040528015614566578160200160208202803683370190505b50602088015286515167ffffffffffffffff8111801561458557600080fd5b506040519080825280602002602001820160405280156145af578160200160208202803683370190505b50604088015286515167ffffffffffffffff811180156145ce57600080fd5b506040519080825280602002602001820160405280156145f8578160200160208202803683370190505b50606088015284156146805789876000015160008151811061461657fe5b60200260200101906001600160a01b031690816001600160a01b03168152505083876020015160008151811061464857fe5b60200260200101818152505082602001516001600160801b0316876040015160008151811061467357fe5b6020026020010181815250505b81511561483d57601f546040805163277166bf60e11b81526001600160a01b038d81166004830152602482018a905291516000939290921691634ee2cd7e91604480820192602092909190829003018186803b1580156146df57600080fd5b505afa1580156146f3573d6000803e3d6000fd5b505050506040513d602081101561470957600080fd5b5051905060005b835181101561483a576000818861472857600061472b565b60015b60ff1601905084828151811061473d57fe5b60200260200101518a60000151828151811061475557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506147bc85838151811061478457fe5b60200260200101516147b686858151811061479b57fe5b60200260200101516127108761484a9092919063ffffffff16565b8e615771565b8a6020015182815181106147cc57fe5b60200260200101818152505061480d8c8684815181106147e857fe5b60200260200101518c60200151848151811061480057fe5b60200260200101516156d4565b6001600160801b03168a60400151828151811061482657fe5b602090810291909101015250600101614710565b50505b5050505050509392505050565b6000808211614893576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b836148a057506000612799565b838302838582816148ad57fe5b0414156148c6578281816148bd57fe5b04915050612799565b60008386816148d157fe5b04905060008487816148df57fe5b06905060008587816148ed57fe5b04905060008688816148fb57fe5b06905061493d61490f88613e4c8685614080565b61177961491c8686614080565b6117796149298987614080565b6117798d6149378c8b614080565b90614080565b9998505050505050505050565b6000600160801b82106137205760405162461bcd60e51b81526004018080602001828103825260278152602001806158f76027913960400191505060405180910390fd5b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156149d25781810151838201526020016149ba565b50505050905090810190601f1680156149ff5780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b8651811015614a6757868181518110614a3557fe5b6020026020010151831415614a5f57858181518110614a5057fe5b60200260200101519150614a67565b600101614a20565b506001600160a01b03811661314d576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b614b0282826040518060400160405280600981526020016824b7333630ba34b7b760b91b81525061498e565b601e60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614b5682826040518060400160405280600b81526020016a233a39b7a6b0b730b3b2b960a91b81525061498e565b601c60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614ba382826040518060400160405280600481526020016315d3985d60e21b81525061498e565b601f60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614bfd82826040518060400160405280601181526020017021b630b4b6a9b2ba3ab826b0b730b3b2b960791b81525061498e565b601d80546001600160a01b0319166001600160a01b03929092169190911790555050565b6000614c2c84613ed7565b614c346136bd565b506000614c3f613909565b9050808410158015614c515750600081115b15614c5d576001810393505b614c678482613f23565b614c75576000915050612f00565b614c88868686614c83613e52565b613f45565b9150614c958583856140d9565b50949350505050565b614ca6615882565b6000614cb18661507a565b6040805160208088028281018201909352878252929350869290918891849182918501908490808284376000920191909152505050908452508067ffffffffffffffff81118015614d0157600080fd5b50604051908082528060200260200182016040528015614d2b578160200160208202803683370190505b5060208401528067ffffffffffffffff81118015614d4857600080fd5b50604051908082528060200260200182016040528015614d72578160200160208202803683370190505b5060408401528067ffffffffffffffff81118015614d8f57600080fd5b50604051908082528060200260200182016040528015614db9578160200160208202803683370190505b50606084015260005b8181101561506e57614df088888884818110614dda57fe5b905060200201356001600160a01b03168b613e95565b84606001518281518110614e0057fe5b60200260200101901515908115158152505083606001518181518110614e2257fe5b602002602001015115614eb75784614eb2576000888152600a6020526040812090888884818110614e4f57fe5b602090810292909201356001600160a01b039081168452838301949094525060409182016000908120938d16815292905290819020549085015180516101009092046001600160801b03169183908110614ea557fe5b6020026020010181815250505b615066565b886001600160a01b0316878783818110614ecd57fe5b905060200201356001600160a01b03166001600160a01b03161415614f1857614ef789898561555e565b84602001518281518110614f0757fe5b602002602001018181525050615010565b601f546000906001600160a01b031663e64767aa8b8a8a86818110614f3957fe5b905060200201356001600160a01b0316876040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001828152602001935050505060206040518083038186803b158015614f9e57600080fd5b505afa158015614fb2573d6000803e3d6000fd5b505050506040513d6020811015614fc857600080fd5b50519050614ff2888884818110614fdb57fe5b905060200201356001600160a01b0316828b615771565b8560200151838151811061500257fe5b602002602001018181525050505b6150408888888481811061502057fe5b905060200201356001600160a01b03168660200151848151811061480057fe5b6001600160801b03168460400151828151811061505957fe5b6020026020010181815250505b600101614dc2565b50505095945050505050565b6000818152600c60205260409020548061169a57601c5460408051637976d5ad60e11b81526004810185905290516001600160a01b039092169163f2edab5a91602480820192602092909190829003018186803b1580156150da57600080fd5b505afa1580156150ee573d6000803e3d6000fd5b505050506040513d602081101561510457600080fd5b505192915050565b600082821115615163576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006118cc60165461379d60135460185461510c90919063ffffffff16565b600080805b8451518110156153f557846060015181815181106151a757fe5b6020026020010151156151b9576153ed565b6000856000015182815181106151cb57fe5b60209081029190910181015160008981526007835260408082206001600160a01b038416835284528120928901518051929450909161520f919086908110612a4057fe5b90506001600160801b038116156152405781546001600160801b03600160801b808304821684900382160291161782555b600061525589604001518681518110612a4057fe5b90506001600160801b038116156152985782546001600160801b031981166001600160801b03918216839003821617845560138054918316918201905595909501945b8715615382576000600a60008c81526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002060008e6001600160a01b03166001600160a01b0316815260200190815260200160002090508060000160009054906101000a900460ff1615615351576040805162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e4818db185a5b5959608a1b604482015290519081900360640190fd5b8054600160ff199091161770ffffffffffffffffffffffffffffffff0019166101006001600160801b038416021790555b8a6001600160a01b03168c6001600160a01b0316856001600160a01b03167f6ec685171a9028d19dc155a48e7824e3c68b03bc8995410e006abe3cbbeb3e2d8d8560405180838152602001826001600160801b031681526020019250505060405180910390a4505050505b60010161518d565b509695505050505050565b600080838311156154165750600090508061541f565b50600190508183035b9250929050565b6000806154416201517f60195461372490919063ffffffff16565b90508084111561548c576040805162461bcd60e51b81526020600482015260116024820152706166746572206461696c79206379636c6560781b604482015290519081900360640190fd5b61549a83613e4c838761510c565b600101949350505050565b60006118cc60155461379d60125460175461510c90919063ffffffff16565b600080821161551a576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161552357fe5b049392505050565b60008183101561553b5781612799565b5090919050565b6001600160a01b03166000908152600b60205260409020541190565b601f5460408051634181ad4160e11b81526001600160a01b038681166004830152602482018590529151600093849316916383035a82916044808301926020929190829003018186803b1580156155b457600080fd5b505afa1580156155c8573d6000803e3d6000fd5b505050506040513d60208110156155de57600080fd5b5051601f5460408051631257fcdb60e31b81526001600160a01b03898116600483015260248201889052915193945060009391909216916392bfe6d8916044808301926020929190829003018186803b15801561563a57600080fd5b505afa15801561564e573d6000803e3d6000fd5b505050506040513d602081101561566457600080fd5b50519050818114156156855761567c81612710614080565b92505050612799565b81811161568e57fe5b600082156156a4576156a283612710614080565b015b60006156b2600f89896141f4565b905080156153f5576156c684840382614080565b909101979650505050505050565b6000816156e357506000612799565b60008481526007602090815260408083206001600160a01b0387168452909152902080546001600160801b03168061572057600092505050612799565b8154600160801b90046001600160801b031684811415615744575091506127999050565b806001600160801b0316851061575657fe5b61188c612b026001600160801b03848116908890851661484a565b60008261578057506000612799565b60008061578f600f87866141f4565b9050612710811015614c95576157aa85612710839003614080565b90910195945050505050565b50805460018160011615610100020316600290046000825580601f106157dc57506122f3565b601f0160209004906000526020600020908101906122f391906158c1565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826158305760008555615876565b82601f1061584957805160ff1916838001178555615876565b82800160010185558215615876579182015b8281111561587657825182559160200191906001019061585b565b506137209291506158c1565b6040518060800160405280606081526020016060815260200160608152602001606081525090565b604080518082019091526000808252602082015290565b5b8082111561372057600081556001016158c256fe5265656e7472616e637947756172643a207265656e7472616e742063616c6c0053616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220ee3059e63e6c3a94012049fcb62f642ee29786a0e8040678dbc0fbd25d1bf8fe64736f6c63430007060033",
|
|
1383
|
+
"deployedBytecode": "0x6080604052600436106103505760003560e01c806384e10a90116101c6578063cfbcd25f116100f7578063e7c830d411610095578063ed39d3f81161006f578063ed39d3f814611353578063f2edab5a14611368578063f5a9838314611392578063f5f5ba72146113a757610350565b8063e7c830d4146112f0578063ea28edad14611305578063eb82dd7f1461131a57610350565b8063d6c1dbee116100d1578063d6c1dbee14611155578063e17f212e1461117f578063e273956314611194578063e416b7e1146111be57610350565b8063cfbcd25f1461101d578063d20bb54214611050578063d418634a1461112b57610350565b8063a9b79e1711610164578063b2c121921161013e578063b2c1219214610f25578063b482403414610f70578063b4a2043d14610f85578063c4db96191461100857610350565b8063a9b79e1714610c0d578063b00c0b7614610d6a578063b2af870a14610e9a57610350565b8063961c00ed116101a0578063961c00ed14610a6c5780639d6a890f14610aa55780639edbf00714610ad8578063a4472c1014610aed57610350565b806384e10a901461093957806385b4c538146109955780638dc305fa146109f157610350565b806333b7971e116102a0578063657d96951161023e57806369b91b591161021857806369b91b591461080b57806374e6310e1461083e5780637b6b2c0a146108f157806382a2b9051461090657610350565b8063657d96951461076857806367dcac53146107a157806367fc4029146107d757610350565b80635267a15d1161027a5780635267a15d146106f55780635aa6e6751461070a5780635ff270791461071f57806362354e031461075357610350565b806333b7971e146105ba5780633e7ff857146106cb57806351b42b00146106e057610350565b806312f97ac01161030d5780631de56098116102e75780631de560981461047757806321bb25af1461048c5780632dafdbbf146105725780633123b7d8146105a557610350565b806312f97ac01461041157806316e693281461042657806316fe49c71461046257610350565b806302fb0c5e146103555780630441218e1461037e57806306201f1d146103ac5780630cb72344146103b65780630f15f4c0146103e757806311a7aaaa146103fc575b600080fd5b34801561036157600080fd5b5061036a611431565b604080519115158252519081900360200190f35b34801561038a57600080fd5b5061039361143a565b6040805192835260208301919091528051918290030190f35b6103b461144e565b005b3480156103c257600080fd5b506103cb6114b6565b604080516001600160a01b039092168252519081900360200190f35b3480156103f357600080fd5b506103b46114da565b34801561040857600080fd5b506103cb6115a3565b34801561041d57600080fd5b506103cb6115b2565b34801561043257600080fd5b506104506004803603602081101561044957600080fd5b50356115c1565b60408051918252519081900360200190f35b34801561046e57600080fd5b5061045061169f565b34801561048357600080fd5b506103b46116a5565b34801561049857600080fd5b50610450600480360360a08110156104af57600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b8111156104e257600080fd5b8201836020820111156104f457600080fd5b803590602001918460208302840111600160201b8311171561051557600080fd5b919390929091602081019035600160201b81111561053257600080fd5b82018360208201111561054457600080fd5b803590602001918460208302840111600160201b8311171561056557600080fd5b919350915035151561180b565b34801561057e57600080fd5b50610587611897565b60408051938452602084019290925282820152519081900360600190f35b3480156105b157600080fd5b506104506118c2565b3480156105c657600080fd5b506105ed600480360360208110156105dd57600080fd5b50356001600160a01b03166118d1565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561063557818101518382015260200161061d565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561067457818101518382015260200161065c565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156106b357818101518382015260200161069b565b50505050905001965050505050505060405180910390f35b3480156106d757600080fd5b50610450611b25565b3480156106ec57600080fd5b506103b4611b2b565b34801561070157600080fd5b506103cb611b72565b34801561071657600080fd5b506103cb611b97565b34801561072b57600080fd5b506103b46004803603602081101561074257600080fd5b50356001600160e01b031916611c38565b34801561075f57600080fd5b506103cb611f9a565b34801561077457600080fd5b506103936004803603604081101561078b57600080fd5b50803590602001356001600160a01b0316611fb2565b3480156107ad57600080fd5b506103b4600480360360608110156107c457600080fd5b5080359060208101359060400135611fee565b3480156107e357600080fd5b506103b4600480360360208110156107fa57600080fd5b50356001600160e01b031916612056565b34801561081757600080fd5b506104506004803603602081101561082e57600080fd5b50356001600160a01b031661213e565b34801561084a57600080fd5b506108726004803603602081101561086157600080fd5b50356001600160e01b031916612157565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156108b557818101518382015260200161089d565b50505050905090810190601f1680156108e25780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b3480156108fd57600080fd5b506104506121fd565b34801561091257600080fd5b506103b46004803603602081101561092957600080fd5b50356001600160a01b0316612203565b34801561094557600080fd5b5061094e6122f6565b60408051998a5260208a0198909852888801969096526060880194909452608087019290925260a086015260c085015260e084015261010083015251908190036101200190f35b3480156109a157600080fd5b506109d6600480360360608110156109b857600080fd5b508035906001600160a01b036020820135811691604001351661231c565b60408051921515835260208301919091528051918290030190f35b3480156109fd57600080fd5b506103b460048036036040811015610a1457600080fd5b810190602081018135600160201b811115610a2e57600080fd5b820183602082011115610a4057600080fd5b803590602001918460208302840111600160201b83111715610a6157600080fd5b919350915035612370565b348015610a7857600080fd5b5061045060048036036040811015610a8f57600080fd5b506001600160a01b03813516906020013561271e565b348015610ab157600080fd5b506103b460048036036020811015610ac857600080fd5b50356001600160a01b03166127a0565b348015610ae457600080fd5b506103cb612859565b348015610af957600080fd5b50610b2660048036036040811015610b1057600080fd5b506001600160a01b038135169060200135612868565b604051808060200180602001806020018515158152602001848103845288818151815260200191508051906020019060200280838360005b83811015610b76578181015183820152602001610b5e565b50505050905001848103835287818151815260200191508051906020019060200280838360005b83811015610bb5578181015183820152602001610b9d565b50505050905001848103825286818151815260200191508051906020019060200280838360005b83811015610bf4578181015183820152602001610bdc565b5050505090500197505050505050505060405180910390f35b348015610c1957600080fd5b506103b46004803603610120811015610c3157600080fd5b810190602081018135600160201b811115610c4b57600080fd5b820183602082011115610c5d57600080fd5b803590602001918460208302840111600160201b83111715610c7e57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610ccd57600080fd5b820183602082011115610cdf57600080fd5b803590602001918460208302840111600160201b83111715610d0057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550508235935050506020810135906001600160a01b036040820135169060608101359060808101359060a08101359060c001356128d2565b348015610d7657600080fd5b506103b460048036036040811015610d8d57600080fd5b810190602081018135600160201b811115610da757600080fd5b820183602082011115610db957600080fd5b803590602001918460208302840111600160201b83111715610dda57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610e2957600080fd5b820183602082011115610e3b57600080fd5b803590602001918460208302840111600160201b83111715610e5c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612d21945050505050565b348015610ea657600080fd5b5061045060048036036040811015610ebd57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115610ee757600080fd5b820183602082011115610ef957600080fd5b803590602001918460208302840111600160201b83111715610f1a57600080fd5b509092509050612dcc565b348015610f3157600080fd5b5061045060048036036080811015610f4857600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515612e82565b348015610f7c57600080fd5b50610450612f08565b348015610f9157600080fd5b50610fb860048036036020811015610fa857600080fd5b50356001600160a01b0316612f0e565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610ff4578181015183820152602001610fdc565b505050509050019250505060405180910390f35b34801561101457600080fd5b506103cb6130b5565b34801561102957600080fd5b506104506004803603602081101561104057600080fd5b50356001600160a01b03166130c4565b34801561105c57600080fd5b506104506004803603606081101561107357600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561109d57600080fd5b8201836020820111156110af57600080fd5b803590602001918460208302840111600160201b831117156110d057600080fd5b919390929091602081019035600160201b8111156110ed57600080fd5b8201836020820111156110ff57600080fd5b803590602001918460208302840111600160201b8311171561112057600080fd5b5090925090506130db565b34801561113757600080fd5b506103936004803603602081101561114e57600080fd5b5035613156565b34801561116157600080fd5b506103b46004803603602081101561117857600080fd5b5035613175565b34801561118b57600080fd5b5061036a61334b565b3480156111a057600080fd5b506103b4600480360360208110156111b757600080fd5b503561335b565b3480156111ca57600080fd5b5061124e600480360360608110156111e157600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561121057600080fd5b82018360208201111561122257600080fd5b803590602001918460208302840111600160201b8311171561124357600080fd5b5090925090506133b2565b6040518080602001806020018415158152602001838103835286818151815260200191508051906020019060200280838360005b8381101561129a578181015183820152602001611282565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156112d95781810151838201526020016112c1565b505050509050019550505050505060405180910390f35b3480156112fc57600080fd5b50610450613418565b34801561131157600080fd5b506103b4613422565b34801561132657600080fd5b506103936004803603604081101561133d57600080fd5b50803590602001356001600160a01b03166134b5565b34801561135f57600080fd5b506103cb6134f1565b34801561137457600080fd5b506104506004803603602081101561138b57600080fd5b5035613500565b34801561139e57600080fd5b506103b461350b565b3480156113b357600080fd5b506113bc6135d2565b6040805160208082528351818301528351919283929083019185019080838360005b838110156113f65781810151838201526020016113de565b50505050905090810190601f1680156114235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60035460ff1681565b6000806114456135fd565b90939092509050565b61145661366d565b61145e6136bd565b601b5560185461146e9034613724565b60185561147961377e565b6040805134815290517f95c4e29cc99bc027cfc3cd719d6fd973d5f0317061885fbb322b9b17d8d35d379181900360200190a16114b461385e565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b6114e26138aa565b601e546001600160a01b0316158015906115065750601c546001600160a01b031615155b801561151c5750601f546001600160a01b031615155b611561576040805162461bcd60e51b81526020600482015260116024820152701859191c995cdcd95cc81b9bdd081cd95d607a1b604482015290519081900360640190fd5b6003805460ff191660011790556040805130815290517f2d9c100169d5e24ef79d07ec273fcbbd5ce996a849ef0223f37c49f6418df84d9181900360200190a1565b601c546001600160a01b031681565b6020546001600160a01b031681565b60008073__$b9040dea2fd9c47e6b7e0e916053de4d6b$__63e937a562600f856115e9613909565b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561162b57600080fd5b505af415801561163f573d6000803e3d6000fd5b505050506040513d602081101561165557600080fd5b50516040805185815260208101839052815192935033927fd89f05622c2dcb0b4fcaa19e62fc2a2b0923955685fb7b0c641467f764244abc929181900390910190a290505b919050565b600f5490565b600054600160b01b900460ff16806116c75750600054600160a81b900460ff16155b15611800576116d461394e565b60035460ff1615801561170f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031615155b801561171b5750600654155b80156117275750600554155b61176c576040805162461bcd60e51b81526020600482015260116024820152706e6f7420696e697469616c20737461746560781b604482015290519081900360640190fd5b61177f6001611779613909565b90613724565b600655601c5460408051633e7ff85760e01b815290516001600160a01b0390921691633e7ff85791600480820192602092909190829003018186803b1580156117c757600080fd5b505afa1580156117db573d6000803e3d6000fd5b505050506040513d60208110156117f157600080fd5b505160055560006004556114b4565b6114b4600036613983565b6000611815613b13565b60028054141561185a576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b60028055878761186a8282613b6a565b6118798a8a8a8a8a8a8a613bf7565b6001600255925061188c915061385e9050565b979650505050505050565b6000806000806017546118b760165460135461372490919063ffffffff16565b925092509250909192565b60006118cc613db4565b905090565b6060808073__$b9040dea2fd9c47e6b7e0e916053de4d6b$__6325459925600f866118fa613909565b6040518463ffffffff1660e01b815260040180848152602001836001600160a01b03168152602001828152602001935050505060006040518083038186803b15801561194557600080fd5b505af4158015611959573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052606081101561198257600080fd5b8101908080516040519392919084600160201b8211156119a157600080fd5b9083019060208201858111156119b657600080fd5b82518660208202830111600160201b821117156119d257600080fd5b82525081516020918201928201910280838360005b838110156119ff5781810151838201526020016119e7565b5050505090500160405260200180516040519392919084600160201b821115611a2757600080fd5b908301906020820185811115611a3c57600080fd5b82518660208202830111600160201b82111715611a5857600080fd5b82525081516020918201928201910280838360005b83811015611a85578181015183820152602001611a6d565b5050505090500160405260200180516040519392919084600160201b821115611aad57600080fd5b908301906020820185811115611ac257600080fd5b82518660208202830111600160201b82111715611ade57600080fd5b82525081516020918201928201910280838360005b83811015611b0b578181015183820152602001611af3565b505050509050016040525050509250925092509193909250565b60055490565b611b336138aa565b6003805460ff191690556040805130815290517fa391f4e911c33688045cc1f43dc17c05924f79ad72a8cf5a58cf00c3acc9090e9181900360200190a1565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff16611bba576000546001600160a01b03166118cc565b73183faff6997c98a812a3b98748fc80241d08f3126001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0757600080fd5b505afa158015611c1b573d6000803e3d6000fd5b505050506040513d6020811015611c3157600080fd5b5051905090565b60408051630debfda360e41b8152336004820152905173183faff6997c98a812a3b98748fc80241d08f3129163debfda30916024808301926020929190829003018186803b158015611c8957600080fd5b505afa158015611c9d573d6000803e3d6000fd5b505050506040513d6020811015611cb357600080fd5b5051611cf6576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054611d62576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015611db8576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611e525780601f10611e2757610100808354040283529160200191611e52565b820191906000526020600020905b815481529060010190602001808311611e3557829003601f168201915b5050506001600160e01b0319861660009081526001602081905260408220828155949550909250611e8691508301826157b6565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b60208310611ece5780518252601f199092019160209182019101611eaf565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611f30576040519150601f19603f3d011682016040523d82523d6000602084013e611f35565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1611f9481613dc5565b50505050565b73183faff6997c98a812a3b98748fc80241d08f31281565b60009182526007602090815260408084206001600160a01b0390931684529190529020546001600160801b0380821692600160801b9092041690565b611ff6613de2565b60006120028383613e35565b6015549091506120129082613724565b601555604080518581526020810183905281517f754fa5a3ace0438b80ec651f7d61e44f761a808ebd17d7ce70da619399611a08929181900390910190a150505050565b61205e6138aa565b6001600160e01b031981166000908152600160205260409020546120c9576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b03198116600090815260016020819052604082208281559190612139908301826157b6565b505050565b60006121518261214c613e52565b613e72565b92915050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156121f35780601f106121c8576101008083540402835291602001916121f3565b820191906000526020600020905b8154815290600101906020018083116121d657829003601f168201915b5050505050905082565b60045481565b600054600160b01b900460ff16806122255750600054600160a81b900460ff16155b156122e85761223261394e565b6020546001600160a01b03161561227e576040805162461bcd60e51b815260206004820152600b60248201526a185b1c9958591e481cd95d60aa1b604482015290519081900360640190fd5b6001600160a01b0381166122c8576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b602080546001600160a01b0319166001600160a01b0383161790556122f3565b6122f3600036613983565b50565b601254601354601454601554601654601754601854601954601a54909192939495969798565b60008061232a858585613e95565b6000958652600a602090815260408088206001600160a01b039788168952825280882095909616875293909352505091205490916101009091046001600160801b031690565b612378613b13565b6002805414156123bd576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b600280556123c96136bd565b5060005b82811015612401576123f98484838181106123e457fe5b905060200201356001600160a01b0316613ed7565b6001016123cd565b50600061240c613909565b90506124188282613f23565b612459576040805162461bcd60e51b815260206004820152600d60248201526c6e6f7420636c61696d61626c6560981b604482015290519081900360640190fd5b601d546040805163712441d960e11b81523360048201818152602483019384526044830188905260009485946001600160a01b039091169363e24883b293928b928b92606401846020850280828437600081840152601f19601f82011690508083019250505094505050505060006040518083038186803b1580156124dd57600080fd5b505afa1580156124f1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561251a57600080fd5b8101908080516040519392919084600160201b82111561253957600080fd5b90830190602082018581111561254e57600080fd5b82518660208202830111600160201b8211171561256a57600080fd5b82525081516020918201928201910280838360005b8381101561259757818101518382015260200161257f565b50505050919091016040525060200151929450919250600091506125bb9050613e52565b905060005b868110156126f65760008888838181106125d657fe5b905060200201356001600160a01b0316905060008583815181106125f657fe5b60200260200101519050600061260e83838b88613f45565b9050816001600160a01b0316836001600160a01b0316146126375761263582838b88613f45565b015b60408051808201909152601881527f636c61696d656420616d6f756e7420746f6f20736d616c6c000000000000000060208201526126789082908890613fe9565b905080156126eb57601f546040805163b760faf960e01b81526001600160a01b0385811660048301529151919092169163b760faf991849160248082019260009290919082900301818588803b1580156126d157600080fd5b505af11580156126e5573d6000803e3d6000fd5b50505050505b5050506001016125c0565b5061270c336127058489614080565b60006140d9565b5050600160025550612139905061385e565b600081612729613db4565b111580156127455750600f5461274190611779613909565b8211155b61278d576040805162461bcd60e51b81526020600482015260146024820152730d2dcecc2d8d2c840e4caeec2e4c840cae0dec6d60631b604482015290519081900360640190fd5b612799600f84846141f4565b9392505050565b600054600160a01b900460ff16156127f6576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b601f546001600160a01b031681565b6060806060600080612878613909565b90506128848682613f23565b9150818061289e5750808614801561289e57506004548610155b156128c85760006128b188886000614287565b805160408201516060909201519097509095509350505b5092959194509250565b6128da613de2565b86158015906128e95750885115155b6128ef57fe5b6000838152600c6020526040812082905561290a8584613e35565b905060008a5167ffffffffffffffff8111801561292657600080fd5b50604051908082528060200260200182016040528015612950578160200160208202803683370190505b509050818160008151811061296157fe5b602002602001018181525050888a60008151811061297b57fe5b60209081029190910101528a51600019015b60008c828151811061299b57fe5b602002602001015190506129f58c83815181106129b457fe5b60200260200101518d6000815181106129c957fe5b6020026020010151856000815181106129de57fe5b602002602001015161484a9092919063ffffffff16565b838381518110612a0157fe5b60209081029190910181019190915260008881526007825260408082206001600160a01b0385168352909252208351612a4d90859085908110612a4057fe5b602002602001015161494a565b81546001600160801b031981166001600160801b039182169290920116178155601f5460408051631257fcdb60e31b81526001600160a01b038581166004830152602482018a9052915160009392909216916392bfe6d891604480820192602092909190829003018186803b158015612ac557600080fd5b505afa158015612ad9573d6000803e3d6000fd5b505050506040513d6020811015612aef57600080fd5b50519050612b07612b0282612710614080565b61494a565b82546001600160801b03918216600160801b0291161782558451859085908110612b2d57fe5b60209081029190910181015160008b81526009835260408082206001600160a01b03881680845290855281832080549094019093558c82526008845280822092825291909252902054612ba05760008981526008602090815260408083206001600160a01b038716845290915290208190555b83612bad57505050612c1f565b848481518110612bb957fe5b602002602001015185600081518110612bce57fe5b6020026020010181815103915081815250508d8481518110612bec57fe5b60200260200101518e600081518110612c0157fe5b6020908102919091010180519190910390525050506000190161298d565b6000868152600d60205260409020805484019055601254612c409084613724565b601281905550876001600160a01b03167f8b2bc56c62594afde5b520e83e1ca19ebd071798db21382e328014f47b31ce578a8e85604051808481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015612cbe578181015183820152602001612ca6565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015612cfd578181015183820152602001612ce5565b505050509050019550505050505060405180910390a2505050505050505050505050565b612d29611b72565b6001600160a01b0316336001600160a01b031614612d85576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b612dbe612db983836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b81525061498e565b614ab2565b612dc88282614ad6565b5050565b6000612dd6613b13565b600280541415612e1b576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b600280556000805b83811015612e6357848482818110612e3757fe5b90506020020135821015612e5b57848482818110612e5157fe5b9050602002013591505b600101612e23565b50612e713386836000614c21565b60016002559150612799905061385e565b6000612e8c613b13565b600280541415612ed1576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b600280558484612ee18282613b6a565b612eed87878787614c21565b60016002559250612f00915061385e9050565b949350505050565b60105490565b6060600080612f1b6135fd565b909250905060018282030160008167ffffffffffffffff81118015612f3f57600080fd5b50604051908082528060200260200182016040528015612f69578160200160208202803683370190505b5090506000805b83811015613016576000612f88898389016001614287565b905060005b81606001515181101561300c5781606001518181518110612faa57fe5b6020026020010151158015612fd65750600082604001518281518110612fcc57fe5b6020026020010151115b15613004576001858481518110612fe957fe5b9115156020928302919091019091015260019093019261300c565b600101612f8d565b5050600101612f70565b508067ffffffffffffffff8111801561302e57600080fd5b50604051908082528060200260200182016040528015613058578160200160208202803683370190505b5095506000805b848110156130a95783818151811061307357fe5b6020026020010151156130a15780870188838151811061308f57fe5b60209081029190910101526001909101905b60010161305f565b50505050505050919050565b601d546001600160a01b031681565b6000612151826130d2613909565b600f91906141f4565b60006130e5613b13565b60028054141561312a576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b6002805561313e3387878787876000613bf7565b6001600255905061314d61385e565b95945050505050565b6000908152600d6020908152604080832054600e909252909120549091565b601c546001600160a01b031633148061319857506020546001600160a01b031633145b6131d9576040805162461bcd60e51b815260206004820152600d60248201526c6f6e6c79206d616e616765727360981b604482015290519081900360640190fd5b8060055414613220576040805162461bcd60e51b815260206004820152600e60248201526d1ddc9bdb99c8195c1bd8da081a5960921b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161580159061325c575060065460320181105b156132e0577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d6c1dbee826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156132c757600080fd5b505af11580156132db573d6000803e3d6000fd5b505050505b6000818152600e6020908152604080832054600d909252909120546014549190039061330c9082613724565b6014556040805183815290517f5d05c64f281304391697cf987812e1a736413a062a9bdf39af4102209eb6fa589181900360200190a150600101600555565b600054600160a81b900460ff1681565b61336361366d565b601a8190556017546133759082613724565b601755426019556040805182815290517f187f32a0f765499f15b3bb52ed0aebf6015059f230f2ace7e701e60a476695959181900360200190a150565b6060806000806133c0613909565b90506133cc8782613f23565b915081806133e6575080871480156133e657506004548710155b1561340d5760006133fb898989896000614c9e565b90508060400151945080606001519350505b509450945094915050565b60006118cc613909565b61342a6138aa565b60001960045414613474576040805162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e48195b98589b1959608a1b604482015290519081900360640190fd5b61347c613909565b600481905560408051918252517f1cfb844c44f9325fc9ad6cc6191a4a24b0415137fe300b6c9071523a253f7a089181900360200190a1565b60008281526009602090815260408083206001600160a01b03909416808452938252808320549483526008825280832093835292905220549091565b601e546001600160a01b031690565b60006121518261507a565b6135136138aa565b600054600160a81b900460ff1615613572576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805173183faff6997c98a812a3b98748fc80241d08f312815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b604080518082019091526011815270233a39b7a932bbb0b93226b0b730b3b2b960791b602082015290565b60055460008061360b613909565b905060008111613662576040805162461bcd60e51b815260206004820152601f60248201527f6e6f2065706f6368207769746820636c61696d61626c65207265776172647300604482015290519081900360640190fd5b600181039150509091565b601e546001600160a01b031633146114b4576040805162461bcd60e51b815260206004820152600e60248201526d696e666c6174696f6e206f6e6c7960901b604482015290519081900360640190fd5b601b546000906136cd9034613724565b905047818111156137165761dead6108fc6136e8838561510c565b6040518115909202916000818181858888f19350505050158015613710573d6000803e3d6000fd5b50613720565b8181101561372057fe5b5090565b600082820183811015612799576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006137a360165461379d60145460155461372490919063ffffffff16565b9061510c565b905080156122f35760006137ba476014606461484a565b90506000818311156137cd5750806137d0565b50815b8015612139576016546137e39082613724565b601655601b546137f3908261510c565b601b5560405161dead9082156108fc029083906000818181858888f19350505050158015613825573d6000803e3d6000fd5b506040805182815290517f44d5cd18c37b86a3423952287006d9550ab3cff404d6e899d5499d9ef87100b59181900360200190a1505050565b613866615169565b47146114b4576040805162461bcd60e51b815260206004820152600e60248201526d6f7574206f662062616c616e636560901b604482015290519081900360640190fd5b6138b2611b97565b6001600160a01b0316336001600160a01b0316146114b4576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b601c54604080516339f20c3560e21b815290516000926001600160a01b03169163e7c830d4916004808301926020929190829003018186803b158015611c0757600080fd5b600054600160b01b900460ff161561397b5733301461396957fe5b6000805460ff60b01b191690556114b4565b6114b46138aa565b61398b6138aa565b600082359050600073183faff6997c98a812a3b98748fc80241d08f3126001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156139e057600080fd5b505afa1580156139f4573d6000803e3d6000fd5b505050506040513d6020811015613a0a57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450613a8e939285019201906157fa565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b60035460ff166114b4576040805162461bcd60e51b815260206004820152601a60248201527f726577617264206d616e61676572206465616374697661746564000000000000604482015290519081900360640190fd5b336001600160a01b0383161415613b8057612dc8565b601d546040805163ce2caa5760e01b81523360048201526001600160a01b03858116602483015284811660448301529151919092169163ce2caa57916064808301926000929190829003018186803b158015613bdb57600080fd5b505afa158015613bef573d6000803e3d6000fd5b505050505050565b6000613c0287613ed7565b613c0a6136bd565b506002601f546040805163f683776760e01b81526001600160a01b038c811660048301529151919092169163f6837767916024808301926020929190829003018186803b158015613c5a57600080fd5b505afa158015613c6e573d6000803e3d6000fd5b505050506040513d6020811015613c8457600080fd5b505114613cd8576040805162461bcd60e51b815260206004820152601860248201527f6578706c696369742064656c65676174696f6e206f6e6c790000000000000000604482015290519081900360640190fd5b6000613ce2613909565b905060005b86811015613d9c57613d0b888883818110613cfe57fe5b9050602002013583613f23565b613d1457613d94565b6000613d368b8a8a85818110613d2657fe5b9050602002013589896001614c9e565b90506000613d5a8c8c8c8c87818110613d4b57fe5b90506020020135856001615188565b905080600e60008c8c87818110613d6d57fe5b60209081029290920135835250810191909152604001600020805490910190559390930192505b600101613ce7565b50613da88883856140d9565b50979650505050505050565b600654600090612151906001615400565b3d604051818101604052816000823e8215613dde578181f35b8181fd5b601c546001600160a01b031633146114b4576040805162461bcd60e51b81526020600482015260116024820152706674736f206d616e61676572206f6e6c7960781b604482015290519081900360640190fd5b6000612799613e448385615426565b613e4c6154a5565b906154c4565b60006118cc600454613e6d613e65613db4565b60055461552b565b61552b565b6001600160a01b0382166000908152600b6020526040812054612799908361552b565b6000838152600a602090815260408083206001600160a01b038087168552908352818420908516845290915281205460ff1680612f005750612f008483615542565b6001600160a01b0381166122f3576040805162461bcd60e51b815260206004820152600e60248201526d726563697069656e74207a65726f60901b604482015290519081900360640190fd5b60006004548310158015613f3957506005548310155b80156127995750501190565b600080613f528684613e72565b90505b838111613f9f576000613f6a87836001614287565b90506000613f7c888885856000615188565b6000848152600e6020526040902080548201905593909301925050600101613f55565b506001600160a01b0385166000908152600b6020526040902054600184011115612f00576001600160a01b0385166000908152600b60205260409020600184019055949350505050565b600081848411156140785760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561403d578181015183820152602001614025565b50505050905090810190601f16801561406a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008261408f57506000612151565b8282028284828161409c57fe5b04146127995760405162461bcd60e51b815260040180806020018281038252602181526020018061591e6021913960400191505060405180910390fd5b81156141eb57801561415457601f546040805163b760faf960e01b81526001600160a01b0386811660048301529151919092169163b760faf991859160248082019260009290919082900301818588803b15801561413657600080fd5b505af115801561414a573d6000803e3d6000fd5b50505050506141eb565b6040516000906001600160a01b0385169084908381818185875af1925050503d806000811461419f576040519150601f19603f3d011682016040523d82523d6000602084013e6141a4565b606091505b50509050806141e9576040805162461bcd60e51b815260206004820152600c60248201526b18db185a5b4819985a5b195960a21b604482015290519081900360640190fd5b505b505047601b5550565b6001600160a01b0382166000908152600284016020526040812080545b80156142785781546000199091019082908290811061422c57fe5b6000918252602090912001546201000090046001600160f01b031684106142735781818154811061425957fe5b60009182526020909120015461ffff169250612799915050565b614211565b50505060018301549392505050565b61428f615882565b600061429a8461507a565b90506000806142a76158aa565b6142b18789615542565b156142bf5750505050612799565b60008781526009602090815260408083206001600160a01b038c1684529091529020541515806142ed575085155b1561431f576142fd88888661555e565b915061430a8789846156d4565b6001600160801b031660208201819052151592505b601f546040805163ed475a7960e01b81526001600160a01b038b811660048301526024820188905291516060938493169163ed475a79916044808301926000929190829003018186803b15801561437557600080fd5b505afa158015614389573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260808110156143b257600080fd5b8101908080516040519392919084600160201b8211156143d157600080fd5b9083019060208201858111156143e657600080fd5b82518660208202830111600160201b8211171561440257600080fd5b82525081516020918201928201910280838360005b8381101561442f578181015183820152602001614417565b5050505090500160405260200180516040519392919084600160201b82111561445757600080fd5b90830190602082018581111561446c57600080fd5b82518660208202830111600160201b8211171561448857600080fd5b82525081516020918201928201910280838360005b838110156144b557818101518382015260200161449d565b5050505091909101604052505083519395509193508791506144da90505760006144dd565b60015b60ff160167ffffffffffffffff811180156144f757600080fd5b50604051908082528060200260200182016040528015614521578160200160208202803683370190505b508088525167ffffffffffffffff8111801561453c57600080fd5b50604051908082528060200260200182016040528015614566578160200160208202803683370190505b50602088015286515167ffffffffffffffff8111801561458557600080fd5b506040519080825280602002602001820160405280156145af578160200160208202803683370190505b50604088015286515167ffffffffffffffff811180156145ce57600080fd5b506040519080825280602002602001820160405280156145f8578160200160208202803683370190505b50606088015284156146805789876000015160008151811061461657fe5b60200260200101906001600160a01b031690816001600160a01b03168152505083876020015160008151811061464857fe5b60200260200101818152505082602001516001600160801b0316876040015160008151811061467357fe5b6020026020010181815250505b81511561483d57601f546040805163277166bf60e11b81526001600160a01b038d81166004830152602482018a905291516000939290921691634ee2cd7e91604480820192602092909190829003018186803b1580156146df57600080fd5b505afa1580156146f3573d6000803e3d6000fd5b505050506040513d602081101561470957600080fd5b5051905060005b835181101561483a576000818861472857600061472b565b60015b60ff1601905084828151811061473d57fe5b60200260200101518a60000151828151811061475557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506147bc85838151811061478457fe5b60200260200101516147b686858151811061479b57fe5b60200260200101516127108761484a9092919063ffffffff16565b8e615771565b8a6020015182815181106147cc57fe5b60200260200101818152505061480d8c8684815181106147e857fe5b60200260200101518c60200151848151811061480057fe5b60200260200101516156d4565b6001600160801b03168a60400151828151811061482657fe5b602090810291909101015250600101614710565b50505b5050505050509392505050565b6000808211614893576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b836148a057506000612799565b838302838582816148ad57fe5b0414156148c6578281816148bd57fe5b04915050612799565b60008386816148d157fe5b04905060008487816148df57fe5b06905060008587816148ed57fe5b04905060008688816148fb57fe5b06905061493d61490f88613e4c8685614080565b61177961491c8686614080565b6117796149298987614080565b6117798d6149378c8b614080565b90614080565b9998505050505050505050565b6000600160801b82106137205760405162461bcd60e51b81526004018080602001828103825260278152602001806158f76027913960400191505060405180910390fd5b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156149d25781810151838201526020016149ba565b50505050905090810190601f1680156149ff5780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b8651811015614a6757868181518110614a3557fe5b6020026020010151831415614a5f57858181518110614a5057fe5b60200260200101519150614a67565b600101614a20565b506001600160a01b03811661314d576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b614b0282826040518060400160405280600981526020016824b7333630ba34b7b760b91b81525061498e565b601e60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614b5682826040518060400160405280600b81526020016a233a39b7a6b0b730b3b2b960a91b81525061498e565b601c60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614ba382826040518060400160405280600481526020016315d3985d60e21b81525061498e565b601f60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614bfd82826040518060400160405280601181526020017021b630b4b6a9b2ba3ab826b0b730b3b2b960791b81525061498e565b601d80546001600160a01b0319166001600160a01b03929092169190911790555050565b6000614c2c84613ed7565b614c346136bd565b506000614c3f613909565b9050808410158015614c515750600081115b15614c5d576001810393505b614c678482613f23565b614c75576000915050612f00565b614c88868686614c83613e52565b613f45565b9150614c958583856140d9565b50949350505050565b614ca6615882565b6000614cb18661507a565b6040805160208088028281018201909352878252929350869290918891849182918501908490808284376000920191909152505050908452508067ffffffffffffffff81118015614d0157600080fd5b50604051908082528060200260200182016040528015614d2b578160200160208202803683370190505b5060208401528067ffffffffffffffff81118015614d4857600080fd5b50604051908082528060200260200182016040528015614d72578160200160208202803683370190505b5060408401528067ffffffffffffffff81118015614d8f57600080fd5b50604051908082528060200260200182016040528015614db9578160200160208202803683370190505b50606084015260005b8181101561506e57614df088888884818110614dda57fe5b905060200201356001600160a01b03168b613e95565b84606001518281518110614e0057fe5b60200260200101901515908115158152505083606001518181518110614e2257fe5b602002602001015115614eb75784614eb2576000888152600a6020526040812090888884818110614e4f57fe5b602090810292909201356001600160a01b039081168452838301949094525060409182016000908120938d16815292905290819020549085015180516101009092046001600160801b03169183908110614ea557fe5b6020026020010181815250505b615066565b886001600160a01b0316878783818110614ecd57fe5b905060200201356001600160a01b03166001600160a01b03161415614f1857614ef789898561555e565b84602001518281518110614f0757fe5b602002602001018181525050615010565b601f546000906001600160a01b031663e64767aa8b8a8a86818110614f3957fe5b905060200201356001600160a01b0316876040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001828152602001935050505060206040518083038186803b158015614f9e57600080fd5b505afa158015614fb2573d6000803e3d6000fd5b505050506040513d6020811015614fc857600080fd5b50519050614ff2888884818110614fdb57fe5b905060200201356001600160a01b0316828b615771565b8560200151838151811061500257fe5b602002602001018181525050505b6150408888888481811061502057fe5b905060200201356001600160a01b03168660200151848151811061480057fe5b6001600160801b03168460400151828151811061505957fe5b6020026020010181815250505b600101614dc2565b50505095945050505050565b6000818152600c60205260409020548061169a57601c5460408051637976d5ad60e11b81526004810185905290516001600160a01b039092169163f2edab5a91602480820192602092909190829003018186803b1580156150da57600080fd5b505afa1580156150ee573d6000803e3d6000fd5b505050506040513d602081101561510457600080fd5b505192915050565b600082821115615163576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006118cc60165461379d60135460185461510c90919063ffffffff16565b600080805b8451518110156153f557846060015181815181106151a757fe5b6020026020010151156151b9576153ed565b6000856000015182815181106151cb57fe5b60209081029190910181015160008981526007835260408082206001600160a01b038416835284528120928901518051929450909161520f919086908110612a4057fe5b90506001600160801b038116156152405781546001600160801b03600160801b808304821684900382160291161782555b600061525589604001518681518110612a4057fe5b90506001600160801b038116156152985782546001600160801b031981166001600160801b03918216839003821617845560138054918316918201905595909501945b8715615382576000600a60008c81526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002060008e6001600160a01b03166001600160a01b0316815260200190815260200160002090508060000160009054906101000a900460ff1615615351576040805162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e4818db185a5b5959608a1b604482015290519081900360640190fd5b8054600160ff199091161770ffffffffffffffffffffffffffffffff0019166101006001600160801b038416021790555b8a6001600160a01b03168c6001600160a01b0316856001600160a01b03167f6ec685171a9028d19dc155a48e7824e3c68b03bc8995410e006abe3cbbeb3e2d8d8560405180838152602001826001600160801b031681526020019250505060405180910390a4505050505b60010161518d565b509695505050505050565b600080838311156154165750600090508061541f565b50600190508183035b9250929050565b6000806154416201517f60195461372490919063ffffffff16565b90508084111561548c576040805162461bcd60e51b81526020600482015260116024820152706166746572206461696c79206379636c6560781b604482015290519081900360640190fd5b61549a83613e4c838761510c565b600101949350505050565b60006118cc60155461379d60125460175461510c90919063ffffffff16565b600080821161551a576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161552357fe5b049392505050565b60008183101561553b5781612799565b5090919050565b6001600160a01b03166000908152600b60205260409020541190565b601f5460408051634181ad4160e11b81526001600160a01b038681166004830152602482018590529151600093849316916383035a82916044808301926020929190829003018186803b1580156155b457600080fd5b505afa1580156155c8573d6000803e3d6000fd5b505050506040513d60208110156155de57600080fd5b5051601f5460408051631257fcdb60e31b81526001600160a01b03898116600483015260248201889052915193945060009391909216916392bfe6d8916044808301926020929190829003018186803b15801561563a57600080fd5b505afa15801561564e573d6000803e3d6000fd5b505050506040513d602081101561566457600080fd5b50519050818114156156855761567c81612710614080565b92505050612799565b81811161568e57fe5b600082156156a4576156a283612710614080565b015b60006156b2600f89896141f4565b905080156153f5576156c684840382614080565b909101979650505050505050565b6000816156e357506000612799565b60008481526007602090815260408083206001600160a01b0387168452909152902080546001600160801b03168061572057600092505050612799565b8154600160801b90046001600160801b031684811415615744575091506127999050565b806001600160801b0316851061575657fe5b61188c612b026001600160801b03848116908890851661484a565b60008261578057506000612799565b60008061578f600f87866141f4565b9050612710811015614c95576157aa85612710839003614080565b90910195945050505050565b50805460018160011615610100020316600290046000825580601f106157dc57506122f3565b601f0160209004906000526020600020908101906122f391906158c1565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826158305760008555615876565b82601f1061584957805160ff1916838001178555615876565b82800160010185558215615876579182015b8281111561587657825182559160200191906001019061585b565b506137209291506158c1565b6040518060800160405280606081526020016060815260200160608152602001606081525090565b604080518082019091526000808252602082015290565b5b8082111561372057600081556001016158c256fe5265656e7472616e637947756172643a207265656e7472616e742063616c6c0053616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220ee3059e63e6c3a94012049fcb62f642ee29786a0e8040678dbc0fbd25d1bf8fe64736f6c63430007060033",
|
|
1397
1384
|
"linkReferences": {
|
|
1398
1385
|
"contracts/tokenPools/lib/DataProviderFee.sol": {
|
|
1399
1386
|
"DataProviderFee": [
|
|
1400
1387
|
{
|
|
1401
1388
|
"length": 20,
|
|
1402
|
-
"start":
|
|
1389
|
+
"start": 6103
|
|
1403
1390
|
},
|
|
1404
1391
|
{
|
|
1405
1392
|
"length": 20,
|
|
1406
|
-
"start":
|
|
1393
|
+
"start": 6888
|
|
1407
1394
|
}
|
|
1408
1395
|
]
|
|
1409
1396
|
}
|
|
@@ -1413,11 +1400,11 @@
|
|
|
1413
1400
|
"DataProviderFee": [
|
|
1414
1401
|
{
|
|
1415
1402
|
"length": 20,
|
|
1416
|
-
"start":
|
|
1403
|
+
"start": 5574
|
|
1417
1404
|
},
|
|
1418
1405
|
{
|
|
1419
1406
|
"length": 20,
|
|
1420
|
-
"start":
|
|
1407
|
+
"start": 6359
|
|
1421
1408
|
}
|
|
1422
1409
|
]
|
|
1423
1410
|
}
|
|
@@ -708,19 +708,6 @@
|
|
|
708
708
|
"stateMutability": "view",
|
|
709
709
|
"type": "function"
|
|
710
710
|
},
|
|
711
|
-
{
|
|
712
|
-
"inputs": [],
|
|
713
|
-
"name": "getExpectedBalance",
|
|
714
|
-
"outputs": [
|
|
715
|
-
{
|
|
716
|
-
"internalType": "uint256",
|
|
717
|
-
"name": "",
|
|
718
|
-
"type": "uint256"
|
|
719
|
-
}
|
|
720
|
-
],
|
|
721
|
-
"stateMutability": "view",
|
|
722
|
-
"type": "function"
|
|
723
|
-
},
|
|
724
711
|
{
|
|
725
712
|
"inputs": [],
|
|
726
713
|
"name": "getInflationAddress",
|