[ { "inputs": [ { "internalType": "address", "name": "uniswapV2RouterAddress", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromFees", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokensSwapped", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "ethReceived", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "ethSent", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "to", "type": "address" } ], "name": "FeesSwapped", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pair", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "SetAutomatedMarketMakerPair", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "swapTokensAtAmount", "type": "uint256" } ], "name": "SwapTokensAtAmountSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "TransferForeignToken", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" } ], "name": "UpdatedTreasuryAddress", "type": "event" }, { "inputs": [], "name": "WETH", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "addLP", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "automatedMarketMakerPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "createPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "excludeFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "manualSwap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setAutomatedMarketMakerPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_TreasuryAddress", "type": "address" } ], "name": "setTreasuryAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapTokensAtAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" } ], "name": "transferForeignToken", "outputs": [ { "internalType": "bool", "name": "_sent", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "treasuryAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Factory", "outputs": [ { "internalType": "contract IDexFactory", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Router", "outputs": [ { "internalType": "contract IDexRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "updateSwapThreshold", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawStuckETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60e06040523480156200001157600080fd5b506040516200243538038062002435833981016040819052620000349162000518565b604080518082018252600d81526c2334b730b731b2a9b1b0b632b960991b60208083019182528351808501909452600484526308c92a6b60e31b908401528151919291620000859160039162000472565b5080516200009b90600490602084019062000472565b5050506000620000b0620002ca60201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506a52b7d2dcc80cd2e4000000620186a06200011b82603262000560565b62000127919062000582565b6006556001600160601b0319606083901b166080526040805163c45a015560e01b815290516001600160a01b0384169163c45a0155916004808301926020929190829003018186803b1580156200017d57600080fd5b505afa15801562000192573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b8919062000518565b6001600160a01b031660a0816001600160a01b031660601b8152505060805160601c6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200021357600080fd5b505afa15801562000228573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024e919062000518565b60601b6001600160601b03191660c05260078054336001600160a01b0319909116811790915562000281906001620002ce565b6200028e306001620002ce565b6200029d61dead6001620002ce565b600754620002b6906001600160a01b03166001620002ce565b620002c233826200038d565b5050620005fd565b3390565b6005546001600160a01b031633146200032e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b038216600081815260086020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038216620003e55760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000325565b8060026000828254620003f99190620005a5565b90915550506001600160a01b0382166000908152602081905260408120805483929062000428908490620005a5565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b8280546200048090620005c0565b90600052602060002090601f016020900481019282620004a45760008555620004ef565b82601f10620004bf57805160ff1916838001178555620004ef565b82800160010185558215620004ef579182015b82811115620004ef578251825591602001919060010190620004d2565b50620004fd92915062000501565b5090565b5b80821115620004fd576000815560010162000502565b6000602082840312156200052b57600080fd5b81516001600160a01b03811681146200054357600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156200057d576200057d6200054a565b500290565b600082620005a057634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115620005bb57620005bb6200054a565b500190565b600181811c90821680620005d557607f821691505b60208210811415620005f757634e487b7160e01b600052602260045260246000fd5b50919050565b60805160601c60a05160601c60c05160601c611dd562000660600039600081816104ed01528181610c67015261188c0152600081816103730152610c8f015260008181610260015281816108d00152818161092d01526118e50152611dd56000f3fe6080604052600436106101e75760003560e01c80638366e79a11610102578063b62496f511610095578063dd62ed3e11610064578063dd62ed3e1461059f578063e2f45605146105e5578063f2fde38b146105fb578063f5648a4f1461061b57600080fd5b8063b62496f51461050f578063c02466681461053f578063c5f956af1461055f578063cc274b291461057f57600080fd5b80639a7a23d6116100d15780639a7a23d61461047b578063a457c2d71461049b578063a9059cbb146104bb578063ad5c4648146104db57600080fd5b80638366e79a146104135780638da5cb5b1461043357806395d89b41146104515780639a06b1131461046657600080fd5b8063470624021161017a5780636605bfda116101495780636605bfda146103955780636e0c63d9146103b557806370a08231146103c8578063715018a6146103fe57600080fd5b806347062402146102d957806349bd5a5e1461032a57806351bc3c851461034a57806359d0f7131461036157600080fd5b806323b872dd116101b657806323b872dd146102b95780632b14ca56146102d9578063313ce567146102ee578063395093511461030a57600080fd5b806306fdde03146101f3578063095ea7b31461021e5780631694505e1461024e57806318160ddd1461029a57600080fd5b366101ee57005b600080fd5b3480156101ff57600080fd5b50610208610630565b6040516102159190611969565b60405180910390f35b34801561022a57600080fd5b5061023e6102393660046119d3565b6106c2565b6040519015158152602001610215565b34801561025a57600080fd5b506102827f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610215565b3480156102a657600080fd5b506002545b604051908152602001610215565b3480156102c557600080fd5b5061023e6102d43660046119ff565b6106d8565b3480156102e557600080fd5b506102ab600581565b3480156102fa57600080fd5b5060405160128152602001610215565b34801561031657600080fd5b5061023e6103253660046119d3565b6106fc565b34801561033657600080fd5b50600954610282906001600160a01b031681565b34801561035657600080fd5b5061035f610738565b005b34801561036d57600080fd5b506102827f000000000000000000000000000000000000000000000000000000000000000081565b3480156103a157600080fd5b5061035f6103b0366004611a40565b6107aa565b61035f6103c3366004611a64565b610895565b3480156103d457600080fd5b506102ab6103e3366004611a40565b6001600160a01b031660009081526020819052604090205490565b34801561040a57600080fd5b5061035f6109b9565b34801561041f57600080fd5b5061023e61042e366004611a7d565b610a2d565b34801561043f57600080fd5b506005546001600160a01b0316610282565b34801561045d57600080fd5b50610208610c11565b34801561047257600080fd5b5061035f610c20565b34801561048757600080fd5b5061035f610496366004611ac4565b610d37565b3480156104a757600080fd5b5061023e6104b63660046119d3565b610df3565b3480156104c757600080fd5b5061023e6104d63660046119d3565b610e8c565b3480156104e757600080fd5b506102827f000000000000000000000000000000000000000000000000000000000000000081565b34801561051b57600080fd5b5061023e61052a366004611a40565b600a6020526000908152604090205460ff1681565b34801561054b57600080fd5b5061035f61055a366004611ac4565b610e99565b34801561056b57600080fd5b50600754610282906001600160a01b031681565b34801561058b57600080fd5b5061035f61059a366004611a64565b610f22565b3480156105ab57600080fd5b506102ab6105ba366004611a7d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156105f157600080fd5b506102ab60065481565b34801561060757600080fd5b5061035f610616366004611a40565b610fae565b34801561062757600080fd5b5061035f611099565b60606003805461063f90611af2565b80601f016020809104026020016040519081016040528092919081815260200182805461066b90611af2565b80156106b85780601f1061068d576101008083540402835291602001916106b8565b820191906000526020600020905b81548152906001019060200180831161069b57829003601f168201915b5050505050905090565b60006106cf33848461116b565b50600192915050565b6000336106e685828561128f565b6106f185858561131b565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916106cf918590610733908690611b43565b61116b565b6007546001600160a01b031633148061075b57506005546001600160a01b031633145b6107805760405162461bcd60e51b815260040161077790611b5b565b60405180910390fd5b6005805460ff60a01b1916600160a01b17905561079b611589565b6005805460ff60a01b19169055565b6007546001600160a01b03163314806107cd57506005546001600160a01b031633145b6107e95760405162461bcd60e51b815260040161077790611b5b565b6001600160a01b03811661084b5760405162461bcd60e51b8152602060048201526024808201527f5f54726561737572794164647265737320616464726573732063616e6e6f74206044820152630626520360e41b6064820152608401610777565b600780546001600160a01b0319166001600160a01b0383169081179091556040517f2e1e696cfb265fa16e1170d24ef04cb2262772bde00ecf34d80bae6722487b7f90600090a250565b6005546001600160a01b031633146108bf5760405162461bcd60e51b815260040161077790611b82565b6108ca333083611688565b6108f7307f000000000000000000000000000000000000000000000000000000000000000060001961116b565b60405163f305d71960e01b81523060048201526024810182905260006044820181905260648201523360848201524260a48201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f305d71990349060c4016060604051808303818588803b15801561097a57600080fd5b505af115801561098e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109b39190611bb7565b50505050565b6005546001600160a01b031633146109e35760405162461bcd60e51b815260040161077790611b82565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6007546000906001600160a01b0316331480610a5357506005546001600160a01b031633145b610a6f5760405162461bcd60e51b815260040161077790611b5b565b6001600160a01b038316610ac55760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610777565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a082319060240160206040518083038186803b158015610b0757600080fd5b505afa158015610b1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3f9190611be5565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb90604401602060405180830381600087803b158015610b8d57600080fd5b505af1158015610ba1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc59190611bfe565b604080516001600160a01b0387168152602081018490529193507fdeda980967fcead7b61e78ac46a4da14274af29e894d4d61e8b81ec38ab3e438910160405180910390a15092915050565b60606004805461063f90611af2565b6005546001600160a01b03163314610c4a5760405162461bcd60e51b815260040161077790611b82565b6040516364e329cb60e11b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660248301527f0000000000000000000000000000000000000000000000000000000000000000169063c9c6539690604401602060405180830381600087803b158015610cd357600080fd5b505af1158015610ce7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0b9190611c1b565b600980546001600160a01b0319166001600160a01b03929092169182179055610d359060016117dd565b565b6005546001600160a01b03163314610d615760405162461bcd60e51b815260040161077790611b82565b6009546001600160a01b0383811691161415610de55760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610777565b610def82826117dd565b5050565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610e755760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610777565b610e82338585840361116b565b5060019392505050565b60006106cf33848461131b565b6005546001600160a01b03163314610ec35760405162461bcd60e51b815260040161077790611b82565b6001600160a01b038216600081815260086020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6007546001600160a01b0316331480610f4557506005546001600160a01b031633145b610f615760405162461bcd60e51b815260040161077790611b5b565b610f7381670de0b6b3a7640000611c38565b60068190556040519081527f9efd5e66ee602c629f311865749d9af922866664ad3ff96bbfaf8035f5d24b269060200160405180910390a150565b6005546001600160a01b03163314610fd85760405162461bcd60e51b815260040161077790611b82565b6001600160a01b03811661103d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610777565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6007546001600160a01b03163314806110bc57506005546001600160a01b031633145b6110d85760405162461bcd60e51b815260040161077790611b5b565b604051600090339047908381818185875af1925050503d806000811461111a576040519150601f19603f3d011682016040523d82523d6000602084013e61111f565b606091505b505080915050806111685760405162461bcd60e51b81526020600482015260136024820152721d1c985b9cd9995c88195d1a0819985a5b1959606a1b6044820152606401610777565b50565b6001600160a01b0383166111cd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610777565b6001600160a01b03821661122e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610777565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146109b3578181101561130e5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610777565b6109b3848484840361116b565b6001600160a01b0383166113415760405162461bcd60e51b815260040161077790611c57565b6001600160a01b0382166113675760405162461bcd60e51b815260040161077790611c9c565b600081116113b75760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610777565b60065430600090815260208190526040902054101580156113e25750600554600160a01b900460ff16155b801561140757506001600160a01b0383166000908152600a602052604090205460ff16155b801561142c57506001600160a01b03831660009081526008602052604090205460ff16155b801561145157506001600160a01b03821660009081526008602052604090205460ff16155b1561147f576005805460ff60a01b1916600160a01b179055611471611589565b6005805460ff60a01b191690555b6001600160a01b03831660009081526008602052604090205460019060ff16806114c157506001600160a01b03831660009081526008602052604090205460ff165b156114ca575060005b801561157e576001600160a01b0383166000908152600a602052604081205460ff1680156114f6575060015b15611519576064611508600585611c38565b6115129190611cdf565b905061155e565b6001600160a01b0385166000908152600a602052604090205460ff16801561153f575060015b1561155e576064611551600585611c38565b61155b9190611cdf565b90505b801561157c5761156f853083611688565b6115798184611d01565b92505b505b6109b3848484611688565b30600090815260208190526040902054806115a15750565b6006546115af906005611c38565b8111156115c7576006546115c4906005611c38565b90505b60006115d282611831565b9050478015611631576007546040516001600160a01b03909116908290600081818185875af1925050503d8060008114611628576040519150601f19603f3d011682016040523d82523d6000602084013e61162d565b606091505b5050505b60075460408051858152602081018590528082018490526001600160a01b039092166060830152517fb0c97555fa1ad7ba7e271c305a460e7e028b060311dec21f97520a192bc268279181900360800190a1505050565b6001600160a01b0383166116ae5760405162461bcd60e51b815260040161077790611c57565b6001600160a01b0382166116d45760405162461bcd60e51b815260040161077790611c9c565b6001600160a01b0383166000908152602081905260409020548181101561174c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610777565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611783908490611b43565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117cf91815260200190565b60405180910390a350505050565b6001600160a01b0382166000818152600a6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b60408051600280825260608201835260009283929190602083019080368337019050509050308160008151811061186a5761186a611d18565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000000000000000000000000000000000000000000816001815181106118be576118be611d18565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b815247917f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790611923908790600090879030904290600401611d2e565b600060405180830381600087803b15801561193d57600080fd5b505af1158015611951573d6000803e3d6000fd5b5050505080476119619190611d01565b949350505050565b600060208083528351808285015260005b818110156119965785810183015185820160400152820161197a565b818111156119a8576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461116857600080fd5b600080604083850312156119e657600080fd5b82356119f1816119be565b946020939093013593505050565b600080600060608486031215611a1457600080fd5b8335611a1f816119be565b92506020840135611a2f816119be565b929592945050506040919091013590565b600060208284031215611a5257600080fd5b8135611a5d816119be565b9392505050565b600060208284031215611a7657600080fd5b5035919050565b60008060408385031215611a9057600080fd5b8235611a9b816119be565b91506020830135611aab816119be565b809150509250929050565b801515811461116857600080fd5b60008060408385031215611ad757600080fd5b8235611ae2816119be565b91506020830135611aab81611ab6565b600181811c90821680611b0657607f821691505b60208210811415611b2757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115611b5657611b56611b2d565b500190565b6020808252600d908201526c1058d8d95cdcc819195b9a5959609a1b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600080600060608486031215611bcc57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611bf757600080fd5b5051919050565b600060208284031215611c1057600080fd5b8151611a5d81611ab6565b600060208284031215611c2d57600080fd5b8151611a5d816119be565b6000816000190483118215151615611c5257611c52611b2d565b500290565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b600082611cfc57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015611d1357611d13611b2d565b500390565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d7e5784516001600160a01b031683529383019391830191600101611d59565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220029a206ff3b6aee16bb57f78da3c3b2b384260edb4aa34bc4ad2e1e5aaec1b7b64736f6c634300080800330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d