0 txs
0 calls
constructor
constructor(string _name, string _symbol, address _token, address _bridge, uint256 _minAmount, uint256 _txFee)
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
bridge
viewfunction bridge() view returns (address)
decimals
viewfunction decimals() view returns (uint8)
emergencyShutdown
viewfunction emergencyShutdown() view returns (bool)
lpFee
viewfunction lpFee() view returns (uint256)
minAmountForSwap
viewfunction minAmountForSwap() view returns (uint256)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
symbol
viewfunction symbol() view returns (string)
token
viewfunction token() view returns (address)
tokenAllocationOf
viewfunction tokenAllocationOf(address account) view returns (uint256)
totalAssets
viewfunction totalAssets() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
totalTokens
viewfunction totalTokens() view returns (uint256)
treasuryAmount
viewfunction treasuryAmount() view returns (uint256)
txFee
viewfunction txFee() view returns (uint256)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
deposit
nonpayablefunction deposit(uint256 _amount, address _recipient) returns (uint256)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
refund
nonpayablefunction refund(address account, uint256 amount, uint256 fee, uint256 gasFee)
renounceOwnership
nonpayablefunction renounceOwnership()
setEmergencyShutdown
nonpayablefunction setEmergencyShutdown(bool down)
setMinAmountForSwap
nonpayablefunction setMinAmountForSwap(uint256 minAmount)
setTxFee
nonpayablefunction setTxFee(uint256 _txFee)
swapIn
nonpayablefunction swapIn(address account, uint256 amount, uint256 fee)
swapOut
nonpayablefunction swapOut(address account, uint256 amount) returns (bool)
transfer
nonpayablefunction transfer(address recipient, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address sender, address recipient, uint256 amount) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw(uint256 _amount, address _recipient) returns (uint256)
withdrawTreasury
nonpayablefunction withdrawTreasury()
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
EmergencyShutdown
event EmergencyShutdown(bool active)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RefundProcessed
event RefundProcessed(address indexed sender, uint256 amount, uint256 fee)
SwapInProcessed
event SwapInProcessed(address indexed sender, uint256 amount, uint256 fee)
SwapOutProcessed
event SwapOutProcessed(address indexed sender, uint256 amount)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
No errors.
creation bytecode
0x6080604052611388600d553480156200001757600080fd5b50604051620043c6380380620043c683398181016040528101906200003d9190620003a8565b600160008190555062000065620000596200018a60201b60201c565b6200019260201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415620000a057600080fd5b8560029080519060200190620000b892919062000258565b508460039080519060200190620000d192919062000258565b506012600460006101000a81548160ff021916908360ff16021790555083600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160088190555080600e8190555050505050505062000613565b600033905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b82805462000266906200054b565b90600052602060002090601f0160209004810192826200028a5760008555620002d6565b82601f10620002a557805160ff1916838001178555620002d6565b82800160010185558215620002d6579182015b82811115620002d5578251825591602001919060010190620002b8565b5b509050620002e59190620002e9565b5090565b5b8082111562000304576000816000905550600101620002ea565b5090565b60006200031f6200031984620004a4565b62000470565b9050828152602081018484840111156200033857600080fd5b6200034584828562000515565b509392505050565b6000815190506200035e81620005df565b92915050565b600082601f8301126200037657600080fd5b81516200038884826020860162000308565b91505092915050565b600081519050620003a281620005f9565b92915050565b60008060008060008060c08789031215620003c257600080fd5b600087015167ffffffffffffffff811115620003dd57600080fd5b620003eb89828a0162000364565b965050602087015167ffffffffffffffff8111156200040957600080fd5b6200041789828a0162000364565b95505060406200042a89828a016200034d565b94505060606200043d89828a016200034d565b93505060806200045089828a0162000391565b92505060a06200046389828a0162000391565b9150509295509295509295565b6000604051905081810181811067ffffffffffffffff821117156200049a5762000499620005b0565b5b8060405250919050565b600067ffffffffffffffff821115620004c257620004c1620005b0565b5b601f19601f8301169050602081019050919050565b6000620004e482620004eb565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b838110156200053557808201518184015260208101905062000518565b8381111562000545576000848401525b50505050565b600060028204905060018216806200056457607f821691505b602082108114156200057b576200057a62000581565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620005ea81620004d7565b8114620005f657600080fd5b50565b62000604816200050b565b81146200061057600080fd5b50565b613da380620006236000396000f3fe608060405234801561001057600080fd5b50600436106101fa5760003560e01c80636f1a366d1161011a578063a9059cbb116100ad578063e78cea921161007c578063e78cea92146105dd578063f05d16f7146105fb578063f2fde38b14610617578063f796f81914610633578063fc0c546a14610651576101fa565b8063a9059cbb14610543578063cf82046114610573578063dd62ed3e14610591578063e3638a6b146105c1576101fa565b80637e1c0c09116100e95780637e1c0c09146104b95780638da5cb5b146104d757806395d89b41146104f5578063a457c2d714610513576101fa565b80636f1a366d14610445578063704ce43e1461046157806370a082311461047f578063715018a6146104af576101fa565b806323b872dd11610192578063368acb0911610161578063368acb091461039757806339509351146103b5578063410411bd146103e55780636e553f6514610415576101fa565b806323b872dd1461030f578063268ebd591461033f578063313ce5671461035b5780633403c2fc14610379576101fa565b806310d974ae116101ce57806310d974ae1461029b57806314c64402146102cb578063166bab95146102e757806318160ddd146102f1576101fa565b8062f714ce146101ff57806301e1d1141461022f57806306fdde031461024d578063095ea7b31461026b575b600080fd5b61021960048036038101906102149190612e7a565b61066f565b6040516102269190613887565b60405180910390f35b610237610af0565b6040516102449190613887565b60405180910390f35b610255610aff565b6040516102629190613645565b60405180910390f35b61028560048036038101906102809190612ce8565b610b8d565b604051610292919061360f565b60405180910390f35b6102b560048036038101906102b09190612ce8565b610bab565b6040516102c2919061360f565b60405180910390f35b6102e560048036038101906102e09190612dd6565b610e4c565b005b6102ef610f1c565b005b6102f961109f565b6040516103069190613887565b60405180910390f35b61032960048036038101906103249190612c99565b6110a5565b604051610336919061360f565b60405180910390f35b61035960048036038101906103549190612d73565b61119d565b005b6103636114ac565b60405161037091906138cb565b60405180910390f35b6103816114bf565b60405161038e919061360f565b60405180910390f35b61039f6114d2565b6040516103ac9190613887565b60405180910390f35b6103cf60048036038101906103ca9190612ce8565b6114d8565b6040516103dc919061360f565b60405180910390f35b6103ff60048036038101906103fa9190612c34565b611584565b60405161040c9190613887565b60405180910390f35b61042f600480360381019061042a9190612e7a565b6116c3565b60405161043c9190613887565b60405180910390f35b61045f600480360381019061045a9190612d24565b611b36565b005b610469611e5d565b6040516104769190613887565b60405180910390f35b61049960048036038101906104949190612c34565b611e63565b6040516104a69190613887565b60405180910390f35b6104b7611eac565b005b6104c1611f34565b6040516104ce9190613887565b60405180910390f35b6104df611f3a565b6040516104ec919061356b565b60405180910390f35b6104fd611f64565b60405161050a9190613645565b60405180910390f35b61052d60048036038101906105289190612ce8565b611ff2565b60405161053a919061360f565b60405180910390f35b61055d60048036038101906105589190612ce8565b6120dd565b60405161056a919061360f565b60405180910390f35b61057b6120fb565b6040516105889190613887565b60405180910390f35b6105ab60048036038101906105a69190612c5d565b612101565b6040516105b89190613887565b60405180910390f35b6105db60048036038101906105d69190612e28565b612188565b005b6105e561220e565b6040516105f2919061356b565b60405180910390f35b61061560048036038101906106109190612e28565b612234565b005b610631600480360381019061062c9190612c34565b6122ba565b005b61063b6123b2565b6040516106489190613887565b60405180910390f35b6106596123bc565b604051610666919061362a565b60405180910390f35b6000600260005414156106b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ae90613827565b60405180910390fd5b6002600081905550600b60009054906101000a900460ff161561070f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070690613807565b60405180910390fd5b60008390507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84141561077f57600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115610801576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f890613667565b60405180910390fd5b60008111610844576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083b906136a7565b60405180910390fd5b6000600554600654836108579190613afa565b6108619190613958565b905081600560008282546108759190613b54565b9250508190555081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108cb9190613b54565b9250508190555080600660008282546108e49190613b54565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109499190613887565b60405180910390a3600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85600460009054906101000a900460ff16600a6109ac91906139dc565b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610a1457600080fd5b505afa158015610a28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4c9190612eb6565b600a610a5891906139dc565b85610a639190613afa565b610a6d9190613958565b6040518363ffffffff1660e01b8152600401610a8a9291906135e6565b602060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610adc9190612dff565b508192505050600160008190555092915050565b6000610afa6123e2565b905090565b60028054610b0c90613c34565b80601f0160208091040260200160405190810160405280929190818152602001828054610b3890613c34565b8015610b855780601f10610b5a57610100808354040283529160200191610b85565b820191906000526020600020905b815481529060010190602001808311610b6857829003601f168201915b505050505081565b6000610ba1610b9a612494565b848461249c565b6001905092915050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c0757600080fd5b600b60009054906101000a900460ff1615610c57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4e90613807565b60405180910390fd5b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610cb2919061356b565b60206040518083038186803b158015610cca57600080fd5b505afa158015610cde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d029190612e51565b821115610d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3b90613847565b60405180910390fd5b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401610da19291906135e6565b602060405180830381600087803b158015610dbb57600080fd5b505af1158015610dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df39190612dff565b508273ffffffffffffffffffffffffffffffffffffffff167f2b402c854188010746674a5c32efa7a3329482c07f52455babb9067c7c1dae3483604051610e3a9190613887565b60405180910390a26001905092915050565b610e54612494565b73ffffffffffffffffffffffffffffffffffffffff16610e72611f3a565b73ffffffffffffffffffffffffffffffffffffffff1614610ec8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebf906137a7565b60405180910390fd5b80600b60006101000a81548160ff0219169083151502179055507fba40372a3a724dca3c57156128ef1e896724b65b37a17f190b1ad5de68f3a4f381604051610f11919061360f565b60405180910390a150565b610f24612494565b73ffffffffffffffffffffffffffffffffffffffff16610f42611f3a565b73ffffffffffffffffffffffffffffffffffffffff1614610f98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8f906137a7565b60405180910390fd5b600060075411610fdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd4906136a7565b60405180910390fd5b600060075490506000600781905550600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016110499291906135e6565b602060405180830381600087803b15801561106357600080fd5b505af1158015611077573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109b9190612dff565b5050565b60055481565b60006110b2848484612667565b6000600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006110fd612494565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561117d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117490613787565b60405180910390fd5b61119185611189612494565b85840361249c565b60019150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111f757600080fd5b600b60009054906101000a900460ff1615611247576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123e90613807565b60405180910390fd5b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff1660e01b81526004016112a49291906135e6565b602060405180830381600087803b1580156112be57600080fd5b505af11580156112d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f69190612dff565b506000612710600d54600e548561130d9190613b54565b6113179190613afa565b6113219190613958565b9050600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561138b57600080fd5b505afa15801561139f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c39190612eb6565b600a6113cf91906139dc565b600460009054906101000a900460ff16600a6113eb91906139dc565b826113f69190613afa565b6114009190613958565b600660008282546114119190613b54565b9250508190555080836114249190613b54565b600760008282546114359190613b54565b92505081905550816007600082825461144e9190613902565b925050819055508473ffffffffffffffffffffffffffffffffffffffff167fa5411d116afcb8415f0019792cccf595f94852ba82886dacbf756d9c3ce85f3f858560405161149d9291906138a2565b60405180910390a25050505050565b600460009054906101000a900460ff1681565b600b60009054906101000a900460ff1681565b60075481565b600061157a6114e5612494565b8484600a60006114f3612494565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115759190613902565b61249c565b6001905092915050565b6000600554600460009054906101000a900460ff16600a6115a591906139dc565b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561160d57600080fd5b505afa158015611621573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116459190612eb6565b600a61165191906139dc565b600654600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461169e9190613afa565b6116a89190613afa565b6116b29190613958565b6116bc9190613958565b9050919050565b60006002600054141561170b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170290613827565b60405180910390fd5b6002600081905550600b60009054906101000a900460ff1615611763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175a90613807565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561179d57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117d657600080fd5b60008390507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114156118b157600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b815260040161185e919061356b565b60206040518083038186803b15801561187657600080fd5b505afa15801561188a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ae9190612e51565b90505b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b815260040161190c919061356b565b60206040518083038186803b15801561192457600080fd5b505afa158015611938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061195c9190612e51565b8111158015611a175750600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b81526004016119c3929190613586565b60206040518083038186803b1580156119db57600080fd5b505afa1580156119ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a139190612e51565b8111155b611a56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4d90613727565b60405180910390fd5b60008111611a6357600080fd5b6000611a6f84836128d5565b9050600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401611ad0939291906135af565b602060405180830381600087803b158015611aea57600080fd5b505af1158015611afe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b229190612dff565b508092505050600160008190555092915050565b600b60009054906101000a900460ff1615611b86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7d90613807565b60405180910390fd5b600854821015611bcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc290613747565b60405180910390fd5b600e54811015611c10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0790613767565b60405180910390fd5b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401611c6f939291906135af565b602060405180830381600087803b158015611c8957600080fd5b505af1158015611c9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc19190612dff565b506000612710600d54600e5484611cd89190613b54565b611ce29190613afa565b611cec9190613958565b9050600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015611d5657600080fd5b505afa158015611d6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d8e9190612eb6565b600a611d9a91906139dc565b600460009054906101000a900460ff16600a611db691906139dc565b82611dc19190613afa565b611dcb9190613958565b60066000828254611ddc9190613902565b925050819055508082611def9190613b54565b60076000828254611e009190613902565b925050819055508373ffffffffffffffffffffffffffffffffffffffff167f4c2a98579e0c6c68e3033ac75a042c9b1d0310896e7544f85690637a6e57fab78484604051611e4f9291906138a2565b60405180910390a250505050565b600d5481565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611eb4612494565b73ffffffffffffffffffffffffffffffffffffffff16611ed2611f3a565b73ffffffffffffffffffffffffffffffffffffffff1614611f28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1f906137a7565b60405180910390fd5b611f326000612af0565b565b60065481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60038054611f7190613c34565b80601f0160208091040260200160405190810160405280929190818152602001828054611f9d90613c34565b8015611fea5780601f10611fbf57610100808354040283529160200191611fea565b820191906000526020600020905b815481529060010190602001808311611fcd57829003601f168201915b505050505081565b600080600a6000612001612494565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156120be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b590613867565b60405180910390fd5b6120d26120c9612494565b8585840361249c565b600191505092915050565b60006120f16120ea612494565b8484612667565b6001905092915050565b600e5481565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b612190612494565b73ffffffffffffffffffffffffffffffffffffffff166121ae611f3a565b73ffffffffffffffffffffffffffffffffffffffff1614612204576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121fb906137a7565b60405180910390fd5b8060088190555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61223c612494565b73ffffffffffffffffffffffffffffffffffffffff1661225a611f3a565b73ffffffffffffffffffffffffffffffffffffffff16146122b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a7906137a7565b60405180910390fd5b80600e8190555050565b6122c2612494565b73ffffffffffffffffffffffffffffffffffffffff166122e0611f3a565b73ffffffffffffffffffffffffffffffffffffffff1614612336576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232d906137a7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156123a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239d906136c7565b60405180910390fd5b6123af81612af0565b50565b6000600854905090565b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161243f919061356b565b60206040518083038186803b15801561245757600080fd5b505afa15801561246b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248f9190612e51565b905090565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561250c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612503906137e7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561257c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612573906136e7565b60405180910390fd5b80600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161265a9190613887565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156126d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ce906137c7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161273e90613687565b60405180910390fd5b6000600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156127ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127c590613707565b60405180910390fd5b818103600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546128639190613902565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128c79190613887565b60405180910390a350505050565b60008060009050600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561294457600080fd5b505afa158015612958573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061297c9190612eb6565b600a61298891906139dc565b600460009054906101000a900460ff16600a6129a491906139dc565b846129af9190613afa565b6129b99190613958565b905060008114156129c957600080fd5b6000819050600060055411156129f757600654600554826129ea9190613afa565b6129f49190613958565b90505b8060056000828254612a099190613902565b925050819055508160066000828254612a229190613902565b9250508190555080600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612a789190613902565b925050819055508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612add9190613887565b60405180910390a3809250505092915050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081359050612bc581613d11565b92915050565b600081359050612bda81613d28565b92915050565b600081519050612bef81613d28565b92915050565b600081359050612c0481613d3f565b92915050565b600081519050612c1981613d3f565b92915050565b600081519050612c2e81613d56565b92915050565b600060208284031215612c4657600080fd5b6000612c5484828501612bb6565b91505092915050565b60008060408385031215612c7057600080fd5b6000612c7e85828601612bb6565b9250506020612c8f85828601612bb6565b9150509250929050565b600080600060608486031215612cae57600080fd5b6000612cbc86828701612bb6565b9350506020612ccd86828701612bb6565b9250506040612cde86828701612bf5565b9150509250925092565b60008060408385031215612cfb57600080fd5b6000612d0985828601612bb6565b9250506020612d1a85828601612bf5565b9150509250929050565b600080600060608486031215612d3957600080fd5b6000612d4786828701612bb6565b9350506020612d5886828701612bf5565b9250506040612d6986828701612bf5565b9150509250925092565b60008060008060808587031215612d8957600080fd5b6000612d9787828801612bb6565b9450506020612da887828801612bf5565b9350506040612db987828801612bf5565b9250506060612dca87828801612bf5565b91505092959194509250565b600060208284031215612de857600080fd5b6000612df684828501612bcb565b91505092915050565b600060208284031215612e1157600080fd5b6000612e1f84828501612be0565b91505092915050565b600060208284031215612e3a57600080fd5b6000612e4884828501612bf5565b91505092915050565b600060208284031215612e6357600080fd5b6000612e7184828501612c0a565b91505092915050565b60008060408385031215612e8d57600080fd5b6000612e9b85828601612bf5565b9250506020612eac85828601612bb6565b9150509250929050565b600060208284031215612ec857600080fd5b6000612ed684828501612c1f565b91505092915050565b612ee881613b88565b82525050565b612ef781613b9a565b82525050565b612f0681613bdd565b82525050565b6000612f17826138e6565b612f2181856138f1565b9350612f31818560208601613c01565b612f3a81613cf3565b840191505092915050565b6000612f526016836138f1565b91507f416d6f756e7420657863656564732062616c616e6365000000000000000000006000830152602082019050919050565b6000612f926023836138f1565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612ff86013836138f1565b91507f4e6f7468696e6720746f207769746864726177000000000000000000000000006000830152602082019050919050565b60006130386026836138f1565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061309e6022836138f1565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006131046026836138f1565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061316a6023836138f1565b91507f42616c616e6365206f7220616c6c6f77616e6365206e6f74207375666669636960008301527f656e7400000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006131d06024836138f1565b91507f53686f756c6420626520626967676572207468616e206d696e696d756d20616d60008301527f6f756e74000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006132366021836138f1565b91507f4665652073686f756c642062652067726561746572207468616e20747820666560008301527f65000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061329c6028836138f1565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b60006133026020836138f1565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006133426025836138f1565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006133a86024836138f1565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061340e6013836138f1565b91507f5661756c74206973206c6f636b6564206f7574000000000000000000000000006000830152602082019050919050565b600061344e601f836138f1565b91507f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006000830152602082019050919050565b600061348e6025836138f1565b91507f5472616e7366657220616d6f756e742065786365656473207661756c7420626160008301527f6c616e63650000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006134f46025836138f1565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b61355681613bc6565b82525050565b61356581613bd0565b82525050565b60006020820190506135806000830184612edf565b92915050565b600060408201905061359b6000830185612edf565b6135a86020830184612edf565b9392505050565b60006060820190506135c46000830186612edf565b6135d16020830185612edf565b6135de604083018461354d565b949350505050565b60006040820190506135fb6000830185612edf565b613608602083018461354d565b9392505050565b60006020820190506136246000830184612eee565b92915050565b600060208201905061363f6000830184612efd565b92915050565b6000602082019050818103600083015261365f8184612f0c565b905092915050565b6000602082019050818103600083015261368081612f45565b9050919050565b600060208201905081810360008301526136a081612f85565b9050919050565b600060208201905081810360008301526136c081612feb565b9050919050565b600060208201905081810360008301526136e08161302b565b9050919050565b6000602082019050818103600083015261370081613091565b9050919050565b60006020820190508181036000830152613720816130f7565b9050919050565b600060208201905081810360008301526137408161315d565b9050919050565b60006020820190508181036000830152613760816131c3565b9050919050565b6000602082019050818103600083015261378081613229565b9050919050565b600060208201905081810360008301526137a08161328f565b9050919050565b600060208201905081810360008301526137c0816132f5565b9050919050565b600060208201905081810360008301526137e081613335565b9050919050565b600060208201905081810360008301526138008161339b565b9050919050565b6000602082019050818103600083015261382081613401565b9050919050565b6000602082019050818103600083015261384081613441565b9050919050565b6000602082019050818103600083015261386081613481565b9050919050565b60006020820190508181036000830152613880816134e7565b9050919050565b600060208201905061389c600083018461354d565b92915050565b60006040820190506138b7600083018561354d565b6138c4602083018461354d565b9392505050565b60006020820190506138e0600083018461355c565b92915050565b600081519050919050565b600082825260208201905092915050565b600061390d82613bc6565b915061391883613bc6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561394d5761394c613c66565b5b828201905092915050565b600061396382613bc6565b915061396e83613bc6565b92508261397e5761397d613c95565b5b828204905092915050565b6000808291508390505b60018511156139d3578086048111156139af576139ae613c66565b5b60018516156139be5780820291505b80810290506139cc85613d04565b9450613993565b94509492505050565b60006139e782613bc6565b91506139f283613bd0565b9250613a1f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613a27565b905092915050565b600082613a375760019050613af3565b81613a455760009050613af3565b8160018114613a5b5760028114613a6557613a94565b6001915050613af3565b60ff841115613a7757613a76613c66565b5b8360020a915084821115613a8e57613a8d613c66565b5b50613af3565b5060208310610133831016604e8410600b8410161715613ac95782820a905083811115613ac457613ac3613c66565b5b613af3565b613ad68484846001613989565b92509050818404811115613aed57613aec613c66565b5b81810290505b9392505050565b6000613b0582613bc6565b9150613b1083613bc6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613b4957613b48613c66565b5b828202905092915050565b6000613b5f82613bc6565b9150613b6a83613bc6565b925082821015613b7d57613b7c613c66565b5b828203905092915050565b6000613b9382613ba6565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613be882613bef565b9050919050565b6000613bfa82613ba6565b9050919050565b60005b83811015613c1f578082015181840152602081019050613c04565b83811115613c2e576000848401525b50505050565b60006002820490506001821680613c4c57607f821691505b60208210811415613c6057613c5f613cc4565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b613d1a81613b88565b8114613d2557600080fd5b50565b613d3181613b9a565b8114613d3c57600080fd5b50565b613d4881613bc6565b8114613d5357600080fd5b50565b613d5f81613bd0565b8114613d6a57600080fd5b5056fea2646970667358221220a6bf2815f7f0e4d2e10a501c321887ffea926a3020ac9a4b76e249a9966f181e64736f6c6343000800003300000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000007b250f58146d0dd7fd7c491f33e7f1e37bafee4a0000000000000000000000000000000000000000000000000000000005f5e10000000000000000000000000000000000000000000000000000000000000aae600000000000000000000000000000000000000000000000000000000000000007666f726d55534400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d466f726d6174696f6e2055534400000000000000000000000000000000000000