0 txs
0 calls
constructor
constructor(uint256 _fee, address _sphynx)
functions
autoVault
viewfunction autoVault() view returns (address)
basewhitelist
viewfunction basewhitelist(address) view returns (bool)
collectOtherToken
viewfunction collectOtherToken(uint256) view returns (address)
contributionPeriod
viewfunction contributionPeriod() view returns (uint256)
currentFee
viewfunction currentFee() view returns (uint256)
currentPresaleId
viewfunction currentPresaleId() view returns (uint256)
defaultRouter
viewfunction defaultRouter() view returns (address)
endTime
viewfunction endTime(uint256) view returns (uint256)
feeWallet
viewfunction feeWallet() view returns (address)
firstVestingAmount
viewfunction firstVestingAmount(uint256) view returns (uint256)
getAvailableAmount
viewfunction getAvailableAmount(uint256 _saleId, address _contributor) view returns (uint256 availableAmount)
getDepositAmount
viewfunction getDepositAmount(uint256 _saleId) view returns (uint256 amount)
hardCap
viewfunction hardCap(uint256) view returns (uint256)
ifCollectOtherToken
viewfunction ifCollectOtherToken(uint256) view returns (bool)
isClaimed
viewfunction isClaimed(uint256, address) view returns (bool)
isClosed
viewfunction isClosed(uint256) view returns (bool)
isDeposited
viewfunction isDeposited(uint256) view returns (bool)
isGold
viewfunction isGold(uint256) view returns (bool)
isVestingToken
viewfunction isVestingToken(uint256) view returns (bool)
iswhitelist
viewfunction iswhitelist(uint256) view returns (bool)
iswhitelist1
viewfunction iswhitelist1(uint256) view returns (bool)
iswhitelist2
viewfunction iswhitelist2(uint256) view returns (bool)
liquidityLockTime
viewfunction liquidityLockTime(uint256) view returns (uint256)
liquidityRate
viewfunction liquidityRate(uint256) view returns (uint256)
masterChef
viewfunction masterChef() view returns (address)
maxContributeRate
viewfunction maxContributeRate(uint256) view returns (uint256)
maxPresaleLength
viewfunction maxPresaleLength() view returns (uint256)
minContributeRate
viewfunction minContributeRate(uint256) view returns (uint256)
minLiquidityLock
viewfunction minLiquidityLock() view returns (uint256)
outsideContributionBalance
viewfunction outsideContributionBalance() view returns (uint256)
outsideContributionCount
viewfunction outsideContributionCount() view returns (uint256)
owner
viewfunction owner() view returns (address)
performanceFee
viewfunction performanceFee() view returns (uint256)
performanceFeeForToken
viewfunction performanceFeeForToken() view returns (uint256)
presaleEndTime
viewfunction presaleEndTime(uint256) view returns (uint256)
presaleStatus
viewfunction presaleStatus(uint256) view returns (bool)
publicRate
viewfunction publicRate(uint256) view returns (uint256)
raiseFeeWallet
viewfunction raiseFeeWallet() view returns (address)
raiseFeeWalletForToken
viewfunction raiseFeeWalletForToken() view returns (address)
routerId
viewfunction routerId(uint256) view returns (address)
routers
viewfunction routers(address) view returns (bool)
softCap
viewfunction softCap(uint256) view returns (uint256)
startTime
viewfunction startTime(uint256) view returns (uint256)
tier1Rate
viewfunction tier1Rate(uint256) view returns (uint256)
tier1Time
viewfunction tier1Time(uint256) view returns (uint256)
tier2Rate
viewfunction tier2Rate(uint256) view returns (uint256)
tier2Time
viewfunction tier2Time(uint256) view returns (uint256)
totalContributionBNB
viewfunction totalContributionBNB(uint256) view returns (uint256)
totalContributionToken
viewfunction totalContributionToken(uint256) view returns (uint256)
userClaimedToken
viewfunction userClaimedToken(uint256, address) view returns (uint256)
userContributionBNB
viewfunction userContributionBNB(uint256, address) view returns (uint256)
userContributionToken
viewfunction userContributionToken(uint256, address) view returns (uint256)
vestingPercents
viewfunction vestingPercents(uint256) view returns (uint256)
vestingPeriods
viewfunction vestingPeriods(uint256) view returns (uint256)
whitelist1
viewfunction whitelist1(uint256, address) view returns (bool)
whitelist2
viewfunction whitelist2(uint256, address) view returns (bool)
whitelistFee
viewfunction whitelistFee() view returns (uint256)
withdrawFlag
viewfunction withdrawFlag(uint256) view returns (bool)
addRouter
nonpayablefunction addRouter(address _newRouter)
claimToken
payablefunction claimToken(uint256 _saleId) payable
closePresale
nonpayablefunction closePresale(uint256 _saleId)
contribute
payablefunction contribute(uint256 _saleId, uint256 _amount) payable
createPresale
payablefunction createPresale(tuple pInfo) payable
depositToken
nonpayablefunction depositToken(uint256 _saleId)
emergencyWithdraw
payablefunction emergencyWithdraw(uint256 _saleId) payable
enablewhitelist
payablefunction enablewhitelist(uint256 _saleId, bool value) payable
finalize
nonpayablefunction finalize(uint256 _saleId)
renounceOwnership
nonpayablefunction renounceOwnership()
setDefaultRouter
nonpayablefunction setDefaultRouter(address _defaultRouter)
setOutsideContributionBalance
nonpayablefunction setOutsideContributionBalance(uint256 _balance)
setStaticFee
nonpayablefunction setStaticFee(uint256 _fee)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateAutoVault
nonpayablefunction updateAutoVault(address _autoVault)
updateBasewhitelist
nonpayablefunction updateBasewhitelist(address[] _whitelists, bool _value)
updateContributionPeriod
nonpayablefunction updateContributionPeriod(uint256 _period)
updateFeeWallet
nonpayablefunction updateFeeWallet(address _feewallet)
updateMasterChef
nonpayablefunction updateMasterChef(address _masterChef)
updateMaxPresaleLength
nonpayablefunction updateMaxPresaleLength(uint256 _value)
updateMinLiquidityLock
nonpayablefunction updateMinLiquidityLock(uint256 _value)
updateOutsideContributionCount
nonpayablefunction updateOutsideContributionCount(uint256 _count)
updatePerformanceFee
nonpayablefunction updatePerformanceFee(uint256 _performanceFee)
updatePerformanceFeeToken
nonpayablefunction updatePerformanceFeeToken(uint256 _performanceFeeForToken)
updateRaiseFeeWallet
nonpayablefunction updateRaiseFeeWallet(address _raiseFeeWallet)
updateRaiseFeeWalletToken
nonpayablefunction updateRaiseFeeWalletToken(address _raiseFeeWalletForToken)
updateSphynx
nonpayablefunction updateSphynx(address _sphynx)
updatewhitelist
nonpayablefunction updatewhitelist(uint256 _saleId, address[] _whitelists, uint256 _class)
updatewhitelistFee
nonpayablefunction updatewhitelistFee(uint256 _whitelistFee)
withdrawLiquidity
nonpayablefunction withdrawLiquidity(uint256 _saleId)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
SaleClosed
event SaleClosed(uint256 saleId)
SaleCreated
event SaleCreated(uint256 saleId, uint256 startTime, uint256 endTime, address token)
errors
No errors.
creation bytecode
0x608060405260af60375560af6038556005603b5562278d00603c556203f480603d5562ed4e00603e553480156200003557600080fd5b5060405162005aed38038062005aed833981016040819052620000589162000107565b6200006333620000b7565b6001805560369190915560328054336001600160a01b0319918216811790925560338054821683179055603480548216909217909155604180549091166001600160a01b0390921691909117905562000146565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080604083850312156200011b57600080fd5b825160208401519092506001600160a01b03811681146200013b57600080fd5b809150509250929050565b61599780620001566000396000f3fe6080604052600436106104c95760003560e01c806380dd9a1f11610276578063c4eea66f1161014f578063e82dca74116100c1578063f25f4b5611610085578063f25f4b56146110f6578063f2fde38b14611116578063f84d473f14611136578063f941ec7214611163578063fa31de5514611193578063fc015cc3146111b357600080fd5b8063e82dca7414611023578063e89813301461105b578063e911b9631461107b578063eac61d241461109b578063ee1ad3d3146110bb57600080fd5b8063d354ae8611610113578063d354ae8614610f5a578063d45836ce14610f8a578063d5c78a2814610f9d578063d7ffd18214610fcd578063da3c300d14610fed578063e206446a1461100357600080fd5b8063c4eea66f14610e6f578063c5204d8f14610ea5578063c5db2b1d14610ed2578063cebb181814610eff578063d2ef079514610f1f57600080fd5b80639bb73f5f116101e8578063a9e7c2e5116101ac578063a9e7c2e514610d81578063b1bc547d14610d94578063b4428dae14610dcc578063b70908f114610e02578063b914c43b14610e2f578063c46f085914610e4f57600080fd5b80639bb73f5f14610cdb578063a2030ac714610cfb578063a69bb45d14610d28578063a6a2dc6414610d3e578063a743e7b914610d5457600080fd5b80638c5909171161023a5780638c59091714610c215780638da5cb5b14610c345780638f66fa3614610c52578063968743e214610c685780639958f30814610c985780639988ab1e14610cc557600080fd5b806380dd9a1f14610b5e57806383033df214610b8e578063872b48c514610bbe5780638778878214610bde57806389637d9b14610bf457600080fd5b806344c816fa116103a85780636215be771161031a578063715018a6116102de578063715018a614610a7b5780637388cf9c14610a9057806374c544bb14610ac05780637a366d1414610ae05780637c77658c14610b0d5780637f6e1b7014610b2357600080fd5b80636215be77146109c857806366718524146109e85780636688ffe714610a08578063681b3d4914610a355780636c71b79f14610a4b57600080fd5b806352df107f1161036c57806352df107f146108f85780635312ea8e1461091857806355a2b5c81461092b578063575a86b21461095857806357e45562146109785780635e6b3a891461099857600080fd5b806344c816fa1461082e5780634878f78f1461085b5780634ab25e9c1461088b5780634f05824d146108ab5780635022b554146108d857600080fd5b806325cbe6ef1161044157806336534696116104055780633653469614610751578063378de45b146107715780633dd69636146107915780633ec4c968146107a75780633fc69a4c146107d457806342d005011461080157600080fd5b806325cbe6ef1461065357806326d181a3146106935780632a35c911146106b35780632ed0dac2146106eb578063311c09661461071b57600080fd5b80630c8be95f116104935780630c8be95f1461059057806314243147146105bd5780631753fac1146105d057806317fdd4f8146105e65780631d458d5d1461060657806324ca984e1461063357600080fd5b8062539af0146104ce578062c1bce4146104f057806305261aea146105105780630559f174146105305780630a861f2a14610570575b600080fd5b3480156104da57600080fd5b506104ee6104e93660046153ac565b6111d3565b005b3480156104fc57600080fd5b506104ee61050b3660046154e2565b611228565b34801561051c57600080fd5b506104ee61052b36600461548b565b61145d565b34801561053c57600080fd5b5061055d61054b36600461548b565b600a6020526000908152604090205481565b6040519081526020015b60405180910390f35b34801561057c57600080fd5b506104ee61058b36600461548b565b6118d0565b34801561059c57600080fd5b5061055d6105ab36600461548b565b601e6020526000908152604090205481565b6104ee6105cb366004615472565b611d4c565b3480156105dc57600080fd5b5061055d603c5481565b3480156105f257600080fd5b5061055d6106013660046154bd565b61240d565b34801561061257600080fd5b5061055d61062136600461548b565b601f6020526000908152604090205481565b34801561063f57600080fd5b506104ee61064e3660046153ac565b612517565b34801561065f57600080fd5b5061068361066e36600461548b565b60296020526000908152604090205460ff1681565b6040519015158152602001610567565b34801561069f57600080fd5b506104ee6106ae36600461548b565b612565565b3480156106bf57600080fd5b506033546106d3906001600160a01b031681565b6040516001600160a01b039091168152602001610567565b3480156106f757600080fd5b5061068361070636600461548b565b602c6020526000908152604090205460ff1681565b34801561072757600080fd5b5061055d6107363660046154bd565b60208080526000928352604080842090915290825290205481565b34801561075d57600080fd5b506104ee61076c36600461548b565b612594565b34801561077d57600080fd5b5061055d61078c36600461548b565b6125c3565b34801561079d57600080fd5b5061055d60395481565b3480156107b357600080fd5b5061055d6107c236600461548b565b60056020526000908152604090205481565b3480156107e057600080fd5b5061055d6107ef36600461548b565b60096020526000908152604090205481565b34801561080d57600080fd5b5061055d61081c36600461548b565b60246020526000908152604090205481565b34801561083a57600080fd5b5061055d61084936600461548b565b60086020526000908152604090205481565b34801561086757600080fd5b5061068361087636600461548b565b60156020526000908152604090205460ff1681565b34801561089757600080fd5b506104ee6108a636600461548b565b612742565b3480156108b757600080fd5b5061055d6108c636600461548b565b60116020526000908152604090205481565b3480156108e457600080fd5b506104ee6108f33660046153ac565b612771565b34801561090457600080fd5b506035546106d3906001600160a01b031681565b6104ee61092636600461548b565b6127bd565b34801561093757600080fd5b5061055d61094636600461548b565b60106020526000908152604090205481565b34801561096457600080fd5b50603f546106d3906001600160a01b031681565b34801561098457600080fd5b506104ee6109933660046153ac565b612968565b3480156109a457600080fd5b506106836109b336600461548b565b60226020526000908152604090205460ff1681565b3480156109d457600080fd5b506104ee6109e336600461548b565b6129b4565b3480156109f457600080fd5b506104ee610a033660046153ac565b612bb8565b348015610a1457600080fd5b5061055d610a2336600461548b565b60026020526000908152604090205481565b348015610a4157600080fd5b5061055d603b5481565b348015610a5757600080fd5b50610683610a6636600461548b565b601c6020526000908152604090205460ff1681565b348015610a8757600080fd5b506104ee612c04565b348015610a9c57600080fd5b50610683610aab36600461548b565b601a6020526000908152604090205460ff1681565b348015610acc57600080fd5b506034546106d3906001600160a01b031681565b348015610aec57600080fd5b5061055d610afb36600461548b565b60136020526000908152604090205481565b348015610b1957600080fd5b5061055d60385481565b348015610b2f57600080fd5b50610683610b3e3660046154bd565b601760209081526000928352604080842090915290825290205460ff1681565b348015610b6a57600080fd5b50610683610b793660046153ac565b600b6020526000908152604090205460ff1681565b348015610b9a57600080fd5b50610683610ba936600461548b565b601b6020526000908152604090205460ff1681565b348015610bca57600080fd5b506104ee610bd936600461548b565b612c3a565b348015610bea57600080fd5b5061055d60375481565b348015610c0057600080fd5b5061055d610c0f36600461548b565b60126020526000908152604090205481565b6104ee610c2f366004615557565b612c69565b348015610c4057600080fd5b506000546001600160a01b03166106d3565b348015610c5e57600080fd5b5061055d603a5481565b348015610c7457600080fd5b50610683610c833660046153ac565b60196020526000908152604090205460ff1681565b348015610ca457600080fd5b5061055d610cb336600461548b565b60256020526000908152604090205481565b348015610cd157600080fd5b5061055d603e5481565b348015610ce757600080fd5b506104ee610cf63660046153ac565b61309a565b348015610d0757600080fd5b5061055d610d1636600461548b565b60036020526000908152604090205481565b348015610d3457600080fd5b5061055d603d5481565b348015610d4a57600080fd5b5061055d60315481565b348015610d6057600080fd5b5061055d610d6f36600461548b565b60066020526000908152604090205481565b6104ee610d8f36600461548b565b6130e6565b348015610da057600080fd5b5061055d610daf3660046154bd565b602160209081526000928352604080842090915290825290205481565b348015610dd857600080fd5b506106d3610de736600461548b565b6027602052600090815260409020546001600160a01b031681565b348015610e0e57600080fd5b5061055d610e1d36600461548b565b600f6020526000908152604090205481565b348015610e3b57600080fd5b506104ee610e4a3660046153ac565b613469565b348015610e5b57600080fd5b506104ee610e6a36600461548b565b6134b5565b348015610e7b57600080fd5b506106d3610e8a36600461548b565b600c602052600090815260409020546001600160a01b031681565b348015610eb157600080fd5b5061055d610ec036600461548b565b60076020526000908152604090205481565b348015610ede57600080fd5b5061055d610eed36600461548b565b60146020526000908152604090205481565b348015610f0b57600080fd5b506104ee610f1a36600461548b565b6134e4565b348015610f2b57600080fd5b50610683610f3a3660046154bd565b602d60209081526000928352604080842090915290825290205460ff1681565b348015610f6657600080fd5b50610683610f7536600461548b565b60286020526000908152604090205460ff1681565b6104ee610f98366004615532565b613513565b348015610fa957600080fd5b50610683610fb836600461548b565b602e6020526000908152604090205460ff1681565b348015610fd957600080fd5b506104ee610fe836600461548b565b6135b5565b348015610ff957600080fd5b5061055d60365481565b34801561100f57600080fd5b506104ee61101e3660046153e6565b6135e4565b34801561102f57600080fd5b5061055d61103e3660046154bd565b601d60209081526000928352604080842090915290825290205481565b34801561106757600080fd5b506104ee61107636600461548b565b613670565b34801561108757600080fd5b506104ee61109636600461548b565b61369f565b3480156110a757600080fd5b506104ee6110b636600461548b565b613837565b3480156110c757600080fd5b506106836110d63660046154bd565b601860209081526000928352604080842090915290825290205460ff1681565b34801561110257600080fd5b506032546106d3906001600160a01b031681565b34801561112257600080fd5b506104ee6111313660046153ac565b613866565b34801561114257600080fd5b5061055d61115136600461548b565b60236020526000908152604090205481565b34801561116f57600080fd5b5061068361117e36600461548b565b60266020526000908152604090205460ff1681565b34801561119f57600080fd5b506040546106d3906001600160a01b031681565b3480156111bf57600080fd5b506104ee6111ce3660046153ac565b613901565b6000546001600160a01b031633146112065760405162461bcd60e51b81526004016111fd906156c4565b60405180910390fd5b603580546001600160a01b0319166001600160a01b0392909216919091179055565b6000838152602a60205260409020546001600160a01b0316331461125e5760405162461bcd60e51b81526004016111fd90615699565b6000838152601a602052604090205460ff166112b45760405162461bcd60e51b81526020600482015260156024820152741dda1a5d195b1a5cdd0b5b9bdd0b595b98589b1959605a1b60448201526064016111fd565b8060011415611345576000838152601b60205260408120805460ff191660011790555b825181101561133f5760008382815181106112f4576112f4615912565b60209081029190910181015160008781526017835260408082206001600160a01b039093168252919092529020805460ff191660011790555080611337816158e1565b9150506112d7565b50505050565b80600214156113d0576000838152601c60205260408120805460ff191660011790555b825181101561133f57600083828151811061138557611385615912565b60209081029190910181015160008781526018835260408082206001600160a01b039093168252919092529020805460ff1916600117905550806113c8816158e1565b915050611368565b60005b825181101561133f5760008382815181106113f0576113f0615912565b60209081029190910181015160008781526017835260408082206001600160a01b03909316808352928452808220805460ff19908116909155898352601885528183209383529290935291909120805490911690555080611450816158e1565b9150506113d3565b505050565b600260015414156114805760405162461bcd60e51b81526004016111fd90615723565b60026001556000818152602a60205260409020546001600160a01b031633146114bb5760405162461bcd60e51b81526004016111fd90615699565b6000818152602e602052604090205460ff16156114ea5760405162461bcd60e51b81526004016111fd906156f9565b6000818152600860205260409020544210158061153057506000818152601e60209081526040808320546002835281842054601490935292205461152d9161394d565b11155b61156d5760405162461bcd60e51b815260206004820152600e60248201526d70726573616c652d61637469766560901b60448201526064016111fd565b60008181526029602052604090205460ff16156115bf5760405162461bcd60e51b815260206004820152601060248201526f616c72656164792d66696e696c697a6560801b60448201526064016111fd565b6000818152602960209081526040808320805460ff191660011790556013825280832054601e8352818420546009909352922042905510801590611892576037546000838152601e6020526040812054909161162991612710916116239190613960565b9061396c565b60008481526026602052604090205490915060ff16611682576033546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561167c573d6000803e3d6000fd5b506116af565b6000838152602760205260409020546033546001600160a01b03918216916116ad9183911684613978565b505b6000838152601e60205260408120546116c8908361394d565b600085815260046020908152604080832054603854601f909352908320549394506001600160a01b03169283929161170891612710916116239190613960565b9050801561187d576034546040516370a0823160e01b81526001600160a01b0391821660048201526000918416906370a082319060240160206040518083038186803b15801561175757600080fd5b505afa15801561176b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178f91906154a4565b6034549091506117ac906001600160a01b03858116911684613978565b6034546040516370a0823160e01b81526001600160a01b0391821660048201526000918516906370a082319060240160206040518083038186803b1580156117f357600080fd5b505afa158015611807573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182b91906154a4565b905080611838848461575a565b1461187a5760405162461bcd60e51b815260206004820152601260248201527173686f756c642d6578636c7564652d66656560701b60448201526064016111fd565b50505b6118888488836139db565b50505050506118c8565b600061189d836125c3565b6000848152600460205260409020549091506001600160a01b0316806118c4813385613978565b5050505b505060018055565b600260015414156118f35760405162461bcd60e51b81526004016111fd90615723565b60026001556000818152602a60205260409020546001600160a01b0316331461192e5760405162461bcd60e51b81526004016111fd90615699565b6000818152600a6020526040902054421161197e5760405162461bcd60e51b815260206004820152601060248201526f1b1a5c5d5a591a5d1e4b5b1bd8dad95960821b60448201526064016111fd565b60008181526028602052604090205460ff16156119d05760405162461bcd60e51b815260206004820152601060248201526f616c72656164792d776974686472617760801b60448201526064016111fd565b6000818152600c602090815260408083205460048084528285205483516315ab88c960e31b815293516001600160a01b039384169693909116948694859363ad5c4648938282019392909190829003018186803b158015611a3057600080fd5b505afa158015611a44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6891906153c9565b90506000826001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015611aa557600080fd5b505afa158015611ab9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611add91906153c9565b60405163e6a4390560e01b81526001600160a01b038681166004830152848116602483015291925060009183169063e6a439059060440160206040518083038186803b158015611b2c57600080fd5b505afa158015611b40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b6491906153c9565b6000888152602b602090815260408083206001600160a01b03808c168552925290912054919250611b9a91908316903390613978565b6000878152602b602090815260408083206035546001600160a01b0316845290915290205415801590611bdb57506035546001600160a01b03878116911614155b15611d26576035546040805163c45a015560e01b815290516001600160a01b0390921691600091839163c45a015591600480820192602092909190829003018186803b158015611c2a57600080fd5b505afa158015611c3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c6291906153c9565b60405163e6a4390560e01b81526001600160a01b038981166004830152878116602483015291925060009183169063e6a439059060440160206040518083038186803b158015611cb157600080fd5b505afa158015611cc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce991906153c9565b60008b8152602b602090815260408083206035546001600160a01b039081168552925290912054919250611d2291908316903390613978565b5050505b5050506000938452505060286020525060409020805460ff191660019081179091558055565b60026001541415611d6f5760405162461bcd60e51b81526004016111fd90615723565b6002600155603a54813514611dbe5760405162461bcd60e51b81526020600482015260156024820152741c1c995cd85b194b585b1c9958591e4b595e1a5cdd605a1b60448201526064016111fd565b600b6000611dd4610140840161012085016153ac565b6001600160a01b0316815260208101919091526040016000205460ff16611e325760405162461bcd60e51b81526020600482015260126024820152716e6f742d726f757465722d6164647265737360701b60448201526064016111fd565b603654341015611e755760405162461bcd60e51b815260206004820152600e60248201526d6e6f742d656e6f7567682d66656560901b60448201526064016111fd565b8060a00135816080013511158015611e9557508060c001358160a0013511155b8015611ea957508060e001358160c0013511155b611ee65760405162461bcd60e51b815260206004820152600e60248201526d1d1a5b594b5a5b98dbdc9c9958dd60921b60448201526064016111fd565b603d54611efb60e0830135608084013561394d565b1115611f495760405162461bcd60e51b815260206004820152601a60248201527f70726573616c652d6c656e6774682d72656163682d6c696d697400000000000060448201526064016111fd565b603e54611f5f61010083013560e084013561394d565b1015611fad5760405162461bcd60e51b815260206004820152601960248201527f6c69717569646974792d6c6f636b2d74696d652d6c696d69740000000000000060448201526064016111fd565b8061016001358161014001351015611ff45760405162461bcd60e51b815260206004820152600a60248201526974696572312d7261746560b01b60448201526064016111fd565b806101800135816101600135101561203b5760405162461bcd60e51b815260206004820152600a60248201526974696572322d7261746560b01b60448201526064016111fd565b61271081610280013511156120845760405162461bcd60e51b815260206004820152600f60248201526e1bdd995c8b5b585e0b585b5bdd5b9d608a1b60448201526064016111fd565b61209460408201602083016153ac565b603a8054600090815260046020908152604080832080546001600160a01b0319166001600160a01b0396909616959095179094558254825260028152838220858501359055825482526003815283822060608601359055825482526005815283822060808601359055825482526006815283822060a08601359055825482526007815283822060c08601359055825482526008815283822060e0860135905591548152600a909152206101008201359055612157610140820161012083016153ac565b603a80546000908152600c6020908152604080832080546001600160a01b03969096166001600160a01b031996871617905583548352600f82528083206101408701359055835483526010825280832061016087013590558354835260128252808320610180870135905583548352601182528083206101a0870135905583548352601382528083206101c0870135905583548352601482528083206101e0870135905583548352602a82528083208054909516331790945582548252600d8152838220610200860135905591548152600e90915220610220820135905561224761026082016102408301615438565b603a546000908152601560205260409020805460ff191691151591909117905561227961028082016102608301615438565b603a80546000908152602260209081526040808320805460ff1916951515959095179094558254825260238152838220610280860135905582548252602481528382206102a08601359055915481526025909152206102c082013590556122e861030082016102e08301615438565b603a546000908152602660205260409020805460ff191691151591909117905561231a610320820161030083016153ac565b60276000603a54815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055507ffeb1a35f16ecbe41d24e3f046c717848233dcf5b5682413d214c77980898c8ff603a5482608001358360e0013584602001602081019061239491906153ac565b604080519485526020850193909352918301526001600160a01b0316606082015260800160405180910390a1603a546123ce906001613b17565b603a556032546036546040516001600160a01b039092169181156108fc0291906000818181858888f193505050501580156118c8573d6000803e3d6000fd5b60008281526022602052604081205460ff16156124ee5760008381526025602090815260408083205460248352818420546009909352908320546124609261245a9161162390429061394d565b90613960565b6000858152602360205260408120549192509061247d9083613b17565b90506127108111156124b1576000858152602080805260408083206001600160a01b038816845290915290205492506124e7565b6000858152602080805260408083206001600160a01b03881684529091529020546124e490612710906116239084613960565b92505b5050612511565b506000828152602080805260408083206001600160a01b03851684529091529020545b92915050565b6000546001600160a01b031633146125415760405162461bcd60e51b81526004016111fd906156c4565b6001600160a01b03166000908152600b60205260409020805460ff19166001179055565b6000546001600160a01b0316331461258f5760405162461bcd60e51b81526004016111fd906156c4565b603c55565b6000546001600160a01b031633146125be5760405162461bcd60e51b81526004016111fd906156c4565b603155565b600081815260146020908152604080832054600f835281842054600e845282852054600d85528386205460119095529285205491939092916126058585613960565b9550600061262660646116238461245a61261f8989613b17565b8b90613960565b90506126328782613b17565b60008981526026602052604090205490975060ff1661267e57612677670de0b6b3a7640000611623612710611623603854612710612670919061575a565b8c90613960565b9650612737565b600088815260276020908152604080832054815163313ce56760e01b815291516001600160a01b039091169263313ce5679260048082019391829003018186803b1580156126cb57600080fd5b505afa1580156126df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061270391906154a4565b905061273361271382600a6157d7565b61162361271061162360385461271061272c919061575a565b8d90613960565b9750505b505050505050919050565b6000546001600160a01b0316331461276c5760405162461bcd60e51b81526004016111fd906156c4565b603855565b6000546001600160a01b0316331461279b5760405162461bcd60e51b81526004016111fd906156c4565b604080546001600160a01b0319166001600160a01b0392909216919091179055565b600260015414156127e05760405162461bcd60e51b81526004016111fd90615723565b600260015560008181526029602052604090205460ff161561283a5760405162461bcd60e51b81526020600482015260136024820152721c1c995cd85b194b585b1c9958591e4b595b99606a1b60448201526064016111fd565b6000818152601d6020908152604080832033808552908352818420548585528380528285208286528452828520548686526026909452919093205490919060ff166128bb576040516001600160a01b0384169083156108fc029084906000818181858888f193505050501580156128b5573d6000803e3d6000fd5b506128e0565b6000848152602760205260409020546001600160a01b03166128de813385613978565b505b6000848152601d60209081526040808320338085529083528184208490558784528280528184209084528252808320839055868352601e909152902054612927908361394d565b6000858152601e6020908152604080832093909355601f9052205461294c908261394d565b6000948552601f60205260409094209390935550506001805550565b6000546001600160a01b031633146129925760405162461bcd60e51b81526004016111fd906156c4565b603f80546001600160a01b0319166001600160a01b0392909216919091179055565b6000818152602a60205260409020546001600160a01b031633146129ea5760405162461bcd60e51b81526004016111fd90615699565b6000818152602e602052604090205460ff1615612a195760405162461bcd60e51b81526004016111fd906156f9565b6000818152600460205260408120546001600160a01b0316908190612a3d846125c3565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038416906370a082319060240160206040518083038186803b158015612a8257600080fd5b505afa158015612a96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aba91906154a4565b9050612ad16001600160a01b038416333085613b23565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a082319060240160206040518083038186803b158015612b1357600080fd5b505afa158015612b27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b4b91906154a4565b905082612b58828461394d565b14612b985760405162461bcd60e51b815260206004820152601060248201526f185b5bdd5b9d0b5b9bdd0b595c5d585b60821b60448201526064016111fd565b50505060009283525050602c60205260409020805460ff19166001179055565b6000546001600160a01b03163314612be25760405162461bcd60e51b81526004016111fd906156c4565b603280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314612c2e5760405162461bcd60e51b81526004016111fd906156c4565b612c386000613b5b565b565b6000546001600160a01b03163314612c645760405162461bcd60e51b81526004016111fd906156c4565b603d55565b60026001541415612c8c5760405162461bcd60e51b81526004016111fd90615723565b60026001556000828152600460205260409020546001600160a01b0316612ce95760405162461bcd60e51b81526020600482015260116024820152701c1c995cd85b194b5b9bdd0b595e1a5cdd607a1b60448201526064016111fd565b6000828152602e602052604090205460ff1615612d185760405162461bcd60e51b81526004016111fd906156f9565b6000828152602c602052604090205460ff16612d765760405162461bcd60e51b815260206004820152601760248201527f746f6b656e2d6e6f742d6465706f73697465642d79657400000000000000000060448201526064016111fd565b6000828152600560205260409020544210801590612da257506000828152600860205260409020544211155b612de35760405162461bcd60e51b815260206004820152601260248201527170726573616c652d6e6f742d61637469766560701b60448201526064016111fd565b60008281526026602052604090205460ff16612e4d57803414612e485760405162461bcd60e51b815260206004820152601d60248201527f6e6f742d657175616c2d636f6e747269627574696f6e2d616d6f756e7400000060448201526064016111fd565b612e73565b6000828152602760205260409020546001600160a01b0316612e7181333085613b23565b505b6000828152601d6020908152604080832033845290915281208054839290612e9c90849061575a565b90915550506000828152601e602052604081208054839290612ebf90849061575a565b9091555050600082815260036020908152604080832054601d8352818420338552909252909120541115612f355760405162461bcd60e51b815260206004820152601c60248201527f6f7665722d6d61782d636f6e747275627574696f6e2d616d6f756e740000000060448201526064016111fd565b600082815260026020908152604080832054601d8352818420338552909252909120541015612fb05760405162461bcd60e51b815260206004820152602160248201527f6c6573732d7468616e2d6d696e2d636f6e747275627574696f6e2d616d6f756e6044820152601d60fa1b60648201526084016111fd565b600082815260146020908152604080832054601e90925290912054111561300f5760405162461bcd60e51b81526020600482015260136024820152721bdd995c8b5a185c9918d85c0b585b5bdd5b9d606a1b60448201526064016111fd565b6000828152601a602052604090205460ff16156130905760008281526006602052604090205442101561304b576130468282613bab565b6118c8565b600082815260066020526040902054421080159061307757506000828152600760205260409020544211155b15613086576130468282613f71565b61304682826142c3565b6118c882826142c3565b6000546001600160a01b031633146130c45760405162461bcd60e51b81526004016111fd906156c4565b604180546001600160a01b0319166001600160a01b0392909216919091179055565b600260015414156131095760405162461bcd60e51b81526004016111fd90615723565b600260015560008181526029602052604090205460ff168061315b57506000818152600860205260409020544211801561315b5750600081815260136020908152604080832054601e90925290912054105b6131995760405162461bcd60e51b815260206004820152600f60248201526e1c1c995cd85b194b5b9bdd0b595b99608a1b60448201526064016111fd565b6000818152601d602090815260408083203384529091529020546131ff5760405162461bcd60e51b815260206004820152601f60248201527f6469642d6e6f742d636f6e747269627574652d746869732d70726573616c650060448201526064016111fd565b6000818152602d6020908152604080832033845290915290205460ff161561325b5760405162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e4b58db185a5b5959608a1b60448201526064016111fd565b6000818152600460209081526040808320546013835281842054601e9093529220546001600160a01b0390921691118181156133925760008481526029602052604090205460ff166132e35760405162461bcd60e51b81526020600482015260116024820152701b9bdd0b599a5b985b1a5e99590b5e595d607a1b60448201526064016111fd565b60006132ef853361240d565b60008681526021602090815260408083203384529091528120549192509061331890839061394d565b90506000811161335e5760405162461bcd60e51b81526020600482015260116024820152706e6f2d746f6b656e2d746f2d636c61696d60781b60448201526064016111fd565b6133726001600160a01b0384163383613978565b50600085815260216020908152604080832033845290915290205561345f565b600084815260266020526040902054339060ff166133fe576000858152601d602090815260408083203384529091528082205490516001600160a01b0384169282156108fc02929190818181858888f193505050501580156133f8573d6000803e3d6000fd5b50613439565b600085815260276020908152604080832054601d83528184203380865293529220546001600160a01b0390921691613437918391613978565b505b506000848152602d602090815260408083203384529091529020805460ff191660011790555b5050600180555050565b6000546001600160a01b031633146134935760405162461bcd60e51b81526004016111fd906156c4565b603480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146134df5760405162461bcd60e51b81526004016111fd906156c4565b603e55565b6000546001600160a01b0316331461350e5760405162461bcd60e51b81526004016111fd906156c4565b603655565b6000828152602a60205260409020546001600160a01b031633146135495760405162461bcd60e51b81526004016111fd90615699565b60395434101580613558575080155b6135955760405162461bcd60e51b815260206004820152600e60248201526d0cccaca5adcdee85acadcdeeaced60931b60448201526064016111fd565b6000918252601a6020526040909120805460ff1916911515919091179055565b6000546001600160a01b031633146135df5760405162461bcd60e51b81526004016111fd906156c4565b603955565b6000546001600160a01b0316331461360e5760405162461bcd60e51b81526004016111fd906156c4565b60005b825181101561145857600083828151811061362e5761362e615912565b6020908102919091018101516001600160a01b03166000908152601990915260409020805460ff19168415151790555080613668816158e1565b915050613611565b6000546001600160a01b0316331461369a5760405162461bcd60e51b81526004016111fd906156c4565b603755565b6000818152602a60205260409020546001600160a01b031633146136f95760405162461bcd60e51b81526020600482015260116024820152703737ba16b83932b9b0b63296b7bbb2b73960791b60448201526064016111fd565b6000818152600560205260409020544211156137485760405162461bcd60e51b815260206004820152600e60248201526d70726573616c652d61637469766560901b60448201526064016111fd565b6000818152602e602052604090205460ff166137975760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e4b58db1bdcd95960921b60448201526064016111fd565b6000818152602c602052604090205460ff16156137e15760006137b9826125c3565b6000838152600460205260409020549091506137df906001600160a01b03163383613978565b505b6000818152602e602052604090819020805460ff19166001179055517fcb67f20f64495b30f15524c55f90201dd6571d6b5c19dac183d2aeb25315b2dc9061382c9083815260200190565b60405180910390a150565b6000546001600160a01b031633146138615760405162461bcd60e51b81526004016111fd906156c4565b603b55565b6000546001600160a01b031633146138905760405162461bcd60e51b81526004016111fd906156c4565b6001600160a01b0381166138f55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016111fd565b6138fe81613b5b565b50565b6000546001600160a01b0316331461392b5760405162461bcd60e51b81526004016111fd906156c4565b603380546001600160a01b0319166001600160a01b0392909216919091179055565b6000613959828461589e565b9392505050565b6000613959828461587f565b60006139598284615772565b6040516001600160a01b03831660248201526044810182905261145890849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261446a565b600082815260046020908152604080832054600c9092528220546035546001600160a01b039283169391831692161580613a2257506035546001600160a01b038381169116145b6000868152600e6020526040812054919250613a4360646116238a85613960565b6000888152600d602052604081205491925090613a6890606490611623908c90613960565b90506000613a8082613a7a8c8661394d565b9061394d565b9050613a9187878786868d8f61453c565b600089815260266020526040902054339060ff16613ae5576040516001600160a01b0382169083156108fc029084906000818181858888f19350505050158015613adf573d6000803e3d6000fd5b50613b0a565b60008a8152602760205260409020546001600160a01b0316613b08818385613978565b505b5050505050505050505050565b6000613959828461575a565b6040516001600160a01b038085166024830152831660448201526064810182905261133f9085906323b872dd60e01b906084016139a4565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b3360009081526019602052604081205460ff168015613c325750603b54336000908152602f6020526040902054111580613c325750603c54336000908152602f60205260409020603b548154613c2f9291613c059161589e565b81548110613c1557613c15615912565b90600052602060002001544261394d90919063ffffffff16565b10155b600084815260176020908152604080832033845290915290205490915060ff16151560011480613d3b575060315415801590613cfb5750603154613cf8613c77615037565b6041546040516370a0823160e01b81523360048201526001600160a01b03909116906370a082319060240160206040518083038186803b158015613cba57600080fd5b505afa158015613cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cf291906154a4565b90613b17565b10155b8015613d215750600083815260306020908152604080832033845290915290205460ff16155b8015613d3b575060008381526015602052604090205460ff165b80613d435750805b613d835760405162461bcd60e51b81526020600482015260116024820152701c195c9b5a5cdcda5bdb8b59195b9a5959607a1b60448201526064016111fd565b600083815260176020908152604080832033845290915290205460ff16613dc95760008381526030602090815260408083203384529091529020805460ff191660011790555b6000838152600f602090815260408083205460269092529091205460ff16613e6d57613e01670de0b6b3a76400006116238334613960565b60008581526020808052604080832033845290915281208054909190613e2890849061575a565b90915550613e449050670de0b6b3a76400006116238334613960565b6000858152601f602052604081208054909190613e6290849061575a565b9091555061133f9050565b600084815260276020908152604080832054815163313ce56760e01b815291516001600160a01b039091169263313ce5679260048082019391829003018186803b158015613eba57600080fd5b505afa158015613ece573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ef291906154a4565b9050613f0c613f0282600a6157d7565b6116238487613960565b60008681526020808052604080832033845290915281208054909190613f3390849061575a565b90915550613f479050613f0282600a6157d7565b6000868152601f602052604081208054909190613f6590849061575a565b90915550505050505050565b6000603154613f81613c77615037565b10158015613fa95750600083815260306020908152604080832033845290915290205460ff16155b8015613fc3575060008381526015602052604090205460ff165b8015613fd0575060315415155b336000908152601960205260408120549192509060ff1680156140315750603b54336000908152602f60205260409020541115806140315750603c54336000908152602f60205260409020603b54815461402e9291613c059161589e565b10155b600085815260186020908152604080832033845290915290205490915060ff1615156001148061405e5750815b806140665750805b6140a65760405162461bcd60e51b81526020600482015260116024820152701c195c9b5a5cdcda5bdb8b59195b9a5959607a1b60448201526064016111fd565b600084815260186020908152604080832033845290915290205460ff166141195781156140f65760008481526030602090815260408083203384529091529020805460ff19166001179055614119565b336000908152602f60209081526040822080546001810182559083529120429101555b60008481526010602090815260408083205460269092529091205460ff166141bd57614151670de0b6b3a76400006116238334613960565b6000868152602080805260408083203384529091528120805490919061417890849061575a565b909155506141949050670de0b6b3a76400006116238334613960565b6000868152601f6020526040812080549091906141b290849061575a565b909155506142bc9050565b600085815260276020908152604080832054815163313ce56760e01b815291516001600160a01b039091169263313ce5679260048082019391829003018186803b15801561420a57600080fd5b505afa15801561421e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061424291906154a4565b905061425c61425282600a6157d7565b6116238488613960565b6000878152602080805260408083203384529091528120805490919061428390849061575a565b90915550614297905061425282600a6157d7565b6000878152601f6020526040812080549091906142b590849061575a565b9091555050505b5050505050565b60008281526012602090815260408083205460269092529091205460ff16614367576142fb670de0b6b3a76400006116238334613960565b6000848152602080805260408083203384529091528120805490919061432290849061575a565b9091555061433e9050670de0b6b3a76400006116238334613960565b6000848152601f60205260408120805490919061435c90849061575a565b909155506114589050565b600083815260276020908152604080832054815163313ce56760e01b815291516001600160a01b039091169263313ce5679260048082019391829003018186803b1580156143b457600080fd5b505afa1580156143c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143ec91906154a4565b90506144066143fc82600a6157d7565b6116238486613960565b6000858152602080805260408083203384529091528120805490919061442d90849061575a565b9091555061444190506143fc82600a6157d7565b6000858152601f60205260408120805490919061445f90849061575a565b909155505050505050565b60006144bf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661517c9092919063ffffffff16565b80519091501561145857808060200190518101906144dd9190615455565b6114585760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016111fd565b60008181526011602052604081205461456390670de0b6b3a7640000906116239088613960565b6000838152601160205260408120549192509061458e90670de0b6b3a7640000906116239088613960565b90508515614acf5760405163095ea7b360e01b81526001600160a01b038981166004830152602482018490528a169063095ea7b390604401602060405180830381600087803b1580156145e057600080fd5b505af11580156145f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146189190615455565b50876000614628426104b0613b17565b60008681526026602052604090205490915060ff1661493f57816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561467a57600080fd5b505afa15801561468e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146b291906153c9565b6001600160a01b031663d0e30db0896040518263ffffffff1660e01b81526004016000604051808303818588803b1580156146ec57600080fd5b505af1158015614700573d6000803e3d6000fd5b5050505050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561473e57600080fd5b505afa158015614752573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061477691906153c9565b60405163095ea7b360e01b81526001600160a01b038c81166004830152602482018b9052919091169063095ea7b390604401602060405180830381600087803b1580156147c257600080fd5b505af11580156147d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147fa9190615455565b506000826001600160a01b031663e8e33700846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561484557600080fd5b505afa158015614859573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061487d91906153c9565b8e8c89600080308a6040518963ffffffff1660e01b81526004016148a898979695949392919061561d565b606060405180830381600087803b1580156148c257600080fd5b505af11580156148d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148fa919061559d565b9250505080602b600088815260200190815260200160002060008d6001600160a01b03166001600160a01b031681526020019081526020016000208190555050614acc565b6000858152602760205260409081902054905163095ea7b360e01b81526001600160a01b038c81166004830152602482018b905290911690819063095ea7b390604401602060405180830381600087803b15801561499c57600080fd5b505af11580156149b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149d49190615455565b506000836001600160a01b031663e8e33700602760008a815260200190815260200160002060009054906101000a90046001600160a01b03168f8d8a600080308b6040518963ffffffff1660e01b8152600401614a3898979695949392919061561d565b606060405180830381600087803b158015614a5257600080fd5b505af1158015614a66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614a8a919061559d565b9250505080602b600089815260200190815260200160002060008e6001600160a01b03166001600160a01b031681526020019081526020016000208190555050505b50505b8415614ff15760355460405163095ea7b360e01b81526001600160a01b03918216600482015260248101839052908a169063095ea7b390604401602060405180830381600087803b158015614b2357600080fd5b505af1158015614b37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614b5b9190615455565b506035546001600160a01b03166000614b76426104b0613b17565b60008681526026602052604090205490915060ff16614e7757816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015614bc857600080fd5b505afa158015614bdc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c0091906153c9565b6001600160a01b031663d0e30db0886040518263ffffffff1660e01b81526004016000604051808303818588803b158015614c3a57600080fd5b505af1158015614c4e573d6000803e3d6000fd5b5050505050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015614c8c57600080fd5b505afa158015614ca0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614cc491906153c9565b60355460405163095ea7b360e01b81526001600160a01b039182166004820152602481018a905291169063095ea7b390604401602060405180830381600087803b158015614d1157600080fd5b505af1158015614d25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d499190615455565b506000826001600160a01b031663e8e33700846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015614d9457600080fd5b505afa158015614da8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614dcc91906153c9565b8e8b88600080308a6040518963ffffffff1660e01b8152600401614df798979695949392919061561d565b606060405180830381600087803b158015614e1157600080fd5b505af1158015614e25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614e49919061559d565b6000898152602b602090815260408083206035546001600160a01b0316845290915290205550614fee915050565b6000858152602760205260409081902054603554915163095ea7b360e01b81526001600160a01b039283166004820152602481018a9052911690819063095ea7b390604401602060405180830381600087803b158015614ed657600080fd5b505af1158015614eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614f0e9190615455565b506000836001600160a01b031663e8e33700602760008a815260200190815260200160002060009054906101000a90046001600160a01b03168f8c89600080308b6040518963ffffffff1660e01b8152600401614f7298979695949392919061561d565b606060405180830381600087803b158015614f8c57600080fd5b505af1158015614fa0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614fc4919061559d565b60008a8152602b602090815260408083206035546001600160a01b03168452909152902055505050505b50505b6000838152601f6020526040812054615015908690613a7a9081868189818c6125c3565b905061502b6001600160a01b038b163383613978565b50505050505050505050565b603f546000906001600160a01b0316156150d057603f546040516393f1a40b60e01b8152600060048201523360248201526001600160a01b03909116906393f1a40b90604401604080518083038186803b15801561509457600080fd5b505afa1580156150a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906150cc9190615579565b5090505b6040546001600160a01b03161561517957604080549051630cacd00160e11b81523360048201526000916001600160a01b031690631959a0029060240160806040518083038186803b15801561512557600080fd5b505afa158015615139573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061515d91906155cb565b50505090506151758183613b1790919063ffffffff16565b9150505b90565b606061518b8484600085615193565b949350505050565b6060824710156151f45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016111fd565b843b6152425760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016111fd565b600080866001600160a01b0316858760405161525e9190615601565b60006040518083038185875af1925050503d806000811461529b576040519150601f19603f3d011682016040523d82523d6000602084013e6152a0565b606091505b50915091506152b08282866152bb565b979650505050505050565b606083156152ca575081613959565b8251156152da5782518084602001fd5b8160405162461bcd60e51b81526004016111fd9190615666565b80356152ff8161593e565b919050565b600082601f83011261531557600080fd5b8135602067ffffffffffffffff8083111561533257615332615928565b8260051b604051601f19603f8301168101818110848211171561535757615357615928565b6040528481528381019250868401828801850189101561537657600080fd5b600092505b858310156153a05761538c816152f4565b84529284019260019290920191840161537b565b50979650505050505050565b6000602082840312156153be57600080fd5b81356139598161593e565b6000602082840312156153db57600080fd5b81516139598161593e565b600080604083850312156153f957600080fd5b823567ffffffffffffffff81111561541057600080fd5b61541c85828601615304565b925050602083013561542d81615953565b809150509250929050565b60006020828403121561544a57600080fd5b813561395981615953565b60006020828403121561546757600080fd5b815161395981615953565b6000610320828403121561548557600080fd5b50919050565b60006020828403121561549d57600080fd5b5035919050565b6000602082840312156154b657600080fd5b5051919050565b600080604083850312156154d057600080fd5b82359150602083013561542d8161593e565b6000806000606084860312156154f757600080fd5b83359250602084013567ffffffffffffffff81111561551557600080fd5b61552186828701615304565b925050604084013590509250925092565b6000806040838503121561554557600080fd5b82359150602083013561542d81615953565b6000806040838503121561556a57600080fd5b50508035926020909101359150565b6000806040838503121561558c57600080fd5b505080516020909101519092909150565b6000806000606084860312156155b257600080fd5b8351925060208401519150604084015190509250925092565b600080600080608085870312156155e157600080fd5b505082516020840151604085015160609095015191969095509092509050565b600082516156138184602087016158b5565b9190910192915050565b6001600160a01b039889168152968816602088015260408701959095526060860193909352608085019190915260a084015290921660c082015260e08101919091526101000190565b60208152600082518060208401526156858160408501602087016158b5565b601f01601f19169190910160400192915050565b6020808252601190820152703737ba16b83932b9b0b63296b7bbb732b960791b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526010908201526f1c1c995cd85b194b58d85b98d95b195960821b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6000821982111561576d5761576d6158fc565b500190565b60008261578f57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156157cf5781600019048211156157b5576157b56158fc565b808516156157c257918102915b93841c9390800290615799565b509250929050565b600061395983836000826157ed57506001612511565b816157fa57506000612511565b8160018114615810576002811461581a57615836565b6001915050612511565b60ff84111561582b5761582b6158fc565b50506001821b612511565b5060208310610133831016604e8410600b8410161715615859575081810a612511565b6158638383615794565b8060001904821115615877576158776158fc565b029392505050565b6000816000190483118215151615615899576158996158fc565b500290565b6000828210156158b0576158b06158fc565b500390565b60005b838110156158d05781810151838201526020016158b8565b8381111561133f5750506000910152565b60006000198214156158f5576158f56158fc565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146138fe57600080fd5b80151581146138fe57600080fdfea26469706673582212206c27e379dcaa27cd8d843322ba790d7ace64f478e1b2cc736c1779e7a9299f2064736f6c63430008060033000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000076168155638d990ed333aa5ec1f40e9d5d6bac3c