ERC-20
Overview
Max Total Supply
1,000,000,000 DLHL
Holders
48
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
33,381,357.196869124 DLHLValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
DLHL
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-11-01 */ /** Our primary emphasis will be on fostering a resilient and devoted following, establishing connections with influential figures, and organizing diverse contests and giveaways to ensure the community's continuous prosperity. Website: https://www.doolyhooly.vip Twitter: https://twitter.com/doolyhooly_coin Telegram: https://t.me/doolyhooly_erc */ // SPDX-License-Identifier: Unlicensed pragma solidity 0.8.19; 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); } 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) { 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 payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } library Address { function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract DLHL is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; string private _name ="DOOLY HOOLY"; string private _symbol = "DLHL"; uint8 private _decimals = 9; address payable private devWallet = payable(0xb69F1a5c4B489a8936f80591B95Be562a4C63b4E); address payable private mktWallet = payable(0xb69F1a5c4B489a8936f80591B95Be562a4C63b4E); address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isExcluded; mapping (address => bool) public isWalletLimitExcluded; mapping (address => bool) public isTxLimitExcluded; mapping (address => bool) public ammPairs; uint256 public _buyLpFees = 0; uint256 public _buyMktFees = 1; uint256 public _buyDevFees = 0; uint256 public _sellLiquidityFees = 0; uint256 public _sellMarketingFees = 1; uint256 public _sellDevelopmentFees = 0; uint256 public _liquidityShares = 0; uint256 public _marketingShares = 10; uint256 public _developmentShares = 0; uint256 public _taxOnBuys = 1; uint256 public _taxOnSells = 1; uint256 public _totalDistributionShares = 10; uint256 private _totalSupply = 10**9 * 10**9; uint256 public _maxTxAmount = 2 * 10**7 * 10**9; uint256 public _walletMax = 2 * 10**7 * 10**9; uint256 private minimumTokensBeforeSwap = 10 ** 5 * 10**9; IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; bool public checkWalletLimit = true; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event SwapETHForTokens( uint256 amountIn, address[] path ); event SwapTokensForETH( uint256 amountIn, address[] path ); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = _totalSupply; isExcluded[owner()] = true; isExcluded[devWallet] = true; isExcluded[mktWallet] = true; _taxOnBuys = _buyLpFees.add(_buyMktFees).add(_buyDevFees); _taxOnSells = _sellLiquidityFees.add(_sellMarketingFees).add(_sellDevelopmentFees); _totalDistributionShares = _liquidityShares.add(_marketingShares).add(_developmentShares); isWalletLimitExcluded[owner()] = true; isWalletLimitExcluded[address(uniswapPair)] = true; isWalletLimitExcluded[address(this)] = true; isTxLimitExcluded[owner()] = true; isTxLimitExcluded[devWallet] = true; isTxLimitExcluded[mktWallet] = true; isTxLimitExcluded[address(this)] = true; ammPairs[address(uniswapPair)] = true; _balances[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } 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 approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { 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 transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } //to recieve ETH from uniswapV2Router when swaping receive() external payable {} function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 tAmount) private lockTheSwap { uint256 tokensForLP = tAmount.mul(_liquidityShares).div(_totalDistributionShares).div(2); uint256 tokensForSwap = tAmount.sub(tokensForLP); swapTokensForEth(tokensForSwap); uint256 amountReceived = address(this).balance; uint256 totalETHFee = _totalDistributionShares.sub(_liquidityShares.div(2)); uint256 amountETHLiquidity = amountReceived.mul(_liquidityShares).div(totalETHFee).div(2); uint256 amountETHDevelopment = amountReceived.mul(_developmentShares).div(totalETHFee); uint256 amountETHMarketing = amountReceived.sub(amountETHLiquidity).sub(amountETHDevelopment); if(amountETHMarketing > 0) transferToAddressETH(devWallet, amountETHMarketing); if(amountETHDevelopment > 0) transferToAddressETH(mktWallet, amountETHDevelopment); if(amountETHLiquidity > 0 && tokensForLP > 0) addLiquidity(tokensForLP, amountETHLiquidity); } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), // The contract block.timestamp ); emit SwapTokensForETH(tokenAmount, path); } function removeLimits() external onlyOwner { _maxTxAmount = _totalSupply; checkWalletLimit = false; } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { // approve token transfer to cover all possible scenarios _approve(address(this), address(uniswapV2Router), tokenAmount); // add the liquidity uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable owner(), block.timestamp ); } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if(ammPairs[sender]) { feeAmount = amount.mul(_taxOnBuys).div(100); } else if(ammPairs[recipient]) { feeAmount = amount.mul(_taxOnSells).div(100); } if(feeAmount > 0) { _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _transfer(address sender, address recipient, uint256 amount) private returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); if(inSwapAndLiquify) { return _basicTransfer(sender, recipient, amount); } else { if(!isTxLimitExcluded[sender] && !isTxLimitExcluded[recipient]) { require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); } uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap; if (overMinimumTokenBalance && !inSwapAndLiquify && ammPairs[recipient] && swapAndLiquifyEnabled && !isExcluded[sender] && amount > minimumTokensBeforeSwap) { if(swapAndLiquifyByLimitOnly) contractTokenBalance = minimumTokensBeforeSwap; swapAndLiquify(contractTokenBalance); } uint256 finalAmount = (isExcluded[sender] || isExcluded[recipient]) ? amount : takeFee(sender, recipient, amount); if(checkWalletLimit && !isWalletLimitExcluded[recipient]) require(balanceOf(recipient).add(finalAmount) <= _walletMax); uint256 sAmount = (!checkWalletLimit && isExcluded[sender]) ? amount.sub(finalAmount) : amount; _balances[sender] = _balances[sender].sub(sAmount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"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":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyDevFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLpFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMktFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_developmentShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellDevelopmentFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxOnBuys","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxOnSells","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"","type":"address"}],"name":"ammPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"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":"","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60e0604052600b60a09081526a444f4f4c5920484f4f4c5960a81b60c0526002906200002c9082620006a9565b506040805180820190915260048152631113121360e21b6020820152600390620000579082620006a9565b50600480546001600160a81b03191674b69f1a5c4b489a8936f80591b95be562a4c63b4e091790556005805473b69f1a5c4b489a8936f80591b95be562a4c63b4e6001600160a01b031990911617905561dead6080526000600c8190556001600d819055600e829055600f829055601081905560118290556012829055600a60138190556014929092556015819055601655601755670de0b6b3a764000060185566470de4df8200006019819055601a55655af3107a4000601b55601d805462ffffff60a81b19166201000160a81b1790553480156200013657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f6919062000775565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026a919062000775565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000775565b601d80546001600160a01b039283166001600160a01b031991821617909155601c8054928416929091168217905560185430600090815260076020908152604080832094835293905291822055600190600890620003446000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790556004546101009004821681526008909352818320805485166001908117909155600554909116835291208054909216179055600e54600d54600c54620003c69291620003bf919062000595565b9062000595565b601555601154601054600f54620003e49291620003bf919062000595565b601655601454601354601254620004029291620003bf919062000595565b6017556001600960006200041e6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601d549091168152600990925280822080548416600190811790915530835290822080549093168117909255600a906200048e6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600454610100900482168152600a84528281208054861660019081179091556005548316825283822080548716821790553082528382208054871682179055601d549092168152600b90935290822080549093161790915560185490600690620005233390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6018546040516200058691815260200190565b60405180910390a350620007c2565b600080620005a48385620007a0565b905083811015620005fb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200062f57607f821691505b6020821081036200065057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620006a457600081815260208120601f850160051c810160208610156200067f5750805b601f850160051c820191505b81811015620006a0578281556001016200068b565b5050505b505050565b81516001600160401b03811115620006c557620006c562000604565b620006dd81620006d684546200061a565b8462000656565b602080601f831160018114620007155760008415620006fc5750858301515b600019600386901b1c1916600185901b178555620006a0565b600085815260208120601f198616915b82811015620007465788860151825594840194600190910190840162000725565b5085821015620007655787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200078857600080fd5b81516001600160a01b0381168114620005fb57600080fd5b80820180821115620005fe57634e487b7160e01b600052601160045260246000fd5b608051611b42620007de60003960006103240152611b426000f3fe6080604052600436106102345760003560e01c806372edcc651161012e578063a72905a2116100ab578063d76e26a31161006f578063d76e26a31461067c578063da00097d14610692578063dd62ed3e146106b3578063f2fde38b146106f9578063f872858a1461071957600080fd5b8063a72905a2146105ac578063a9059cbb146105dc578063b7470a2f146105fc578063c816841b1461062c578063cba0e9961461064c57600080fd5b80638da5cb5b116100f25780638da5cb5b1461052d57806395d89b411461054b5780639e3fa32314610560578063a08e671f14610576578063a457c2d71461058c57600080fd5b806372edcc65146104a6578063751039fc146104bc5780637d1db4a5146104d15780637f523f79146104e7578063807c2d9c1461051757600080fd5b8063313ce567116101bc578063565cec3811610180578063565cec3814610417578063646d47001461042d578063661b6e361461044357806370a0823114610459578063715018a61461048f57600080fd5b8063313ce5671461038857806339509351146103aa5780634a728e24146103ca5780634a74bb02146103e057806351183af71461040157600080fd5b806323b872dd1161020357806323b872dd146102f257806327c8f835146103125780632bae0d32146103465780632ee035061461035c5780632f0a5fd41461037257600080fd5b806306fdde0314610240578063095ea7b31461026b5780631694505e1461029b57806318160ddd146102d357600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b5061025561073a565b60405161026291906117b0565b60405180910390f35b34801561027757600080fd5b5061028b610286366004611816565b6107cc565b6040519015158152602001610262565b3480156102a757600080fd5b50601c546102bb906001600160a01b031681565b6040516001600160a01b039091168152602001610262565b3480156102df57600080fd5b506018545b604051908152602001610262565b3480156102fe57600080fd5b5061028b61030d366004611842565b6107e3565b34801561031e57600080fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000000081565b34801561035257600080fd5b506102e4600c5481565b34801561036857600080fd5b506102e4600d5481565b34801561037e57600080fd5b506102e4600f5481565b34801561039457600080fd5b5060045460405160ff9091168152602001610262565b3480156103b657600080fd5b5061028b6103c5366004611816565b61084e565b3480156103d657600080fd5b506102e4600e5481565b3480156103ec57600080fd5b50601d5461028b90600160a81b900460ff1681565b34801561040d57600080fd5b506102e460155481565b34801561042357600080fd5b506102e460135481565b34801561043957600080fd5b506102e460115481565b34801561044f57600080fd5b506102e460105481565b34801561046557600080fd5b506102e4610474366004611883565b6001600160a01b031660009081526006602052604090205490565b34801561049b57600080fd5b506104a4610884565b005b3480156104b257600080fd5b506102e460165481565b3480156104c857600080fd5b506104a4610901565b3480156104dd57600080fd5b506102e460195481565b3480156104f357600080fd5b5061028b610502366004611883565b600a6020526000908152604090205460ff1681565b34801561052357600080fd5b506102e4601a5481565b34801561053957600080fd5b506000546001600160a01b03166102bb565b34801561055757600080fd5b50610255610940565b34801561056c57600080fd5b506102e460125481565b34801561058257600080fd5b506102e460175481565b34801561059857600080fd5b5061028b6105a7366004611816565b61094f565b3480156105b857600080fd5b5061028b6105c7366004611883565b600b6020526000908152604090205460ff1681565b3480156105e857600080fd5b5061028b6105f7366004611816565b61099e565b34801561060857600080fd5b5061028b610617366004611883565b60096020526000908152604090205460ff1681565b34801561063857600080fd5b50601d546102bb906001600160a01b031681565b34801561065857600080fd5b5061028b610667366004611883565b60086020526000908152604090205460ff1681565b34801561068857600080fd5b506102e460145481565b34801561069e57600080fd5b50601d5461028b90600160b01b900460ff1681565b3480156106bf57600080fd5b506102e46106ce3660046118a0565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561070557600080fd5b506104a4610714366004611883565b6109ab565b34801561072557600080fd5b50601d5461028b90600160b81b900460ff1681565b606060028054610749906118d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610775906118d9565b80156107c25780601f10610797576101008083540402835291602001916107c2565b820191906000526020600020905b8154815290600101906020018083116107a557829003601f168201915b5050505050905090565b60006107d9338484610a95565b5060015b92915050565b60006107f0848484610bb9565b50610843843361083e85604051806060016040528060288152602001611ac0602891396001600160a01b038a166000908152600760209081526040808320338452909152902054919061101d565b610a95565b5060015b9392505050565b3360008181526007602090815260408083206001600160a01b038716845290915281205490916107d991859061083e9086611057565b6000546001600160a01b031633146108b75760405162461bcd60e51b81526004016108ae90611913565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461092b5760405162461bcd60e51b81526004016108ae90611913565b601854601955601d805460ff60b81b19169055565b606060038054610749906118d9565b60006107d9338461083e85604051806060016040528060258152602001611ae8602591393360009081526007602090815260408083206001600160a01b038d168452909152902054919061101d565b6000610843338484610bb9565b6000546001600160a01b031633146109d55760405162461bcd60e51b81526004016108ae90611913565b6001600160a01b038116610a3a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108ae565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610af75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108ae565b6001600160a01b038216610b585760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108ae565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610c1f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108ae565b6001600160a01b038316610c815760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108ae565b601d54600160a01b900460ff1615610ca557610c9e8484846110b6565b9050610847565b6001600160a01b0384166000908152600a602052604090205460ff16158015610ce757506001600160a01b0383166000908152600a602052604090205460ff16155b15610d4f57601954821115610d4f5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016108ae565b30600090815260066020526040902054601b5481108015908190610d7d5750601d54600160a01b900460ff16155b8015610da157506001600160a01b0385166000908152600b602052604090205460ff165b8015610db65750601d54600160a81b900460ff165b8015610ddb57506001600160a01b03861660009081526008602052604090205460ff16155b8015610de85750601b5484115b15610e0e57601d54600160b01b900460ff1615610e0557601b5491505b610e0e8261119c565b6001600160a01b03861660009081526008602052604081205460ff1680610e4d57506001600160a01b03861660009081526008602052604090205460ff165b610e6157610e5c8787876112d7565b610e63565b845b601d54909150600160b81b900460ff168015610e9857506001600160a01b03861660009081526009602052604090205460ff16155b15610ed457601a54610ec982610ec3896001600160a01b031660009081526006602052604090205490565b90611057565b1115610ed457600080fd5b601d54600090600160b81b900460ff16158015610f0957506001600160a01b03881660009081526008602052604090205460ff165b610f135785610f1d565b610f1d86836113d9565b9050610f858160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250600660008c6001600160a01b03166001600160a01b031681526020019081526020016000205461101d9092919063ffffffff16565b6001600160a01b03808a166000908152600660205260408082209390935590891681522054610fb49083611057565b6001600160a01b0380891660008181526006602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110089086815260200190565b60405180910390a36001945050505050610847565b600081848411156110415760405162461bcd60e51b81526004016108ae91906117b0565b50600061104e848661195e565b95945050505050565b6000806110648385611971565b9050838110156108475760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108ae565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260069091529182205461110791849061101d565b6001600160a01b0380861660009081526006602052604080822093909355908516815220546111369083611057565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061118a9086815260200190565b60405180910390a35060019392505050565b601d805460ff60a01b1916600160a01b1790556017546012546000916111d2916002916111cc918290879061141b565b9061149d565b905060006111e083836113d9565b90506111eb816114df565b601254479060009061120b9061120290600261149d565b601754906113d9565b9050600061122d60026111cc846111cc6012548861141b90919063ffffffff16565b9050600061124a836111cc6014548761141b90919063ffffffff16565b905060006112628261125c87866113d9565b906113d9565b90508015611285576004546112859061010090046001600160a01b031682611672565b81156112a1576005546112a1906001600160a01b031683611672565b6000831180156112b15750600087115b156112c0576112c087846116ad565b5050601d805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152600b6020526040812054819060ff161561131b5761131460646111cc6015548661141b90919063ffffffff16565b9050611359565b6001600160a01b0384166000908152600b602052604090205460ff16156113595761135660646111cc6016548661141b90919063ffffffff16565b90505b80156113d357306000908152600660205260409020546113799082611057565b30600081815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113ca9085815260200190565b60405180910390a35b61104e83825b600061084783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061101d565b60008260000361142d575060006107dd565b60006114398385611984565b905082611446858361199b565b146108475760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108ae565b600061084783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611782565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611514576115146119bd565b6001600160a01b03928316602091820292909201810191909152601c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561156d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159191906119d3565b816001815181106115a4576115a46119bd565b6001600160a01b039283166020918202929092010152601c546115ca9130911684610a95565b601c5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611603908590600090869030904290600401611a34565b600060405180830381600087803b15801561161d57600080fd5b505af1158015611631573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611666929190611a70565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156116a8573d6000803e3d6000fd5b505050565b601c546116c59030906001600160a01b031684610a95565b601c546001600160a01b031663f305d7198230856000806116ee6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015611756573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061177b9190611a91565b5050505050565b600081836117a35760405162461bcd60e51b81526004016108ae91906117b0565b50600061104e848661199b565b600060208083528351808285015260005b818110156117dd578581018301518582016040015282016117c1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461181357600080fd5b50565b6000806040838503121561182957600080fd5b8235611834816117fe565b946020939093013593505050565b60008060006060848603121561185757600080fd5b8335611862816117fe565b92506020840135611872816117fe565b929592945050506040919091013590565b60006020828403121561189557600080fd5b8135610847816117fe565b600080604083850312156118b357600080fd5b82356118be816117fe565b915060208301356118ce816117fe565b809150509250929050565b600181811c908216806118ed57607f821691505b60208210810361190d57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156107dd576107dd611948565b808201808211156107dd576107dd611948565b80820281158282048414176107dd576107dd611948565b6000826119b857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119e557600080fd5b8151610847816117fe565b600081518084526020808501945080840160005b83811015611a295781516001600160a01b031687529582019590820190600101611a04565b509495945050505050565b85815284602082015260a060408201526000611a5360a08301866119f0565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201526000611a8960408301846119f0565b949350505050565b600080600060608486031215611aa657600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ea3a77d33d88e65751bebcf849b0badbac56cb6106de65db3a069abd91a6cf0264736f6c63430008130033
Deployed Bytecode
0x6080604052600436106102345760003560e01c806372edcc651161012e578063a72905a2116100ab578063d76e26a31161006f578063d76e26a31461067c578063da00097d14610692578063dd62ed3e146106b3578063f2fde38b146106f9578063f872858a1461071957600080fd5b8063a72905a2146105ac578063a9059cbb146105dc578063b7470a2f146105fc578063c816841b1461062c578063cba0e9961461064c57600080fd5b80638da5cb5b116100f25780638da5cb5b1461052d57806395d89b411461054b5780639e3fa32314610560578063a08e671f14610576578063a457c2d71461058c57600080fd5b806372edcc65146104a6578063751039fc146104bc5780637d1db4a5146104d15780637f523f79146104e7578063807c2d9c1461051757600080fd5b8063313ce567116101bc578063565cec3811610180578063565cec3814610417578063646d47001461042d578063661b6e361461044357806370a0823114610459578063715018a61461048f57600080fd5b8063313ce5671461038857806339509351146103aa5780634a728e24146103ca5780634a74bb02146103e057806351183af71461040157600080fd5b806323b872dd1161020357806323b872dd146102f257806327c8f835146103125780632bae0d32146103465780632ee035061461035c5780632f0a5fd41461037257600080fd5b806306fdde0314610240578063095ea7b31461026b5780631694505e1461029b57806318160ddd146102d357600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b5061025561073a565b60405161026291906117b0565b60405180910390f35b34801561027757600080fd5b5061028b610286366004611816565b6107cc565b6040519015158152602001610262565b3480156102a757600080fd5b50601c546102bb906001600160a01b031681565b6040516001600160a01b039091168152602001610262565b3480156102df57600080fd5b506018545b604051908152602001610262565b3480156102fe57600080fd5b5061028b61030d366004611842565b6107e3565b34801561031e57600080fd5b506102bb7f000000000000000000000000000000000000000000000000000000000000dead81565b34801561035257600080fd5b506102e4600c5481565b34801561036857600080fd5b506102e4600d5481565b34801561037e57600080fd5b506102e4600f5481565b34801561039457600080fd5b5060045460405160ff9091168152602001610262565b3480156103b657600080fd5b5061028b6103c5366004611816565b61084e565b3480156103d657600080fd5b506102e4600e5481565b3480156103ec57600080fd5b50601d5461028b90600160a81b900460ff1681565b34801561040d57600080fd5b506102e460155481565b34801561042357600080fd5b506102e460135481565b34801561043957600080fd5b506102e460115481565b34801561044f57600080fd5b506102e460105481565b34801561046557600080fd5b506102e4610474366004611883565b6001600160a01b031660009081526006602052604090205490565b34801561049b57600080fd5b506104a4610884565b005b3480156104b257600080fd5b506102e460165481565b3480156104c857600080fd5b506104a4610901565b3480156104dd57600080fd5b506102e460195481565b3480156104f357600080fd5b5061028b610502366004611883565b600a6020526000908152604090205460ff1681565b34801561052357600080fd5b506102e4601a5481565b34801561053957600080fd5b506000546001600160a01b03166102bb565b34801561055757600080fd5b50610255610940565b34801561056c57600080fd5b506102e460125481565b34801561058257600080fd5b506102e460175481565b34801561059857600080fd5b5061028b6105a7366004611816565b61094f565b3480156105b857600080fd5b5061028b6105c7366004611883565b600b6020526000908152604090205460ff1681565b3480156105e857600080fd5b5061028b6105f7366004611816565b61099e565b34801561060857600080fd5b5061028b610617366004611883565b60096020526000908152604090205460ff1681565b34801561063857600080fd5b50601d546102bb906001600160a01b031681565b34801561065857600080fd5b5061028b610667366004611883565b60086020526000908152604090205460ff1681565b34801561068857600080fd5b506102e460145481565b34801561069e57600080fd5b50601d5461028b90600160b01b900460ff1681565b3480156106bf57600080fd5b506102e46106ce3660046118a0565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561070557600080fd5b506104a4610714366004611883565b6109ab565b34801561072557600080fd5b50601d5461028b90600160b81b900460ff1681565b606060028054610749906118d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610775906118d9565b80156107c25780601f10610797576101008083540402835291602001916107c2565b820191906000526020600020905b8154815290600101906020018083116107a557829003601f168201915b5050505050905090565b60006107d9338484610a95565b5060015b92915050565b60006107f0848484610bb9565b50610843843361083e85604051806060016040528060288152602001611ac0602891396001600160a01b038a166000908152600760209081526040808320338452909152902054919061101d565b610a95565b5060015b9392505050565b3360008181526007602090815260408083206001600160a01b038716845290915281205490916107d991859061083e9086611057565b6000546001600160a01b031633146108b75760405162461bcd60e51b81526004016108ae90611913565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461092b5760405162461bcd60e51b81526004016108ae90611913565b601854601955601d805460ff60b81b19169055565b606060038054610749906118d9565b60006107d9338461083e85604051806060016040528060258152602001611ae8602591393360009081526007602090815260408083206001600160a01b038d168452909152902054919061101d565b6000610843338484610bb9565b6000546001600160a01b031633146109d55760405162461bcd60e51b81526004016108ae90611913565b6001600160a01b038116610a3a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108ae565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610af75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108ae565b6001600160a01b038216610b585760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108ae565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610c1f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108ae565b6001600160a01b038316610c815760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108ae565b601d54600160a01b900460ff1615610ca557610c9e8484846110b6565b9050610847565b6001600160a01b0384166000908152600a602052604090205460ff16158015610ce757506001600160a01b0383166000908152600a602052604090205460ff16155b15610d4f57601954821115610d4f5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016108ae565b30600090815260066020526040902054601b5481108015908190610d7d5750601d54600160a01b900460ff16155b8015610da157506001600160a01b0385166000908152600b602052604090205460ff165b8015610db65750601d54600160a81b900460ff165b8015610ddb57506001600160a01b03861660009081526008602052604090205460ff16155b8015610de85750601b5484115b15610e0e57601d54600160b01b900460ff1615610e0557601b5491505b610e0e8261119c565b6001600160a01b03861660009081526008602052604081205460ff1680610e4d57506001600160a01b03861660009081526008602052604090205460ff165b610e6157610e5c8787876112d7565b610e63565b845b601d54909150600160b81b900460ff168015610e9857506001600160a01b03861660009081526009602052604090205460ff16155b15610ed457601a54610ec982610ec3896001600160a01b031660009081526006602052604090205490565b90611057565b1115610ed457600080fd5b601d54600090600160b81b900460ff16158015610f0957506001600160a01b03881660009081526008602052604090205460ff165b610f135785610f1d565b610f1d86836113d9565b9050610f858160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250600660008c6001600160a01b03166001600160a01b031681526020019081526020016000205461101d9092919063ffffffff16565b6001600160a01b03808a166000908152600660205260408082209390935590891681522054610fb49083611057565b6001600160a01b0380891660008181526006602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110089086815260200190565b60405180910390a36001945050505050610847565b600081848411156110415760405162461bcd60e51b81526004016108ae91906117b0565b50600061104e848661195e565b95945050505050565b6000806110648385611971565b9050838110156108475760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108ae565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260069091529182205461110791849061101d565b6001600160a01b0380861660009081526006602052604080822093909355908516815220546111369083611057565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061118a9086815260200190565b60405180910390a35060019392505050565b601d805460ff60a01b1916600160a01b1790556017546012546000916111d2916002916111cc918290879061141b565b9061149d565b905060006111e083836113d9565b90506111eb816114df565b601254479060009061120b9061120290600261149d565b601754906113d9565b9050600061122d60026111cc846111cc6012548861141b90919063ffffffff16565b9050600061124a836111cc6014548761141b90919063ffffffff16565b905060006112628261125c87866113d9565b906113d9565b90508015611285576004546112859061010090046001600160a01b031682611672565b81156112a1576005546112a1906001600160a01b031683611672565b6000831180156112b15750600087115b156112c0576112c087846116ad565b5050601d805460ff60a01b19169055505050505050565b6001600160a01b0383166000908152600b6020526040812054819060ff161561131b5761131460646111cc6015548661141b90919063ffffffff16565b9050611359565b6001600160a01b0384166000908152600b602052604090205460ff16156113595761135660646111cc6016548661141b90919063ffffffff16565b90505b80156113d357306000908152600660205260409020546113799082611057565b30600081815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113ca9085815260200190565b60405180910390a35b61104e83825b600061084783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061101d565b60008260000361142d575060006107dd565b60006114398385611984565b905082611446858361199b565b146108475760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108ae565b600061084783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611782565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611514576115146119bd565b6001600160a01b03928316602091820292909201810191909152601c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561156d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159191906119d3565b816001815181106115a4576115a46119bd565b6001600160a01b039283166020918202929092010152601c546115ca9130911684610a95565b601c5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611603908590600090869030904290600401611a34565b600060405180830381600087803b15801561161d57600080fd5b505af1158015611631573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611666929190611a70565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156116a8573d6000803e3d6000fd5b505050565b601c546116c59030906001600160a01b031684610a95565b601c546001600160a01b031663f305d7198230856000806116ee6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015611756573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061177b9190611a91565b5050505050565b600081836117a35760405162461bcd60e51b81526004016108ae91906117b0565b50600061104e848661199b565b600060208083528351808285015260005b818110156117dd578581018301518582016040015282016117c1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461181357600080fd5b50565b6000806040838503121561182957600080fd5b8235611834816117fe565b946020939093013593505050565b60008060006060848603121561185757600080fd5b8335611862816117fe565b92506020840135611872816117fe565b929592945050506040919091013590565b60006020828403121561189557600080fd5b8135610847816117fe565b600080604083850312156118b357600080fd5b82356118be816117fe565b915060208301356118ce816117fe565b809150509250929050565b600181811c908216806118ed57607f821691505b60208210810361190d57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156107dd576107dd611948565b808201808211156107dd576107dd611948565b80820281158282048414176107dd576107dd611948565b6000826119b857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119e557600080fd5b8151610847816117fe565b600081518084526020808501945080840160005b83811015611a295781516001600160a01b031687529582019590820190600101611a04565b509495945050505050565b85815284602082015260a060408201526000611a5360a08301866119f0565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201526000611a8960408301846119f0565b949350505050565b600080600060608486031215611aa657600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ea3a77d33d88e65751bebcf849b0badbac56cb6106de65db3a069abd91a6cf0264736f6c63430008130033
Deployed Bytecode Sourcemap
12270:11321:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15957:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17123:161;;;;;;;;;;-1:-1:-1;17123:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;17123:161:0;1023:187:1;13866:41:0;;;;;;;;;;-1:-1:-1;13866:41:0;;;;-1:-1:-1;;;;;13866:41:0;;;;;;-1:-1:-1;;;;;1406:32:1;;;1388:51;;1376:2;1361:18;13866:41:0;1215:230:1;16234:100:0;;;;;;;;;;-1:-1:-1;16314:12:0;;16234:100;;;1596:25:1;;;1584:2;1569:18;16234:100:0;1450:177:1;21401:313:0;;;;;;;;;;-1:-1:-1;21401:313:0;;;;;:::i;:::-;;:::i;12700:81::-;;;;;;;;;;;;;;;13139:29;;;;;;;;;;;;;;;;13175:30;;;;;;;;;;;;;;;;13249:37;;;;;;;;;;;;;;;;16143:83;;;;;;;;;;-1:-1:-1;16209:9:0;;16143:83;;16209:9;;;;2443:36:1;;2431:2;2416:18;16143:83:0;2301:184:1;16620:218:0;;;;;;;;;;-1:-1:-1;16620:218:0;;;;;:::i;:::-;;:::i;13212:30::-;;;;;;;;;;;;;;;;13981:40;;;;;;;;;;-1:-1:-1;13981:40:0;;;;-1:-1:-1;;;13981:40:0;;;;;;13516:29;;;;;;;;;;;;;;;;13427:36;;;;;;;;;;;;;;;;13337:39;;;;;;;;;;;;;;;;13293:37;;;;;;;;;;;;;;;;16342:119;;;;;;;;;;-1:-1:-1;16342:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;16435:18:0;16408:7;16435:18;;;:9;:18;;;;;;;16342:119;3639:148;;;;;;;;;;;;;:::i;:::-;;13552:30;;;;;;;;;;;;;;;;19965:124;;;;;;;;;;;;;:::i;13693:47::-;;;;;;;;;;;;;;;;13032:50;;;;;;;;;;-1:-1:-1;13032:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13747:45;;;;;;;;;;;;;;;;3414:79;;;;;;;;;;-1:-1:-1;3452:7:0;3479:6;-1:-1:-1;;;;;3479:6:0;3414:79;;16048:87;;;;;;;;;;;;;:::i;13385:35::-;;;;;;;;;;;;;;;;13589:44;;;;;;;;;;;;;;;;16846:269;;;;;;;;;;-1:-1:-1;16846:269:0;;;;;:::i;:::-;;:::i;13089:41::-;;;;;;;;;;-1:-1:-1;13089:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;21226:167;;;;;;;;;;-1:-1:-1;21226:167:0;;;;;:::i;:::-;;:::i;12971:54::-;;;;;;;;;;-1:-1:-1;12971:54:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13914:26;;;;;;;;;;-1:-1:-1;13914:26:0;;;;-1:-1:-1;;;;;13914:26:0;;;12921:43;;;;;;;;;;-1:-1:-1;12921:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13470:37;;;;;;;;;;;;;;;;14028:45;;;;;;;;;;-1:-1:-1;14028:45:0;;;;-1:-1:-1;;;14028:45:0;;;;;;16469:143;;;;;;;;;;-1:-1:-1;16469:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;16577:18:0;;;16550:7;16577:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;16469:143;3795:244;;;;;;;;;;-1:-1:-1;3795:244:0;;;;;:::i;:::-;;:::i;14080:35::-;;;;;;;;;;-1:-1:-1;14080:35:0;;;;-1:-1:-1;;;14080:35:0;;;;;;15957:83;15994:13;16027:5;16020:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15957:83;:::o;17123:161::-;17198:4;17215:39;2790:10;17238:7;17247:6;17215:8;:39::i;:::-;-1:-1:-1;17272:4:0;17123:161;;;;;:::o;21401:313::-;21499:4;21516:36;21526:6;21534:9;21545:6;21516:9;:36::i;:::-;-1:-1:-1;21563:121:0;21572:6;2790:10;21594:89;21632:6;21594:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21594:19:0;;;;;;:11;:19;;;;;;;;2790:10;21594:33;;;;;;;;;;:37;:89::i;:::-;21563:8;:121::i;:::-;-1:-1:-1;21702:4:0;21401:313;;;;;;:::o;16620:218::-;2790:10;16708:4;16757:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;16757:34:0;;;;;;;;;;16708:4;;16725:83;;16748:7;;16757:50;;16796:10;16757:38;:50::i;3639:148::-;3548:6;;-1:-1:-1;;;;;3548:6:0;2790:10;3548:22;3540:67;;;;-1:-1:-1;;;3540:67:0;;;;;;;:::i;:::-;;;;;;;;;3746:1:::1;3730:6:::0;;3709:40:::1;::::0;-1:-1:-1;;;;;3730:6:0;;::::1;::::0;3709:40:::1;::::0;3746:1;;3709:40:::1;3777:1;3760:19:::0;;-1:-1:-1;;;;;;3760:19:0::1;::::0;;3639:148::o;19965:124::-;3548:6;;-1:-1:-1;;;;;3548:6:0;2790:10;3548:22;3540:67;;;;-1:-1:-1;;;3540:67:0;;;;;;;:::i;:::-;20034:12:::1;::::0;20019::::1;:27:::0;20057:16:::1;:24:::0;;-1:-1:-1;;;;20057:24:0::1;::::0;;19965:124::o;16048:87::-;16087:13;16120:7;16113:14;;;;;:::i;16846:269::-;16939:4;16956:129;2790:10;16979:7;16988:96;17027:15;16988:96;;;;;;;;;;;;;;;;;2790:10;16988:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;16988:34:0;;;;;;;;;;;;:38;:96::i;21226:167::-;21304:4;21321:42;2790:10;21345:9;21356:6;21321:9;:42::i;3795:244::-;3548:6;;-1:-1:-1;;;;;3548:6:0;2790:10;3548:22;3540:67;;;;-1:-1:-1;;;3540:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3884:22:0;::::1;3876:73;;;::::0;-1:-1:-1;;;3876:73:0;;4083:2:1;3876:73:0::1;::::0;::::1;4065:21:1::0;4122:2;4102:18;;;4095:30;4161:34;4141:18;;;4134:62;-1:-1:-1;;;4212:18:1;;;4205:36;4258:19;;3876:73:0::1;3881:402:1::0;3876:73:0::1;3986:6;::::0;;3965:38:::1;::::0;-1:-1:-1;;;;;3965:38:0;;::::1;::::0;3986:6;::::1;::::0;3965:38:::1;::::0;::::1;4014:6;:17:::0;;-1:-1:-1;;;;;;4014:17:0::1;-1:-1:-1::0;;;;;4014:17:0;;;::::1;::::0;;;::::1;::::0;;3795:244::o;17292:337::-;-1:-1:-1;;;;;17385:19:0;;17377:68;;;;-1:-1:-1;;;17377:68:0;;4490:2:1;17377:68:0;;;4472:21:1;4529:2;4509:18;;;4502:30;4568:34;4548:18;;;4541:62;-1:-1:-1;;;4619:18:1;;;4612:34;4663:19;;17377:68:0;4288:400:1;17377:68:0;-1:-1:-1;;;;;17464:21:0;;17456:68;;;;-1:-1:-1;;;17456:68:0;;4895:2:1;17456:68:0;;;4877:21:1;4934:2;4914:18;;;4907:30;4973:34;4953:18;;;4946:62;-1:-1:-1;;;5024:18:1;;;5017:32;5066:19;;17456:68:0;4693:398:1;17456:68:0;-1:-1:-1;;;;;17537:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17589:32;;1596:25:1;;;17589:32:0;;1569:18:1;17589:32:0;;;;;;;17292:337;;;:::o;21722:1866::-;21809:4;-1:-1:-1;;;;;21836:20:0;;21828:70;;;;-1:-1:-1;;;21828:70:0;;5298:2:1;21828:70:0;;;5280:21:1;5337:2;5317:18;;;5310:30;5376:34;5356:18;;;5349:62;-1:-1:-1;;;5427:18:1;;;5420:35;5472:19;;21828:70:0;5096:401:1;21828:70:0;-1:-1:-1;;;;;21917:23:0;;21909:71;;;;-1:-1:-1;;;21909:71:0;;5704:2:1;21909:71:0;;;5686:21:1;5743:2;5723:18;;;5716:30;5782:34;5762:18;;;5755:62;-1:-1:-1;;;5833:18:1;;;5826:33;5876:19;;21909:71:0;5502:399:1;21909:71:0;21996:16;;-1:-1:-1;;;21996:16:0;;;;21993:1588;;;22046:41;22061:6;22069:9;22080:6;22046:14;:41::i;:::-;22039:48;;;;21993:1588;-1:-1:-1;;;;;22143:25:0;;;;;;:17;:25;;;;;;;;22142:26;:59;;;;-1:-1:-1;;;;;;22173:28:0;;;;;;:17;:28;;;;;;;;22172:29;22142:59;22139:174;;;22240:12;;22230:6;:22;;22222:75;;;;-1:-1:-1;;;22222:75:0;;6108:2:1;22222:75:0;;;6090:21:1;6147:2;6127:18;;;6120:30;6186:34;6166:18;;;6159:62;-1:-1:-1;;;6237:18:1;;;6230:38;6285:19;;22222:75:0;5906:404:1;22222:75:0;22390:4;22341:28;16435:18;;;:9;:18;;;;;;22466:23;;22442:47;;;;;;;22522:44;;-1:-1:-1;22550:16:0;;-1:-1:-1;;;22550:16:0;;;;22549:17;22522:44;:67;;;;-1:-1:-1;;;;;;22570:19:0;;;;;;:8;:19;;;;;;;;22522:67;:92;;;;-1:-1:-1;22593:21:0;;-1:-1:-1;;;22593:21:0;;;;22522:92;:115;;;;-1:-1:-1;;;;;;22619:18:0;;;;;;:10;:18;;;;;;;;22618:19;22522:115;:151;;;;;22650:23;;22641:6;:32;22522:151;22518:362;;;22711:25;;-1:-1:-1;;;22711:25:0;;;;22708:97;;;22782:23;;22759:46;;22708:97;22824:36;22839:20;22824:14;:36::i;:::-;-1:-1:-1;;;;;22921:18:0;;22898:19;22921:18;;;:10;:18;;;;;;;;;:43;;-1:-1:-1;;;;;;22943:21:0;;;;;;:10;:21;;;;;;;;22921:43;22920:134;;23020:34;23028:6;23036:9;23047:6;23020:7;:34::i;:::-;22920:134;;;23011:6;22920:134;23074:16;;22898:156;;-1:-1:-1;;;;23074:16:0;;;;:53;;;;-1:-1:-1;;;;;;23095:32:0;;;;;;:21;:32;;;;;;;;23094:33;23074:53;23071:135;;;23195:10;;23154:37;23179:11;23154:20;23164:9;-1:-1:-1;;;;;16435:18:0;16408:7;16435:18;;;:9;:18;;;;;;;16342:119;23154:20;:24;;:37::i;:::-;:51;;23146:60;;;;;;23243:16;;23223:15;;-1:-1:-1;;;23243:16:0;;;;23242:17;:39;;;;-1:-1:-1;;;;;;23263:18:0;;;;;;:10;:18;;;;;;;;23242:39;23241:76;;23311:6;23241:76;;;23285:23;:6;23296:11;23285:10;:23::i;:::-;23223:94;;23352:54;23374:7;23352:54;;;;;;;;;;;;;-1:-1:-1;;;23352:54:0;;;:9;:17;23362:6;-1:-1:-1;;;;;23352:17:0;-1:-1:-1;;;;;23352:17:0;;;;;;;;;;;;;:21;;:54;;;;;:::i;:::-;-1:-1:-1;;;;;23332:17:0;;;;;;;:9;:17;;;;;;:74;;;;23444:20;;;;;;;:37;;23469:11;23444:24;:37::i;:::-;-1:-1:-1;;;;;23421:20:0;;;;;;;:9;:20;;;;;;;:60;;;;23503:40;;;;;;;;;;23531:11;1596:25:1;;1584:2;1569:18;;1450:177;23503:40:0;;;;;;;;23565:4;23558:11;;;;;;;;1464:192;1550:7;1586:12;1578:6;;;;1570:29;;;;-1:-1:-1;;;1570:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1610:9:0;1622:5;1626:1;1622;:5;:::i;:::-;1610:17;1464:192;-1:-1:-1;;;;;1464:192:0:o;1131:181::-;1189:7;;1221:5;1225:1;1221;:5;:::i;:::-;1209:17;;1250:1;1245;:6;;1237:46;;;;-1:-1:-1;;;1237:46:0;;6912:2:1;1237:46:0;;;6894:21:1;6951:2;6931:18;;;6924:30;6990:29;6970:18;;;6963:57;7037:18;;1237:46:0;6710:351:1;17865:330:0;17995:53;;;;;;;;;;;-1:-1:-1;;;17995:53:0;;;;;;;;-1:-1:-1;;;;;17995:17:0;;17958:4;17995:17;;;:9;:17;;;;;;;:53;;18017:6;;17995:21;:53::i;:::-;-1:-1:-1;;;;;17975:17:0;;;;;;;:9;:17;;;;;;:73;;;;18082:20;;;;;;;:32;;18107:6;18082:24;:32::i;:::-;-1:-1:-1;;;;;18059:20:0;;;;;;;:9;:20;;;;;;;:55;;;;18130:35;;;;;;;;;;18158:6;1596:25:1;;1584:2;1569:18;;1450:177;18130:35:0;;;;;;;;-1:-1:-1;18183:4:0;17865:330;;;;;:::o;18203:1066::-;14538:16;:23;;-1:-1:-1;;;;14538:23:0;-1:-1:-1;;;14538:23:0;;;18341:24:::1;::::0;18319:16:::1;::::0;14538:23;;18307:66:::1;::::0;18371:1:::1;::::0;18307:59:::1;::::0;;;:7;;:11:::1;:29::i;:::-;:33:::0;::::1;:59::i;:66::-;18285:88:::0;-1:-1:-1;18384:21:0::1;18408:24;:7:::0;18285:88;18408:11:::1;:24::i;:::-;18384:48;;18445:31;18462:13;18445:16;:31::i;:::-;18597:16;::::0;18512:21:::1;::::0;18487:22:::1;::::0;18568:53:::1;::::0;18597:23:::1;::::0;18618:1:::1;18597:20;:23::i;:::-;18568:24;::::0;;:28:::1;:53::i;:::-;18546:75;;18642:26;18671:60;18729:1;18671:53;18712:11;18671:36;18690:16;;18671:14;:18;;:36;;;;:::i;:60::-;18642:89;;18742:28;18773:55;18816:11;18773:38;18792:18;;18773:14;:18;;:38;;;;:::i;:55::-;18742:86:::0;-1:-1:-1;18839:26:0::1;18868:64;18742:86:::0;18868:38:::1;:14:::0;18887:18;18868::::1;:38::i;:::-;:42:::0;::::1;:64::i;:::-;18839:93:::0;-1:-1:-1;18948:22:0;;18945:91:::1;;19006:9;::::0;18985:51:::1;::::0;19006:9:::1;::::0;::::1;-1:-1:-1::0;;;;;19006:9:0::1;19017:18:::0;18985:20:::1;:51::i;:::-;19052:24:::0;;19049:95:::1;;19112:9;::::0;19091:53:::1;::::0;-1:-1:-1;;;;;19112:9:0::1;19123:20:::0;19091::::1;:53::i;:::-;19181:1;19160:18;:22;:41;;;;;19200:1;19186:11;:15;19160:41;19157:104;;;19216:45;19229:11;19242:18;19216:12;:45::i;:::-;-1:-1:-1::0;;14584:16:0;:24;;-1:-1:-1;;;;14584:24:0;;;-1:-1:-1;;;;;;18203:1066:0:o;20618:600::-;-1:-1:-1;;;;;20779:16:0;;20704:7;20779:16;;;:8;:16;;;;;;20704:7;;20779:16;;20776:201;;;20824:31;20851:3;20824:22;20835:10;;20824:6;:10;;:22;;;;:::i;:31::-;20812:43;;20776:201;;;-1:-1:-1;;;;;20885:19:0;;;;;;:8;:19;;;;;;;;20882:95;;;20933:32;20961:3;20933:23;20944:11;;20933:6;:10;;:23;;;;:::i;:32::-;20921:44;;20882:95;21000:13;;20997:173;;21075:4;21057:24;;;;:9;:24;;;;;;:39;;21086:9;21057:28;:39::i;:::-;21048:4;21030:24;;;;:9;:24;;;;;;;:66;;;;21116:42;;-1:-1:-1;;;;;21116:42:0;;;;;;;21148:9;1596:25:1;;1584:2;1569:18;;1450:177;21116:42:0;;;;;;;;20997:173;21189:21;:6;21200:9;1320:136;1378:7;1405:43;1409:1;1412;1405:43;;;;;;;;;;;;;;;;;:3;:43::i;1664:250::-;1722:7;1746:1;1751;1746:6;1742:47;;-1:-1:-1;1776:1:0;1769:8;;1742:47;1801:9;1813:5;1817:1;1813;:5;:::i;:::-;1801:17;-1:-1:-1;1846:1:0;1837:5;1841:1;1801:17;1837:5;:::i;:::-;:10;1829:56;;;;-1:-1:-1;;;1829:56:0;;7663:2:1;1829:56:0;;;7645:21:1;7702:2;7682:18;;;7675:30;7741:34;7721:18;;;7714:62;-1:-1:-1;;;7792:18:1;;;7785:31;7833:19;;1829:56:0;7461:397:1;1922:132:0;1980:7;2007:39;2011:1;2014;2007:39;;;;;;;;;;;;;;;;;:3;:39::i;19281:666::-;19431:16;;;19445:1;19431:16;;;;;;;;19407:21;;19431:16;;;;;;;;;;-1:-1:-1;19431:16:0;19407:40;;19476:4;19458;19463:1;19458:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19458:23:0;;;:7;;;;;;;;;;:23;;;;19502:15;;:22;;;-1:-1:-1;;;19502:22:0;;;;:15;;;;;:20;;:22;;;;;19458:7;;19502:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19492:4;19497:1;19492:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19492:32:0;;;:7;;;;;;;;;:32;19569:15;;19537:62;;19554:4;;19569:15;19587:11;19537:8;:62::i;:::-;19638:15;;:240;;-1:-1:-1;;;19638:240:0;;-1:-1:-1;;;;;19638:15:0;;;;:66;;:240;;19719:11;;19638:15;;19789:4;;19816;;19852:15;;19638:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19904:35;19921:11;19934:4;19904:35;;;;;;;:::i;:::-;;;;;;;;19336:611;19281:666;:::o;17637:126::-;17729:26;;-1:-1:-1;;;;;17729:18:0;;;:26;;;;;17748:6;;17729:26;;;;17748:6;17729:18;:26;;;;;;;;;;;;;;;;;;;;;17637:126;;:::o;20097:513::-;20277:15;;20245:62;;20262:4;;-1:-1:-1;;;;;20277:15:0;20295:11;20245:8;:62::i;:::-;20350:15;;-1:-1:-1;;;;;20350:15:0;:31;20389:9;20422:4;20442:11;20350:15;;20554:7;3452;3479:6;-1:-1:-1;;;;;3479:6:0;;3414:79;20554:7;20350:252;;;;;;-1:-1:-1;;;;;;20350:252:0;;;-1:-1:-1;;;;;10132:15:1;;;20350:252:0;;;10114:34:1;10164:18;;;10157:34;;;;10207:18;;;10200:34;;;;10250:18;;;10243:34;10314:15;;;10293:19;;;10286:44;20576:15:0;10346:19:1;;;10339:35;10048:19;;20350:252:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;20097:513;;:::o;2062:278::-;2148:7;2183:12;2176:5;2168:28;;;;-1:-1:-1;;;2168:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2207:9:0;2219:5;2223:1;2219;:5;:::i;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;622:70;567:131;:::o;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;1632:456::-;1709:6;1717;1725;1778:2;1766:9;1757:7;1753:23;1749:32;1746:52;;;1794:1;1791;1784:12;1746:52;1833:9;1820:23;1852:31;1877:5;1852:31;:::i;:::-;1902:5;-1:-1:-1;1959:2:1;1944:18;;1931:32;1972:33;1931:32;1972:33;:::i;:::-;1632:456;;2024:7;;-1:-1:-1;;;2078:2:1;2063:18;;;;2050:32;;1632:456::o;2490:247::-;2549:6;2602:2;2590:9;2581:7;2577:23;2573:32;2570:52;;;2618:1;2615;2608:12;2570:52;2657:9;2644:23;2676:31;2701:5;2676:31;:::i;2742:388::-;2810:6;2818;2871:2;2859:9;2850:7;2846:23;2842:32;2839:52;;;2887:1;2884;2877:12;2839:52;2926:9;2913:23;2945:31;2970:5;2945:31;:::i;:::-;2995:5;-1:-1:-1;3052:2:1;3037:18;;3024:32;3065:33;3024:32;3065:33;:::i;:::-;3117:7;3107:17;;;2742:388;;;;;:::o;3135:380::-;3214:1;3210:12;;;;3257;;;3278:61;;3332:4;3324:6;3320:17;3310:27;;3278:61;3385:2;3377:6;3374:14;3354:18;3351:38;3348:161;;3431:10;3426:3;3422:20;3419:1;3412:31;3466:4;3463:1;3456:15;3494:4;3491:1;3484:15;3348:161;;3135:380;;;:::o;3520:356::-;3722:2;3704:21;;;3741:18;;;3734:30;3800:34;3795:2;3780:18;;3773:62;3867:2;3852:18;;3520:356::o;6315:127::-;6376:10;6371:3;6367:20;6364:1;6357:31;6407:4;6404:1;6397:15;6431:4;6428:1;6421:15;6447:128;6514:9;;;6535:11;;;6532:37;;;6549:18;;:::i;6580:125::-;6645:9;;;6666:10;;;6663:36;;;6679:18;;:::i;7066:168::-;7139:9;;;7170;;7187:15;;;7181:22;;7167:37;7157:71;;7208:18;;:::i;7239:217::-;7279:1;7305;7295:132;;7349:10;7344:3;7340:20;7337:1;7330:31;7384:4;7381:1;7374:15;7412:4;7409:1;7402:15;7295:132;-1:-1:-1;7441:9:1;;7239:217::o;7995:127::-;8056:10;8051:3;8047:20;8044:1;8037:31;8087:4;8084:1;8077:15;8111:4;8108:1;8101:15;8127:251;8197:6;8250:2;8238:9;8229:7;8225:23;8221:32;8218:52;;;8266:1;8263;8256:12;8218:52;8298:9;8292:16;8317:31;8342:5;8317:31;:::i;8383:461::-;8436:3;8474:5;8468:12;8501:6;8496:3;8489:19;8527:4;8556:2;8551:3;8547:12;8540:19;;8593:2;8586:5;8582:14;8614:1;8624:195;8638:6;8635:1;8632:13;8624:195;;;8703:13;;-1:-1:-1;;;;;8699:39:1;8687:52;;8759:12;;;;8794:15;;;;8735:1;8653:9;8624:195;;;-1:-1:-1;8835:3:1;;8383:461;-1:-1:-1;;;;;8383:461:1:o;8849:582::-;9148:6;9137:9;9130:25;9191:6;9186:2;9175:9;9171:18;9164:34;9234:3;9229:2;9218:9;9214:18;9207:31;9111:4;9255:57;9307:3;9296:9;9292:19;9284:6;9255:57;:::i;:::-;-1:-1:-1;;;;;9348:32:1;;;;9343:2;9328:18;;9321:60;-1:-1:-1;9412:3:1;9397:19;9390:35;9247:65;8849:582;-1:-1:-1;;;8849:582:1:o;9436:332::-;9643:6;9632:9;9625:25;9686:2;9681;9670:9;9666:18;9659:30;9606:4;9706:56;9758:2;9747:9;9743:18;9735:6;9706:56;:::i;:::-;9698:64;9436:332;-1:-1:-1;;;;9436:332:1:o;10385:306::-;10473:6;10481;10489;10542:2;10530:9;10521:7;10517:23;10513:32;10510:52;;;10558:1;10555;10548:12;10510:52;10587:9;10581:16;10571:26;;10637:2;10626:9;10622:18;10616:25;10606:35;;10681:2;10670:9;10666:18;10660:25;10650:35;;10385:306;;;;;:::o
Swarm Source
ipfs://ea3a77d33d88e65751bebcf849b0badbac56cb6106de65db3a069abd91a6cf02
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.