Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 MOW
Holders
145
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
195,521.935364241308539226 MOWValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MrMowser
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-06-13 */ // SPDX-License-Identifier: MIT /* * https://t.me/mrmowser * * https://twitter.com/mrmowserbot * * https://mrmowser.com/ */ pragma solidity ^0.8.18; interface IFactory { function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view returns (address pair); } interface IRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) internal { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } contract ERC20 is Context, IERC20, IERC20Metadata { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply = _totalSupply.add(amount); _balances[account] = _balances[account].add(amount); emit Transfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance"); _totalSupply = _totalSupply.sub(amount); emit Transfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } contract MrMowser is ERC20, Ownable { IRouter public uniswapV2Router; address public immutable uniswapV2Pair; string private constant _name = "Mr.Mowser"; string private constant _symbol = "MOW"; uint8 private constant _decimals = 18; // initialSupply uint256 constant initialSupply = 1_000_000_000 * (10**_decimals); bool private _swapping; uint256 public minimumTokensBeforeSwap = initialSupply * 25 / 100000; address public taxWallet; struct CustomTaxPeriod { bytes23 periodName; uint8 blocksInPeriod; uint256 timeInPeriod; uint8 taxFeeOnBuy; uint8 taxFeeOnSell; } // Base taxes CustomTaxPeriod private _base = CustomTaxPeriod('base',0,0,20,40); mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) public automatedMarketMakerPairs; uint8 private _taxFee; uint8 private _totalFee; event AutomatedMarketMakerPairChange(address indexed pair, bool indexed value); event UniswapV2RouterChange(address indexed newAddress, address indexed oldAddress); event WalletChange(string indexed indentifier, address indexed newWallet, address indexed oldWallet); event FeeChange(string indexed identifier, uint8 taxFee); event CustomTaxPeriodChange(uint256 indexed newValue, uint256 indexed oldValue, string indexed taxType, bytes23 period); event MaxTransactionAmountChange(uint256 indexed newValue, uint256 indexed oldValue); event MaxWalletAmountChange(uint256 indexed newValue, uint256 indexed oldValue); event AllowedWhenTradingDisabledChange(address indexed account, bool isExcluded); event ExcludeFromFeesChange(address indexed account, bool isExcluded); event ExcludeFromMaxTransferChange(address indexed account, bool isExcluded); event ExcludeFromMaxWalletChange(address indexed account, bool isExcluded); event MinTokenAmountBeforeSwapChange(uint256 indexed newValue, uint256 indexed oldValue); event Swap(uint256 tokensSwapped, uint256 ethReceived,uint256 tokensIntoLiqudity); event FeeOnSelectedWalletTransfersChange(address indexed account, bool newValue); event ClaimETHOverflow(uint256 amount); event FeesApplied(uint8 taxFee, uint256 totalFee); constructor() ERC20(_name, _symbol) { taxWallet = 0xa0F1d851Ade6e52C4D0aE137d48a177bF09c26ab; IRouter _uniswapV2Router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // Mainnet address _uniswapV2Pair = IFactory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = _uniswapV2Pair; _setAutomatedMarketMakerPair(_uniswapV2Pair, true); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _mint(owner(), initialSupply); } receive() external payable {} // Setters function _setAutomatedMarketMakerPair(address pair, bool value) private { require(automatedMarketMakerPairs[pair] != value, "Mr.Mowser: Automated market maker pair is already set to that value"); automatedMarketMakerPairs[pair] = value; emit AutomatedMarketMakerPairChange(pair, value); } function excludeFromFees(address account, bool excluded) external onlyOwner { require(_isExcludedFromFee[account] != excluded, "Mr.Mowser: Account is already the value of 'excluded'"); _isExcludedFromFee[account] = excluded; emit ExcludeFromFeesChange(account, excluded); } function setWallets(address newtaxWallet) external onlyOwner { if(taxWallet != newtaxWallet) { require(newtaxWallet != address(0), "Mr.Mowser: The taxWallet cannot be 0"); emit WalletChange('taxWallet', newtaxWallet, taxWallet); taxWallet = newtaxWallet; } } // Base fees function setFeesOnBuy(uint8 _taxFeeOnBuy) external onlyOwner { _setCustomBuyTaxPeriod(_base, _taxFeeOnBuy); emit FeeChange('baseFees-Buy', _taxFeeOnBuy); } function setFeesOnSell(uint8 _taxFeeOnSell) external onlyOwner { _setCustomSellTaxPeriod(_base, _taxFeeOnSell); emit FeeChange('baseFees-Sell', _taxFeeOnSell); } function setUniswapRouter(address newAddress) external onlyOwner { require(newAddress != address(uniswapV2Router), "Mr.Mowser: The router already has that address"); emit UniswapV2RouterChange(newAddress, address(uniswapV2Router)); uniswapV2Router = IRouter(newAddress); } function setMinimumTokensBeforeSwap(uint256 newValue) external onlyOwner { require(newValue != minimumTokensBeforeSwap, "Mr.Mowser: Cannot update minimumTokensBeforeSwap to same value"); emit MinTokenAmountBeforeSwapChange(newValue, minimumTokensBeforeSwap); minimumTokensBeforeSwap = newValue; } function claimETHOverflow() external onlyOwner { uint256 amount = address(this).balance; (bool success,) = address(owner()).call{value : amount}(""); if (success){ emit ClaimETHOverflow(amount); } } // Getters function getBaseBuyFees() external view returns (uint8) { return (_base.taxFeeOnBuy); } function getBaseSellFees() external view returns (uint8) { return (_base.taxFeeOnSell); } // Main function _transfer( address from, address to, uint256 amount ) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if(amount == 0) { super._transfer(from, to, 0); return; } bool isBuyFromLp = automatedMarketMakerPairs[from]; bool isSelltoLp = automatedMarketMakerPairs[to]; _adjustTaxes(isBuyFromLp, isSelltoLp); bool canSwap = balanceOf(address(this)) >= minimumTokensBeforeSwap; if ( canSwap && !_swapping && _totalFee > 0 && automatedMarketMakerPairs[to] ) { _swapping = true; _swap(); _swapping = false; } bool takeFee = !_swapping; if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){ takeFee = false; } if (takeFee && _totalFee > 0) { uint256 fee = amount * _totalFee / 100; amount = amount - fee; super._transfer(from, address(this), fee); } super._transfer(from, to, amount); } function _adjustTaxes(bool isBuyFromLp, bool isSelltoLp) private { _taxFee = 0; if (isBuyFromLp) { _taxFee = _base.taxFeeOnBuy; } if (isSelltoLp) { _taxFee = _base.taxFeeOnSell; } if (!isSelltoLp && !isBuyFromLp) { _taxFee = _base.taxFeeOnSell; } _totalFee = _taxFee; emit FeesApplied(_taxFee, _totalFee); } function _setCustomSellTaxPeriod(CustomTaxPeriod storage map, uint8 _taxFeeOnSell ) private { if (map.taxFeeOnSell != _taxFeeOnSell) { emit CustomTaxPeriodChange(_taxFeeOnSell, map.taxFeeOnSell, 'taxFeeOnSell', map.periodName); map.taxFeeOnSell = _taxFeeOnSell; } } function _setCustomBuyTaxPeriod(CustomTaxPeriod storage map, uint8 _taxFeeOnBuy ) private { if (map.taxFeeOnBuy != _taxFeeOnBuy) { emit CustomTaxPeriodChange(_taxFeeOnBuy, map.taxFeeOnBuy, 'taxFeeOnBuy', map.periodName); map.taxFeeOnBuy = _taxFeeOnBuy; } } function _swap() private { uint256 contractBalance = balanceOf(address(this)); uint256 initialETHBalance = address(this).balance; uint8 _totalFeePrior = _totalFee; uint256 amountToSwap = contractBalance; _swapTokensForETH(amountToSwap); uint256 ETHBalanceAfterSwap = address(this).balance - initialETHBalance; uint256 totalETHFee = _totalFeePrior; uint256 amountETHtax = ETHBalanceAfterSwap * _taxFee / totalETHFee; payable(taxWallet).transfer(amountETHtax); _totalFee = _totalFeePrior; } function _swapTokensForETH(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"AllowedWhenTradingDisabledChange","type":"event"},{"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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"AutomatedMarketMakerPairChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ClaimETHOverflow","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"newValue","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"oldValue","type":"uint256"},{"indexed":true,"internalType":"string","name":"taxType","type":"string"},{"indexed":false,"internalType":"bytes23","name":"period","type":"bytes23"}],"name":"CustomTaxPeriodChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFeesChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromMaxTransferChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromMaxWalletChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"identifier","type":"string"},{"indexed":false,"internalType":"uint8","name":"taxFee","type":"uint8"}],"name":"FeeChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"newValue","type":"bool"}],"name":"FeeOnSelectedWalletTransfersChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"taxFee","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"totalFee","type":"uint256"}],"name":"FeesApplied","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"newValue","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"oldValue","type":"uint256"}],"name":"MaxTransactionAmountChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"newValue","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"oldValue","type":"uint256"}],"name":"MaxWalletAmountChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"newValue","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"oldValue","type":"uint256"}],"name":"MinTokenAmountBeforeSwapChange","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":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"Swap","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":"UniswapV2RouterChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"indentifier","type":"string"},{"indexed":true,"internalType":"address","name":"newWallet","type":"address"},{"indexed":true,"internalType":"address","name":"oldWallet","type":"address"}],"name":"WalletChange","type":"event"},{"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":"claimETHOverflow","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":[],"name":"getBaseBuyFees","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBaseSellFees","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","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":"minimumTokensBeforeSwap","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_taxFeeOnBuy","type":"uint8"}],"name":"setFeesOnBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_taxFeeOnSell","type":"uint8"}],"name":"setFeesOnSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setMinimumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setUniswapRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newtaxWallet","type":"address"}],"name":"setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a0604052620186a0620000166012600a6200073e565b6200002690633b9aca0062000756565b6200003390601962000756565b6200003f919062000770565b6007556040805160a081018252636261736560e01b8152600060208201819052918101829052601460608201526028608090910152600980546001600160c01b031916636261736560981b179055600a55600b805461281461ffff19909116179055348015620000ae57600080fd5b506040518060400160405280600981526020016826b91726b7bbb9b2b960b91b815250604051806040016040528060038152602001624d4f5760e81b8152508160039081620000fe919062000837565b5060046200010d828262000837565b5050506200012a620001246200038460201b60201c565b62000388565b600880546001600160a01b03191673a0f1d851ade6e52c4d0ae137d48a177bf09c26ab1790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d91600091839163c45a01559160048083019260209291908290030181865afa158015620001a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cc919062000903565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200021a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000240919062000903565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200028e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b4919062000903565b600680546001600160a01b0319166001600160a01b038581169190911790915581166080529050620002e8816001620003da565b6001600c6000620003016005546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff19958616179055308152600c9092529020805490911660011790556200037c620003586005546001600160a01b031690565b620003666012600a6200073e565b6200037690633b9aca0062000756565b620004d6565b505062000944565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166000908152600d602052604090205481151560ff909116151503620004825760405162461bcd60e51b815260206004820152604360248201527f4d722e4d6f777365723a204175746f6d61746564206d61726b6574206d616b6560448201527f72207061697220697320616c72656164792073657420746f20746861742076616064820152626c756560e81b608482015260a4015b60405180910390fd5b6001600160a01b0382166000818152600d6020526040808220805460ff191685151590811790915590519092917fa666b9b2dc2c8f2d86fda7ba3a115be30d3a958fd84d359cbc6bc919df97990a91a35050565b6001600160a01b0382166200052e5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000479565b6002546200053d9082620005bf565b6002556001600160a01b038216600090815260208190526040902054620005659082620005bf565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b600080620005ce83856200092e565b905083811015620006225760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640162000479565b90505b92915050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620006825781600019048211156200066657620006666200062b565b808516156200067457918102915b93841c939080029062000646565b509250929050565b6000826200069b5750600162000625565b81620006aa5750600062000625565b8160018114620006c35760028114620006ce57620006ee565b600191505062000625565b60ff841115620006e257620006e26200062b565b50506001821b62000625565b5060208310610133831016604e8410600b841016171562000713575081810a62000625565b6200071f838362000641565b80600019048211156200073657620007366200062b565b029392505050565b60006200074f60ff8416836200068a565b9392505050565b80820281158282048414176200062557620006256200062b565b6000826200078e57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620007be57607f821691505b602082108103620007df57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005ba57600081815260208120601f850160051c810160208610156200080e5750805b601f850160051c820191505b818110156200082f578281556001016200081a565b505050505050565b81516001600160401b0381111562000853576200085362000793565b6200086b81620008648454620007a9565b84620007e5565b602080601f831160018114620008a357600084156200088a5750858301515b600019600386901b1c1916600185901b1785556200082f565b600085815260208120601f198616915b82811015620008d457888601518255948401946001909101908401620008b3565b5085821015620008f35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200091657600080fd5b81516001600160a01b03811681146200062257600080fd5b808201808211156200062557620006256200062b565b608051611b6162000960600039600061030d0152611b616000f3fe6080604052600436106101bb5760003560e01c806395d89b41116100ec578063c02466681161008a578063dd62ed3e11610064578063dd62ed3e14610502578063eb50e70e14610548578063f2fde38b14610568578063fe0175351461058857600080fd5b8063c0246668146104b4578063cd43e228146104d4578063d2d7ad83146104ec57600080fd5b8063aee50b1e116100c6578063aee50b1e14610424578063b62496f514610444578063bea8c58314610474578063bea9849e1461049457600080fd5b806395d89b41146103cf578063a457c2d7146103e4578063a9059cbb1461040457600080fd5b8063395093511161015957806366164f6f1161013357806366164f6f1461035157806370a0823114610366578063715018a61461039c5780638da5cb5b146103b157600080fd5b806339509351146102db57806349bd5a5e146102fb57806353e74ddc1461032f57600080fd5b806318160ddd1161019557806318160ddd1461025a57806323b872dd146102795780632dc0562d14610299578063313ce567146102b957600080fd5b806306fdde03146101c7578063095ea7b3146101f25780631694505e1461022257600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6105a5565b6040516101e99190611713565b60405180910390f35b3480156101fe57600080fd5b5061021261020d366004611776565b610637565b60405190151581526020016101e9565b34801561022e57600080fd5b50600654610242906001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b34801561026657600080fd5b506002545b6040519081526020016101e9565b34801561028557600080fd5b506102126102943660046117a2565b61064e565b3480156102a557600080fd5b50600854610242906001600160a01b031681565b3480156102c557600080fd5b5060125b60405160ff90911681526020016101e9565b3480156102e757600080fd5b506102126102f6366004611776565b6106b7565b34801561030757600080fd5b506102427f000000000000000000000000000000000000000000000000000000000000000081565b34801561033b57600080fd5b5061034f61034a3660046117e3565b6106ed565b005b34801561035d57600080fd5b5061034f610784565b34801561037257600080fd5b5061026b610381366004611806565b6001600160a01b031660009081526020819052604090205490565b3480156103a857600080fd5b5061034f610855565b3480156103bd57600080fd5b506005546001600160a01b0316610242565b3480156103db57600080fd5b506101dc61088b565b3480156103f057600080fd5b506102126103ff366004611776565b61089a565b34801561041057600080fd5b5061021261041f366004611776565b6108e9565b34801561043057600080fd5b5061034f61043f366004611823565b6108f6565b34801561045057600080fd5b5061021261045f366004611806565b600d6020526000908152604090205460ff1681565b34801561048057600080fd5b5061034f61048f3660046117e3565b6109ca565b3480156104a057600080fd5b5061034f6104af366004611806565b610a1d565b3480156104c057600080fd5b5061034f6104cf36600461183c565b610b19565b3480156104e057600080fd5b50600b5460ff166102c9565b3480156104f857600080fd5b5061026b60075481565b34801561050e57600080fd5b5061026b61051d36600461187a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561055457600080fd5b5061034f610563366004611806565b610c30565b34801561057457600080fd5b5061034f610583366004611806565b610d47565b34801561059457600080fd5b50600b54610100900460ff166102c9565b6060600380546105b4906118a8565b80601f01602080910402602001604051908101604052809291908181526020018280546105e0906118a8565b801561062d5780601f106106025761010080835404028352916020019161062d565b820191906000526020600020905b81548152906001019060200180831161061057829003601f168201915b5050505050905090565b6000610644338484610ddf565b5060015b92915050565b600061065b848484610f04565b6106ad84336106a885604051806060016040528060288152602001611adf602891396001600160a01b038a16600090815260016020908152604080832033845290915290205491906110f7565b610ddf565b5060019392505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916106449185906106a89086611131565b6005546001600160a01b031633146107205760405162461bcd60e51b8152600401610717906118e2565b60405180910390fd5b61072b600982611197565b6040516b62617365466565732d42757960a01b8152600c015b60405190819003812060ff83168252907fcd92f5810a4dc7c5d85d79e82e3cb46e2e9957f91e402abeafda957bbf2021dd9060200160405180910390a250565b6005546001600160a01b031633146107ae5760405162461bcd60e51b8152600401610717906118e2565b4760006107c36005546001600160a01b031690565b6001600160a01b03168260405160006040518083038185875af1925050503d806000811461080d576040519150601f19603f3d011682016040523d82523d6000602084013e610812565b606091505b505090508015610851576040518281527f362ae087cf4ccfc970d45b9e8ce6520f03b4eda3f9d76a70b655dc22badcca48906020015b60405180910390a15b5050565b6005546001600160a01b0316331461087f5760405162461bcd60e51b8152600401610717906118e2565b610889600061122e565b565b6060600480546105b4906118a8565b600061064433846106a885604051806060016040528060258152602001611b07602591393360009081526001602090815260408083206001600160a01b038d16845290915290205491906110f7565b6000610644338484610f04565b6005546001600160a01b031633146109205760405162461bcd60e51b8152600401610717906118e2565b60075481036109975760405162461bcd60e51b815260206004820152603e60248201527f4d722e4d6f777365723a2043616e6e6f7420757064617465206d696e696d756d60448201527f546f6b656e734265666f72655377617020746f2073616d652076616c756500006064820152608401610717565b60075460405182907f5b0491f767c1463bea8972339f785795be1a38784cc6483cf649cdcbb28c46b090600090a3600755565b6005546001600160a01b031633146109f45760405162461bcd60e51b8152600401610717906118e2565b6109ff600982611280565b6040516c18985cd95199595ccb54d95b1b609a1b8152600d01610744565b6005546001600160a01b03163314610a475760405162461bcd60e51b8152600401610717906118e2565b6006546001600160a01b0390811690821603610abc5760405162461bcd60e51b815260206004820152602e60248201527f4d722e4d6f777365723a2054686520726f7574657220616c726561647920686160448201526d732074686174206164647265737360901b6064820152608401610717565b6006546040516001600160a01b03918216918316907f2afbff3ed601a8723765c7072d8ea8445e08f6f1874afd34a2b747a272c3ebad90600090a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610b435760405162461bcd60e51b8152600401610717906118e2565b6001600160a01b0382166000908152600c602052604090205481151560ff909116151503610bd15760405162461bcd60e51b815260206004820152603560248201527f4d722e4d6f777365723a204163636f756e7420697320616c7265616479207468604482015274652076616c7565206f6620276578636c756465642760581b6064820152608401610717565b6001600160a01b0382166000818152600c6020908152604091829020805460ff191685151590811790915591519182527fa856ba9fdc54a5434b2359874c95612f520a2d7f858864ae98d15c1b2099ca8b910160405180910390a25050565b6005546001600160a01b03163314610c5a5760405162461bcd60e51b8152600401610717906118e2565b6008546001600160a01b03828116911614610d44576001600160a01b038116610cd15760405162461bcd60e51b8152602060048201526024808201527f4d722e4d6f777365723a205468652074617857616c6c65742063616e6e6f74206044820152630626520360e41b6064820152608401610717565b600854604051681d185e15d85b1b195d60ba1b81526001600160a01b0391821691831690600901604051908190038120907f4af24be54adc5e716fbcaa3fca0ad593e28dff90dffd49487c0a33b1547c6b5290600090a4600880546001600160a01b0319166001600160a01b0383161790555b50565b6005546001600160a01b03163314610d715760405162461bcd60e51b8152600401610717906118e2565b6001600160a01b038116610dd65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610717565b610d448161122e565b6001600160a01b038316610e415760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610717565b6001600160a01b038216610ea25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610717565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610f2a5760405162461bcd60e51b815260040161071790611917565b6001600160a01b038216610f505760405162461bcd60e51b81526004016107179061195c565b80600003610f6957610f6483836000611327565b505050565b6001600160a01b038084166000908152600d602052604080822054928516825290205460ff9182169116610f9d8282611430565b60075430600090815260208190526040902054108015908190610fca5750600654600160a01b900460ff16155b8015610fdf5750600e54610100900460ff1615155b801561100357506001600160a01b0385166000908152600d602052604090205460ff165b15611031576006805460ff60a01b1916600160a01b179055611023611501565b6006805460ff60a01b191690555b6006546001600160a01b0387166000908152600c602052604090205460ff600160a01b90920482161591168061107f57506001600160a01b0386166000908152600c602052604090205460ff165b15611088575060005b80801561109e5750600e54610100900460ff1615155b156110e357600e546000906064906110be90610100900460ff16886119b5565b6110c891906119cc565b90506110d481876119ee565b95506110e1883083611327565b505b6110ee878787611327565b50505050505050565b6000818484111561111b5760405162461bcd60e51b81526004016107179190611713565b50600061112884866119ee565b95945050505050565b60008061113e8385611a01565b9050838110156111905760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610717565b9392505050565b600282015460ff828116911614610851576040516a7461784665654f6e42757960a81b8152600b016040519081900381206002840154845460481b68ffffffffffffffffff19168352909160ff918216918416907eedc71549f0cbe47086c2237ce0cf874d6897fd1d7ce43ee6b65c0230d7606e9060200160405180910390a460028201805460ff831660ff199091161790555050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600282015460ff8281166101009092041614610851576040516b1d185e11995953db94d95b1b60a21b8152600c016040519081900381206002840154845460481b68ffffffffffffffffff19168352909160ff6101009092048216918416907eedc71549f0cbe47086c2237ce0cf874d6897fd1d7ce43ee6b65c0230d7606e9060200160405180910390a460028201805460ff83166101000261ff00199091161790555050565b6001600160a01b03831661134d5760405162461bcd60e51b815260040161071790611917565b6001600160a01b0382166113735760405162461bcd60e51b81526004016107179061195c565b6113b081604051806060016040528060268152602001611ab9602691396001600160a01b03861660009081526020819052604090205491906110f7565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546113df9082611131565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610ef7565b600e805460ff19169055811561145757600b54600e805460ff191660ff9092169190911790555b801561147a57600b54600e805461010090920460ff1660ff199092169190911790555b80158015611486575081155b156114a857600b54600e805461010090920460ff1660ff199092169190911790555b600e805460ff80821661010081810261ff00199094168417948590556040805194841690921784529093041660208201527f25fca78de77271b0dd487ed64ec4fd0e437d2ae82ae56ee31e6bbf339849288d9101610848565b30600090815260208190526040902054600e544790610100900460ff1682611528816115b9565b600061153484476119ee565b600e5490915060ff8085169160009183916115509116856119b5565b61155a91906119cc565b6008546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611595573d6000803e3d6000fd5b5050600e805460ff9095166101000261ff0019909516949094179093555050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106115ee576115ee611a14565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611647573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166b9190611a2a565b8160018151811061167e5761167e611a14565b6001600160a01b0392831660209182029290920101526006546116a49130911684610ddf565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906116dd908590600090869030904290600401611a47565b600060405180830381600087803b1580156116f757600080fd5b505af115801561170b573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b8181101561174057858101830151858201604001528201611724565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610d4457600080fd5b6000806040838503121561178957600080fd5b823561179481611761565b946020939093013593505050565b6000806000606084860312156117b757600080fd5b83356117c281611761565b925060208401356117d281611761565b929592945050506040919091013590565b6000602082840312156117f557600080fd5b813560ff8116811461119057600080fd5b60006020828403121561181857600080fd5b813561119081611761565b60006020828403121561183557600080fd5b5035919050565b6000806040838503121561184f57600080fd5b823561185a81611761565b91506020830135801515811461186f57600080fd5b809150509250929050565b6000806040838503121561188d57600080fd5b823561189881611761565b9150602083013561186f81611761565b600181811c908216806118bc57607f821691505b6020821081036118dc57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106485761064861199f565b6000826119e957634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156106485761064861199f565b808201808211156106485761064861199f565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a3c57600080fd5b815161119081611761565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a975784516001600160a01b031683529383019391830191600101611a72565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201423d5d629c35029e063a8a7070d8fc3949682011f3375833cddff661aa6e22c64736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101bb5760003560e01c806395d89b41116100ec578063c02466681161008a578063dd62ed3e11610064578063dd62ed3e14610502578063eb50e70e14610548578063f2fde38b14610568578063fe0175351461058857600080fd5b8063c0246668146104b4578063cd43e228146104d4578063d2d7ad83146104ec57600080fd5b8063aee50b1e116100c6578063aee50b1e14610424578063b62496f514610444578063bea8c58314610474578063bea9849e1461049457600080fd5b806395d89b41146103cf578063a457c2d7146103e4578063a9059cbb1461040457600080fd5b8063395093511161015957806366164f6f1161013357806366164f6f1461035157806370a0823114610366578063715018a61461039c5780638da5cb5b146103b157600080fd5b806339509351146102db57806349bd5a5e146102fb57806353e74ddc1461032f57600080fd5b806318160ddd1161019557806318160ddd1461025a57806323b872dd146102795780632dc0562d14610299578063313ce567146102b957600080fd5b806306fdde03146101c7578063095ea7b3146101f25780631694505e1461022257600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6105a5565b6040516101e99190611713565b60405180910390f35b3480156101fe57600080fd5b5061021261020d366004611776565b610637565b60405190151581526020016101e9565b34801561022e57600080fd5b50600654610242906001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b34801561026657600080fd5b506002545b6040519081526020016101e9565b34801561028557600080fd5b506102126102943660046117a2565b61064e565b3480156102a557600080fd5b50600854610242906001600160a01b031681565b3480156102c557600080fd5b5060125b60405160ff90911681526020016101e9565b3480156102e757600080fd5b506102126102f6366004611776565b6106b7565b34801561030757600080fd5b506102427f000000000000000000000000281da4742336062ad10acf552a4baaf28f664dec81565b34801561033b57600080fd5b5061034f61034a3660046117e3565b6106ed565b005b34801561035d57600080fd5b5061034f610784565b34801561037257600080fd5b5061026b610381366004611806565b6001600160a01b031660009081526020819052604090205490565b3480156103a857600080fd5b5061034f610855565b3480156103bd57600080fd5b506005546001600160a01b0316610242565b3480156103db57600080fd5b506101dc61088b565b3480156103f057600080fd5b506102126103ff366004611776565b61089a565b34801561041057600080fd5b5061021261041f366004611776565b6108e9565b34801561043057600080fd5b5061034f61043f366004611823565b6108f6565b34801561045057600080fd5b5061021261045f366004611806565b600d6020526000908152604090205460ff1681565b34801561048057600080fd5b5061034f61048f3660046117e3565b6109ca565b3480156104a057600080fd5b5061034f6104af366004611806565b610a1d565b3480156104c057600080fd5b5061034f6104cf36600461183c565b610b19565b3480156104e057600080fd5b50600b5460ff166102c9565b3480156104f857600080fd5b5061026b60075481565b34801561050e57600080fd5b5061026b61051d36600461187a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561055457600080fd5b5061034f610563366004611806565b610c30565b34801561057457600080fd5b5061034f610583366004611806565b610d47565b34801561059457600080fd5b50600b54610100900460ff166102c9565b6060600380546105b4906118a8565b80601f01602080910402602001604051908101604052809291908181526020018280546105e0906118a8565b801561062d5780601f106106025761010080835404028352916020019161062d565b820191906000526020600020905b81548152906001019060200180831161061057829003601f168201915b5050505050905090565b6000610644338484610ddf565b5060015b92915050565b600061065b848484610f04565b6106ad84336106a885604051806060016040528060288152602001611adf602891396001600160a01b038a16600090815260016020908152604080832033845290915290205491906110f7565b610ddf565b5060019392505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916106449185906106a89086611131565b6005546001600160a01b031633146107205760405162461bcd60e51b8152600401610717906118e2565b60405180910390fd5b61072b600982611197565b6040516b62617365466565732d42757960a01b8152600c015b60405190819003812060ff83168252907fcd92f5810a4dc7c5d85d79e82e3cb46e2e9957f91e402abeafda957bbf2021dd9060200160405180910390a250565b6005546001600160a01b031633146107ae5760405162461bcd60e51b8152600401610717906118e2565b4760006107c36005546001600160a01b031690565b6001600160a01b03168260405160006040518083038185875af1925050503d806000811461080d576040519150601f19603f3d011682016040523d82523d6000602084013e610812565b606091505b505090508015610851576040518281527f362ae087cf4ccfc970d45b9e8ce6520f03b4eda3f9d76a70b655dc22badcca48906020015b60405180910390a15b5050565b6005546001600160a01b0316331461087f5760405162461bcd60e51b8152600401610717906118e2565b610889600061122e565b565b6060600480546105b4906118a8565b600061064433846106a885604051806060016040528060258152602001611b07602591393360009081526001602090815260408083206001600160a01b038d16845290915290205491906110f7565b6000610644338484610f04565b6005546001600160a01b031633146109205760405162461bcd60e51b8152600401610717906118e2565b60075481036109975760405162461bcd60e51b815260206004820152603e60248201527f4d722e4d6f777365723a2043616e6e6f7420757064617465206d696e696d756d60448201527f546f6b656e734265666f72655377617020746f2073616d652076616c756500006064820152608401610717565b60075460405182907f5b0491f767c1463bea8972339f785795be1a38784cc6483cf649cdcbb28c46b090600090a3600755565b6005546001600160a01b031633146109f45760405162461bcd60e51b8152600401610717906118e2565b6109ff600982611280565b6040516c18985cd95199595ccb54d95b1b609a1b8152600d01610744565b6005546001600160a01b03163314610a475760405162461bcd60e51b8152600401610717906118e2565b6006546001600160a01b0390811690821603610abc5760405162461bcd60e51b815260206004820152602e60248201527f4d722e4d6f777365723a2054686520726f7574657220616c726561647920686160448201526d732074686174206164647265737360901b6064820152608401610717565b6006546040516001600160a01b03918216918316907f2afbff3ed601a8723765c7072d8ea8445e08f6f1874afd34a2b747a272c3ebad90600090a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610b435760405162461bcd60e51b8152600401610717906118e2565b6001600160a01b0382166000908152600c602052604090205481151560ff909116151503610bd15760405162461bcd60e51b815260206004820152603560248201527f4d722e4d6f777365723a204163636f756e7420697320616c7265616479207468604482015274652076616c7565206f6620276578636c756465642760581b6064820152608401610717565b6001600160a01b0382166000818152600c6020908152604091829020805460ff191685151590811790915591519182527fa856ba9fdc54a5434b2359874c95612f520a2d7f858864ae98d15c1b2099ca8b910160405180910390a25050565b6005546001600160a01b03163314610c5a5760405162461bcd60e51b8152600401610717906118e2565b6008546001600160a01b03828116911614610d44576001600160a01b038116610cd15760405162461bcd60e51b8152602060048201526024808201527f4d722e4d6f777365723a205468652074617857616c6c65742063616e6e6f74206044820152630626520360e41b6064820152608401610717565b600854604051681d185e15d85b1b195d60ba1b81526001600160a01b0391821691831690600901604051908190038120907f4af24be54adc5e716fbcaa3fca0ad593e28dff90dffd49487c0a33b1547c6b5290600090a4600880546001600160a01b0319166001600160a01b0383161790555b50565b6005546001600160a01b03163314610d715760405162461bcd60e51b8152600401610717906118e2565b6001600160a01b038116610dd65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610717565b610d448161122e565b6001600160a01b038316610e415760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610717565b6001600160a01b038216610ea25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610717565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610f2a5760405162461bcd60e51b815260040161071790611917565b6001600160a01b038216610f505760405162461bcd60e51b81526004016107179061195c565b80600003610f6957610f6483836000611327565b505050565b6001600160a01b038084166000908152600d602052604080822054928516825290205460ff9182169116610f9d8282611430565b60075430600090815260208190526040902054108015908190610fca5750600654600160a01b900460ff16155b8015610fdf5750600e54610100900460ff1615155b801561100357506001600160a01b0385166000908152600d602052604090205460ff165b15611031576006805460ff60a01b1916600160a01b179055611023611501565b6006805460ff60a01b191690555b6006546001600160a01b0387166000908152600c602052604090205460ff600160a01b90920482161591168061107f57506001600160a01b0386166000908152600c602052604090205460ff165b15611088575060005b80801561109e5750600e54610100900460ff1615155b156110e357600e546000906064906110be90610100900460ff16886119b5565b6110c891906119cc565b90506110d481876119ee565b95506110e1883083611327565b505b6110ee878787611327565b50505050505050565b6000818484111561111b5760405162461bcd60e51b81526004016107179190611713565b50600061112884866119ee565b95945050505050565b60008061113e8385611a01565b9050838110156111905760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610717565b9392505050565b600282015460ff828116911614610851576040516a7461784665654f6e42757960a81b8152600b016040519081900381206002840154845460481b68ffffffffffffffffff19168352909160ff918216918416907eedc71549f0cbe47086c2237ce0cf874d6897fd1d7ce43ee6b65c0230d7606e9060200160405180910390a460028201805460ff831660ff199091161790555050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600282015460ff8281166101009092041614610851576040516b1d185e11995953db94d95b1b60a21b8152600c016040519081900381206002840154845460481b68ffffffffffffffffff19168352909160ff6101009092048216918416907eedc71549f0cbe47086c2237ce0cf874d6897fd1d7ce43ee6b65c0230d7606e9060200160405180910390a460028201805460ff83166101000261ff00199091161790555050565b6001600160a01b03831661134d5760405162461bcd60e51b815260040161071790611917565b6001600160a01b0382166113735760405162461bcd60e51b81526004016107179061195c565b6113b081604051806060016040528060268152602001611ab9602691396001600160a01b03861660009081526020819052604090205491906110f7565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546113df9082611131565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610ef7565b600e805460ff19169055811561145757600b54600e805460ff191660ff9092169190911790555b801561147a57600b54600e805461010090920460ff1660ff199092169190911790555b80158015611486575081155b156114a857600b54600e805461010090920460ff1660ff199092169190911790555b600e805460ff80821661010081810261ff00199094168417948590556040805194841690921784529093041660208201527f25fca78de77271b0dd487ed64ec4fd0e437d2ae82ae56ee31e6bbf339849288d9101610848565b30600090815260208190526040902054600e544790610100900460ff1682611528816115b9565b600061153484476119ee565b600e5490915060ff8085169160009183916115509116856119b5565b61155a91906119cc565b6008546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611595573d6000803e3d6000fd5b5050600e805460ff9095166101000261ff0019909516949094179093555050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106115ee576115ee611a14565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611647573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166b9190611a2a565b8160018151811061167e5761167e611a14565b6001600160a01b0392831660209182029290920101526006546116a49130911684610ddf565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906116dd908590600090869030904290600401611a47565b600060405180830381600087803b1580156116f757600080fd5b505af115801561170b573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b8181101561174057858101830151858201604001528201611724565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610d4457600080fd5b6000806040838503121561178957600080fd5b823561179481611761565b946020939093013593505050565b6000806000606084860312156117b757600080fd5b83356117c281611761565b925060208401356117d281611761565b929592945050506040919091013590565b6000602082840312156117f557600080fd5b813560ff8116811461119057600080fd5b60006020828403121561181857600080fd5b813561119081611761565b60006020828403121561183557600080fd5b5035919050565b6000806040838503121561184f57600080fd5b823561185a81611761565b91506020830135801515811461186f57600080fd5b809150509250929050565b6000806040838503121561188d57600080fd5b823561189881611761565b9150602083013561186f81611761565b600181811c908216806118bc57607f821691505b6020821081036118dc57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106485761064861199f565b6000826119e957634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156106485761064861199f565b808201808211156106485761064861199f565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a3c57600080fd5b815161119081611761565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a975784516001600160a01b031683529383019391830191600101611a72565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201423d5d629c35029e063a8a7070d8fc3949682011f3375833cddff661aa6e22c64736f6c63430008130033
Deployed Bytecode Sourcemap
8881:8991:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5421:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6245:154;;;;;;;;;;-1:-1:-1;6245:154:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6245:154:0;1023:187:1;8924:30:0;;;;;;;;;;-1:-1:-1;8924:30:0;;;;-1:-1:-1;;;;;8924:30:0;;;;;;-1:-1:-1;;;;;1393:32:1;;;1375:51;;1363:2;1348:18;8924:30:0;1215:217:1;5706:99:0;;;;;;;;;;-1:-1:-1;5788:12:0;;5706:99;;;1583:25:1;;;1571:2;1556:18;5706:99:0;1437:177:1;6404:313:0;;;;;;;;;;-1:-1:-1;6404:313:0;;;;;:::i;:::-;;:::i;9351:24::-;;;;;;;;;;-1:-1:-1;9351:24:0;;;;-1:-1:-1;;;;;9351:24:0;;;5617:84;;;;;;;;;;-1:-1:-1;5694:2:0;5617:84;;;2460:4:1;2448:17;;;2430:36;;2418:2;2403:18;5617:84:0;2288:184:1;6722:203:0;;;;;;;;;;-1:-1:-1;6722:203:0;;;;;:::i;:::-;;:::i;8961:38::-;;;;;;;;;;;;;;;12861:178;;;;;;;;;;-1:-1:-1;12861:178:0;;;;;:::i;:::-;;:::i;:::-;;13879:252;;;;;;;;;;;;;:::i;5810:118::-;;;;;;;;;;-1:-1:-1;5810:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;5905:18:0;5884:7;5905:18;;;;;;;;;;;;5810:118;4540:94;;;;;;;;;;;;;:::i;4317:87::-;;;;;;;;;;-1:-1:-1;4390:6:0;;-1:-1:-1;;;;;4390:6:0;4317:87;;5517:95;;;;;;;;;;;;;:::i;6930:254::-;;;;;;;;;;-1:-1:-1;6930:254:0;;;;;:::i;:::-;;:::i;5933:160::-;;;;;;;;;;-1:-1:-1;5933:160:0;;;;;:::i;:::-;;:::i;13545:328::-;;;;;;;;;;-1:-1:-1;13545:328:0;;;;;:::i;:::-;;:::i;9723:58::-;;;;;;;;;;-1:-1:-1;9723:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13045:184;;;;;;;;;;-1:-1:-1;13045:184:0;;;;;:::i;:::-;;:::i;13235:304::-;;;;;;;;;;-1:-1:-1;13235:304:0;;;;;:::i;:::-;;:::i;12206:305::-;;;;;;;;;;-1:-1:-1;12206:305:0;;;;;:::i;:::-;;:::i;14155:101::-;;;;;;;;;;-1:-1:-1;14230:17:0;;;;14155:101;;9274:68;;;;;;;;;;;;;;;;6098:142;;;;;;;;;;-1:-1:-1;6098:142:0;;;;;:::i;:::-;-1:-1:-1;;;;;6208:18:0;;;6187:7;6208:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6098:142;12517:320;;;;;;;;;;-1:-1:-1;12517:320:0;;;;;:::i;:::-;;:::i;4642:192::-;;;;;;;;;;-1:-1:-1;4642:192:0;;;;;:::i;:::-;;:::i;14262:103::-;;;;;;;;;;-1:-1:-1;14338:18:0;;;;;;;14262:103;;5421:91;5475:13;5502:5;5495:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5421:91;:::o;6245:154::-;6328:4;6339:39;3839:10;6362:7;6371:6;6339:8;:39::i;:::-;-1:-1:-1;6390:4:0;6245:154;;;;;:::o;6404:313::-;6523:4;6534:36;6544:6;6552:9;6563:6;6534:9;:36::i;:::-;6575:121;6584:6;3839:10;6606:89;6644:6;6606:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6606:19:0;;;;;;:11;:19;;;;;;;;3839:10;6606:33;;;;;;;;;;:37;:89::i;:::-;6575:8;:121::i;:::-;-1:-1:-1;6708:4:0;6404:313;;;;;:::o;6722:203::-;3839:10;6810:4;6853:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6853:34:0;;;;;;;;;;6810:4;;6821:83;;6844:7;;6853:50;;6892:10;6853:38;:50::i;12861:178::-;4390:6;;-1:-1:-1;;;;;4390:6:0;3839:10;4452:23;4444:68;;;;-1:-1:-1;;;4444:68:0;;;;;;;:::i;:::-;;;;;;;;;12933:43:::1;12956:5;12963:12;12933:22;:43::i;:::-;12992:39;::::0;-1:-1:-1;;;4950:27:1;;5002:2;4993:12;12992:39:0::1;;::::0;;;;::::1;::::0;;2460:4:1;2448:17;;2430:36;;12992:39:0;::::1;::::0;2418:2:1;2403:18;12992:39:0::1;;;;;;;12861:178:::0;:::o;13879:252::-;4390:6;;-1:-1:-1;;;;;4390:6:0;3839:10;4452:23;4444:68;;;;-1:-1:-1;;;4444:68:0;;;;;;;:::i;:::-;13954:21:::1;13937:14;14012:7;4390:6:::0;;-1:-1:-1;;;;;4390:6:0;;4317:87;14012:7:::1;-1:-1:-1::0;;;;;14004:21:0::1;14034:6;14004:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13986:59;;;14060:7;14056:68;;;14088:24;::::0;1583:25:1;;;14088:24:0::1;::::0;1571:2:1;1556:18;14088:24:0::1;;;;;;;;14056:68;13926:205;;13879:252::o:0;4540:94::-;4390:6;;-1:-1:-1;;;;;4390:6:0;3839:10;4452:23;4444:68;;;;-1:-1:-1;;;4444:68:0;;;;;;;:::i;:::-;4605:21:::1;4623:1;4605:9;:21::i;:::-;4540:94::o:0;5517:95::-;5573:13;5600:7;5593:14;;;;;:::i;6930:254::-;7023:4;7034:129;3839:10;7057:7;7066:96;7105:15;7066:96;;;;;;;;;;;;;;;;;3839:10;7066:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7066:34:0;;;;;;;;;;;;:38;:96::i;5933:160::-;6019:4;6030:42;3839:10;6054:9;6065:6;6030:9;:42::i;13545:328::-;4390:6;;-1:-1:-1;;;;;4390:6:0;3839:10;4452:23;4444:68;;;;-1:-1:-1;;;4444:68:0;;;;;;;:::i;:::-;13649:23:::1;;13637:8;:35:::0;13629:110:::1;;;::::0;-1:-1:-1;;;13629:110:0;;5428:2:1;13629:110:0::1;::::0;::::1;5410:21:1::0;5467:2;5447:18;;;5440:30;5506:34;5486:18;;;5479:62;5577:32;5557:18;;;5550:60;5627:19;;13629:110:0::1;5226:426:1::0;13629:110:0::1;13796:23;::::0;13755:65:::1;::::0;13786:8;;13755:65:::1;::::0;;;::::1;13831:23;:34:::0;13545:328::o;13045:184::-;4390:6;;-1:-1:-1;;;;;4390:6:0;3839:10;4452:23;4444:68;;;;-1:-1:-1;;;4444:68:0;;;;;;;:::i;:::-;13119:45:::1;13143:5;13150:13;13119:23;:45::i;:::-;13180:41;::::0;-1:-1:-1;;;5859:28:1;;5912:2;5903:12;13180:41:0::1;5657:264:1::0;13235:304:0;4390:6;;-1:-1:-1;;;;;4390:6:0;3839:10;4452:23;4444:68;;;;-1:-1:-1;;;4444:68:0;;;;;;;:::i;:::-;13341:15:::1;::::0;-1:-1:-1;;;;;13341:15:0;;::::1;13319:38:::0;;::::1;::::0;13311:97:::1;;;::::0;-1:-1:-1;;;13311:97:0;;6128:2:1;13311:97:0::1;::::0;::::1;6110:21:1::0;6167:2;6147:18;;;6140:30;6206:34;6186:18;;;6179:62;-1:-1:-1;;;6257:18:1;;;6250:44;6311:19;;13311:97:0::1;5926:410:1::0;13311:97:0::1;13466:15;::::0;13424:59:::1;::::0;-1:-1:-1;;;;;13466:15:0;;::::1;::::0;13424:59;::::1;::::0;::::1;::::0;13466:15:::1;::::0;13424:59:::1;13494:15;:37:::0;;-1:-1:-1;;;;;;13494:37:0::1;-1:-1:-1::0;;;;;13494:37:0;;;::::1;::::0;;;::::1;::::0;;13235:304::o;12206:305::-;4390:6;;-1:-1:-1;;;;;4390:6:0;3839:10;4452:23;4444:68;;;;-1:-1:-1;;;4444:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12301:27:0;::::1;;::::0;;;:18:::1;:27;::::0;;;;;:39;::::1;;:27;::::0;;::::1;:39;;::::0;12293:105:::1;;;::::0;-1:-1:-1;;;12293:105:0;;6543:2:1;12293:105:0::1;::::0;::::1;6525:21:1::0;6582:2;6562:18;;;6555:30;6621:34;6601:18;;;6594:62;-1:-1:-1;;;6672:18:1;;;6665:51;6733:19;;12293:105:0::1;6341:417:1::0;12293:105:0::1;-1:-1:-1::0;;;;;12409:27:0;::::1;;::::0;;;:18:::1;:27;::::0;;;;;;;;:38;;-1:-1:-1;;12409:38:0::1;::::0;::::1;;::::0;;::::1;::::0;;;12463:40;;1163:41:1;;;12463:40:0::1;::::0;1136:18:1;12463:40:0::1;;;;;;;12206:305:::0;;:::o;12517:320::-;4390:6;;-1:-1:-1;;;;;4390:6:0;3839:10;4452:23;4444:68;;;;-1:-1:-1;;;4444:68:0;;;;;;;:::i;:::-;12592:9:::1;::::0;-1:-1:-1;;;;;12592:25:0;;::::1;:9:::0;::::1;:25;12589:241;;-1:-1:-1::0;;;;;12642:26:0;::::1;12634:75;;;::::0;-1:-1:-1;;;12634:75:0;;6965:2:1;12634:75:0::1;::::0;::::1;6947:21:1::0;7004:2;6984:18;;;6977:30;7043:34;7023:18;;;7016:62;-1:-1:-1;;;7094:18:1;;;7087:34;7138:19;;12634:75:0::1;6763:400:1::0;12634:75:0::1;12769:9;::::0;12729:50:::1;::::0;-1:-1:-1;;;7370:24:1;;-1:-1:-1;;;;;12769:9:0;;::::1;::::0;12729:50;::::1;::::0;7419:1:1;7410:11;12729:50:0::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;12794:9;:24:::0;;-1:-1:-1;;;;;;12794:24:0::1;-1:-1:-1::0;;;;;12794:24:0;::::1;;::::0;;12589:241:::1;12517:320:::0;:::o;4642:192::-;4390:6;;-1:-1:-1;;;;;4390:6:0;3839:10;4452:23;4444:68;;;;-1:-1:-1;;;4444:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4731:22:0;::::1;4723:73;;;::::0;-1:-1:-1;;;4723:73:0;;7634:2:1;4723:73:0::1;::::0;::::1;7616:21:1::0;7673:2;7653:18;;;7646:30;7712:34;7692:18;;;7685:62;-1:-1:-1;;;7763:18:1;;;7756:36;7809:19;;4723:73:0::1;7432:402:1::0;4723:73:0::1;4807:19;4817:8;4807:9;:19::i;8435:330::-:0;-1:-1:-1;;;;;8544:19:0;;8536:68;;;;-1:-1:-1;;;8536:68:0;;8041:2:1;8536:68:0;;;8023:21:1;8080:2;8060:18;;;8053:30;8119:34;8099:18;;;8092:62;-1:-1:-1;;;8170:18:1;;;8163:34;8214:19;;8536:68:0;7839:400:1;8536:68:0;-1:-1:-1;;;;;8617:21:0;;8609:68;;;;-1:-1:-1;;;8609:68:0;;8446:2:1;8609:68:0;;;8428:21:1;8485:2;8465:18;;;8458:30;8524:34;8504:18;;;8497:62;-1:-1:-1;;;8575:18:1;;;8568:32;8617:19;;8609:68:0;8244:398:1;8609:68:0;-1:-1:-1;;;;;8682:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8728:32;;1583:25:1;;;8728:32:0;;1556:18:1;8728:32:0;;;;;;;;8435:330;;;:::o;14386:1271::-;-1:-1:-1;;;;;14522:18:0;;14514:68;;;;-1:-1:-1;;;14514:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14601:16:0;;14593:64;;;;-1:-1:-1;;;14593:64:0;;;;;;;:::i;:::-;14673:6;14683:1;14673:11;14670:92;;14701:28;14717:4;14723:2;14727:1;14701:15;:28::i;:::-;14386:1271;;;:::o;14670:92::-;-1:-1:-1;;;;;14793:31:0;;;14774:16;14793:31;;;:25;:31;;;;;;;14853:29;;;;;;;;14793:31;;;;;14853:29;14895:37;14793:31;14853:29;14895:12;:37::i;:::-;14986:23;;14976:4;14943:12;5905:18;;;;;;;;;;;-1:-1:-1;14958:51:0;;;;;15040:34;;-1:-1:-1;15065:9:0;;-1:-1:-1;;;15065:9:0;;;;15064:10;15040:34;:64;;;;-1:-1:-1;15091:9:0;;;;;;;:13;;15040:64;:110;;;;-1:-1:-1;;;;;;15121:29:0;;;;;;:25;:29;;;;;;;;15040:110;15022:237;;;15177:9;:16;;-1:-1:-1;;;;15177:16:0;-1:-1:-1;;;15177:16:0;;;15208:7;:5;:7::i;:::-;15230:9;:17;;-1:-1:-1;;;;15230:17:0;;;15022:237;15287:9;;-1:-1:-1;;;;;15312:24:0;;15271:12;15312:24;;;:18;:24;;;;;;15287:9;-1:-1:-1;;;15287:9:0;;;;;15286:10;;15312:24;;:50;;-1:-1:-1;;;;;;15340:22:0;;;;;;:18;:22;;;;;;;;15312:50;15309:96;;;-1:-1:-1;15388:5:0;15309:96;15421:7;:24;;;;-1:-1:-1;15432:9:0;;;;;;;:13;;15421:24;15417:187;;;15485:9;;15462:11;;15497:3;;15476:18;;15485:9;;;;;15476:6;:18;:::i;:::-;:24;;;;:::i;:::-;15462:38;-1:-1:-1;15524:12:0;15462:38;15524:6;:12;:::i;:::-;15515:21;;15551:41;15567:4;15581;15588:3;15551:15;:41::i;:::-;15447:157;15417:187;15616:33;15632:4;15638:2;15642:6;15616:15;:33::i;:::-;14503:1154;;;;14386:1271;;;:::o;2475:171::-;2561:7;2591:12;2583:6;;;;2575:29;;;;-1:-1:-1;;;2575:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2609:9:0;2621:5;2625:1;2621;:5;:::i;:::-;2609:17;2475:171;-1:-1:-1;;;;;2475:171:0:o;2178:160::-;2236:7;;2262:5;2266:1;2262;:5;:::i;:::-;2250:17;;2285:1;2280;:6;;2272:46;;;;-1:-1:-1;;;2272:46:0;;10449:2:1;2272:46:0;;;10431:21:1;10488:2;10468:18;;;10461:30;10527:29;10507:18;;;10500:57;10574:18;;2272:46:0;10247:351:1;2272:46:0;2332:1;2178:160;-1:-1:-1;;;2178:160:0:o;16439:323::-;16562:15;;;;:31;;;;:15;;:31;16558:197;;16615:83;;-1:-1:-1;;;10805:26:1;;10856:2;10847:12;16615:83:0;;;;;;;;16651:15;;;;16683:14;;;;-1:-1:-1;;11034:38:1;11016:57;;16615:83:0;;16651:15;;;;;16615:83;;;;;11004:2:1;10989:18;16615:83:0;;;;;;;16713:15;;;:30;;;;;-1:-1:-1;;16713:30:0;;;;;;16439:323;;:::o;4842:174::-;4918:6;;;-1:-1:-1;;;;;4935:17:0;;;-1:-1:-1;;;;;;4935:17:0;;;;;;;4968:40;;4918:6;;;4935:17;4918:6;;4968:40;;4899:16;;4968:40;4888:128;4842:174;:::o;16099:334::-;16226:16;;;;:33;;;;:16;;;;;:33;16222:204;;16281:86;;-1:-1:-1;;;11286:27:1;;11338:2;11329:12;16281:86:0;;;;;;;;16318:16;;;;16352:14;;;;-1:-1:-1;;11034:38:1;11016:57;;16281:86:0;;16318:16;;;;;;;;16281:86;;;;;11004:2:1;10989:18;16281:86:0;;;;;;;16382:16;;;:32;;;;;;;-1:-1:-1;;16382:32:0;;;;;;16099:334;;:::o;7189:509::-;-1:-1:-1;;;;;7302:20:0;;7294:70;;;;-1:-1:-1;;;7294:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7377:23:0;;7369:71;;;;-1:-1:-1;;;7369:71:0;;;;;;;:::i;:::-;7517;7539:6;7517:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7517:17:0;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;7497:17:0;;;:9;:17;;;;;;;;;;;:91;;;;7616:20;;;;;;;:32;;7641:6;7616:24;:32::i;:::-;-1:-1:-1;;;;;7593:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;7658:35;1583:25:1;;;7593:20:0;;7658:35;;;;;;1556:18:1;7658:35:0;1437:177:1;15663:430:0;15739:7;:11;;-1:-1:-1;;15739:11:0;;;15763:73;;;;15805:17;;15795:7;:27;;-1:-1:-1;;15795:27:0;15805:17;;;;15795:27;;;;;;15763:73;15850:10;15846:71;;;15887:18;;15877:7;:28;;15887:18;;;;;;-1:-1:-1;;15877:28:0;;;;;;;;;15846:71;15932:10;15931:11;:27;;;;;15947:11;15946:12;15931:27;15927:82;;;15985:18;;15975:7;:28;;15985:18;;;;;;-1:-1:-1;;15975:28:0;;;;;;;;;15927:82;16031:7;;;;;;;;16019:19;;;-1:-1:-1;;16019:19:0;;;;;;;;;16054:31;;;16066:7;;;;;;11520:36:1;;16075:9:0;;;;11587:2:1;11572:18;;11565:45;16054:31:0;;11493:18:1;16054:31:0;11352:264:1;16768:593:0;16848:4;16804:23;5905:18;;;;;;;;;;;16948:9;;16893:21;;16948:9;;;;;5905:18;17021:31;5905:18;17021:17;:31::i;:::-;17065:27;17095:41;17119:17;17095:21;:41;:::i;:::-;17239:7;;17065:71;;-1:-1:-1;17147:36:0;;;;;:19;;:36;;17217:29;;17239:7;17065:71;17217:29;:::i;:::-;:43;;;;:::i;:::-;17281:9;;17273:41;;17194:66;;-1:-1:-1;;;;;;17281:9:0;;17273:41;;;;;17194:66;;17281:9;17273:41;17281:9;17273:41;17194:66;17281:9;17273:41;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17327:9:0;:26;;;;;;;;-1:-1:-1;;17327:26:0;;;;;;;;;;-1:-1:-1;;;;;16768:593:0:o;17369:500::-;17460:16;;;17474:1;17460:16;;;;;;;;17436:21;;17460:16;;;;;;;;;;-1:-1:-1;17460:16:0;17436:40;;17505:4;17487;17492:1;17487:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17487:23:0;;;:7;;;;;;;;;;:23;;;;17531:15;;:22;;;-1:-1:-1;;;17531:22:0;;;;:15;;;;;:20;;:22;;;;;17487:7;;17531:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17521:4;17526:1;17521:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17521:32:0;;;:7;;;;;;;;;:32;17596:15;;17564:62;;17581:4;;17596:15;17614:11;17564:8;:62::i;:::-;17637:15;;:224;;-1:-1:-1;;;17637:224:0;;-1:-1:-1;;;;;17637:15:0;;;;:66;;:224;;17718:11;;17637:15;;17788:4;;17815;;17835:15;;17637:224;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17425:444;17369:500;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1619:456::-;1696:6;1704;1712;1765:2;1753:9;1744:7;1740:23;1736:32;1733:52;;;1781:1;1778;1771:12;1733:52;1820:9;1807:23;1839:31;1864:5;1839:31;:::i;:::-;1889:5;-1:-1:-1;1946:2:1;1931:18;;1918:32;1959:33;1918:32;1959:33;:::i;:::-;1619:456;;2011:7;;-1:-1:-1;;;2065:2:1;2050:18;;;;2037:32;;1619:456::o;2477:269::-;2534:6;2587:2;2575:9;2566:7;2562:23;2558:32;2555:52;;;2603:1;2600;2593:12;2555:52;2642:9;2629:23;2692:4;2685:5;2681:16;2674:5;2671:27;2661:55;;2712:1;2709;2702:12;2751:247;2810:6;2863:2;2851:9;2842:7;2838:23;2834:32;2831:52;;;2879:1;2876;2869:12;2831:52;2918:9;2905:23;2937:31;2962:5;2937:31;:::i;3003:180::-;3062:6;3115:2;3103:9;3094:7;3090:23;3086:32;3083:52;;;3131:1;3128;3121:12;3083:52;-1:-1:-1;3154:23:1;;3003:180;-1:-1:-1;3003:180:1:o;3188:416::-;3253:6;3261;3314:2;3302:9;3293:7;3289:23;3285:32;3282:52;;;3330:1;3327;3320:12;3282:52;3369:9;3356:23;3388:31;3413:5;3388:31;:::i;:::-;3438:5;-1:-1:-1;3495:2:1;3480:18;;3467:32;3537:15;;3530:23;3518:36;;3508:64;;3568:1;3565;3558:12;3508:64;3591:7;3581:17;;;3188:416;;;;;:::o;3609:388::-;3677:6;3685;3738:2;3726:9;3717:7;3713:23;3709:32;3706:52;;;3754:1;3751;3744:12;3706:52;3793:9;3780:23;3812:31;3837:5;3812:31;:::i;:::-;3862:5;-1:-1:-1;3919:2:1;3904:18;;3891:32;3932:33;3891:32;3932:33;:::i;4002:380::-;4081:1;4077:12;;;;4124;;;4145:61;;4199:4;4191:6;4187:17;4177:27;;4145:61;4252:2;4244:6;4241:14;4221:18;4218:38;4215:161;;4298:10;4293:3;4289:20;4286:1;4279:31;4333:4;4330:1;4323:15;4361:4;4358:1;4351:15;4215:161;;4002:380;;;:::o;4387:356::-;4589:2;4571:21;;;4608:18;;;4601:30;4667:34;4662:2;4647:18;;4640:62;4734:2;4719:18;;4387:356::o;8647:401::-;8849:2;8831:21;;;8888:2;8868:18;;;8861:30;8927:34;8922:2;8907:18;;8900:62;-1:-1:-1;;;8993:2:1;8978:18;;8971:35;9038:3;9023:19;;8647:401::o;9053:399::-;9255:2;9237:21;;;9294:2;9274:18;;;9267:30;9333:34;9328:2;9313:18;;9306:62;-1:-1:-1;;;9399:2:1;9384:18;;9377:33;9442:3;9427:19;;9053:399::o;9457:127::-;9518:10;9513:3;9509:20;9506:1;9499:31;9549:4;9546:1;9539:15;9573:4;9570:1;9563:15;9589:168;9662:9;;;9693;;9710:15;;;9704:22;;9690:37;9680:71;;9731:18;;:::i;9762:217::-;9802:1;9828;9818:132;;9872:10;9867:3;9863:20;9860:1;9853:31;9907:4;9904:1;9897:15;9935:4;9932:1;9925:15;9818:132;-1:-1:-1;9964:9:1;;9762:217::o;9984:128::-;10051:9;;;10072:11;;;10069:37;;;10086:18;;:::i;10117:125::-;10182:9;;;10203:10;;;10200:36;;;10216:18;;:::i;11753:127::-;11814:10;11809:3;11805:20;11802:1;11795:31;11845:4;11842:1;11835:15;11869:4;11866:1;11859:15;11885:251;11955:6;12008:2;11996:9;11987:7;11983:23;11979:32;11976:52;;;12024:1;12021;12014:12;11976:52;12056:9;12050:16;12075:31;12100:5;12075:31;:::i;12141:980::-;12403:4;12451:3;12440:9;12436:19;12482:6;12471:9;12464:25;12508:2;12546:6;12541:2;12530:9;12526:18;12519:34;12589:3;12584:2;12573:9;12569:18;12562:31;12613:6;12648;12642:13;12679:6;12671;12664:22;12717:3;12706:9;12702:19;12695:26;;12756:2;12748:6;12744:15;12730:29;;12777:1;12787:195;12801:6;12798:1;12795:13;12787:195;;;12866:13;;-1:-1:-1;;;;;12862:39:1;12850:52;;12957:15;;;;12922:12;;;;12898:1;12816:9;12787:195;;;-1:-1:-1;;;;;;;13038:32:1;;;;13033:2;13018:18;;13011:60;-1:-1:-1;;;13102:3:1;13087:19;13080:35;12999:3;12141:980;-1:-1:-1;;;12141:980:1:o
Swarm Source
ipfs://1423d5d629c35029e063a8a7070d8fc3949682011f3375833cddff661aa6e22c
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.