[ { "inputs": [ { "internalType": "uint64", "name": "subscriptionId", "type": "uint64" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "have", "type": "address" }, { "internalType": "address", "name": "want", "type": "address" } ], "name": "OnlyCoordinatorCanFulfill", "type": "error" }, { "inputs": [], "name": "Reentrancy", "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": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromFees", "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": "tokensSwapped", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "ethReceived", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "tokensIntoLiquidity", "type": "uint256" } ], "name": "SwapAndLiquify", "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": true, "internalType": "address", "name": "newAddress", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldAddress", "type": "address" } ], "name": "UpdateUniswapV2Router", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "betFlip", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "devWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "roll", "type": "uint256" }, { "indexed": false, "internalType": "bool", "name": "won", "type": "bool" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "winFlip", "type": "event" }, { "inputs": [], "name": "VRFFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isExcludedMaxTransactionAmount", "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": "", "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": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "betsizeFlip", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyDevFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "dangerClearCacheFlip", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "deadAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "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": [], "name": "devWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enableTrading", "outputs": [], "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": "updAds", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "excludeFromMaxTransaction", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "flip", "outputs": [], "stateMutability": "payable", "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": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "limitsInEffect", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTransactionAmount", "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": "payout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "requestId", "type": "uint256" }, { "internalType": "uint256[]", "name": "randomWords", "type": "uint256[]" } ], "name": "rawFulfillRandomWords", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "removeLimits", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellDevFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTotalFees", "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": "router", "type": "address" } ], "name": "setRouter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "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": "tokensForDev", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForLiquidity", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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" }, { "inputs": [], "name": "uniswapV2Router", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" } ], "name": "updateBuyFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newWallet", "type": "address" } ], "name": "updateDevWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxTxnAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxWalletAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" } ], "name": "updateSellFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "updateSwapEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "updateSwapTokensAtAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newFee", "type": "uint256" } ], "name": "updateVRFFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "userIdFlip", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdrawToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60a060405260016006819055600980546001600160501b03191666010003002625a01790556012805462ffffff191690911790553480156200004057600080fd5b506040516200379a3803806200379a8339810160408190526200006391620005fc565b604080518082018252600b81526a456d70697265204369747960a81b602080830191825283518085019094526004845263454d504360e01b90840152815173271682deb8c4e0901d1a1550ad2e64d568e699099391620000c7916003919062000556565b508051620000dd90600490602084019062000556565b5050506000620000f26200034860201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600160a01b0316608052600780546001600160401b038316600160a01b026001600160e01b03199091161773271682deb8c4e0901d1a1550ad2e64d568e699091790557f8af398995b04c28e9951adb9721ef74c74f93e6a478f39e7e0777be13527e7ef600855737a250d5630b4cf539739df2c5dacb4c659f2488d620001cb8160016200034c565b600d80546001600160a01b0319166001600160a01b038316179055600060036004816603e871b540c00069d3c21bcecceda100000060646200020f82600562000644565b6200021b919062000666565b600f5560646200022d82600562000644565b62000239919062000666565b6011556127106200024c82600562000644565b62000258919062000666565b6010556014869055601585905562000271858762000689565b601355601784905560188390556200028a838562000689565b6016556019829055600e80546001600160a01b03191673a95f28f310246ce4a7cf75d7bf349b8c64e33a89179055620002d7620002cf6005546001600160a01b031690565b6001620003c6565b620002e4306001620003c6565b620002f361dead6001620003c6565b620003126200030a6005546001600160a01b031690565b60016200034c565b6200031f3060016200034c565b6200032e61dead60016200034c565b6200033a338262000470565b5050505050505050620006e1565b3390565b6005546001600160a01b031633146200039b5760405162461bcd60e51b815260206004820181905260248201526000805160206200377a83398151915260448201526064015b60405180910390fd5b6001600160a01b03919091166000908152601d60205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314620004115760405162461bcd60e51b815260206004820181905260248201526000805160206200377a833981519152604482015260640162000392565b6001600160a01b0382166000818152601c6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038216620004c85760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000392565b80600254620004d8919062000689565b6002556001600160a01b0382166000908152602081905260409020546200050190829062000689565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b8280546200056490620006a4565b90600052602060002090601f016020900481019282620005885760008555620005d3565b82601f10620005a357805160ff1916838001178555620005d3565b82800160010185558215620005d3579182015b82811115620005d3578251825591602001919060010190620005b6565b50620005e1929150620005e5565b5090565b5b80821115620005e15760008155600101620005e6565b6000602082840312156200060f57600080fd5b81516001600160401b03811681146200062757600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156200066157620006616200062e565b500290565b6000826200068457634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156200069f576200069f6200062e565b500190565b600181811c90821680620006b957607f821691505b60208210811415620006db57634e487b7160e01b600052602260045260246000fd5b50919050565b6080516130766200070460003960008181610c490152610c8b01526130766000f3fe60806040526004361061036f5760003560e01c80638a8c523c116101c6578063bbc0c742116100f7578063d85ba06311610095578063f11a24d31161006f578063f11a24d314610a0d578063f2fde38b14610a23578063f637434214610a43578063f8b45b0514610a5957600080fd5b8063d85ba0631461099b578063dd62ed3e146109b1578063e2f45605146109f757600080fd5b8063c18bc195116100d1578063c18bc19514610930578063c8c8ebe414610950578063ca628c7814610966578063d257b34f1461097b57600080fd5b8063bbc0c742146108d1578063c0246668146108f0578063c0d786551461091057600080fd5b80639c3b4fdc11610164578063a457c2d71161013e578063a457c2d714610834578063a6b5717c14610854578063a9059cbb14610881578063b62496f5146108a157600080fd5b80639c3b4fdc146107f25780639fccce3214610808578063a0d82dc51461081e57600080fd5b8063924de9b7116101a0578063924de9b714610787578063935cbe15146107a757806395d89b41146107bd5780639a7a23d6146107d257600080fd5b80638a8c523c146107345780638da5cb5b146107495780638ea5220f1461076757600080fd5b80632aec3ab9116102a057806366ca9b831161023e57806370a082311161021857806370a08231146106b4578063715018a6146106ea578063751039fc146106ff5780637571336a1461071457600080fd5b806366ca9b831461065e5780636a486a8e1461067e5780636ddd17131461069457600080fd5b80634a62bb651161027a5780634a62bb65146105c95780634fbee193146105e35780635fb7a3021461061c57806363bd1d4a1461064957600080fd5b80632aec3ab91461056d578063313ce5671461058d57806339509351146105a957600080fd5b80631816467f1161030d578063203e727e116102e7578063203e727e14610504578063221e885d1461052457806323b872dd1461053757806327c8f8351461055757600080fd5b80631816467f146104ae5780631a8145bb146104ce5780631fe543e3146104e457600080fd5b806310d5de531161034957806310d5de53146103f85780631694505e1461042857806316fd63021461046057806318160ddd1461048f57600080fd5b806302dbd8f81461037b57806306fdde031461039d578063095ea7b3146103c857600080fd5b3661037657005b600080fd5b34801561038757600080fd5b5061039b610396366004612af6565b610a6f565b005b3480156103a957600080fd5b506103b2610b0f565b6040516103bf9190612b18565b60405180910390f35b3480156103d457600080fd5b506103e86103e3366004612b82565b610ba1565b60405190151581526020016103bf565b34801561040457600080fd5b506103e8610413366004612bae565b601d6020526000908152604090205460ff1681565b34801561043457600080fd5b50600d54610448906001600160a01b031681565b6040516001600160a01b0390911681526020016103bf565b34801561046c57600080fd5b5061039b336000908152600c60209081526040808320839055600b909152812055565b34801561049b57600080fd5b506002545b6040519081526020016103bf565b3480156104ba57600080fd5b5061039b6104c9366004612bae565b610bb7565b3480156104da57600080fd5b506104a0601a5481565b3480156104f057600080fd5b5061039b6104ff366004612be8565b610c3e565b34801561051057600080fd5b5061039b61051f366004612cb2565b610cc2565b61039b610532366004612cb2565b610d9f565b34801561054357600080fd5b506103e8610552366004612ccb565b6110e4565b34801561056357600080fd5b5061044861dead81565b34801561057957600080fd5b5061039b610588366004612cb2565b611136565b34801561059957600080fd5b50604051601281526020016103bf565b3480156105b557600080fd5b506103e86105c4366004612b82565b6111bd565b3480156105d557600080fd5b506012546103e89060ff1681565b3480156105ef57600080fd5b506103e86105fe366004612bae565b6001600160a01b03166000908152601c602052604090205460ff1690565b34801561062857600080fd5b506104a0610637366004612bae565b600c6020526000908152604090205481565b34801561065557600080fd5b5061039b6111f4565b34801561066a57600080fd5b5061039b610679366004612af6565b61124d565b34801561068a57600080fd5b506104a060165481565b3480156106a057600080fd5b506012546103e89062010000900460ff1681565b3480156106c057600080fd5b506104a06106cf366004612bae565b6001600160a01b031660009081526020819052604090205490565b3480156106f657600080fd5b5061039b6112e0565b34801561070b57600080fd5b506103e8611354565b34801561072057600080fd5b5061039b61072f366004612d1a565b611391565b34801561074057600080fd5b5061039b6113e6565b34801561075557600080fd5b506005546001600160a01b0316610448565b34801561077357600080fd5b50600e54610448906001600160a01b031681565b34801561079357600080fd5b5061039b6107a2366004612d53565b611423565b3480156107b357600080fd5b506104a060195481565b3480156107c957600080fd5b506103b2611469565b3480156107de57600080fd5b5061039b6107ed366004612d1a565b611478565b3480156107fe57600080fd5b506104a060155481565b34801561081457600080fd5b506104a0601b5481565b34801561082a57600080fd5b506104a060185481565b34801561084057600080fd5b506103e861084f366004612b82565b6114ac565b34801561086057600080fd5b506104a061086f366004612bae565b600b6020526000908152604090205481565b34801561088d57600080fd5b506103e861089c366004612b82565b6114e3565b3480156108ad57600080fd5b506103e86108bc366004612bae565b601e6020526000908152604090205460ff1681565b3480156108dd57600080fd5b506012546103e890610100900460ff1681565b3480156108fc57600080fd5b5061039b61090b366004612d1a565b6114f0565b34801561091c57600080fd5b5061039b61092b366004612bae565b611579565b34801561093c57600080fd5b5061039b61094b366004612cb2565b6115d2565b34801561095c57600080fd5b506104a0600f5481565b34801561097257600080fd5b5061039b6116a3565b34801561098757600080fd5b506103e8610996366004612cb2565b6117ee565b3480156109a757600080fd5b506104a060135481565b3480156109bd57600080fd5b506104a06109cc366004612d70565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015610a0357600080fd5b506104a060105481565b348015610a1957600080fd5b506104a060145481565b348015610a2f57600080fd5b5061039b610a3e366004612bae565b61193d565b348015610a4f57600080fd5b506104a060175481565b348015610a6557600080fd5b506104a060115481565b6005546001600160a01b03163314610aa25760405162461bcd60e51b8152600401610a9990612d9e565b60405180910390fd5b60178290556018819055610ab68183612de9565b601681905560191015610b0b5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323525206f72206c6573730000006044820152606401610a99565b5050565b606060038054610b1e90612e01565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4a90612e01565b8015610b975780601f10610b6c57610100808354040283529160200191610b97565b820191906000526020600020905b815481529060010190602001808311610b7a57829003601f168201915b5050505050905090565b6000610bae338484611a28565b50600192915050565b6005546001600160a01b03163314610be15760405162461bcd60e51b8152600401610a9990612d9e565b600e546040516001600160a01b03918216918316907f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74390600090a3600e80546001600160a01b0319166001600160a01b0392909216919091179055565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cb85760405163073e64fd60e21b81523360048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166024820152604401610a99565b610b0b8282611b4d565b6005546001600160a01b03163314610cec5760405162461bcd60e51b8152600401610a9990612d9e565b670de0b6b3a76400006103e8610d0160025490565b610d0c906001612e3c565b610d169190612e71565b610d209190612e71565b811015610d875760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201526e6c6f776572207468616e20302e312560881b6064820152608401610a99565b610d9981670de0b6b3a7640000612e3c565b600f5550565b600654600114610dc25760405163558a1e0360e11b815260040160405180910390fd5b60026006556064610dd260025490565b610ddc9190612e71565b811115610e455760405162461bcd60e51b815260206004820152603160248201527f43616e206e6f7420666c6970206d6f7265207468616e203125206f662074686560448201527020737570706c7920617420612074696d6560781b6064820152608401610a99565b336000908152600b602052604090205415610e985760405162461bcd60e51b81526020600482015260136024820152724f6e6520666c697020617420612074696d652160681b6044820152606401610a99565b601954341015610ee05760405162461bcd60e51b8152602060048201526013602482015272496e73756666696369656e742056524646656560681b6044820152606401610a99565b600e546019546040516000926001600160a01b031691908381818185875af1925050503d8060008114610f2f576040519150601f19603f3d011682016040523d82523d6000602084013e610f34565b606091505b5050905080610f7d5760405162461bcd60e51b81526020600482015260156024820152744661696c656420746f2073656e642056524646656560581b6044820152606401610a99565b610f873383611d30565b6007546008546009546040516305d3b1d360e41b81526004810192909252600160a01b830467ffffffffffffffff166024830152640100000000810461ffff16604483015263ffffffff808216606484015266010000000000009091041660848201526000916001600160a01b031690635d3b1d309060a4016020604051808303816000875af115801561101f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110439190612e85565b6000818152600a6020908152604080832080546001600160a01b031916339081179091558352600b9091529020819055905060646110828460c7612e3c565b61108c9190612e71565b336000818152600c6020526040908190209290925590517feb60f01d57d2fe4e66ef31e4b2166288174d4cf64772f0a4e59d66e6a4a83258906110d29086815260200190565b60405180910390a25050600160065550565b60006110f1848484611e24565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461112c918691611127908690612e9e565b611a28565b5060019392505050565b6005546001600160a01b031633146111605760405162461bcd60e51b8152600401610a9990612d9e565b67016345785d8a00008111156111b85760405162461bcd60e51b815260206004820152601c60248201527f4d757374206b6565702056524620666565203c3d20302e3120455448000000006044820152606401610a99565b601955565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610bae918590611127908690612de9565b6005546001600160a01b0316331461121e5760405162461bcd60e51b8152600401610a9990612d9e565b60405133904780156108fc02916000818181858888f1935050505015801561124a573d6000803e3d6000fd5b50565b6005546001600160a01b031633146112775760405162461bcd60e51b8152600401610a9990612d9e565b6014829055601581905561128b8183612de9565b601381905560141015610b0b5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323025206f72206c6573730000006044820152606401610a99565b6005546001600160a01b0316331461130a5760405162461bcd60e51b8152600401610a9990612d9e565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546000906001600160a01b031633146113815760405162461bcd60e51b8152600401610a9990612d9e565b506012805460ff19169055600190565b6005546001600160a01b031633146113bb5760405162461bcd60e51b8152600401610a9990612d9e565b6001600160a01b03919091166000908152601d60205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146114105760405162461bcd60e51b8152600401610a9990612d9e565b6012805462ffff00191662010100179055565b6005546001600160a01b0316331461144d5760405162461bcd60e51b8152600401610a9990612d9e565b60128054911515620100000262ff000019909216919091179055565b606060048054610b1e90612e01565b6005546001600160a01b031633146114a25760405162461bcd60e51b8152600401610a9990612d9e565b610b0b82826124cb565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610bae918590611127908690612e9e565b6000610bae338484611e24565b6005546001600160a01b0316331461151a5760405162461bcd60e51b8152600401610a9990612d9e565b6001600160a01b0382166000818152601c6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146115a35760405162461bcd60e51b8152600401610a9990612d9e565b806115af816001611391565b600d80546001600160a01b0319166001600160a01b039290921691909117905550565b6005546001600160a01b031633146115fc5760405162461bcd60e51b8152600401610a9990612d9e565b670de0b6b3a76400006103e861161160025490565b61161c906005612e3c565b6116269190612e71565b6116309190612e71565b81101561168b5760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263302e352560e01b6064820152608401610a99565b61169d81670de0b6b3a7640000612e3c565b60115550565b6005546001600160a01b031633146116cd5760405162461bcd60e51b8152600401610a9990612d9e565b3063095ea7b3816116dd60025490565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015611728573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174c9190612eb5565b50306323b872dd816117666005546001600160a01b031690565b306000908152602081905260409020546040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af11580156117ca573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124a9190612eb5565b6005546000906001600160a01b0316331461181b5760405162461bcd60e51b8152600401610a9990612d9e565b620186a061182860025490565b611833906001612e3c565b61183d9190612e71565b8210156118aa5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610a99565b60646118b560025490565b6118c0906001612e3c565b6118ca9190612e71565b8211156119345760405162461bcd60e51b815260206004820152603260248201527f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160448201527137101892903a37ba30b61039bab838363c9760711b6064820152608401610a99565b50601055600190565b6005546001600160a01b031633146119675760405162461bcd60e51b8152600401610a9990612d9e565b6001600160a01b0381166119cc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a99565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316611a8a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a99565b6001600160a01b038216611aeb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a99565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6000828152600a60205260409020546001600160a01b031680611bb25760405162461bcd60e51b815260206004820152601a60248201527f4e6f2067616d6520666f756e6420666f722074686520757365720000000000006044820152606401610a99565b600082600081518110611bc757611bc7612ed2565b6020026020010151905083600b6000846001600160a01b03166001600160a01b03168152602001908152602001600020541415611d2a576000611c0b600283612ee8565b905080611ca1576001600160a01b0383166000908152600c6020526040902054611c3690849061251f565b6001600160a01b0383166000818152600c6020526040908190205490517f7f1653baa84473fed2c40782149eb60e20923fed5bbfb0c39cafa599018a7ad991611c949185916001919283529015156020830152604082015260600190565b60405180910390a2611d02565b6001600160a01b0383166000818152600c60205260408082205490517f7f1653baa84473fed2c40782149eb60e20923fed5bbfb0c39cafa599018a7ad992611cf9928683529015156020830152604082015260600190565b60405180910390a25b506001600160a01b0382166000908152600c60209081526040808320839055600b9091528120555b50505050565b6001600160a01b038216611d905760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610a99565b6001600160a01b038216600090815260208190526040902054611db4908290612e9e565b6001600160a01b038316600090815260208190526040902055600254611ddb908290612e9e565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6001600160a01b038316611e4a5760405162461bcd60e51b8152600401610a9990612efc565b6001600160a01b038216611e705760405162461bcd60e51b8152600401610a9990612f41565b80611e8657611e81838360006125f8565b505050565b60125460ff16156121fc576005546001600160a01b03848116911614801590611ebd57506005546001600160a01b03838116911614155b8015611ed157506001600160a01b03821615155b8015611ee857506001600160a01b03821661dead14155b8015611efe5750600d54600160a01b900460ff16155b156121fc57601254610100900460ff16611f96576001600160a01b0383166000908152601c602052604090205460ff1680611f5157506001600160a01b0382166000908152601c602052604090205460ff165b611f965760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610a99565b6001600160a01b0383166000908152601e602052604090205460ff168015611fd757506001600160a01b0382166000908152601d602052604090205460ff16155b156120bb57600f5481111561204c5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610a99565b6011546001600160a01b0383166000908152602081905260409020546120729083612de9565b11156120b65760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610a99565b6121fc565b6001600160a01b0382166000908152601e602052604090205460ff1680156120fc57506001600160a01b0383166000908152601d602052604090205460ff16155b1561217257600f548111156120b65760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610a99565b6001600160a01b0382166000908152601d602052604090205460ff166121fc576011546001600160a01b0383166000908152602081905260409020546121b89083612de9565b11156121fc5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610a99565b3060009081526020819052604090205460105481108015908190612228575060125462010000900460ff165b801561223e5750600d54600160a01b900460ff16155b801561226357506001600160a01b0385166000908152601e602052604090205460ff16155b801561228857506001600160a01b0385166000908152601c602052604090205460ff16155b80156122ad57506001600160a01b0384166000908152601c602052604090205460ff16155b156122db57600d805460ff60a01b1916600160a01b1790556122cd6126e9565b600d805460ff60a01b191690555b600d546001600160a01b0386166000908152601c602052604090205460ff600160a01b90920482161591168061232957506001600160a01b0385166000908152601c602052604090205460ff165b15612332575060005b600081156124b7576001600160a01b0386166000908152601e602052604090205460ff16801561236457506000601654115b156123ec576064601654866123799190612e3c565b6123839190612e71565b9050601654601754826123969190612e3c565b6123a09190612e71565b601a60008282546123b19190612de9565b90915550506016546018546123c69083612e3c565b6123d09190612e71565b601b60008282546123e19190612de9565b909155506124999050565b6001600160a01b0387166000908152601e602052604090205460ff16801561241657506000601354115b156124995760646013548661242b9190612e3c565b6124359190612e71565b9050601354601454826124489190612e3c565b6124529190612e71565b601a60008282546124639190612de9565b90915550506013546015546124789083612e3c565b6124829190612e71565b601b60008282546124939190612de9565b90915550505b80156124aa576124aa8730836125f8565b6124b48186612e9e565b94505b6124c28787876125f8565b50505050505050565b6001600160a01b0382166000818152601e6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0382166125755760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610a99565b806002546125839190612de9565b6002556001600160a01b0382166000908152602081905260409020546125aa908290612de9565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611e18565b6001600160a01b03831661261e5760405162461bcd60e51b8152600401610a9990612efc565b6001600160a01b0382166126445760405162461bcd60e51b8152600401610a9990612f41565b6001600160a01b038316600090815260208190526040902054612668908290612e9e565b6001600160a01b038085166000908152602081905260408082209390935590841681522054612698908290612de9565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611b40565b3060009081526020819052604081205490506000601b54601a5461270d9190612de9565b9050600082158061271c575081155b1561272657505050565b601054612734906014612e3c565b83111561274c57601054612749906014612e3c565b92505b6000600283601a548661275f9190612e3c565b6127699190612e71565b6127739190612e71565b905060006127818286612e9e565b90504761278d826128e8565b60006127998247612e9e565b9050600086601b54836127ac9190612e3c565b6127b69190612e71565b905060006127c48284612e9e565b6000601a819055601b819055600e546040519293506001600160a01b031691849181818185875af1925050503d806000811461281c576040519150601f19603f3d011682016040523d82523d6000602084013e612821565b606091505b509097505085158015906128355750600081115b15612888576128448682612a42565b601a54604080518781526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b600e546040516001600160a01b03909116904790600081818185875af1925050503d80600081146128d5576040519150601f19603f3d011682016040523d82523d6000602084013e6128da565b606091505b505050505050505050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061291d5761291d612ed2565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612976573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061299a9190612f84565b816001815181106129ad576129ad612ed2565b6001600160a01b039283166020918202929092010152600d546129d39130911684611a28565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790612a0c908590600090869030904290600401612fa1565b600060405180830381600087803b158015612a2657600080fd5b505af1158015612a3a573d6000803e3d6000fd5b505050505050565b600d54612a5a9030906001600160a01b031684611a28565b600d54600e5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015612aca573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612aef9190613012565b5050505050565b60008060408385031215612b0957600080fd5b50508035926020909101359150565b600060208083528351808285015260005b81811015612b4557858101830151858201604001528201612b29565b81811115612b57576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461124a57600080fd5b60008060408385031215612b9557600080fd5b8235612ba081612b6d565b946020939093013593505050565b600060208284031215612bc057600080fd5b8135612bcb81612b6d565b9392505050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215612bfb57600080fd5b8235915060208084013567ffffffffffffffff80821115612c1b57600080fd5b818601915086601f830112612c2f57600080fd5b813581811115612c4157612c41612bd2565b8060051b604051601f19603f83011681018181108582111715612c6657612c66612bd2565b604052918252848201925083810185019189831115612c8457600080fd5b938501935b82851015612ca257843584529385019392850192612c89565b8096505050505050509250929050565b600060208284031215612cc457600080fd5b5035919050565b600080600060608486031215612ce057600080fd5b8335612ceb81612b6d565b92506020840135612cfb81612b6d565b929592945050506040919091013590565b801515811461124a57600080fd5b60008060408385031215612d2d57600080fd5b8235612d3881612b6d565b91506020830135612d4881612d0c565b809150509250929050565b600060208284031215612d6557600080fd5b8135612bcb81612d0c565b60008060408385031215612d8357600080fd5b8235612d8e81612b6d565b91506020830135612d4881612b6d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115612dfc57612dfc612dd3565b500190565b600181811c90821680612e1557607f821691505b60208210811415612e3657634e487b7160e01b600052602260045260246000fd5b50919050565b6000816000190483118215151615612e5657612e56612dd3565b500290565b634e487b7160e01b600052601260045260246000fd5b600082612e8057612e80612e5b565b500490565b600060208284031215612e9757600080fd5b5051919050565b600082821015612eb057612eb0612dd3565b500390565b600060208284031215612ec757600080fd5b8151612bcb81612d0c565b634e487b7160e01b600052603260045260246000fd5b600082612ef757612ef7612e5b565b500690565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b600060208284031215612f9657600080fd5b8151612bcb81612b6d565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612ff15784516001600160a01b031683529383019391830191600101612fcc565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561302757600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122090a4f91ff6720cde3304e273f3f13010b76477355993a270e9d8c1c706a50ed064736f6c634300080a00334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657200000000000000000000000000000000000000000000000000000000000003b2