[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "Approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "Receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "Sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "Sender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [], "name": "ERC20ZeroTransfer", "type": "error" }, { "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": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amountIn", "type": "uint256" }, { "indexed": false, "internalType": "address[]", "name": "path", "type": "address[]" } ], "name": "SwapTokensForETH", "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" }, { "inputs": [], "name": "LimitsActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_chargePair", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "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": "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": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "dexPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "dexRouter", "outputs": [ { "internalType": "contract UniswapRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isMarketPair", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTransaction", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": "removeLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rescueFunds", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "rescueTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_adr", "type": "address" }, { "internalType": "bool", "name": "_status", "type": "bool" } ], "name": "setChargePair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newWallet", "type": "address" } ], "name": "setDeveloperWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_buySide", "type": "uint256" }, { "internalType": "uint256", "name": "_sellSide", "type": "uint256" } ], "name": "setFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newWallet", "type": "address" } ], "name": "setMarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newLimit", "type": "uint256" } ], "name": "setMaxWalletLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_swapenabled", "type": "bool" }, { "internalType": "bool", "name": "_protected", "type": "bool" } ], "name": "setSwapSetting", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_threshold", "type": "uint256" } ], "name": "setSwapThreshold", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newLimit", "type": "uint256" } ], "name": "setTxLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapProtection", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapThreshold", "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": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "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" }, { "stateMutability": "payable", "type": "receive" } ]
60c0604052600e60809081526d466c61636b2045786368616e676560901b60a0526003906200002f908262000575565b50604080518082019091526005815264464c41434b60d81b60208201526004906200005b908262000575565b506005805460ff191660129081179091556200007990600a6200074e565b6200008890620f42406200075e565b6006819055620000a990606490620000a290600562000372565b9062000405565b600955600654620000c490606490620000a290600362000372565b600a55600654620000e09061271090620000a290600562000372565b600b556003600c819055600d556064600e55600f80546001600160a01b0319167335dcfb09ed94ca41d425696e0d411f0a4bdd649d179055601080546201000160a01b62ffffff60a01b199091161790553480156200013d575f80fd5b5062000149336200044e565b601080546001600160a01b031916331790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d91829163c45a0155916004808201926020929091908290030181865afa158015620001ad573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001d3919062000778565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200021f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000245919062000778565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000290573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002b6919062000778565b601280546001600160a01b03199081166001600160a01b0393841617825560118054909116848416179055305f908152600160208181526040808420805460ff19908116851790915533808652828620805483168617905595549096168452600282528084208054909616909217909455600654838352600785528183208190559051908152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3506200080e565b5f825f036200038357505f620003ff565b5f6200039083856200075e565b9050826200039f8583620007a0565b14620003fc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f620003fc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200049d60201b60201c565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f8183620004c05760405162461bcd60e51b8152600401620003f39190620007c0565b505f620004ce8486620007a0565b95945050505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200050057607f821691505b6020821081036200051f57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200057057805f5260205f20601f840160051c810160208510156200054c5750805b601f840160051c820191505b818110156200056d575f815560010162000558565b50505b505050565b81516001600160401b03811115620005915762000591620004d7565b620005a981620005a28454620004eb565b8462000525565b602080601f831160018114620005df575f8415620005c75750858301515b5f19600386901b1c1916600185901b17855562000639565b5f85815260208120601f198616915b828110156200060f57888601518255948401946001909101908401620005ee565b50858210156200062d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200069557815f190482111562000679576200067962000641565b808516156200068757918102915b93841c93908002906200065a565b509250929050565b5f82620006ad57506001620003ff565b81620006bb57505f620003ff565b8160018114620006d45760028114620006df57620006ff565b6001915050620003ff565b60ff841115620006f357620006f362000641565b50506001821b620003ff565b5060208310610133831016604e8410600b841016171562000724575081810a620003ff565b62000730838362000655565b805f190482111562000746576200074662000641565b029392505050565b5f620003fc60ff8416836200069d565b8082028115828204841417620003ff57620003ff62000641565b5f6020828403121562000789575f80fd5b81516001600160a01b0381168114620003fc575f80fd5b5f82620007bb57634e487b7160e01b5f52601260045260245ffd5b500490565b5f602080835283518060208501525f5b81811015620007ee57858101830151858201604001528201620007d0565b505f604082860101526040601f19601f8301168501019250505092915050565b611bb9806200081c5f395ff3fe6080604052600436106101ff575f3560e01c80636ddd171311610113578063c3f70b521161009d578063f0d1fbdc1161006d578063f0d1fbdc146105d6578063f242ab4114610604578063f2fde38b14610623578063f8b45b0514610642578063fdd24dfe14610657575f80fd5b8063c3f70b5214610549578063dd62ed3e1461055e578063de96c5bb146105a2578063e6b2603b146105c2575f80fd5b8063751039fc116100e3578063751039fc146104c75780638da5cb5b146104db57806395d89b41146104f75780639d0014b11461050b578063a9059cbb1461052a575f80fd5b80636ddd17131461044057806370a0823114610460578063715018a614610494578063728d41c9146104a8575f80fd5b8063313ce5671161019457806352f7c9881161016457806352f7c988146103a557806357376198146103c45780635c85974f146103e35780635d098b38146104025780636cd5687814610421575f80fd5b8063313ce5671461032257806339b296ff146103435780633ecad271146103625780634706240214610390575f80fd5b8063108dfa43116101cf578063108dfa43146102b957806318160ddd146102da57806323b872dd146102ee5780632b14ca561461030d575f80fd5b80630445b6671461020a57806306fdde03146102325780630758d92414610253578063095ea7b31461028a575f80fd5b3661020657005b5f80fd5b348015610215575f80fd5b5061021f600b5481565b6040519081526020015b60405180910390f35b34801561023d575f80fd5b50610246610677565b6040516102299190611826565b34801561025e575f80fd5b50601154610272906001600160a01b031681565b6040516001600160a01b039091168152602001610229565b348015610295575f80fd5b506102a96102a436600461186c565b610707565b6040519015158152602001610229565b3480156102c4575f80fd5b506102d86102d33660046118aa565b61071d565b005b3480156102e5575f80fd5b5060065461021f565b3480156102f9575f80fd5b506102a96103083660046118db565b610783565b348015610318575f80fd5b5061021f600d5481565b34801561032d575f80fd5b5060055460405160ff9091168152602001610229565b34801561034e575f80fd5b506102d861035d366004611919565b61082a565b34801561036d575f80fd5b506102a961037c366004611935565b60026020525f908152604090205460ff1681565b34801561039b575f80fd5b5061021f600c5481565b3480156103b0575f80fd5b506102d86103bf366004611950565b61087d565b3480156103cf575f80fd5b506102d86103de36600461186c565b6108b1565b3480156103ee575f80fd5b506102d86103fd366004611970565b6109df565b34801561040d575f80fd5b506102d861041c366004611935565b610a0d565b34801561042c575f80fd5b506102d861043b366004611935565b610a58565b34801561044b575f80fd5b506010546102a990600160a01b900460ff1681565b34801561046b575f80fd5b5061021f61047a366004611935565b6001600160a01b03165f9081526007602052604090205490565b34801561049f575f80fd5b506102d8610aa3565b3480156104b3575f80fd5b506102d86104c2366004611970565b610ad7565b3480156104d2575f80fd5b506102d8610b05565b3480156104e6575f80fd5b505f546001600160a01b0316610272565b348015610502575f80fd5b50610246610b48565b348015610516575f80fd5b506102d8610525366004611970565b610b57565b348015610535575f80fd5b506102a961054436600461186c565b610b85565b348015610554575f80fd5b5061021f60095481565b348015610569575f80fd5b5061021f610578366004611987565b6001600160a01b039182165f90815260086020908152604080832093909416825291909152205490565b3480156105ad575f80fd5b506010546102a990600160b01b900460ff1681565b3480156105cd575f80fd5b506102d8610b91565b3480156105e1575f80fd5b506102a96105f0366004611935565b60016020525f908152604090205460ff1681565b34801561060f575f80fd5b50601254610272906001600160a01b031681565b34801561062e575f80fd5b506102d861063d366004611935565b610c74565b34801561064d575f80fd5b5061021f600a5481565b348015610662575f80fd5b506010546102a990600160a81b900460ff1681565b606060038054610686906119be565b80601f01602080910402602001604051908101604052809291908181526020018280546106b2906119be565b80156106fd5780601f106106d4576101008083540402835291602001916106fd565b820191905f5260205f20905b8154815290600101906020018083116106e057829003601f168201915b5050505050905090565b5f610713338484610d0b565b5060015b92915050565b5f546001600160a01b0316331461074f5760405162461bcd60e51b8152600401610746906119f6565b60405180910390fd5b6010805461ffff60a01b1916600160a01b9315159390930260ff60a81b191692909217600160a81b91151591909102179055565b5f61078f848484610dbd565b5061081f843361081a856040518060400160405280601881526020017f45524332303a204578636565647320616c6c6f77616e6365000000000000000081525060085f8b6001600160a01b03166001600160a01b031681526020019081526020015f205f6107fa3390565b6001600160a01b0316815260208101919091526040015f20549190611156565b610d0b565b5060015b9392505050565b5f546001600160a01b031633146108535760405162461bcd60e51b8152600401610746906119f6565b6001600160a01b03919091165f908152600160205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146108a65760405162461bcd60e51b8152600401610746906119f6565b600c91909155600d55565b6010546001600160a01b031633146108fa5760405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606401610746565b6010546040516001600160a01b039182166024820152604481018390525f9184169060640160408051601f198184030181529181526020820180516001600160e01b031663a9059cbb60e01b179052516109549190611a2b565b5f604051808303815f865af19150503d805f811461098d576040519150601f19603f3d011682016040523d82523d5f602084013e610992565b606091505b50509050806109da5760405162461bcd60e51b8152602060048201526014602482015273151bdad95b881c185e5b595b9d0819985a5b195960621b6044820152606401610746565b505050565b5f546001600160a01b03163314610a085760405162461bcd60e51b8152600401610746906119f6565b600955565b5f546001600160a01b03163314610a365760405162461bcd60e51b8152600401610746906119f6565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314610a815760405162461bcd60e51b8152600401610746906119f6565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314610acc5760405162461bcd60e51b8152600401610746906119f6565b610ad55f61118e565b565b5f546001600160a01b03163314610b005760405162461bcd60e51b8152600401610746906119f6565b600a55565b5f546001600160a01b03163314610b2e5760405162461bcd60e51b8152600401610746906119f6565b6010805460ff60b01b19169055600654600a819055600955565b606060048054610686906119be565b5f546001600160a01b03163314610b805760405162461bcd60e51b8152600401610746906119f6565b600b55565b5f61081f338484610dbd565b6010546001600160a01b03163314610bda5760405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606401610746565b6010546040515f916001600160a01b03169047908381818185875af1925050503d805f8114610c24576040519150601f19603f3d011682016040523d82523d5f602084013e610c29565b606091505b5050905080610c715760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e204661696c6564212160601b6044820152606401610746565b50565b5f546001600160a01b03163314610c9d5760405162461bcd60e51b8152600401610746906119f6565b6001600160a01b038116610d025760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610746565b610c718161118e565b6001600160a01b038316610d345760405163e602df0560e01b81525f6004820152602401610746565b6001600160a01b038216610d5d57604051634a1406b160e11b81525f6004820152602401610746565b6001600160a01b038381165f8181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b038416610de757604051634b637e8f60e11b81525f6004820152602401610746565b6001600160a01b038316610e105760405163ec442f0560e01b81525f6004820152602401610746565b815f03610e30576040516367c8957760e01b815260040160405180910390fd5b601254600160a01b900460ff1615610e5457610e4d8484846111dd565b9050610823565b6001600160a01b0384165f9081526001602052604090205460ff16158015610e9457506001600160a01b0383165f9081526001602052604090205460ff16155b8015610ea95750601054600160b01b900460ff165b15610f8257600954821115610ef65760405162461bcd60e51b8152602060048201526013602482015272115e18d959591cc81b585e151e105b5bdd5b9d606a1b6044820152606401610746565b6001600160a01b0383165f9081526002602052604090205460ff16610f8257600a54610f4083610f3a866001600160a01b03165f9081526007602052604090205490565b906112c0565b1115610f825760405162461bcd60e51b8152602060048201526011602482015270115e18d959591cc81b585e15d85b1b195d607a1b6044820152606401610746565b305f90815260076020526040902054600b5481108015908190610faf5750601254600160a01b900460ff16155b8015610fd357506001600160a01b0386165f9081526002602052604090205460ff16155b8015610fe85750601054600160a01b900460ff165b801561100c57506001600160a01b0386165f9081526001602052604090205460ff16155b801561103057506001600160a01b0385165f9081526001602052604090205460ff16155b1561103e5761103e8261131e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389165f9081526007909152919091205461108f918690611156565b6001600160a01b0387165f908152600760205260408120919091556110b487876113b0565b6110c8576110c387878761144a565b6110ca565b845b6001600160a01b0387165f908152600760205260409020549091506110ef90826112c0565b6001600160a01b038088165f8181526007602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111429085815260200190565b60405180910390a360019350505050610823565b5f81848411156111795760405162461bcd60e51b81526004016107469190611826565b505f6111858486611a5a565b95945050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f90815260079091529182205461122d918490611156565b6001600160a01b038086165f90815260076020526040808220939093559085168152205461125b90836112c0565b6001600160a01b038085165f8181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112ae9086815260200190565b60405180910390a35060019392505050565b5f806112cc8385611a6d565b9050838110156108235760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610746565b6012805460ff60a01b1916600160a01b179055601054600160a81b900460ff16156113485750600b545b4761135282611554565b5f61135d47836116dd565b9050801561139e57600f546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561139c573d5f803e3d5ffd5b505b50506012805460ff60a01b1916905550565b6001600160a01b0382165f9081526001602052604081205460ff16806113ed57506001600160a01b0382165f9081526001602052604090205460ff165b156113fa57506001610717565b6001600160a01b0383165f9081526002602052604090205460ff168061143757506001600160a01b0382165f9081526002602052604090205460ff165b1561144357505f610717565b505f610717565b6001600160a01b0383165f90815260026020526040812054819060ff16156114945761148d600e54611487600c548661171e90919063ffffffff16565b9061179c565b90506114d2565b6001600160a01b0384165f9081526002602052604090205460ff16156114d2576114cf600e54611487600d548661171e90919063ffffffff16565b90505b801561154a57305f908152600760205260409020546114f190826112c0565b305f81815260076020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115419085815260200190565b60405180910390a35b61118583826116dd565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061158757611587611a80565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115de573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116029190611a94565b8160018151811061161557611615611a80565b6001600160a01b03928316602091820292909201015260115461163b9130911684610d0b565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906116739085905f90869030904290600401611af2565b5f604051808303815f87803b15801561168a575f80fd5b505af115801561169c573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516116d1929190611b2d565b60405180910390a15050565b5f61082383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611156565b5f825f0361172d57505f610717565b5f6117388385611b4d565b9050826117458583611b64565b146108235760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610746565b5f61082383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152505f81836117f85760405162461bcd60e51b81526004016107469190611826565b505f6111858486611b64565b5f5b8381101561181e578181015183820152602001611806565b50505f910152565b602081525f8251806020840152611844816040850160208701611804565b601f01601f19169190910160400192915050565b6001600160a01b0381168114610c71575f80fd5b5f806040838503121561187d575f80fd5b823561188881611858565b946020939093013593505050565b803580151581146118a5575f80fd5b919050565b5f80604083850312156118bb575f80fd5b6118c483611896565b91506118d260208401611896565b90509250929050565b5f805f606084860312156118ed575f80fd5b83356118f881611858565b9250602084013561190881611858565b929592945050506040919091013590565b5f806040838503121561192a575f80fd5b82356118c481611858565b5f60208284031215611945575f80fd5b813561082381611858565b5f8060408385031215611961575f80fd5b50508035926020909101359150565b5f60208284031215611980575f80fd5b5035919050565b5f8060408385031215611998575f80fd5b82356119a381611858565b915060208301356119b381611858565b809150509250929050565b600181811c908216806119d257607f821691505b6020821081036119f057634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f8251611a3c818460208701611804565b9190910192915050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561071757610717611a46565b8082018082111561071757610717611a46565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611aa4575f80fd5b815161082381611858565b5f815180845260208085019450602084015f5b83811015611ae75781516001600160a01b031687529582019590820190600101611ac2565b509495945050505050565b85815284602082015260a060408201525f611b1060a0830186611aaf565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201525f611b456040830184611aaf565b949350505050565b808202811582820484141761071757610717611a46565b5f82611b7e57634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212206c5980af212f063a4e9a010ffc091ccf3a196e62e9d12875c4d5ee84a7eab19d64736f6c63430008160033