ERC-20
Overview
Max Total Supply
1,000,000,000 NTN
Holders
4,709
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Naetion
Compiler Version
v0.8.0+commit.c7dfd78e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-04-24 */ /** *Submitted for verification at Etherscan.io on 2021-10-02 */ pragma solidity ^0.8.0; // SPDX-License-Identifier:MIT //Naetion interface IERC20 { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 value); function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return (msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } contract Ownable is Context { address private _owner; address private _previousOwner; uint256 private _lockTime; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = (address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } function geUnlockTime() public view returns (uint256) { return _lockTime; } //Locks the contract for owner for the amount of time provided function lock(uint256 time) public virtual onlyOwner { _previousOwner = _owner; _owner = address(0); _lockTime = block.timestamp + time; emit OwnershipTransferred(_owner, address(0)); } //Unlocks the contract for owner when _lockTime is exceeds function unlock() public virtual { require( _previousOwner == msg.sender, "You don't have permission to unlock" ); require( block.timestamp > _lockTime, "Contract is locked until defined days" ); emit OwnershipTransferred(_owner, _previousOwner); _owner = _previousOwner; _previousOwner = address(0); } } interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 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 (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 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 (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Burn( address indexed sender, uint256 amount0, uint256 amount1, address indexed to ); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); 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 (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function burn(address to) external returns (uint256 amount0, uint256 amount1); function swap( uint256 amount0Out, uint256 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, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function removeLiquidity( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETH( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountToken, uint256 amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETHWithPermit( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountToken, uint256 amountETH); function swapExactTokensForTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapTokensForExactTokens( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactETHForTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapTokensForExactETH( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactTokensForETH( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapETHForExactTokens( uint256 amountOut, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function quote( uint256 amountA, uint256 reserveA, uint256 reserveB ) external pure returns (uint256 amountB); function getAmountOut( uint256 amountIn, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountOut); function getAmountIn( uint256 amountOut, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountIn); function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts); function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } library Utils { using SafeMath for uint256; function swapTokensForEth(address routerAddress, uint256 tokenAmount) internal { IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(routerAddress); // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of BNB path, address(this), block.timestamp + 360 ); } function swapETHForTokens( address routerAddress, address recipient, uint256 ethAmount ) internal { IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(routerAddress); // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = uniswapV2Router.WETH(); path[1] = address(this); // make the swap uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{ value: ethAmount }( 0, // accept any amount of BNB path, address(recipient), block.timestamp + 360 ); } function addLiquidity( address routerAddress, address owner, uint256 tokenAmount, uint256 ethAmount ) internal { IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(routerAddress); // add the liquidity uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable owner, block.timestamp + 360 ); } } // Protocol by team BloctechSolutions.com contract Naetion is Context, IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; string private _name; string private _symbol; uint8 private _decimals; uint256 private _totalSupply; mapping(address => bool) private _isExcludedFromFee; uint256 public _taxFee; uint256 public _liquidityFee; IUniswapV2Router02 public immutable uniswapV2Router; address public immutable uniswapV2Pair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled; // should be true to turn on to add liquidty bool public buyBackEnabled; // should be true to turn on to buy back from pool bool public _tradingOpen; // should be true to turn on trading, one time process uint256 public _minTokensToAddToLiquidity; uint256 public buyBackLowerLimit = 0.1 ether; uint256 public buyBackUpperLimit = 1 ether; address private providerAddress; event SwapAndLiquifyEnabledUpdated(bool enabled); event BuyBackEnabledUpdated(bool enabled); event BuyBack(address indexed receiver, uint256 indexed bnbAmount); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); modifier lockTheSwap() { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor() { _name = "Naetion"; _symbol = "NTN"; _decimals = 18; _totalSupply = 1000000000 * (10**18); // total Supply: 1B // unit of 0.01% _taxFee = 400; _liquidityFee = 400; _minTokensToAddToLiquidity = 10000 * (10**18); // 0.1M _balances[owner()] = _balances[owner()].add(_totalSupply); // The service provider wallet that takes tax from transactions providerAddress = owner(); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); // Create a uniswap pair for this new token address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); // Set the rest of the contract variables uniswapV2Router = _uniswapV2Router; uniswapV2Pair = _uniswapV2Pair; // Exclude owner and this contract from fee _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; emit Transfer(address(0), owner(), _totalSupply); } receive() external payable {} function decimals() external view override returns (uint8) { return _decimals; } function symbol() external view override returns (string memory) { return _symbol; } function name() external view override returns (string memory) { return _name; } function totalSupply() external view override returns (uint256) { return _totalSupply; } function balanceOf(address account) external view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) external override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) external view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) external 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 increaseAllowance(address spender, uint256 addedValue) public returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue) ); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender].sub( subtractedValue, "ERC20: decreased allowance below zero" ) ); return true; } function _approve( address owner, address spender, uint256 amount ) internal { 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 excludeFromFee(address account) public onlyOwner { _isExcludedFromFee[account] = true; } function includeInFee(address account) public onlyOwner { _isExcludedFromFee[account] = false; } function setTaxFeePercent(uint256 taxFee) external onlyOwner { _taxFee = taxFee; } function setLiquidityFeePercent(uint256 liquidityFee) external onlyOwner { _liquidityFee = liquidityFee; } function setMinTokensToAddToLiquidity(uint256 minTokensToAddToLiquidity) external onlyOwner { _minTokensToAddToLiquidity = minTokensToAddToLiquidity; } function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner { swapAndLiquifyEnabled = _enabled; emit SwapAndLiquifyEnabledUpdated(_enabled); } function setBuyback( bool _state, uint256 _upperAmount, uint256 _lowerAmount ) public onlyOwner { buyBackEnabled = _state; buyBackUpperLimit = _upperAmount; buyBackLowerLimit = _lowerAmount; } function setProviderAddress(address newProviderAddress) external onlyOwner { // Remove the current provider from Tax Exclusion List. includeInFee(providerAddress); // Remove the current provider from Tax Exclusion List. excludeFromFee(newProviderAddress); providerAddress = newProviderAddress; } function startTrading() external onlyOwner { require(!_tradingOpen, "Tradiing already enabled"); _tradingOpen = true; swapAndLiquifyEnabled = true; buyBackEnabled = true; emit SwapAndLiquifyEnabledUpdated(true); emit BuyBackEnabledUpdated(true); } function _transfer( address sender, address recipient, uint256 amount ) internal { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); require(_balances[sender] >= amount, "Transfer amount exceeds balance"); if (!_tradingOpen && sender != owner() && recipient != owner()) { require( sender != uniswapV2Pair && recipient != uniswapV2Pair, "Trading is not enabled" ); } uint256 totalFee = 0; if (!_isExcludedFromFee[sender] && !_isExcludedFromFee[recipient]) { // Take tax of transaction and transfer to the provider wallet. uint256 taxFeeAmount = amount.mul(_taxFee).div(10000); _balances[providerAddress] = _balances[providerAddress].add( taxFeeAmount ); emit Transfer(sender, providerAddress, taxFeeAmount); // Take tax of transaction and add to liquidity. uint256 liquidityFeeAmount = amount.mul(_liquidityFee).div(10000); _balances[address(this)] = _balances[address(this)].add( liquidityFeeAmount ); emit Transfer(sender, address(this), liquidityFeeAmount); // is the token balance of this contract address over the min number of // tokens that we need to initiate a swap + liquidity lock? // also, don't get caught in a circular liquidity event. // also, don't swap & liquify if sender is uniswap pair. uint256 contractTokenBalance = _balances[address(this)]; bool overMinTokenBalance = contractTokenBalance >= _minTokensToAddToLiquidity; if ( overMinTokenBalance && !inSwapAndLiquify && sender != uniswapV2Pair && swapAndLiquifyEnabled ) { contractTokenBalance = _minTokensToAddToLiquidity; //add liquidity swapAndLiquify(contractTokenBalance); } totalFee = taxFeeAmount.add(liquidityFeeAmount); } _balances[sender] = _balances[sender].sub(amount); _balances[recipient] = _balances[recipient].add(amount.sub(totalFee)); emit Transfer(sender, recipient, amount.sub(totalFee)); } function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap { // split the contract balance into halves uint256 half = contractTokenBalance.div(2); uint256 otherHalf = contractTokenBalance.sub(half); // capture the contract's current ETH balance. // this is so that we can capture exactly the amount of ETH that the // swap creates, and not make the liquidity event include any ETH that // has been manually sent to the contract uint256 initialBalance = address(this).balance; // now is to lock into liquidity pool Utils.swapTokensForEth(address(uniswapV2Router), half); // how much ETH did we just swap into? uint256 newBalance = address(this).balance.sub(initialBalance); // add liquidity to uniswap Utils.addLiquidity( address(uniswapV2Router), owner(), otherHalf, newBalance ); // buy back if balance bnb is exceed lower limit if (buyBackEnabled && initialBalance > uint256(buyBackLowerLimit)) { if (initialBalance > buyBackUpperLimit) initialBalance = buyBackUpperLimit; Utils.swapETHForTokens( address(uniswapV2Router), address(this), initialBalance.div(10) ); emit BuyBack(address(this), initialBalance.div(10)); } emit SwapAndLiquify(half, newBalance, otherHalf); } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"uint256","name":"bnbAmount","type":"uint256"}],"name":"BuyBack","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"BuyBackEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minTokensToAddToLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyBackEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyBackLowerLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyBackUpperLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"geUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_state","type":"bool"},{"internalType":"uint256","name":"_upperAmount","type":"uint256"},{"internalType":"uint256","name":"_lowerAmount","type":"uint256"}],"name":"setBuyback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"}],"name":"setLiquidityFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minTokensToAddToLiquidity","type":"uint256"}],"name":"setMinTokensToAddToLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newProviderAddress","type":"address"}],"name":"setProviderAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"}],"name":"setTaxFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c060405267016345785d8a0000600e55670de0b6b3a7640000600f553480156200002957600080fd5b506200003462000408565b600080546001600160a01b0319166001600160a01b03928316178082556040519216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3604080518082019091526007808252662730b2ba34b7b760c91b6020909201918252620000ac916005916200045f565b5060408051808201909152600380825262272a2760e91b6020909201918252620000d9916006916200045f565b506007805460ff191660121790556b033b2e3c9fd0803ce80000006008819055610190600a819055600b5569021e19e0c9bab2400000600d556200015a9060036000620001256200040c565b6001600160a01b03166001600160a01b03168152602001908152602001600020546200041b60201b62000f1d1790919060201c565b60036000620001686200040c565b6001600160a01b031681526020810191909152604001600020556200018c6200040c565b601060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90506000816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020757600080fd5b505afa1580156200021c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000242919062000505565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200028b57600080fd5b505afa158015620002a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c6919062000505565b6040518363ffffffff1660e01b8152600401620002e59291906200052e565b602060405180830381600087803b1580156200030057600080fd5b505af115801562000315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033b919062000505565b6001600160601b0319606084811b821660805282901b1660a0529050600160096000620003676200040c565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526009909252902080549091166001179055620003b16200040c565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600854604051620003f891906200057f565b60405180910390a35050620005ea565b3390565b6000546001600160a01b031690565b6000806200042a838562000588565b905083811015620004585760405162461bcd60e51b81526004016200044f9062000548565b60405180910390fd5b9392505050565b8280546200046d90620005ad565b90600052602060002090601f016020900481019282620004915760008555620004dc565b82601f10620004ac57805160ff1916838001178555620004dc565b82800160010185558215620004dc579182015b82811115620004dc578251825591602001919060010190620004bf565b50620004ea929150620004ee565b5090565b5b80821115620004ea5760008155600101620004ef565b60006020828403121562000517578081fd5b81516001600160a01b038116811462000458578182fd5b6001600160a01b0392831681529116602082015260400190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b90815260200190565b60008219821115620005a857634e487b7160e01b81526011600452602481fd5b500190565b600281046001821680620005c257607f821691505b60208210811415620005e457634e487b7160e01b600052602260045260246000fd5b50919050565b60805160601c60a05160601c6122c162000640600039600081816109740152818161110e0152818161114b015261135301526000818161070f0152818161157d015281816115b5015261161601526122c16000f3fe6080604052600436106102135760003560e01c8063875affd911610118578063c49b9a80116100a0578063dd4670641161006f578063dd46706414610585578063dd62ed3e146105a5578063ea2f0b37146105c5578063f2fde38b146105e5578063f4542f82146106055761021a565b8063c49b9a801461051b578063cd52c7011461053b578063d17761cf14610550578063dc5d7fc5146105655761021a565b8063a23628d5116100e7578063a23628d514610491578063a457c2d7146104b1578063a69df4b5146104d1578063a9059cbb146104e6578063b6c52324146105065761021a565b8063875affd9146104275780638da5cb5b146104475780638ee88c531461045c57806395d89b411461047c5761021a565b80633b124fe71161019b5780636053a0e31161016a5780636053a0e3146103b35780636bc87c3a146103c857806370a08231146103dd57806370e50241146103fd578063715018a6146104125761021a565b80633b124fe714610354578063437823ec1461036957806349bd5a5e146103895780634a74bb021461039e5761021a565b806318160ddd116101e257806318160ddd146102bb57806323b872dd146102dd578063293230b8146102fd578063313ce5671461031257806339509351146103345761021a565b8063061c82d01461021f57806306fdde0314610241578063095ea7b31461026c5780631694505e146102995761021a565b3661021a57005b600080fd5b34801561022b57600080fd5b5061023f61023a366004611c04565b61061a565b005b34801561024d57600080fd5b5061025661065d565b6040516102639190611d1b565b60405180910390f35b34801561027857600080fd5b5061028c610287366004611b8d565b6106ef565b6040516102639190611cdb565b3480156102a557600080fd5b506102ae61070d565b6040516102639190611c8c565b3480156102c757600080fd5b506102d0610731565b60405161026391906120de565b3480156102e957600080fd5b5061028c6102f8366004611b4d565b610737565b34801561030957600080fd5b5061023f6107be565b34801561031e57600080fd5b506103276108bc565b6040516102639190612139565b34801561034057600080fd5b5061028c61034f366004611b8d565b6108c5565b34801561036057600080fd5b506102d0610913565b34801561037557600080fd5b5061023f610384366004611add565b610919565b34801561039557600080fd5b506102ae610972565b3480156103aa57600080fd5b5061028c610996565b3480156103bf57600080fd5b5061028c6109a4565b3480156103d457600080fd5b506102d06109b3565b3480156103e957600080fd5b506102d06103f8366004611add565b6109b9565b34801561040957600080fd5b506102d06109d8565b34801561041e57600080fd5b5061023f6109de565b34801561043357600080fd5b5061023f610442366004611bd2565b610a4b565b34801561045357600080fd5b506102ae610aa3565b34801561046857600080fd5b5061023f610477366004611c04565b610ab2565b34801561048857600080fd5b50610256610aec565b34801561049d57600080fd5b5061023f6104ac366004611c04565b610afb565b3480156104bd57600080fd5b5061028c6104cc366004611b8d565b610b35565b3480156104dd57600080fd5b5061023f610b9d565b3480156104f257600080fd5b5061028c610501366004611b8d565b610c3a565b34801561051257600080fd5b506102d0610c4e565b34801561052757600080fd5b5061023f610536366004611bb8565b610c54565b34801561054757600080fd5b5061028c610cd7565b34801561055c57600080fd5b506102d0610ce7565b34801561057157600080fd5b5061023f610580366004611add565b610ced565b34801561059157600080fd5b5061023f6105a0366004611c04565b610d62565b3480156105b157600080fd5b506102d06105c0366004611b15565b610df2565b3480156105d157600080fd5b5061023f6105e0366004611add565b610e1d565b3480156105f157600080fd5b5061023f610600366004611add565b610e73565b34801561061157600080fd5b506102d0610f17565b610622610f53565b6000546001600160a01b039081169116146106585760405162461bcd60e51b815260040161064f90611f94565b60405180910390fd5b600a55565b60606005805461066c906121b5565b80601f0160208091040260200160405190810160405280929190818152602001828054610698906121b5565b80156106e55780601f106106ba576101008083540402835291602001916106e5565b820191906000526020600020905b8154815290600101906020018083116106c857829003601f168201915b5050505050905090565b60006107036106fc610f53565b8484610f57565b5060015b92915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60085490565b600061074484848461100b565b6107b484610750610f53565b6107af8560405180606001604052806028815260200161221f602891396001600160a01b038a1660009081526004602052604081209061078e610f53565b6001600160a01b03168152602081019190915260400160002054919061148c565b610f57565b5060019392505050565b6107c6610f53565b6000546001600160a01b039081169116146107f35760405162461bcd60e51b815260040161064f90611f94565b600c546301000000900460ff161561081d5760405162461bcd60e51b815260040161064f90611f5d565b600c805462ff00001961ff001963ff00000019909216630100000017919091166101001716620100001790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061087a90600190611cdb565b60405180910390a17f3794234fa370c9f3b948dda3e3040530785b2ef1eb27dda3ffde478f4e2643c060016040516108b29190611cdb565b60405180910390a1565b60075460ff1690565b60006107036108d2610f53565b846107af85600460006108e3610f53565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610f1d565b600a5481565b610921610f53565b6000546001600160a01b0390811691161461094e5760405162461bcd60e51b815260040161064f90611f94565b6001600160a01b03166000908152600960205260409020805460ff19166001179055565b7f000000000000000000000000000000000000000000000000000000000000000081565b600c54610100900460ff1681565b600c5462010000900460ff1681565b600b5481565b6001600160a01b0381166000908152600360205260409020545b919050565b600f5481565b6109e6610f53565b6000546001600160a01b03908116911614610a135760405162461bcd60e51b815260040161064f90611f94565b600080546040516001600160a01b0390911690600080516020612247833981519152908390a3600080546001600160a01b0319169055565b610a53610f53565b6000546001600160a01b03908116911614610a805760405162461bcd60e51b815260040161064f90611f94565b600c8054931515620100000262ff00001990941693909317909255600f55600e55565b6000546001600160a01b031690565b610aba610f53565b6000546001600160a01b03908116911614610ae75760405162461bcd60e51b815260040161064f90611f94565b600b55565b60606006805461066c906121b5565b610b03610f53565b6000546001600160a01b03908116911614610b305760405162461bcd60e51b815260040161064f90611f94565b600d55565b6000610703610b42610f53565b846107af856040518060600160405280602581526020016122676025913960046000610b6c610f53565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919061148c565b6001546001600160a01b03163314610bc75760405162461bcd60e51b815260040161064f9061209b565b6002544211610be85760405162461bcd60e51b815260040161064f90611db1565b600154600080546040516001600160a01b03938416939091169160008051602061224783398151915291a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610703610c47610f53565b848461100b565b60025490565b610c5c610f53565b6000546001600160a01b03908116911614610c895760405162461bcd60e51b815260040161064f90611f94565b600c805461ff001916610100831515021790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15990610ccc908390611cdb565b60405180910390a150565b600c546301000000900460ff1681565b600e5481565b610cf5610f53565b6000546001600160a01b03908116911614610d225760405162461bcd60e51b815260040161064f90611f94565b601054610d37906001600160a01b0316610e1d565b610d4081610919565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b610d6a610f53565b6000546001600160a01b03908116911614610d975760405162461bcd60e51b815260040161064f90611f94565b60008054600180546001600160a01b03199081166001600160a01b03841617909155169055610dc68142612147565b600255600080546040516001600160a01b0390911690600080516020612247833981519152908390a350565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b610e25610f53565b6000546001600160a01b03908116911614610e525760405162461bcd60e51b815260040161064f90611f94565b6001600160a01b03166000908152600960205260409020805460ff19169055565b610e7b610f53565b6000546001600160a01b03908116911614610ea85760405162461bcd60e51b815260040161064f90611f94565b6001600160a01b038116610ece5760405162461bcd60e51b815260040161064f90611df6565b600080546040516001600160a01b038085169392169160008051602061224783398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600d5481565b600080610f2a8385612147565b905083811015610f4c5760405162461bcd60e51b815260040161064f90611e7e565b9392505050565b3390565b6001600160a01b038316610f7d5760405162461bcd60e51b815260040161064f90612057565b6001600160a01b038216610fa35760405162461bcd60e51b815260040161064f90611e3c565b6001600160a01b0380841660008181526004602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610ffe9085906120de565b60405180910390a3505050565b6001600160a01b0383166110315760405162461bcd60e51b815260040161064f90612012565b6001600160a01b0382166110575760405162461bcd60e51b815260040161064f90611d6e565b600081116110775760405162461bcd60e51b815260040161064f90611fc9565b6001600160a01b0383166000908152600360205260409020548111156110af5760405162461bcd60e51b815260040161064f90611ee5565b600c546301000000900460ff161580156110e257506110cc610aa3565b6001600160a01b0316836001600160a01b031614155b801561110757506110f1610aa3565b6001600160a01b0316826001600160a01b031614155b1561119c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415801561118057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b61119c5760405162461bcd60e51b815260040161064f90611eb5565b6001600160a01b03831660009081526009602052604081205460ff161580156111de57506001600160a01b03831660009081526009602052604090205460ff16155b156113bf576000611206612710611200600a54866114c690919063ffffffff16565b9061150b565b6010546001600160a01b031660009081526003602052604090205490915061122e9082610f1d565b601080546001600160a01b0390811660009081526003602052604090819020939093559054915191811691908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061128a9085906120de565b60405180910390a360006112af612710611200600b54876114c690919063ffffffff16565b306000908152600360205260409020549091506112cc9082610f1d565b30600081815260036020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061131b9085906120de565b60405180910390a330600090815260036020526040902054600d548110801590819061134a5750600c5460ff16155b801561138857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316886001600160a01b031614155b801561139b5750600c54610100900460ff165b156113ae57600d5491506113ae8261154d565b6113b88484610f1d565b9450505050505b6001600160a01b0384166000908152600360205260409020546113e290836116c9565b6001600160a01b03851660009081526003602052604090205561142761140883836116c9565b6001600160a01b03851660009081526003602052604090205490610f1d565b6001600160a01b0380851660008181526003602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61147185856116c9565b60405161147e91906120de565b60405180910390a350505050565b600081848411156114b05760405162461bcd60e51b815260040161064f9190611d1b565b5060006114bd848661219e565b95945050505050565b6000826114d557506000610707565b60006114e1838561217f565b9050826114ee858361215f565b14610f4c5760405162461bcd60e51b815260040161064f90611f1c565b6000610f4c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061170b565b600c805460ff19166001179055600061156782600261150b565b9050600061157583836116c9565b9050476115a27f000000000000000000000000000000000000000000000000000000000000000084611739565b60006115ae47836116c9565b90506115e37f00000000000000000000000000000000000000000000000000000000000000006115dc610aa3565b85846118b8565b600c5462010000900460ff1680156115fc5750600e5482115b1561167d57600f5482111561161157600f5491505b6116467f00000000000000000000000000000000000000000000000000000000000000003061164185600a61150b565b61194e565b61165182600a61150b565b60405130907f515a362443b428d4aab92057f742255c765d68033ba3f00847b57e323d0468d490600090a35b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618482856040516116b093929190612123565b60405180910390a15050600c805460ff19169055505050565b6000610f4c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061148c565b6000818361172c5760405162461bcd60e51b815260040161064f9190611d1b565b5060006114bd848661215f565b60408051600280825260608201835284926000929190602083019080368337019050509050308160008151811061178057634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156117d957600080fd5b505afa1580156117ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118119190611af9565b8160018151811061183257634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152821663791ac947846000843061186042610168612147565b6040518663ffffffff1660e01b81526004016118809594939291906120e7565b600060405180830381600087803b15801561189a57600080fd5b505af11580156118ae573d6000803e3d6000fd5b5050505050505050565b836001600160a01b03811663f305d7198330866000808a6118db42610168612147565b6040518863ffffffff1660e01b81526004016118fc96959493929190611ca0565b6060604051808303818588803b15801561191557600080fd5b505af1158015611929573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118ae9190611c1c565b60408051600280825260608201835285926000929190602083019080368337019050509050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156119ac57600080fd5b505afa1580156119c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e49190611af9565b81600081518110611a0557634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110611a4757634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152821663b6f9de958460008488611a7542610168612147565b6040518663ffffffff1660e01b8152600401611a949493929190611ce6565b6000604051808303818588803b158015611aad57600080fd5b505af1158015611ac1573d6000803e3d6000fd5b50505050505050505050565b803580151581146109d357600080fd5b600060208284031215611aee578081fd5b8135610f4c81612206565b600060208284031215611b0a578081fd5b8151610f4c81612206565b60008060408385031215611b27578081fd5b8235611b3281612206565b91506020830135611b4281612206565b809150509250929050565b600080600060608486031215611b61578081fd5b8335611b6c81612206565b92506020840135611b7c81612206565b929592945050506040919091013590565b60008060408385031215611b9f578182fd5b8235611baa81612206565b946020939093013593505050565b600060208284031215611bc9578081fd5b610f4c82611acd565b600080600060608486031215611be6578283fd5b611bef84611acd565b95602085013595506040909401359392505050565b600060208284031215611c15578081fd5b5035919050565b600080600060608486031215611c30578283fd5b8351925060208401519150604084015190509250925092565b6000815180845260208085019450808401835b83811015611c815781516001600160a01b031687529582019590820190600101611c5c565b509495945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b600085825260806020830152611cff6080830186611c49565b6001600160a01b03949094166040830152506060015292915050565b6000602080835283518082850152825b81811015611d4757858101830151858201604001528201611d2b565b81811115611d585783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526025908201527f436f6e7472616374206973206c6f636b656420756e74696c20646566696e6564604082015264206461797360d81b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b602080825260169082015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b604082015260600190565b6020808252601f908201527f5472616e7366657220616d6f756e7420657863656564732062616c616e636500604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526018908201527f5472616469696e6720616c726561647920656e61626c65640000000000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526023908201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6040820152626f636b60e81b606082015260800190565b90815260200190565b600086825285602083015260a0604083015261210660a0830186611c49565b6001600160a01b0394909416606083015250608001529392505050565b9283526020830191909152604082015260600190565b60ff91909116815260200190565b6000821982111561215a5761215a6121f0565b500190565b60008261217a57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612199576121996121f0565b500290565b6000828210156121b0576121b06121f0565b500390565b6002810460018216806121c957607f821691505b602082108114156121ea57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461221b57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e045524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212206d00868509ac65c46e47d6bfdb288bba684deab5d8e6991082cb2d4192850f3264736f6c63430008000033
Deployed Bytecode
0x6080604052600436106102135760003560e01c8063875affd911610118578063c49b9a80116100a0578063dd4670641161006f578063dd46706414610585578063dd62ed3e146105a5578063ea2f0b37146105c5578063f2fde38b146105e5578063f4542f82146106055761021a565b8063c49b9a801461051b578063cd52c7011461053b578063d17761cf14610550578063dc5d7fc5146105655761021a565b8063a23628d5116100e7578063a23628d514610491578063a457c2d7146104b1578063a69df4b5146104d1578063a9059cbb146104e6578063b6c52324146105065761021a565b8063875affd9146104275780638da5cb5b146104475780638ee88c531461045c57806395d89b411461047c5761021a565b80633b124fe71161019b5780636053a0e31161016a5780636053a0e3146103b35780636bc87c3a146103c857806370a08231146103dd57806370e50241146103fd578063715018a6146104125761021a565b80633b124fe714610354578063437823ec1461036957806349bd5a5e146103895780634a74bb021461039e5761021a565b806318160ddd116101e257806318160ddd146102bb57806323b872dd146102dd578063293230b8146102fd578063313ce5671461031257806339509351146103345761021a565b8063061c82d01461021f57806306fdde0314610241578063095ea7b31461026c5780631694505e146102995761021a565b3661021a57005b600080fd5b34801561022b57600080fd5b5061023f61023a366004611c04565b61061a565b005b34801561024d57600080fd5b5061025661065d565b6040516102639190611d1b565b60405180910390f35b34801561027857600080fd5b5061028c610287366004611b8d565b6106ef565b6040516102639190611cdb565b3480156102a557600080fd5b506102ae61070d565b6040516102639190611c8c565b3480156102c757600080fd5b506102d0610731565b60405161026391906120de565b3480156102e957600080fd5b5061028c6102f8366004611b4d565b610737565b34801561030957600080fd5b5061023f6107be565b34801561031e57600080fd5b506103276108bc565b6040516102639190612139565b34801561034057600080fd5b5061028c61034f366004611b8d565b6108c5565b34801561036057600080fd5b506102d0610913565b34801561037557600080fd5b5061023f610384366004611add565b610919565b34801561039557600080fd5b506102ae610972565b3480156103aa57600080fd5b5061028c610996565b3480156103bf57600080fd5b5061028c6109a4565b3480156103d457600080fd5b506102d06109b3565b3480156103e957600080fd5b506102d06103f8366004611add565b6109b9565b34801561040957600080fd5b506102d06109d8565b34801561041e57600080fd5b5061023f6109de565b34801561043357600080fd5b5061023f610442366004611bd2565b610a4b565b34801561045357600080fd5b506102ae610aa3565b34801561046857600080fd5b5061023f610477366004611c04565b610ab2565b34801561048857600080fd5b50610256610aec565b34801561049d57600080fd5b5061023f6104ac366004611c04565b610afb565b3480156104bd57600080fd5b5061028c6104cc366004611b8d565b610b35565b3480156104dd57600080fd5b5061023f610b9d565b3480156104f257600080fd5b5061028c610501366004611b8d565b610c3a565b34801561051257600080fd5b506102d0610c4e565b34801561052757600080fd5b5061023f610536366004611bb8565b610c54565b34801561054757600080fd5b5061028c610cd7565b34801561055c57600080fd5b506102d0610ce7565b34801561057157600080fd5b5061023f610580366004611add565b610ced565b34801561059157600080fd5b5061023f6105a0366004611c04565b610d62565b3480156105b157600080fd5b506102d06105c0366004611b15565b610df2565b3480156105d157600080fd5b5061023f6105e0366004611add565b610e1d565b3480156105f157600080fd5b5061023f610600366004611add565b610e73565b34801561061157600080fd5b506102d0610f17565b610622610f53565b6000546001600160a01b039081169116146106585760405162461bcd60e51b815260040161064f90611f94565b60405180910390fd5b600a55565b60606005805461066c906121b5565b80601f0160208091040260200160405190810160405280929190818152602001828054610698906121b5565b80156106e55780601f106106ba576101008083540402835291602001916106e5565b820191906000526020600020905b8154815290600101906020018083116106c857829003601f168201915b5050505050905090565b60006107036106fc610f53565b8484610f57565b5060015b92915050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b60085490565b600061074484848461100b565b6107b484610750610f53565b6107af8560405180606001604052806028815260200161221f602891396001600160a01b038a1660009081526004602052604081209061078e610f53565b6001600160a01b03168152602081019190915260400160002054919061148c565b610f57565b5060019392505050565b6107c6610f53565b6000546001600160a01b039081169116146107f35760405162461bcd60e51b815260040161064f90611f94565b600c546301000000900460ff161561081d5760405162461bcd60e51b815260040161064f90611f5d565b600c805462ff00001961ff001963ff00000019909216630100000017919091166101001716620100001790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061087a90600190611cdb565b60405180910390a17f3794234fa370c9f3b948dda3e3040530785b2ef1eb27dda3ffde478f4e2643c060016040516108b29190611cdb565b60405180910390a1565b60075460ff1690565b60006107036108d2610f53565b846107af85600460006108e3610f53565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610f1d565b600a5481565b610921610f53565b6000546001600160a01b0390811691161461094e5760405162461bcd60e51b815260040161064f90611f94565b6001600160a01b03166000908152600960205260409020805460ff19166001179055565b7f000000000000000000000000b129fb8a8199dae0b3d54473c8a3d27d8274548a81565b600c54610100900460ff1681565b600c5462010000900460ff1681565b600b5481565b6001600160a01b0381166000908152600360205260409020545b919050565b600f5481565b6109e6610f53565b6000546001600160a01b03908116911614610a135760405162461bcd60e51b815260040161064f90611f94565b600080546040516001600160a01b0390911690600080516020612247833981519152908390a3600080546001600160a01b0319169055565b610a53610f53565b6000546001600160a01b03908116911614610a805760405162461bcd60e51b815260040161064f90611f94565b600c8054931515620100000262ff00001990941693909317909255600f55600e55565b6000546001600160a01b031690565b610aba610f53565b6000546001600160a01b03908116911614610ae75760405162461bcd60e51b815260040161064f90611f94565b600b55565b60606006805461066c906121b5565b610b03610f53565b6000546001600160a01b03908116911614610b305760405162461bcd60e51b815260040161064f90611f94565b600d55565b6000610703610b42610f53565b846107af856040518060600160405280602581526020016122676025913960046000610b6c610f53565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919061148c565b6001546001600160a01b03163314610bc75760405162461bcd60e51b815260040161064f9061209b565b6002544211610be85760405162461bcd60e51b815260040161064f90611db1565b600154600080546040516001600160a01b03938416939091169160008051602061224783398151915291a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610703610c47610f53565b848461100b565b60025490565b610c5c610f53565b6000546001600160a01b03908116911614610c895760405162461bcd60e51b815260040161064f90611f94565b600c805461ff001916610100831515021790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15990610ccc908390611cdb565b60405180910390a150565b600c546301000000900460ff1681565b600e5481565b610cf5610f53565b6000546001600160a01b03908116911614610d225760405162461bcd60e51b815260040161064f90611f94565b601054610d37906001600160a01b0316610e1d565b610d4081610919565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b610d6a610f53565b6000546001600160a01b03908116911614610d975760405162461bcd60e51b815260040161064f90611f94565b60008054600180546001600160a01b03199081166001600160a01b03841617909155169055610dc68142612147565b600255600080546040516001600160a01b0390911690600080516020612247833981519152908390a350565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b610e25610f53565b6000546001600160a01b03908116911614610e525760405162461bcd60e51b815260040161064f90611f94565b6001600160a01b03166000908152600960205260409020805460ff19169055565b610e7b610f53565b6000546001600160a01b03908116911614610ea85760405162461bcd60e51b815260040161064f90611f94565b6001600160a01b038116610ece5760405162461bcd60e51b815260040161064f90611df6565b600080546040516001600160a01b038085169392169160008051602061224783398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600d5481565b600080610f2a8385612147565b905083811015610f4c5760405162461bcd60e51b815260040161064f90611e7e565b9392505050565b3390565b6001600160a01b038316610f7d5760405162461bcd60e51b815260040161064f90612057565b6001600160a01b038216610fa35760405162461bcd60e51b815260040161064f90611e3c565b6001600160a01b0380841660008181526004602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610ffe9085906120de565b60405180910390a3505050565b6001600160a01b0383166110315760405162461bcd60e51b815260040161064f90612012565b6001600160a01b0382166110575760405162461bcd60e51b815260040161064f90611d6e565b600081116110775760405162461bcd60e51b815260040161064f90611fc9565b6001600160a01b0383166000908152600360205260409020548111156110af5760405162461bcd60e51b815260040161064f90611ee5565b600c546301000000900460ff161580156110e257506110cc610aa3565b6001600160a01b0316836001600160a01b031614155b801561110757506110f1610aa3565b6001600160a01b0316826001600160a01b031614155b1561119c577f000000000000000000000000b129fb8a8199dae0b3d54473c8a3d27d8274548a6001600160a01b0316836001600160a01b03161415801561118057507f000000000000000000000000b129fb8a8199dae0b3d54473c8a3d27d8274548a6001600160a01b0316826001600160a01b031614155b61119c5760405162461bcd60e51b815260040161064f90611eb5565b6001600160a01b03831660009081526009602052604081205460ff161580156111de57506001600160a01b03831660009081526009602052604090205460ff16155b156113bf576000611206612710611200600a54866114c690919063ffffffff16565b9061150b565b6010546001600160a01b031660009081526003602052604090205490915061122e9082610f1d565b601080546001600160a01b0390811660009081526003602052604090819020939093559054915191811691908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061128a9085906120de565b60405180910390a360006112af612710611200600b54876114c690919063ffffffff16565b306000908152600360205260409020549091506112cc9082610f1d565b30600081815260036020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061131b9085906120de565b60405180910390a330600090815260036020526040902054600d548110801590819061134a5750600c5460ff16155b801561138857507f000000000000000000000000b129fb8a8199dae0b3d54473c8a3d27d8274548a6001600160a01b0316886001600160a01b031614155b801561139b5750600c54610100900460ff165b156113ae57600d5491506113ae8261154d565b6113b88484610f1d565b9450505050505b6001600160a01b0384166000908152600360205260409020546113e290836116c9565b6001600160a01b03851660009081526003602052604090205561142761140883836116c9565b6001600160a01b03851660009081526003602052604090205490610f1d565b6001600160a01b0380851660008181526003602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61147185856116c9565b60405161147e91906120de565b60405180910390a350505050565b600081848411156114b05760405162461bcd60e51b815260040161064f9190611d1b565b5060006114bd848661219e565b95945050505050565b6000826114d557506000610707565b60006114e1838561217f565b9050826114ee858361215f565b14610f4c5760405162461bcd60e51b815260040161064f90611f1c565b6000610f4c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061170b565b600c805460ff19166001179055600061156782600261150b565b9050600061157583836116c9565b9050476115a27f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611739565b60006115ae47836116c9565b90506115e37f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6115dc610aa3565b85846118b8565b600c5462010000900460ff1680156115fc5750600e5482115b1561167d57600f5482111561161157600f5491505b6116467f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d3061164185600a61150b565b61194e565b61165182600a61150b565b60405130907f515a362443b428d4aab92057f742255c765d68033ba3f00847b57e323d0468d490600090a35b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618482856040516116b093929190612123565b60405180910390a15050600c805460ff19169055505050565b6000610f4c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061148c565b6000818361172c5760405162461bcd60e51b815260040161064f9190611d1b565b5060006114bd848661215f565b60408051600280825260608201835284926000929190602083019080368337019050509050308160008151811061178057634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156117d957600080fd5b505afa1580156117ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118119190611af9565b8160018151811061183257634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152821663791ac947846000843061186042610168612147565b6040518663ffffffff1660e01b81526004016118809594939291906120e7565b600060405180830381600087803b15801561189a57600080fd5b505af11580156118ae573d6000803e3d6000fd5b5050505050505050565b836001600160a01b03811663f305d7198330866000808a6118db42610168612147565b6040518863ffffffff1660e01b81526004016118fc96959493929190611ca0565b6060604051808303818588803b15801561191557600080fd5b505af1158015611929573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118ae9190611c1c565b60408051600280825260608201835285926000929190602083019080368337019050509050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156119ac57600080fd5b505afa1580156119c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e49190611af9565b81600081518110611a0557634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110611a4757634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152821663b6f9de958460008488611a7542610168612147565b6040518663ffffffff1660e01b8152600401611a949493929190611ce6565b6000604051808303818588803b158015611aad57600080fd5b505af1158015611ac1573d6000803e3d6000fd5b50505050505050505050565b803580151581146109d357600080fd5b600060208284031215611aee578081fd5b8135610f4c81612206565b600060208284031215611b0a578081fd5b8151610f4c81612206565b60008060408385031215611b27578081fd5b8235611b3281612206565b91506020830135611b4281612206565b809150509250929050565b600080600060608486031215611b61578081fd5b8335611b6c81612206565b92506020840135611b7c81612206565b929592945050506040919091013590565b60008060408385031215611b9f578182fd5b8235611baa81612206565b946020939093013593505050565b600060208284031215611bc9578081fd5b610f4c82611acd565b600080600060608486031215611be6578283fd5b611bef84611acd565b95602085013595506040909401359392505050565b600060208284031215611c15578081fd5b5035919050565b600080600060608486031215611c30578283fd5b8351925060208401519150604084015190509250925092565b6000815180845260208085019450808401835b83811015611c815781516001600160a01b031687529582019590820190600101611c5c565b509495945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b600085825260806020830152611cff6080830186611c49565b6001600160a01b03949094166040830152506060015292915050565b6000602080835283518082850152825b81811015611d4757858101830151858201604001528201611d2b565b81811115611d585783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526025908201527f436f6e7472616374206973206c6f636b656420756e74696c20646566696e6564604082015264206461797360d81b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b602080825260169082015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b604082015260600190565b6020808252601f908201527f5472616e7366657220616d6f756e7420657863656564732062616c616e636500604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526018908201527f5472616469696e6720616c726561647920656e61626c65640000000000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526023908201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6040820152626f636b60e81b606082015260800190565b90815260200190565b600086825285602083015260a0604083015261210660a0830186611c49565b6001600160a01b0394909416606083015250608001529392505050565b9283526020830191909152604082015260600190565b60ff91909116815260200190565b6000821982111561215a5761215a6121f0565b500190565b60008261217a57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612199576121996121f0565b500290565b6000828210156121b0576121b06121f0565b500390565b6002810460018216806121c957607f821691505b602082108114156121ea57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461221b57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e045524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212206d00868509ac65c46e47d6bfdb288bba684deab5d8e6991082cb2d4192850f3264736f6c63430008000033
Deployed Bytecode Sourcemap
14725:11352:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20380:96;;;;;;;;;;-1:-1:-1;20380:96:0;;;;;:::i;:::-;;:::i;:::-;;17637:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18422:195;;;;;;;;;;-1:-1:-1;18422:195:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;15189:51::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;17739:102::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;18625:448::-;;;;;;;;;;-1:-1:-1;18625:448:0;;;;;:::i;:::-;;:::i;21608:308::-;;;;;;;;;;;;;:::i;17429:94::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;19081:283::-;;;;;;;;;;-1:-1:-1;19081:283:0;;;;;:::i;:::-;;:::i;15123:22::-;;;;;;;;;;;;;:::i;20143:111::-;;;;;;;;;;-1:-1:-1;20143:111:0;;;;;:::i;:::-;;:::i;15247:38::-;;;;;;;;;;;;;:::i;15322:33::-;;;;;;;;;;;;;:::i;15407:26::-;;;;;;;;;;;;;:::i;15152:28::-;;;;;;;;;;;;;:::i;17849:162::-;;;;;;;;;;-1:-1:-1;17849:162:0;;;;;:::i;:::-;;:::i;15678:42::-;;;;;;;;;;;;;:::i;2055:150::-;;;;;;;;;;;;;:::i;20987:256::-;;;;;;;;;;-1:-1:-1;20987:256:0;;;;;:::i;:::-;;:::i;1841:79::-;;;;;;;;;;;;;:::i;20484:120::-;;;;;;;;;;-1:-1:-1;20484:120:0;;;;;:::i;:::-;;:::i;17531:98::-;;;;;;;;;;;;;:::i;20612:188::-;;;;;;;;;;-1:-1:-1;20612:188:0;;;;;:::i;:::-;;:::i;19372:383::-;;;;;;;;;;-1:-1:-1;19372:383:0;;;;;:::i;:::-;;:::i;2965:422::-;;;;;;;;;;;;;:::i;18019:201::-;;;;;;;;;;-1:-1:-1;18019:201:0;;;;;:::i;:::-;;:::i;2502:89::-;;;;;;;;;;;;;:::i;20808:171::-;;;;;;;;;;-1:-1:-1;20808:171:0;;;;;:::i;:::-;;:::i;15491:24::-;;;;;;;;;;;;;:::i;15627:44::-;;;;;;;;;;;;;:::i;21251:349::-;;;;;;;;;;-1:-1:-1;21251:349:0;;;;;:::i;:::-;;:::i;2667:226::-;;;;;;;;;;-1:-1:-1;2667:226:0;;;;;:::i;:::-;;:::i;18228:186::-;;;;;;;;;;-1:-1:-1;18228:186:0;;;;;:::i;:::-;;:::i;20262:110::-;;;;;;;;;;-1:-1:-1;20262:110:0;;;;;:::i;:::-;;:::i;2213:281::-;;;;;;;;;;-1:-1:-1;2213:281:0;;;;;:::i;:::-;;:::i;15579:41::-;;;;;;;;;;;;;:::i;20380:96::-;1978:12;:10;:12::i;:::-;1968:6;;-1:-1:-1;;;;;1968:6:0;;;:22;;;1960:67;;;;-1:-1:-1;;;1960:67:0;;;;;;;:::i;:::-;;;;;;;;;20452:7:::1;:16:::0;20380:96::o;17637:94::-;17685:13;17718:5;17711:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17637:94;:::o;18422:195::-;18526:4;18548:39;18557:12;:10;:12::i;:::-;18571:7;18580:6;18548:8;:39::i;:::-;-1:-1:-1;18605:4:0;18422:195;;;;;:::o;15189:51::-;;;:::o;17739:102::-;17821:12;;17739:102;:::o;18625:448::-;18759:4;18776:36;18786:6;18794:9;18805:6;18776:9;:36::i;:::-;18823:220;18846:6;18867:12;:10;:12::i;:::-;18894:138;18950:6;18894:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18894:19:0;;;;;;:11;:19;;;;;;18914:12;:10;:12::i;:::-;-1:-1:-1;;;;;18894:33:0;;;;;;;;;;;;-1:-1:-1;18894:33:0;;;:138;:37;:138::i;:::-;18823:8;:220::i;:::-;-1:-1:-1;19061:4:0;18625:448;;;;;:::o;21608:308::-;1978:12;:10;:12::i;:::-;1968:6;;-1:-1:-1;;;;;1968:6:0;;;:22;;;1960:67;;;;-1:-1:-1;;;1960:67:0;;;;;;;:::i;:::-;21671:12:::1;::::0;;;::::1;;;21670:13;21662:50;;;;-1:-1:-1::0;;;21662:50:0::1;;;;;;;:::i;:::-;21723:12;:19:::0;;-1:-1:-1;;;;;;21723:19:0;;::::1;::::0;::::1;21753:28:::0;;;::::1;21723:19;21753:28;21792:21;::::0;::::1;::::0;;21831:34:::1;::::0;::::1;::::0;::::1;::::0;21738:4:::1;::::0;21831:34:::1;:::i;:::-;;;;;;;;21881:27;21903:4;21881:27;;;;;;:::i;:::-;;;;;;;;21608:308::o:0;17429:94::-;17506:9;;;;17429:94;:::o;19081:283::-;19179:4;19201:133;19224:12;:10;:12::i;:::-;19251:7;19273:50;19312:10;19273:11;:25;19285:12;:10;:12::i;:::-;-1:-1:-1;;;;;19273:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;19273:25:0;;;:34;;;;;;;;;;;:38;:50::i;15123:22::-;;;;:::o;20143:111::-;1978:12;:10;:12::i;:::-;1968:6;;-1:-1:-1;;;;;1968:6:0;;;:22;;;1960:67;;;;-1:-1:-1;;;1960:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20212:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;20212:34:0::1;20242:4;20212:34;::::0;;20143:111::o;15247:38::-;;;:::o;15322:33::-;;;;;;;;;:::o;15407:26::-;;;;;;;;;:::o;15152:28::-;;;;:::o;17849:162::-;-1:-1:-1;;;;;17985:18:0;;17953:7;17985:18;;;:9;:18;;;;;;17849:162;;;;:::o;15678:42::-;;;;:::o;2055:150::-;1978:12;:10;:12::i;:::-;1968:6;;-1:-1:-1;;;;;1968:6:0;;;:22;;;1960:67;;;;-1:-1:-1;;;1960:67:0;;;;;;;:::i;:::-;2162:1:::1;2146:6:::0;;2125:40:::1;::::0;-1:-1:-1;;;;;2146:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;2125:40:0;2162:1;;2125:40:::1;2194:1;2176:21:::0;;-1:-1:-1;;;;;;2176:21:0::1;::::0;;2055:150::o;20987:256::-;1978:12;:10;:12::i;:::-;1968:6;;-1:-1:-1;;;;;1968:6:0;;;:22;;;1960:67;;;;-1:-1:-1;;;1960:67:0;;;;;;;:::i;:::-;21126:14:::1;:23:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;21126:23:0;;::::1;::::0;;;::::1;::::0;;;21160:17:::1;:32:::0;21203:17:::1;:32:::0;20987:256::o;1841:79::-;1879:7;1906:6;-1:-1:-1;;;;;1906:6:0;1841:79;:::o;20484:120::-;1978:12;:10;:12::i;:::-;1968:6;;-1:-1:-1;;;;;1968:6:0;;;:22;;;1960:67;;;;-1:-1:-1;;;1960:67:0;;;;;;;:::i;:::-;20568:13:::1;:28:::0;20484:120::o;17531:98::-;17581:13;17614:7;17607:14;;;;;:::i;20612:188::-;1978:12;:10;:12::i;:::-;1968:6;;-1:-1:-1;;;;;1968:6:0;;;:22;;;1960:67;;;;-1:-1:-1;;;1960:67:0;;;;;;;:::i;:::-;20738:26:::1;:54:::0;20612:188::o;19372:383::-;19475:4;19497:228;19520:12;:10;:12::i;:::-;19547:7;19569:145;19626:15;19569:145;;;;;;;;;;;;;;;;;:11;:25;19581:12;:10;:12::i;:::-;-1:-1:-1;;;;;19569:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;19569:25:0;;;:34;;;;;;;;;;;:145;:38;:145::i;2965:422::-;3031:14;;-1:-1:-1;;;;;3031:14:0;3049:10;3031:28;3009:113;;;;-1:-1:-1;;;3009:113:0;;;;;;;:::i;:::-;3173:9;;3155:15;:27;3133:114;;;;-1:-1:-1;;;3133:114:0;;;;;;;:::i;:::-;3292:14;;;3284:6;;3263:44;;-1:-1:-1;;;;;3292:14:0;;;;3284:6;;;;-1:-1:-1;;;;;;;;;;;3263:44:0;;3327:14;;;;3318:23;;-1:-1:-1;;;;;;3318:23:0;;;-1:-1:-1;;;;;3327:14:0;;3318:23;;;;3352:27;;;2965:422::o;18019:201::-;18126:4;18148:42;18158:12;:10;:12::i;:::-;18172:9;18183:6;18148:9;:42::i;2502:89::-;2574:9;;2502:89;:::o;20808:171::-;1978:12;:10;:12::i;:::-;1968:6;;-1:-1:-1;;;;;1968:6:0;;;:22;;;1960:67;;;;-1:-1:-1;;;1960:67:0;;;;;;;:::i;:::-;20885:21:::1;:32:::0;;-1:-1:-1;;20885:32:0::1;;::::0;::::1;;;;::::0;;20933:38:::1;::::0;::::1;::::0;::::1;::::0;20885:32;;20933:38:::1;:::i;:::-;;;;;;;;20808:171:::0;:::o;15491:24::-;;;;;;;;;:::o;15627:44::-;;;;:::o;21251:349::-;1978:12;:10;:12::i;:::-;1968:6;;-1:-1:-1;;;;;1968:6:0;;;:22;;;1960:67;;;;-1:-1:-1;;;1960:67:0;;;;;;;:::i;:::-;21415:15:::1;::::0;21402:29:::1;::::0;-1:-1:-1;;;;;21415:15:0::1;21402:12;:29::i;:::-;21509:34;21524:18;21509:14;:34::i;:::-;21556:15;:36:::0;;-1:-1:-1;;;;;;21556:36:0::1;-1:-1:-1::0;;;;;21556:36:0;;;::::1;::::0;;;::::1;::::0;;21251:349::o;2667:226::-;1978:12;:10;:12::i;:::-;1968:6;;-1:-1:-1;;;;;1968:6:0;;;:22;;;1960:67;;;;-1:-1:-1;;;1960:67:0;;;;;;;:::i;:::-;2748:6:::1;::::0;;;2731:23;;-1:-1:-1;;;;;;2731:23:0;;::::1;-1:-1:-1::0;;;;;2748:6:0;::::1;2731:23;::::0;;;2765:19:::1;::::0;;2807:22:::1;2825:4:::0;2807:15:::1;:22;:::i;:::-;2795:9;:34:::0;2882:1:::1;2866:6:::0;;2845:40:::1;::::0;-1:-1:-1;;;;;2866:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;2845:40:0;2882:1;;2845:40:::1;2667:226:::0;:::o;18228:186::-;-1:-1:-1;;;;;18379:18:0;;;18347:7;18379:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;18228:186::o;20262:110::-;1978:12;:10;:12::i;:::-;1968:6;;-1:-1:-1;;;;;1968:6:0;;;:22;;;1960:67;;;;-1:-1:-1;;;1960:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20329:27:0::1;20359:5;20329:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;20329:35:0::1;::::0;;20262:110::o;2213:281::-;1978:12;:10;:12::i;:::-;1968:6;;-1:-1:-1;;;;;1968:6:0;;;:22;;;1960:67;;;;-1:-1:-1;;;1960:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2316:22:0;::::1;2294:110;;;;-1:-1:-1::0;;;2294:110:0::1;;;;;;;:::i;:::-;2441:6;::::0;;2420:38:::1;::::0;-1:-1:-1;;;;;2420:38:0;;::::1;::::0;2441:6;::::1;::::0;-1:-1:-1;;;;;;;;;;;2420:38:0;::::1;2469:6;:17:::0;;-1:-1:-1;;;;;;2469:17:0::1;-1:-1:-1::0;;;;;2469:17:0;;;::::1;::::0;;;::::1;::::0;;2213:281::o;15579:41::-;;;;:::o;26105:181::-;26163:7;;26195:5;26199:1;26195;:5;:::i;:::-;26183:17;;26224:1;26219;:6;;26211:46;;;;-1:-1:-1;;;26211:46:0;;;;;;;:::i;:::-;26277:1;26105:181;-1:-1:-1;;;26105:181:0:o;1123:100::-;1204:10;1123:100;:::o;19763:372::-;-1:-1:-1;;;;;19891:19:0;;19883:68;;;;-1:-1:-1;;;19883:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19970:21:0;;19962:68;;;;-1:-1:-1;;;19962:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20043:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;20095:32;;;;;20073:6;;20095:32;:::i;:::-;;;;;;;;19763:372;;;:::o;21924:2593::-;-1:-1:-1;;;;;22056:20:0;;22048:70;;;;-1:-1:-1;;;22048:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22137:23:0;;22129:71;;;;-1:-1:-1;;;22129:71:0;;;;;;;:::i;:::-;22228:1;22219:6;:10;22211:64;;;;-1:-1:-1;;;22211:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22294:17:0;;;;;;:9;:17;;;;;;:27;-1:-1:-1;22294:27:0;22286:71;;;;-1:-1:-1;;;22286:71:0;;;;;;;:::i;:::-;22375:12;;;;;;;22374:13;:34;;;;;22401:7;:5;:7::i;:::-;-1:-1:-1;;;;;22391:17:0;:6;-1:-1:-1;;;;;22391:17:0;;;22374:34;:58;;;;;22425:7;:5;:7::i;:::-;-1:-1:-1;;;;;22412:20:0;:9;-1:-1:-1;;;;;22412:20:0;;;22374:58;22370:228;;;22485:13;-1:-1:-1;;;;;22475:23:0;:6;-1:-1:-1;;;;;22475:23:0;;;:53;;;;;22515:13;-1:-1:-1;;;;;22502:26:0;:9;-1:-1:-1;;;;;22502:26:0;;;22475:53;22449:137;;;;-1:-1:-1;;;22449:137:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22648:26:0;;22610:16;22648:26;;;:18;:26;;;;;;;;22647:27;:61;;;;-1:-1:-1;;;;;;22679:29:0;;;;;;:18;:29;;;;;;;;22678:30;22647:61;22643:1660;;;22802:20;22825:30;22849:5;22825:19;22836:7;;22825:6;:10;;:19;;;;:::i;:::-;:23;;:30::i;:::-;22909:15;;-1:-1:-1;;;;;22909:15:0;22899:26;;;;:9;:26;;;;;;22802:53;;-1:-1:-1;22899:76:0;;22802:53;22899:30;:76::i;:::-;22880:15;;;-1:-1:-1;;;;;22880:15:0;;;22870:26;;;;:9;:26;;;;;;;:105;;;;23012:15;;22995:47;;23012:15;;;;22995:47;;;;;;;;23029:12;;22995:47;:::i;:::-;;;;;;;;23121:26;23150:36;23180:5;23150:25;23161:13;;23150:6;:10;;:25;;;;:::i;:36::-;23246:4;23228:24;;;;:9;:24;;;;;;23121:65;;-1:-1:-1;23228:80:0;;23121:65;23228:28;:80::i;:::-;23219:4;23201:24;;;;:9;:24;;;;;;;:107;;;;23328:51;;-1:-1:-1;;;;;23328:51:0;;;;;;;23360:18;;23328:51;:::i;:::-;;;;;;;;23743:4;23694:28;23725:24;;;:9;:24;;;;;;23834:26;;23793:67;;;;;;;23897:57;;-1:-1:-1;23938:16:0;;;;23937:17;23897:57;:101;;;;;23985:13;-1:-1:-1;;;;;23975:23:0;:6;-1:-1:-1;;;;;23975:23:0;;;23897:101;:143;;;;-1:-1:-1;24019:21:0;;;;;;;23897:143;23875:353;;;24098:26;;24075:49;;24176:36;24191:20;24176:14;:36::i;:::-;24255;:12;24272:18;24255:16;:36::i;:::-;24244:47;;22643:1660;;;;;-1:-1:-1;;;;;24335:17:0;;;;;;:9;:17;;;;;;:29;;24357:6;24335:21;:29::i;:::-;-1:-1:-1;;;;;24315:17:0;;;;;;:9;:17;;;;;:49;24398:46;24423:20;:6;24434:8;24423:10;:20::i;:::-;-1:-1:-1;;;;;24398:20:0;;;;;;:9;:20;;;;;;;:24;:46::i;:::-;-1:-1:-1;;;;;24375:20:0;;;;;;;:9;:20;;;;;:69;;;;24460:49;;;24488:20;:6;24499:8;24488:10;:20::i;:::-;24460:49;;;;;;:::i;:::-;;;;;;;;21924:2593;;;;:::o;26438:226::-;26558:7;26594:12;26586:6;;;;26578:29;;;;-1:-1:-1;;;26578:29:0;;;;;;;;:::i;:::-;-1:-1:-1;26618:9:0;26630:5;26634:1;26630;:5;:::i;:::-;26618:17;26438:226;-1:-1:-1;;;;;26438:226:0:o;26672:471::-;26730:7;26975:6;26971:47;;-1:-1:-1;27005:1:0;26998:8;;26971:47;27030:9;27042:5;27046:1;27042;:5;:::i;:::-;27030:17;-1:-1:-1;27075:1:0;27066:5;27070:1;27030:17;27066:5;:::i;:::-;:10;27058:56;;;;-1:-1:-1;;;27058:56:0;;;;;;;:::i;27151:132::-;27209:7;27236:39;27240:1;27243;27236:39;;;;;;;;;;;;;;;;;:3;:39::i;24525:1549::-;16114:16;:23;;-1:-1:-1;;16114:23:0;16133:4;16114:23;;;:16;24676:27:::1;:20:::0;24701:1:::1;24676:24;:27::i;:::-;24661:42:::0;-1:-1:-1;24714:17:0::1;24734:30;:20:::0;24661:42;24734:24:::1;:30::i;:::-;24714:50:::0;-1:-1:-1;25067:21:0::1;25148:54;25179:15;25197:4:::0;25148:22:::1;:54::i;:::-;25263:18;25284:41;:21;25310:14:::0;25284:25:::1;:41::i;:::-;25263:62;;25375:139;25416:15;25447:7;:5;:7::i;:::-;25469:9;25493:10;25375:18;:139::i;:::-;25589:14;::::0;;;::::1;;;:61:::0;::::1;;;;25632:17;;25607:14;:43;25589:61;25585:421;;;25688:17;;25671:14;:34;25667:91;;;25741:17;;25724:34;;25667:91;25773:153;25822:15;25865:4;25889:22;:14:::0;25908:2:::1;25889:18;:22::i;:::-;25773;:153::i;:::-;25971:22;:14:::0;25990:2:::1;25971:18;:22::i;:::-;25948:46;::::0;25964:4:::1;::::0;25948:46:::1;::::0;;;::::1;25585:421;26023:43;26038:4;26044:10;26056:9;26023:43;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;;16160:16:0;:24;;-1:-1:-1;;16160:24:0;;;-1:-1:-1;;;24525:1549:0:o;26294:136::-;26352:7;26379:43;26383:1;26386;26379:43;;;;;;;;;;;;;;;;;:3;:43::i;27291:312::-;27411:7;27446:12;27439:5;27431:28;;;;-1:-1:-1;;;27431:28:0;;;;;;;;:::i;:::-;-1:-1:-1;27470:9:0;27482:5;27486:1;27482;:5;:::i;12777:641::-;13048:16;;;13062:1;13048:16;;;;;;;;12937:13;;12881:34;;13048:16;13062:1;13048:16;;;;;;;;;;-1:-1:-1;13048:16:0;13024:40;;13093:4;13075;13080:1;13075:7;;;;;;-1:-1:-1;;;13075:7:0;;;;;;;;;;;;;;:23;-1:-1:-1;;;;;13075:23:0;;;-1:-1:-1;;;;;13075:23:0;;;;;13119:15;-1:-1:-1;;;;;13119:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13109:4;13114:1;13109:7;;;;;;-1:-1:-1;;;13109:7:0;;;;;;;;;-1:-1:-1;;;;;13109:32:0;;;:7;;;;;;;;;:32;13180:66;;;13261:11;13287:1;13331:4;13358;13378:21;:15;13396:3;13378:21;:::i;:::-;13180:230;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12777:641;;;;:::o;14133:540::-;14352:13;-1:-1:-1;;;;;14409:31:0;;;14448:9;14481:4;14501:11;14296:34;;14613:5;14633:21;:15;14651:3;14633:21;:::i;:::-;14409:256;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;13426:699::-;13734:16;;;13748:1;13734:16;;;;;;;;13623:13;;13567:34;;13734:16;13748:1;13734:16;;;;;;;;;;-1:-1:-1;13734:16:0;13710:40;;13771:15;-1:-1:-1;;;;;13771:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13761:4;13766:1;13761:7;;;;;;-1:-1:-1;;;13761:7:0;;;;;;;;;;;;;;:32;-1:-1:-1;;;;;13761:32:0;;;-1:-1:-1;;;;;13761:32:0;;;;;13822:4;13804;13809:1;13804:7;;;;;;-1:-1:-1;;;13804:7:0;;;;;;;;;-1:-1:-1;;;;;13804:23:0;;;:7;;;;;;;;;:23;13866:66;;;13954:9;13989:1;14033:4;14060:9;14085:21;:15;14103:3;14085:21;:::i;:::-;13866:251;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13426:699;;;;;:::o;14:162:1:-;81:20;;137:13;;130:21;120:32;;110:2;;166:1;163;156:12;181:259;;293:2;281:9;272:7;268:23;264:32;261:2;;;314:6;306;299:22;261:2;358:9;345:23;377:33;404:5;377:33;:::i;445:263::-;;568:2;556:9;547:7;543:23;539:32;536:2;;;589:6;581;574:22;536:2;626:9;620:16;645:33;672:5;645:33;:::i;713:402::-;;;842:2;830:9;821:7;817:23;813:32;810:2;;;863:6;855;848:22;810:2;907:9;894:23;926:33;953:5;926:33;:::i;:::-;978:5;-1:-1:-1;1035:2:1;1020:18;;1007:32;1048:35;1007:32;1048:35;:::i;:::-;1102:7;1092:17;;;800:315;;;;;:::o;1120:470::-;;;;1266:2;1254:9;1245:7;1241:23;1237:32;1234:2;;;1287:6;1279;1272:22;1234:2;1331:9;1318:23;1350:33;1377:5;1350:33;:::i;:::-;1402:5;-1:-1:-1;1459:2:1;1444:18;;1431:32;1472:35;1431:32;1472:35;:::i;:::-;1224:366;;1526:7;;-1:-1:-1;;;1580:2:1;1565:18;;;;1552:32;;1224:366::o;1595:327::-;;;1724:2;1712:9;1703:7;1699:23;1695:32;1692:2;;;1745:6;1737;1730:22;1692:2;1789:9;1776:23;1808:33;1835:5;1808:33;:::i;:::-;1860:5;1912:2;1897:18;;;;1884:32;;-1:-1:-1;;;1682:240:1:o;1927:192::-;;2036:2;2024:9;2015:7;2011:23;2007:32;2004:2;;;2057:6;2049;2042:22;2004:2;2085:28;2103:9;2085:28;:::i;2124:328::-;;;;2267:2;2255:9;2246:7;2242:23;2238:32;2235:2;;;2288:6;2280;2273:22;2235:2;2316:28;2334:9;2316:28;:::i;:::-;2306:38;2391:2;2376:18;;2363:32;;-1:-1:-1;2442:2:1;2427:18;;;2414:32;;2225:227;-1:-1:-1;;;2225:227:1:o;2457:190::-;;2569:2;2557:9;2548:7;2544:23;2540:32;2537:2;;;2590:6;2582;2575:22;2537:2;-1:-1:-1;2618:23:1;;2527:120;-1:-1:-1;2527:120:1:o;2652:316::-;;;;2809:2;2797:9;2788:7;2784:23;2780:32;2777:2;;;2830:6;2822;2815:22;2777:2;2864:9;2858:16;2848:26;;2914:2;2903:9;2899:18;2893:25;2883:35;;2958:2;2947:9;2943:18;2937:25;2927:35;;2767:201;;;;;:::o;2973:469::-;;3070:5;3064:12;3097:6;3092:3;3085:19;3123:4;3152:2;3147:3;3143:12;3136:19;;3189:2;3182:5;3178:14;3210:3;3222:195;3236:6;3233:1;3230:13;3222:195;;;3301:13;;-1:-1:-1;;;;;3297:39:1;3285:52;;3357:12;;;;3392:15;;;;3333:1;3251:9;3222:195;;;-1:-1:-1;3433:3:1;;3040:402;-1:-1:-1;;;;;3040:402:1:o;3447:203::-;-1:-1:-1;;;;;3611:32:1;;;;3593:51;;3581:2;3566:18;;3548:102::o;3655:607::-;-1:-1:-1;;;;;4014:15:1;;;3996:34;;4061:2;4046:18;;4039:34;;;;4104:2;4089:18;;4082:34;;;;4147:2;4132:18;;4125:34;;;;4196:15;;;4190:3;4175:19;;4168:44;3976:3;4228:19;;4221:35;;;;3945:3;3930:19;;3912:350::o;4267:187::-;4432:14;;4425:22;4407:41;;4395:2;4380:18;;4362:92::o;4693:516::-;;4964:6;4953:9;4946:25;5007:3;5002:2;4991:9;4987:18;4980:31;5028:63;5086:3;5075:9;5071:19;5063:6;5028:63;:::i;:::-;-1:-1:-1;;;;;5127:32:1;;;;5122:2;5107:18;;5100:60;-1:-1:-1;5191:2:1;5176:18;5169:34;5020:71;4936:273;-1:-1:-1;;4936:273:1:o;5214:603::-;;5355:2;5384;5373:9;5366:21;5416:6;5410:13;5459:6;5454:2;5443:9;5439:18;5432:34;5484:4;5497:140;5511:6;5508:1;5505:13;5497:140;;;5606:14;;;5602:23;;5596:30;5572:17;;;5591:2;5568:26;5561:66;5526:10;;5497:140;;;5655:6;5652:1;5649:13;5646:2;;;5725:4;5720:2;5711:6;5700:9;5696:22;5692:31;5685:45;5646:2;-1:-1:-1;5801:2:1;5780:15;-1:-1:-1;;5776:29:1;5761:45;;;;5808:2;5757:54;;5335:482;-1:-1:-1;;;5335:482:1:o;5822:399::-;6024:2;6006:21;;;6063:2;6043:18;;;6036:30;6102:34;6097:2;6082:18;;6075:62;-1:-1:-1;;;6168:2:1;6153:18;;6146:33;6211:3;6196:19;;5996:225::o;6226:401::-;6428:2;6410:21;;;6467:2;6447:18;;;6440:30;6506:34;6501:2;6486:18;;6479:62;-1:-1:-1;;;6572:2:1;6557:18;;6550:35;6617:3;6602:19;;6400:227::o;6632:402::-;6834:2;6816:21;;;6873:2;6853:18;;;6846:30;6912:34;6907:2;6892:18;;6885:62;-1:-1:-1;;;6978:2:1;6963:18;;6956:36;7024:3;7009:19;;6806:228::o;7039:398::-;7241:2;7223:21;;;7280:2;7260:18;;;7253:30;7319:34;7314:2;7299:18;;7292:62;-1:-1:-1;;;7385:2:1;7370:18;;7363:32;7427:3;7412:19;;7213:224::o;7442:351::-;7644:2;7626:21;;;7683:2;7663:18;;;7656:30;7722:29;7717:2;7702:18;;7695:57;7784:2;7769:18;;7616:177::o;7798:346::-;8000:2;7982:21;;;8039:2;8019:18;;;8012:30;-1:-1:-1;;;8073:2:1;8058:18;;8051:52;8135:2;8120:18;;7972:172::o;8149:355::-;8351:2;8333:21;;;8390:2;8370:18;;;8363:30;8429:33;8424:2;8409:18;;8402:61;8495:2;8480:18;;8323:181::o;8509:397::-;8711:2;8693:21;;;8750:2;8730:18;;;8723:30;8789:34;8784:2;8769:18;;8762:62;-1:-1:-1;;;8855:2:1;8840:18;;8833:31;8896:3;8881:19;;8683:223::o;8911:348::-;9113:2;9095:21;;;9152:2;9132:18;;;9125:30;9191:26;9186:2;9171:18;;9164:54;9250:2;9235:18;;9085:174::o;9264:356::-;9466:2;9448:21;;;9485:18;;;9478:30;9544:34;9539:2;9524:18;;9517:62;9611:2;9596:18;;9438:182::o;9625:405::-;9827:2;9809:21;;;9866:2;9846:18;;;9839:30;9905:34;9900:2;9885:18;;9878:62;-1:-1:-1;;;9971:2:1;9956:18;;9949:39;10020:3;10005:19;;9799:231::o;10035:401::-;10237:2;10219:21;;;10276:2;10256:18;;;10249:30;10315:34;10310:2;10295:18;;10288:62;-1:-1:-1;;;10381:2:1;10366:18;;10359:35;10426:3;10411:19;;10209:227::o;10441:400::-;10643:2;10625:21;;;10682:2;10662:18;;;10655:30;10721:34;10716:2;10701:18;;10694:62;-1:-1:-1;;;10787:2:1;10772:18;;10765:34;10831:3;10816:19;;10615:226::o;10846:399::-;11048:2;11030:21;;;11087:2;11067:18;;;11060:30;11126:34;11121:2;11106:18;;11099:62;-1:-1:-1;;;11192:2:1;11177:18;;11170:33;11235:3;11220:19;;11020:225::o;11250:177::-;11396:25;;;11384:2;11369:18;;11351:76::o;11432:588::-;;11731:6;11720:9;11713:25;11774:6;11769:2;11758:9;11754:18;11747:34;11817:3;11812:2;11801:9;11797:18;11790:31;11838:63;11896:3;11885:9;11881:19;11873:6;11838:63;:::i;:::-;-1:-1:-1;;;;;11937:32:1;;;;11932:2;11917:18;;11910:60;-1:-1:-1;12001:3:1;11986:19;11979:35;11830:71;11703:317;-1:-1:-1;;;11703:317:1:o;12025:319::-;12227:25;;;12283:2;12268:18;;12261:34;;;;12326:2;12311:18;;12304:34;12215:2;12200:18;;12182:162::o;12349:184::-;12521:4;12509:17;;;;12491:36;;12479:2;12464:18;;12446:87::o;12538:128::-;;12609:1;12605:6;12602:1;12599:13;12596:2;;;12615:18;;:::i;:::-;-1:-1:-1;12651:9:1;;12586:80::o;12671:217::-;;12737:1;12727:2;;-1:-1:-1;;;12762:31:1;;12816:4;12813:1;12806:15;12844:4;12769:1;12834:15;12727:2;-1:-1:-1;12873:9:1;;12717:171::o;12893:168::-;;12999:1;12995;12991:6;12987:14;12984:1;12981:21;12976:1;12969:9;12962:17;12958:45;12955:2;;;13006:18;;:::i;:::-;-1:-1:-1;13046:9:1;;12945:116::o;13066:125::-;;13134:1;13131;13128:8;13125:2;;;13139:18;;:::i;:::-;-1:-1:-1;13176:9:1;;13115:76::o;13196:380::-;13281:1;13271:12;;13328:1;13318:12;;;13339:2;;13393:4;13385:6;13381:17;13371:27;;13339:2;13446;13438:6;13435:14;13415:18;13412:38;13409:2;;;13492:10;13487:3;13483:20;13480:1;13473:31;13527:4;13524:1;13517:15;13555:4;13552:1;13545:15;13409:2;;13251:325;;;:::o;13581:127::-;13642:10;13637:3;13633:20;13630:1;13623:31;13673:4;13670:1;13663:15;13697:4;13694:1;13687:15;13713:133;-1:-1:-1;;;;;13790:31:1;;13780:42;;13770:2;;13836:1;13833;13826:12;13770:2;13760:86;:::o
Swarm Source
ipfs://6d00868509ac65c46e47d6bfdb288bba684deab5d8e6991082cb2d4192850f32
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.