ERC-20
Overview
Max Total Supply
1,000,000,000,000,000,000 DTAG
Holders
87
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
2,467,404,595,304,275.507731059 DTAGValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DTAG
Compiler Version
v0.8.11+commit.d7f03943
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-02-02 */ //SPDX-License-Identifier: MIT pragma solidity 0.8.11; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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; return c; } } 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); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } 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 DTAG is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => uint) private cooldown; mapping (address => bool) private bots; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1e18 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _swapMin = _tTotal * 1 / 100000 ; uint256 private _nextSwap = block.timestamp; uint256 private _DTAG_Fee = 8; uint256 private _DTAG_SellFee = 0; uint256 private _DTAGFee; uint256 private _LIQ_Fee = 4; uint256 private _LIQ_SellFee = 24; uint256 private _LIQFee; address payable private _DTAG_Wallet; string private constant _name = "DogTag"; string private constant _symbol = "DTAG"; uint8 private constant _decimals = 9; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private cooldownEnabled = false; bool botscantrade = false; uint256 private _maxTxAmount = _tTotal; uint256 private _maxWallet = _tTotal; uint256 swapQty = _tTotal / 100 ; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { address deployer = 0x90E69BFf53773e670242Ce7247eEA0d25CbC51dF; _DTAG_Wallet = payable(0xE301DDE3c7Adc905Ea99A71a50290B2887B33d59); _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_DTAG_Wallet] = true; _isExcludedFromFee[deployer] = true; emit Transfer(address(0), owner(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { // return tokenFromReflection(_rOwned[account]); require(_rOwned[account] <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return _rOwned[account].div(currentRate); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true;} function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender];} function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true;} function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function setCooldownEnabled(bool onoff) external onlyOwner() { cooldownEnabled = onoff; } /* function tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } */ 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 _transfer(address from, address to, uint256 amount) private { require(!bots[from] && !bots[to]); require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if ( tradingOpen ) { if ( from == owner() || to == owner()) { _DTAGFee = 0; _LIQFee = 0; } else if (from == uniswapV2Pair) { _DTAGFee = _DTAG_Fee; _LIQFee = _LIQ_Fee; } else { _DTAGFee = _DTAG_SellFee; _LIQFee = _LIQ_SellFee; } } if (from != owner() && to != owner()) { if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) { // Cooldown require(amount <= _maxTxAmount +1e9, "Max Transaction Amount Exceeded" ); require(amount + balanceOf(to) <= _maxWallet +1e9, "Max Wallet Amount Exceeded"); require(cooldown[to] < block.timestamp); cooldown[to] = block.timestamp + (30 seconds); } if (!inSwap && from != uniswapV2Pair && swapEnabled) { uint256 contractTokenBalance = balanceOf(address(this)); if ( _nextSwap < block.timestamp || contractTokenBalance > swapQty ) { uint256 feeTokens = contractTokenBalance * _DTAG_Fee * _DTAG_SellFee / 20; swapTokensForEth(feeTokens); _DTAG_Wallet.transfer(address(this).balance); uint256 liqTokens = contractTokenBalance - feeTokens; swapTokensForEth(liqTokens / 2); liquify( liqTokens / 2); _nextSwap = block.timestamp + 3600 + block.timestamp % 69 ; } } } _tokenTransfer(from,to,amount); } function manualLiquidity() external lockTheSwap onlyOwner(){ uint256 _liqTokens = balanceOf(address(this)); address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), _liqTokens); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( _liqTokens / 2, 0, path, address(this), block.timestamp ); uniswapV2Router.addLiquidityETH{value: address(this).balance} ( address(this), _liqTokens / 2, 0, 0, owner(), block.timestamp); } function liquify(uint256 _tokens) internal lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), _tokens); uniswapV2Router.addLiquidityETH{value: address(this).balance} ( address(this), _tokens, 0, 0, owner(), block.timestamp); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 _eth) private { _DTAG_Wallet.transfer(_eth); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); _approve(address(this), address(uniswapV2Pair), _tTotal); uniswapV2Router.addLiquidityETH{value: address(this).balance} ( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp); // swapEnabled = true; cooldownEnabled = true; _maxWallet = _tTotal / 100; _maxTxAmount = _tTotal / 100; //1e16 * 10**9; tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function _tokenTransfer(address sender, address recipient, uint256 tAmount) private { if(bots[sender] || bots[recipient]){ require(botscantrade, "bot Not allowed"); } // _transferStandard(sender, recipient, amount); //function _transferStandard(address sender, address recipient, uint256 tAmount) private { uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount); _rOwned[sender] -= rAmount; _rOwned[recipient] += rTransferAmount; // _takeTeam(tTeam); // function _takeTeam(uint256 tTeam) private { // uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] += rTeam; // _reflectFee(rFee, tFee); _rTotal -= rFee; _tFeeTotal += tFee; emit Transfer(sender, recipient, tTransferAmount); } /* function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] += rTeam; } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal -= rFee; _tFeeTotal += tFee; } */ receive() external payable {} function setSwap() public onlyOwner(){ swapEnabled = !swapEnabled; } function setMarketingWallet(address walletAddress) public onlyOwner { _DTAG_Wallet = payable(walletAddress); } function setMaxTxAmount(uint256 maxTxAmount) external onlyOwner() { require(maxTxAmount > 69000000, "Max Tx Amount cannot be less than 69 Million"); _maxTxAmount = maxTxAmount * 10**9; } function setMaxWallet(uint256 maxTxWallet) external onlyOwner() { require(maxTxWallet > 69000000, "Max Tx Wallet cannot be less than 69 Million"); _maxWallet = maxTxWallet * 10**9; } function setBuyFee(uint256 dtag_, uint256 liq_) external onlyOwner() { _DTAG_Fee = dtag_; _LIQ_Fee = liq_; } function setSellFee(uint256 dtag_, uint256 liq_) external onlyOwner() { _DTAG_Fee = dtag_; _LIQ_Fee = liq_; } function excludeFromFee( address _excludeAddy) public onlyOwner() { _isExcludedFromFee[_excludeAddy] = true; } function includeFromFee( address _includeAddy) public onlyOwner() { _isExcludedFromFee[_includeAddy] = false; } function manualswap(uint256 _tokens) external onlyOwner(){ require(_tokens * 10**9 < balanceOf(address(this))); swapTokensForEth(_tokens * 10**9); } function manualsend(uint256 _eth ) public onlyOwner(){ _DTAG_Wallet.transfer(_eth); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { // (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, DTAG_Fee, _LIQFee); //function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(_DTAGFee).div(100); uint256 tTeam = tAmount.mul(_LIQFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); //return (tTransferAmount, tFee, tTeam); uint256 currentRate = _getRate(); //(uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); //function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); //return (rAmount, rTransferAmount, rFee); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } /* function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } */ function _getRate() private view returns(uint256) { uint256 rSupply; uint256 tSupply; // (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); //function _getCurrentSupply() private view returns(uint256, uint256) { if (_rTotal < _rTotal.div(_tTotal)) { rSupply = _rTotal; tSupply = _tTotal; } else { rSupply = _rTotal; tSupply = _tTotal; } // return rSupply.div(tSupply); } /* function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } */ function setBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBot(address notbot) public onlyOwner { bots[notbot] = false; } function setQty(uint256 _qty) public { require(_msgSender() == _DTAG_Wallet); swapQty = _qty * 1**9 ; } }
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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_excludeAddy","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_includeAddy","type":"address"}],"name":"includeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_eth","type":"uint256"}],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","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":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"dtag_","type":"uint256"},{"internalType":"uint256","name":"liq_","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"walletAddress","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxWallet","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_qty","type":"uint256"}],"name":"setQty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"dtag_","type":"uint256"},{"internalType":"uint256","name":"liq_","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526200001e6b033b2e3c9fd0803ce80000006000196200027e565b6200002c90600019620002ab565b600755620186a06200004c6b033b2e3c9fd0803ce80000006001620002c5565b620000589190620002e7565b60095542600a556008600b556000600c556004600e556018600f556013805463ffffffff60a81b191690556b033b2e3c9fd0803ce800000060148190556015819055620000a890606490620002e7565b601655348015620000b857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601180546001600160a01b03191673e301dde3c7adc905ea99a71a50290b2887b33d591790556007547390e69bff53773e670242ce7247eea0d25cbc51df9060026000620001453390565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506001600460006200017f6200025960201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526004909352818320805485166001908117909155601154821684528284208054861682179055908516835291208054909216179055620001f86000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b033b2e3c9fd0803ce80000006040516200024a91815260200190565b60405180910390a350620002fe565b6000546001600160a01b031690565b634e487b7160e01b600052601260045260246000fd5b60008262000290576200029062000268565b500690565b634e487b7160e01b600052601160045260246000fd5b600082821015620002c057620002c062000295565b500390565b6000816000190483118215151615620002e257620002e262000295565b500290565b600082620002f957620002f962000268565b500490565b612992806200030e6000396000f3fe6080604052600436106101b05760003560e01c80636ac9a870116100ec578063a9059cbb1161008a578063dd62ed3e11610064578063dd62ed3e146104ed578063ec28438a14610533578063fb0ecfa4146103a0578063ff5118281461055357600080fd5b8063a9059cbb14610498578063b515566a146104b8578063c9567bf9146104d857600080fd5b806375150e01116100c657806375150e01146103f5578063881dce601461040a5780638da5cb5b1461042a57806395d89b411461045257600080fd5b80636ac9a870146103a057806370a08231146103c0578063715018a6146103e057600080fd5b806323b872dd11610159578063437823ec11610133578063437823ec146103205780635932ead1146103405780635d0044ca146103605780635d098b381461038057600080fd5b806323b872dd146102c4578063273123b7146102e4578063313ce5671461030457600080fd5b8063095ea7b31161018a578063095ea7b31461024b57806318160ddd1461027b5780631ad34a4f146102a457600080fd5b80630498213e146101bc57806306fdde03146101d3578063088130811461022b57600080fd5b366101b757005b600080fd5b3480156101c857600080fd5b506101d1610573565b005b3480156101df57600080fd5b5060408051808201909152600681527f446f67546167000000000000000000000000000000000000000000000000000060208201525b604051610222919061250a565b60405180910390f35b34801561023757600080fd5b506101d161024636600461255f565b61084b565b34801561025757600080fd5b5061026b61026636600461259d565b61087c565b6040519015158152602001610222565b34801561028757600080fd5b506b033b2e3c9fd0803ce80000005b604051908152602001610222565b3480156102b057600080fd5b506101d16102bf36600461255f565b610893565b3480156102d057600080fd5b5061026b6102df3660046125c9565b61092b565b3480156102f057600080fd5b506101d16102ff36600461260a565b610994565b34801561031057600080fd5b5060405160098152602001610222565b34801561032c57600080fd5b506101d161033b36600461260a565b610a0f565b34801561034c57600080fd5b506101d161035b366004612635565b610a8d565b34801561036c57600080fd5b506101d161037b36600461255f565b610b34565b34801561038c57600080fd5b506101d161039b36600461260a565b610c1b565b3480156103ac57600080fd5b506101d16103bb366004612652565b610ca4565b3480156103cc57600080fd5b506102966103db36600461260a565b610d09565b3480156103ec57600080fd5b506101d1610dd2565b34801561040157600080fd5b506101d1610e83565b34801561041657600080fd5b506101d161042536600461255f565b610f2c565b34801561043657600080fd5b506000546040516001600160a01b039091168152602001610222565b34801561045e57600080fd5b5060408051808201909152600481527f44544147000000000000000000000000000000000000000000000000000000006020820152610215565b3480156104a457600080fd5b5061026b6104b336600461259d565b610fc0565b3480156104c457600080fd5b506101d16104d336600461268a565b610fcd565b3480156104e457600080fd5b506101d161108f565b3480156104f957600080fd5b5061029661050836600461274f565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561053f57600080fd5b506101d161054e36600461255f565b611576565b34801561055f57600080fd5b506101d161056e36600461260a565b61165d565b6013805460ff60a81b1916600160a81b17905561058d3390565b6000546001600160a01b039081169116146105ef5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b60006105fa30610d09565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061063457610634612788565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b1919061279e565b816001815181106106c4576106c4612788565b6001600160a01b0392831660209182029290920101526012546106ea91309116846116d8565b6012546001600160a01b031663791ac9476107066002856127e7565b60008430426040518663ffffffff1660e01b815260040161072b9594939291906127fb565b600060405180830381600087803b15801561074557600080fd5b505af1158015610759573d6000803e3d6000fd5b50506012546001600160a01b0316915063f305d7199050473061077d6002876127e7565b6000806107926000546001600160a01b031690565b60405160e088901b7fffffffff000000000000000000000000000000000000000000000000000000001681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610812573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610837919061286c565b50506013805460ff60a81b19169055505050565b6011546001600160a01b0316336001600160a01b03161461086b57600080fd5b61087681600161289a565b60165550565b60006108893384846116d8565b5060015b92915050565b6000546001600160a01b031633146108ed5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b6011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610927573d6000803e3d6000fd5b5050565b6000610938848484611830565b61098a843361098585604051806060016040528060288152602001612935602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611d95565b6116d8565b5060019392505050565b6000546001600160a01b031633146109ee5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b03163314610a695760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b03163314610ae75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b6013805491151577010000000000000000000000000000000000000000000000027fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b6000546001600160a01b03163314610b8e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b63041cdb408111610c075760405162461bcd60e51b815260206004820152602c60248201527f4d61782054782057616c6c65742063616e6e6f74206265206c6573732074686160448201527f6e203639204d696c6c696f6e000000000000000000000000000000000000000060648201526084016105e6565b610c1581633b9aca0061289a565b60155550565b6000546001600160a01b03163314610c755760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b6011805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610cfe5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b600b91909155600e55565b6007546001600160a01b03821660009081526002602052604081205490911015610d9b5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201527f65666c656374696f6e730000000000000000000000000000000000000000000060648201526084016105e6565b6000610da5611dcf565b6001600160a01b038416600090815260026020526040902054909150610dcb9082611e39565b9392505050565b6000546001600160a01b03163314610e2c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000546001600160a01b03163314610edd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b601380547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff81167601000000000000000000000000000000000000000000009182900460ff1615909102179055565b6000546001600160a01b03163314610f865760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b610f8f30610d09565b610f9d82633b9aca0061289a565b10610fa757600080fd5b610fbd610fb882633b9aca0061289a565b611e7b565b50565b6000610889338484611830565b6000546001600160a01b031633146110275760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b60005b81518110156109275760016006600084848151811061104b5761104b612788565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580611087816128b9565b91505061102a565b6000546001600160a01b031633146110e95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b60135474010000000000000000000000000000000000000000900460ff16156111545760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105e6565b6012805473ffffffffffffffffffffffffffffffffffffffff1916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556111a130826b033b2e3c9fd0803ce80000006116d8565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611203919061279e565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611265573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611289919061279e565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156112ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611312919061279e565b6013805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691821790556113569030906b033b2e3c9fd0803ce80000006116d8565b6012546001600160a01b031663f305d719473061137281610d09565b6000806113876000546001600160a01b031690565b60405160e088901b7fffffffff000000000000000000000000000000000000000000000000000000001681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015611407573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061142c919061286c565b5050601380547fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff16770100000000000000000000000000000000000000000000001790555061148860646b033b2e3c9fd0803ce80000006127e7565b6015556114a260646b033b2e3c9fd0803ce80000006127e7565b60145560138054740100000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff8216179091556012546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af1158015611552573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092791906128d4565b6000546001600160a01b031633146115d05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b63041cdb4081116116495760405162461bcd60e51b815260206004820152602c60248201527f4d617820547820416d6f756e742063616e6e6f74206265206c6573732074686160448201527f6e203639204d696c6c696f6e000000000000000000000000000000000000000060648201526084016105e6565b61165781633b9aca0061289a565b60145550565b6000546001600160a01b031633146116b75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6001600160a01b0383166117535760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105e6565b6001600160a01b0382166117cf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016105e6565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526006602052604090205460ff1615801561187257506001600160a01b03821660009081526006602052604090205460ff16155b61187b57600080fd5b6001600160a01b0383166118f75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016105e6565b6001600160a01b0382166119735760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016105e6565b600081116119e95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f000000000000000000000000000000000000000000000060648201526084016105e6565b60135474010000000000000000000000000000000000000000900460ff1615611a7d576000546001600160a01b0384811691161480611a3557506000546001600160a01b038381169116145b15611a49576000600d819055601055611a7d565b6013546001600160a01b0384811691161415611a7057600b54600d55600e54601055611a7d565b600c54600d55600f546010555b6000546001600160a01b03848116911614801590611aa957506000546001600160a01b03838116911614155b15611d85576013546001600160a01b038481169116148015611ad957506012546001600160a01b03838116911614155b8015611afe57506001600160a01b03821660009081526004602052604090205460ff16155b8015611b27575060135477010000000000000000000000000000000000000000000000900460ff165b15611c4757601454611b3d90633b9aca006128f1565b811115611b8c5760405162461bcd60e51b815260206004820152601f60248201527f4d6178205472616e73616374696f6e20416d6f756e742045786365656465640060448201526064016105e6565b601554611b9d90633b9aca006128f1565b611ba683610d09565b611bb090836128f1565b1115611bfe5760405162461bcd60e51b815260206004820152601a60248201527f4d61782057616c6c657420416d6f756e7420457863656564656400000000000060448201526064016105e6565b6001600160a01b0382166000908152600560205260409020544211611c2257600080fd5b611c2d42601e6128f1565b6001600160a01b0383166000908152600560205260409020555b601354600160a81b900460ff16158015611c6f57506013546001600160a01b03848116911614155b8015611c975750601354760100000000000000000000000000000000000000000000900460ff165b15611d85576000611ca730610d09565b905042600a541080611cba575060165481115b15611d835760006014600c54600b5484611cd4919061289a565b611cde919061289a565b611ce891906127e7565b9050611cf381611e7b565b6011546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611d2c573d6000803e3d6000fd5b506000611d398284612909565b9050611d49610fb86002836127e7565b611d5c611d576002836127e7565b61200e565b611d67604542612920565b611d7342610e106128f1565b611d7d91906128f1565b600a5550505b505b611d90838383612135565b505050565b60008184841115611db95760405162461bcd60e51b81526004016105e6919061250a565b506000611dc68486612909565b95945050505050565b6000806000611df56b033b2e3c9fd0803ce8000000600754611e3990919063ffffffff16565b6007541015611e155750506007546b033b2e3c9fd0803ce8000000611e28565b50506007546b033b2e3c9fd0803ce80000005b611e328282611e39565b9250505090565b6000610dcb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061233c565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611ec357611ec3612788565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611f1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f40919061279e565b81600181518110611f5357611f53612788565b6001600160a01b039283166020918202929092010152601254611f7991309116846116d8565b6012546040517f791ac9470000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063791ac94790611fcb9085906000908690309042906004016127fb565b600060405180830381600087803b158015611fe557600080fd5b505af1158015611ff9573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b6013805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061205657612056612788565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156120af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d3919061279e565b816001815181106120e6576120e6612788565b6001600160a01b03928316602091820292909201015260125461210c91309116846116d8565b6012546001600160a01b031663f305d7194730856000806107926000546001600160a01b031690565b6001600160a01b03831660009081526006602052604090205460ff168061217457506001600160a01b03821660009081526006602052604090205460ff165b156121e7576013547801000000000000000000000000000000000000000000000000900460ff166121e75760405162461bcd60e51b815260206004820152600f60248201527f626f74204e6f7420616c6c6f776564000000000000000000000000000000000060448201526064016105e6565b60006121f1611dcf565b90506000806000806000806122058861236a565b95509550955095509550955085600260008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546122469190612909565b90915550506001600160a01b038916600090815260026020526040812080548792906122739084906128f1565b9091555060009050612285828961242d565b306000908152600260205260408120805492935083929091906122a99084906128f1565b9250508190555084600760008282546122c29190612909565b9250508190555082600860008282546122db91906128f1565b92505081905550896001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161232791815260200190565b60405180910390a35050505050505050505050565b6000818361235d5760405162461bcd60e51b81526004016105e6919061250a565b506000611dc684866127e7565b6000806000806000806000612395606461238f600d548b61242d90919063ffffffff16565b90611e39565b905060006123b3606461238f6010548c61242d90919063ffffffff16565b905060006123cb826123c58c866124c8565b906124c8565b905060006123d7611dcf565b905060006123e58c8361242d565b905060006123f3868461242d565b90506000612401868561242d565b90506000612413826123c586866124c8565b939f939e50919c50939a5094985092965091945050505050565b60008261243c5750600061088d565b6000612448838561289a565b90508261245585836127e7565b14610dcb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f770000000000000000000000000000000000000000000000000000000000000060648201526084016105e6565b6000610dcb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d95565b600060208083528351808285015260005b818110156125375785810183015185820160400152820161251b565b81811115612549576000604083870101525b50601f01601f1916929092016040019392505050565b60006020828403121561257157600080fd5b5035919050565b6001600160a01b0381168114610fbd57600080fd5b803561259881612578565b919050565b600080604083850312156125b057600080fd5b82356125bb81612578565b946020939093013593505050565b6000806000606084860312156125de57600080fd5b83356125e981612578565b925060208401356125f981612578565b929592945050506040919091013590565b60006020828403121561261c57600080fd5b8135610dcb81612578565b8015158114610fbd57600080fd5b60006020828403121561264757600080fd5b8135610dcb81612627565b6000806040838503121561266557600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561269d57600080fd5b823567ffffffffffffffff808211156126b557600080fd5b818501915085601f8301126126c957600080fd5b8135818111156126db576126db612674565b8060051b604051601f19603f8301168101818110858211171561270057612700612674565b60405291825284820192508381018501918883111561271e57600080fd5b938501935b82851015612743576127348561258d565b84529385019392850192612723565b98975050505050505050565b6000806040838503121561276257600080fd5b823561276d81612578565b9150602083013561277d81612578565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156127b057600080fd5b8151610dcb81612578565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000826127f6576127f66127bb565b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561284b5784516001600160a01b031683529383019391830191600101612826565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561288157600080fd5b8351925060208401519150604084015190509250925092565b60008160001904831182151516156128b4576128b46127d1565b500290565b60006000198214156128cd576128cd6127d1565b5060010190565b6000602082840312156128e657600080fd5b8151610dcb81612627565b60008219821115612904576129046127d1565b500190565b60008282101561291b5761291b6127d1565b500390565b60008261292f5761292f6127bb565b50069056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122000e9e81b7eaae1d0333db15296f9f4f24c6e325ee0346497e142fd411fb0a7f464736f6c634300080b0033
Deployed Bytecode
0x6080604052600436106101b05760003560e01c80636ac9a870116100ec578063a9059cbb1161008a578063dd62ed3e11610064578063dd62ed3e146104ed578063ec28438a14610533578063fb0ecfa4146103a0578063ff5118281461055357600080fd5b8063a9059cbb14610498578063b515566a146104b8578063c9567bf9146104d857600080fd5b806375150e01116100c657806375150e01146103f5578063881dce601461040a5780638da5cb5b1461042a57806395d89b411461045257600080fd5b80636ac9a870146103a057806370a08231146103c0578063715018a6146103e057600080fd5b806323b872dd11610159578063437823ec11610133578063437823ec146103205780635932ead1146103405780635d0044ca146103605780635d098b381461038057600080fd5b806323b872dd146102c4578063273123b7146102e4578063313ce5671461030457600080fd5b8063095ea7b31161018a578063095ea7b31461024b57806318160ddd1461027b5780631ad34a4f146102a457600080fd5b80630498213e146101bc57806306fdde03146101d3578063088130811461022b57600080fd5b366101b757005b600080fd5b3480156101c857600080fd5b506101d1610573565b005b3480156101df57600080fd5b5060408051808201909152600681527f446f67546167000000000000000000000000000000000000000000000000000060208201525b604051610222919061250a565b60405180910390f35b34801561023757600080fd5b506101d161024636600461255f565b61084b565b34801561025757600080fd5b5061026b61026636600461259d565b61087c565b6040519015158152602001610222565b34801561028757600080fd5b506b033b2e3c9fd0803ce80000005b604051908152602001610222565b3480156102b057600080fd5b506101d16102bf36600461255f565b610893565b3480156102d057600080fd5b5061026b6102df3660046125c9565b61092b565b3480156102f057600080fd5b506101d16102ff36600461260a565b610994565b34801561031057600080fd5b5060405160098152602001610222565b34801561032c57600080fd5b506101d161033b36600461260a565b610a0f565b34801561034c57600080fd5b506101d161035b366004612635565b610a8d565b34801561036c57600080fd5b506101d161037b36600461255f565b610b34565b34801561038c57600080fd5b506101d161039b36600461260a565b610c1b565b3480156103ac57600080fd5b506101d16103bb366004612652565b610ca4565b3480156103cc57600080fd5b506102966103db36600461260a565b610d09565b3480156103ec57600080fd5b506101d1610dd2565b34801561040157600080fd5b506101d1610e83565b34801561041657600080fd5b506101d161042536600461255f565b610f2c565b34801561043657600080fd5b506000546040516001600160a01b039091168152602001610222565b34801561045e57600080fd5b5060408051808201909152600481527f44544147000000000000000000000000000000000000000000000000000000006020820152610215565b3480156104a457600080fd5b5061026b6104b336600461259d565b610fc0565b3480156104c457600080fd5b506101d16104d336600461268a565b610fcd565b3480156104e457600080fd5b506101d161108f565b3480156104f957600080fd5b5061029661050836600461274f565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561053f57600080fd5b506101d161054e36600461255f565b611576565b34801561055f57600080fd5b506101d161056e36600461260a565b61165d565b6013805460ff60a81b1916600160a81b17905561058d3390565b6000546001600160a01b039081169116146105ef5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b60006105fa30610d09565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061063457610634612788565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b1919061279e565b816001815181106106c4576106c4612788565b6001600160a01b0392831660209182029290920101526012546106ea91309116846116d8565b6012546001600160a01b031663791ac9476107066002856127e7565b60008430426040518663ffffffff1660e01b815260040161072b9594939291906127fb565b600060405180830381600087803b15801561074557600080fd5b505af1158015610759573d6000803e3d6000fd5b50506012546001600160a01b0316915063f305d7199050473061077d6002876127e7565b6000806107926000546001600160a01b031690565b60405160e088901b7fffffffff000000000000000000000000000000000000000000000000000000001681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610812573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610837919061286c565b50506013805460ff60a81b19169055505050565b6011546001600160a01b0316336001600160a01b03161461086b57600080fd5b61087681600161289a565b60165550565b60006108893384846116d8565b5060015b92915050565b6000546001600160a01b031633146108ed5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b6011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610927573d6000803e3d6000fd5b5050565b6000610938848484611830565b61098a843361098585604051806060016040528060288152602001612935602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611d95565b6116d8565b5060019392505050565b6000546001600160a01b031633146109ee5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b03163314610a695760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b03163314610ae75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b6013805491151577010000000000000000000000000000000000000000000000027fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b6000546001600160a01b03163314610b8e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b63041cdb408111610c075760405162461bcd60e51b815260206004820152602c60248201527f4d61782054782057616c6c65742063616e6e6f74206265206c6573732074686160448201527f6e203639204d696c6c696f6e000000000000000000000000000000000000000060648201526084016105e6565b610c1581633b9aca0061289a565b60155550565b6000546001600160a01b03163314610c755760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b6011805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610cfe5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b600b91909155600e55565b6007546001600160a01b03821660009081526002602052604081205490911015610d9b5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201527f65666c656374696f6e730000000000000000000000000000000000000000000060648201526084016105e6565b6000610da5611dcf565b6001600160a01b038416600090815260026020526040902054909150610dcb9082611e39565b9392505050565b6000546001600160a01b03163314610e2c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000546001600160a01b03163314610edd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b601380547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff81167601000000000000000000000000000000000000000000009182900460ff1615909102179055565b6000546001600160a01b03163314610f865760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b610f8f30610d09565b610f9d82633b9aca0061289a565b10610fa757600080fd5b610fbd610fb882633b9aca0061289a565b611e7b565b50565b6000610889338484611830565b6000546001600160a01b031633146110275760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b60005b81518110156109275760016006600084848151811061104b5761104b612788565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580611087816128b9565b91505061102a565b6000546001600160a01b031633146110e95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b60135474010000000000000000000000000000000000000000900460ff16156111545760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105e6565b6012805473ffffffffffffffffffffffffffffffffffffffff1916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556111a130826b033b2e3c9fd0803ce80000006116d8565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611203919061279e565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611265573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611289919061279e565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156112ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611312919061279e565b6013805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691821790556113569030906b033b2e3c9fd0803ce80000006116d8565b6012546001600160a01b031663f305d719473061137281610d09565b6000806113876000546001600160a01b031690565b60405160e088901b7fffffffff000000000000000000000000000000000000000000000000000000001681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015611407573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061142c919061286c565b5050601380547fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff16770100000000000000000000000000000000000000000000001790555061148860646b033b2e3c9fd0803ce80000006127e7565b6015556114a260646b033b2e3c9fd0803ce80000006127e7565b60145560138054740100000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff8216179091556012546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af1158015611552573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092791906128d4565b6000546001600160a01b031633146115d05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b63041cdb4081116116495760405162461bcd60e51b815260206004820152602c60248201527f4d617820547820416d6f756e742063616e6e6f74206265206c6573732074686160448201527f6e203639204d696c6c696f6e000000000000000000000000000000000000000060648201526084016105e6565b61165781633b9aca0061289a565b60145550565b6000546001600160a01b031633146116b75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e6565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6001600160a01b0383166117535760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105e6565b6001600160a01b0382166117cf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016105e6565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526006602052604090205460ff1615801561187257506001600160a01b03821660009081526006602052604090205460ff16155b61187b57600080fd5b6001600160a01b0383166118f75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016105e6565b6001600160a01b0382166119735760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016105e6565b600081116119e95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f000000000000000000000000000000000000000000000060648201526084016105e6565b60135474010000000000000000000000000000000000000000900460ff1615611a7d576000546001600160a01b0384811691161480611a3557506000546001600160a01b038381169116145b15611a49576000600d819055601055611a7d565b6013546001600160a01b0384811691161415611a7057600b54600d55600e54601055611a7d565b600c54600d55600f546010555b6000546001600160a01b03848116911614801590611aa957506000546001600160a01b03838116911614155b15611d85576013546001600160a01b038481169116148015611ad957506012546001600160a01b03838116911614155b8015611afe57506001600160a01b03821660009081526004602052604090205460ff16155b8015611b27575060135477010000000000000000000000000000000000000000000000900460ff165b15611c4757601454611b3d90633b9aca006128f1565b811115611b8c5760405162461bcd60e51b815260206004820152601f60248201527f4d6178205472616e73616374696f6e20416d6f756e742045786365656465640060448201526064016105e6565b601554611b9d90633b9aca006128f1565b611ba683610d09565b611bb090836128f1565b1115611bfe5760405162461bcd60e51b815260206004820152601a60248201527f4d61782057616c6c657420416d6f756e7420457863656564656400000000000060448201526064016105e6565b6001600160a01b0382166000908152600560205260409020544211611c2257600080fd5b611c2d42601e6128f1565b6001600160a01b0383166000908152600560205260409020555b601354600160a81b900460ff16158015611c6f57506013546001600160a01b03848116911614155b8015611c975750601354760100000000000000000000000000000000000000000000900460ff165b15611d85576000611ca730610d09565b905042600a541080611cba575060165481115b15611d835760006014600c54600b5484611cd4919061289a565b611cde919061289a565b611ce891906127e7565b9050611cf381611e7b565b6011546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611d2c573d6000803e3d6000fd5b506000611d398284612909565b9050611d49610fb86002836127e7565b611d5c611d576002836127e7565b61200e565b611d67604542612920565b611d7342610e106128f1565b611d7d91906128f1565b600a5550505b505b611d90838383612135565b505050565b60008184841115611db95760405162461bcd60e51b81526004016105e6919061250a565b506000611dc68486612909565b95945050505050565b6000806000611df56b033b2e3c9fd0803ce8000000600754611e3990919063ffffffff16565b6007541015611e155750506007546b033b2e3c9fd0803ce8000000611e28565b50506007546b033b2e3c9fd0803ce80000005b611e328282611e39565b9250505090565b6000610dcb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061233c565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611ec357611ec3612788565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611f1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f40919061279e565b81600181518110611f5357611f53612788565b6001600160a01b039283166020918202929092010152601254611f7991309116846116d8565b6012546040517f791ac9470000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063791ac94790611fcb9085906000908690309042906004016127fb565b600060405180830381600087803b158015611fe557600080fd5b505af1158015611ff9573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b6013805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061205657612056612788565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156120af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d3919061279e565b816001815181106120e6576120e6612788565b6001600160a01b03928316602091820292909201015260125461210c91309116846116d8565b6012546001600160a01b031663f305d7194730856000806107926000546001600160a01b031690565b6001600160a01b03831660009081526006602052604090205460ff168061217457506001600160a01b03821660009081526006602052604090205460ff165b156121e7576013547801000000000000000000000000000000000000000000000000900460ff166121e75760405162461bcd60e51b815260206004820152600f60248201527f626f74204e6f7420616c6c6f776564000000000000000000000000000000000060448201526064016105e6565b60006121f1611dcf565b90506000806000806000806122058861236a565b95509550955095509550955085600260008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546122469190612909565b90915550506001600160a01b038916600090815260026020526040812080548792906122739084906128f1565b9091555060009050612285828961242d565b306000908152600260205260408120805492935083929091906122a99084906128f1565b9250508190555084600760008282546122c29190612909565b9250508190555082600860008282546122db91906128f1565b92505081905550896001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161232791815260200190565b60405180910390a35050505050505050505050565b6000818361235d5760405162461bcd60e51b81526004016105e6919061250a565b506000611dc684866127e7565b6000806000806000806000612395606461238f600d548b61242d90919063ffffffff16565b90611e39565b905060006123b3606461238f6010548c61242d90919063ffffffff16565b905060006123cb826123c58c866124c8565b906124c8565b905060006123d7611dcf565b905060006123e58c8361242d565b905060006123f3868461242d565b90506000612401868561242d565b90506000612413826123c586866124c8565b939f939e50919c50939a5094985092965091945050505050565b60008261243c5750600061088d565b6000612448838561289a565b90508261245585836127e7565b14610dcb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f770000000000000000000000000000000000000000000000000000000000000060648201526084016105e6565b6000610dcb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d95565b600060208083528351808285015260005b818110156125375785810183015185820160400152820161251b565b81811115612549576000604083870101525b50601f01601f1916929092016040019392505050565b60006020828403121561257157600080fd5b5035919050565b6001600160a01b0381168114610fbd57600080fd5b803561259881612578565b919050565b600080604083850312156125b057600080fd5b82356125bb81612578565b946020939093013593505050565b6000806000606084860312156125de57600080fd5b83356125e981612578565b925060208401356125f981612578565b929592945050506040919091013590565b60006020828403121561261c57600080fd5b8135610dcb81612578565b8015158114610fbd57600080fd5b60006020828403121561264757600080fd5b8135610dcb81612627565b6000806040838503121561266557600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561269d57600080fd5b823567ffffffffffffffff808211156126b557600080fd5b818501915085601f8301126126c957600080fd5b8135818111156126db576126db612674565b8060051b604051601f19603f8301168101818110858211171561270057612700612674565b60405291825284820192508381018501918883111561271e57600080fd5b938501935b82851015612743576127348561258d565b84529385019392850192612723565b98975050505050505050565b6000806040838503121561276257600080fd5b823561276d81612578565b9150602083013561277d81612578565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156127b057600080fd5b8151610dcb81612578565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000826127f6576127f66127bb565b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561284b5784516001600160a01b031683529383019391830191600101612826565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561288157600080fd5b8351925060208401519150604084015190509250925092565b60008160001904831182151516156128b4576128b46127d1565b500290565b60006000198214156128cd576128cd6127d1565b5060010190565b6000602082840312156128e657600080fd5b8151610dcb81612627565b60008219821115612904576129046127d1565b500190565b60008282101561291b5761291b6127d1565b500390565b60008261292f5761292f6127bb565b50069056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122000e9e81b7eaae1d0333db15296f9f4f24c6e325ee0346497e142fd411fb0a7f464736f6c634300080b0033
Deployed Bytecode Sourcemap
10129:15246:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16529:756;;;;;;;;;;;;;:::i;:::-;;12224:69;;;;;;;;;;-1:-1:-1;12285:5:0;;;;;;;;;;;;;;;;;12224:69;;;;;;;:::i;:::-;;;;;;;;25258:114;;;;;;;;;;-1:-1:-1;25258:114:0;;;;;:::i;:::-;;:::i;13185:155::-;;;;;;;;;;-1:-1:-1;13185:155:0;;;;;:::i;:::-;;:::i;:::-;;;1643:14:1;;1636:22;1618:41;;1606:2;1591:18;13185:155:0;1478:187:1;12453:81:0;;;;;;;;;;-1:-1:-1;10579:12:0;12453:81;;;1816:25:1;;;1804:2;1789:18;12453:81:0;1670:177:1;22084:108:0;;;;;;;;;;-1:-1:-1;22084:108:0;;;;;:::i;:::-;;:::i;13346:310::-;;;;;;;;;;-1:-1:-1;13346:310:0;;;;;:::i;:::-;;:::i;25172:84::-;;;;;;;;;;-1:-1:-1;25172:84:0;;;;;:::i;:::-;;:::i;12378:69::-;;;;;;;;;;-1:-1:-1;12378:69:0;;11181:1;2707:36:1;;2695:2;2680:18;12378:69:0;2565:184:1;21668:116:0;;;;;;;;;;-1:-1:-1;21668:116:0;;;;;:::i;:::-;;:::i;13662:101::-;;;;;;;;;;-1:-1:-1;13662:101:0;;;;;:::i;:::-;;:::i;21182:205::-;;;;;;;;;;-1:-1:-1;21182:205:0;;;;;:::i;:::-;;:::i;20853:116::-;;;;;;;;;;-1:-1:-1;20853:116:0;;;;;:::i;:::-;;:::i;21523:137::-;;;;;;;;;;-1:-1:-1;21523:137:0;;;;;:::i;:::-;;:::i;12536:325::-;;;;;;;;;;-1:-1:-1;12536:325:0;;;;;:::i;:::-;;:::i;2584:148::-;;;;;;;;;;;;;:::i;20775:74::-;;;;;;;;;;;;;:::i;21905:171::-;;;;;;;;;;-1:-1:-1;21905:171:0;;;;;:::i;:::-;;:::i;2370:79::-;;;;;;;;;;-1:-1:-1;2408:7:0;2435:6;2370:79;;-1:-1:-1;;;;;2435:6:0;;;3522:74:1;;3510:2;3495:18;2370:79:0;3376:226:1;12299:73:0;;;;;;;;;;-1:-1:-1;12362:7:0;;;;;;;;;;;;;;;;;12299:73;;12867:169;;;;;;;;;;-1:-1:-1;12867:169:0;;;;;:::i;:::-;;:::i;25004:160::-;;;;;;;;;;-1:-1:-1;25004:160:0;;;;;:::i;:::-;;:::i;18389:1031::-;;;;;;;;;;;;;:::i;13042:137::-;;;;;;;;;;-1:-1:-1;13042:137:0;;;;;:::i;:::-;-1:-1:-1;;;;;13150:18:0;;;13123:7;13150:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;13042:137;20971:209;;;;;;;;;;-1:-1:-1;20971:209:0;;;;;:::i;:::-;;:::i;21786:117::-;;;;;;;;;;-1:-1:-1;21786:117:0;;;;;:::i;:::-;;:::i;16529:756::-;11674:6;:13;;-1:-1:-1;;;;11674:13:0;-1:-1:-1;;;11674:13:0;;;2507:12:::1;172:10:::0;;92:98;2507:12:::1;2497:6;::::0;-1:-1:-1;;;;;2497:6:0;;::::1;:22:::0;::::1;;2489:67;;;::::0;-1:-1:-1;;;2489:67:0;;5576:2:1;2489:67:0::1;::::0;::::1;5558:21:1::0;;;5595:18;;;5588:30;5654:34;5634:18;;;5627:62;5706:18;;2489:67:0::1;;;;;;;;;16601:18:::2;16622:24;16640:4;16622:9;:24::i;:::-;16683:16;::::0;;16697:1:::2;16683:16:::0;;;;;::::2;::::0;;16601:45;;-1:-1:-1;16659:21:0::2;::::0;16683:16;;::::2;::::0;::::2;::::0;;::::2;::::0;::::2;;::::0;-1:-1:-1;16683:16:0::2;16659:40;;16728:4;16710;16715:1;16710:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16710:23:0;;::::2;:7;::::0;;::::2;::::0;;;;;;:23;;;;16754:15:::2;::::0;:22:::2;::::0;;-1:-1:-1;;;16754:22:0;;;;:15;;;::::2;::::0;:20:::2;::::0;:22:::2;::::0;;::::2;::::0;16710:7;;16754:22;;;;;:15;:22:::2;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16744:4;16749:1;16744:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16744:32:0;;::::2;:7;::::0;;::::2;::::0;;;;;:32;16819:15:::2;::::0;16787:61:::2;::::0;16804:4:::2;::::0;16819:15:::2;16837:10:::0;16787:8:::2;:61::i;:::-;16861:15;::::0;-1:-1:-1;;;;;16861:15:0::2;:66;16942:14;16955:1;16942:10:::0;:14:::2;:::i;:::-;16971:1;16987:4;17014;17034:15;16861:203;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;;17077:15:0::2;::::0;-1:-1:-1;;;;;17077:15:0::2;::::0;-1:-1:-1;17077:31:0::2;::::0;-1:-1:-1;17116:21:0::2;17162:4;17182:14;17195:1;17182:10:::0;:14:::2;:::i;:::-;17211:1;17227::::0;17243:7:::2;2408::::0;2435:6;-1:-1:-1;;;;;2435:6:0;;2370:79;17243:7:::2;17077:204;::::0;::::2;::::0;;;;;;;-1:-1:-1;;;;;8096:15:1;;;17077:204:0::2;::::0;::::2;8078:34:1::0;8128:18;;;8121:34;;;;8171:18;;;8164:34;;;;8214:18;;;8207:34;8278:15;;;8257:19;;;8250:44;17265:15:0::2;8310:19:1::0;;;8303:35;7989:19;;17077:204:0::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11710:6:0;:14;;-1:-1:-1;;;;11710:14:0;;;-1:-1:-1;;;16529:756:0:o;25258:114::-;25326:12;;-1:-1:-1;;;;;25326:12:0;172:10;-1:-1:-1;;;;;25310:28:0;;25302:37;;;;;;25356:11;:4;25363;25356:11;:::i;:::-;25346:7;:21;-1:-1:-1;25258:114:0:o;13185:155::-;13260:4;13277:39;172:10;13300:7;13309:6;13277:8;:39::i;:::-;-1:-1:-1;13334:4:0;13185:155;;;;;:::o;22084:108::-;2497:6;;-1:-1:-1;;;;;2497:6:0;172:10;2497:22;2489:67;;;;-1:-1:-1;;;2489:67:0;;5576:2:1;2489:67:0;;;5558:21:1;;;5595:18;;;5588:30;5654:34;5634:18;;;5627:62;5706:18;;2489:67:0;5374:356:1;2489:67:0;22156:12:::1;::::0;:27:::1;::::0;-1:-1:-1;;;;;22156:12:0;;::::1;::::0;:27;::::1;;;::::0;22178:4;;22156:12:::1;:27:::0;:12;:27;22178:4;22156:12;:27;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;22084:108:::0;:::o;13346:310::-;13446:4;13463:36;13473:6;13481:9;13492:6;13463:9;:36::i;:::-;13510:121;13519:6;172:10;13541:89;13579:6;13541:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13541:19:0;;;;;;:11;:19;;;;;;;;172:10;13541:33;;;;;;;;;;:37;:89::i;:::-;13510:8;:121::i;:::-;-1:-1:-1;13649:4:0;13346:310;;;;;:::o;25172:84::-;2497:6;;-1:-1:-1;;;;;2497:6:0;172:10;2497:22;2489:67;;;;-1:-1:-1;;;2489:67:0;;5576:2:1;2489:67:0;;;5558:21:1;;;5595:18;;;5588:30;5654:34;5634:18;;;5627:62;5706:18;;2489:67:0;5374:356:1;2489:67:0;-1:-1:-1;;;;;25232:12:0::1;25247:5;25232:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;25232:20:0::1;::::0;;25172:84::o;21668:116::-;2497:6;;-1:-1:-1;;;;;2497:6:0;172:10;2497:22;2489:67;;;;-1:-1:-1;;;2489:67:0;;5576:2:1;2489:67:0;;;5558:21:1;;;5595:18;;;5588:30;5654:34;5634:18;;;5627:62;5706:18;;2489:67:0;5374:356:1;2489:67:0;-1:-1:-1;;;;;21741:32:0::1;;::::0;;;:18:::1;:32;::::0;;;;:39;;-1:-1:-1;;21741:39:0::1;21776:4;21741:39;::::0;;21668:116::o;13662:101::-;2497:6;;-1:-1:-1;;;;;2497:6:0;172:10;2497:22;2489:67;;;;-1:-1:-1;;;2489:67:0;;5576:2:1;2489:67:0;;;5558:21:1;;;5595:18;;;5588:30;5654:34;5634:18;;;5627:62;5706:18;;2489:67:0;5374:356:1;2489:67:0;13736:15:::1;:23:::0;;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;13662:101::o;21182:205::-;2497:6;;-1:-1:-1;;;;;2497:6:0;172:10;2497:22;2489:67;;;;-1:-1:-1;;;2489:67:0;;5576:2:1;2489:67:0;;;5558:21:1;;;5595:18;;;5588:30;5654:34;5634:18;;;5627:62;5706:18;;2489:67:0;5374:356:1;2489:67:0;21279:8:::1;21265:11;:22;21257:79;;;::::0;-1:-1:-1;;;21257:79:0;;9095:2:1;21257:79:0::1;::::0;::::1;9077:21:1::0;9134:2;9114:18;;;9107:30;9173:34;9153:18;;;9146:62;9244:14;9224:18;;;9217:42;9276:19;;21257:79:0::1;8893:408:1::0;21257:79:0::1;21360:19;:11:::0;21374:5:::1;21360:19;:::i;:::-;21347:10;:32:::0;-1:-1:-1;21182:205:0:o;20853:116::-;2497:6;;-1:-1:-1;;;;;2497:6:0;172:10;2497:22;2489:67;;;;-1:-1:-1;;;2489:67:0;;5576:2:1;2489:67:0;;;5558:21:1;;;5595:18;;;5588:30;5654:34;5634:18;;;5627:62;5706:18;;2489:67:0;5374:356:1;2489:67:0;20928:12:::1;:37:::0;;-1:-1:-1;;20928:37:0::1;-1:-1:-1::0;;;;;20928:37:0;;;::::1;::::0;;;::::1;::::0;;20853:116::o;21523:137::-;2497:6;;-1:-1:-1;;;;;2497:6:0;172:10;2497:22;2489:67;;;;-1:-1:-1;;;2489:67:0;;5576:2:1;2489:67:0;;;5558:21:1;;;5595:18;;;5588:30;5654:34;5634:18;;;5627:62;5706:18;;2489:67:0;5374:356:1;2489:67:0;21604:9:::1;:18:::0;;;;21633:8:::1;:15:::0;21523:137::o;12536:325::-;12707:7;;-1:-1:-1;;;;;12687:16:0;;12602:7;12687:16;;;:7;:16;;;;;;12602:7;;-1:-1:-1;12687:27:0;12679:82;;;;-1:-1:-1;;;12679:82:0;;9508:2:1;12679:82:0;;;9490:21:1;9547:2;9527:18;;;9520:30;9586:34;9566:18;;;9559:62;9657:12;9637:18;;;9630:40;9687:19;;12679:82:0;9306:406:1;12679:82:0;12772:19;12795:10;:8;:10::i;:::-;-1:-1:-1;;;;;12823:16:0;;;;;;:7;:16;;;;;;12772:33;;-1:-1:-1;12823:33:0;;12772;12823:20;:33::i;:::-;12816:40;12536:325;-1:-1:-1;;;12536:325:0:o;2584:148::-;2497:6;;-1:-1:-1;;;;;2497:6:0;172:10;2497:22;2489:67;;;;-1:-1:-1;;;2489:67:0;;5576:2:1;2489:67:0;;;5558:21:1;;;5595:18;;;5588:30;5654:34;5634:18;;;5627:62;5706:18;;2489:67:0;5374:356:1;2489:67:0;2691:1:::1;2675:6:::0;;2654:40:::1;::::0;-1:-1:-1;;;;;2675:6:0;;::::1;::::0;2654:40:::1;::::0;2691:1;;2654:40:::1;2722:1;2705:19:::0;;-1:-1:-1;;2705:19:0::1;::::0;;2584:148::o;20775:74::-;2497:6;;-1:-1:-1;;;;;2497:6:0;172:10;2497:22;2489:67;;;;-1:-1:-1;;;2489:67:0;;5576:2:1;2489:67:0;;;5558:21:1;;;5595:18;;;5588:30;5654:34;5634:18;;;5627:62;5706:18;;2489:67:0;5374:356:1;2489:67:0;20834:11:::1;::::0;;20819:26;;::::1;20834:11:::0;;;;::::1;;;20833:12;20819:26:::0;;::::1;;::::0;;20775:74::o;21905:171::-;2497:6;;-1:-1:-1;;;;;2497:6:0;172:10;2497:22;2489:67;;;;-1:-1:-1;;;2489:67:0;;5576:2:1;2489:67:0;;;5558:21:1;;;5595:18;;;5588:30;5654:34;5634:18;;;5627:62;5706:18;;2489:67:0;5374:356:1;2489:67:0;21999:24:::1;22017:4;21999:9;:24::i;:::-;21981:15;:7:::0;21991:5:::1;21981:15;:::i;:::-;:42;21973:51;;;::::0;::::1;;22035:33;22052:15;:7:::0;22062:5:::1;22052:15;:::i;:::-;22035:16;:33::i;:::-;21905:171:::0;:::o;12867:169::-;12945:4;12970:42;172:10;12994:9;13005:6;12970:9;:42::i;25004:160::-;2497:6;;-1:-1:-1;;;;;2497:6:0;172:10;2497:22;2489:67;;;;-1:-1:-1;;;2489:67:0;;5576:2:1;2489:67:0;;;5558:21:1;;;5595:18;;;5588:30;5654:34;5634:18;;;5627:62;5706:18;;2489:67:0;5374:356:1;2489:67:0;25078:6:::1;25073:88;25094:5;:12;25090:1;:16;25073:88;;;25145:4;25128;:14;25133:5;25139:1;25133:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;25128:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;25128:14:0;:21;;-1:-1:-1;;25128:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;25108:3;::::1;::::0;::::1;:::i;:::-;;;;25073:88;;18389:1031:::0;2497:6;;-1:-1:-1;;;;;2497:6:0;172:10;2497:22;2489:67;;;;-1:-1:-1;;;2489:67:0;;5576:2:1;2489:67:0;;;5558:21:1;;;5595:18;;;5588:30;5654:34;5634:18;;;5627:62;5706:18;;2489:67:0;5374:356:1;2489:67:0;18453:11:::1;::::0;;;::::1;;;18452:12;18444:47;;;::::0;-1:-1:-1;;;18444:47:0;;10119:2:1;18444:47:0::1;::::0;::::1;10101:21:1::0;10158:2;10138:18;;;10131:30;10197:25;10177:18;;;10170:53;10240:18;;18444:47:0::1;9917:347:1::0;18444:47:0::1;18623:15;:34:::0;;-1:-1:-1;;18623:34:0::1;18569:42;18623:34:::0;;::::1;::::0;;;18668:58:::1;18685:4;18569:42:::0;10579:12:::1;18668:8;:58::i;:::-;18773:16;-1:-1:-1::0;;;;;18773:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18755:56:0::1;;18820:4;18827:15;;;;;;;;;-1:-1:-1::0;;;;;18827:15:0::1;-1:-1:-1::0;;;;;18827:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18755:95;::::0;;::::1;::::0;;;;;;-1:-1:-1;;;;;10522:15:1;;;18755:95:0::1;::::0;::::1;10504:34:1::0;10574:15;;10554:18;;;10547:43;10416:18;;18755:95:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18739:13;:111:::0;;-1:-1:-1;;18739:111:0::1;-1:-1:-1::0;;;;;18739:111:0;;;::::1;::::0;;::::1;::::0;;18861:56:::1;::::0;18878:4:::1;::::0;10579:12:::1;18861:8;:56::i;:::-;18930:15;::::0;-1:-1:-1;;;;;18930:15:0::1;:31;18969:21;19015:4;19035:24;19015:4:::0;19035:9:::1;:24::i;:::-;19074:1;19090::::0;19106:7:::1;2408::::0;2435:6;-1:-1:-1;;;;;2435:6:0;;2370:79;19106:7:::1;18930:214;::::0;::::1;::::0;;;;;;;-1:-1:-1;;;;;8096:15:1;;;18930:214:0::1;::::0;::::1;8078:34:1::0;8128:18;;;8121:34;;;;8171:18;;;8164:34;;;;8214:18;;;8207:34;8278:15;;;8257:19;;;8250:44;19128:15:0::1;8310:19:1::0;;;8303:35;7989:19;;18930:214:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;19188:15:0::1;:22:::0;;;::::1;::::0;::::1;::::0;;-1:-1:-1;19235:13:0::1;19245:3;10579:12;19235:13;:::i;:::-;19221:10;:27:::0;19274:13:::1;19284:3;10579:12;19274:13;:::i;:::-;19259:12;:28:::0;19314:11:::1;:18:::0;;;;;::::1;;::::0;;;19383:15:::1;::::0;19345:71:::1;::::0;;;;-1:-1:-1;;;;;19383:15:0;;::::1;19345:71;::::0;::::1;10775:74:1::0;-1:-1:-1;;10865:18:1;;;10858:34;19352:13:0;;;19345:29:::1;::::0;10748:18:1;;19345:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;20971:209::-:0;2497:6;;-1:-1:-1;;;;;2497:6:0;172:10;2497:22;2489:67;;;;-1:-1:-1;;;2489:67:0;;5576:2:1;2489:67:0;;;5558:21:1;;;5595:18;;;5588:30;5654:34;5634:18;;;5627:62;5706:18;;2489:67:0;5374:356:1;2489:67:0;21070:8:::1;21056:11;:22;21048:79;;;::::0;-1:-1:-1;;;21048:79:0;;11355:2:1;21048:79:0::1;::::0;::::1;11337:21:1::0;11394:2;11374:18;;;11367:30;11433:34;11413:18;;;11406:62;11504:14;11484:18;;;11477:42;11536:19;;21048:79:0::1;11153:408:1::0;21048:79:0::1;21153:19;:11:::0;21167:5:::1;21153:19;:::i;:::-;21138:12;:34:::0;-1:-1:-1;20971:209:0:o;21786:117::-;2497:6;;-1:-1:-1;;;;;2497:6:0;172:10;2497:22;2489:67;;;;-1:-1:-1;;;2489:67:0;;5576:2:1;2489:67:0;;;5558:21:1;;;5595:18;;;5588:30;5654:34;5634:18;;;5627:62;5706:18;;2489:67:0;5374:356:1;2489:67:0;-1:-1:-1;;;;;21859:32:0::1;21894:5;21859:32:::0;;;:18:::1;:32;::::0;;;;:40;;-1:-1:-1;;21859:40:0::1;::::0;;21786:117::o;14032:329::-;-1:-1:-1;;;;;14125:19:0;;14117:68;;;;-1:-1:-1;;;14117:68:0;;11768:2:1;14117:68:0;;;11750:21:1;11807:2;11787:18;;;11780:30;11846:34;11826:18;;;11819:62;11917:6;11897:18;;;11890:34;11941:19;;14117:68:0;11566:400:1;14117:68:0;-1:-1:-1;;;;;14204:21:0;;14196:68;;;;-1:-1:-1;;;14196:68:0;;12173:2:1;14196:68:0;;;12155:21:1;12212:2;12192:18;;;12185:30;12251:34;12231:18;;;12224:62;12322:4;12302:18;;;12295:32;12344:19;;14196:68:0;11971:398:1;14196:68:0;-1:-1:-1;;;;;14275:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14327:32;;1816:25:1;;;14327:32:0;;1789:18:1;14327:32:0;;;;;;;14032:329;;;:::o;14365:2162::-;-1:-1:-1;;;;;14454:10:0;;;;;;:4;:10;;;;;;;;14453:11;:24;;;;-1:-1:-1;;;;;;14469:8:0;;;;;;:4;:8;;;;;;;;14468:9;14453:24;14445:33;;;;;;-1:-1:-1;;;;;14497:18:0;;14489:68;;;;-1:-1:-1;;;14489:68:0;;12576:2:1;14489:68:0;;;12558:21:1;12615:2;12595:18;;;12588:30;12654:34;12634:18;;;12627:62;12725:7;12705:18;;;12698:35;12750:19;;14489:68:0;12374:401:1;14489:68:0;-1:-1:-1;;;;;14576:16:0;;14568:64;;;;-1:-1:-1;;;14568:64:0;;12982:2:1;14568:64:0;;;12964:21:1;13021:2;13001:18;;;12994:30;13060:34;13040:18;;;13033:62;13131:5;13111:18;;;13104:33;13154:19;;14568:64:0;12780:399:1;14568:64:0;14660:1;14651:6;:10;14643:64;;;;-1:-1:-1;;;14643:64:0;;13386:2:1;14643:64:0;;;13368:21:1;13425:2;13405:18;;;13398:30;13464:34;13444:18;;;13437:62;13535:11;13515:18;;;13508:39;13564:19;;14643:64:0;13184:405:1;14643:64:0;14744:11;;;;;;;14739:392;;;2408:7;2435:6;-1:-1:-1;;;;;14778:15:0;;;2435:6;;14778:15;;:32;;-1:-1:-1;2408:7:0;2435:6;-1:-1:-1;;;;;14797:13:0;;;2435:6;;14797:13;14778:32;14773:347;;;14842:1;14831:8;:12;;;14862:7;:11;14773:347;;;14907:13;;-1:-1:-1;;;;;14899:21:0;;;14907:13;;14899:21;14895:225;;;14952:9;;14941:8;:20;14990:8;;14980:7;:18;14895:225;;;15050:13;;15039:8;:24;15092:12;;15082:7;:22;14895:225;2408:7;2435:6;-1:-1:-1;;;;;15145:15:0;;;2435:6;;15145:15;;;;:32;;-1:-1:-1;2408:7:0;2435:6;-1:-1:-1;;;;;15164:13:0;;;2435:6;;15164:13;;15145:32;15141:1333;;;15206:13;;-1:-1:-1;;;;;15198:21:0;;;15206:13;;15198:21;:55;;;;-1:-1:-1;15237:15:0;;-1:-1:-1;;;;;15223:30:0;;;15237:15;;15223:30;;15198:55;:83;;;;-1:-1:-1;;;;;;15259:22:0;;;;;;:18;:22;;;;;;;;15257:24;15198:83;:102;;;;-1:-1:-1;15285:15:0;;;;;;;15198:102;15194:465;;;15368:12;;:17;;15382:3;15368:17;:::i;:::-;15358:6;:27;;15350:72;;;;-1:-1:-1;;;15350:72:0;;13929:2:1;15350:72:0;;;13911:21:1;13968:2;13948:18;;;13941:30;14007:33;13987:18;;;13980:61;14058:18;;15350:72:0;13727:355:1;15350:72:0;15475:10;;:15;;15487:3;15475:15;:::i;:::-;15458:13;15468:2;15458:9;:13::i;:::-;15449:22;;:6;:22;:::i;:::-;:41;;15441:80;;;;-1:-1:-1;;;15441:80:0;;14289:2:1;15441:80:0;;;14271:21:1;14328:2;14308:18;;;14301:30;14367:28;14347:18;;;14340:56;14413:18;;15441:80:0;14087:350:1;15441:80:0;-1:-1:-1;;;;;15548:12:0;;;;;;:8;:12;;;;;;15563:15;-1:-1:-1;15540:39:0;;;;;;15613:30;:15;15632:10;15613:30;:::i;:::-;-1:-1:-1;;;;;15598:12:0;;;;;;:8;:12;;;;;:45;15194:465;15678:6;;-1:-1:-1;;;15678:6:0;;;;15677:7;:32;;;;-1:-1:-1;15696:13:0;;-1:-1:-1;;;;;15688:21:0;;;15696:13;;15688:21;;15677:32;:47;;;;-1:-1:-1;15713:11:0;;;;;;;15677:47;15673:790;;;15745:28;15776:24;15794:4;15776:9;:24::i;:::-;15745:55;;15836:15;15824:9;;:27;:61;;;;15878:7;;15855:20;:30;15824:61;15819:629;;;15913:17;15984:2;15968:13;;15956:9;;15933:20;:32;;;;:::i;:::-;:48;;;;:::i;:::-;:53;;;;:::i;:::-;15913:73;;16051:27;16068:9;16051:16;:27::i;:::-;16103:12;;:44;;-1:-1:-1;;;;;16103:12:0;;;;16125:21;16103:44;;;;;:12;:44;:12;:44;16125:21;16103:12;:44;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16175:17:0;16195:32;16218:9;16195:20;:32;:::i;:::-;16175:52;-1:-1:-1;16252:31:0;16269:13;16281:1;16175:52;16269:13;:::i;16252:31::-;16306:23;16315:13;16327:1;16315:9;:13;:::i;:::-;16306:7;:23::i;:::-;16407:20;16425:2;16407:15;:20;:::i;:::-;16382:22;:15;16400:4;16382:22;:::i;:::-;:45;;;;:::i;:::-;16370:9;:57;-1:-1:-1;;15819:629:0;15726:737;15673:790;16485:30;16500:4;16505:2;16508:6;16485:14;:30::i;:::-;14365:2162;;;:::o;1227:190::-;1313:7;1349:12;1341:6;;;;1333:29;;;;-1:-1:-1;;;1333:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1373:9:0;1385:5;1389:1;1385;:5;:::i;:::-;1373:17;1227:190;-1:-1:-1;;;;;1227:190:0:o;24225:505::-;24266:7;24286:15;24312;24501:20;10579:12;24501:7;;:11;;:20;;;;:::i;:::-;24491:7;;:30;24487:194;;;-1:-1:-1;;24548:7:0;;10579:12;24487:194;;;-1:-1:-1;;24630:7:0;;10579:12;24487:194;24702:20;:7;24714;24702:11;:20::i;:::-;24695:27;;;;24225:505;:::o;1679:132::-;1737:7;1764:39;1768:1;1771;1764:39;;;;;;;;;;;;;;;;;:3;:39::i;17749:533::-;11674:6;:13;;-1:-1:-1;;;;11674:13:0;-1:-1:-1;;;11674:13:0;;;17857:16:::1;::::0;;17871:1:::1;17857:16:::0;;;;;::::1;::::0;;-1:-1:-1;;17857:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;17857:16:0::1;17833:40;;17906:4;17888;17893:1;17888:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17888:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;17936:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;17936:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;17888:7;;17936:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17926:4;17931:1;17926:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17926:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;18005:15:::1;::::0;17973:62:::1;::::0;17990:4:::1;::::0;18005:15:::1;18023:11:::0;17973:8:::1;:62::i;:::-;18050:15;::::0;:224:::1;::::0;;;;-1:-1:-1;;;;;18050:15:0;;::::1;::::0;:66:::1;::::0;:224:::1;::::0;18135:11;;18050:15:::1;::::0;18185:4;;18216::::1;::::0;18240:15:::1;::::0;18050:224:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;11710:6:0;:14;;-1:-1:-1;;;;11710:14:0;;;-1:-1:-1;;;;17749:533:0:o;17291:454::-;11674:6;:13;;-1:-1:-1;;;;11674:13:0;-1:-1:-1;;;11674:13:0;;;17379:16:::1;::::0;;17393:1:::1;17379:16:::0;;;;;::::1;::::0;;-1:-1:-1;;17379:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;17379:16:0::1;17355:40;;17420:4;17402;17407:1;17402:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17402:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;17442:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;17442:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;17402:7;;17442:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17432:4;17437:1;17432:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17432:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;17505:15:::1;::::0;17473:58:::1;::::0;17490:4:::1;::::0;17505:15:::1;17523:7:::0;17473:8:::1;:58::i;:::-;17540:15;::::0;-1:-1:-1;;;;;17540:15:0::1;:31;17579:21;17625:4;17645:7:::0;17540:15:::1;::::0;17699:7:::1;2408::::0;2435:6;-1:-1:-1;;;;;2435:6:0;;2370:79;19422:995;-1:-1:-1;;;;;19518:12:0;;;;;;:4;:12;;;;;;;;;:31;;-1:-1:-1;;;;;;19534:15:0;;;;;;:4;:15;;;;;;;;19518:31;19515:94;;;19569:12;;;;;;;19561:40;;;;-1:-1:-1;;;19561:40:0;;14891:2:1;19561:40:0;;;14873:21:1;14930:2;14910:18;;;14903:30;14969:17;14949:18;;;14942:45;15004:18;;19561:40:0;14689:339:1;19561:40:0;19772:19;19795:10;:8;:10::i;:::-;19772:33;;19819:15;19836:23;19861:12;19875:23;19900:12;19914:13;19931:19;19942:7;19931:10;:19::i;:::-;19818:132;;;;;;;;;;;;19980:7;19961;:15;19969:6;-1:-1:-1;;;;;19961:15:0;-1:-1:-1;;;;;19961:15:0;;;;;;;;;;;;;:26;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;19998:18:0;;;;;;:7;:18;;;;;:37;;20020:15;;19998:18;:37;;20020:15;;19998:37;:::i;:::-;;;;-1:-1:-1;20172:13:0;;-1:-1:-1;20188:22:0;:5;20198:11;20188:9;:22::i;:::-;20237:4;20221:22;;;;:7;:22;;;;;:31;;20172:38;;-1:-1:-1;20172:38:0;;20221:22;;;:31;;20172:38;;20221:31;:::i;:::-;;;;;;;;20314:4;20303:7;;:15;;;;;;;:::i;:::-;;;;;;;;20343:4;20329:10;;:18;;;;;;;:::i;:::-;;;;;;;;20382:9;-1:-1:-1;;;;;20365:44:0;20374:6;-1:-1:-1;;;;;20365:44:0;;20393:15;20365:44;;;;1816:25:1;;1804:2;1789:18;;1670:177;20365:44:0;;;;;;;;19506:911;;;;;;;;19422:995;;;:::o;1819:189::-;1905:7;1940:12;1933:5;1925:28;;;;-1:-1:-1;;;1925:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1964:9:0;1976:5;1980:1;1976;:5;:::i;22197:1252::-;22256:7;22265;22274;22283;22292;22301;22559:12;22574:30;22600:3;22574:21;22586:8;;22574:7;:11;;:21;;;;:::i;:::-;:25;;:30::i;:::-;22559:45;;22615:13;22631:29;22656:3;22631:20;22643:7;;22631;:11;;:20;;;;:::i;:29::-;22615:45;-1:-1:-1;22671:23:0;22697:28;22615:45;22697:17;:7;22709:4;22697:11;:17::i;:::-;:21;;:28::i;:::-;22671:54;;22792:19;22815:10;:8;:10::i;:::-;22792:33;-1:-1:-1;23104:15:0;23122:24;:7;22792:33;23122:11;:24::i;:::-;23104:42;-1:-1:-1;23157:12:0;23172:21;:4;23181:11;23172:8;:21::i;:::-;23157:36;-1:-1:-1;23204:13:0;23220:22;:5;23230:11;23220:9;:22::i;:::-;23204:38;-1:-1:-1;23253:23:0;23279:28;23204:38;23279:17;:7;23291:4;23279:11;:17::i;:28::-;23380:7;;;;-1:-1:-1;23406:4:0;;-1:-1:-1;23412:15:0;;-1:-1:-1;23429:4:0;;-1:-1:-1;23435:5:0;;-1:-1:-1;22197:1252:0;;-1:-1:-1;;;;;22197:1252:0:o;1425:246::-;1483:7;1507:6;1503:47;;-1:-1:-1;1537:1:0;1530:8;;1503:47;1560:9;1572:5;1576:1;1572;:5;:::i;:::-;1560:17;-1:-1:-1;1605:1:0;1596:5;1600:1;1560:17;1596:5;:::i;:::-;:10;1588:56;;;;-1:-1:-1;;;1588:56:0;;15235:2:1;1588:56:0;;;15217:21:1;15274:2;15254:18;;;15247:30;15313:34;15293:18;;;15286:62;15384:3;15364:18;;;15357:31;15405:19;;1588:56:0;15033:397:1;1083:136:0;1141:7;1168:43;1172:1;1175;1168:43;;;;;;;;;;;;;;;;;:3;:43::i;14:656: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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;586:2:1;574:15;-1:-1:-1;;570:88:1;555:104;;;;661:2;551:113;;14:656;-1:-1:-1;;;14:656:1:o;675:180::-;734:6;787:2;775:9;766:7;762:23;758:32;755:52;;;803:1;800;793:12;755:52;-1:-1:-1;826:23:1;;675:180;-1:-1:-1;675:180:1:o;860:154::-;-1:-1:-1;;;;;939:5:1;935:54;928:5;925:65;915:93;;1004:1;1001;994:12;1019:134;1087:20;;1116:31;1087:20;1116:31;:::i;:::-;1019:134;;;:::o;1158:315::-;1226:6;1234;1287:2;1275:9;1266:7;1262:23;1258:32;1255:52;;;1303:1;1300;1293:12;1255:52;1342:9;1329:23;1361:31;1386:5;1361:31;:::i;:::-;1411:5;1463:2;1448:18;;;;1435:32;;-1:-1:-1;;;1158:315:1:o;1852:456::-;1929:6;1937;1945;1998:2;1986:9;1977:7;1973:23;1969:32;1966:52;;;2014:1;2011;2004:12;1966:52;2053:9;2040:23;2072:31;2097:5;2072:31;:::i;:::-;2122:5;-1:-1:-1;2179:2:1;2164:18;;2151:32;2192:33;2151:32;2192:33;:::i;:::-;1852:456;;2244:7;;-1:-1:-1;;;2298:2:1;2283:18;;;;2270:32;;1852:456::o;2313:247::-;2372:6;2425:2;2413:9;2404:7;2400:23;2396:32;2393:52;;;2441:1;2438;2431:12;2393:52;2480:9;2467:23;2499:31;2524:5;2499:31;:::i;2754:118::-;2840:5;2833:13;2826:21;2819:5;2816:32;2806:60;;2862:1;2859;2852:12;2877:241;2933:6;2986:2;2974:9;2965:7;2961:23;2957:32;2954:52;;;3002:1;2999;2992:12;2954:52;3041:9;3028:23;3060:28;3082:5;3060:28;:::i;3123:248::-;3191:6;3199;3252:2;3240:9;3231:7;3227:23;3223:32;3220:52;;;3268:1;3265;3258:12;3220:52;-1:-1:-1;;3291:23:1;;;3361:2;3346:18;;;3333:32;;-1:-1:-1;3123:248:1:o;3607:184::-;-1:-1:-1;;;3656:1:1;3649:88;3756:4;3753:1;3746:15;3780:4;3777:1;3770:15;3796:1180;3880:6;3911:2;3954;3942:9;3933:7;3929:23;3925:32;3922:52;;;3970:1;3967;3960:12;3922:52;4010:9;3997:23;4039:18;4080:2;4072:6;4069:14;4066:34;;;4096:1;4093;4086:12;4066:34;4134:6;4123:9;4119:22;4109:32;;4179:7;4172:4;4168:2;4164:13;4160:27;4150:55;;4201:1;4198;4191:12;4150:55;4237:2;4224:16;4259:2;4255;4252:10;4249:36;;;4265:18;;:::i;:::-;4311:2;4308:1;4304:10;4343:2;4337:9;-1:-1:-1;;4397:2:1;4393;4389:11;4385:84;4377:6;4373:97;4520:6;4508:10;4505:22;4500:2;4488:10;4485:18;4482:46;4479:72;;;4531:18;;:::i;:::-;4567:2;4560:22;4617:18;;;4651:15;;;;-1:-1:-1;4693:11:1;;;4689:20;;;4721:19;;;4718:39;;;4753:1;4750;4743:12;4718:39;4777:11;;;;4797:148;4813:6;4808:3;4805:15;4797:148;;;4879:23;4898:3;4879:23;:::i;:::-;4867:36;;4830:12;;;;4923;;;;4797:148;;;4964:6;3796:1180;-1:-1:-1;;;;;;;;3796:1180:1:o;4981:388::-;5049:6;5057;5110:2;5098:9;5089:7;5085:23;5081:32;5078:52;;;5126:1;5123;5116:12;5078:52;5165:9;5152:23;5184:31;5209:5;5184:31;:::i;:::-;5234:5;-1:-1:-1;5291:2:1;5276:18;;5263:32;5304:33;5263:32;5304:33;:::i;:::-;5356:7;5346:17;;;4981:388;;;;;:::o;5735:184::-;-1:-1:-1;;;5784:1:1;5777:88;5884:4;5881:1;5874:15;5908:4;5905:1;5898:15;5924:251;5994:6;6047:2;6035:9;6026:7;6022:23;6018:32;6015:52;;;6063:1;6060;6053:12;6015:52;6095:9;6089:16;6114:31;6139:5;6114:31;:::i;6180:184::-;-1:-1:-1;;;6229:1:1;6222:88;6329:4;6326:1;6319:15;6353:4;6350:1;6343:15;6369:184;-1:-1:-1;;;6418:1:1;6411:88;6518:4;6515:1;6508:15;6542:4;6539:1;6532:15;6558:120;6598:1;6624;6614:35;;6629:18;;:::i;:::-;-1:-1:-1;6663:9:1;;6558:120::o;6683:1026::-;6945:4;6993:3;6982:9;6978:19;7024:6;7013:9;7006:25;7050:2;7088:6;7083:2;7072:9;7068:18;7061:34;7131:3;7126:2;7115:9;7111:18;7104:31;7155:6;7190;7184:13;7221:6;7213;7206:22;7259:3;7248:9;7244:19;7237:26;;7298:2;7290:6;7286:15;7272:29;;7319:1;7329:218;7343:6;7340:1;7337:13;7329:218;;;7408:13;;-1:-1:-1;;;;;7404:62:1;7392:75;;7522:15;;;;7487:12;;;;7365:1;7358:9;7329:218;;;-1:-1:-1;;;;;;;7603:55:1;;;;7598:2;7583:18;;7576:83;-1:-1:-1;;;7690:3:1;7675:19;7668:35;7564:3;6683:1026;-1:-1:-1;;;6683:1026:1:o;8349:306::-;8437:6;8445;8453;8506:2;8494:9;8485:7;8481:23;8477:32;8474:52;;;8522:1;8519;8512:12;8474:52;8551:9;8545:16;8535:26;;8601:2;8590:9;8586:18;8580:25;8570:35;;8645:2;8634:9;8630:18;8624:25;8614:35;;8349:306;;;;;:::o;8660:228::-;8700:7;8826:1;-1:-1:-1;;8754:74:1;8751:1;8748:81;8743:1;8736:9;8729:17;8725:105;8722:131;;;8833:18;;:::i;:::-;-1:-1:-1;8873:9:1;;8660:228::o;9717:195::-;9756:3;-1:-1:-1;;9780:5:1;9777:77;9774:103;;;9857:18;;:::i;:::-;-1:-1:-1;9904:1:1;9893:13;;9717:195::o;10903:245::-;10970:6;11023:2;11011:9;11002:7;10998:23;10994:32;10991:52;;;11039:1;11036;11029:12;10991:52;11071:9;11065:16;11090:28;11112:5;11090:28;:::i;13594:128::-;13634:3;13665:1;13661:6;13658:1;13655:13;13652:39;;;13671:18;;:::i;:::-;-1:-1:-1;13707:9:1;;13594:128::o;14442:125::-;14482:4;14510:1;14507;14504:8;14501:34;;;14515:18;;:::i;:::-;-1:-1:-1;14552:9:1;;14442:125::o;14572:112::-;14604:1;14630;14620:35;;14635:18;;:::i;:::-;-1:-1:-1;14669:9:1;;14572:112::o
Swarm Source
ipfs://00e9e81b7eaae1d0333db15296f9f4f24c6e325ee0346497e142fd411fb0a7f4
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.