0 txs
1 call
constructor
constructor()
functions
_owner
viewfunction _owner() view returns (address)
address1
viewfunction address1() view returns (address)
address2
viewfunction address2() view returns (address)
airamount
viewfunction airamount() view returns (uint256)
fan1
viewfunction fan1() view returns (uint256)
fan2
viewfunction fan2() view returns (uint256)
find_airid
viewfunction find_airid(address _user) view returns (uint256 _airid)
find_reid
viewfunction find_reid(address _user) view returns (uint256 _reid)
find_time
viewfunction find_time() view returns (uint32 _time)
find_token
viewfunction find_token() view returns (address _token)
find_tokenid
viewfunction find_tokenid(address _user) view returns (uint256 _tokenid)
find_usdt
viewfunction find_usdt() view returns (address _usdt)
find_usdtid
viewfunction find_usdtid(address _user) view returns (uint256 _usdtid)
get_200airamount
viewfunction get_200airamount() view returns (uint256 amount)
get_priceethethtoken
viewfunction get_priceethethtoken(uint256 dc) view returns (uint256 _priceethtoken)
get_priceethtokenusdt
viewfunction get_priceethtokenusdt(uint256 dc) view returns (uint256 _priceethtoken)
get_priceethusdt
viewfunction get_priceethusdt(uint256 dc) view returns (uint256 _priceeth)
get_user_outTokenTime
viewfunction get_user_outTokenTime(address _user) view returns (uint256 _outTokenTime)
get_user_outUsdtTime
viewfunction get_user_outUsdtTime(address _user) view returns (uint256 _outUsdtTime)
getairamount
viewfunction getairamount() view returns (uint256 _amount)
getMessageHash3
purefunction getMessageHash3(address _user, address _token, uint256 _num, uint256 _txid, uint32 _time) pure returns (bytes32)
getMessageHashAir
purefunction getMessageHashAir(address _user, address _token, uint256 _num, uint256 _txid, uint32 _time) pure returns (bytes32)
getMessageHashold
purefunction getMessageHashold(string _num) pure returns (bytes32)
getMessageHashRe
purefunction getMessageHashRe(address _user, address _token, uint256 _num, uint256 _txid, uint32 _time) pure returns (bytes32)
getsatic
viewfunction getsatic() view returns (address _usdt, address _wituser, address _vuser, uint256 _nodeprice)
getSellamount
viewfunction getSellamount(address account) view returns (uint256 amount)
getstatics
viewfunction getstatics() view returns (uint256 _topusdt, uint256 _roomusdt, address _toaddress, uint256 _toptoken, uint256 _roomtoken, address _usdt, address _eth, address _token, address _rote_u_e, address _rote_e_t, address _rote_u_t)
getuser
viewfunction getuser(address account) view returns (uint256 all_amount, uint256 buy_amount, uint256 lock_amount, uint256 free_amount, uint256 old_amount, uint256 price_amount, uint256 app_amount)
implementation
viewfunction implementation() view returns (address)
map1
viewfunction map1(address) view returns (uint256)
map2
viewfunction map2(address) view returns (uint256)
nodeprice
viewfunction nodeprice() view returns (uint256)
owner
viewfunction owner() view returns (address)
price
viewfunction price() view returns (uint256)
recoverSigner
purefunction recoverSigner(bytes32 _msgHash, bytes _signature) pure returns (address)
toEthSignedMessageHash
purefunction toEthSignedMessageHash(bytes32 hash) pure returns (bytes32)
tokentype
viewfunction tokentype() view returns (bool)
uniswapV2Router
viewfunction uniswapV2Router() view returns (address)
usernode
viewfunction usernode(address) view returns (bool)
verify
purefunction verify(bytes32 _msgHash, bytes _signature, address _signer) pure returns (bool)
admin_add_airroom
nonpayablefunction admin_add_airroom(uint256 _num)
admin_add_reroom
nonpayablefunction admin_add_reroom(uint256 _num)
admin_add_usdtroom
nonpayablefunction admin_add_usdtroom(uint256 _num)
admin_change_outTokenTime
nonpayablefunction admin_change_outTokenTime(address _user, uint256 _new)
admin_change_outUsdtTime
nonpayablefunction admin_change_outUsdtTime(address _user, uint256 _new)
admin_change_vuser
nonpayablefunction admin_change_vuser(address newv)
admin_change_wituser
nonpayablefunction admin_change_wituser(address newwit)
admin_delete_airroom
nonpayablefunction admin_delete_airroom(uint256 _num)
admin_delete_reroom
nonpayablefunction admin_delete_reroom(uint256 _num)
admin_delete_tokenroom
nonpayablefunction admin_delete_tokenroom(uint256 _num)
admin_delete_usdtroom
nonpayablefunction admin_delete_usdtroom(uint256 _num)
admin_set_airamount
nonpayablefunction admin_set_airamount(uint256 newairamount)
admin_set_airtop
nonpayablefunction admin_set_airtop(uint256 _top)
admin_set_prices
nonpayablefunction admin_set_prices(uint256 newprice, uint256 newairamount)
admin_set_retop
nonpayablefunction admin_set_retop(uint256 _top)
admin_set_route
nonpayablefunction admin_set_route(address _rote_u_e, address _rote_e_t, address _rote_u_t)
admin_set_toaddress
nonpayablefunction admin_set_toaddress(address newtoaddress)
admin_set_token
nonpayablefunction admin_set_token(address _usdt, address _eth, address _token)
admin_set_tokentop
nonpayablefunction admin_set_tokentop(uint256 _top)
admin_set_tokentype
nonpayablefunction admin_set_tokentype(bool newtype)
admin_set_usdttop
nonpayablefunction admin_set_usdttop(uint256 _top)
AdminadSellAmount
nonpayablefunction AdminadSellAmount(address _user, uint256 _num)
AirdropAdmin
nonpayablefunction AirdropAdmin(address _user)
changeOwner
nonpayablefunction changeOwner(address newOwner)
releaseAdmin
nonpayablefunction releaseAdmin(address _user, uint256 toamount)
sell
nonpayablefunction sell(uint256 toamount)
sellAdmin
nonpayablefunction sellAdmin(address _user)
transferToken
nonpayablefunction transferToken(address tokenAddress, address toAddress, uint256 value)
transferUsdt
nonpayablefunction transferUsdt(address toAddress, uint256 value, uint256 tid2)
upgrade
nonpayablefunction upgrade(address newImplementation)
userAirdrop
payablefunction userAirdrop() payable
userBuyNode
nonpayablefunction userBuyNode()
withdrawal_eth
nonpayablefunction withdrawal_eth(address _to)
withdrawlock
nonpayablefunction withdrawlock(address _user, address _token, uint256 _num, uint256 _txid, uint32 _time, bytes _signature)
withdrawre
nonpayablefunction withdrawre(address _user, address _token, uint256 _num, uint256 _txid, uint32 _time, bytes _signature)
withdrawtoken
nonpayablefunction withdrawtoken(address _user, address _token, uint256 _num, uint256 _txid, uint32 _time, bytes _signature)
withdrawusdt
nonpayablefunction withdrawusdt(address _user, address _token, uint256 _num, uint256 _txid, uint32 _time, bytes _signature)
events
Logs
event Logs(uint256 types, address user, uint256 amount, uint256 tid)
errors
No errors.
creation bytecode
0x6080604052600280546001600160a01b03199081167355d398326f99059ff775485246999027b319795517825560038054821673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c1790556004805482167392128cd39b9d771b33110be5eb86cb809223e55c1790556005805482167316b9a82891338f9ba80e2d6970fdda79d1eb0dae90811790915560068054831690911790556007805482167302547827dad0523cc58c433b6d637d2a8424b9f11790556008805482167310ed43c718714eb63d5aa57b78b54704e256024e1790556009805482167309ea7db20424e24cb3c38ca15e4cd7f2f9a45000908117909155600a805483169091179055600b8054909116735240b4ff1c7467d8b8011cae07a6478d6989f33117905560145560c860155561012c601655680ad78ebc5ac62000006018819055686c6b935b8bbd4000006019819055601a829055601b819055601c829055601d819055601e91909155601f556020805460ff191660011790555f6021819055602255348015610185575f5ffd5b505f80546001600160a01b03191633179055613fbc806101a45f395ff3fe608060405260043610610445575f3560e01c806384ef432711610236578063b2eaf10b11610134578063e1d241aa116100b3578063f45a7f0511610078578063f45a7f0514610d8a578063f5537ede14610db8578063f720625b14610dd7578063fc97786614610df6578063febd651a14610e13575f5ffd5b8063e1d241aa14610d04578063e4849b3214610d23578063e860d50914610d42578063f24764a414610d56578063f38d0c6414610d75575f5ffd5b8063ca62f1a3116100f9578063ca62f1a3146108f1578063cbe0121c14610c53578063cc1b298a14610c72578063cd57187414610c91578063d5ed828414610ce5575f5ffd5b8063b2eaf10b14610ba0578063ba299fcf14610bbf578063ba2bec7214610bd3578063be38cf0e14610c1f578063c1e3c04214610c3e575f5ffd5b80639d0da04e116101c0578063a6f9dae111610185578063a6f9dae114610b25578063a6fc2604146108f1578063aa7a803d14610b44578063abbd201114610b63578063b2bdfa7b14610b82575f5ffd5b80639d0da04e14610a9e5780639d85bc3a14610ab35780639eea4a3a14610ad2578063a035b1fe14610af1578063a5d6769214610b06575f5ffd5b80638fc16f3f116102065780638fc16f3f14610a03578063918a15cf14610a2257806397aba7f914610a415780639982714c14610a605780639b19c60b14610a7f575f5ffd5b806384ef43271461098c57806388f3a436146109ab578063892b6470146109df5780638da5cb5b146109e7575f5ffd5b80634d661207116103435780636bf12e7b116102cd57806378673a321161029257806378673a32146108f15780637a44173514610910578063813f13ce1461092f578063823ac3731461094e5780638372e1761461096d575f5ffd5b80636bf12e7b1461085657806370ba83ed1461087557806376ebb8291461089457806377e1e8da146108b357806378365de3146108d2575f5ffd5b806355e0b7f61161031357806355e0b7f6146107d95780635c60da1b146107f95780635c695471146108185780636205a46f146108375780636a69c46c146106a3575f5ffd5b80634d6612071461075d578063533ea2121461077c57806353a7675d14610791578063549d0252146107ba575f5ffd5b806319324fce116103cf57806336bee3b71161039457806336bee3b7146106c25780633a36399e146106e15780633b3987bd146107005780633bb9144c1461071f5780633c1611e81461073e575f5ffd5b806319324fce1461061a5780631aa21450146106455780631b75fd4e146106705780632f7421161461068457806335edc245146106a3575f5ffd5b80630f027aa7116104155780630f027aa7146105085780631241c3fe1461052757806312e85787146105465780631694505e146105dc578063173ddc0b146105fb575f5ffd5b80630900f010146104505780630db825b5146104715780630e340149146104a35780630edf08c8146104d7575f5ffd5b3661044c57005b5f5ffd5b34801561045b575f5ffd5b5061046f61046a3660046137e8565b610e32565b005b34801561047c575f5ffd5b5061049061048b3660046137e8565b610e86565b6040519081526020015b60405180910390f35b3480156104ae575f5ffd5b506104906104bd3660046137e8565b6001600160a01b03165f9081526011602052604090205490565b3480156104e2575f5ffd5b506002546001600160a01b03165b6040516001600160a01b03909116815260200161049a565b348015610513575f5ffd5b5061046f610522366004613803565b610eaf565b348015610532575f5ffd5b5061046f610541366004613803565b610f01565b348015610551575f5ffd5b50601854601954601a54601b54600b54600254600354600454600554600654600754604080519b8c5260208c019a909a526001600160a01b03968716998b019990995260608a0197909752608089019590955291831660a0880152821660c0870152811660e0860152908116610100850152908116610120840152166101408201526101600161049a565b3480156105e7575f5ffd5b506008546104f0906001600160a01b031681565b348015610606575f5ffd5b5061046f6106153660046138db565b610f64565b348015610625575f5ffd5b506104906106343660046137e8565b60236020525f908152604090205481565b348015610650575f5ffd5b5061049061065f3660046137e8565b60246020525f908152604090205481565b34801561067b575f5ffd5b506104906112e4565b34801561068f575f5ffd5b5061046f61069e366004613803565b611333565b3480156106ae575f5ffd5b5061046f6106bd3660046137e8565b61138f565b3480156106cd575f5ffd5b5061046f6106dc366004613803565b6113d9565b3480156106ec575f5ffd5b506025546104f0906001600160a01b031681565b34801561070b575f5ffd5b5061049061071a3660046137e8565b61143b565b34801561072a575f5ffd5b5061046f610739366004613803565b6114ac565b348015610749575f5ffd5b5061046f6107583660046137e8565b6114f8565b348015610768575f5ffd5b506104906107773660046137e8565b611558565b348015610787575f5ffd5b5061049060215481565b34801561079c575f5ffd5b506020546107aa9060ff1681565b604051901515815260200161049a565b3480156107c5575f5ffd5b506104906107d43660046137e8565b61157b565b3480156107e4575f5ffd5b5060405163ffffffff4216815260200161049a565b348015610804575f5ffd5b506001546104f0906001600160a01b031681565b348015610823575f5ffd5b5061046f610832366004613803565b61159e565b348015610842575f5ffd5b5061046f610851366004613803565b6115e1565b348015610861575f5ffd5b5061046f6108703660046137e8565b611643565b348015610880575f5ffd5b5061046f61088f36600461395b565b6116a3565b34801561089f575f5ffd5b5061046f6108ae3660046138db565b6117f9565b3480156108be575f5ffd5b5061046f6108cd366004613803565b611af2565b3480156108dd575f5ffd5b5061046f6108ec366004613803565b611b3e565b3480156108fc575f5ffd5b5061049061090b36600461398d565b611b81565b34801561091b575f5ffd5b5061046f61092a3660046139e4565b611beb565b34801561093a575f5ffd5b5061046f6109493660046138db565b611c2f565b348015610959575f5ffd5b506107aa610968366004613a0e565b611f27565b348015610978575f5ffd5b5061046f6109873660046139e4565b611f4e565b348015610997575f5ffd5b5061046f6109a63660046138db565b611f92565b3480156109b6575f5ffd5b506104906109c53660046137e8565b6001600160a01b03165f9081526010602052604090205490565b61046f612286565b3480156109f2575f5ffd5b505f546001600160a01b03166104f0565b348015610a0e575f5ffd5b5061046f610a1d366004613803565b612319565b348015610a2d575f5ffd5b50610490610a3c366004613803565b61235c565b348015610a4c575f5ffd5b506104f0610a5b366004613a65565b6123af565b348015610a6b575f5ffd5b50610490610a7a366004613aa9565b612473565b348015610a8a575f5ffd5b50610490610a99366004613803565b612485565b348015610aa9575f5ffd5b5061049060165481565b348015610abe575f5ffd5b5061046f610acd366004613afb565b61256c565b348015610add575f5ffd5b506026546104f0906001600160a01b031681565b348015610afc575f5ffd5b5061049060145481565b348015610b11575f5ffd5b5061046f610b203660046139e4565b6125bd565b348015610b30575f5ffd5b5061046f610b3f3660046137e8565b612671565b348015610b4f575f5ffd5b5061046f610b5e3660046137e8565b6126bb565b348015610b6e575f5ffd5b5061046f610b7d366004613b16565b612706565b348015610b8d575f5ffd5b505f546104f0906001600160a01b031681565b348015610bab575f5ffd5b5061046f610bba366004613b53565b61276e565b348015610bca575f5ffd5b506104906127b7565b348015610bde575f5ffd5b50600254600954600a54601654604080516001600160a01b03958616815293851660208501529390911692820192909252606081019190915260800161049a565b348015610c2a575f5ffd5b5061046f610c39366004613803565b6127f5565b348015610c49575f5ffd5b5061049060225481565b348015610c5e575f5ffd5b5061046f610c6d3660046137e8565b612838565b348015610c7d575f5ffd5b50610490610c8c366004613803565b612883565b348015610c9c575f5ffd5b50610cb0610cab3660046137e8565b612935565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e00161049a565b348015610cf0575f5ffd5b5061046f610cff3660046139e4565b612cd0565b348015610d0f575f5ffd5b50610490610d1e366004613803565b612d18565b348015610d2e575f5ffd5b5061046f610d3d366004613803565b612d47565b348015610d4d575f5ffd5b5061046f612f68565b348015610d61575f5ffd5b5061046f610d70366004613b16565b613106565b348015610d80575f5ffd5b5061049060155481565b348015610d95575f5ffd5b506107aa610da43660046137e8565b60176020525f908152604090205460ff1681565b348015610dc3575f5ffd5b5061046f610dd2366004613b73565b61316e565b348015610de2575f5ffd5b5061046f610df1366004613803565b61320c565b348015610e01575f5ffd5b506004546001600160a01b03166104f0565b348015610e1e575f5ffd5b50610490610e2d3660046137e8565b61324f565b5f546001600160a01b03163314610e645760405162461bcd60e51b8152600401610e5b90613bb1565b60405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381165f908152600f6020526040812054610ea9906001613bfa565b92915050565b6009546001600160a01b0316331480610ed157505f546001600160a01b031633145b610eed5760405162461bcd60e51b8152600401610e5b90613c0d565b80601954610efb9190613bfa565b60195550565b6009546001600160a01b0316331480610f2357505f546001600160a01b031633145b610f3f5760405162461bcd60e51b8152600401610e5b90613c0d565b80601f5411610f4f575f601f5550565b80601f54610f5d9190613c2f565b601f555b50565b6001600160a01b0386165f908152600e6020526040812054610f9b90610a3c90339089908990610f95906001613bfa565b88611b81565b600a54909150610fb790829084906001600160a01b0316611f27565b610fd35760405162461bcd60e51b8152600401610e5b90613c42565b6001600160a01b0387165f908152600e6020526040902054610ff6906001613bfa565b84146110145760405162461bcd60e51b8152600401610e5b90613c72565b4263ffffffff168363ffffffff1610156110405760405162461bcd60e51b8152600401610e5b90613c94565b6001600160a01b0386166001146110695760405162461bcd60e51b8152600401610e5b90613cb8565b601c5485111561108b5760405162461bcd60e51b8152600401610e5b90613cd9565b601d548511156110ad5760405162461bcd60e51b8152600401610e5b90613cf8565b6001600160a01b03871633146110d55760405162461bcd60e51b8152600401610e5b90613d18565b6001600160a01b0387165f90815260126020526040902054421161110b5760405162461bcd60e51b8152600401610e5b90613d39565b6170806201518061111c4283613bfa565b6111269190613d6d565b61113242617080613bfa565b61113c9190613d80565b6111469190613d80565b6111539062015180613d9c565b6001600160a01b0388165f90815260126020526040902063ffffffff919091169055601d54611183908690613c2f565b601d55335f908152600e60205260408120546111a0906001613bfa565b335f908152600e6020526040812080549293506001929091906111c4908490613bfa565b90915550506004805460405163a9059cbb60e01b81526001600160a01b039091169163a9059cbb916111fa9133918b9101613db8565b6020604051808303815f875af1158015611216573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123a9190613dd1565b50600480546040516327260b1f60e21b81526001600160a01b0390911691639c982c7c9161126e91309133918c9101613dec565b6020604051808303815f875af115801561128a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ae9190613dd1565b505f516020613f675f395f51905f52602d8988846040516112d29493929190613e10565b60405180910390a15050505050505050565b5f61132e6112f9670de0b6b3a7640000612485565b611328670de0b6b3a7640000611322670de0b6b3a764000060145461327290919063ffffffff16565b90613272565b906132f7565b905090565b6009546001600160a01b031633148061135557505f546001600160a01b031633145b6113715760405162461bcd60e51b8152600401610e5b90613c0d565b8060195411611381575f60195550565b80601954610efb9190613c2f565b6009546001600160a01b03163314806113b157505f546001600160a01b031633145b6113cd5760405162461bcd60e51b8152600401610e5b90613c0d565b610f6181601554613338565b6009546001600160a01b03163314806113fb57505f546001600160a01b031633145b6114175760405162461bcd60e51b8152600401610e5b90613c0d565b80601d5411611427575f601d5550565b80601d546114359190613c2f565b601d5550565b60048054604051633b3987bd60e01b81526001600160a01b03848116938201939093525f9290911690633b3987bd90602401602060405180830381865afa158015611488573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea99190613e34565b6009546001600160a01b03163314806114ce57505f546001600160a01b031633145b6114ea5760405162461bcd60e51b8152600401610e5b90613c0d565b80601f54610f5d9190613bfa565b6009546001600160a01b031633148061151a57505f546001600160a01b031633145b6115365760405162461bcd60e51b8152600401610e5b90613c0d565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381165f908152600d6020526040812054610ea9906001613bfa565b6001600160a01b0381165f908152600e6020526040812054610ea9906001613bfa565b6009546001600160a01b03163314806115c057505f546001600160a01b031633145b6115dc5760405162461bcd60e51b8152600401610e5b90613c0d565b601a55565b6009546001600160a01b031633148061160357505f546001600160a01b031633145b61161f5760405162461bcd60e51b8152600401610e5b90613c0d565b80601b541161162f575f601b5550565b80601b5461163d9190613c2f565b601b5550565b6009546001600160a01b0316331461166d5760405162461bcd60e51b8152600401610e5b90613c0d565b6040516001600160a01b038216904780156108fc02915f818181858888f1935050505015801561169f573d5f5f3e3d5ffd5b5050565b6001600160a01b0383165f908152600c60205260409020546116c6906001613bfa565b81146116e45760405162461bcd60e51b8152600401610e5b90613c72565b6009546001600160a01b0316331461170e5760405162461bcd60e51b8152600401610e5b90613c0d565b60025460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906117409086908690600401613db8565b6020604051808303815f875af115801561175c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117809190613dd1565b506001600160a01b0383165f908152600c602052604081208054600192906117a9908490613bfa565b90915550506001600160a01b0383165f908152600c6020526040908190205490515f516020613f675f395f51905f52906117eb90600190879087908690613e10565b60405180910390a150505050565b6001600160a01b0386165f908152600c602052604081205461182a90610a3c90339089908990610f95906001613bfa565b600a5490915061184690829084906001600160a01b0316611f27565b6118625760405162461bcd60e51b8152600401610e5b90613c42565b6001600160a01b0387165f908152600c6020526040902054611885906001613bfa565b84146118a35760405162461bcd60e51b8152600401610e5b90613c72565b4263ffffffff168363ffffffff1610156118cf5760405162461bcd60e51b8152600401610e5b90613c94565b6002546001600160a01b038781169116146118fc5760405162461bcd60e51b8152600401610e5b90613cb8565b60185485111561191e5760405162461bcd60e51b8152600401610e5b90613cd9565b6019548511156119405760405162461bcd60e51b8152600401610e5b90613cf8565b6001600160a01b03871633146119685760405162461bcd60e51b8152600401610e5b90613d18565b6001600160a01b0387165f90815260106020526040902054421161199e5760405162461bcd60e51b8152600401610e5b90613d39565b617080620151806119af4283613bfa565b6119b99190613d6d565b6119c542617080613bfa565b6119cf9190613d80565b6119d99190613d80565b6119e69062015180613d9c565b6001600160a01b0388165f90815260106020526040902063ffffffff919091169055601954611a16908690613c2f565b601955335f908152600c6020526040812054611a33906001613bfa565b335f908152600c602052604081208054929350600192909190611a57908490613bfa565b909155505060025460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb90611a8e9033908a90600401613db8565b6020604051808303815f875af1158015611aaa573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ace9190613dd1565b505f516020613f675f395f51905f52602b8988846040516112d29493929190613e10565b6009546001600160a01b0316331480611b1457505f546001600160a01b031633145b611b305760405162461bcd60e51b8152600401610e5b90613c0d565b80601d546114359190613bfa565b6009546001600160a01b0316331480611b6057505f546001600160a01b031633145b611b7c5760405162461bcd60e51b8152600401610e5b90613c0d565b601855565b60408051606096871b6bffffffffffffffffffffffff199081166020808401919091529690971b90961660348701526048860193909352606885019190915260e01b6001600160e01b03191660888401528051606c818503018152608c9093019052815191012090565b5f546001600160a01b03163314611c145760405162461bcd60e51b8152600401610e5b90613bb1565b6001600160a01b039091165f90815260106020526040902055565b6001600160a01b0386165f908152600c6020526040812054611c6090610a3c90339089908990610f95906001613bfa565b600a54909150611c7c90829084906001600160a01b0316611f27565b611c985760405162461bcd60e51b8152600401610e5b90613c42565b6001600160a01b0387165f908152600d6020526040902054611cbb906001613bfa565b8414611cd95760405162461bcd60e51b8152600401610e5b90613c72565b4263ffffffff168363ffffffff161015611d055760405162461bcd60e51b8152600401610e5b90613c94565b6004546001600160a01b03878116911614611d325760405162461bcd60e51b8152600401610e5b90613cb8565b601a54851115611d545760405162461bcd60e51b8152600401610e5b90613cd9565b601b54851115611d765760405162461bcd60e51b8152600401610e5b90613cf8565b6001600160a01b0387163314611d9e5760405162461bcd60e51b8152600401610e5b90613d18565b6001600160a01b0387165f908152601160205260409020544211611dd45760405162461bcd60e51b8152600401610e5b90613d39565b61708062015180611de54283613bfa565b611def9190613d6d565b611dfb42617080613bfa565b611e059190613d80565b611e0f9190613d80565b611e1c9062015180613d9c565b6001600160a01b0388165f90815260116020526040902063ffffffff919091169055601b54611e4c908690613c2f565b601b55335f908152600c6020526040812054611e69906001613bfa565b335f908152600d602052604081208054929350600192909190611e8d908490613bfa565b90915550506004805460405163a9059cbb60e01b81526001600160a01b039091169163a9059cbb91611ec39133918b9101613db8565b6020604051808303815f875af1158015611edf573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f039190613dd1565b505f516020613f675f395f51905f52602c8988846040516112d29493929190613e10565b5f816001600160a01b0316611f3c85856123af565b6001600160a01b031614949350505050565b5f546001600160a01b03163314611f775760405162461bcd60e51b8152600401610e5b90613bb1565b6001600160a01b039091165f90815260116020526040902055565b6001600160a01b0386165f908152600f6020526040812054611fc390610a3c90339089908990610f95906001613bfa565b600a54909150611fdf90829084906001600160a01b0316611f27565b611ffb5760405162461bcd60e51b8152600401610e5b90613c42565b6001600160a01b0387165f908152600f602052604090205461201e906001613bfa565b841461203c5760405162461bcd60e51b8152600401610e5b90613c72565b4263ffffffff168363ffffffff1610156120685760405162461bcd60e51b8152600401610e5b90613c94565b6001600160a01b0386166002146120915760405162461bcd60e51b8152600401610e5b90613cb8565b601e548511156120b35760405162461bcd60e51b8152600401610e5b90613cd9565b601f548511156120d55760405162461bcd60e51b8152600401610e5b90613cf8565b6001600160a01b03871633146120fd5760405162461bcd60e51b8152600401610e5b90613d18565b6001600160a01b0387165f9081526013602052604090205442116121335760405162461bcd60e51b8152600401610e5b90613d39565b617080620151806121444283613bfa565b61214e9190613d6d565b61215a42617080613bfa565b6121649190613d80565b61216e9190613d80565b61217b9062015180613d9c565b6001600160a01b0388165f90815260136020526040902063ffffffff919091169055601f546121ab908690613c2f565b601f55335f908152600f60205260408120546121c8906001613bfa565b335f908152600f6020526040812080549293506001929091906121ec908490613bfa565b909155505060048054604051639e9815d560e01b81526001600160a01b0390911691639e9815d5916122229133918b9101613db8565b6020604051808303815f875af115801561223e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122629190613dd1565b505f516020613f675f395f51905f52602e8988846040516112d29493929190613e10565b5f61229b6112f9670de0b6b3a7640000612485565b9050803410156122d65760405162461bcd60e51b81526020600482015260066024820152650dcde40cae8d60d31b6044820152606401610e5b565b600b546040516001600160a01b03909116903480156108fc02915f818181858888f1935050505015801561230c573d5f5f3e3d5ffd5b50610f6133601554613338565b6009546001600160a01b031633148061233b57505f546001600160a01b031633145b6123575760405162461bcd60e51b8152600401610e5b90613c0d565b601c55565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018290525f90605c015b604051602081830303815290604052805190602001209050919050565b5f81516041146124015760405162461bcd60e51b815260206004820152601860248201527f696e76616c6964207369676e6174757265206c656e67746800000000000000006044820152606401610e5b565b60208281015160408085015160608087015183515f8082529681018086528a9052951a928501839052840183905260808401819052919260019060a0016020604051602081039080840390855afa15801561245e573d5f5f3e3d5ffd5b5050604051601f190151979650505050505050565b5f816040516020016123929190613e4b565b6003546005546040516370a0823160e01b81526001600160a01b0391821660048201525f92610ea99216906370a0823190602401602060405180830381865afa1580156124d4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124f89190613e34565b6002546005546040516370a0823160e01b81526001600160a01b03918216600482015261132892879216906370a08231906024015b602060405180830381865afa158015612548573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113229190613e34565b6009546001600160a01b031633148061258e57505f546001600160a01b031633145b6125aa5760405162461bcd60e51b8152600401610e5b90613c0d565b6020805460ff1916911515919091179055565b6009546001600160a01b03163314806125df57505f546001600160a01b031633145b6125fb5760405162461bcd60e51b8152600401610e5b90613c0d565b60048054604051639e9815d560e01b81526001600160a01b0390911691639e9815d59161262c918691869101613db8565b6020604051808303815f875af1158015612648573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266c9190613dd1565b505050565b5f546001600160a01b0316331461269a5760405162461bcd60e51b8152600401610e5b90613bb1565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146126e45760405162461bcd60e51b8152600401610e5b90613bb1565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b0316331461272f5760405162461bcd60e51b8152600401610e5b90613bb1565b600580546001600160a01b039485166001600160a01b031991821617909155600680549385169382169390931790925560078054919093169116179055565b6009546001600160a01b031633148061279057505f546001600160a01b031633145b6127ac5760405162461bcd60e51b8152600401610e5b90613c0d565b601491909155601555565b5f61132e6127cc670de0b6b3a7640000612883565b611328670de0b6b3a7640000611322670de0b6b3a764000060155461327290919063ffffffff16565b6009546001600160a01b031633148061281757505f546001600160a01b031633145b6128335760405162461bcd60e51b8152600401610e5b90613c0d565b601555565b5f546001600160a01b031633146128615760405162461bcd60e51b8152600401610e5b90613bb1565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b600480546007546040516370a0823160e01b81526001600160a01b03918216938101939093525f92610ea99291909116906370a0823190602401602060405180830381865afa1580156128d8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128fc9190613e34565b6002546007546040516370a0823160e01b81526001600160a01b03918216600482015261132892879216906370a082319060240161252d565b600480546040516370a0823160e01b81526001600160a01b03848116938201939093525f92839283928392839283928392909116906370a0823190602401602060405180830381865afa15801561298e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129b29190613e34565b60048054604051630376c72d60e31b81526001600160a01b038c8116938201939093529299501690631bb6396890602401602060405180830381865afa1580156129fe573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a229190613e34565b6004805460405162a78f7b60e11b81526001600160a01b038c811693820193909352929850169063014f1ef690602401602060405180830381865afa158015612a6d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a919190613e34565b6004805460405162a78f7b60e11b81526001600160a01b038c8116938201939093529297505f92612b0a92606492169063014f1ef6906024015b602060405180830381865afa158015612ae6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113289190613e34565b60048054604051633b3987bd60e01b81526001600160a01b038d811693820193909352929350612b499260649290911690633b3987bd90602401612acb565b9450848810612b635780851115612b5e578094505b612bd4565b600480546040516370a0823160e01b81526001600160a01b038c8116938201939093529116906370a0823190602401602060405180830381865afa158015612bad573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bd19190613e34565b94505b60048054604051633b3987bd60e01b81526001600160a01b038c811693820193909352911690633b3987bd90602401602060405180830381865afa158015612c1e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c429190613e34565b9350612c4c6112e4565b60048054604051636eb1769f60e11b81526001600160a01b038d811693820193909352306024820152929550169063dd62ed3e90604401602060405180830381865afa158015612c9e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cc29190613e34565b915050919395979092949650565b6009546001600160a01b0316331480612cf257505f546001600160a01b031633145b612d0e5760405162461bcd60e51b8152600401610e5b90613c0d565b61169f8282613507565b5f5f612d2383612485565b90505f612d2f84612883565b9050612d3f816113288487613272565b949350505050565b602054339060ff1615612f3957600480546040516370a0823160e01b8152309281019290925283915f916001600160a01b0316906370a0823190602401602060405180830381865afa158015612d9f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dc39190613e34565b905081811015612de55760405162461bcd60e51b8152600401610e5b90613e61565b6004805460405162a78f7b60e11b81526001600160a01b03868116938201939093525f92612e219260649291169063014f1ef690602401612acb565b60048054604051633b3987bd60e01b81526001600160a01b03888116938201939093529293505f92612e60926064921690633b3987bd90602401612acb565b905081811115612e6d5750805b83811015612ead5760405162461bcd60e51b815260206004820152600d60248201526c6e6f206d6f6e6579206672656560981b6044820152606401610e5b565b808410612eb8578093505b60048054604051637d3b83f360e01b81526001600160a01b0390911691637d3b83f391612ee9918991899101613db8565b6020604051808303815f875af1158015612f05573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f299190613dd1565b50612f3485856135c5565b505050505b5f516020613f675f395f51905f52602a33845f604051612f5c9493929190613e10565b60405180910390a15050565b6016545f90612f7f90670de0b6b3a7640000613272565b6002546040516370a0823160e01b815233600482015291925082916001600160a01b03909116906370a0823190602401602060405180830381865afa158015612fca573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612fee9190613e34565b101561300c5760405162461bcd60e51b8152600401610e5b90613e61565b335f9081526017602052604090205460ff16156130545760405162461bcd60e51b8152600401610e5b906020808252600490820152636e6f646560e01b604082015260600190565b600254600b546040516323b872dd60e01b81526001600160a01b03928316926323b872dd9261308d923392909116908690600401613dec565b6020604051808303815f875af11580156130a9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130cd9190613dd1565b50335f81815260176020526016546040515f516020613f675f395f51905f52936130fb93602b939192613e10565b60405180910390a150565b5f546001600160a01b0316331461312f5760405162461bcd60e51b8152600401610e5b90613bb1565b600280546001600160a01b039485166001600160a01b031991821617909155600480549285169282169290921790915560038054929093169116179055565b6009546001600160a01b031633146131985760405162461bcd60e51b8152600401610e5b90613c0d565b60405163a9059cbb60e01b81526001600160a01b0384169063a9059cbb906131c69085908590600401613db8565b6020604051808303815f875af11580156131e2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132069190613dd1565b50505050565b6009546001600160a01b031633148061322e57505f546001600160a01b031633145b61324a5760405162461bcd60e51b8152600401610e5b90613c0d565b601e55565b6001600160a01b0381165f908152600c6020526040812054610ea9906001613bfa565b5f825f0361328157505f610ea9565b5f61328c8385613e83565b9050826132998583613e9a565b146132f05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610e5b565b9392505050565b5f6132f083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061379f565b60205460ff16156134e4575f61336e613358670de0b6b3a7640000612883565b611328670de0b6b3a76400006113228682613272565b600480546040516370a0823160e01b8152309281019290925291925082916001600160a01b0316906370a0823190602401602060405180830381865afa1580156133ba573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133de9190613e34565b10156133fc5760405162461bcd60e51b8152600401610e5b90613e61565b6004805460405163a9059cbb60e01b81526001600160a01b039091169163a9059cbb9161342d918791869101613db8565b6020604051808303815f875af1158015613449573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061346d9190613dd1565b50600480546040516327260b1f60e21b81526001600160a01b0390911691639c982c7c916134a19130918891879101613dec565b6020604051808303815f875af11580156134bd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134e19190613dd1565b50505b5f516020613f675f395f51905f52602983835f604051612f5c9493929190613e10565b600480546040516370a0823160e01b81523092810192909252829182916001600160a01b0316906370a0823190602401602060405180830381865afa158015613552573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135769190613e34565b10156135945760405162461bcd60e51b8152600401610e5b90613e61565b60048054604051637d3b83f360e01b81526001600160a01b0390911691637d3b83f3916131c6918791869101613db8565b6004805460085460405163095ea7b360e01b81526001600160a01b039283169363095ea7b3936135f9931691869101613db8565b6020604051808303815f875af1158015613615573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136399190613dd1565b50600480546040516323b872dd60e01b81526001600160a01b03909116916323b872dd9161366d9186913091879101613dec565b6020604051808303815f875af1158015613689573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136ad9190613dd1565b506040805160028082526060820183525f92602083019080368337505060045482519293506001600160a01b0316918391505f906136ed576136ed613ead565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061371e5761371e613ead565b6001600160a01b03928316602091820292909201015260085416635c11d795835f848761374d42610320613bfa565b6040518663ffffffff1660e01b815260040161376d959493929190613ec1565b5f604051808303815f87803b158015613784575f5ffd5b505af1158015613796573d5f5f3e3d5ffd5b50505050505050565b5f81836137bf5760405162461bcd60e51b8152600401610e5b9190613f31565b505f6137cb8486613e9a565b95945050505050565b6001600160a01b0381168114610f61575f5ffd5b5f602082840312156137f8575f5ffd5b81356132f0816137d4565b5f60208284031215613813575f5ffd5b5035919050565b803563ffffffff8116811461382d575f5ffd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f5f67ffffffffffffffff84111561386057613860613832565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff8211171561388f5761388f613832565b6040528381529050808284018510156138a6575f5ffd5b838360208301375f60208583010152509392505050565b5f82601f8301126138cc575f5ffd5b6132f083833560208501613846565b5f5f5f5f5f5f60c087890312156138f0575f5ffd5b86356138fb816137d4565b9550602087013561390b816137d4565b945060408701359350606087013592506139276080880161381a565b915060a087013567ffffffffffffffff811115613942575f5ffd5b61394e89828a016138bd565b9150509295509295509295565b5f5f5f6060848603121561396d575f5ffd5b8335613978816137d4565b95602085013595506040909401359392505050565b5f5f5f5f5f60a086880312156139a1575f5ffd5b85356139ac816137d4565b945060208601356139bc816137d4565b935060408601359250606086013591506139d86080870161381a565b90509295509295909350565b5f5f604083850312156139f5575f5ffd5b8235613a00816137d4565b946020939093013593505050565b5f5f5f60608486031215613a20575f5ffd5b83359250602084013567ffffffffffffffff811115613a3d575f5ffd5b613a49868287016138bd565b9250506040840135613a5a816137d4565b809150509250925092565b5f5f60408385031215613a76575f5ffd5b82359150602083013567ffffffffffffffff811115613a93575f5ffd5b613a9f858286016138bd565b9150509250929050565b5f60208284031215613ab9575f5ffd5b813567ffffffffffffffff811115613acf575f5ffd5b8201601f81018413613adf575f5ffd5b612d3f84823560208401613846565b8015158114610f61575f5ffd5b5f60208284031215613b0b575f5ffd5b81356132f081613aee565b5f5f5f60608486031215613b28575f5ffd5b8335613b33816137d4565b92506020840135613b43816137d4565b91506040840135613a5a816137d4565b5f5f60408385031215613b64575f5ffd5b50508035926020909101359150565b5f5f5f60608486031215613b85575f5ffd5b8335613b90816137d4565b92506020840135613ba0816137d4565b929592945050506040919091013590565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610ea957610ea9613be6565b60208082526008908201526737379030b236b4b760c11b604082015260600190565b81810381811115610ea957610ea9613be6565b6020808252601690820152755045543a20696e76616c6964207369676e617475726560501b604082015260600190565b60208082526008908201526769642077726f6e6760c01b604082015260600190565b6020808252600a908201526974696d652077726f6e6760b01b604082015260600190565b6020808252600790820152663737ba37b5b2b760c91b604082015260600190565b6020808252600590820152646e6f6e756d60d81b604082015260600190565b6020808252600690820152656e6f726f6f6d60d01b604082015260600190565b6020808252600790820152663737ba3ab9b2b960c91b604082015260600190565b6020808252600690820152656e6f74696d6560d01b604082015260600190565b634e487b7160e01b5f52601260045260245ffd5b5f82613d7b57613d7b613d59565b500690565b63ffffffff8281168282160390811115610ea957610ea9613be6565b63ffffffff8181168382160190811115610ea957610ea9613be6565b6001600160a01b03929092168252602082015260400190565b5f60208284031215613de1575f5ffd5b81516132f081613aee565b6001600160a01b039384168152919092166020820152604081019190915260600190565b9384526001600160a01b039290921660208401526040830152606082015260800190565b5f60208284031215613e44575f5ffd5b5051919050565b5f82518060208501845e5f920191825250919050565b6020808252600890820152676e6f206d6f6e657960c01b604082015260600190565b8082028115828204841417610ea957610ea9613be6565b5f82613ea857613ea8613d59565b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015613f115783516001600160a01b0316835260209384019390920191600101613eea565b50506001600160a01b039590951660608401525050608001529392505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f8301168401019150509291505056fe3894fea8ffab33709cf356f2933801d2074532c727ae53bf296d27ac4db6ffd3a2646970667358221220736c859446f4b69255c7f7fdfa4049d5d4c4fe0e8e2e68420f78e838ed6cc83d64736f6c634300081e0033