0 txs
0 calls
constructor
constructor(address router, address usdt, address fic, address user, uint256 time)
functions
BASE_RATE
viewfunction BASE_RATE() view returns (uint256)
calculateOutput
purefunction calculateOutput(uint256 x) pure returns (uint256)
ficAmount
viewfunction ficAmount(uint256 amount) view returns (uint256)
generateCode
viewfunction generateCode() view returns (string)
getAllUsers
viewfunction getAllUsers(uint256 page, uint256 limit) view returns (tuple[] items, uint256 total)
getDividendAmount
viewfunction getDividendAmount(address uid) view returns (uint256 amount)
getFeeSmartVault
viewfunction getFeeSmartVault() view returns (address)
getInfo
viewfunction getInfo() view returns (uint256 mintTotal, uint256 price, uint256 priceIndex, uint256 burnLimit, uint256 balance, uint256 protecting, uint256 time)
getMarketSmartVault
viewfunction getMarketSmartVault() view returns (address)
getReferrer
viewfunction getReferrer(string code) view returns (tuple)
getTradeSmartVault
viewfunction getTradeSmartVault() view returns (address)
getUserInfo
viewfunction getUserInfo(address uid) view returns (tuple)
inviteList
viewfunction inviteList(address uid, uint256 page, uint256 limit) view returns (tuple[] items, uint256 total)
isOpenBuy
viewfunction isOpenBuy() view returns (bool)
LIMIT_TIME
viewfunction LIMIT_TIME() view returns (uint256)
MAX_PURCHASE
viewfunction MAX_PURCHASE() view returns (uint256)
MIN_BURN
viewfunction MIN_BURN() view returns (uint256)
MIN_PURCHASE
viewfunction MIN_PURCHASE() view returns (uint256)
MINT_CYCLE
viewfunction MINT_CYCLE() view returns (uint256)
MINT_RATE
viewfunction MINT_RATE() view returns (uint256)
mint_total
viewfunction mint_total() view returns (uint256)
mintAmount
viewfunction mintAmount(address uid) view returns (uint256 amount)
owner
viewfunction owner() view returns (address)
usdtAmount
viewfunction usdtAmount(uint256 amount) view returns (uint256)
burn
nonpayablefunction burn(address token, uint256 amount)
mint
nonpayablefunction mint()
register
nonpayablefunction register(string code)
renounceOwnership
nonpayablefunction renounceOwnership()
settleDividend
nonpayablefunction settleDividend()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateTime
nonpayablefunction updateTime() returns (bool)
events
Burn
event Burn(address indexed uid, address indexed token, uint256 amount, uint256 time)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Register
event Register(address indexed uid, address indexed pid, uint256 time)
SetAdmin
event SetAdmin(address indexed uid, bool indexed is_admin)
UpdateIndex
event UpdateIndex(uint256 price, uint256 burn_limit, uint256 time)
UpdatePrice
event UpdatePrice(uint256 price, uint256 time)
UpdateTime
event UpdateTime(uint256 time)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b50604051620069153803806200691583398101604081905262000034916200098e565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601480546001600160a01b038088166001600160a01b031992831681179093556012805488831690841617905560138054918716919092161790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015620000ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000112919062000a02565b60125460135460405163e6a4390560e01b81526001600160a01b039283166004820152908216602482015291169063e6a4390590604401602060405180830381865afa15801562000167573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018d919062000a02565b600e80546001600160a01b0319166001600160a01b03928316179055601354604051911690620001bd906200094b565b6001600160a01b039091168152602001604051809103906000f080158015620001ea573d6000803e3d6000fd5b50600f80546001600160a01b0319166001600160a01b039283161790556012546040519116906200021b9062000959565b6001600160a01b039091168152602001604051809103906000f08015801562000248573d6000803e3d6000fd5b50601080546001600160a01b0319166001600160a01b03928316179055601354604051911690620002799062000967565b6001600160a01b039091168152602001604051809103906000f080158015620002a6573d6000803e3d6000fd5b50601180546001600160a01b0319166001600160a01b0392909216919091179055466061036200034a5760006200030862015180620002f484426200060c60201b62002e691790919060201c565b6200065f60201b62002eb41790919060201c565b9050620003406200032b6201518083620006a960201b62002ef61790919060201c565b836200073760201b62002f781790919060201c565b6009555062000350565b60098190555b604051806102800160405280836001600160a01b0316815260200160006001600160a01b0316815260200160008152602001620003926200079a60201b60201c565b8152600060208083018290526040808401839052606080850184905268056bc75e2d631000006080860181905260a086015260c0850184905260e085018490526101008501849052610120850184905261014085018490526101608501849052610180850184905260646101a08601526101c085018490526009546101e086015242610200909501949094526001600160a01b038088168452600380845293829020865181549083166001600160a01b031991821617825593870151600182018054919093169416939093179055840151600282015591830151908201906200047c908262000ac7565b506080820151816004015560a0820151816005015560c0820151816006015560e082015181600701556101008201518160080155610120820151816009015561014082015181600a015561016082015181600b015561018082015181600c01556101a082015181600d01556101c082015181600e01556101e082015181600f0155610200820151816010015561022082015181601101556102408201518160120155610260820151816013015590505081600760036000856001600160a01b03166001600160a01b0316815260200190815260200160002060030160405162000566919062000b93565b9081526040516020918190038201812080546001600160a01b03199081166001600160a01b039586161790915560018054808201825560009182527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601805490921694871694851790915542825292917fcc0bec1447060c88cdc5a739cf29cfa26c453574dd3f5b9e4dcc317d6401cb1c910160405180910390a3505050505062000d33565b60006200065683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250620008d960201b60201c565b90505b92915050565b60006200065683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200091860201b60201c565b600082600003620006bd5750600062000659565b6000620006cb838562000c27565b905082620006da858362000c57565b14620006565760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b60008062000746838562000c6e565b905083811015620006565760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016200072e565b6060600033424344620007af60018362000c84565b60405160609590951b6001600160601b031916602086015260348501939093526054840191909152607483015240609482015260b4016040516020818303038152906040528051906020012090506000604051806060016040528060248152602001620068f16024913960408051600a8082528183019092529192506000919060208201818036833701905050905060005b600a811015620008d15760006200085a60248662000c9a565b9050838160ff168151811062000874576200087462000cb1565b602001015160f81c60f81b83838151811062000894576200089462000cb1565b60200101906001600160f81b031916908160001a905350620008b860248662000c57565b9450819050620008c88162000cc7565b91505062000841565b509392505050565b60008184841115620009005760405162461bcd60e51b81526004016200072e919062000ce3565b5060006200090f848662000c84565b95945050505050565b600081836200093c5760405162461bcd60e51b81526004016200072e919062000ce3565b5060006200090f848662000c57565b610544806200575e83390190565b6103b58062005ca283390190565b61089a806200605783390190565b6001600160a01b03811681146200098b57600080fd5b50565b600080600080600060a08688031215620009a757600080fd5b8551620009b48162000975565b6020870151909550620009c78162000975565b6040870151909450620009da8162000975565b6060870151909350620009ed8162000975565b80925050608086015190509295509295909350565b60006020828403121562000a1557600080fd5b8151620006568162000975565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168062000a4d57607f821691505b60208210810362000a6e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000ac257600081815260208120601f850160051c8101602086101562000a9d5750805b601f850160051c820191505b8181101562000abe5782815560010162000aa9565b5050505b505050565b81516001600160401b0381111562000ae35762000ae362000a22565b62000afb8162000af4845462000a38565b8462000a74565b602080601f83116001811462000b33576000841562000b1a5750858301515b600019600386901b1c1916600185901b17855562000abe565b600085815260208120601f198616915b8281101562000b645788860151825594840194600190910190840162000b43565b508582101562000b835787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600080835462000ba38162000a38565b6001828116801562000bbe576001811462000bd45762000c05565b60ff198416875282151583028701945062000c05565b8760005260208060002060005b8581101562000bfc5781548a82015290840190820162000be1565b50505082870194505b50929695505050505050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000659576200065962000c11565b634e487b7160e01b600052601260045260246000fd5b60008262000c695762000c6962000c41565b500490565b8082018082111562000659576200065962000c11565b8181038181111562000659576200065962000c11565b60008262000cac5762000cac62000c41565b500690565b634e487b7160e01b600052603260045260246000fd5b60006001820162000cdc5762000cdc62000c11565b5060010190565b600060208083528351808285015260005b8181101562000d125785810183015185820160400152820162000cf4565b506000604082860101526040601f19601f8301168501019250505092915050565b614a1b8062000d436000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c80636e8dbfd01161010f5780639b45b55a116100a2578063dc55509011610071578063dc555090146103fc578063f2c298be14610404578063f2fde38b14610417578063f5c1be3c1461042a57600080fd5b80639b45b55a146103bf5780639c85ce84146103d25780639dc29fac146103da578063d439390c146103ed57600080fd5b806377fcde77116100de57806377fcde771461038b5780637feed46b146103945780638d2535671461039d5780638da5cb5b146103ae57600080fd5b80636e8dbfd0146103505780637146bd0814610281578063715018a61461036557806375fd37581461036d57600080fd5b806349844b1c116101875780635a9b0b89116101565780635a9b0b89146102cf5780635b18d25e1461030c57806360752a5d1461031f5780636386c1c71461033057600080fd5b806349844b1c146102815780634ad1e7d0146102915780634ff113e9146102b2578063525dd18d146102c557600080fd5b806327ba3f1e116101c357806327ba3f1e1461022d5780632f3e66ed1461024057806341910f901461026557806341c8ee1d1461026e57600080fd5b8063055d822c146101ea5780631249c58b14610210578063204c57241461021a575b600080fd5b6101fd6101f836600461410e565b610432565b6040519081526020015b60405180910390f35b6102186106a8565b005b6101fd61022836600461412b565b610dac565b6101fd61023b36600461412b565b610ed6565b600f546001600160a01b03165b6040516001600160a01b039091168152602001610207565b6101fd61271081565b6101fd61027c36600461412b565b610f9d565b6101fd68056bc75e2d6310000081565b6102a461029f366004614144565b611013565b6040516102079291906142cf565b6102a46102c0366004614338565b611332565b6101fd6201518081565b6102d76115cd565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e001610207565b6101fd61031a36600461410e565b611685565b6011546001600160a01b031661024d565b61034361033e36600461410e565b6117b3565b604051610207919061435a565b61035861193e565b604051610207919061436d565b610218611a71565b600e54600160a01b900460ff165b6040519015158152602001610207565b6101fd600b5481565b6101fd60085481565b6010546001600160a01b031661024d565b6000546001600160a01b031661024d565b6103436103cd3660046143c7565b611b15565b610218611b9c565b6102186103e836600461445c565b611e78565b6101fd678ac7230489e8000081565b61037b612764565b6102186104123660046143c7565b6127fe565b61021861042536600461410e565b612d9e565b6101fd606481565b6001600160a01b038116600090815260036020526040812060080154810361045c57506000919050565b6009546000610478620151806104724285612e69565b90612eb4565b9050600181111561049d57610490620151808261449e565b61049a90836144b5565b91505b6001600160a01b0384166000908152600360205260409020601201548281036104cb57506000949350505050565b6001600160a01b038516600090815260036020526040812060108101546008909101549091805b60648110156105ba5780610505816144c8565b915061051690508562015180612f78565b6000818152600560205260409020549095506105425761053d670de0b6b3a7640000610f9d565b610552565b6000858152600560205260409020545b9150670de0b6b3a76400006127108361056b878761449e565b610575919061449e565b61057f91906144f7565b61058991906144f7565b61059390896144b5565b97506105b06127106104726105a9826064612e69565b8690612ef6565b92508685106104f2575b6013546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610602573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610626919061450b565b88111561069c576013546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610675573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610699919061450b565b97505b50505050505050919050565b600054600160a01b900460ff16156106db5760405162461bcd60e51b81526004016106d290614524565b60405180910390fd5b6000805460ff60a01b1916600160a01b1781556013546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610736573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075a919061450b565b9050600061076733610432565b9050600082116107af5760405162461bcd60e51b8152602060048201526013602482015272436f6e747261637420686173206e6f2046494360681b60448201526064016106d2565b600081116107ff5760405162461bcd60e51b815260206004820152601860248201527f5573657220686173206e6f206d696e696e6720706f776572000000000000000060448201526064016106d2565b610807612764565b50610810612fd7565b61081861326c565b818111156108365750600e805460ff60a01b1916600160a01b179055805b60135460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610887573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ab919061455b565b506108b6338261360b565b6013546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156108fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610922919061450b565b600003610adf576010546012546040516370a0823160e01b81526001600160a01b0392831660048201819052926312514bba9216906370a0823190602401602060405180830381865afa15801561097d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a1919061450b565b6040518263ffffffff1660e01b81526004016109bf91815260200190565b6020604051808303816000875af11580156109de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a02919061450b565b506012546040516370a0823160e01b8152306004820152610a76916001600160a01b0316906370a0823190602401602060405180830381865afa158015610a4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a71919061450b565b6138b4565b600f60009054906101000a90046001600160a01b03166001600160a01b03166344df8e706040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610ac657600080fd5b505af1158015610ada573d6000803e3d6000fd5b505050505b33600090815260036020526040902060128101546008909101545b610b0b612710610472836064612ef6565b610b15908261457d565b9050610b2462015180836144b5565b91506009548210610afa57336000908152600360205260408120600881018390556011018054859290610b589084906144b5565b909155505060095433600090815260036020526040812060120191909155600b8054859290610b889084906144b5565b9091555060009050610ba2612710610472866101f4612ef6565b6013546040516370a0823160e01b81523060048201529192506001600160a01b0316906370a0823190602401602060405180830381865afa158015610beb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0f919061450b565b811115610c98576013546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610c5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c82919061450b565b600e805460ff60a01b1916600160a01b17905590505b8015610d985780600b6000828254610cb091906144b5565b909155505060135460115460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303816000875af1158015610d0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2e919061455b565b50601160009054906101000a90046001600160a01b03166001600160a01b03166311aaa3e96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610d7f57600080fd5b505af1158015610d93573d6000803e3d6000fd5b505050505b50506000805460ff60a01b19169055505050565b60408051600280825260608201835260009283929190602083019080368337505060135482519293506001600160a01b031691839150600090610df157610df1614590565b6001600160a01b039283166020918202929092010152601254825191169082906001908110610e2257610e22614590565b6001600160a01b03928316602091820292909201015260145460405163d06ca61f60e01b815291169063d06ca61f90610e6190869085906004016145ea565b600060405180830381865afa925050508015610e9f57506040513d6000823e601f3d908101601f19168201604052610e9c919081019061460b565b60015b610eac5750600092915050565b80600181518110610ebf57610ebf614590565b602002602001015192505050919050565b50919050565b6000620186a0808311610f1b576002670de0b6b3a7640000610f008567016345785d8a000061449e565b610f0a91906144f7565b610f1491906144f7565b9392505050565b6000610f27828561457d565b905060006002670de0b6b3a7640000610f488567016345785d8a000061449e565b610f5291906144f7565b610f5c91906144f7565b9050611f4062030d406000610f7182866144b5565b610f7b868561449e565b610f8591906144f7565b9050610f9181856144b5565b98975050505050505050565b60408051600280825260608201835260009283929190602083019080368337505060125482519293506001600160a01b031691839150600090610fe257610fe2614590565b6001600160a01b039283166020918202929092010152601354825191169082906001908110610e2257610e22614590565b6001600160a01b0383166000908152600460209081526040808320805482518185028101850190935280835260609493849392919083018282801561108157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611063575b50505050509050600084600187611098919061457d565b6110a2919061449e565b905060006110b086836144b5565b905082518111156110bf575081515b60006110cb838361457d565b905060008167ffffffffffffffff8111156110e8576110e8614380565b60405190808252806020026020018201604052801561112157816020015b61110e61404e565b8152602001906001900390816111065790505b50905060005b828110156113095760008661113c83886144b5565b8151811061114c5761114c614590565b6020908102919091018101516001600160a01b0380821660009081526003808552604091829020825161028081018452815485168152600182015490941695840195909552600285015491830191909152830180549294509092916060840191906111b6906146a5565b80601f01602080910402602001604051908101604052809291908181526020018280546111e2906146a5565b801561122f5780601f106112045761010080835404028352916020019161122f565b820191906000526020600020905b81548152906001019060200180831161121257829003601f168201915b50505050508152602001600482015481526020016005820154815260200160068201548152602001600782015481526020016008820154815260200160098201548152602001600a8201548152602001600b8201548152602001600c8201548152602001600d8201548152602001600e8201548152602001600f82015481526020016010820154815260200160118201548152602001601282015481526020016013820154815250508383815181106112ea576112ea614590565b6020026020010181905250508080611301906144c8565b915050611127565b506001600160a01b03999099166000908152600460205260409020549899975050505050505050565b60606000808361134360018761457d565b61134d919061449e565b9050600061135b85836144b5565b60015490915081111561136d57506001545b6000611379838361457d565b67ffffffffffffffff81111561139157611391614380565b6040519080825280602002602001820160405280156113ca57816020015b6113b761404e565b8152602001906001900390816113af5790505b50905060005b6113da848461457d565b8110156115bc576003600060016113f184886144b5565b8154811061140157611401614590565b60009182526020808320909101546001600160a01b03908116845283820194909452604092830190912082516102808101845281548516815260018201549094169184019190915260028101549183019190915260038101805460608401919061146a906146a5565b80601f0160208091040260200160405190810160405280929190818152602001828054611496906146a5565b80156114e35780601f106114b8576101008083540402835291602001916114e3565b820191906000526020600020905b8154815290600101906020018083116114c657829003601f168201915b50505050508152602001600482015481526020016005820154815260200160068201548152602001600782015481526020016008820154815260200160098201548152602001600a8201548152602001600b8201548152602001600c8201548152602001600d8201548152602001600e8201548152602001600f820154815260200160108201548152602001601182015481526020016012820154815260200160138201548152505082828151811061159e5761159e614590565b602002602001018190525080806115b4906144c8565b9150506113d0565b506001549097909650945050505050565b600b54600080808080806115e8670de0b6b3a7640000610f9d565b6009546000908152600560205260409081902054600a5460135492516370a0823160e01b815230600482015293995090975095506001600160a01b0316906370a0823190602401602060405180830381865afa15801561164c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611670919061450b565b92506009549050600c54915090919293949596565b6009546000908161169d620151806104724285612e69565b905080156116bf576116b2620151808261449e565b6116bc90836144b5565b91505b6001600160a01b0384166000908152600360205260409020600e01548290036116ec575060009392505050565b6001600160a01b0384166000908152600360205260409020600a01541580159061173157506001600160a01b0384166000908152600360205260409020600b01546014115b1561174c576117496802b5e3af16b1880000846144b5565b92505b6001600160a01b0384166000908152600360205260409020600c01541580159061179157506001600160a01b0384166000908152600360205260409020600d01546014115b156117ac576117a96802b5e3af16b1880000846144b5565b92505b5050919050565b6117bb61404e565b6001600160a01b0380831660009081526003602081815260409283902083516102808101855281548616815260018201549095169185019190915260028101549284019290925281018054606084019190611815906146a5565b80601f0160208091040260200160405190810160405280929190818152602001828054611841906146a5565b801561188e5780601f106118635761010080835404028352916020019161188e565b820191906000526020600020905b81548152906001019060200180831161187157829003601f168201915b50505050508152602001600482015481526020016005820154815260200160068201548152602001600782015481526020016008820154815260200160098201548152602001600a8201548152602001600b8201548152602001600c8201548152602001600d8201548152602001600e8201548152602001600f82015481526020016010820154815260200160118201548152602001601282015481526020016013820154815250509050919050565b606060003342434461195160018361457d565b60405160609590951b6bffffffffffffffffffffffff1916602086015260348501939093526054840191909152607483015240609482015260b40160405160208183030381529060405280519060200120905060006040518060600160405280602481526020016149c26024913960408051600a8082528183019092529192506000919060208201818036833701905050905060005b600a811015611a695760006119fd6024866146d9565b9050838160ff1681518110611a1457611a14614590565b602001015160f81c60f81b838381518110611a3157611a31614590565b60200101906001600160f81b031916908160001a905350611a536024866144f7565b9450819050611a61816144c8565b9150506119e7565b509392505050565b6000546001600160a01b03163314611acb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d2565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b611b1d61404e565b60036000600784604051611b3191906146ed565b9081526040805160209281900383019020546001600160a01b03908116845283830194909452918201600020825161028081018452815485168152600182015490941691840191909152600281015491830191909152600381018054606084019190611815906146a5565b611ba4612764565b50611bad612fd7565b611bb561326c565b6000611bc033611685565b6012546040516370a0823160e01b815230600482015291925082916001600160a01b03909116906370a0823190602401602060405180830381865afa158015611c0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c31919061450b565b1015611ca6576012546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015611c7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca3919061450b565b90505b80600003611ce45760405162461bcd60e51b815260206004820152600b60248201526a139bc8191a5d9a59195b9960aa1b60448201526064016106d2565b60125460405163a9059cbb60e01b8152336004820181905260248201849052916001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015611d36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d5a919061455b565b506009546001600160a01b0382166000908152600360205260409020600e810191909155600a015415611ded576001600160a01b0381166000908152600360205260408120600b01805491611dae836144c8565b90915550506001600160a01b0381166000908152600360205260408120600a0180546802b5e3af16b18800009290611de790849061457d565b90915550505b6001600160a01b0381166000908152600360205260409020600c015415611e74576001600160a01b0381166000908152600360205260408120600d01805491611e35836144c8565b90915550506001600160a01b0381166000908152600360205260408120600c0180546802b5e3af16b18800009290611e6e90849061457d565b90915550505b5050565b600054600160a01b900460ff1615611ea25760405162461bcd60e51b81526004016106d290614524565b6000805460ff60a01b1916600160a01b178155338152600360205260409020546001600160a01b0316611f0d5760405162461bcd60e51b8152602060048201526013602482015272155cd95c881b9bdd081c9959da5cdd195c9959606a1b60448201526064016106d2565b3360009081526003602052604090206008015415611f5f5760405162461bcd60e51b815260206004820152600f60248201526e155cd95c881a185cc8189d5c9b9959608a1b60448201526064016106d2565b6012546001600160a01b0383811691161480611f8857506013546001600160a01b038381169116145b611fc45760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b2103a37b5b2b760991b60448201526064016106d2565b6012546001600160a01b03908116908316036120085768056bc75e2d631000008110156120035760405162461bcd60e51b81526004016106d290614709565b612039565b68056bc75e2d6310000061201b82610dac565b10156120395760405162461bcd60e51b81526004016106d290614709565b612041612764565b5061204a612fd7565b6008546000036120725761206e61206562015180600261449e565b60095490612f78565b6008555b601354339082906001600160a01b03908116908516036120985761209583610dac565b90505b6001600160a01b038083166000908152600360205260409020600881018390556007810183905560646010820155600954600f82018190556012820155600101541615612282576001600160a01b0380831660009081526003602052604080822060010154909216815290812060050180548392906121189084906144b5565b90915550506001600160a01b0380831660009081526003602090815260408083206001015490931682526002905290812080548392906121599084906144b5565b90915550506001600160a01b03808316600090815260036020908152604080832060010154909316825260029052205468a2a15d09519be0000011612282576001600160a01b03808316600090815260036020908152604080832060010154909316825260029052908120546121d89068a2a15d09519be00000612eb4565b90506121ed8168a2a15d09519be00000612ef6565b6001600160a01b03808516600090815260036020908152604080832060010154909316825260029052908120805490919061222990849061457d565b90915550612242905081681043561a8829300000612ef6565b6001600160a01b03808516600090815260036020526040808220600101549092168152908120600a01805490919061227b9084906144b5565b9091555050505b6001600160a01b03828116600090815260036020526040808220600190810154841683529120015416156124a8576001600160a01b03808316600090815260036020526040808220600190810154841683528183200154909216815290812060060180548392906122f49084906144b5565b90915550506001600160a01b0380831660009081526003602090815260408083206001908101548516845281842081015490941683526002909152812090910180548392906123449084906144b5565b90915550506001600160a01b03808316600090815260036020908152604080832060019081015485168452818420810154909416835260029091529020015469014542ba12a337c00000116124a8576001600160a01b03808316600090815260036020908152604080832060019081015485168452818420810154909416835260029091528120909101546123e39069014542ba12a337c00000612eb4565b90506123f98169014542ba12a337c00000612ef6565b6001600160a01b03808516600090815260036020908152604080832060019081015485168452818420810154909416835260029091528120909101805490919061244490849061457d565b9091555061245d905081681043561a8829300000612ef6565b6001600160a01b038085166000908152600360205260408082206001908101548416835281832001549092168152908120600c0180549091906124a19084906144b5565b9091555050505b6001600160a01b03828116600090815260036020526040902060010154161561250b576001600160a01b038083166000908152600360205260408082206001908101549093168252812060020180549091906125059084906144b5565b90915550505b6040516323b872dd60e01b81526001600160a01b038381166004830152306024830152604482018590528516906323b872dd906064016020604051808303816000875af1158015612560573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612584919061455b565b506012546001600160a01b0390811690851603612691576010546001600160a01b038086169163a9059cbb91166125c3612710610472886101f4612ef6565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561260e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612632919061455b565b50600a546009546000908152600660205260409020541080159061265857506000600a54115b801561266657506008544210155b156126895761268461267f6127106104728660c8612ef6565b613a40565b612709565b61268461326c565b60135460405163a9059cbb60e01b815260006004820152602481018590526001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156126e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612707919061455b565b505b604080518281524260208201526001600160a01b0380871692908516917f5d624aa9c148153ab3446c1b154f660ee7701e549fe9b62dab7171b1c80e6fa2910160405180910390a350506000805460ff60a01b191690555050565b600954600090426127788262015180612f78565b111561278657600191505090565b6000612799620151806104724285612e69565b90506127b26127ab8262015180612ef6565b8390612f78565b60098190556040518181529092507fd385a2979c516d4f887314b36cb72410516e40bc62971c930553bd2955e8fc6b9060200160405180910390a16127f5613d25565b60019250505090565b600054600160a01b900460ff16156128285760405162461bcd60e51b81526004016106d290614524565b6000805460ff60a01b1916600160a01b178155338152600360205260409020546001600160a01b03161561289e5760405162461bcd60e51b815260206004820152601760248201527f5573657220616c7265616479207265676973746572656400000000000000000060448201526064016106d2565b60006001600160a01b03166007826040516128b991906146ed565b908152604051908190036020019020546001600160a01b0316036129175760405162461bcd60e51b8152602060048201526015602482015274125b9d9a5d194818dbd919481b9bdd08199bdd5b99605a1b60448201526064016106d2565b60006003600060078460405161292d91906146ed565b9081526040805160209281900383019020546001600160a01b03168352908201929092520160002060080154116129a65760405162461bcd60e51b815260206004820152601d60248201527f54686520726566657272657220686173206e6f7420696e76657374656400000060448201526064016106d2565b60006129b061193e565b905060006001600160a01b03166007826040516129cd91906146ed565b908152604051908190036020019020546001600160a01b031614612a335760405162461bcd60e51b815260206004820152601a60248201527f496e7669746520636f646520616c72656164792065786973747300000000000060448201526064016106d2565b612a3b612764565b50612a44612fd7565b604051806102800160405280336001600160a01b03168152602001600784604051612a6f91906146ed565b9081526040805160209281900383019020546001600160a01b039081168452600084840181905284830187905260608086018290526080860182905260a0860182905260c0860182905260e08601829052610100860182905261012086018290526101408601829052610160860182905261018086018290526101a086018290526101c086018290526101e0860182905261020086018290526009546102208701524261024090960195909552338152600380855290839020865181546001600160a01b0319908116918516919091178255948701516001820180549096169316929092179093559084015160028201559183015190820190612b729082614798565b506080820151816004015560a0820151816005015560c0820151816006015560e082015181600701556101008201518160080155610120820151816009015561014082015181600a015561016082015181600b015561018082015181600c01556101a082015181600d01556101c082015181600e01556101e082015181600f0155610200820151816010015561022082015181601101556102408201518160120155610260820151816013015590505033600760036000336001600160a01b03166001600160a01b03168152602001908152602001600020600301604051612c5a9190614858565b908152602001604051809103902060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060046000600784604051612ca091906146ed565b9081526040805160209281900383019020546001600160a01b031683528282019390935290820160009081208054600180820183559183529282209092018054336001600160a01b0319918216811790925583548085018555939092527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf69092018054909116909117905551600790612d3a9084906146ed565b90815260405160209181900382018120544282526001600160a01b03169133917fcc0bec1447060c88cdc5a739cf29cfa26c453574dd3f5b9e4dcc317d6401cb1c910160405180910390a3612d8d61326c565b50506000805460ff60a01b19169055565b6000546001600160a01b03163314612df85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d2565b6001600160a01b038116612e5d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106d2565b612e6681613e57565b50565b6000612eab83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613ea7565b90505b92915050565b6000612eab83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613ee1565b600082600003612f0857506000612eae565b6000612f14838561449e565b905082612f2185836144f7565b14612eab5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106d2565b600080612f8583856144b5565b905083811015612eab5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106d2565b600c541561312757600954600d5414612ff1576000600c55565b600068056bc75e2d631000009050600081600c541061302a5781905081600c600082825461301f919061457d565b909155506130359050565b50600c805460009091555b601054604051630928a5dd60e11b8152600481018390526001600160a01b03909116906312514bba906024016020604051808303816000875af1158015613080573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130a4919061450b565b9050806000036130b2575050565b6130bb816138b4565b600f60009054906101000a90046001600160a01b03166001600160a01b03166344df8e706040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561310b57600080fd5b505af115801561311f573d6000803e3d6000fd5b505050505050565b600061313a670de0b6b3a7640000610f9d565b600954600090815260056020526040902054909150613163906127109061047290612ee0612ef6565b8110158015613182575060095460009081526005602052604090205415155b80156131915750600954600d54105b15612e66576012546010546040516370a0823160e01b81526001600160a01b03918216600482015260009291909116906370a0823190602401602060405180830381865afa1580156131e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061320b919061450b565b905069010f0cf064dd5920000081101561322b57600c5550600954600d55565b61323d612710610472836103e8612ef6565b600c81905569010f0cf064dd5920000011156132625769010f0cf064dd59200000600c555b600954600d555050565b6012546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156132b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132d9919061450b565b9050806000036132e65750565b60006132f9670de0b6b3a7640000610f9d565b90508060000361333a5760405162461bcd60e51b815260206004820152600c60248201526b4e6f206c697175696469747960a01b60448201526064016106d2565b600854421015801561335f5750600a5460095460009081526006602052604090205410155b801561336d57506000600a54115b15613376575050565b600854421080156134025750601254600e546040516370a0823160e01b81526001600160a01b03918216600482015269043c33c19375648000009291909116906370a0823190602401602060405180830381865afa1580156133dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613400919061450b565b115b1561340b575050565b6000678ac7230489e8000083111561346f5761342e61271061047285601e612ef6565b905068056bc75e2d631000008110613450575068056bc75e2d63100000613472565b678ac7230489e80000811161346a5750678ac7230489e800005b613472565b50815b60085442101580156134a15750600a5460095460009081526006602052604090205461349f9083906144b5565b115b80156134af57506000600a54115b156134d657600954600090815260066020526040902054600a546134d3919061457d565b90505b600954600090815260066020526040812080548392906134f79084906144b5565b9091555050601354600e546040516370a0823160e01b81526001600160a01b03918216600482015260009291909116906370a0823190602401602060405180830381865afa15801561354d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613571919061450b565b9050690a968163f0a57b4000008110156135935761358e82613a40565b613605565b61359c826138b4565b600f60009054906101000a90046001600160a01b03166001600160a01b03166344df8e706040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156135ec57600080fd5b505af1158015613600573d6000803e3d6000fd5b505050505b50505050565b6001600160a01b0382811660009081526003602052604090206001015416613631575050565b6001600160a01b03808316600090815260036020526040902060010154168061365957505050565b600160005b8160010361366f57506103e8613694565b60028210158015613681575060058211155b1561368f57506101f4613694565b5061012c5b6013546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156136dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613701919061450b565b90508060000361371357505050505050565b6000612710613722848861449e565b61372c91906144f7565b90508082101561374c5750600e805460ff60a01b1916600160a01b179055805b6001600160a01b03851660009081526003602052604090206002015484116138605760135460405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af11580156137c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137e5919061455b565b506001600160a01b038516600090815260036020526040812060090180548392906138119084906144b5565b90915550506001600160a01b038516600090815260036020526040812060110180548392906138419084906144b5565b9250508190555080600b600082825461385a91906144b5565b90915550505b8361386a816144c8565b6001600160a01b039687166000908152600360205260409020600101549096169594505050600f8311801591506138a957506001600160a01b03831615155b61365e575050505050565b806000036138bf5750565b600f546040805160028082526060820183526001600160a01b0390931692600092602083019080368337505060125482519293506001600160a01b03169183915060009061390f5761390f614590565b6001600160a01b03928316602091820292909201015260135482519116908290600190811061394057613940614590565b6001600160a01b03928316602091820292909201015260125460145460405163095ea7b360e01b815290831660048201526024810186905291169063095ea7b3906044016020604051808303816000875af11580156139a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139c7919061455b565b506014546001600160a01b0316635c11d79584600084866139e942603c612f78565b6040518663ffffffff1660e01b8152600401613a099594939291906148ce565b600060405180830381600087803b158015613a2357600080fd5b505af1158015613a37573d6000803e3d6000fd5b50505050505050565b6012546040516370a0823160e01b815230600482015282916001600160a01b0316906370a0823190602401602060405180830381865afa158015613a88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613aac919061450b565b1015613ab55750565b613ac0816002612eb4565b9050613acb816138b4565b6012546013546001600160a01b039182169116600080613ae9613f0f565b90925090506000613afe836104728885612ef6565b600f54604051630928a5dd60e11b8152600481018390529192506001600160a01b0316906312514bba906024016020604051808303816000875af1158015613b4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b6e919061450b565b60125460145460405163095ea7b360e01b81526001600160a01b039182166004820152602481018a905292935088928492600092839242928492169063095ea7b3906044016020604051808303816000875af1158015613bd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bf6919061455b565b5060135460145460405163095ea7b360e01b81526001600160a01b039182166004820152602481018a905291169063095ea7b3906044016020604051808303816000875af1158015613c4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c70919061455b565b5060145460405162e8e33760e81b81526001600160a01b038d811660048301528c8116602483015260448201899052606482018890526084820187905260a4820186905283811660c483015260e482018590529091169063e8e3370090610104016060604051808303816000875af1158015613cf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d14919061490a565b505050505050505050505050505050565b60095460009081526005602052604090205415613d3e57565b6000613d51670de0b6b3a7640000610f9d565b600954600090815260056020526040808220839055601254600e5491516370a0823160e01b81526001600160a01b03928316600482015293945091929116906370a0823190602401602060405180830381865afa158015613db6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dda919061450b565b905080600003613de8575050565b613dfd61023b670de0b6b3a7640000836144f7565b613e0f90670de0b6b3a764000061449e565b600a8190556040805184815260208101929092524282820152517f3beeb97c70b9bc58c258624be4892e27eaaf305bc905a35bac52883898db6ce69181900360600190a15050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008184841115613ecb5760405162461bcd60e51b81526004016106d2919061436d565b506000613ed8848661457d565b95945050505050565b60008183613f025760405162461bcd60e51b81526004016106d2919061436d565b506000613ed884866144f7565b600080600080600e60009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015613f68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f8c9190614954565b506001600160701b031691506001600160701b031691506000600e60009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015613ff8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061401c91906149a4565b6012549091506001600160a01b039081169082160361404057829450819350614047565b8194508293505b5050509091565b60405180610280016040528060006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160608152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6001600160a01b0381168114612e6657600080fd5b60006020828403121561412057600080fd5b8135612eab816140f9565b60006020828403121561413d57600080fd5b5035919050565b60008060006060848603121561415957600080fd5b8335614164816140f9565b95602085013595506040909401359392505050565b60005b8381101561419457818101518382015260200161417c565b50506000910152565b600081518084526141b5816020860160208601614179565b601f01601f19169290920160200192915050565b80516001600160a01b03168252600061028060208301516141f560208601826001600160a01b03169052565b506040830151604085015260608301518160608601526142178286018261419d565b6080858101519087015260a0808601519087015260c0808601519087015260e08086015190870152610100808601519087015261012080860151908701526101408086015190870152610160808601519087015261018080860151908701526101a080860151908701526101c080860151908701526101e08086015190870152610200808601519087015261022080860151908701526102408086015190870152610260948501519490950193909352509192915050565b6000604082016040835280855180835260608501915060608160051b8601019250602080880160005b8381101561432657605f198887030185526143148683516141c9565b955093820193908201906001016142f8565b50509490940194909452949350505050565b6000806040838503121561434b57600080fd5b50508035926020909101359150565b602081526000612eab60208301846141c9565b602081526000612eab602083018461419d565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156143bf576143bf614380565b604052919050565b600060208083850312156143da57600080fd5b823567ffffffffffffffff808211156143f257600080fd5b818501915085601f83011261440657600080fd5b81358181111561441857614418614380565b61442a601f8201601f19168501614396565b9150808252868482850101111561444057600080fd5b8084840185840137600090820190930192909252509392505050565b6000806040838503121561446f57600080fd5b823561447a816140f9565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417612eae57612eae614488565b80820180821115612eae57612eae614488565b6000600182016144da576144da614488565b5060010190565b634e487b7160e01b600052601260045260246000fd5b600082614506576145066144e1565b500490565b60006020828403121561451d57600080fd5b5051919050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60006020828403121561456d57600080fd5b81518015158114612eab57600080fd5b81810381811115612eae57612eae614488565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156145df5781516001600160a01b0316875295820195908201906001016145ba565b509495945050505050565b82815260406020820152600061460360408301846145a6565b949350505050565b6000602080838503121561461e57600080fd5b825167ffffffffffffffff8082111561463657600080fd5b818501915085601f83011261464a57600080fd5b81518181111561465c5761465c614380565b8060051b915061466d848301614396565b818152918301840191848101908884111561468757600080fd5b938501935b83851015610f915784518252938501939085019061468c565b600181811c908216806146b957607f821691505b602082108103610ed057634e487b7160e01b600052602260045260246000fd5b6000826146e8576146e86144e1565b500690565b600082516146ff818460208701614179565b9190910192915050565b60208082526024908201527f416d6f756e74206d7573742062652067726561746572207468616e20313030206040820152631554d11560e21b606082015260800190565b601f82111561479357600081815260208120601f850160051c810160208610156147745750805b601f850160051c820191505b8181101561311f57828155600101614780565b505050565b815167ffffffffffffffff8111156147b2576147b2614380565b6147c6816147c084546146a5565b8461474d565b602080601f8311600181146147fb57600084156147e35750858301515b600019600386901b1c1916600185901b17855561311f565b600085815260208120601f198616915b8281101561482a5788860151825594840194600190910190840161480b565b50858210156148485787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808354614866816146a5565b6001828116801561487e5760018114614893576148c2565b60ff19841687528215158302870194506148c2565b8760005260208060002060005b858110156148b95781548a8201529084019082016148a0565b50505082870194505b50929695505050505050565b85815284602082015260a0604082015260006148ed60a08301866145a6565b6001600160a01b0394909416606083015250608001529392505050565b60008060006060848603121561491f57600080fd5b8351925060208401519150604084015190509250925092565b80516001600160701b038116811461494f57600080fd5b919050565b60008060006060848603121561496957600080fd5b61497284614938565b925061498060208501614938565b9150604084015163ffffffff8116811461499957600080fd5b809150509250925092565b6000602082840312156149b657600080fd5b8151612eab816140f956fe4142434445464748494a4b4c4d4e4f505152535455565758595a30313233343536373839a26469706673582212200ad88daf04e1bb5b2712031b676e5a695bfed1d3cffa2b6e89da00ff46891bda64736f6c63430008120033608060405234801561001057600080fd5b5060405161054438038061054483398101604081905261002f91610062565b60008054336001600160a01b031991821617909155600180549091166001600160a01b0392909216919091179055610092565b60006020828403121561007457600080fd5b81516001600160a01b038116811461008b57600080fd5b9392505050565b6104a3806100a16000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806312514bba1461005157806344df8e7014610077578063547979ff14610081578063b2bdfa7b146100ac575b600080fd5b61006461005f366004610412565b6100bf565b6040519081526020015b60405180910390f35b61007f610298565b005b600154610094906001600160a01b031681565b6040516001600160a01b03909116815260200161006e565b600054610094906001600160a01b031681565b600080546001600160a01b031633146101135760405162461bcd60e51b81526020600482015260116024820152701c195c9b5a5cdcda5bdb8819195b9a5959607a1b60448201526064015b60405180910390fd5b600082116101635760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604482015260640161010a565b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156101ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d0919061042b565b9050828110156101de578092505b60015460405163a9059cbb60e01b8152336004820152602481018590526001600160a01b039091169063a9059cbb906044016020604051808303816000875af115801561022f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102539190610444565b6102915760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161010a565b5090919050565b6000546001600160a01b031633146102e65760405162461bcd60e51b81526020600482015260116024820152701c195c9b5a5cdcda5bdb8819195b9a5959607a1b604482015260640161010a565b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa15801561032f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610353919061042b565b9050801561040f5760015460405163a9059cbb60e01b815260006004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156103ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d19190610444565b61040f5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161010a565b50565b60006020828403121561042457600080fd5b5035919050565b60006020828403121561043d57600080fd5b5051919050565b60006020828403121561045657600080fd5b8151801515811461046657600080fd5b939250505056fea264697066735822122056dec8dcb45edfee78596d16143e445b60a4f00bad106cdf74ed6eb34a30788664736f6c63430008120033608060405234801561001057600080fd5b506040516103b53803806103b583398101604081905261002f91610062565b60008054336001600160a01b031991821617909155600180549091166001600160a01b0392909216919091179055610092565b60006020828403121561007457600080fd5b81516001600160a01b038116811461008b57600080fd5b9392505050565b610314806100a16000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806312514bba14610046578063b2bdfa7b1461006c578063ecd1d70e14610097575b600080fd5b610059610054366004610283565b6100aa565b6040519081526020015b60405180910390f35b60005461007f906001600160a01b031681565b6040516001600160a01b039091168152602001610063565b60015461007f906001600160a01b031681565b600080546001600160a01b031633146100fe5760405162461bcd60e51b81526020600482015260116024820152701c195c9b5a5cdcda5bdb8819195b9a5959607a1b60448201526064015b60405180910390fd5b6000821161014e5760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e203000000060448201526064016100f5565b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101bb919061029c565b9050828110156101c9578092505b60015460405163a9059cbb60e01b8152336004820152602481018590526001600160a01b039091169063a9059cbb906044016020604051808303816000875af115801561021a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023e91906102b5565b61027c5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b60448201526064016100f5565b5090919050565b60006020828403121561029557600080fd5b5035919050565b6000602082840312156102ae57600080fd5b5051919050565b6000602082840312156102c757600080fd5b815180151581146102d757600080fd5b939250505056fea264697066735822122035c120850d4cc1fd7efcd5fdb90002bcc273717d33972e65f421d16fc958955c64736f6c634300081200336080604052600280546001600160a01b0319908116735de2d4b00de607dd8ab01bf3cf890b74b95a8fd2179091556003805482167375e96b5c3eab1775be923c46a7454e1459283ae21790556004805482167377bb9ca6ccb0f2d9fda45a2a57039f783dcd94a917905560058054821673ff923877baba761d3667d11edf0e0dd6fc624abe179055600680548216736fb5e531b6034fca35d5f59d4974c38383cce6a6179055600780549091167305352c3296cd3ee619f40247ba58d2708ae252c41790553480156100d057600080fd5b5060405161089a38038061089a8339810160408190526100ef91610122565b60008054336001600160a01b031991821617909155600180549091166001600160a01b0392909216919091179055610152565b60006020828403121561013457600080fd5b81516001600160a01b038116811461014b57600080fd5b9392505050565b610739806101616000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80632966b971116100665780632966b971146100f757806337f478be1461010a5780638e9ec4f11461011d5780639fc5594314610130578063b2bdfa7b1461014357600080fd5b8063109f7bac1461009857806311aaa3e9146100c757806314266a33146100d157806328e57fee146100e4575b600080fd5b6005546100ab906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6100cf610156565b005b6007546100ab906001600160a01b031681565b6004546100ab906001600160a01b031681565b6002546100ab906001600160a01b031681565b6001546100ab906001600160a01b031681565b6006546100ab906001600160a01b031681565b6003546100ab906001600160a01b031681565b6000546100ab906001600160a01b031681565b6000546001600160a01b031633146101a95760405162461bcd60e51b81526020600482015260116024820152701c195c9b5a5cdcda5bdb8819195b9a5959607a1b60448201526064015b60405180910390fd5b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156101f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102169190610630565b9050801561053857600061022b82600561053b565b9050600061023a82600261053b565b60015460025460405163a9059cbb60e01b81526001600160a01b03918216600482015260248101869052929350169063a9059cbb906044016020604051808303816000875af1158015610291573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b59190610649565b5060015460035460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810185905291169063a9059cbb906044016020604051808303816000875af115801561030b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032f9190610649565b506001546004805460405163a9059cbb60e01b81526001600160a01b0391821692810192909252602482018590529091169063a9059cbb906044016020604051808303816000875af1158015610389573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ad9190610649565b5060015460055460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810185905291169063a9059cbb906044016020604051808303816000875af1158015610403573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104279190610649565b5060015460065460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303816000875af115801561047d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a19190610649565b506001546007546001600160a01b039182169163a9059cbb91166104c58585610586565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610510573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105349190610649565b5050505b50565b600061057d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506105c8565b90505b92915050565b600061057d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506105ff565b600081836105e95760405162461bcd60e51b81526004016101a09190610672565b5060006105f684866106c0565b95945050505050565b600081848411156106235760405162461bcd60e51b81526004016101a09190610672565b5060006105f684866106e2565b60006020828403121561064257600080fd5b5051919050565b60006020828403121561065b57600080fd5b8151801515811461066b57600080fd5b9392505050565b600060208083528351808285015260005b8181101561069f57858101830151858201604001528201610683565b506000604082860101526040601f19601f8301168501019250505092915050565b6000826106dd57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561058057634e487b7160e01b600052601160045260246000fdfea2646970667358221220253ef3f2a5c2115d252d8b565610f57220dce5f3715d38610e91400e00ed2bb064736f6c634300081200334142434445464748494a4b4c4d4e4f505152535455565758595a3031323334353637383900000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e00000000000000000000000055d398326f99059ff775485246999027b3197955000000000000000000000000a347fcf5eb152403aed529d15e9d1014d7808ce6000000000000000000000000d45926a17d0394b78afb552d372c120ea978556f0000000000000000000000000000000000000000000000000000000068bdac00